# CAVS 21.4
# 'NIST SP 800-38F KWP-AE with AES-192 cipher function' information for test-files
# Seed = 53e6efb88e19e2c4673b904fba46083ffad160bbdf1a7ef0ecef378dab8e5d6381941809e25560d778271aa2cd31a4316d0638d45da117d0a682c25c7459951e
# Generated on Fri Apr  6 14:46:17 2018


[PLAINTEXT LENGTH = 8]

COUNT = 0
K = 9ca11078baebc1597a68ce2fe3fc79a201626575252b8860
P = 76
C = 866bc0ae30e290bb20a0dab31a6e7165

COUNT = 1
K = 39542e1cdc57fc35a2cc0a702d710ba5dcd6e6b7ff6aeab6
P = 87
C = 599ad0226bb37aa24222b5e76ff5c1f1

COUNT = 2
K = d3007dccb3ecfb9836ff9f44f32fe0ec02de2ecd6d9714ba
P = 34
C = a9687301a8a85d6b5ffa3b255f37f2cf

COUNT = 3
K = 959b4595778d7b860e08fcb5e24b11f118fd5d67089f2ea4
P = 65
C = 1cf986a0fb2208977c37a4c3830eba72

COUNT = 4
K = 958ef47eef6b008120fd44d0133de45da9cd2d98dcc6f780
P = a4
C = c4c2b6bf416d2c9c5b8fa07cb6a75309

COUNT = 5
K = a3194756fa23e8b52491a56da6485c2599b16ce670469d39
P = 8b
C = 5866976b249cb780f11ea0c3154792c0

COUNT = 6
K = a8ee487decb64afd74d4d39c08dfe8adb0fbd48e24054bc6
P = d1
C = 241c92eb091753de2361ce4700141cf9

COUNT = 7
K = 84a664e9d7fd946c2eabc92ef6f93aa773dab80e38ec4c73
P = 3c
C = 4fe441f83be059ab7fdfff4508d09635

COUNT = 8
K = e37b2afe0810dcf89801e3b891f3d76c10cd491f23564e18
P = 21
C = 146cf6d185d32ac1a0d02b42f2351f5b

COUNT = 9
K = 715b0ee0ed59c0297e67b9b23049b6b7cded916bd33c60c3
P = 7e
C = d9382ee66e501556903f233d78cd3191

COUNT = 10
K = 1203c491aaf374c1fd79e8766f6a1273a1cad7770c02a5b1
P = b5
C = 3b9166546a6e370786ea8b79e0fe368d

COUNT = 11
K = 3809ba28ee09784e848e65508b499e45f1225245e677fe56
P = 01
C = cfb9a41d7e35c70d67bf09fd647c913a

COUNT = 12
K = 650af720561ac05b7a683d56e11551e8f246c9635f3b83dd
P = 8b
C = 6d20d92cc2aa5002bfabb636164b2e0f

COUNT = 13
K = 88f5796566434c0f497add3395953e0fabe26b7e7b0ff51f
P = 44
C = 533bb145ccfb028d6f3bebfe59ff148e

COUNT = 14
K = 1cefdf6454732d4165ed8714b5c166a00001bebc6dfa1974
P = 96
C = 3f28260c94a15562ca9db84d83befe9e

COUNT = 15
K = 516989ebdaae5da3d36ee35cce125984932ec9d637f6fd39
P = 48
C = a012200a167b939b022d59a197e28b68

COUNT = 16
K = 5a12d63d92433df70d56d6806f59d81ee88dbfa86fef9a8b
P = c7
C = 9c12f6b76cc2318a1cd0ccceed86cbfb

COUNT = 17
K = 7c5f4ac91e1e1c775b69521b8cd55181247acf7b18a08517
P = 65
C = e507b2e7354cc82ee1aff79a43673b63

COUNT = 18
K = ed13a67d4094d2e3adb51b34d1d45abb0c9ea4310f2e5f9c
P = 17
C = 6fcb04460d821d3cfc34d30a587583fa

COUNT = 19
K = 298a1b497ae0708a0659d03e00ac0d53552beeda50133448
P = de
C = 2b172f810d838f46345b2bd8004f40aa

COUNT = 20
K = 743e26e6b9d48aec3f4cd966927ba482b3512e7c25de903b
P = a1
C = a29a19a49f34b79f1bf907f15c6e12c4

COUNT = 21
K = 57cb1ba364b5d87cb9a54cd05a528ba0e4f0a2c4940bcd31
P = a7
C = d6a85d3a4fd0a20310a7d8ba4437bc9a

COUNT = 22
K = a8f6d08095b2fd7598bbe0741369d5a574764ba88699e192
P = 2b
C = af6886e5a9f692b4dddb54419329d6ea

COUNT = 23
K = acf1cda6e9cca0b693bf81c1fe91c406a67838a1fb523727
P = ca
C = e68e16c26a54d526a8925f89c1dc6a47

COUNT = 24
K = 2fc5b34a4e06cad26a0dea1e65f8681547c3f3ac195b5293
P = 96
C = 9d2f8e8488d874a8908c3417d861e4f3

COUNT = 25
K = 0bd2833188e641cef512d8db3f14c7479676bec63a254878
P = bc
C = 0d8be9b2da1698c9526dd46d0c5250bc

COUNT = 26
K = e677f59d04b21d12ba9b5b56ea48e073951298afecb42aed
P = 85
C = b3cb3df8eb03f0be67c4a5cf74551ad5

COUNT = 27
K = 5a62ede14316320f9444bb14f7cf792b059ee4c512764cc4
P = b4
C = f9f44550572888e83e77ef5e05339b51

COUNT = 28
K = 7a3bf2303392228b69db48df09c3a5ca598dbb780a04e5e6
P = 0d
C = 54dc3e86be908fab082b0c7ac6d741e1

COUNT = 29
K = 8e5bb03d329a17dea4a39e03c17f30fbf48cf639cc133b88
P = fc
C = 8bd1db87c702053fb6e082bffb89cae8

COUNT = 30
K = d4f3510a1c9cf6eeaa12cfb726e8101f96494d29befbcbe3
P = 79
C = 34571f809daddc8f7df9b139cfaac8bb

COUNT = 31
K = 1776161b561ffc6abb115bbc7a0a3a3bb5c5256e58b11a00
P = 8a
C = 389865e5bdc6b362d1805aa4c602a343

COUNT = 32
K = 5b1a58cab67676e438311663192b49750e2d4f7e5b927d2a
P = 23
C = e3a7267312567a052ea693b2c83bcb9c

COUNT = 33
K = 8cdedcbae08dc0615e5f482b56288347c2af4f0b9571f2bf
P = 3c
C = 30db44a8e56b91e584c329edac149c60

COUNT = 34
K = d409b623bd0b4d8c62daaa5f0ab1496d31390e403f04304c
P = 2b
C = 386f888259ce2086754babbf203dcbff

COUNT = 35
K = a6539910d3ea12615463a571ffba2aa96e70ad214cd1b3f2
P = 6d
C = 94b1262d11a637e04b179c31c8a5ef0b

COUNT = 36
K = 21718a16b6f16f5391c0e5381c68f6969d86fed014a34b96
P = a8
C = 608d136747d83b343effc1ab87c3ba7b

COUNT = 37
K = 3419c5a42c657ba28e7204887a323bfe2cdf2ba5179b6de7
P = 0d
C = efaf200422772659c4f70d93343d1016

COUNT = 38
K = ddf91ab30d022565f98cc1a76617e1cf3f73a9acaf535bd6
P = 1c
C = aaf2348c604f0000f8957e37fa41e03d

COUNT = 39
K = 7e626a495288c03ee2915a62dcd5559e287e6608a90f2466
P = 58
C = 04a918febd262f47f9f415e680e16ef3

COUNT = 40
K = 1d3839770c447aabc4b8a729fa36145dbf9d16f146b19212
P = 04
C = 648743571b87ab31fb30d61aff1fbcad

COUNT = 41
K = 016b24bba0692e2fa240f434583757127bc18914f0ef35f6
P = 3e
C = 6c9cd00f086c8ded51572953a864a057

COUNT = 42
K = d48b3c2c1ed7e61c5b8baea1000696cd53d8024830e0a4ea
P = 80
C = 87a00914cd797861393abef030b8f76a

COUNT = 43
K = d8aa9157e33accab2849b226387d203f56bfa1782fd10f08
P = 31
C = 8f970590d34e9ea13bdad2edb7cc9183

COUNT = 44
K = 1e2eb6c85fbeda43a625f92e5ec890f9303e819f57c7539d
P = b4
C = 70ff62357a491c2d032fcb80cd46f068

COUNT = 45
K = 1b8d7b79db27c0d751b5ffbcfb94114e6472a2281770c695
P = 00
C = 7dceb2f612a72679daf26bbe957f4916

COUNT = 46
K = 1adc4e3cad6977665166ecd31d9a773e9e0f60620ca8eb0e
P = cb
C = 5e0b78e439653404c943dd6291884231

COUNT = 47
K = 35d0999d2e39aa9204a22a5eb00b9b9e0aca6abca4262837
P = 95
C = 20e1a559b4a01062a4bd47a29020cfd3

COUNT = 48
K = d05303d7e2732376e9a1faa9a33056681fe8c849fc84ec6e
P = 8e
C = 16bc99884d895dd7bc55a476049c0332

COUNT = 49
K = 6ffd1f6086a334e02f31102a54f1b687068c995aff49ea44
P = 02
C = 3428627796f55c6d2039e79af41fd853

COUNT = 50
K = c1d1dcbbcd170282de419db80da367ab676e1b368af9e61c
P = 7d
C = 51fd8a09b9f915098e7cc8e68ace8c03

COUNT = 51
K = ad59ca73856bbc742840cd4915c97b31ed5109d8584da276
P = 20
C = ca65723567d387bbb9b0699697d8c661

COUNT = 52
K = 7c4b587c7cde8336a9f5dea0bd28c17f1eb6f5e39ce6bf3f
P = 21
C = a81761af90e5f1d6b47f802f8d423819

COUNT = 53
K = 7bb1ea10a3f8d2913c5647bec9b7e01e15af540cff2bea75
P = a6
C = eb913dcb2b7193fbdc9fc6608638ba4f

COUNT = 54
K = d43036c177d503c00e50fb8150d1cf54cc7fdd5ccda42005
P = 41
C = fb65554048ad531d743056edcaf3d286

COUNT = 55
K = 807b3449143035e50db579ed2727147a46f267d67b95dc3e
P = d3
C = 7aa30e7f2286be49d739d46afb238ade

COUNT = 56
K = 7f98b673b60028a71f2abe15e0b789061c5df3c03a4951ef
P = fa
C = 6ad4cc212950663b6167e6bc3535c39c

COUNT = 57
K = cb361204c92afa8c479d16e00410de95037bd1e27c79318b
P = 58
C = 621e17773940148ead550258b0139107

COUNT = 58
K = 973a4ed341e48929cab31c60bf0fea1cb7f41972201c9785
P = 83
C = 87bd490728110d3611da610f9e569bbb

COUNT = 59
K = db032319ed24b3be81b11273d1db7d25c9adc2caa16346fc
P = d9
C = 3f24fee3a3fbe255c205a8076df7d7ab

COUNT = 60
K = c719ce944ed41cd6ae311af8fda553e8bd530a686bc8df30
P = 44
C = 1735d88ed03a0bb2afd01c62b01215ba

COUNT = 61
K = 05c32cd070384a172d6b2c284c8a4f4658503daa5d323ea3
P = f1
C = 5735e9c381de3495c09d8f2382d8b1b5

COUNT = 62
K = fc42b55ce583581e1da33541db630d3994c9d6aa84d2ccb5
P = ac
C = 8ec9705e6803a2a79cce2c912110053c

COUNT = 63
K = 8fa6a63e5f0ac632540f0a9497922e94446396f7404a75fa
P = 7b
C = 55a414491fe53abe5af3a88a573a67ca

COUNT = 64
K = b69fdb8e8e93608f3f96e29031e238260a45630d7761b9c2
P = c4
C = 16bcae85e4df79070496b667556a85b0

COUNT = 65
K = 69aa08f92aa2161d99bd6940e8e4ec12adc94449c8817d70
P = 76
C = 48dcc92a62eb2b40ccf77f2251274f8b

COUNT = 66
K = c661fcea0f58c3d5da1de7d6824a427bf4ba3c23508c4361
P = bb
C = 86a96928e996ba6fc94a5b2add458b6f

COUNT = 67
K = d50da02562cecd518f348fe938fbb322b12be9b5c25478df
P = 08
C = da1936ce6ddbbed698b036d769c8b7ab

COUNT = 68
K = 45dc26b731b8a306cb0a24f4801f3632d82c04dcba307cba
P = d2
C = d8004cb0d97ae27829fb323d947d2b57

COUNT = 69
K = bfe5b08683fe8722a76d0222d1efc1470a304f5498ed7fc9
P = 2a
C = 32b0130738674c96d2490f9653877af3

COUNT = 70
K = 517eab3ee6e72b9524262176e22b5ca1c720ee9d793b34b2
P = f7
C = 7abb2482fdaa37e0f72db5b551f0242d

COUNT = 71
K = b898c1f5c11e9207b6777af0e1fff287daf19b2e784f63e4
P = 06
C = 125e2c2eb41c000ae8dcf09965ddeadc

COUNT = 72
K = c200cf50a69753f160ccd7c1f40d5df6804afcfec22328ec
P = 39
C = 284edf3233dc989980efaa997acf8255

COUNT = 73
K = eb9d4b748426d58c0d0ed53a06ee08309b277583c239a80a
P = 33
C = ebf682a23080e3926c26c53726237bc6

COUNT = 74
K = 933625d448c9513af4f2937923c836dd1841a8e9a0b1edeb
P = ef
C = 299ecef52d11bca17cb0c66d38062ac8

COUNT = 75
K = 2f76b902a660ac4615f36a00ba7d76d7c8445d9cae03c88a
P = 0e
C = d87ce0f4a03680f0073b6441e501b86f

COUNT = 76
K = 6db286cd88256f15b1c9c7c07ff33b77b7c0893423d2eaec
P = 38
C = 9f373296972e1cc525070995868dadfe

COUNT = 77
K = c90b4fe8cb17cd0890b50d9083609e4a8affae1b26dcfae5
P = 2b
C = 4b8b0721a7298024c00665dfd845b712

COUNT = 78
K = 925eb6105cad32c5963c9dd3143ffddea2461a8d2cd75c5e
P = 8e
C = 3b8ce46f9fcf5515781f704cc38e636f

COUNT = 79
K = aa290a1055d316c1da0ccc2e4c6115d783892501295d9001
P = 70
C = d14a4c039b5532bb17e7837cfaa7c6af

COUNT = 80
K = 3edcbf349ddd0b70fdd4efc4f7edb8f3c99a2aec5f7b290d
P = 12
C = 86e5af60843d6fd1a216de76a9c15003

COUNT = 81
K = d165c8803d66e8ec1be8b296d9c42da51736a126c2bce942
P = fa
C = ffa63eca9e248e440dd97377944b6cc0

COUNT = 82
K = 75a86101c913b13ff391c8b9a8ae4a31caa74b84145cf1ac
P = 1d
C = 6d8e1f2b89cda8acac480713328451d3

COUNT = 83
K = 92ee1588e8884f52fb649d6ca32acfa5716a48e46c35c587
P = 9b
C = 41984df33ca4ea20ba039cf0f38fe910

COUNT = 84
K = 0815d508bd4d34195899a5a51faf974e40e7306e6403b94a
P = d0
C = 78c9b34c4d8cd97644afce31983a929e

COUNT = 85
K = e8be60d6c61942b358a2f251a667adfc999e02e6e891a1a5
P = a7
C = df8cecba3f16a230fcc683d0e6bbb610

COUNT = 86
K = 99fc5d6f4e53ae19d2d9803beff761c5b99561b9cf225205
P = f3
C = 6ed1c73469081392e851245e8732caea

COUNT = 87
K = c1a07ca9b32a5aafd24cb8ad472a73e585627bc0c6d2cdff
P = 6c
C = c90d42318a14fdfd0d7df1a841becd91

COUNT = 88
K = 4a9038ce66ac96907cff4be5475195e4b0eebba8b934698d
P = 9a
C = 4d8bd9332cf66973141c0e15dc3b2547

COUNT = 89
K = 06609e109a50aa4adb7da8134b164d5d7edd34092f6edcee
P = b5
C = 054d742375eb38bffbb8dd62615c011e

COUNT = 90
K = 16448ae0afea5643c5602e46349a863d03515bcb696cf5ea
P = e2
C = e8be32037e02150ec2bf4b526deced48

COUNT = 91
K = 8375a9c823f3912035f8289dc2e03875e8a20b1e6f76fcec
P = 29
C = 09645d4f4fe36aca91f81ede844c8369

COUNT = 92
K = abba517ce612efd686fd7e52d159d9ddb57f70a2b2b3e965
P = c6
C = 821c7445da90a7f0065095eec7dbcbbe

COUNT = 93
K = 788521d9d1cadccd6a142c2cdcbec98d3a6292b1cc4b476e
P = 6c
C = e59b0a3a4cd5b47588e9d7e4714ef8c5

COUNT = 94
K = 9f4c7f0fbc1286f452cecfdd385ce50c5a0c30ed4738bc99
P = d9
C = d2b749c2dde6dd540859b070448e1b8f

COUNT = 95
K = 9fa09105ebf4a4cb3788eae6ee6993b0fa0e78f0455bcf8f
P = 2c
C = 75291df7863343de2edba07810f04f53

COUNT = 96
K = 86f3494962b019e737a16327ed83e50f2f6aad2a739d6cf8
P = 9c
C = 66d0135b124c023047956a398bc6e8f0

COUNT = 97
K = a6ff76ec1dce2b6b04459c939b9b2c11307bac46a83ec2be
P = 32
C = ddce5d3a1326565b4a6bb4591750627d

COUNT = 98
K = 78ff11cf9b538a10fa56678a2dad671ee10ce4f7edd8eb60
P = 2d
C = 678c2e70c240e430de321459a985fb81

COUNT = 99
K = 98a40477fd237b8e9619f56f3247b3d03a99a9845256752a
P = 80
C = 0134afd0d2d84e7f29c1822d80412475

[PLAINTEXT LENGTH = 64]

COUNT = 0
K = c5029804d28341ca267c9e73afc5f963b14bb604708b43f2
P = e6eb18a3e969ab5c
C = 15b98046b2a3a49b9c0831c476fc34fb

COUNT = 1
K = 9a3fe78973398acf648e745987d5520726dae27e79202b69
P = f154e14efa836250
C = e017a7fa42aaf304d64fb4776734f791

COUNT = 2
K = 4dfeab8171449d40c247c0ca6d915639a78cabc017b09687
P = b5e5ca64487457f0
C = a61f60b276d3d66ecce68091a515d5b9

COUNT = 3
K = fd9548c59935d45b007d2ed3c631a2e21e40d13bc4b0be8c
P = 5d1252e21faa6d0e
C = ee6840dbac913c025432cb0160eb524d

COUNT = 4
K = 4de9e913c56eea8de968d673703e13add4fbc900e8991533
P = 09369052fcebd5e0
C = 61db9724a9fc2043a9e4cdd278f006f9

COUNT = 5
K = 02dfb6662e0c1b95d34aaba7eb6c1fdd41c52b89213d5b18
P = 27361c34c2601fe6
C = 089f835f3210734aa1a2282c6ff30ef9

COUNT = 6
K = 11f7014f3b6cfc0c0d691c72a5ed994360b1cb9f452daf71
P = c74ed8667390f083
C = fb9eace8ef299ac7a0545a7defa39e58

COUNT = 7
K = 269ff279b5711464af9f1725a5f42a2b0971caf185940559
P = bd91c792cebe591f
C = 6be83455a1faa519a8dfe7dff257f97c

COUNT = 8
K = 1c7b6fb870a8f176b5f9176325aad34a14d6770709f7948b
P = 0209cda7a53043af
C = bd8d06b49f928084d71aeaecd476b97c

COUNT = 9
K = db7b4c51047f3e4d9b4df43267d446c7bb68d239f0b0f886
P = 4ac479fb0ad35685
C = a86250a24a2982c5ac2fc97dbf33355f

COUNT = 10
K = f8fbaa96a726f7df24ffcacb39b076c593031140c1e211a0
P = 78603c3378035c08
C = 4471135a72f50ad7c58877768fb98769

COUNT = 11
K = 592ccf186eee16db251379d179ceec8e17244c3d3ab574fa
P = a1e2c16410979df0
C = 65af8f051d6768d4a6a384a315cf9037

COUNT = 12
K = 38dddb4223ea270cfb8aaab096040e27a9fcb839f3d3af21
P = 4428a3f587689fcc
C = 4ecfec5cc3b1d36c0512016d71f92548

COUNT = 13
K = 8afe784f86c92ab2794260c256dfb09912d3f0dcf4d25d1d
P = efaef9e61275c01b
C = 77d7b7d30a0331a2f5c7b469fcd3079b

COUNT = 14
K = 2def1892c2fb9c259f87341de0ff1cd0272f557b1543db3d
P = 685fb00f4396da49
C = 4d8a250ad2d65febecf6782043dbcea5

COUNT = 15
K = b41f38232c130f1e49fa7ff4be8e6dad6779a4b4e9563188
P = 3641f21b2dcb7f94
C = 1a47318887e9ca33fc1d0c9d41d1341f

COUNT = 16
K = 828aafdce4ab4efc6a4faed9366d68b60df2e52cddd03564
P = 406042df73b6d991
C = 5952d3b7d4b49092bfe646998a1275e6

COUNT = 17
K = a6eba631402736395882bd72e52cdbac0a2cd3b05192bf11
P = d8e525f4dada6f6c
C = 9a253198a2affa3cfdfd57243aa8709a

COUNT = 18
K = 390ee08513030abf0c4dae57fa780f3e892dfcdb3bb91fa7
P = a00f2ef163915e03
C = c82dbdf390e3a4b94dd78f948081c44e

COUNT = 19
K = 2d49597b88116e0aefbd6f3e13cadb83964e794595af6bae
P = 25696fb1c7f09534
C = 84deb36f6c4a5bb4fa0965ac3761ec63

COUNT = 20
K = 76d23ccd0f8b5f9e281d82437def0e3b12773962ccb45f26
P = 33ca481400e093fd
C = ad2f4274dab8b28c5618b7a185b7aa53

COUNT = 21
K = 610c44b34b323d158c5a16293b7a7eddef642f35b01677f2
P = 580171f906d35fb1
C = d3a42557bc40420ba508229406f461b4

COUNT = 22
K = fd8e7897ccee012d31d804b2433102c4f05e8632a8cc47f2
P = 0885128e932a8aab
C = 8f0746f1d76173c7b1b8809bc86136f7

COUNT = 23
K = e5a403762bd354960cf36737097e7c97012b948230f8ed03
P = 4b8da9f702158f53
C = 2423da6862dad31efa487767565eeef4

COUNT = 24
K = 6ff99eb350f46c                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        