diff --git a/Assets/External/TextMesh Pro/Examples & Extras/Resources/Fonts & Materials/Roboto-Bold SDF.asset b/Assets/External/TextMesh Pro/Examples & Extras/Resources/Fonts & Materials/Roboto-Bold SDF.asset index 25a2f99..8588323 100644 --- a/Assets/External/TextMesh Pro/Examples & Extras/Resources/Fonts & Materials/Roboto-Bold SDF.asset +++ b/Assets/External/TextMesh Pro/Examples & Extras/Resources/Fonts & Materials/Roboto-Bold SDF.asset @@ -145124,9 +145124,9 @@ Texture2D: Hash: 00000000000000000000000000000000 m_IsAlphaChannelOptional: 0 serializedVersion: 4 - m_Width: 1 - m_Height: 1 - m_CompleteImageSize: 1 + m_Width: 1024 + m_Height: 1024 + m_CompleteImageSize: 1048576 m_MipsStripped: 0 m_TextureFormat: 1 m_MipCount: 1 @@ -145151,8 +145151,8 @@ Texture2D: m_LightmapFormat: 0 m_ColorSpace: 0 m_PlatformBlob: - image data: 1 - _typelessdata: 00 + image data: 1048576 + _typelessdata: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0c0c0b08070502000000000000000000020608080b0c0c0a070705010000000000000000010507070a0c0c0b080806020000000000000000000000000000000001070b0f111212121212121212121212121212121212121212121212121212121212121212121212121212121207070501000000000000000000000000000407090a13131313131313131313131313131313131313131313131313131212100f0d0b0906050300000000000000000000000000000000000000000000000000000000000000000000000000000000000004080c0e0f13131313131313131313131308070502000000000000000000000000000000000000000000000000000000000205070813131313131313131313131311070604000000000000000002060a0c0c1313131313131313131313130909070300000000000000000000000000020507081313131313131313131313130e0d0b08030000000000000004080c0e0f13131313131313131313131308070502000000000000000000000000000000000000000000000000000000000000040607090c0e1011111111100f0e0c090706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020608080a0a0a0a0a0a0a0a0a0a0a0a07060400000000000000000000000000000000000000000000000000000000000000000000000002070a0c0d131313131313131313131313130d0c0a06020000000000000000000000000000000000000000000000000305061213131313131313131313131313080705020000000000000000000000000003070909131313131211110f0c0a0706040000000000000000000000000000000000000000000000000002060a0c0d131313131313131313131313100f0d0a050000000000000000000000000407090a13131313131313131313131312110f0b0701000000000000000000000000000000000105090b0b13131313131313131313131310100d0a05000000000000000000000000020608080f0f0f0f0f0f0f0f0f0f0f0f090806030000000000000000000000000000000000000000000000000000000000000002050708101010101010101010101010070604010000000000000000000000000000000000000000000000000000000000000000000000020507080a0d0f1010111111100f0d0b080605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c0f11121313131313131313131313130a09070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e111414181919181514120e09030000000000030a0f121415181919171413110d08020000000002080d111314171919181514120f0a0300000000000000000000000000050c12171b1e1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1413110d0802000000000000000000050b1014161720202020202020202020202020202020202020202020202020201f1e1d1c1a181513120f0b06040000000000000000000000000000000000000000000000000000000000000000000000000002090f14181b1c2020202020202020202020201414110e080200000000000000000000000000000000000000000000000003090e1214152020202020202020202020201e1313100c070000000000070d121618192020202020202020202020201615130f0a0400000000000000000003090e1214152020202020202020202020201b1a17140e080100000001090f14181b1b2020202020202020202020201414110e08020000000000000000000000000000000000000000000000000004070c10131316191b1c1d1e1e1e1d1c1a18161312100b0603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f1214151717171717171717171717171313100c07000000000000000000000000000000000000000000000000000000000000000000070d1316191a20202020202020202020202020191916120d07000000000000000000000000000000000000000000060b0f12131e202020202020202020202020201514120e0903000000000000000000040a0f131516202020201f1e1d1b19171413100c0701000000000000000000000000000000000000000000070d121619192020202020202020202020201d1c1916100a030000000000000000050b101416172020202020202020202020201f1e1b17120c050000000000000000000000000000060c111517182020202020202020202020201d1c1a16110a03000000000000000003090e1214151c1c1c1c1c1c1c1c1c1c1c1c1615130f0a0400000000000000000000000000000000000000000000000000000002090e1114141d1d1d1d1d1d1d1d1d1d1d1d1413100d07010000000000000000000000000000000000000000000000000000000000000306090e11141417191b1c1d1e1e1d1c1c1a181513120f0b0603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c13181b1e1f202020202020202020202020171614100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e141a1e20212426262421211e1a140f0a0400050b10151a1f21222526252421201d19130d080202080d13191d20212425262522211f1a15100b0500000000000000000000060f171e23282a2b2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c21201d19130c04000000000000000810161c2023232d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29272522201f1b1713100c0701000000000000000000000000000000000000000000000000000000000000000000030c131a202527282d2d2d2d2d2d2d2d2d2d2d2d21201e19140d0500000000000000000000000000000000000000000000050d141a1e21212d2d2d2d2d2d2d2d2d2d2d2d2b201f1c18120b0300010a12181e2225262d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f0700000000000000050d141a1e21212d2d2d2d2d2d2d2d2d2d2d2d2726241f1a130b0200030b131a202427282d2d2d2d2d2d2d2d2d2d2d2d21201e19140d0500000000000000000000000000000000000000000000070c1012181c1f20232627292a2b2b2b2a29272522201f1c17120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f2122232323232323232323232323201f1c18120b030000000000000000000000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d2d2d2d2d2d2625231e19120a010000000000000000000000000000000000020a11171b1f202b2d2d2d2d2d2d2d2d2d2d2d2d2d21211e1a140d0500000000000000070f161b1f22232d2d2d2c2c2b2a282623201f1c1812100b050000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d2d2d2d2d292926211c150d040000000000000810161c2023232d2d2d2d2d2d2d2d2d2d2d2d2b2a28231e170f060000000000000000000000000911181d2124252d2d2d2d2d2d2d2d2d2d2d2d2a2926221c150d04000000000000060e151a1e212229292929292929292929292922211f1b150e0700000000000000000000000000000000000000000000000000050d14191e202129292929292929292929292920201d18120c04000000000000000000000000000000000000000000000000000000040a0f1315191e2021242628292a2b2b2a2928272422201f1b1712100c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171e24282b2b2d2d2d2d2d2d2d2d2d2d2d2d2323201c161008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f252a2d2e313232312e2d2a251f1b150e080f161c20262b2e2f313232312e2d29241e19130c0c13191e24292d2e313232312f2e2b26201c160f080000000000000000050f1821282f3437383939393939393939393939393939393939393939393939393939393939393939393939393939392e2d29241e160e04000000000008111a21272c2f3039393939393939393939393939393939393939393939393939393938373533312f2d2b27221f1c18120d0802000000000000000000000000000000000000000000000000000000000000020c151e252c3134353939393939393939393939392e2d2a251e170e050000000000000000000000000000000000000000050f171f252a2d2e393939393939393939393939382d2c28231d150c030a131c232a2f3233393939393939393939393939302f2c27211910070000000000050f171f252a2d2e3939393939393939393939393433302b241d140b010b151d252c3134353939393939393939393939392e2d2a251e170e0500000000000000000000000000000000000000070c12181c1f23282c2d2f32343637373837373634322f2d2b28231f1b17110b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1820262b2e2f3030303030303030303030302d2c28231d150c03000000000000000000000000000000000000000000000000000000000a131c242a2f32333939393939393939393939393933322f2a231c130a00000000000000000000000000000000020b141b22272b2d38393939393939393939393939392e2d2a251f170f05000000000007101921272c2f30393939393838373532302d2c29231d1c160f0a040000000000000000000000000000000a131c232a2f32333939393939393939393939393635322d261f160d030000000008111a21272c2f303939393939393939393939393837342f2821180f050000000000000000000009121b22292e31323939393939393939393939393736322d271f160d0300000000060f181f262b2d2e3535353535353535353535352f2e2b26201810070000000000000000000000000000000000000000000000050e171f252a2d2e3636363636363636363636362d2c29241d160d04000000000000000000000000000000000000000000000000070c10151b1f22252a2d2e3033353637373837363534312f2d2b27221f1c17110d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1821292f343738393939393939393939393939302f2c27211a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f1820262b30363a3b3e3f3f3e3b3a36312b262018111a21272c31373a3b3e3f3f3d3a3935302a251e17171e252a3035393a3d3f3f3e3b3a37312c2721191109010000000000010c17212a333a4043454545454545454545454545454545454545454545454545454545454545454545454545454545453a3935302820160c0200000005101a232c33383c3d464646464646464646464646464646464646464646464646464645454342403e3c3937332d2c29231d19130c06000000000000000000000000000000000000000000000000000000000009131e272f373d40424646464646464646464646463b3936302920170d02000000000000000000000000000000000000030d17212931363a3b464646464646464646464646443a38342e271e150b121c252e353a3e3f4646464646464646464646463c3b38322b23190f04000000030d17212931363a3b464646464646464646464646413f3c362f261d1309131d272f373d40424646464646464646464646463b3936302920170d0200000000000000000000000000000000030b12181c23282c2e34383a3c3f4143444444444342413f3c3a38342e2b27221b17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222a31373a3b3d3d3d3d3d3d3d3d3d3d3d3d3a38342e271e150b00000000000000000000000000000000000000000000000000000007121c252e353b3f4046464646464646464646464646403e3b352e251c12070000000000000000000000000000000a141d262d33373945464646464646464646464646463b3a36312921170d03000000040f19232b32383b3c46464646454444423f3d3a38342f2c27211b150e060000000000000000000000000007121c252e353b3e4046464646464646464646464643423e3831281f150a00000005101a232c33383c3d4646464646464646464646464543403a332a21170c01000000000000000006111b242d343a3d3e46464646464646464646464643423e3831281f150a000000030e18212a31373a3b4242424242424242424242423c3b37322a22180e04000000000000000000000000000000000000000000020d17202930363a3b4343434343434343434343433a39352f281f160c01000000000000000000000000000000000000000000060b12181c1f272b2e30363a3b3d404243434444444342403e3b3937332d2c28231c19130d07010000000000000000000000000000000000000000000000000000000000000000000000000000010c17212b333a4044454646464646464646464646463d3c38332c231a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081119212a31373b4246474b4c4c4b4846423b37312a221b232b33383c4347484b4c4c4a4746413a36302920202930363a4146474a4c4c4b4847433c38332b231b1309000000000007121e28333c454b50525252525252525252525252525252525252525252525252525252525252525252525252525252524746413a32281e13080000000b16212c353d44484a53535353535353535353535353535353535353535353535353535251504f4d4b4846443f3a38342f2a251e17110a030000000000000000000000000000000000000000000000000000040f1a252f3941484d4f5353535353535353535353535346413b32291e140800000000000000000000000000000000000009141f29333b424648535353535353535353535353514645403930271d1218232e373f464b4c5353535353535353535353534948433d352b21160a00000009141f29333b4246485353535353535353535353534e4c4741382f241a0f1a252f3941484d4e5353535353535353535353535346413b32291e1408000000000000000000000000000000060c151d23282e34383a404546494c4e4f50515151504f4d4b4946443f3937332d27221b140b0600000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4645403930271d120700000000000000000000000000000000000000000000000000020d19242e3740474b4d535353535353535353535353534c4b4640372e23190d020000000000000000000000000006111b262f383f444651535353535353535353535353534846423b33291f14090000000a16212b353d434849535353535251504e4c4a4745403938332b26201810060000000000000000000000020d19232e3740464b4c535353535353535353535353504e49423a31261c100500000b16212c353d44484a53535353535353535353535352504b453c33281e120700000000000000010c18222d363f454a4b535353535353535353535353504e4a433a31271c1105000009151f2a333c4247484f4f4f4f4f4f4f4f4f4f4f4f4947433c342a20150a00000000000000000000000000000000000000000009141f29323b4246475050505050505050505050504745403931281d120700000000000000000000000000000000000000020a11171c23282c32373b3c4246474a4c4e4f505151504f4f4d4b4846443f3a38342e29241e18120c040000000000000000000000000000000000000000000000000000000000000000000000000007131e29333d454c50525353535353535353535353534a48443d352c21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19232b333c42474d52545759595754534d47433c342c252d353d44484e53555859585754524c46413a322a2a323a41464c52545758595855534e48443d352d251b1108000000000b17232f3a454e565c5e5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f54524c443a3024190d010004101c27333d474f5556606060606060606060606060606060606060606060606060605f5f5e5d5c5a585553504947454039363028231c150c06000000000000000000000000000000000000000000000000000814202c37414b53595b6060606060606060606060605f524c443b3025190e0200000000000000000000000000000000020e1a25313b454d535f6060606060606060606060605e53514b42392e23181e2a353f4951575960606060606060606060606056544f473d32271b0f0300020e1a25313b454d535f6060606060606060606060605a58524a41362b1f14202c37414b53595b6060606060606060606060605f524c443b3025190e02000000000000000000000000020a11171e272e34394044464b515356595a5c5d5e5e5e5d5c5a585553504a46443f38332d261d181009000000000000000000000000000000000000000000000000000000000000000000000000020f1a26313c464e535556565656565656565656565653514b43392e23180c0000000000000000000000000000000000000000000000000007131e2a354049525759606060606060606060606060605957514940352a1e1203000000000000000000000000000b17222d38414950535e6060606060606060606060606054534d453b31251a0e0200030f1b27323d474f54566060605f5f5e5d5b595653514b48443d37312a2217110a0200000000000000000006121e2a3540495157596060606060606060606060605c5a544c42382d21160a0004101c27333d474f55566060606060606060606060605e5c564e453a2f23170b0000000000000005111d29343f485056586060606060606060606060605d5b554d43382d22160a00020e1a26313c454d53555c5c5c5c5c5c5c5c5c5c5c5c55534e463c32261b0f0300000000000000000000000000000000000000020e1925303b444d52545c5c5c5c5c5c5c5c5c5c5c5c53514b43392f24180d010000000000000000000000000000000000050b141c22282e34383c4347494d525457595b5c5d5e5e5d5c5b5a575553504946443f38352f29241d160d060000000000000000000000000000000000000000000000000000000000000000000000000c18242f3a454f575c5e60606060606060606060606056554f473d33271c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212b353d454d53575e6164656564615e57534e463e352d373f474f54585f6264656564615d56524c443c33333c444c52565d6164656564625f58544f473f372d231a10050000000f1b2834404b5660686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c615d564c4135291d1105000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a68666462605b5353514b46413a342e261e170f070000000000000000000000000000000000000000000000000c1825313d48535d65686c6c6c6c6c6c6c6c6c6c6c6c6c5e564c41362a1e11050000000000000000000000000000000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c6c6b605c544b4034281e222f3a46515b63666c6c6c6c6c6c6c6c6c6c6c6c6360594f43382c1f13070005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c30241824313d48535d65686c6c6c6c6c6c6c6c6c6c6c6c6c5e564c41362a1e11050000000000000000000000030b141c2228303940454a5153545c60626567696a6a6b6a6a69676562605c54535049443f382f2a221b120b020000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e585f62636363636363636363636363605c554b4034281c10040000000000000000000000000000000000000000000000000a16232f3b47525b63666c6c6c6c6c6c6c6c6c6c6c6c6c66635b51463b2f201509000000000000000000000000030f1b27333f49535b606b6c6c6c6c6c6c6c6c6c6c6c6c6c615e574d42362a1e12050007131f2c38434f5960636c6c6c6c6b6b6a686563605c55544f47433c3427221b140b0200000000000000000a16232f3b46515b63666c6c6c6c6c6c6c6c6c6c6c6c69665e54493e3226190d000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6b6860564b4034281b0f020000000000000915212e3a45505a62656c6c6c6c6c6c6c6c6c6c6c6c6a665f554a3e32261a0d0006121e2b37424d575f61686868686868686868686868625f584e43372b1f13060000000000000000000000000000000000000005111e2a36424d565e61696969696969696969696969605d554b4035291d100400000000000000000000000000000000080f171d262d33394044464e5455565e61636668696a6a6b6a6968676462605b5353504a45413a352f281f17110a02000000000000000000000000000000000000000000000000000000000000000000030f1b2834404c5761686b6c6c6c6c6c6c6c6c6c6c6c6c6361594f44382c201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333d474f575f62696e717272716e69625f584f473e353f49515960636a6e717272706d68615e564d453c3c454d565e61686d707272716e6a63605951493f352c21160b000000111e2a3743505c6872787878787878787878787878787878787878787878787878787878787878787878787878787878786d685d5246392d201307000916232f3c4855616b7079797979797979797979797979797979797979797979797979797878767573716f6c6564605c55524c443f3830292119100700000000000000000000000000000000000000000000010e1b2734404d59656f7579797979797979797979797976685e5246392d201407000000000000000000000000000000000714212d3a46535e6976797979797979797979797979776d665c51453a2f2425323e4b57636d727979797979797979797979796f6b6054483b2f221509000714212d3a46535e6976797979797979797979797979746e64584c3f33261b2734404d59656f7579797979797979797979797976685e5246392d20140700000000000000000000030c151d262d333d424b51545c6064666d6f72747677777777767574726f6d6663605b535049413c342d241c140b020000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a6e7070707070707070707070706d675c5145382c1f13060000000000000000000000000000000000000000000000000c1925323f4b57636d7379797979797979797979797979736d63574b3c31261a0e02000000000000000000000005121f2b3744505b656c787979797979797979797979797975695e53463a2d211407000915222f3b4854606b6f797979797877777572706d67636059534e463f332d261d140a00000000000000000c1925323e4b57636d737979797979797979797979797670665a4e4235291c0f000916232f3c4855616b707979797979797979797979797872685c5043372a1e11040000000000000b1724313d4a56626c717979797979797979797979797671665b4e4236291c10000814212d3a47535f696e7575757575757575757575756f6a5f53473b2e211508000000000000000000000000000000000000000714202d3a46525e696e7676767676767676767676766d675d5145392c2013060000000000000000000000000000010a121a21292f383f444a515358606267696e7073757676777777767573716e6c6563605c54524c4540393127221b140b03000000000000000000000000000000000000000000000000000000000000000005111e2b3744505c687378797979797979797979797979706b6155483c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b454f5960696e757b7e7f7f7e7b766f6a61594f453e47515b626b70777b7e7f7f7d7a746d685f574d43434d575f686d747a7d7f7f7e7b77706b625b51473e33281c10030000121f2b3845525e6b78848585858585858585858585858585858585858585858585858585858585858585858585858585857a6d6154473a2e211407000a1723303d4a5663707d868686868686868686868686868686868686868686868686868685848382807e7b7975716d67615e56504a423b332b22191006000000000000000000000000000000000000000000020f1c2835424f5b6875818686868686868686868686867a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b86868686868686868686868684796d60554c41352926333f4c5966727f8686868686868686868686867d6f6356493c30231609000815212e3b4854616e7b8686868686868686868686868074675a4e4134271b2835424e5b6875818686868686868686868686867a6e6154473b2e211408000000000000000000030c151e272f383f444f545c60666d7175797c7f8182838484848382807e7c7974706c65605b534e463f362e261d140b0100000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7c7d7d7d7d7d7d7d7d7d7d7d7d796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2633404d59667380868686868686868686868686867f7366574e42372b1e120600000000000000000000000613202d394653606c7884868686868686868686868686877b6e6154483b2e21150800091623303c4956636f7c86868686858483817f7d7974706b625f5851443f382f261b1106000000000000000d192633404c5966737f8686868686868686868686868276695c504336291d10000a1723303d4a5663707d86868686868686868686868684786b5e5245382b1f12050000000000000b1825323e4b5865717e86868686868686868686868683766a5d5043372a1d10000815222e3b4855616e7b8282828282828282828282827c6f6255493c2f221609000000000000000000000000000000000000000814212e3b4754616e7b828383838383838383838382796d6053473a2d20140700000000000000000000000000010a131c242c333b424a50545c60656a6f73787a7d7f8182838484838282807e7b7974706d66605d56514b433d332d261d150c030000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b78858686868686868686868686867d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57606b707b82878a8c8c8a87827c706b61574d444f59626d727d83888b8c8b8a86817a6e695f554b4b555f696e7a81868a8b8c8b88837d726d62594f44382c20150a0000131f2c3946525f6c79859292929292929292929292929292929292929292929292929292929292929292929292929292877a6d6154473a2e211407000a1723303d4a5663707d89939393939393939393939393939393939393939393939398929291908f8d8b8885817d79736d68605c544d453c342b22180d040000000000000000000000000000000000000000020f1c2835424f5b6875828e93939393939393939393877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8793939393939393939393968b7f72675d51453b3025333f4c5966727f8c93939393939393939393897c6f6356493c30231609000815212e3b4854616e7b87939393939393939393938d8174675a4e4134271b2835424e5b6875818e93939393939393939393877a6e6154473b2e2114080000000000000000000b151e273039424a505960666d72797d8286898c8d8f90919191908f8d8b8885817d78716c655f58504840382f261d130a00000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818989898989898989898989877b6e6154483b2e2115080000000000000000000000000000000000000000000000000815222e3b4855616e7b8793939393939393939393939084776a5f53473a2e21150900000000000000000000030f1b27333f4953636f7c8996939393939393939393938f8276695e53463a2d21140700091623303c4956636f7c899399929291908e8c8985817d766f6a625b504941382d22170e050000000000000d192633404c5966737f8c939393939393939393938f8376695c504336291d10000a1723303d4a5663707d89939393939393939393939185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b939393939393939393939083766a5d5043372a1d1000091623303c4956636f7c898f8f8f8f8f8f8f8f8f8f897d7063564a3d3023170a000000000000000000000000000000000000000815222e3b4855616e7b888f8f8f8f8f8f8f8f8f8f877a6e6154473b2e211408000000000000000000000000010a131c252e363e454d545b60666d72777c8084878a8c8e8f909191908f8e8d8a8885817d79736d68605d554e443f382f261e150c0300000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b78859193939393939393939393897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e69707d868f9497989897948f867d70695f534855616b727f88909597989899928e847b6e675d51515c676e7b848e92999898979590887f726b6155483c31261a0f0200131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877a6d6154473a2e211407000a1723303d4a5663707d89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9b999797928e8a85807a726d665f574e463c342a20160c0100000000000000000000000000000000000000020f1c2835424f5b6875828e9b9f9f9f9f9f9f9f9f94877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b87949f9f9f9f9f9f9f9fa89e92857a6d60564d42362a333f4c5966727f8c999f9f9f9f9f9f9f9f96897c6f6356493c30231609000815212e3b4854616e7b87949f9f9f9f9f9f9f9f9a8d8174675a4e4134271b2835424e5b6875818e9b9f9f9f9f9f9f9f9f94877a6e6154473b2e211408000000000000000007121d273039424b545b606b70797f848a8e9298989a9c9d9d9e9d9d9c9a9897928e89847e786f6a625a524a41382f251c1108000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d96969696969696969694877b6e6154483b2e2115080000000000000000000000000000000000000000000000000714212d3a46535f697683909c9f9f9f9f9f9f9f9fa095887b6e6255483c31261a0e0200000000000000000005121f2b3744505b6574808d9aa89f9f9f9f9f9f9fa2988a7e7164574d42362a1e120500091623303c4956636f7c8996a39f9e9e9d9b9898928e89827c726d605b53493f332720160c0200000000000d192633404c5966737f8c999f9f9f9f9f9f9f9f9c8f8376695c504336291d10000a1723303d4a5663707d89969f9f9f9f9f9f9f9f9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b989f9f9f9f9f9f9f9f9d9083766a5d5043372a1d10000a1623303d495663707c89969b9b9b9b9b9b9b9b96897d7063564a3d3023170a000000000000000000000000000000000000000815222e3b4855616e7b88949c9c9c9c9c9c9c9c94887b6e6155483b2e2215080000000000000000000000000a131c262e37404850575e666c71797e84888d919696999b9c9d9d9e9d9c9b9a9797928e8985807a726d6760585049413830261e150b02000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919e9f9f9f9f9f9f9f9f96897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7b8692989ea6a5a5a69f9892867b6e62554d5763707d88939aa0a7a5aba39f969184796d605353606d798491969fa3aba5a7a09a93887d7063584e43372b1f120600131f2c3946525f6c7985929fababababababababababababababababababababababababababababababababababa094877a6d6154473a2e211407000a1723303d4a5663707d8996a3acacacacacacacacacacacacacacacacacacacacb4aeacababa9a8a6a9a19e9b97928d857f786e6960584e463c32281e130800000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8acacacacacaca194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1acacacacacacacada1978d8073695e52463c31333f4c5966727f8c99a5acacacacacaca296897c6f6356493c30231609000815212e3b4854616e7b8794a1acacacacacaca79a8d8174675a4e4134271b2835424e5b6875818e9ba8acacacacacaca194877a6e6154473b2e21140800000000000000060f18232e39424b545c666c737d848b91969b9fa2aaa7a9aaaaaaaaa9a8a7a9a29f9b95918b837c716c645c524a41372d231a0d040000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa3a3a3a3a3a3a3a194877b6e6154483b2e21150800000000000000000000000000000000000000000000000005121e2a36424d5765717e8b98a2aeacacacacacb1a7998c7f7366574e42372b1e12060404040404040404040613202d394653606c7884919eabacacacacacacab9f9285796d6053473b31251a0e0200091623303c4956636f7c8996a2acabaaaaa8aaa29f9b948f877f746c655b50443e32281e130800000000000d192633404c5966737f8c99a6acacacacacaca99c8f8376695c504336291d10000a1723303d4a5663707d8996a3acacacacacacab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4acacacacacaca99d9083766a5d5043372a1d10000a1724303d4a5763707d8a96a3a8a8a8a8a8a8a396897d7063564a3d3023170a000000000000000000000000000000000000000815222e3b4855616e7b8894a1a9a9a9a9a9a9a295887b6f6255483c2f221509000000000000000000000008121c262e384049515a61696e787e848b91969a9ea1a8a6a8a9a9aaaaaaa9a8a6a9a29f9b97928d857f796f6a605b534a423830261d140a000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabacacacacacaca396897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6674818e98a2aab0b2b2b0aaa2988e8175675c535f697783909aa4acb1b2b5aea8a0968c7f7265595865727f8b96a0a9aeb5b2b1aca49a9184776a5f53473a2e21140800131f2c3946525f6c7985929facb8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8ada094877a6d6154473a2e211407000a1723303d4a5663707d8996a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9bfbab9b8b7b6b5b3b3adaba9a19e98928c837b6f6a60584e443a2f24190d04000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5b9b9b9b9ada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aeb9b9b9b9b9beb3a99f92867b6e61574e4237333f4c5966727f8c99a5b2b9b9b9b9afa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aeb9b9b9b9b4a79a8d8174675a4e4134271b2835424e5b6875818e9ba8b4b9b9b9b9ada194877a6e6154473b2e211408000000000000030e18212834404b545c666d78808891969ea1a8acaeb4b4b5b6b7b7b7b6b5b3b3adaba7a09d9590867e736e645c52493f352c20160c0100000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b0b0b0b0b0aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000020e1a26313b4754606d7a86929facb8b9b9b9b9b7aa9d9084776a5f53473a2e2115091111111111111111110f1c28333f4a54636f7c8996a1adb9b9b9b9bdb2a89a8e8174675d514539291f14090000091623303c4956636f7c8996a2afb8b7b6b4b4aeaba69f99928b80776c605a50443a3025190d03000000000d192633404c5966737f8c99a6b2b9b9b9b9b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0b9b9b9b9b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1b9b9b9b9b6a99d9083766a5d5043372a1d10000a1724313d4a5764707d8a97a3b0b5b5b5b5b0a396897d7063564a3d3023170a000000000000000000000000000000000000000815222e3b4855616e7b8894a1aeb6b6b6b6afa295897c6f6256493c2f23160900000000000000000000060f1a242e38404a525b636c717b828b91969ea0a8abacb2b2b4b5b6b7b7b6b5b5b3b3adaba9a19e97928c847c726c655c544a42382f261c11060000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8b9b9b9b9b0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7885929eaab4bcbfbfbcb4aa9f9286796d6055626e7b8895a0acb6bebfbfbbb2a89d9083766a5d5d697683909ca8b2bbbfbfbeb6aca095887b6e6255483b2f22150800131f2c3946525f6c7985929facb8b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9ada094877a6d6154473a2e211407000a1723303d4a5663707d8996a3b0bcc6c6c6c6d0cac6c5c0c0c0c0c0c0c0c0c0c0c0c1c1c3c4c3c2c0beb9b8b3adaaa29f9590857c6f6a5f564c41352920150a000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1c6c6baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac6c6c6cfc5baaea2988e81746a5f53473d323f4c5966727f8c99a5b2bfc6c6bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac6c6c0b4a79a8d8174675a4e4134271b2835424e5b6875818e9ba8b4c1c6c6baada194877a6e6154473b2e21140800000000000009151f2a333c45515c666d78818c939aa0a8adb2b8babfc0c2c0bfbebfc0c2c0bebab8b1aca79f98928b80746e645b51473d32281e130800000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4bcbcbcbaaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000914202c3945515d6775818e9ba8b2bdc9c6c5b8aca095887b6e6255483c31261a1e1e1e1e1e1e1e1e1e1e1e1f2b3844505b6674808d9aa8b2bdc9c6c5b9aca096897c6f63554b403529170d030000091623303c4956636f7c8996a2afbcc4c3c1bebab8b0aba39f928c80736c61564c41362a20150a000000000d192633404c5966737f8c99a6b2bfc6c6c2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc6c6c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1bec6c6c3b6a99d9083766a5d5043372a1d10000b1824313e4b5764717e8a97a4b1bdc2c2bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000815222e3b4855616e7b8894a1aebbc2c2bcafa396897c706356493d3023160a000000000000000000030c18212c36404a525c636d737e8590949ea0a8acb2b7b9bdbfc1c2c3c4c4c3c2c1c0bebab8b3ada9a29f9691877f776d665c544a42382d22170e0400000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4c6c6bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8797a2adbcc5cecec6baaea298887b6e625764707d8a97a7b1bec7d0cbc4b8ab9f9285786c5f5f6b7885929eabb8c4cbd0c7beb1a7978a7d7064574a3d3124170a00131f2c3946525f6c7985929facacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca094877a6d6154473a2e211407000a1723303d4a5663707d8996a3b0bcc9d2d7cec6bfbab8b4b4b4b4b4b4b4b4b4b4b4b4b5b6b8babfc5c7c6c5beb9b4aea79f9792857c6f685d52453c32271b0f020000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d2d2d6cabfb4aa9f92877b6e62594f43383f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2835424e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e2114080000000000020e1a26313c45515b606d78828f939fa4acb2b9bdc4c3bcb8b7b3b2b1b2b4b7b9bdc4c3bcb8b1aaa39f928d80746d63594f443a2f24190d03000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0c9c7baaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000004111d2935414b5563707d8996a1adb9c5d2c8bcb1a7998c7f7366574e42372b2a2a2a2a2a2a2a2a2a2a2a2a2a2d394653606c7884919eabb8c4cfccc0b6ac9e9184776b605443392f241805000000091623303c4956636f7c8996a2afbec5c6cacac6c2bdb5afa49f93887e70685e52463c31261a0f010000000d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000b1825313e4b5864717e8b97a4b1becac9bcb0a396897d7063564a3d3023170a060606060606060606060606060606060606060815222e3b4855616e7b8894a1aebbc7c9bdb0a3968a7d7063574a3d3024170a0000000000000000000a151e2a333e48525c636e737f8a92979fa6acb2b8bdc3c5c6c2bebfbab8b8babfbdc1c5c6c5beb9b3ada8a099928c81786d665c544a3f332820160c02000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b889aa4afbbc8d2d2c8bdb2a895887c6f625764717e8a97aab4bfcbd3d2c5b9ac9f9286796c5f5f6c7985929facb8c5d2d3cbbfb4aa978a7e7164574b3e3124180b00131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877a6d6154473a2e211407000a1723303d4a5663707d8996a3b0bcc9dbd0c6bcb4aeaca7a7a7a7a7a7a7a7a7a7a7a7a8a9acaeb4b9bbbfc6cac5bebab1a9a19791847a6d60584e43372b1e13080000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e7dbd0c6bbafa3998f82756b6054483e3f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2835424e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e211408000000000006121e2b37424d57626d74818e949ea5afb6bec3c2bbb7b1acaaa6a5a4a5a7abacb2b8bcc3c2bcb4aea49d928c7f726b60564c4135291f1509000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000010d18242f3a4653606c7884919eabb7c2cdcec3b7aa9d9083776a5f53473a3737373737373737373737373737333f4a54636f7c8996a1adb9c5d4c8bbafa49a8c7f7366594f4331271d1207000000091623303c4956636f7c8996a2adb3b8babfc6cecfc7c0bbafa49a92857a6d61584e43372b1d13070000000d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000b1825323e4b5865717e8b98a4b1becbc9bcb0a396897d7063564a3d30231713131313131313131313131313131313131313131315222e3b4855616e7b8894a1aebbc7cabdb0a4978a7d7164574a3e3124170b000000000000000006111c26303c45505a636e73808c919fa2a9b0b9bdc4c7c0bbb9b5b1b4aeacacaeb4b0b4b8babfc6c5bebab2aba39f938e81786d665b50443d32281e1308000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c0c6c6c1b8aca096877a6e615663707c8998a3aebac2c6c5c0b6ac9e9184786b5e5e6b7784919eacb6c0c5c6c2baaea398897d7063564a3d3023170a00131f2c3946525f6c79859293939393939393939393939393939393939393939393939393939393939393939393939393877a6d6154473a2e211407000a1723303d4a5663707d8996a3b0bcc9d6cabfb4aaa29f9a9a9a9a9a9a9a9a9a9a9a9a9b9c9fa2aaacaeb5bdc3cbcac2bbb3a9a1968e81746a6054473a3025190d0100000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1e2d7cbc0b5ab9e93897c6f635a50423f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2835424e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e21140800000000030e18222e3a47535f69727f8b939da6afbbc0c7bfb8b0aba7a09d9a9898999a9ea1a8acb1b9c1c6bfbaaea49f93877d70685d52453c31261a0e020000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000007131f2b3844505b6673808d99a7b1bcc8d1c5b8aca095887b6e6255484444444444444444444444444444444444505b6674818d9aa9b2bdc9d2c6b9ac9f93877b6e6154483d3221150b01000000091623303c4956636f7c89969ea1a9acaeb4bcc3cbd1cbc0b6aca2978d81746a5f53473a2f24180d0100000d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d30232020202020202020202020202020202020202020202020222e3b4855616e7b8894a1aebbc7cabeb1a4978b7e7164584b3e3125180b00000000000000000c17232e38424d57616c73808c929ca3adb3bbc2c9c1bdb5afaca8a4aaa39f9fa2aaa4a7acaeb4bbbfc6c4bdb5aea59e938e81786c60594f443a3024190d030000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677683909da5afb8b9b9b8afa69d918477685e53606d7986929fa7b0b8bab9b5afa49a8e8174685b5b6774818e9aa4afb5b9bab8b1a89f9286796d6053473a2d20140700131f2c3946525f6c79868686868686868686868686868686868686868686868686868686868686868686868686868686867a6d6154473a2e211407000a1723303d4a5663707d8996a3b0bcc9d3c6baaea298928d8d8d8d8d8d8d8d8d8d8d8e8e9092989b9fa3abb1b9c3cbcdc5bcb2a89d93887c6f62564c41362a1e110500000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1e8dcd1c7bdafa59c9083766c61544a3f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2835424e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e211408000000000a15202c38444f59626e7b86929fa5afb8c1ccbfb5ada69f9c95908d8c8b8c8d91969da0a7afb7c1cbc0bbafa49991847a6d60574d42372b1e130800000000000000000000000000000000000000000000020608080c0e1b2734414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b2e21150e0b08070501000000000000000000000000000000000000000000030f1c28333f4a54626e7b88959fabb8c6d1c8bcb1a7998c7f7366574d515151515151515151515151515151515153606c7885919eabb8c4cfcabeb4aa9c8f8276695e53463a2d21140300000000091623303c4956636f7d899092979a9fa2aab1b9c3cbd2c7beb3a99f92877c6e62554b4135291d110400000d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000c1926323f4c5965727f8c98a5b2bfcbc9bcb0a396897d7063564a3d302d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2e3b4855616e7b8894a1aebbc7cbbeb1a5988b7e7265584b3f3225180c0000000000000003101c28343f4a545f69717e8a929ca4adbabec5c6bfbaafaba49f9c98959892929894979b9fa2aaaeb5bdc4c6bfbbafa59e938c7f736b60564c4135291f14090000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5564717e8a939da5abacacaba59e948b7f726556515d6774808d959fa6abadacaba49f93877c6f625555626f7c87939fa4abacadaba79f968d8174675d5145392c20130600121f2b3844515d69747979797979797979797979797979797979797979797979797979797979797979797979797979797976685e5246392d201307000a1723303d4a5663707d8996a3b0bcc9d2c5b8ac9f9286818181818181818181818181828385898e9299a0a7b1b9c3cfcec4baafa59b8f8275685e5246392d20130700000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1eee3d9cfc1b7ab9f948a7d70665c50444c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271c2835424e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e211408000000030f1a26313c4854606b76828f98a2aeb7c1cac0b6ada39c948f8884807f7e7f81848991959ea5afb8c1ccc0b5aba1968d8174695f53473a3024190d0100000000000000000000000000000000000000040a0f121415191b1d2734414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b2e211c1a181414110d080200000000000000000000000000000000000000000b17222d3847535f697683909daab4bfcbcec3b7aa9d908377695f5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5463707c8997a1adb9c6d3c6baaea2988b7e7164574d42362a1e1205000000000815222e3b4855616e7b818385888d92989fa7b1b9c3ced0c5bbafa3998d8174675d5145392c20130800000d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3939393939393939393939393939393939393939393939393939393b4855616e7b8894a1aebbc7cbbfb2a5988c7f7265594c3f3226190c000000000000010c161f2c3844505c666e7b85929fa4aeb6bfcac6bcb4aea59e99938f8b8886858586888a8e92989fa3abb2bbc4cbc1b7afa59f93877d70685d52463b31261a0e0300000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f394653606c77818e939b9e9f9f9e9b938e82786d60534b55606d7a8390949c9fa29f9e99938c80736a6054535f6a73808c93999e9fa29f9c9590847a6d60554b4035291d100400101c2935414d5862696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e564c41362a1d1105000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e91847874747474747474747474747576797c81879095a0a7b1bdc6d1ccc0b9ac9f92867a6d6154473a2e21140700000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1eae5e1d3c7bcb0a69d9184786d60554b4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e413429292935424e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e21140800000006121f2b37434e5863707d89949faab4bfc9c3b9aea49c918c827c777372717274787d838e939ea5afbbc4c7bdb2a89f92877b6e61564c4135291d11040000000000000000000000000000000000070c10151a1f212225282a2a34414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b2e2a29272521201e1914100b0500000000000000000000000000000000000006111c2b37424d5765727e8b98a3aebac7d1c5b8aca095887b6e6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6674818d9aa9b3bec9d2c5b8ab9f9285796d6053473b31251a0e02000000000714212d3a46535f696e7576787b808690959fa7b1bcc5d0cbc0b5ab9f92857a6d6054473a2f24190d01000d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000d1a2633404d596673808c99a6b3bfccc9bcb0a396897d7063564a46464646464646464646464646464646464646464646464646464646464855616e7b8894a1aebbc7ccbfb2a6998c7f7366594c403326190d00000000000008131e2935414c56606d78839098a2aeb6bfc8c6bcb4aaa29f938e87827e7b797979797b7d81868d9299a1a9b2bbc4c9c1bbafa49991847a6d61574d42362a1f140900000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121f2b3744505b656d7981898e919393918e8981796d665c5045525d686e7b828a8f929792918d877f776c60584e4e58636e737f878d919297928f8a837b6e685d5243392f24180d01000d1925303b4650585d5f6060606060606060606060606060606060606060606060606060606060606060606060606060605f524c443a3025190d01000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b6767676767676767676768666d6f747c839095a0abb5bfcbd4c7bbafa3998b7e7265584b3f2f23180c00000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e7dfd9d4d1cdc2b8aca0958b7e71675d514c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e413636363636424e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e2114080000000815212e3a47535f6a7683909ca6b0bcc6c8bcb1a79c928c7f776f6a67656566676b7079818e939ea9b2bdc9c4bbafa3998e8174685d5245392c201307000000000000000000000000000000030b12181c1f262b2e2f3235363738414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b38373634312e2d2a251e1c160e090300000000000000000000000000000000000e1a26313c4754606d7a86929facb9c4cfc8bcb1a7998c7f777777777777777777777777777777777777777777777885929eabb8c4cfc9bdb2a89a8e8174675d514539291f1409000000000005121e2b37424d575f6168696a6e737b8390959faab4becad1c7baaea2988b7e7265564c4135291d1104000d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000d1a2733404d5a6673808d99a6b3c0ccc9bcb0a396897d7063565353535353535353535353535353535353535353535353535353535353535355616e7b8894a1aebbc7ccc0b3a6998d8073665a4d4033271a0d0000000000010d19242f3945525d68727f8b95a0aab3bec8cbbfb4aaa298928a817b75716f6d67666d6e71747a80879197a1a9b2bdc6ccc0b5aba1978d8074695f53463b31261a0e00000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535c676d747c8185868685827d756d675d544a414c565e696e787e8285868684817c736c655b504646525c636d737c8184868685827e786e695e564c4131281d1207000008141f2a343e464d51525353535353535353535353535353535353535353535353535353535353535353535353535353535346413a32281e130800000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5a5a5a5a5a5a5a5a5b545c60636a6f7a839099a3aebbc7d3cbc0b5ab9b8e827568554b4034291c1004000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4ded5cec8c5c4c5bdb1a89e9184796d60564c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e434343434343434e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e2114080000000915222f3c4855626f7b88949fabb8c2cec4b8aca0958d80736c655f585958595960676d78818f96a1adb9c6cbc0b5ab9f92867a6d6054473a2f24180d0100000000000000000000000000070c151c23282c31373a3b3f41434444444e5a6774818d9aa7b4c0cdc7baaea194877b6e61544844444443413e3b3936302c27211a140d06000000000000000000000000000000000915202c3945525d6875828e9ba9b3bec9cec3b8ab9f928583848484848484848484848484848484848484848484839197a1adb9c6d2c5b9aca096897c6f63554b403529170d030000000000020e1a26313c454d53555b585f62696e79839098a2aebac5d0cabfb4aa9c8f8376685d5245392c201306000d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000d1a2734404d5a6773808d9aa6b3c0cdc9bcb0a396897d7063606060606060606060606060606060606060606060606060606060606060606060616e7b8894a1aebbc7cdc0b3a79a8d8074675a4d4134271a0e010000000004111d2935414c55606d7a85929ea7b1bcc5cec5baaea39892867e756e696562605c5c606164686d737c859196a1abb4bfcbc7bdb2a99f92867b6e61574d42362a1c1106000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414b555c606b6f757879797875706b605d554b423a444d565e666c717578797977746e6a605b53493f404a525b636a6e747779797875716c665e574d443a301f160c010000020d18222c343b414446464646464646464646464646464646464646464646464646464646464646464646464646464646463936302820160c0200000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e524e4e4e4e4e4e4e4e4a5053585f686e7b87929facb9c5d2d1c4b7ab9e918478675c5145382c1f1306000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4d5ccc3bdb8b7b8bdb9ada1978c7f72685e525966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4f4f4f4f4f4f4f4f4f5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e211408000005121e2b37424d576773808d9aa6b0bccac8bcb1a79d9083786c605b534e4c4b4c4f555c666d7a84919eaab4bfcac7baaea3988b7f7265554b4035291d10040000000000000000000000000611191e272e34383c4347484c4e50515151505a6774818d9aa7b4c0cdc7baaea194877b6e6154505151514f4d4b4746413b38332a261f170f0800000000000000000000000000000004111d2935414c5663707d8a97a1adb9c6d2c6baaea29892909090909090909090909090909090909090909090909195a0a9b3bec9ccc0b6ac9e9184786c605346392f2418060000000000000009141f2a333c4246484f4e53575f676e7b86929fa9b3becad0c5b9ac9f92867a6d6054473a2d211406000d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000e1b2734414e5a6774818d9aa7b4c0cdc9bcb0a396897d706c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6e7b8894a1aebbc7cdc1b4a79a8e8174675b4e4134281b0e01000000000613202c3945515d6773808d97a1adb9c3cec5bcafa59f92867d716c615f57555351505355565d616a6f7b849199a3aebac3d0c4baaea3998e8175695f5346382e23170c000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f39434b5159606368666d6d6668636059514b433a323b444d545b606469666d6c6567625f585049413837404951585f6267656c6d666964605b544d453b32281e0d040000000006101a222a303538393939393939393939393939393939393939393939393939393939393939393939393939393939392e2d2a251e160e050000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245414141414141413f44464e565f6974818d9aa7b4c0d0d2c6b9ac9f9386796d6053473a2d201407000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d9cec3bab1acaaacb1bab2a99f92857a6d61575966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675c5c5c5c5c5c5c5c5c5c5c6875818e9ba8b4c1cec7baada194877a6e6154473b2e21140800000714212d3a46535f697784919eaab7c2cdc5b8aca095897d70665b5049413f3e3f434b545d68727f8b98a2aebac6cbbfb4aa9c8f8276675d5145392c20130600000000000000000000020a1117232b30394044464e5355585b5d5d5e5d5c5a6774818d9aa7b4c0cdc7baaea194877b6e615b5d5e5e5d5c5a5854524c48443d363129211a11090000000000000000000000000000010d19242f3a4653606d7985919eabb8c3cdcabeb3aaa29f9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9da0a7b1bbc5cfc8bbafa49a8c7f73655b5044372b1d120700000000000000030e18212a31373a3b4243474d555e69727f8c97a2adbac6d3c7bbafa3998a7d7064574a3d2e23170c000d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000e1b2834414e5b6774818e9aa7b4c1cdc9bcb0a396897d797979797979797979797979797979797979797979797979797979797979797979797979797b8894a1aebbc7cec1b4a89b8e8175685b4e4235281b0f02000000000714212d3a4754606d7a86929fa9b3becbcabfb4aa9e938b7e716b615a534d4846454446484c525860696f7c87929fa8b2bdc8cbbfb4ab9f93877b6e61544a3f34281c10030000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d27313940454f5456545c60605c5456544f45403a3129323b424a505357545c60605b5355534e443f382f2e3740464e5355535b60605c545753504a423b332920160c0000000000000810181f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21201d19130c05000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e52453834343434342e34383c444d5763707d8996aab4bfcad4c8bbafa49a887b6e6255483b2f221508000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4c8bdb1a8a09da0a8afbaaea2988d8074695f5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d81746969696969696969696969696975818e9ba8b4c1cec7baada194877a6e6154473b2e21140800000815222e3b4855616e7b8896a0acb9c5d0c4b7aa9d9184776b60544a3f382f323039424c56606d7a85929facb8c5d0c5b9ac9f92867a6d6053473a2d201407000000000000000000020b141b2227353d424a5153585f626568696a6b6a69676774818d9aa7b4c0cdc7baaea194877b6e65686a6a6b6a696764615e56554f46423b332c231b1209000000000000000000000000000008131f2b3844505c6673808d9aa7b1bcc8d0c5bcb3aeabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacb1b9c3cdd2c6b9ac9f93877b6e6153493f33271b0f030000000000000000060f181f262b2d2e31373b434d57606d7a85929fabb8c5d1cbc0b5ab9a8d807467544a3f34281c10030d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000f1b2835424e5b6875818e9ba8b4c1cecabeb1a59a8f8986868686868686868686868686868686868686868686868686868686868686868686868686888d98a3b0bcc9cec2b5a89b8f8275685c4f4235291c0f0200000006131f2b38434e5865727f8b98a2aebbc5cfc6baaea2988e81756c61595046423c3a38383a3b41464e57606a727f8c96a0acb9c5cfc6bbafa49a8d8073665c5044382c1f12060000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b151f272f343d4348494a505353504a4948443d352f2820292f383f44464a4a51535350494847433c332d26252e333c43474849505353514a4b46443f382f2920170e0400000000000000060d14191c1f1f2020202020202020202020202020202020202020202020202020202020202020202020202020201413110d080200000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b2727272723282b323c4754606d7a8798a2aebac6d3ccc0b6ac95897c6f6256493c2f231609000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d1c5b8aca09591959ea5afb3aa9f92867b6e615866727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d80767676767676767676767676767676818e9ba8b4c1cec7baada194877a6e6154473b2e21140800000b1825313e4b5864717e8b97a8b2bdc8ccc0b5ab998c807366594f42382d262527303a45515d6775828e9ba8b5c1cec7baaea398897c6f6356493c302316090000000000000000000a141d262d3340474f545c60656a6e72747677777776747174818d9aa7b4c0cdc7baaea194877b6e7275767777777674716e68636059534d453e352d241b11080000000000000000000000000003101c28343f4a54626f7c8895a0acb8c6d1cec5bebab8b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b8bcc3ccd6cabfb4aa9c8f8276695e5341382d22170b00000000000000000000060e141a1e2122262b313b45515d6774818e9aabb4bfcbd1c3b6a99d908376665c5044382c1f12060d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050101010101010b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000f1c2835424f5b6875828e9ba8b5c1cecec2b6aba19a969393939393939393939393939393939393939393939393939393939393939393939393939394989fa9b4c0cccfc2b5a99c8f8276695c4f4336291c10030000000815222e3b4754606a7783909daab4bfcdccc0b5ab9f92867b6e615a50473e36312d2c2b2d30353d454e58606d7984919ea9b3becaccc0b6ac9e9184796d6053463a2d2013090000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d232932383b3c3f444646443f3d3c383329241d171d262d3338393e40444646443f3b3a373127221b1c212a31373a3b3f44464644403e3938332d261d170e0500000000000000000002080d10121313131313131313131313131313131313131313131313131313131313131313131313131313131307070501000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f1b1b1b171c202c3945515d677985929facb8c5d2d2bcafa396897c706356493d3023160a000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d0c4b7aa9d91848f939eabb5aea3998e81756a5f66727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7d1c4b7ab9e918482828282828282828282828282828285919eabb8c4d1c7baada194877a6e6154473b2e21140800010e1a2734414d5a6774808d9aa7b3c0cec7bbafa499897c6f6256493d2f261c151e2935404b5565727e8b98a5b1becfcbbfb4aa988b7f7265584c3f3225190c000000000000000006111b262f383f44525960666d71777b7f818384848483817e7a818d9aa7b4c0cdc7baaea194877b7b7f818384848482807e7a76706b615f574f473e362d231a0f06000000000000000000000000000b17232e3847535f6a7783909dabb5bfcbd7d0cac6c5c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c4c5c8ced5d3c6baaea2988b7e7164574d422f261b1106000000000000000000000003090e1214151a1f2935404b5563707d8a99a3aebac7d2c5b9ac9f9286796d6053463a2d2013070d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f120e0e0e0e0e0e0e0e1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000f1c2935424f5c6875828f9ba8b5c2ced3c7bdb3aba5a39f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa1a3a9b1bbc6d1cfc3b6a99c908376695d5043362a1d10030000000916232f3c4956626f7c8995a0acbcc6d0c7bbafa4998d8073685e52483e352a26201f1f202429333d44515c66717e8b97a2adbac6d2c7b9ada1978a7d7064574a3d31251a0e0200000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c2f2e34383a3a38342e2f2c272118130b141c22282b2d2e34383a3937332d2e2b262017110f1820262b2e2d3337393a38342e2d2b28221c140b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f15151515151f2c3845515c677985929facb8c5d2ccc0b6ac95897c6f6256493c2f231609000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e81818f99a3afb4ab9f93877c6f6266727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7d2c5b9aca196918f8f8f8f8f8f8f8f8f8f8f8f8f8f8f9197a1adb9c6d2c7baada194877a6e6154473b2e2114080003101c2936434f5c6976828f9ca9b5c2cfc6b9ac9f93867a6d6053473a2d20140c18242f3c4956626f7c8995a9b3becad1c1b4a79a8e8174675b4e4134281b0e00000000000000050e17222d384149505b636b70797e83888b8e909091908f8d8a8585919eabb8c4d1d0c4b7aa9d9183888b8e909191908f8d8b87827d766e69615950483e352c21180b0200000000000000000000000006111c2b37434e5865727f8b99a3aebbc7d3dbd6d3cdc4beb9b8b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b8babfc6ced4d9dfd2c5b8ac9f92857a6d6053473b3120140a0000000000000000000000000000020507090d18242f3a4753606d7986929facb9c5d2c7baaea398887b6f6255483c2f2215090d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f1b1b1b1b1b1b1b1b1b1b25323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d1000101c2936434f5c6976828f9ca9b5c2cfdccfc5bdb6b1b0acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaeb0b4bbc3cdddd0c3b6aa9d9083776a5d5044372a1d1104000004111d2935414c566673808c99a7b1bcced2c6b9ac9f93877b6e61564d41362d231a1313121319212834404a54606d7985929fabb8c5d1c9beb2a99a8d817467574d42362a1e120500000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c161b1f2223282b2d2d2b282322201c160d07020a11171c1f2023282c2d2d2b2722211f1a150b06060e151a1f2122272b2d2d2c2823201f1c17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b222222222222242d3a4753606d7a8698a3aebac7d3c8bbafa49a887b6e6155483b2e221508000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e817c87929faab4afa49a8f82766b66727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7d5c9bdb2a8a19e9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9ea1a9b2bec9d5c7baada194877a6e6154473b2e2114080004101c2834404b546a7784919daab7c4d0c4b7aa9e918477675d5145382c1f130714212d3a4754606d7a8797a2adbac6cfc2b5a89c8f8275695c4f4236291c0f000000000000020d172027333f49535b606d737d848b9095989b9c9d9e9d9c9a98929197a1adb9c6d2d1c5b8aca0959195989b9d9d9e9d9c9a9a938f89827b706c615a50473e332a1d140a000000000000000000000000000f1b26313c4754616d7a86929facb9c5cfdadacfc4bbb2adabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaeb4bcc6d0dbd5c9bdb2a89b8e8174675d5145392c20130200000000000000000000000000000000000007131f2c3845515d677683909da9b6c3d0cbbfb4aa978a7e7164574b3e3124180b0d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b272727272727272727272727323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d1000101d293643505c6976838f9ca9b6c2cfd6dbcfc7c2bebcb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9bbbcc0c6d4d1d0cdc4b7aa9d9184776a5e5144372b1e060000000713202c3945525d687683909da9b6c3cecfc2b5a99c8f8276695e52443b30241b11090606080f18232e3945515c6774818e9aabb5c0cbcfc4b7aa9e918477695e53463a2d21140700000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315171c1f20201f1c171613100b05000000060b0f1213181c1f20201f1b1714120f0a03000003090f1214171b1f20201f1c1813120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382e2e2e2e2e2e2f2f353d4855626f7c8895aab4bfcbd2c6b9ac9f93867a6d6054473a2d211407000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174818e98a2aeb6ac9f94897d7065727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7dacec4bab2acaba9a9a9a9a9a9a9a9a9a9a9a9a9a9a9abadb2bbc4cfdac7baada194877a6e6154473b2e2114080006131f2c3845515c667985929facb8c5cfc2b5a99c8f827669554b4035291d100613202c3945515d677885929fabb8c5d0c3b7aa9d9084776a5d5144372a1e1100000000000008141f29323b44505b656c74808791969da0a7a7a9aaaaaaa9aaa39f9ea1a9b3bec9d5d4c8bcb1a7a09da0a7a8a9aaaaaaa9aca49f9c948f857e716c61594f453b2f261c11060000000000000000000000000a15202d3946525e6875828f9ba9b3bec9d5d5c9beb2a9a19e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9fa2aab4bfcad6d2c5b9aca096897c7063554b4035291d100400000000000000000000000000000000000004101d2935404b556774808d9aa7b3c0cdd1bfb2a6998c7f7366594c40332619060d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e52453834343434343434343434343434343e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d1000101d2a3643505d697683909ca9b6c3c6cad0d7d3cecac9c6c6c6ccc6c3c1c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c3c5c8cec6c6c6c7c9cccec8c5c4c0c0b8ab9e9185786b5e52452d22170b0000000714212d3a4754606d7a86939facb9c6d2c9beb3a9988b7e7265574d4232291f12090000000007121c2834404b5563707d8a99a3afbbc7d2c5b9aca096877b6e6154483b2e21150800000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000307060b1012131312100b060704000000000000000306070c10121313120f0b0606020000000000000206060b0f12131312100c07060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e52453b3b3b3b3b3b3b3c3d4145505a65727f8b98a5b2bed0d0c4b7aa9d918477675d5145392c201306000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e81747b86929fa9b3b0a69d9083786c727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7d4d6ccc4bdb9b7b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b8b9bec4cdd6d4c7baada194877a6e6154473b2e211408000713202d3a4653606d798698a2aebac6cec2b5a89b8f8275685c4f422f24180c04111d2935414b556b7784919eaab7c4d1c4b7aa9e9184776b5e5144382b1e110000000000020e1925303b44505a606c77818c9399a0a8acb1b4b6b7b7b7b6b4aeacabadb3bbc4cfdad9cec3b9b1acaaacb1b4b6b7b7b7b5b6afaca69f9792877e716b61574d42382d22170b00000000000000000000000005111d2a36414c5664707d8a97a1adb9c6d2d2c6b9ada197919191919191919191919191919191919298a2aebac7d3ccc0b6ac9e9184786c605346392f24180d01000000000000000000000000000000000000000c18242f3e4b5865717e8b98a4b1bed0cec1b4a89b8e8175685b4e422d22170b0d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245414141414141414141414141414141414b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d1000111d2a3744505d6a7783909daab4b8babec5ced7dfd7d6d2d3c9c1bab6b5b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b7b8bcc3cbd5d2d4d5ccc3bdb8b7b4b4b4ab9f9285786c5f4a3f33281c0f0300000a1724313d4a5764707d8a99a4afbbc7d2c6b9ada197887b6e6155483b3022170d0000000000000c18232e3a4753606d7a86929facb9c5d2c8bdb2a8978b7e7164584b3e3125180600000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060707060300000000000000000000000000000004060706050300000000000000000000000000000305060706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e52484848484848484848494b5159616c7783909daab7c3d0c8bdb2a89a8e817467554c4135291d1104000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e817473808d97a1adb8aca0958a7e71727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7d4ddd4cdc8c4c3bfbfbfbfbfbfbfbfbfbfbfbfbfbfbfc3c4c8cdd5ddd4c7baada194877a6e6154473b2e211408000714212d3a4754606d7a8793aab4bfcacec1b4a79b8e8174685b4e4135281b07010d18242f44505d6a7783909daab6c3d0c4b8ab9e9185786b5e5245382b1f12000000000005111e2a36414d56616c73808d939fa4abb2b8bcc1c3c3c4c2bfbfbab8b8b9bec4cdd6e1dfd5cbc3bcb8b7b8bcbebfc3c4c3c2c0bbb9b0a9a29992877d70695f544a3f33281d12070000000000000000000000010d1925303a4653606d7985929eabb8c3ced1c4b8ab9e918584848484848484848484848484848486929facb8c5d2c8bbafa49a8c7f73655b5044372b1d12070000000000000000000000000000000000000000071623303c4956636f7c8996aab4bfcacfc3b6a99c90837669544a3f33281c0f0d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e524e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d1000111e2a3744515d6a7784909da7a7abadb3bcc5cdd7e0e3d7ccc1b7afaaa8a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7aaacb1b9c3ced9d9cec3bab2acaaa7a7a7a79f928679665b5044382b1f120600000d192633404c5966737f8c99abb5c0ccd1c4b8ab9e918578695f53463a2d2114050000000000000713202c3945515d677784909daab7c3d0cec0b3a69a8d8073675a4d402e23170b00000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5555555555555555555556555d606b717e8b95a0acb8c5ccc3b8aca096897d7063564a3d2f24190d01000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e81746d7a85929ea8b2b1a79e918479727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7d4d4cbc2bcb8b6b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b7b8bcc3cbd5d4c7baada194877a6e6154473b2e211408000714212e3a4754616d7a8794a0adbad0cdc1b4a79a8e8174675b4e4134281b0e00071d2a3643505d697683909ca9b6c3cfc5b8ab9e9285786b5f5245382c1f1200000000000714202d3946525e68717e8a929ca5afb5bdc3c8c7c0bbb9b5b2b1b1b2b7b8bcc3cbd5dfdcd2c8c0b9b5b3b1b0b1b2b6b8bcc2c9c8c2bcb3aba39992857b6e665b5044392e23180c00000000000000000000000008131f2c3844515c6674808d9aa7b1bcc8ccbfb2a6998c7f77777777777777777777777777777885929eabb8c5d1c6b9ac9f93877b6e6153493f33271b0c0100000000000000000000000000000000000000000814212e3b4754616e7a8798a2aebac6d1c4b7ab9e918478665b5044382b1f120d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a65717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d1000111e2b3844515e6b7784919a9a9a9fa2a9b3bbc5ced8e2d2c6baafa59e9b9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9da0a7b1bcc8d4d4c8bdb2a8a09d9a9a9a9a9a9886786c605346392d20130600020f1b2835424e5b6875818e9ba8b4c1d2cfc2b5a89c8f827569574d42362a1e120500000000000004101d2935404b556874818e9ba7b4c1cecec2b5a89b8f827568544a3f34281c1003000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a131313131313131313131313131313131313131313131313131211100e0c09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e0f1011111111100e0c0a070604010000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b61616161616161616161626365676d737d86929fa7b1bcc8c3bab0a69e9184786c605346392d20130800000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e817467727f8b96a0acb9aca1968b7f727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7d8cdc2b9b1aba9a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6aaacb1b9c3cdd9c7baada194877a6e6154473b2e211408000714212e3a4754616d7a8794a0b5c0cbcec1b4a89b8e8175685b4e4235281b0700101d2a3643505d697683909ca9b6c3cfc4b8ab9e9185786b5e5245382b1f120000000006121f2b37434e58616e7b85929fa4aebbc0c7cac1bdb5afaca8a6a4a4a5aaacb1b9c3ced9d6cbc0b6aea9a7a4a4a4a6a9abb1b9bdc4ccc5bdb5aba2989082786c60554b4034281c1004000000000000000000000004101c2834404a54626f7c8895a0acb8c7d1c3b7aa9d9083776a6b6b6b6b6b6b6b6b6b6b6b707d8997a1adb9c6cabfb4aa9c8f8376695e5341382d22170b0000000000000000000000000000000000000000000714202d3946525e687985929facb8c5d2c5b9ac9f9286796c605346392d20130d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b67676767676767676767676767676767676767676767717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d1000121e2b3845515e6b78848d8d8d8d9297a2a9b3bcc6d0dccfc3b6aa9e938e8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d9095a0acb8c5d1d1c5b8aca096918d8d8d8d8d8d867a6d6053473a2d2014070004101c2834404b546a7783909daab6c3d0cdc0b3a69a8d8073675a4d4031261a0e02000000000000010d18242f404c5966737f8c99a6b2bfccd0c4b7aa9d918477665c5044382b1f1206000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020202020202020202020201f1f1e1c1b19161313100c070400000000000000000000000000000000000000000000000000000000000000000000000004070c10121316181a1c1d1e1e1e1d1d1b19171413110d0705010000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786e6e6e6e6e6e6e6e6e6e6e6f7071757a7f879298a2aeb9c3c2bab2a89e948a7e71655b5044372b1f120500000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174686d7984919ea7b1b2a89e92857a7f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7d4c8bcb1a79f9d9999999999999999999999999999999da0a7b1bcc8d4c7baada194877a6e6154473b2e211408000714202d3a4753606d798699a3afbbc7cec2b5a89b8f8275685c4f422e23180c00111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b5e5145382b1e12000000000815212e3a47535f6a74818e97a2adb6c0ccc9c0b8b0aba39f9b999898989da0a7b1bcc8d4d1c5b9aea49d9a989797999d9fa7acb2bac4ccc7bdb3aa9f948b7e71675c5145382c1f14090000000000000000000000000c18232e394754606a7783909dabb5c0cbc5b8aca095887b6e625e5e5e5e5e5e5e5e5c6674818e9aa9b3bec9c6baaea2988b7e7164574d422f261b110600000000000000000000000000000000000000000005111e2a36414c566a7784919daab7c4d0c7bbafa399877a6d6154473a2e21140d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9184787474747474747474747474747474747474747474747474747e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000d1a2733404d5a66738081818181859297a2aab4bfcbd6cec1b5a89b8e81818181818181818181818181818181818181818181818183909daab7c3d0d0c4b7aa9d918481818181818181796d6053473a2d2014070006131f2c3845515c667885929fabb8c5d2cbbeb1a5988b7e7265584b3f322518090000000000000000071824313e4b5764717e8a97a4b1bdcad2c5b9ac9f9286796d6053463a2d201307000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810161c2023232d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29282523201f1c1813100c070100000000000000000000000000000000000000000000000000000000000000070c1013181c1f20222527292a2a2b2b2a2928262420201d1813110d0802000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e91857b7b7b7b7b7b7b7b7b7b7b7b7b7c7e81858c9299a2aab4bfbdb9b0a8a0968f82756c6153493f33271b0f0300000000000000000000000002020202020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211408020202020200000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e81746866717e8a959fabb8ada1978d807f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7d1c4b8ab9f95908c8c8c8c8c8c8c8c8c8c8c8c8c8c8c9095a0acb8c4d1c7baada194877a6e6154473b2e2114080006131f2c3845515c677986929facb9c5cfc2b6a99c8f837669544b4034281c1005121e2a36424d576b7884919eabb7c4d0c4b7aa9d9184776a5e5144372b1e1100000004111d2935414c56626f7c87939fa9b3bec8cbc0b7afa69e99928f8c8b8b8c9095a0acb8c5d1cec1b5a99d928d8b8a8b8c90959ea0a8b2bac4d0c5bcb0a69e9184796d6053463c31261a0e02000000000000000000000007121c2b37434e5865727f8c99a3afbbc7c8bcb1a7998c7f7366574d515151515153606d7985929eabb8c5cfc5b8ac9f92857a6d6053473b3120140a00000000000000000000000000000000000000000000010d19253043505c6976838f9ca9b6c2cfcbc0b5ab95887b6f6255483c2f22150d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d2c5b8ac9f928680818181818181818181818181818181818181818181818181828f9ca9b6c2cfd0c3b6a99d9083766a5d5043372a1d10000c1926323f4b58636e73747474747c859298a3aebac1cfcdc0b3a79a8d807474747474747474747474747474747474747474747474808d9aa7b3c0cdcec1b4a79b8e81747474747474746d675d5145392c201306000713202d3a4653606d798698a2aebac6d3cabdb0a3978a7d7064574a3d3124170a00000000000000000a1723303d4a5663707d8996a3b0bcc9d3c7baaea399877a6d6154473a2e211407000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21272c2f30393939393939393939393939393939393939393939393939393837363432302d2c28231f1d18120c0701000000000000000000000000000000000000000000000000000001080d12181c1f23282c2d2f3234353737383737363432302d2c2924201d19130e090300000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d2c6b9ada1979188888888888888888888888888898b8e92979fa3abb4bab8b2aca69f9691847a6d615a5041382d22170b00000000000000000105090b0c0f0f0f0f0f0f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e21140f0f0f0f0f0f09080603000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e817468606c7883909da6b0b3a99f9286808d9aa7b3c0cdc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7d0c3b6a99d90837f7f7f7f7f7f7f7f7f7f7f7f7f7f7f83909daab7c3d0c7baada194877a6e6154473b2e2114080004101c2934404b556b7885929eabb8c5d1c4b7aa9e918477665c5145382c1f130714212d3a46535e697885929fabb8c5cfc3b6a99c908376695d5043362a1d100000000713202c3945525d6874818e9aa4afbbc5cdc3b9afa59d948f87827f7e7e7f83909daab7c3d0cdc0b3a79a8d807e7d7e7f83899196a0a8b2bdc7cec2b9aca1968b7e7164574d42372b1e12050000000000000000000000000f1b27323c4754616e7a86929facb9c5cec3b7aa9d908377695f53474444404a5463707d8997a1adb9c6c9bdb2a89b8e8174675d5145392c2013020000000000000000000000000000000000000000000000081b2835424e5b6875818e9ba8b4c1ced1bcafa396897c706356493d3023160d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d3c6baaea298928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8f949fabb7c4d0d0c3b6a99d9083766a5d5043372a1d10000a17232f3b47525c63666767676a6f7c86929fa6b0bdc6d1c5b9ac9f92877c6f676767676767676767676767676767676767676774808d9aa7b3c0cdcec1b4a79b8e8174686767676767605d554b4035291d1104000714212e3a4754616d7a8794aab4becad6c9bcafa296897c6f6356493c3023160900000000000000000916222f3c4955626f7c8895a2afbbc8d7cbbfb4ab94877b6e6154483b2e211508000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33383c3d46464646464646464646464646464646464646464646464646454443413f3c3a38342e2c29241d18120b03000000000000000000000000000000000000000000000000060b13191d23282c2e34383a3c3f4142434444444443413f3d3a39352f2d29251e1a150d08010000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d5c9beb3a9a19e9494949494949494949494949596989b9fa2a9aeb5b4aeaca8a09e948f847b6e685e52483e2f261b110600000000000000060c121518181b1b1b1b1b1b1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e211b1b1b1b1b1b1b1615130f0a0400000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b65707d89949fabb5aea2989285929facb8c5d2c9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d80747373737373737373737373737375818e9ba8b4c1cec7baada194877a6e6154473b2e21140800000c18232f44505d6a7783909daab6c3d0c5b9ac9f9286796d6053463a2d20130815212e3b4854616e7b8798a2aebac6cec1b4a89b8e8175685b4e4235281b0f0000000714212d3a4754606d7a86929facb6c0cdc8bcb1a79d938e827a7573717174818d9aa7b4c0cdc7baaea194877b71717173767d849196a0abb5c0ccc9bdb2a89d908376695f53463a2d2114060000000000000000000000000a15202d3946525e6875828f9ca9b3becac5b8aca095887b6e6255483c3844515c6674818e9ba9b3becac5b9aca196897c7063554b4035291d110400000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdcabdb0a3978a7d7064574a3d3124170d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d6cabfb4aaa29f9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9c9fa6b0bbc7d3d0c3b6a99d9083766a5d5043372a1d100007131f2a36404a52585a5a5a58606a727f8b939eabb5bfcbc7bbafa3998e8275695f5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b5a5a5a5a53514b433a2f24180d01000815222e3b4855616e7b8894a1aebbd0dbc8bbafa295887c6f6255493c2f22160900000000000000000815222e3b4855616e7b8894a1aebbc7dcd1bbaea295887b6f6255483c2f221509000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212c353d44484a5353535353535353535353535353535353535353535353535252514f4e4c494645403a38352f29231d150d07000000000000000000000000000000000000000000020a11171e24292e34383a404446494b4d4f5051515150504e4c4a4745403a3935302b261f19130c0400000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9dacfc4bbb3adaba1a1a1a1a1a1a1a1a1a1a1a1a2a3a4a8abadb3bbb4aaa29f9b96918a827a6e695e564c41362c1d140a000000000000000911181d222425282828282828282835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e282828282828282823221f1b160f07000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e81746853606b76828f99a4afb4aaa2989298a3aebac7d3c9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d81746766666666666666666666666875818e9ba8b4c1cec7baada194877a6e6154473b2e2114080000071b2835424e5b6875818e9ba8b4c1d0c7bbafa399887b6e6255483b302519121b262f3d4a5763707d8a96aab4becaccbfb3a6998c807366594d4033261a0d000004101c2834404b5465717e8b98a3aebec7d2c4b8aba0958e80776e6866656774818d9aa7b4c0cdc7baaea194877b6e6464666b6f7a849199a4afbbc7cec4b8ab9f95887b6e6155483b2d22170b00000000000000000000000005111e2a36414c5664717e8a97a2adbac6c8bcb1a7998c7f7366574d423a4653606d7985929fabb8c5ccc0b6ac9e9184786c6053463a2f24180d0100000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfcccbbeb1a4988b7e7165584b3e3225180d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9dbd0c6bcb4aeaca7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a9abb0b8c2cdd8d0c3b6a99d9083766a5d5043372a1d1000020e19242e3840474b4d4e4e4e58626d75828f99a3aebbc7cbc0b5ab9f93877b6e62554b4e4e4e4e4e4e4e4e4e4e4e4e4e4e5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4e4e4e4745403a31281d130700000915222f3c4855626f7b8895a2aebbc8d4c8bbaea195887b6e6255483b2f22150800000000000000000815212e3b4854616e7b8794a1aebac7d4c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c27333d474f555660606060606060606060606060606060606060606060605f5f5e5d5c5b585653514b47454039342f271f19100900000000000000000000000000000000000000050b141b22272f35394045464a515355585a5c5d5d5e5e5d5c5b595753514b4746413a373129241e160d07000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d6cdc4beb9b8aeaeaeaeaeaeaeaeaeaeaeaeaeafb1b4b8babebaaea298928e8a847e786d685e574d443a30241a0b0200000000000009121b23292e3132353535353535353535424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b3535353535353535352f2e2b27201910070000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b59626f7c87939faab4b4aaa39fa3aab4bfcbd6c9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a5959595959595959595b6875818e9ba8b4c1cec7baada194877a6e6154473b2e21140800000c1926333f4c5966727f8c99aab4bfcacbc0b5ab988b7e7265564c41362a211f222d38414f596673808d99a6b3c0d0c8bdb2a8978a7d7064574a3d3124170a000006131f2c3845515c6675828f9caab4bfd0c8bcb1a79d9083796d655e565a6774818d9aa7b4c0cdc7baaea194877b6e61585960686f7c87939facb9c3cec8bcb1a7998c7f7266544a3f33281c0f030000000000000000000000020e1925303b4653606d7985929fabb8c3cec3b7aa9d908377695f5347404b5463707d8a97a2adbac6c8bbafa49a8c8073655b504437281d13070000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbcbbfb2a5988c7f7265594c3f3226190d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d6d7cec6bfbab8b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b6b7bbc2cad4dcd0c3b6a99d9083766a5d5043372a1d10000008121c262e363b3f40414146515b616e7b86929fabb5c0cbc7bbafa4998e8174675d51454141414141414141414141414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4141413a39352f281f160c0100000916232f3c4956626f7c8995a2afbcc8d4c7bbaea194887b6e6155483b2e22150800000000000000000814212e3b4754616e7a8794a1adbac7d4c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a69676563605c5553514b454039312b221b12090000000000000000000000000000000000070e171d262d333a41454b5153545c60626567686a6a6b6a6a69676563605d5554524c47423c352f28201911090000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dfd6cfc9c6c4bbbbbbbbbbbbbbbbbbbbbbbbbbbcbec1c5c6c5b8ac9f9286817e78716c665e564d453b32281e120800000000000006111b252d343a3d3f424242424242424242424f5b6875828e9ba8b5c1cec7baada194877a6e615447424242424242424242423c3b38322b22190f0400000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b535f6a74818e98a3aebab4aeacaeb4bcc6d0dcc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4c4c4c4c4c4c4c4e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e21140800000a1623303d495663707c8998a2aebac6d1c2b5a99c8f8276685e52463c332c2b2d333f4953606b7884919eabb7c4d1c5b8aca096877b6e6154483b2e21150800000713202d3a4653606d7985929facb8c5d1c5b8aca0958a7d70665c534c5a6774818d9aa7b4c0cdc7baaea194877b6e61544f565f6a74818e9aa8b2bdc8cdc2b5a99c8f8276665b5044382b1f120600000000000000000000000008141f2c3845515c6774818d9aa8b2bdc8c4b8aca095887b6e62554845515c6674818e9ba9b3becac6b9ac9f93877b6e6153493f3327160c010000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becaccbfb2a6998c7f7366594c403326190d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d6e0d7d0cac6c5c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c2c4c7cdd4dcdcd0c3b6a99d9083766a5d5043372a1d100000000a141c242a2f323334343f46535f6974808d99a3afbbc7ccc0b5ab9f92857a6d6053473a30343434343434343434414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135342d2c29241d160d040000000916232f3c4956626f7c8995a2afbcc8d4c7bbaea194887b6e6155483b2e22150800000000000000000814212e3b4754616e7a8794a1adbac7d4c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b707979797979797979797979797979797979797979797979797978777674726f6d6764605d55514b433d342d241b120800000000000000000000000000000007101920292f383f444c52555c6064666d6f7274757677777777767472706d6765615e56534d45413a322b231b120a01000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d6cdc4beb9b8aeaeaeaeaeaeaeaeaeaeafb0b2b4b8b9bec4c6b9ac9f9387827d746d685f574d453c332920160c000000000000010c18232d373f454a4b4e4e4e4e4e4e4e4e4e4e4f5b6875828e9ba8b5c1cec7baada194877a6e61544e4e4e4e4e4e4e4e4e4e4e4947433d342b20160a00000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b4e58616e7b86929fa9b3bebab8babfc6ced8d5c9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e414040404040424e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e21140800000713202d3a4653606d7985929facb8c4cfc5b9ac9f92867a6e61584e453d3937393f44505b65707d8996a1acb9c5d0c4b7aa9d918477695e53463a2d21140700000916222f3c4955626f7c8898a2aebac6d0c4b7aa9d9184776b61544b4e5a6774818d9aa7b4c0cdc7baaea194877b6e6154484e58626f7c8896a0acb8c5d2c5b8ab9f9285796c605346392d20130600000000000000000000000004101c2834404b55626f7c8996a0acb8c7c8bcb1a7998c7f7266574d4653606d7985929fabb8c5cabfb4aa9c908376695f5341382d22170b000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcaccc0b3a6998d8073665a4d4033271a0d192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d6dfd6cfc9c5c4babababababababababababababababababababababababababec0c3c9d0d9dcd0c3b6a99d9083766a5d5043372a1d10000000020a12191f232627272a36424d57616e7b86929facb9c5cfc7baaea2988b7e7165564c41362a2727272727272734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e41352820201d18130c04000000000916232f3c4956626f7c8995a2afbcc8d4c7bbaea194887b6e6155483b2e22150800000000000000000814212e3b4754616e7a8794a1adbac7d4c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d86868686868686868686868686868686868686868686868685858482817f7c7975716d67605c554e463e362d241a0f0600000000000000000000000000071119222a323b414950565d60676d7175797c7e8082838484848383817f7d7a76726d68615f57524c443d352d241c130a000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9dacfc4bbb3adaba2a2a2a2a2a2a2a2a2a2a2a3a5a7abadb3b8bcbbafa49a938f89817a6e695f574d43392f24180d03000000000005121d29343f495156585b5b5b5b5b5b5b5b5b5b5b5b6875828e9ba8b5c1cec7baada194877a6e615b5b5b5b5b5b5b5b5b5b5b5b56544e463d32271b0f03000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b4e535e6973808d97a2adbac4c5c7cbd0d8e0d5c9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e413433333335424e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e211408000006121f2c3844515c6675828f9ca9b3bec9c7bbaea3998d81746a5f574f47454446495059606c7883909da8b2bdc9c8bcb1a79a8d807467574d42362a1e120500000c1825323f4b5865727e8b98aab4bfcaccc0b3a6998d807366594f424e5a6774818d9aa7b4c0cdc7baaea194877b6e61544847545f6a7784919daab7c4d0c6baaea298887b6e6255483b2f221508000000000000000000000000000c18232e394754606a7784919dabb5c0ccc3b6aa9d908377695f534b5463707d8a97a2adbac6c6baaea2988b7e7164574d422f261b1106000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9cdc0b4a79a8d8174675a4e4134271b0e192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d6d6cdc4bdb9b8adadadadadadadadadadadadadadadadadadadadadadadadadb2b3b8bfc7d0dcd0c3b6a99d9083766a5d5043372a1d100000000000080e1317191a1a26313b46525e6875828f9ba9b3bec9cabfb4aa9c908376685e5246392d201b1b1b1b1b2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b13110d070100000000000916232f3c4956626f7c8995a2afbcc8d4c7bbaea194887b6e6155483b2e22150800000000000000000814212e3b4754616e7a8794a1adbac7d4c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8993939393939393939393939393939393939393939399929291908f8e8b8985827e79726d67605850483e362c21180e030000000000000000000000071019232b343c444d535b60686d73797e8285888b8d8f90909191908f8e8c8a86837f7a756e69605d564f473f362d251c12080000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d5c9beb3a9a19e959595959595959595959696989b9ea1a9acb1b9b6aca49f9c938e847b6e695f554b40352920150a00000000000915222e3a45515b62656868686868686868686868686875828e9ba8b5c1cec7baada194877a6e686868686868686868686868686260584e43382b1f1306000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b4e4d57616d7a85929fa8b2bdc9d3d6dce2ead5c9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e413427262835424e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e211408000004101c2834404a5464717e8a97a1adb9c5cbbfb5ab9f92877c6f69605954515053535b606b717e8b959fabbac4cec5b8aca095897c6f6256493c31251a0e0200010e1a2734414d5a6774808d9aa7b3c0d0cabeb3a996897c70635649414e5a6774818d9aa7b4c0cdc7baaea194877b6e615448434e586774818e9aa7b4c1cdcabeb4aa978a7d7064574a3d3124170a0000000000000000000000000007121d2b38434e5866727f8c99a4afbbc7c4b8aca095887b6e6155515c6674818e9ba9b3becac5b8ac9f92857a6d6053473b3120140a00000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8cec1b4a79b8e8174685b4e4135281b0e192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9dacfc4bbb2adaba0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a5a7adb5bfc9d4d0c3b6a99d9083766a5d5043372a1d1000000000000002070a0c09141f2a36414d5663707d8a97a1adb9c6d0c5b9ac9f93867a6d6154473a2d22170b0e0e1a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e0401000000000000000915222f3c4855626f7b8895a2aebbc8d4c8bbaea195887b6e6255483b2f22150800000000000000000815212e3b4854616e7b8794a1aebac7d4c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9c9a9898928f8a857f796f6a615a50483e332a1f140900000000000000000000050e19222b353d464e565e656c727a80858a8e9298989a9b9d9d9e9d9d9c9a989992908c86817b746d68605950483f372d241a0f0500000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d2c6b9ada1979188888888888888888888898a8b8e91979da0a7afb7b6afaca59d9691857b6e675d51453c31261a0f01000000000b1824313d4a56626d727575757575757575757575757575818e9ba8b5c1cec7baada194877a75757575757575757575757575756f6a6054473b2e221508000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b4e46525d68727f8c96a1adb9c3ced9e4ede2d5c9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2835424e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e2114080000000c18232e3a4653606d7985919ea9b3bec9c6bbafa39991847b706b64605d5b6061656c727d87929fa7b1bcccc8bdb2a89d9184776a6054473b2e1f14090000030f1c2936424f5c6975828f9ca8b5c2cfc6baada297877a6d615447414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483e4b5865717e8b98a4b1becbd0bfb2a5988c7f7265594c3f3226190c00000000000000000000000000000f1b27323d4854616e7b87939facb9c5c8bcb1a7998c7f72665753606d7985929fabb8c5c9bdb2a89b8e8174675d5145392c20130200000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8cec2b5a89b8f8275685c4f4235291c0f192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d5c9bdb2a9a19e93939393939393939393939393939393939393939393939393989ba3adb8c3cfd0c3b6a99d9083766a5d5043372a1d1000000000000000000000030e1925303b4653606c7985929eabb8c5d2c7bbafa4998b7e716453493f33271b0f030e1a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e0200000000000000000815212e3b4854616e7b8794a1aebacfdbc8bbafa295887c6f6255493c2f22160900000000000000000815222e3b4855616e7b8894a1aebbc7d4c8bbaea195887b6e6255483b2f221508000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3acacacacacacacacacacacacacacacacacacb5afacacabaaa9a7aaa29f9c97928c847c716c615a50453b31261a0e030000000000000000020c17202b343d474f585f686e777e858c92979b9fa2aaa7a8a9aaaaaaaaa9a7aba39f9c98928e87817a6f6b625a51493f362c21170d03000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e91857c7b7b7b7b7b7b7b7b7b7c7d7f81858a91959da5afb8bbb9afa8a0979083796d60584e43372b1d1307000000000c1825323f4b5865727e818181818181818181818181818184919eabb7c4d1cec1b5a89b8e8181818181818181818181818181817c6f6256493c2f231609000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b4e414c56606d7984919ea7b1bcc8d4dee9e2d5c9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2835424e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e21140800000007121f2c3844515c6673808c97a1adb9c2cbc0b5aba19691847d75706d67656c6e72787f869299a3aeb9c2cbc3b8aca0968b7e7164584e43372b1f0d03000004111e2a3744515d6a7784909daab7c3d0c5b8ab9f928578685e5246414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483d495663707c8996a3afbcc9cdc0b3a69a8d8073675a4d4034271a0d00000000000000000000000000000a16202d3a46525e6976828f9caab4becac3b6aa9d908377695f5564707d8a97a2adbac6c5b9aca196897d7063554b4035291d110400000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1aebbc7cfc2b5a99c8f8276695c4f4336291c10192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d2c5b9ada19691878787878787878787878787878787878787878787878787878b919ba7b3c0ccd0c3b6a99d9083766a5d5043372a1d10000000000000000000000008141f2b3844505b6674818e9babb5c0ccccc0b5ab9b8f8275655b5044372b1f12050e1a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e0200000000000000000714212e3a4754616d7a8794a9b3becad6c9bcafa296897c6f6356493c3023160900000000000000000916222f3c4955626f7c8895a2afbbc8d6cabfb4aa94877b6e6154483b2e211508000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9c0bbb9b8b8b7b5b4b4aeaca9a19e9691877e716c61574d42362a20150900000000000000000a141e29333d464f59606a6f7a828b92979ea1a9acaeb4b3b5b6b7b7b7b6b6b4b5aeacaaa39f99928d847d716d635b51483e33291f1409000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786f6f6f6f6f6f6f6f6f6f707274797d838e939da6b0bdc0bab2a9a0958d80746a5f53473a2f24180d010000000f1b2835424e5b6875818e8e8e8e8e8e8e8e8e8e8e8e8e8e9196a1acb9c5d2cfc3b6aa9e938e8e8e8e8e8e8e8e8e8e8e8e8e8e8a7e7164574b3e3124180b000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b4e4145515c67717e8b95a0acb8c2cdd8e4e2d5c9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2835424e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e21140800000004101c2834404a54606d7a85929ea7b1bbc5c7bdb2a9a1969188827d7a7978797b7e838b9298a2abb5bfcbc3b9afa59e9184786d6053463d32271b0f00000005121f2b3845525e6b7885919eabb8c4d0c3b7aa9d9084776a564c41414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b4855626e7b8895a1aebbc8cec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000005121e2a36424d5764717e8a98a2aebac6c4b8aca095887b6e615c6775818e9ba9b3becac4b7ab9e9184786c6053463a2f24180d0100000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbad2cfc3b6a99c908376695d5043362a1d10192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e91847a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7f8b98a5b2becbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000030f1c28333f4a5464717e8a99a4afbbc7d2c5b8ab9e9285796c605346392d2013060e1a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e0200000000000000000713202d3a4653606d798697a2adb9c6d2cabdb0a3978a7d7064574a3d3124170a00000000000000000a1723303d4a5663707d8996a3b0bcc9d3c7baaea298877a6d6154473a2e211407000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc6c6c6c6cac4c0bfbbbbbbbbbbbbbbbbbbbbbbbcbfc2c2c1bfbab8b3ada8a09992877e71695f53463c31261a0e0200000000000006111c26303b454e58606b707c858f949ea1a9adb3b8babfc0c2c2c0bfbebebfc1bfbbb9b4aeaba39f9691877f726d635a50453b30251a0e020000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b6262626262626262636365666d7078818e949eabb5c0c3bbb1a79f92877c6f62554b4135291d11040000000f1b2835424e5b6875818e9b9b9b9b9b9b9b9b9b9b9b9b9b9ea1a8b2bdc9d5d2c6bbafa59e9b9b9b9b9b9b9b9b9b9b9b9b9b978a7e7164574b3e3124180b000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b4e41404b55606c7883909da6b0bbc7d3e1ead5c9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2835424e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e211408000000000c18232e3945525d68727e8b959fa9b3bdc6c4bbb2a8a19a938f8a87858486878b90959fa2aab4bdc6c4bbb1a79e93897d70665c5044382b20150a00000006131f2c3946525f6c7985929facb8c5cfc3b6a99c908376695d5043414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b4754606d7a8793a0adbad2cec2b5a89b8f8275685c4f4235291c0f0000000000000000000000000000020e1a25303b4753606d7985929fabb8c4c8bcb1a7998c7f7266606d7985929fabb8c5c7bbb0a6998c8073655b504437281d13070000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b5c0ccd0c3b7aa9d9084776a5d5144372a1e06192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000b17222d3a4754606d7a86939facb9c6d2c6b9ada197887b6f6255483c2f2215070e1a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e02000000000000000006131f2c3845515c677885929eabb8c5d1cbbeb1a5988b7e7265584b3f3225180800000000000000000b1825313e4b5864717e8b97a4b1becad2c5b8ac9f9285796c605346392d201306000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d2d1c8bfb8b4b2aeaeaeaeaeaeaeaeaeaeafb0b2b6b7bbc2c6c5beb9b2aba39992867b6e61574d42372b1e12060000000000000b17232e38424d57606a707d8691979fa6adb3b9bec5c6bfbab8b6b3b2b1b1b2b4b6b9bbbfbab5afa8a199938b7f726c61574d42362a1e12050000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e555555555555555657545c60666d78828f99a4afbbc7c3bbafa3998e8174675d5145392c2013060000000f1b2835424e5b6875818e9ba8a8a8a8a8a8a8a8a8a8a8a8abacb2bac4cedad7ccc1b7afaaa8a8a8a8a8a8a8a8a8a8a8a8a4978a7e7164574b3e3124180b000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b4e413944505b66707d8a949fabb7c1cfd8d9d5c9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2835424e5b6875818e9ba8b4c1cec7baada194877a6e6154473b2e2114080000000007121c2935414c56606d78839097a1abb4bcc5c4bab2aca49f9b979892919299989d9fa7aeb4bcc6c3bbb2a9a0958e81746b60544a3f3428190f040000000613202c3946535f6c7986929facb9c5cfc2b5a99c8f8276695c4f43414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b4653606d798693a0b5c0cccfc2b5a99c8f8276695c4f4336291c1000000000000000000000000000000009141f2c3945515d6774818e9ba8b2bdc9c3b6aa9d9083776964707d8a98a2aebac6c4b7ab9f94887b6e6153493f3327160c010000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8699a4afbbc7d1c4b7aa9e9184776b5e51442d22170b192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b60606060606060606060606060606060606060606065717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000613202c3945525d687784919daab7c4d0cabeb3a9988b7e7265584b3f2e23180c0e1a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e02000000000000000004101c2834404b556a7683909da9b6c3d0ccc0b3a6998d8073665a4d403025190e02000000000000000d192633404c5966737f8c99a6b2bfccd0c3b7aa9d908477655b5044372b1f1205000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d5cabfb6ada8a6a1a1a1a1a1a1a1a1a1a1a2a3a5a9abb0b9bec5c9c3bdb5aba2988f8275695f53473a2e211408000000000003101c28343f4a545e696f7c869298a1a9b0b9bec5c4bdb9b4aeaca9a6a5a4a4a5a7aaacafb5b9bdbbb2aba49f918a7e71695e52463a2d2014070000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e52484848484848494a4a50545c666e7b87939facb9c6cbc0b5ab9f92857a6d6054473a2d2114070000000f1b2835424e5b6875818e9ba8b4b4b4b4b4b4b4b4b4b4b4b7b9bdc4cccdcdcdcdc9c1bbb6b5b4b4b4b4b4b4b4b4b4b4b1a4978a7e7164574b3e3124180b000815212e3b4854616e7b8794a1aebac7cdc1b4a79b8e8174685b4e41333f4a54616b76828f9ca5afbdc6d1cdcdc9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2835424e5b6875818e9ba8b4c1cdc7baada194877a6e6154473b2e21140800000000000d19242f3a44505c666e7b859299a2aab3bbc2c4beb6afaca8aaa29f9e9fa3aba9abb1babfc6c0b9b1a9a1969183796d60594f42382e2317070000000006121f2b3844505b66798699a3afbbc7cec2b5a89b8f8275685c4f42414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b44515c66798699a4afbbc7cfc2b6a99c8f8376695c504336291d1000000000000000000000000000000004101d2935404b55636f7c8996a0acb9c7c4b8aba095887b6e6775818e9baab3becabfb4aa9c908376695f5341382d22170b0000000000000000000000000000000000000000000000000000000006131f2c3845515c677986939facb9c6d1c5b8ab9e9285786b5f4a3f33281c0f192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e545454545454545454545454545454545454545865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000004111d2935414c566774818e9aa7b4c1d2cfc1b4a79b8e817468544a4034281c100e1a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e020000000000000000000c18232e414e5b6874818e9ba7b4c1d1cec2b5a89b8f827568564d41362a1e110500000000000004111d2935414c566875818e9ba8b4c1cecec1b5a89b8e82756853493f33271b0f03000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d0c4b8ada49c99959595959595959595959596989c9fa6adb3bbc5cfc6bdb4aa9f93877b6e6255483b2f221507000000000006121f2b3844505c666e7b859298a2aab3bbc2c9c0bab2acaaa39f9c99989798999a9d9fa4abacb2babdb5afa39f92857b6e6154483b2e2115080000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e52453c3c3c3c3c3c3d3f444a545f697683909ca9b6c3d1c7baaea2988a7d7064574a3d3124170a0000000f1b2835424e5b6875818e9ba8b4c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0bdb1a4978a7e7164574b3e3124180b000815212e3b4854616e7b8794a1aebac0c0c0b4a79b8e8174685b4e412d38424f59626f7c89939eabb5bfc0c0c0c0bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aebac0c0c0b4a79a8d8174675a4e4134271b2835424e5b6875818e9ba8b4c0c0c0baada194877a6e6154473b2e211408000000000008131e28343f4a545e69707d879298a2a9b0b9bdc4c0bbb9b5b4aeacabacaeb4b6b8bcc2c3bcb8afa7a09791847b6e675d51473d30261c1106000000000613202d394653606c798699a4afbbc7cfc2b5a89c8f8275695c4f42414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b45515c677986939facb9c6cfc2b5a99c8f8276695c4f4336291c10000000000000000000000000000000000c18242f394653606c7884919eacb6c0c8bcb1a7998c7f726d7985929fabb8c5c6baaea2988b7e7165574d422f261b11060000000000000000000000000000000000000000000000000000000004101c2934404b556c7985929facb8c5d2c5b8ac9f928579665b5044382b1f12192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5247474747474747474747474747474747474b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000010d19242f3e4b5865717e8b98acb6c0ccd0c3b6aa9d908377665c5144382c1f120e1a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e02000000000000000000071926333f4c5966727f8c99abb5c0cbd1c4b7ab9e918478685e5246392d2014080000000000000713202c3945525d687784919daab7c4d0ccc0b6ac998d8073665a4d402d22170b00000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cdc0b4a89c928c8888888888888888888888898c8f949ea1a9b3bec9d0c5bbafa49a8c7f7366594c402e23180c0000000005111d2935414c56606d78828f97a1aab4bcc4c7bfb7afa8a19e98928f8d8c8b8b8c8e9093999ea0a8aeb4b0a69e938d8074695e52463a2d2014070000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382f2f2f2f302e3439424d576673808d99a6b3c0cccabfb4aa998c807366594d4033261a0d0000000f1b2835424e5b6875818e9ba8b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b1a4978a7e7164574b3e3124180b000815212e3b4854616e7b8794a1aeb3b3b3b3b3a79b8e8174685b4e41352f3e4754606a75818e99a3aeb3b3b3b3b3b3afa296897c6f6356493c30231609000815212e3b4854616e7b8794a1aeb3b3b3b3b3a79a8d8174675a4e4134271b2835424e5b6875818e9ba8b3b3b3b3b3ada194877a6e6154473b2e2114080000000000010b17232e38424d57606b707d8692979ea6acb2b8bcc2c5c2bfbab8b7b9babfc3c5c2bcb7b1aca59d9590857c6e695f554b40352b1e150a000000000006121f2b3844505b667986939facb9c6cfc2b5a99c8f8276695c4f43414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b4753606d7a8699a4afbbc7cfc2b5a89c8f8275695c4f4236291c0f0000000000000000000000000000000007121f2b3744505b6573808c9aa4afbbc8c3b6aa9d908377707d8a98a2aebac6c5b8ac9f92867a6d6054473b3121140a0000000000000000000000000000000000000000000000000000000000000c18232f45525f6b7885929eabb8c5d1c6baaea29886796c605346392d2013192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e52453a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000816222f3c4955626f7c889aa4afbbc8d2c5b9ac9f9286796d6053463a2d20130e1a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e020000000000000000000a1724303d4a5763707d8a99a3afbbc7d2c5b9aca196877a6e6154473b3025190d0200000000000714212d3a4754606d7a86939facb9c6d2c8bbafa49a8a7e7164574a3e3124170600000000000000000000000002020202020202020205121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170a0202020202020202020101000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9ccbfb2a6998c7f7b7b7b7b7b7b7b7b7b7b7c7d7f82899297a1adb9c3ceccc0b6ac9c90837669544b4034281c10040000000713202d3946525e68727f8b949fa9b3bcc5c8bfb5ada59d96918b8683807f7e7e7f8183868b91969fa3aaa79f948f81786c60574d42362a1e12050000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b2222222323282f3f4c5865727f8b98a5b2becbd0c2b5a89b8f8275685c4f4235291c0f0200000f1b2835424e5b6875818e9ba6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a4978a7e7164574b3e3124180b000815212e3b4854616e7b8794a1a6a6a6a6a6a6a69b8e8174685b4e41352b37434e58616e7b86929faaa6a6a6a6a6a6a6a296897c6f6356493c30231609000815212e3b4854616e7b8794a1a6a6a6a6a6a6a69a8d8174675a4e4134271b2835424e5b6875818e9ba6a6a6a6a6a6a6a194877a6e6154473b2e21140800000000000006111c26303b454f59606b707d858f949ea1a8acb1b6b8babebdbebebebdbeb9b8b5b0aba7a09d938e837b6e6a5f574d43392f231a0c030000000000030f1c28333f4a5f6c7985929facb8c5cfc3b6a99c908376695d5043414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b4754616d7a8794a0b5c0cccec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000030f1b27333f4953616e7b87939facb9c6c4b8ab9f95887b75818e9baab4bec9bdb2a89b8e8175675d5145392c201302000000000000000000000000000000000000000000000000000000000000071e2b3845515e6b7884919eabb7c4d1cabfb4aa93877a6d6054473a2d2114192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382d2d2d2d2d2d2d2d2d2d2d2d2d323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000714202d3a4753606d7a86939facb9c6d2c7baaea399887b6f6255483c2f22150e1a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e020000000000000000000714212d3a4754606d7a86929facb9c5d2c9bdb2a8978b7e7164564c4135291e13080000000008111d2935414b5564717d8a99a4afbbc7d2c6b9ac9f93877a6d6154473a2e2114070000000000000000020608080f0f0f0f0f0f0f0f0f0f121f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d3023170f0f0f0f0f0f0f0f0f0f0e0d0b0803000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e726e6e6e6e6e6e6e6e6e6f7072767d85929ea7b1bcc8d2c5b8ab9e928578665c5145382c1f1306000004101d2935404b55616d7a85929fa6b0bbc5cbc0b6ada39b938e847f7976737271717274777a7f848c9298a1a0959082796d665b50453b30251a0e020000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f1c1c1a1e25323f4b5865727e8b98a5b1becbcfc2b6a99c8f8376695c504336291d100300000f1b2835424e5b6875818e9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a978a7e7164574b3e3124180b000815212e3b4854616e7b87949a9a9a9a9a9a9a9a9a8e8174685b4e413527323d46535f6974808d989a9a9a9a9a9a9a9a9a96897c6f6356493c30231609000815212e3b4854616e7b87949a9a9a9a9a9a9a9a9a8d8174675a4e4134271b2835424e5b6875818e9a9a9a9a9a9a9a9a9a94877a6e6154473b2e211408000000000000000a141e29333d474f59606b6f7a828b91969da0a7a9abadb3b0b1b1b1b0b3adaba8a69f9c95908981796e695f584e453b31281d1108000000000000000b17222d45525f6b7885929eabb8c5d0c4b7aa9d9184776a554b41414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b4854616e7b8794a1aebad2cdc1b4a79a8e8174675b4e4134281b0e00000000000000000000000000000000000b17222d3846535f697683909caab4bfc8bcb1a7998c7f7985929facb8c5c5b9aca196897d7063554b4135291d1104000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0d0baada194877a6e6154473b2e211c1c2633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b212121212121212121212125323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000613202c3945515d677884919eabb7c4d1cbbfb4ab978a7d7164574a3e3124170e1a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e020000000000000000000613202c3945515d677683909ca9b6c3cdcec2b5a89b8f8275685e52463a302419110a070709101a232c3945515d6775818e9babb5c0ccd0c3b7aa9d908377685e5246392d20130700000000000003090f1214151c1c1c1c1c1c1c1c1c1c1c1f2b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d30231c1c1c1c1c1c1c1c1c1c1c1b1a18140f080100000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e726562626262626262626263656b707d8995a0acb8c5d1c6b9ada29786796d6053463a2d201307000006131f2c3845515d6773808c97a2adb8c2cdc3b9aea49b918c8179726d67666564656667686d72797f8691969691837a6d675c544a3f33291f1409000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b292929252a2d333f495366737f8c99a6b2bfccd0c3b6aa9d9083776a5d5044372a1d110400000f1b2835424e5b6875818d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8a7e7164574b3e3124180b000815212e3b4854616e7b878d8d8d8d8d8d8d8d8d8d8d8174685b4e4135282b37424d57616d7a868d8d8d8d8d8d8d8d8d8d8d897c6f6356493c30231609000815212e3b4854616e7b878d8d8d8d8d8d8d8d8d8d8d8074675a4e4134271b2835424e5b6875818d8d8d8d8d8d8d8d8d8d8d877a6e6154473b2e21140800000000000000020c17212b353d474f5960686e767e848b9195999c9fa2a9a3a4a5a4a4a9a29e9c9894908a837d746d675e574e463c33291f160c0000000000000000061e2b3744515e6a7784919daab7c4d0c5b8ab9e928578675d5145414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483c4956626f7c8995a2afbcc8ccc0b3a6998d8073665a4d4033271a0d000000000000000000000000000000000006111b2a36424d5765717e8b98a2aebac6c3b6aa9d90837e8a98a2aebac6c4b7ab9e9184786c6053463a2f24180d01000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c7bbaea194887b6e6155483b2e2929292933404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f1414141414141414141825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000004101d2935404b556976828f9ca9b5c2cfd1bfb2a5998c7f7266594c3f3326190e1a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e0200000000000000000004111d2935414b556673808c99a7b1bcc8d2c5b9ac9f92867a6d61564c413529231b151414151a222935414b55606d7a86929facb8c5d2c8bdb2a89a8d807367564c41362a1d11050000000000060e151a1f21222929292929292929292929292b3845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d30292929292929292929292929282724201a130b02000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e72655855555555555555555659606b7784909daab7c3d0c7bbafa399877a6d6054473a2d21140700000714202d3a4753606d7985929ea9b3becac8bcb1a79d928c7f746d67605d5559585859565e61666d727c849191847b6e685d554b42382d21170d03000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245383535353630363a3d44505b6574818e9ba7b4c1cecfc3b6a99c908376695d5043362a1d100300000b1824313e4b5764717e8080808080808080808080808080808080808080808080808080808080808080808080808080808080807c6f6255493c2f221609000714212d3a4754606d7a8080808080808080808080807e7164574a3e312426313c46525e68717e8080808080808080808080807b6e6154483b2e211508000714212d3a4754606d7a8080808080808080808080807e7064574a3d31241824313e4b5764717e808080808080808080808080796d6054473a2d2114070000000000000000050f19232c353d474f565e616c71797e84888c8f92979697979897979697928f8c88837e78706b605d554d453c342a21170d040000000000000003101d2a3643505d697683909ca9b6c3cfc6b9ada297877a6d605447414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483e4b5764717e8a97a4b1bdcacbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000e1a26313b4754606d7a86929facb8c4c4b8ab9f959083909daab4bfc7bcb0a6998c8073655b504437281d130700000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc8bbafa295887c6f6255493c353535353535404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12070707070707070b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000010d18242f414e5a6774818d9aa7b4c0cdcdc1b4a79a8e8174675b4e4134281b071a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e02000000000000000000010d18242f3c4955626f7c8895a0acb8c5d0c7baaea3998c7f73685d52453e352b2621212121262b343d45515d67727f8c98a2aebac6d1c5b8aca096897c6f6356493c3025190d0100000000060f1820262b2e2f353535353535353535353535353845525e6b7885919eabb8c4d1c9bcb0a396897d7063564a3d353535353535353535353535353433302b251d140b010000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584b484848484848494a4f596875828e9ba8b5c1cec5b9ac9f9286796c605346392d2013060003101c28343f4a5464717e8a97a1adbbc5cfc5b8aca0958d80736d605d55514b4c4b4b4c4c52545c606a6f7b84857c6f695e564c43392f261f170f05000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e52454242424242434246484f57606c7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0300000a1723303d4955616c717373737373737373737373737373737373737373737373737373737373737373737373737373737373736f6a5f53473b2e211508000713202c3945525d686d737373737373737373737373716c6155493d30231f2a36414c56616c717373737373737373737373736e695e53463a2d211407000713202c3945525d686d737373737373737373737373706c6155493c30231723303d4955616c717373737373737373737373736d675d5145392c20130600000000000000000007111a232c353d444d525a62666d71777b7f838587898a8b8b8b8a898785827f7b76716d666059514b433b332a22180f060000000000000000020e1b2835414e5b6874818e9ba7b4c1cecabeb3a995887c6f625549414e5a6774818d9aa7b4c0cdc7baaea194877b6e615448404b5566737f8c99a6b2bfcccbbfb4aa968a7d7063574a3d3024170a0000000000000000000000000000000000000914202c3945515d6775818e9ba8b2bdc8bcb1a79f9590959fabbcc6c4b7ab9f94887b6e6153493f3327160c0100000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfc9bcafa296897c6f63564942424242424242424c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000007192633404c5966737f8c99a6b2bfcccfc2b6a99c8f8376695c50432f23180c1a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e02000000000000000000000715222e3b4754606a7783909daab4bfcacbbfb4ab9e92857a6d605a50473e37312e2d2d2e31373e474f59606d7a85919eaab4bfcacbbfb4ab9d9184776b6054483b2f1e130800000000030e18212a31373a3b424242424242424242424242424245525e6b7885919eabb8c4d1c9bcb0a396897d7063564a424242424242424242424242424241403c362f261d13080000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584b4a4a4a4a4a4a4a49505a6875828f9ba8b5c2cdc4b7ab9e918478655b5044372b1f12050006121f2b3844505c6675828e9ba9b3becdc8bdb2a89d9183786d605b514b45403f3e3e3f41464a51585f696e7b7c6f6a5f574d443b3a36302921170d020000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e524f4f4f4f4f4f504d5254596069717e8b97a1adb9c6d2cdc0b3a79a8d8074675a4d4134271a0e0100000814212d3945505a6164676767676767676767676767676767676767676767676767676767676767676767676767676767676767625f584e43372b1f13060004111d2935414c565d6067676767676767676767676764615a5045392d211925303a44505a6164676767676767676767676767615e574d42362a1e12050004111d2935414c565d6067676767676767676767676764615a5044392d2014212d3945505a6164676767676767676767676767605d554b4135291d11040000000000000000000008111a232b323b414650545c60656a6e7376787b7c7d7e7e7e7d7c7b7875726e6964605c544f454039312921180f06000000000000000000000d192633404c5966737f8c99a6b2bfcfcfbeb1a4988b7e7165544b404e5a6774818d9aa7b4c0cdc7baaea194877b6e61544845515c6776828f9ca9b6c2cfc7baaea398887b6e6255483b2f22150800000000000000000000000000000000000004111d2935414b5563707d8996a1adb9c5c3b9b1a79f9d9fa7b1bccabfb4aa9c908376695f5341382d22170b00000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec9bdb0a3968a7d7063574f4f4f4f4f4f4f4f4f4f5966737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad0c4b7aa9d9184776a554b4034291c101a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e020000000000000000000006131f2b37434e5865727e8b98a2aebac5cfc6b9ada1978e81746c61595047433d3b3a3a3b3d42475059616b74808d97a1adbcc6d0c7baaea3998c7f7265594f44382c200c02000000000915202a333c4347484f4f4f4f4f4f4f4f4f4f4f4f4f4f4f525e6b7885919eabb8c4d1c9bcb0a396897d7063564f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4e4c4841382f251a0f0300000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265585656565656565657535b606c7884919eabb7c4c5bbb0a69a8e81746753493f33271b0f03000713202d3a4653606d7985929facb8c5cfc5b9aca096897d70665c514b4b4b4b4b4b4b4b4b4b4b4b4e575f6a6e6f6b60584e4b4b4846423b33291f14090000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5c5c5c5c5c5c5c5d575e61656b707b85919ea9b3bec9d5c9bdb2a8988b7e7265584b3f3225180c00000005111d28343e485055575a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a55534e463c32261b0f0300010d1924303a444c52545a5a5a5a5a5a5a5a5a5a5a5a575550483e33281d131e29323e485055575a5a5a5a5a5a5a5a5a5a5a5a54534d453b31251a0e0200010d1924303a444c52545a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c111d28343e485055575a5a5a5a5a5a5a5a5a5a5a5a54514b433a2f24180d010000000000000000000000081019202930363f424a5153585f626669696e7070717271716f6e696965615f5753504a423d352f281f170f0600000000000000000000000b1724313e4a5764717d8a97a8b2bdc9cec1b4a89b8e8175665c51454e5a6774818d9aa7b4c0cdc7baaea194877b6e6154484753606d7986929facb8c5d2c5b9ac9f9286796d6053463a2d201307000000000000000000000000000000000000010d18242f3a4653606c7884919eabb7c2cbc2b9b1aba9abb1b9c2c6baaea2988b7e7165574d422f261b110600000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cecabdb0a4978a7d71645c5c5c5c5c5c5c5c5c5c5c5c66737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d2c5b8ab9f928578675c5145382c1f131a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e0200000000000000000000030f1b27323c4754606d7a85929fa9b3bec9cabeb3a99d928a7e716b625a534e4948474748494e535a616b707d88939fa9b3bececabeb3a99f92867a6d6154473d32271b0f00000000020f1a26313c464e53555c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5e6b7885919eabb8c4d1c9bcb0a396897d70635c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5b58534a41362b20140800000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e726563636363636363636365656c717e8b96a1adb9c3bbb3a99f94897d706356493d2d22170b00000916222f3c4955626f7c8898a2aebac6d1c4b7aa9e9184786c6054575757575757575757575757575757575f626360595757575754524d453b30251a0e0200000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b6868686868686869696a696e71767d849197a1adbbc4cfd2c5b9aca196887b6f6255483c2f221509000000000c17222c363e45494b4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4947433c342a20150a00000008131e28323a4145474d4d4d4d4d4d4d4d4d4d4d4d4a49453e362c22170d17202c363e45494a4d4d4d4d4d4d4d4d4d4d4d4d4846423b33291f140900000008131e28323a4145474d4d4d4d4d4d4d4d4d4d4d4d4a49443e362c22170c17222c363e45494b4d4d4d4d4d4d4d4d4d4d4d4d4745413a31281d130700000000000000000000000000070e171f252a30394044464e535559575e6163646465646463615e575955534d46443f383029241d160d050000000000000000000000000815212e3b4854616e7b8796a1adb9c5d1c5b8ab9e9285796d60554b4e5a6774818d9aa7b4c0cdc7baaea194877b6e6154484f5964707d8a98a3aebac7d0c3b6a99d908376665c5144382c1f12060000000000000000000000000000000000000007131f2b3844505b6673808d99a7b1bcc7cbc2bcb8b6b8bcc2cbc5b8ac9f92867a6d6054473c3121140a0000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdcbbeb1a4988b7e716868686868686868686868686868737f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000915222f3c4855626f7b8895a2aebbd0d3c6baada297867a6d6053473a2d20141a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e0200000000000000000000000a15202c3945515d6773808d97a1adb9c3cec5bbafa59f92867d716c625f58565454545456575f626c717d86929aa4afbbc4cec6baada2978d8074685e5246392b21160b0000000006121f2b37434e585f6268686868686868686868686868686868686b7885919eabb8c4d1c9bcb0a396897d70686868686868686868686868686868686867645c53483c3024180b00000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e72707070707070707070707174787e86929fa8b2bdbab1a9a1978f82766b6054483c2f1b110600000b1825323e4b5865717e8b98aab4bfcaccbfb3a6998c807365646464646464646464646464646464646464646464646464646464615e574d42362a1e120500000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9184787575757575757575757677787b7e82899196a1a9b2becdd6cabfb4aa9e9184786a5f53473a2e2115080000000006101a242c34393d3e4040404040404040404040404040404040404040404040404040404040404040404040404040404040403c3b37322a22180e04000000020c1620283035393a4040404040404040404040403e3d39332c241a10050e1a242c33393c3e4040404040404040404040403b3a36312921170d03000000020c1620283035393a4040404040404040404040403d3c39332c231a1006101a242c34393d3e4040404040404040404040403a39352f281f160c010000000000000000000000000000050d14191e272e34383c4347484c4d53545657585858575654524d4c4846423b38342e261e18120c04000000000000000000000000000714202d3a46525e697884919eabb8c4cfc6b9ada2978a7e71675c51495a6774818d9aa7b4c0cdc7baaea194877b6e61544d56606b7683909caab4bfcbcbbfb4aa9a8d807467544a4034281c100400000000000000000000000000000000000000030f1c28333f4a54626e7b88959fabb8c6d0cdc8c4c3c4c8cdc9bdb2a89b8e8175675d5145392c2013020000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdcbbeb2a5988b7f757575757575757575757575757575757f8c99a6b2bfcccfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000814212e3b4754616e7a8794aab4bfcad6cabeb3a994877b6e6154483b2e21151a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e02000000000000000000000004111d2935414b55606d7a85929ea7b1bcc5cdc0baaea29892867e756f6a66636160606163656a6e757e869298a2acb6c0cdc6bcb1a79f92857a6d61564c41362a190f04000000000814212e3a47535f6a6e7575757575757575757575757575757575757885919eabb8c4d1c9bcb0a396897d757575757575757575757575757575757575746e64584c4033271a0d00000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cdc0b3a79a8d807d7d7d7d7d7d7d7d7d7d7d7e80848b9298a3aeb9b3ada7a09792857b6e61594f44382c200a0000000d1a2734404d5a6773808d9aa6b3c0d0c9bcb0a396897d71717171717171717171717171717171717171717171717171717171716e695e52463a2d20140700000000000000000000000a1723303d4a5663707d8996a3b0bcc9d2c5b8ac9f928682828282828282828282838385878b8f949ea1a8b2bbc4cfccc4baaea2988c807366584e43372b1f1206000000000008121a22282d30313434343434343434343434343434343434343434343434343434343434343434343434343434343434342f2e2b26201810060000000000040e161e24292c2d34343434343434343434343431302d28221a12080008121a22282d30313434343434343434343434342e2d2a251f170f050000000000040e161e24292c2d34343434343434343434343431302d28221a11080008121a22282d30313434343434343434343434342d2c29241d160d040000000000000000000000000000000002080c151c23282c31373a3b40424648494a4b4b4b4a494746423f3b3a36312b28231c140c0701000000000000000000000000000005121e2a36424d576874818e9ba9b3becacabeb3a99d9184796d605b535a6774818d9aa7b4c0cdc7baaea194877b6e6154575e68707d89949fabbcc6d0c7baaea3988a7d7063574a3d2e23180c0000000000000000000000000000000000000000000b17222d3847535f697683909daab4bfcbd6d4d1d0d1d4d2c5b9ada196897d7063554c4135291d11040000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd0c3b7aa9d90838282828282828282828282828282828283919daab7c4d0cfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000713202d3a4653606d798698a2aebac7d3cfbbafa295887c6f6255493c2f22161a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e020000000000000000000000010d18242f3a45515d67727f8b95a0aab3becacabfb4aaa298928b827c7672706e6d6d6e7072767b828a9298a2aab4bec7cabfb4aaa0958c7f72685e52443a3025190700000000000815222f3b4855626e7c8282828282828282828282828282828282828286929facb9c5d2d0c3b6a99d90838282828282828282828282828282828282828174675b4e4134281b0e00000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cec1b5a99d928d898989898989898989898a8b8d91969fa3aaaeaca9a29f9590857c6f695e53473d33271c100000000f1c2835424f5b6875828e9ba8b5c1cecbbeb2a5988b7f7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7b6e6154483b2e21150800000000000000000000000a1723303d4a5663707d8996a3b0bcc9d3c7baaea398928f8f8f8f8f8f8f8f8f8f90909298989c9fa6adb2bac4cdccc3bab1a79f92867a6e6154473c31261b0f030000000000000810171d21232427272727272727272727272727272727272727272727272727272727272727272727272727272727272722211f1b150e0600000000000000040c13191d20212727272727272727272727272423211d1710080000000810171c21232427272727272727272727272721211e1a140d0500000000000000040c13191d20212727272727272727272727272423201c1710080000000810171d21232427272727272727272727272721201d18130c0400000000000000000000000000000000000000030b12181c1f262b2e2f31363a3b3d3d3e3f3e3e3c3b3a36302e2d2a261f1c17110a0200000000000000000000000000000000020e1a25303d4a5764707d8a97a2adbac7cfc5b8aca0958d80746c65605c6774818d9aa7b4c0cdc7baaea194877b6e615e61696e7a84919ea6b0bcced2c5b8ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000006111c2b37424d5765727e8b98a3aebac7d3e0dddcddded1c4b7ab9e9184786c6053463a2f24190d010000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd1c5b8aca095908f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f9195a0acb8c5d1cfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000006131f2c3845515c677985929facb8c5d2c9bcafa396897c706356493d3023161a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e0200000000000000000000000007131d2935414c55606d78839098a2aebabfc8c6bcb4aaa39f948f88837f7d7b7a7a7b7c7f83878f939fa2aab4bcc5c8c0baaea2989183796d60564c4132281e13080000000000091623303c4956636f7c898f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f9298a3aebac7d3d1c4b7ab9f95908f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f84786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c5b9aea49d9a9696969696969696969696989a9ea0a8aeaaa39f9c97928b837b6f6a60574d42352b21160b000000101d293643505c6976838f9ca9b6c2cfccc0b3a79b918b8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7d7064574a3d3124170a00000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6cbbfb4aaa39f9b9b9b9b9b9b9b9b9b9c9c9d9fa2aaa9abb0b9bdc4ccc9c1bab2a89f958c7f73685e5246392a20150a0000000000000000060c111417181a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1615130f0a0400000000000000000002080d1113141a1a1a1a1a1a1a1a1a1a1a1a171714110c050000000000050c111417171a1a1a1a1a1a1a1a1a1a1a1a1514120e090300000000000000000002080d1113141a1a1a1a1a1a1a1a1a1a1a1a171614100b050000000000060c111417181a1a1a1a1a1a1a1a1a1a1a1a1413110d070100000000000000000000000000000000000000000000070c10151a1f2122252a2d2e303131323131302e2d2a2522211e1a14100b06000000000000000000000000000000000000000914202d3a4753606d7985929fabb5c0cbc8bdb1a89d928c8077706d676674818d9aa7b4c0cdc7baaea194877b6e6b686e727b839096a1adb8c2cdc8bcb1a79b8e8175675d5145392c1f1306000000000000000000000000000000000000000000000e1a26313c4754606d7a86929facb8c4cfdae6e9e0d3c7bcb0a6998d8073665b504438281e1308000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd4c8bcb1a7a09d9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9da0a7b1bcc8d4cfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000004101c2834404b556b7885919eabb8c4d1cabdb0a3978a7d7064574a3d3124171a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e02000000000000000000000000010d19242f3a44505c666e7b85929fa4aeb6bfcac6bcb4aea69e9c94908c8987878787898c8f939a9ea5aeb4bcc5cac0b6aea49f92867c6f675c51443a3020160c020000000000091623303c4956636f7c89969b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9fa3aab4bfcbd7d3c7bcb1a79f9d9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9184786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6cbc0b6aea9a7a3a3a3a3a3a3a3a3a3a3a3a4a7aaacb0a69f98928f8b857f786e6960584e453b3123190f05000000101d2a3743505d6a7683909da9b6c3d0cfc3b8ada39b98979797979797979797979797979797979797979797979797979797978a7d7064574a3d3124170a00000000000000000000000a1723303d4a5663707d8996a3b0bcc9dcd0c6bcb4aeaca8a8a8a8a8a8a8a8a8a8a9aaabaeb3b6b7bbc2c9c8c4bdb9b0a8a0969083786d60564c41362a180e030000000000000000000005080a0b0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0908060300000000000000000000000000010407070d0d0d0d0d0d0d0d0d0d0d0d0b0a080500000000000000000005080a0b0d0d0d0d0d0d0d0d0d0d0d0d0807050200000000000000000000000000010407070d0d0d0d0d0d0d0d0d0d0d0d0a0a080400000000000000000005080a0b0d0d0d0d0d0d0d0d0d0d0d0d070604010000000000000000000000000000000000000000000000000000040a0f1214151a1e21212324252525242321201e1a1514120e090300000000000000000000000000000000000000000006131f2c3845515c6774808d99a3afbbc5cec3baaea49c928c827d79787879818e9ba8b4c1cec8bbaea295887c7878797a7f859095a0a9b2bdcbcfc6b8aca095897d7063554b4035291d1004000000000000000000000000000000000000000000000915202c3945525d6875818e9ba9b2bec9d5dfdfdfd0c4b7ab9f94887b6e61544a3f3328160c01000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd9cec3b9b1acaaa8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8aaacb1b9c3ced9cfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000c18232e44515e6a7784919daab7c4d0cbbeb1a4988b7e7165584b3e3225181a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e020000000000000000000000000008131e28343f4a545f69717e8a929ca4aebabec5c6bfbab0aaa69f9c99969493939496989c9fa4acafbabfc6c5bfbaaea49d928b7e716a5f554b4032281e0e05000000000000091623303c4956636f7c8996a2a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8acaeb4bcc6d1dcd8cdc2b9b1aba9a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89e9184786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d2c8c0b9b5b3b0b0b0b0b0b0b0b0b0b0b0b1b3b7b7ab9f949086827e79726d665f574e463d33291f110700000000111e2a3744515d6a7784909daab7c3d0d4c9bfb5ada7a5a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a3978a7d7064574a3d3124170a00000000000000000000000a1723303d4a5663707d8996a3b0bcc9d2d2cec6bfbab8b5b5b5b5b5b5b5b5b5b5b6b6b8babec2c3c8c6c3bcb8b2ada69e9691847b6e665c50443b30251906000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020608090e121415161718181817161414110e09070502000000000000000000000000000000000000000000000004101c2934404b55616e7b87929faab4bfcaccc0b6aea49c948f8a868585868e939eaab6c2cfc9bdb0a4988e88858485878c9297a0a7b1bbc4cfc6bdb1a79d9184786c605346392f24180c000000000000000000000000000000000000000000000004111d2935414c5663707d8a97a1adb9c6d2d2d2d2cabfb4aa9c908376695f5342382d22170b00000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd2d2cbc3bcb8b7b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b7b8bcc3ccd2d2cfc2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000071d2a3643505d697683909ca9b6c3cfcbbfb2a5988c7f7265594c3f3226191a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e0200000000000000000000000000010c17232e38424d57616c73808d929ca4adb3bbc2c9c1bbb7b0aba9a5a3a1a0a0a1a3a5a9acafb6bec1c9c3bcb4aea49d928d80746c62584e43392e20160c00000000000000091623303c4956636f7c8996a2afb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b9babfc6cfd2d2d2d2cbc2bcb7b6b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5ab9e9184786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d2c8c0b9b5b3afafafafafafafafb0b2b4b8babeb6a99c90837b76716d67605c544d453d342b21170d0000000000111e2a3744515d6a7784909daab7c3d0ddd0c7bfb8b3b2b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b0a3978a7d7064574a3d3124170a00000000000000000000000a1723303d4a5663707d8996a3b0bcc5c5c5c5c5c5c5c5c2c2c2c2c2c2c2c2c2c2c3c3c4c3c2c0c0bbb9b7b1aca8a19e938f847b6e695e544a3f32291e140800000000000000000000000407090a1313131313131313131313130c0b090501000003080b0e0e13131313131313130a09070400000002070a0c0d1313131313131313131313130908060300000000000000000000000002070c0f11121313131312110f0c0908060300000000000000000000000000000002060a0c0c1313131313131313131313130909070300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0b0c0b0b0908070502000000000000000000000000000000000000000000000000000000000c18232f3947535f6974818e98a2aebac1cbc8bfb6aea69f9c9a93919192999ea5afbac6d2ccc0b5aaa0989892919298999ea1a9b1b9c3cdcbbfb4ab9f958a7e71655b5044372b1d12070000000000000000000000000000000000000000000000010d19242f3a4653606d7984919eabb8c3c5c5c5c5c5baaea2988b7e7165574d422f261c110600000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdc5c5c5c5c5c5c5c3c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c4c5c5c5c5c5c5c5c2b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0bcc5c5c4b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1bec5c5c3b6a99d9083766a5d5043372a1d100000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfccbfb3a6998c807366594d4033261a1a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e02000000000000000000000000000006111c26303b45505a636e73808c929fa2a9b0b9bdc4c7c2bcb7b6b2afaeadadaeafb2b6b9bbc0c7c4bdb9b1aaa29f928d80746e645a50463c30271d0e0400000000000000091623303c4956636f7c8996a2afbcc2c2c2c2c2c2c2c2c2c2c2c2c2c2c5c5c5c5c5c5c5c5c5c5c5c5c5c3c2c2c2c2c2c2c2c2c2c2c2c2c2c2b7ab9e9184786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6cac0b6aea9a6a3a3a3a3a3a3a3a3a3a5a8abadb3b7ab9f949087817b726d605b544a3f332822190f050000000000111d2a3744505d6a7783909daab6c3d0ddd1c7bfb8b4b2b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b1b3b7bdbdbdbdbdbdb0a3978a7d7064574a3d3124170a00000000000000000000000a1723303d4a5663707d8996a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b8b8b7b6b5b3b6afacaaa7a09d96918a827a6e695f564d42382e20170d02000000000000000000050b10141617202020202020202020202020181815110c06090f14181a1b2020202020202020171614100b05070e1317191a2020202020202020202020201615130f0a04000000000000000000050d13181c1e1f202020201f1e1c191615130f0a04000000000000000000000000070d121618192020202020202020202020201615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37424d57616e7b86929fa5afb9c3cbc8bfb8b0abaca49f9e9e9fa3abafb7c1cbd7d1c6bcb2aaaaa29f9e9fa2aaabadb3bbc3cbcbc0baaea3999083786c6053493f33271b0b0100000000000000000000000000000000000000000000000008131f2b3844505c6673808d9aa7b1b9b9b9b9b9b9b8ac9f92867a6d6054473c3121140a0000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b6a99c8f8376695c504336291d10000a1723303d4a5663707d8996a3b0b9b9b9b9b8ab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4b1b9b9b9b9b6a99d9083766a5d5043372a1d100000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cecdc0b4a79a8d8174675a4e4134271b1a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e020000000000000000000000000000000a151e2a333e48525c636e73808a92979fa6acb2b9bdc3c5c4c3bfbcbababababcbfc2c6c6c4bdb9b2ada79f98928b80746e645c52483e342a1e150b0000000000000000091623303c4956636f7c8996a2afb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b7ab9e9184786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c5b9aea49d9a969696969696969697989b9fa2a9aeb0a69f99938e867f746c665b50443d33271c10040000000000101d293643505c6976838f9ca9b6c2cfd5c9bfb5ada7a5a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a5a7acb5bec9cac9bdb0a3968a7d7063574a3d3024170a00000000000000000000000a1723303d4a5663707d8996a3acacacacacacacacacacacacacacacacacacacacacabaaa9a8a7aca49f9d9995908b847e756d685f574d443b30261c0e050000000000000000000810161c2023232d2d2d2d2d2d2d2d2d2d2d2d2524221d1811131a202427282d2d2d2d2d2d2d2d2423201c161012191f2326262d2d2d2d2d2d2d2d2d2d2d2d22211f1b150e0600000000000000070f171e24282b2c2d2d2d2d2c2b292622211f1b15110c060000000000000000010a12181e2225262d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f07000000000000000000000000000000000000000000000000000000000000020608080b0d0f101111111111100e0d0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000030606090b0c0c0a0706040100000000000000000000000000000000010e1a26313c46525e69727f8b939ea7b1b9c1c8cac2bbb7b6afacababacafb5bdc1c9d3ddd8cec4bcbcb4aeababacaeb4b8b9bec5cdc6bfbaaea49f92867c6f655b5041382d22170b0000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8895a0acacacacacacacaca89b8e8175675d5145392c2013020000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca99c8f8376695c504336291d10000a1723303d4a5663707d8996a3acacacacacacab9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b98a4acacacacacaca99d9083766a5d5043372a1d100000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdcec1b4a89b8e8175685b4e4235281b1a2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e02000000000000000000000000000000030c18212c36404a525c636e737e8590949ea1a8acb2b7b9bdbfc1c2c3c3c3c3c2c1bfbeb9b8b2aca8a19e9590867e736e645c524a40362d22180c030000000000000000091623303c4956636f7c8996a2acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacab9e9184786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cec1b5a99d928d89898989898989898a8b8e92979da4aeb0aba49f99928c81786c60594f44382c20150a00000000000f1c2936424f5c6975828f9ca8b5c2cfd0c4b8ada39c9996969696969696969696969696969696989ba3acb7c3cfc9bcafa396897c706356493d3023160a00000000000000000000000a1723303d4a5663707d89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9e9e9d9c9a989a93908d89847e79716c605d564d453b32291e150a00000000000000000008111a21272c2f3039393939393939393939393932312e29231b1d252b3033353939393939393939302f2c28211a1c242a2f32333939393939393939393939392f2e2b26201810060000000000050f1921292f34373839393939393735332f2e2b26201d170e09030000000000000a131c232a2f3233393939393939393939393939302f2c272119100700000000000000000000000000000000000000000000000000000306090e121415181a1b1d1d1e1e1e1d1c1b1a171514120e0906040000000000000000000000000000000000000000000000000000000000000000060b0f121316181919171413100d070100000000000000000000000000000009151f2a36424d57626d75818f959fa7afb8bdc3c6c7c7c0bbb9b8b8b9bbc0c7cfd3dbe5e0d6cecec5bebab8b7b8babfc5c6c9c5c1bcb4aea49d928b7f726a5f53493f2f261b110600000000000000000000000000000000000000000000000000000b17232e3847535f6a7783909d9f9f9f9f9f9f9f9f9f96897d7063554c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9c8f8376695c504336291d10000a1723303d4a5663707d89969f9f9f9f9f9f9f9f9e9185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b989f9f9f9f9f9f9f9f9d9083766a5d5043372a1d100000000000000000000000000000000d1a2633404d596673808c99a6b3bfcccfc2b5a89c8f8275695c4f4236291c1c2734414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e0200000000000000000000000000000000060f1a242e38404a525b636c717b838b91969ea0a8abadb2b2b4b5b6b7b7b6b5b4b3b2adaba8a19e96918b837b716c645c524a40382f241b1006000000000000000000091623303c4956636f7c89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9e9184786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cdc0b3a69a8d807c7c7c7c7c7c7c7c7d7f81858d929da5afb5afaba39f938d80746b6055483c32271b0f03000000000e1b2835414e5b6874818e9ba7b4c1cecdc0b4a79c918c8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8b919ba7b3bfccc8bcafa295897c6f6256493c2f23160900000000000000000000000a1723303d4a5663707d8992929292929292929292929292929292929292929292929291908f8d8b898683807c77726d67615a524c443b332920170c03000000000000000005101a232c33383c3d4646464646464646464646463f3d3a342d24262f363c404146464646464646463d3c38332c23262e353b3f404646464646464646464646463c3b37322a22180e04000000020d17212b333a404445464646464544423f3c3b37322d28221a140d050000000007121c252e353a3e3f4646464646464646464646463c3b38322b23190f040000000000000000000000000000000000000000000000060b1012131a1e21222526282a2a2b2b2b2a2928262422211e1a1313100c0700000000000000000000000000000000000000000000000000000000020a11171c1f20222526252320201d18120c070100000000000000000000000000030e1a25303b45515b606d798390959ea5acb1b8b9bebebebebdb9b7b3b5b6bbc1cad3dddad0c6beb7b2b1b5b8babebebebdbdb9b7b0aaa39f928d80746d62584e41382d1d140a00000000000000000000000000000000000000000000000000000006111c2b37434e5865727f8b929292929292929292929184786c6053463a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88929292929292929292929292929292929292929292929292929292929292929292929292929292928f8376695c504336291d10000a1723303d4a5663707d89929292929292929292929185786b5e5245382b1f12050000000000000b1825323e4b5865717e8b929292929292929292929083766a5d5043372a1d100000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a29292934414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e02000000000000000000000000000000000008121c262e384049525a61696e787e848b91969a9ea1a8a6a8a8a9aaaaa9a8a8a6a9a19e9a96918c847e786e69615a524a40382f261d120900000000000000000000091623303c4956636f7d89929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929184786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e72707070707070707072757a808d939ea9b6bbb4aea59d92897d7063584e43372b1f1306000000000c1926333f4c5966727f8c99a5b2bfcfccbfb2a5998c7f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7f8b98a5b1becbc9bdb2a994877b6e6154483b2e21150800000000000000000000000a1723303d4a5663707d87868686868686868686868686868686868686868686868585848382807f7c7a77736f6a65605c555045413a322921170e050000000000000000000b16212c353d44484a5353535353535353535353534b4a453f372d2f3941484c4e53535353535353534a48443e352c2e3840474b4d5353535353535353535353534947433c342a20150a00000007131e29333d454c50525353535352514f4c4947433c39332a251f170f070000020d18232e373f464b4c5353535353535353535353534948433d352b21160a000000000000000000000000000000000000000001070d11171c1f20262b2e2f313335363737383737363533312e2d2b26201f1c18120e0903000000000000000000000000000000000000000000000000090b141c22282b2d2f323332302d2c29241d18120b030000000000000000000000000009141f29333f45515d676d7a838e939da0a8abadb3b1b1b1b2acaaa6a8aaafb8c1ccd7d4c8beb4aca6a4a8abaeb3b1b1b1b2acaaa69e98928b80776c605b51463c2f261b0b02000000000000000000000000000000000000000000000000000000000f1b26313c4754616d7a8686868686868686868686868073665b504438281e1308000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8786868686868686868686868686868686868686868686868686868686868686868686868686868686868276695c504336291d10000a1723303d4a5663707d87868686868686868686868684786b5e5145382b1e12050000000000000b1825323e4b5865717e8786868686868686868686868276695d5043362a1d100000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad0c4b7aa9d9184776a5e51442f3535353535414d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e020000000000000000000000000000000000000a141c262e37404850575e666d71797f84888d919696999b9c9c9d9d9c9c9b999797918d89847f79716d665f57504840382f261d140b0000000000000000000000091623303c4956636f7d87868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868684776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e72656363636363636465676d74818e9ba7b4c1bfbaaea49d9083776a6054473b2e221508000000000a1724313d4a5764707d8a97a9b2bdc9cbbeb1a5988b7e727070707070707070707070707070707b8895a2aebbc8c5b9ada19686796d6053463a2d20130700000000000000000000000916222f3c4854606b70797979797979797979797979797979797979797979797979787776757472706d676662605853514b433e352f2820170f0600000000000000000004101c27333d474f5556606060606060606060606060585651493f3431414b53595b606060606060606057554f473e3335404a52575960606060606060606060606055534e463c32261b0f0300000c18242f3a454f575c5f606060605f5e5c5955534e49453e363129211910070006121e2a353f4951575960606060606060606060606056544f473d32271b0f03000000000000000000000000000000000000060b12181c23282b2d31373a3b3e40424344444444444341403e3b3a37312d2c28231d1a140d08020000000000000000000000000000000000000000020b121a1d262d3338393c3e3f3f3d3a39352f29241d150d05000000000000000000000000020d17212935414c555d686d79818a91959b9ea2a9a4a5a4a8a09e999b9ea5afbbc6d2cfc3b7aca29b979b9fa2aaa4a4a4a8a09e9a948f867f746c655b50493f342a1d140a00000000000000000000000000000000000000000000000000000000000a15202d3946525e686d797979797979797979797979736e63544a3f3328160c01000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a6e7979797979797979797979797979797979797979797979797979797979797979797979797979797979797670665a4e4235281c0f000916222f3c4854606b707979797979797979797979797872685c5043372a1d11040000000000000b1724303d4956626c717979797979797979797979797670665a4e4235291c0f0000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad1c4b8ab9e9185786b554b40424242424242424d5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e02000000000000000000000000000000000000010a141c252e363e454d545c60666d72777c8084878a8c8e8f909090908f8e8c8a8785807c78726d67605c544d453e362e261d140b0200000000000000000000000915222f3b4854606b6f7979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797772675c4f43372a1d1100000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e726558565656565657555d626f7c8895a2afbbcbc0b8aba095887c6f6255493c2f221609000000000815222f3b4855626e7b8896a1adb9c5cdc1b4a79a8e81746663636363636363636363636363707d8996a3b0bcc9c4b8ab9e918578675c5145382c1f130600000000000000000000000714202c38444f5960636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6a69676563605d5556544e464540393029241e160d06000000000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c65625b51453a3a43535d64686c6c6c6c6c6c6c6c6361594f44383b47525c63666c6c6c6c6c6c6c6c6c6c6c6c625f584e43372b1f130600030f1c2834404c5761686b6c6c6c6c6c6a6866625f58555046423b332b22190f060a16222f3a46515b63666c6c6c6c6c6c6c6c6c6c6c6c6360594f43382c1f130700000000000000000000000000000000020a11171d24292e34383a3d4247484b4d4e5050515151504f4e4d4a4846423e3a38342e2a251f19130c04000000000000000000000000000000000000010b141d242c2f383f4446494b4c4c4a47454039352f271f170e05000000000000000000000000050f19242f3a434c565d676d747d848a8e9297969798979696918d8f939eaab6c3cfcbbfb2a69b908b8e9298979898979696918d88827b726d605b53493f372d22180b02000000000000000000000000000000000000000000000000000000000005111d2a36414c565e616c6c6c6c6c6c6c6c6c6c6c6c66635c5242382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424e575f626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54493e3226190d000714202c38444f5960636c6c6c6c6c6c6c6c6c6c6c6c6b6860564b3f33271b0f020000000000000915212d3945505a62656c6c6c6c6c6c6c6c6c6c6c6c69665e544a3e32261a0d000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d2c5b9ac9f928679675c514f4f4f4f4f4f4f4f4f5a6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e0200000000000000000000000000000000000000010a131c242c333b424a50545c60656a6f73787a7d7f8182838484838281807d7b78746f6a65605c55504a423c332d241c140b0200000000000000000000000007131f2c38434f5960636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6760564b3f33271b0e00000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584b494949494a4b54616d7a8794a0adbac7c8bcb1a7998c7f7266594c3f3326190c000000000814212e3a47535f697884919eabb8c4cfc5b8ab9e9285786c60575757575757575757575565717e8b98a4b1becbc2b5a99c8f827669554b4034281c1004000000000000000000000004101c27333d474f54565f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5e5d5c5a585654514c4947433d38342e271e19130c0400000000000000000000000916232f3c4855616b70797979797979797979797979726d62564a3d414b55646f747979797979797979706b6155483a3f4b57636e73797979797979797979797979766a5f53473b2e2115080005111e2b3744505c68737879797979787775726f6a64615a534d453c342b21180d0c1825323e4b57636d727979797979797979797979796f6b6054483b2f221509000000000000000000000000000000060b141b22272f35383f44464a4d535558595b5d5d5e5e5e5d5c5b595755534d4a46454039363029241e160e07000000000000000000000000000000000009131d262f363e424a5053555859585653514b454039312920170c0200000000000000000000000008131e28313a444c555d606b70787d8185888a8b8b8b89878480818f9ba8b5c2cecabeb1a4978b7e8285888a8b8b8a898784807c756e69625b504941382d251b1006000000000000000000000000000000000000000000000000000000000000010d1925303a444c52545f5f5f5f5f5f5f5f5f5f5f5f5957524a402f261c11060000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c454e53555f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5c5a544c42382d2115090004101c27333d474f54565f5f5f5f5f5f5f5f5f5f5f5f5e5c564e443a2f23170b0000000000000005111d29343f485056585f5f5f5f5f5f5f5f5f5f5f5f5d5a544c43382d22160a0000000000000000000000000000000915222f3c4855626f7b8895a2aebbd1d3c7baaea398867a6d605c5c5c5c5c5c5c5c5c5c5c6774808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e020000000000000000000000000000000000000000010a121a212930383f444b515358606267686e7073757576777776757573706e696762605853514b443f38302a211b120a0200000000000000000000000000030f1b27323d474f54565f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5e5c564e44392e23170b00000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584e4e4e4e4f4d5257616e7b8894a1aebbc7cdc0b4a79a8d8174675a4e4134271b0e0100000006121e2b37424d576874818e9ba9b3becac6b9ada197897d70635a504a4a4a4a4a4a4a515d6775818e9ba8b4c1cbbfb4aa998d8073665a4d402e23180c000000000000000000000000000b16212b353d44484a5353535353535353535353535353535353535353535353525251504f4d4c494745413c3b37322c28231d150c08010000000000000000000000000a1723303d4a5663707d8686868686868686868686867f7265584b3f45515d67748186868686868686867d7063564c41404d596673808686868686868686868686867c6f6255493c2f2216090005121f2c3845525f6b7885868686868584827f7c77716c615e574e463c332a1f160c1926333f4c5966727f8686868686868686868686867d6f6356493c302316090000000000000000000000000000070f171d262d333940454a505356575f62646668696a6a6b6a6a69686664615f575753514b46423b3530282018120b030000000000000000000000000000030d1b252f38414850545b606265666563605d55514b433a32291e1308000000000000000000000000010c161f28323a434b515961656c7075797b7d7e7e7e7d7b7774818d9aa7b4c0cdc7baaea194877b75797b7d7e7e7e7c7a77746f6a615f5751443f382f261b1309000000000000000000000000000000000000000000000000000000000000000008131e28323a4146475253535353535353535353534d4b4740382e1d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000915202a333c424748535353535353535353535353535353535353535353535353535353535353535353535353535353535353504e49423a30261b100500000b16212b353d44484a53535353535353535353535351504b443c32281d120700000000000000010c17222d363f45494b535353535353535353535353504e4a433a31271c11050000000000000000000000000000000815212e3b4854616e7b8794abb5c0cbd7cbbfb4aa94877a6e6868686868686868686868686874808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e0200000000000000000000000000000000000000000000080f171e262e34394045464e5455565e6163666869696a6a6969686664615e5756544e46454039342e261e180f09000000000000000000000000000000000a16212b343d434849535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353514f4b443c32281d120600000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e72655b5b5b5b5b5c575e6169727f8b98a5b1becbcec1b4a89b8e8175685b4e4235281b0f02000000020e1a26313e4a5764717e8a97a2adb9c7c9beb3a99c9083766c61584f47454146475059606d7a85929fabb8c5c7baaea398897d7063564a3d3023170700000000000000000000000000050f1a232b33383c3d46464646464646464646464646464646464646464646464645444342413f3d3a39352f2e2b271f1c18120b0300000000000000000000000000000a1723303d4a5663707d89939393939393939393938b7e7265584b3f4754606d7a85929393939393938f8275685e5246404d596673808c93939393939393939393887c6f6255493c2f2216090005121f2c3845525f6b78859293999392918f8c88837e766e6960584e463c31281d121926333f4c5966727f8c93939393939393939393897c6f6356493c302316090000000000000000000000000009111921292f383f444b51545c606368696e717375767777777777767473716e696864605c55524d46413a3228231d150c04000000000000000000000000010b151f2d37414a525a61666c6f717272706d67605d554c443a3025190d05000000000000000000000000040d162028313940454f535b6063666c6e70717271706e6974818d9aa7b4c0cdc7baaea194877b6e6d6f70717171706d6867625f58534d453f332d261d140a010000000000000000000000000000000000000000000000000000000000000000020c1620283036393a464646464646464646464646403f3b352e261c0b0200000000000000000000000000000000000000000000000000000000000000000000000000000000030e18212a31373a3b46464646464646464646464646464646464646464646464646464646464646464646464646464646464643423e3830281e140a000000050f1a232b33383c3d46464646464646464646464645433f3a322a20160c01000000000000000006111b242d34393d3e46464646464646464646464643423e3831281f150a000000000000000000000000000000000714202d3a4753606d7a8699a3afbbc7d3d1bbaea195887c757575757575757575757575757575808d9aa7b3c0cdcec1b4a79b8e8174685b4e4135281b0e020000000000000000000000000000000000000000000000050c141c23282e34383c4347494d525457595b5c5d5d5d5d5c5b595754524d4948433d38342e28231c150c060000000000000000000000000000000000040f19222b32383b3c46464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464644433f39322a20160c0100000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e726868686868686869696e727b85929eabb8c5d1cdc0b4a79a8d8174675a4e4134271b0e01000000000914202d3a4753606d7985929eabb5c0cbc5b7ab9f948a7e716a615953514c52545a616b737f8c97a2adbac6c5b8ac9f9286796d6053473a2d201407000000000000000000000000000008111a21272c2f30393939393939393939393939393939393939393939393939383837363432302d2c2924221f1b16100c07000000000000000000000000000000000a1723303d4a5663707d89969f9f9f9f9f9f9f9f988b7e7265584b434e5865717e8b98a29f9f9f9f9f92867a6d615447404d596673808c999f9f9f9f9f9f9f9f95887c6f6255493c2f2216090006121f2c3945525f6c7885929fa49f9f9d9b9995908a827b6f6a60584e43392f24181926333f4c5966727f8c999f9f9f9f9f9f9f9f96897c6f6356493c3023160900000000000000000000000009121a232b333b414950555d60666d7074787b7e80818383848484838281807d7b7874716d67615e57524c443e342e271e160d04000000000000000000000007121d27313f49525c646c71787c7e7f7f7d7a736d675e564c41362a21170b00000000000000000000000000040e161f272f353e41495053545b60616364656463616774818d9aa7b4c0cdc7baaea194877b6e61626465656463615e5655534e47423c3327221b140b0200000000000000000000000000000000000000000000000000000000000000000000050e161e252a2d2e39393939393939393939393933322f2a241c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1820262b2e2f3939393939393939393939393939393939393939393939393939393939393939393939393939393939393635322d261e160c030000000008111a21272c2f303939393939393939393939393837332f2820180f050000000000000000000009121b22292d30323939393939393939393939393635322d271f160d03000000000000000000000000000000000613202c3945515d677986929facb9c5d2cfc2b6a99c8f8282828282828282828282828282828284919eaab7c4d1cec1b4a79b8e8174685b4e4135281b0e02000000000000000000000000000000000000000000000000020a11171d23282c32373b3c4146474a4c4e4f505151504f4e4d4a4846423c3b38322c28231d17110a030000000000000000000000000000000000000007101921272c2f303939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393837332e2820180e040000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e757575757575757576787b7f859297a1adb9c6d2cabeb3a9998c7f7266594c3f3326190c000000000006131f2c3845515d6773808d99a3afbbc5c7bbb0a69f92867c706b64605d565e61646c707d87929fa9b3bec8bcb1a79b8e8175675c5145382c1f1306000000000000000000000000000000080f161c2022232c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2b2a2927252321201d1915130f0a040000000000000000000000000000000000000a1723303d4a5663707d8996a3acacacacacaca5988b7e7265584b47535f6a7683909daab4acacaea3998c7f7265594f444d596673808c99a6acacacacacaca295887c6f6255493c2f2216090006131f2c3946525f6c7985929facacabaaa8a7a09d9490857c6f6a5f554b4035291f1926333f4c5966727f8c99a5acacacacacaca296897c6f6356493c30231609000000000000000000000008121a242c353d454d535b60676d72787d8185888b8c8e9090919191908f8e8c8a8885817d79746e69615d565045403930281f160d04000000000000000000000c18242f3943515b646e747e84888b8c8b898580796d685e52463e33281c100400000000000000000000000000040d151d24292f383f44464a50535557585858565a6774818d9aa7b4c0cdc7baaea194877b6e6155575858575654524c4847433c37312a2117110a02000000000000000000000000000000000000000000000000000000000000000000000000050c13191d20212c2c2c2c2c2c2c2c2c2c2c2c2626231f19120a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1e21222c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c292826211b140c04000000000000080f161c2022232c2c2c2c2c2c2c2c2c2c2c2c2b2a27231d160f060000000000000000000000000911171d2124252c2c2c2c2c2c2c2c2c2c2c2c2a2926221c150d04000000000000000000000000000000000004111d2935404b556b7885929eabb8c5d1d0c4b7ab9f948f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f9196a0acb9c5d2cec1b4a79b8e8174685b4e4135281b0e020000000000000000000000000000000000000000000000000000060b12181c1f272b2e3036393b3d404242434444434242403d3b3a36302e2c271f1c18120c0600000000000000000000000000000000000000000000070f161b1f22232c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2b2a27231d160e06000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d0c3b6a99d908381818181818181828384878c9297a1a9b3bec9d0c7baada297897d706356493d3023160a000000000004101d2935404b55616e7b87929fa9b3becac2baaea29892857d75706d676b686d71767e869299a3aebbc5c6b8aca095897d7063554b4034291c100400000000000000000000000000000000050b1014161720202020202020202020202020202020202020202020201f1f1e1d1c1a19161413110d08060300000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b9b9b9b9b1a5988b7e7265584b4b55626f7c88959fabbcb9bfb5ab9d9184776b6054484d596673808c99a6b3b9b9b9b9afa295887c6f6255493c2f2216090006131f2c3946525f6c7985929facb8b8b7b5b1aca69f9792857c6e675d51453b31261a26333f4c5966727f8c99a5b2b9b9b9b9afa296897c6f6356493c302316090000000000000000000007111a242c363e474f575f656c72797f84898e919797999b9c9d9d9e9d9d9c9b999797918e8a85807b746d68615a514b423931281f160b02000000000000000004101d2935404b55626d74808a919698999898928d837a6d61594f44392d2014080000000000000000000000000000030b12181d262d3337393f4446484a4b4b4b4e5a6774818d9aa7b4c0cdc7baaea194877b6e61544a4b4b4b494746413c3a37312b261f180f0600000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113141f20202020202020202020201a1917130e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214152020202020202020202020202020202020202020202020202020202020202020202020202020202020201d1c1915100a030000000000000000050b101416172020202020202020202020201e1d1b17120c050000000000000000000000000000060c111517182020202020202020202020201d1c1a16110a03000000000000000000000000000000000000010d18242f44515e6b7784919eaab7c4d1d3c7bbb0a69f9c9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9ea0a8b2bdc9d5cec1b4a79b8e8174685b4e4135281b0e0200000000000000000000000000000000000000000000000000000000070c10151b1f22252a2d2e3033353636373736363533312e2d2a25221f1b16100c0700000000000000000000000000000000000000000000000000040a0f1315162020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201e1d1b17120c0400000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9f95908e8e8e8e8e8e8e8f8f9196989ea2a9b3bbc5d0c7beb3a99f9285796d6053463a2d2013070000000000000c18242f3946535f6974818d97a2adbac1cabfb4aaa297928a827d7a7878797a7d828a9298a2abb5bfc6bcb0a69d9083786c605346392f23180c000000000000000000000000000000000000000407090a1313131313131313131313131313131313131313131313131211100f0e0c0a0706040100000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc6c6beb1a5988b7e7265584b515c6774808d9aa7b1bccec6b8aca096897c6f63564c4d596673808c99a6b3bfc6c6bbafa295887c6f6255493c2f221609000613202c3946535f6c7986929facb9c5c4c2bcb8b0a9a1979184796d60574d42362a1e26333f4c5966727f8c99a5b2bfc6c6bcafa296897c6f6356493c30231609000000000000000000050e19232c363e48505960696e777e858c91979b9ea1a9a6a8a9aaaaaaaaaaa9a7a6a9a19e9b97928d86817a716c605c544b433931281d140a000000000000000006131f2c3845515d67727f8b929ea0a8a5aaa29f959082766c6155493c3023160a00000000000000000000000000000001070b141b22272b2d3338393b3d3e3f414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483e3e3e3d3a3936302e2b26201a150e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507071313131313131313131313130d0c0a07020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060808131313131313131313131313131313131313131313131313131313131313131313131313131313131313100f0d09050000000000000000000000000407090a13131313131313131313131312110f0b0701000000000000000000000000000000000105090b0b131313131313131313131313100f0d0a05000000000000000000000000000000000000000000071d2a3743505d6a7683909da9b6c3d0d8cdc2b8b0aba9a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8aaacb2bac4ced9cec1b4a79b8e8174685b4e4135281b0e02000000000000000000000000000000000000000000000000000000000000040a0f1315191e2021242628292a2a2a2a2928262421201e1a15130f0a0400000000000000000000000000000000000000000000000000000000000307090913131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131311110e0b06010000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d4c8bcb1a79f9d9b9b9b9b9b9b9b9b9c9ea1a8abadb3bbc5cdc5beb6aca2978d8073665c5145382c1f130600000000000007121d2a36424d57616d7a85929fa5afb9c2c5bcb3a9a29f948f8a86858485878a8f949fa2aab4bdc6beb4aa9f948a7e71655b5044372b1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584b53606d7985929eabb8c2cdc8bdb2a89b8e8174685d524d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000613202c3946535f6c7986929facb9bec5cdc8c2bbb3a9a0968d8073695f53463a2f2426333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c302316090000000000000000020b17202b353e48505a616b707b828b92979ea1a9abadb3b3b4b6b6b7b7b7b6b5b4b3b3adaba9a29e99928d857e746d665d554b43392f261c1106000000000000000714202d3a4753606d7985929fa4acb2b2b4aea79f948a7d7064574a3d3124170a0000000000000000000000000000000000020a11171b1f22282b2d2e303134414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b3231302e2d2a25211f1b150e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfd2d2cac2bbb7b6b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b7b9bdc4ccd2d2cec1b4a79b8e8174685b4e4135281b0e0200000000000000000000000000000000000000000000000000000000000000000306080e11141417191b1c1d1e1e1d1c1b1a171514120e09070300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d8cdc2b9b1aba9a8a8a8a8a8a8a8a8a9abacb2b8b9bec5c6c1bcb3aca49a92857a6d61544b4034281c1004000000000000010e1a26313b46525e68717e8b939da7b1b9c2c5bcb3ada69e9c979792919298979c9fa6aeb4bcc5c0b6aca2988f82776c6053493f33271b0b01000000000000000000000406070a0a0a0a0a0a0a0a0a0a0a0a08080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584d5764717e8a97a1adb9c6d4cec3b8ac9f92867a6d60544d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f2216090006121f2b3844505b66798699a3abadb3bbc1c9cdc5bcb2a89f92877b6e61554c41352926333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c3023160900000000000000000a141d29323d47505a616c717d858f949ea1a9adb2b8b9bebfc1c3c3c4c4c4c3c2c1bfbeb9b8b3adaba39f97928a80786d675d554b42382d22170b020000000000000a1724303d4a5763707d8a97a2adb9bdbfbfbab0a69b8e8174685b4e4135281b0e00000000000000000000000000000000000000060b0f12171c1f2022242734414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b2e242321201e1915120f0a0300000000000000000000000000000000000000000000020608080a0a0a0a0a0a0a0a0a0a0a0a08070502000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0707050100000000000000000000000000000406071213131313131313131313131207060401000000000000000000020507081313131313131313131313130d0c0a07020000000000000000000000000000000000000000000000000000000000010407070a0c0d0f1010111110100f0e0c0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1c5c5c5c5c5c5c5c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c4c5c5c5c5c5c5c5c1b4a79b8e8174685b4e4135281b0e020000000000000000000000000000000000000000000000000000000000000000000000020507080a0d0f0f101111100f0f0d0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c13131313131313131313131310100d0a050000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cdcdcbc2bcb8b6b4b4b4b4b4b4b4b5b6b7b9bdc4c5c3bfbab8afaaa29a93887e70685e5242392e23180c000000000000000009141f2a36414c56626c74818e959fa7b0babfc5bebab0aaa8a9a29f9e9fa2aaa9abb0babfc5beb6afa49a92867b6e655b5041382d22170b000000000000000001070c1013141717171717171717171717171514120f090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e726558535e6976828f9ca9b3becad6d3c6baaea2988b7e7265584e596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000613202d394653606c7986939b9fa2a9afb7c1c9cec3bbafa3998e8174675d5145392c26333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c302316090000000000000006111b262f3b444f59616c717e8792979fa6adb3b9bec4c6c5c1bfbab9b8b8b8babfbec1c5c6c4beb9b4aea9a19e928d82796d675d544a3f33281d140a0000000000000c1926323f4c5965727f8c98a9b3bec9cecac2b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000003060b0f1213151b2734414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b2e21161413110d0806030000000000000000000000000000000000000000000003090e1214151717171717171717171717171514120e0903000000000000000000000000000000000003090e1214151717171717171717171717171413110d080200000000000000000001070c1013141e20202020202020202020201f1413100d0701000000000003090e1214152020202020202020202020201a1917130e07000000000000000000000000000000000000000000000000000305080d11131417181a1c1c1d1e1d1d1d1c1a19171514120e090704010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b4a79b8e8174685b4e4135281b0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d121618192020202020202020202020201d1c1a16110a03000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0bfbfbebfbbb9b7b4aeaca59e9892887f726c61564c4130271d12070000000000000000030d1925303a44505a606d798390959fa6aeb4bdc2c1bbb7b5b3adababacaeb4b6b7bbc2c1bbb3aca49f93887e71695f53493f2f261b110600000000000000030b12181d1f2023232323232323232323232322211f1a150e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e72655854616e7b87939facb9c5cfced2cabfb4aa9d9083776a5f53596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000713202d3a4653606d79868c8e92979ea5afb7c1cdcbc0b5ab9f92867a6d6054473a2f24333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000000000000000b17222d38414d56606b717e879299a2a9b0b9bec5c6bfbab8b4b4aeacababacaeb4b1b4b8babec5c6bfbab3ada49d948f82796d665b50443d2f261b110600000000000d192633404c5966737f8c99a6b2bfcdd3d0c3b7aa9d9084776a5d5144372a1e110000000000000000000000000000000000000000000000000306060e1b2734414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b2e211508070501000000000000000000000000000000000000000000000000060e151a1e212223232323232323232323232321211e1a140d05000000000000000000000000000000050d141a1e212123232323232323232323232321201d19130c0500000000000000030b12181d1f202b2d2d2d2d2d2d2d2d2d2d2d2b20201d18120c04000000060e141a1e21222d2d2d2d2d2d2d2d2d2d2d2d2626231f19120a01000000000000000000000000000000000000000000060b0f1213191d202123252728292a2a2a2a292827262421211e1a1413110d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca79b8e8174685b4e4135281b0e020000000000000000000000000000030608091313131313131313131313131312110e0904000000000000000000000000000000000105090b0b13131313131313131313131311100e0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a11181e2225262d2d2d2d2d2d2d2d2d2d2d2d2a2926221c150d040000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b2b1b5aeacaaaaa29f9b938f857e726d625a50443a301e150b0000000000000000000008131e28323f45515d676d7a838f949fa3abb0b9bbc0c4c2bebab8b7b8babfc2c5c0bbb9afa9a29a938c7f726c61574d41382d1d140a00000000000000030d151d24292c2d3030303030303030303030302f2e2b2620180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265585b6673808c9aa4afbbc8c3c2c5c6c6b8aba095887c6f6255596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000613202d394653606c787e7f82858e939ea5afbbc5cfc7baaea2988b7e7165554b403529333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000000000000030f1b27333f49535e68707d879299a3abb3bbc2c7c0bbb4aeaca7aba39f9e9e9fa3aaa4a7abaeb3babfc5c5beb9aea69f948f82786c60584e41382d22170b00000000000b1825323e4b5865717e8b98a6b0bbc3c6c5bfb4aa9c8f8276695c504336291d100000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000060f1820262b2e2f3030303030303030303030302e2d2a251f170f0500000000000000000000000000050f171f252a2d2e3030303030303030303030302e2d2a251e160e050000000000030d151d24292c2d383939393939393939393939382d2c29241d160d0400060f181f262b2d2e39393939393939393939393933322f2a241c130a00000000000000000000000000000000000002080d11171b1f2024292c2d30323435363637373736353432302e2d2a2521201d19130f0b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c999f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9b8e8174685b4e4135281b0e02000000000000000000000000040a0f131516202020202020202020202020201f1d1a150f080000000000000000000000000000060c111517182020202020202020202020201e1d1a17110b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131b23292e31323939393939393939393939393736322d271f160d0300000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a5a4aba39f9d9a98928e88827b716c625b51483e32291e0c0300000000000000000000020c16202935404b555d686d79828c92999fa6acafb5b8b9bebdbebebebdbeb9b8b5afaca59e9792887f726d635a50453c2f261b0b02000000000000010b151f272f35383a3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a21180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e726558606c7884919eacb6c0bbb6b5b8babebcb1a79a8d8074675d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f2216090006121f2b3844505b666c7172757a818e939ea9b3becacabfb4aa9c8f8275675d5145382c333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c302316090000000000010c161f2b3744505b656e7a859199a3abb5bdc5c5bdb5afaaa29f9b9799929292929895979a9fa2aaaeb4bcc3c9c0b8b0a69e938c80736a6053493f33271b0f03000000000815222e3b4855616e7b88949fa9b1b8bab9b4aea2988c7f7366594c403326190d0000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000030e18212a31373a3b3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312921170d030000000000000000000000030d17212931363a3b3d3d3d3d3d3d3d3d3d3d3d3d3a3936302820160c02000000010b151f272f35383a454646464646464646464646453a39352f281f160c030e18212a31373a3b464646464646464646464646403f3b352e261c120700000000000000000000000000000002080d14191b22272b2d2f35393a3d3f404243434444434342413f3d3b3a36312d2c29241e1b160f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b9292929292929292929292929292929292929292929292929292929292929292929292929292928e8174685b4e4135281b0e020000000000000000000000070f151b1f22222d2d2d2d2d2d2d2d2d2d2d2d2c2c2a26201912090000000000000000000000000911181d2124252d2d2d2d2d2d2d2d2d2d2d2d2a2a27221d160e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111b252d353a3e3f46464646464646464646464643423e3831281f150a00000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d89969a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a99999897969992908d8a85817c756e69615a51493f362c20170c000000000000000000000000050e18242f39434c565d676d777f868f949c9fa3ababadb3b0b1b1b1b0b3adababa39f9b938e857d726d635b51483e332a1d140a0000000000000007121d2731394045474a4a4a4a4a4a4a4a4a4a4a4a4847433c332a20150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e72655663707d8a96a1adbeb7afaaa8abadb3bbb8ab9f9285796d60596673808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900030f1c28333f4a545b606466686d77818e97a1adb9c7d0c5b8ac9f9286796d6053473a2d333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000000000008131e2935414c56606c77828f97a1abb4bdc6c5bcb3aba49f98928e8a878685858586888b8e92989fa2aab1b9c3cac2b9b0a69f92877c6f655b5044372b1f160a000000000814212d3a47535f6976828f97a0a8abaeacaaa39f92867b6e6154473b2e2114080000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cdc7baaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000915202a333c4247484a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f1409000000000000000000000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4746413a32281e130800000007121d273139404547515353535353535353535353524745403931281d1209141f2a333c4246485353535353535353535353534d4b4740382e24190e0200000000000000000000000000050d13191e252a2d3337393d4145474a4b4d4f4f50515050504f4d4c4a4846423e3a39352f2c27211b160d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717e87868686868686868686868686868686868686868686868686868686868686868686868686868686868174675b4e4134281b0e010000000000000000000007101920272b2e2f393939393939393939393939393836312b241b12080000000000000000000009121b22292e31323939393939393939393939393736332e2720170e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18232d373f464a4c535353535353535353535353504e4a433a31271c1105000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d898d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8c8c8b89888683817d7a746f6a615e5750483f372d241a0e050000000000000000000000000007121d27313a444c555d656c727c82898f92999c9ea1a9a3a4a5a4a4a9a19e9b99928f89817a706b625b51493f362c21180b02000000000000000c18242f39434b515356565656565656565656565655534e463c31261a0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e72655e6875828f9ba8b2bbafa59e9b9fa2a9b3baada2978a7e7164576673808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900000b17222d38424a505358565e656d7a85929eabb5c0ccc7baaea398897c706356493d30333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c3023160900000000010d19242f3946525e68717e8b949fa9b3bdc6c6bcb3aaa299938d86817d7b79787879797b7e81858b9298a0a7b1bac4cbc1bbafa3999083786c6053463d32271b0f0000000006121e2b37424d57616e7b8591959c9fa29f9d98928b7e71695e52463a2d2014070000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0ccc7baaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000020e1a26313c454d535556565656565656565656565654534d453b31251a0e02000000000000000000020e1a25313b454d535456565656565656565656565654524c443a3025190d0100000c18242f39434b51535e60606060606060606060605e53514b43392f24180e1a26313c454d53556060606060606060606060605957524a40352a1f1307000000000000000000000001070e171e252a3036383f4446494c525456585a5b5c5d5d5d5d5c5b5a595754534d4b4745413a38322c272119130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c717979797979797979797979797979797979797979797979797979797979797979797979797979797979746f64594c4033271a0e01000000000000000000040f19222b32373b3c4646464646464646464646464645423d352d24190f04000000000000000006111b242d343a3d3e46464646464646464646464644433f39322920160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e29353f495157596060606060606060606060605d5b554d43382d22160a000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b808080808080808080808080808080808080808080807f7e7d7b797774706d67625f58534d453e362d251b12080000000000000000000000000000010b151f28323a434b535b606a6f767c82868b8f91979697979897979597928f8b86827c756e68615951493f372d241a0f060000000000000004101d2935404b555d60636363636363636363636363625f584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265616d7a86929facb9b6aa9e938f9297a2adbab3a99c8f8376695f6673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000006111c262f383f44464b4c535d67727f8c99a4afbbc7cbbfb4aa998c7f7266594c3f2e333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c302316090000000004111d2935414c56616d7a85929ea6b0bbc4cbbfb4aaa2989287807a74716e6c656b676d6e71747a7f869095a0a8b2bdc9cbc0b5aba0958a7e7164594f44382c1b1106000000020e1a26313c46535f696e7c848b8f929892908d867e716c62564d42362a1e11050000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4bfbfbfbaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000006121e2b37424d575f62636363636363636363636363615e574d42362a1e120500000000000000000005121e2a36424d575e61636363636363636363636363615e564c41362a1d11050004101d2935404b555d606b6c6c6c6c6c6c6c6c6c6c6c6b605d554b4035291f141e2b37424d575f6c6c6c6c6c6c6c6c6c6c6c6c6c66635c52473b2f23170a00000000000000000000030b1218202930363b414649505356565d606365676869696a6a6a6968676563615e575854524c48443d383229241e160d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b000000000000000000000a15202b343c43474953535353535353535353535353524e473f352b20150900000000000000010c18222d363f454a4b535353535353535353535353514f4a443b32271d110600000000000000000000000000000000000000000000000000000000000000000000000000000000000916222e3a46515b62656c6c6c6c6c6c6c6c6c6c6c6c6a665f554a3e32261a0d000000000000000000000000000000000000000000000000000000000000000814212e3a47535f696e737373737373737373737373737373737373737373737271706e6d666764605d55534e46423b332c241b130900000000000000000000000000000000030d162028313a414950585f626b6f767a7e828587898a8b8b8b8a898785827e7a756f6a615e564f473f372d251c1208000000000000000006131f2c3845515d676d7070707070707070707070706e6a5f53473a2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e726565727f8c99a3aebbb2a89b8f8285929fabb8b7ab9f94887b6e616673808c99a6b3bfccc8bbafa295887c6f6255493c2f2216090000000a141d262d3338393e414c55616e7a87939facb9c6d0c1b5a89b8e827568544a4034333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000000000613202c3945525d6873808d97a1adb8c2cdc7baaea39892867d736d686461605b555c606264676d727b839096a1adb9c1ccc7bdb1a79d9184776b605448382d22170b0000000009151f2a36424d575f6a6e797e8385868684807b716c625a50443b3025190e020000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b3b3b3b3b3aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000814212e3a47535f696e7070707070707070707070706e695e53463a2d2114070000000000000000000714212d3a46535e696e7070707070707070707070706d685e5246392d2013070006131f2c3845515d676d787979797979797979797979786d675d51453b302519212d3a46535f6976797979797979797979797979736e63574b3f3226190c000000000000000000050d151d2429323a41464c52535b606367686d70727375767677777676757472706e696864605d56544f48433d352f281f1810080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e485055575f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5b59534b41362b201408000000000000000000030f1b27323c464e54556060606060606060606060605f5e5951473d31261a0e0100000000000005111d29343f485056586060606060606060606060605d5b554d44392e22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4a57626d727979797979797979797979797671665b4e4236291c100000000000000000000000000000000000000000000000000000000000000006121e2b37424d575f626767676767676767676767676767676767676767666665646362605c545753514b47433c363129211a1209010000000000000000000000000000000000040d161f282f383f444e53596063686d7275787a7c7d7e7e7e7d7c7a7875726d68626058524d443e352d251c130a0000000000000000000714202d3a4753606d797d7d7d7d7d7d7d7d7d7d7d7d7c6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e72656b7784919dabb5b9aca196897d808d9aa7b1bbb0a6998d8073666673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000020b141c22282b2d2f3a46525e687683909da9b6c3d0c4b7aa9d918477665c514438333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000000000714212d3a4754606d7a85929fa9b3becac8bcb1a79f92867d706b605d565453504b515355555d60696e7b84919ea6b0bbc7cfc3b8aca095897c6f6353493f33271b0f03000000030e1a26313b454e585f676d727678797977736e69625a50483f32291f1409000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa6a6a6a6a6a6a6a194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000815222f3b4855626e7b7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154483b2e2115080000000000000000000815212e3b4854616e7b7d7d7d7d7d7d7d7d7d7d7d7d7a6d6154473a2e211407000714202d3a4753606d7984868686868686868686868685796d60564d42362a20222e3b4855616e7b868686868686868686868686807366594d4033261a0d0000000000000000050e161f272f353e444c52565e61656c7074777a7d7e808282838483838382807f7d7b7875716d68636059544e45413a312a221a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a53535353535353535353535353535353535353535353535353535353535353535353535353535353534e4c4841382f251a0f0300000000000000000006131f2b37434e5860626c6c6c6c6c6c6c6c6c6c6c6c6c6a63594e42362a1d11040000000000000915212e3a45505a62656c6c6c6c6c6c6c6c6c6c6c6c6a675f554a3f33271a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f86868686868686868686868683766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000020e1a26313c454d53555a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a595958565553514b4a4745403937322a251f170f080000000000000000000000000000000000000000040d161d262d333c43474f54565e616569686e6f70717271716f6e686865615e56544e46413b322c231b130a010000000000000000000815212e3b4854616e7b8789898989898989898989898074675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e72656f7c8996a0acbdb6ac9e9184787c8895a0acb8b8ab9e9185796d6673808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900000000020a11171c1f202a36414c566773808d9aa6b3c0cdc5b9ac9f9286796d6053463a333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c3023160900000006131f2b37434e5866727f8c98a2aebbc5cfc4b8ab9f958b7f726a6059524c484644404546484b51575f696f7d89949eaab7c5cfc8bcb1a79a8e8174655b5044372b1f12050000000009141f29333c464e555c606569666d666a67615e5750483f362d20170d02000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d99999999999999999994877b6e6154483b2e2115080000000000000000000000000000000000000000000000000d1a2734404d5a6773808989898989898989898989897f7265584c3f3225190c0000000000000000000c1925323f4c5865727f8989898989898989898989897d7063564a3d3023170a0006131f2c3845515d67717e8b959393939393939393978c8073695e52463c3126222e3b4855616e7b88939393939393939393938c807366594d4033261a0d00000000000000040d1620283139404550565e61686e73787c808386898b8d8e8f909090908f8e8d8c8a8785827e7a756f6b626058514c433c342c231a110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3e464646464646464646464646464646464646464646464646464646464646464646464646464646464641403c362f261d1308000000000000000000000815222e3b4754606a7679797979797979797979797979756a5e5245382c1f12060000000000000b1724313d4a56626c717979797979797979797979797771675b4f43362a1d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c939393939393939393939083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000915202a333c4247484d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4c4b4a484645403d3a39352f2b26201a140d0500000000000000000000000000000000000000000000040b141b222731373d43484c525458565e6163646465646462615e565854524c47433d363029201a110901000000000000000000000815212e3b4854616e7b87949696969696969696968d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e726774818e9ba8b2bbafa49a8c80737783909dabb4b9ada1978a7d706673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000000000060b0f121925303e4b5764717e8a97a4b1bdcfc7bbafa399887b6e6155483b333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c302316090000000815222e3b47545f6a7784919daab3becdc9bdb2a89d9083786c60584f45413b393734383a3b40454d57606b75828f9ca9b3becacec3b8ab9e9185786c605346392d20130600000000030d17212a343c434b515358545c605c545a54524d453f362d241b0e0500000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818c8c8c8c8c8c8c8c8c8c8c877b6e6154483b2e2115080000000000000000000000000000000000000000000000000d1a2734404d5a6773808d969696969696969696968b7f7265584c3f3225190c0000000000000000000c1925323f4c5865727f8b96969696969696969696897d7063564a3d3023170a0004101d2935404b55606c7883909da69f9f9f9f9fa99f92867b6e61584e43372b222e3b4855616e7b88949f9f9f9f9f9f9f9f998c807366594d4033261a0d000000000000020b161f28323a434b515a61686d737a8084898d909399989a9b9c9c9d9d9d9c9b9a989697918e8b86827c766f6a605d554e463e352c23190f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121a22282d303139393939393939393939393939393939393939393939393939393939393939393939393939393939393433302b251d140b01000000000000000000000916222f3c4955626f7c86868686868686868686868687796c5f5346392c2013060000000000000b1825323e4b5865717e86868686868686868686868683776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c989f9f9f9f9f9f9f9f9d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000030e18212a31373a3b404040404040404040404040404040404040404040403f3e3d3b3a38342e2d2c29241d1b150e0903000000000000000000000000000000000000000000000000020a111720262b32383a4146474b4c52545657585858575654524c4b4746413a37322a251f170e080000000000000000000000000815212e3b4854616e7b8794a1a3a3a3a3a3a3a39a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e726d7a86929facb8b9ac9f93877b6e727f8b99a3aebab3a99c8f82756973808c99a6b3bfccc8bbafa295887c6f6255493c2f2216090000000000000000030815222f3c4855626f7b8895a9b3bec9cbc0b5ab96897c706356493d333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c302316090000000916222f3c4955626f7c8895a0acbcc5d0c5b9aca1968a7d70655b50463d35302d2b282c2d2f353c454f5963707c8997a2adbabdbdbdb9ada197887c6f6255493c2f2216090000000000060f18222a30394045464b4b5153514b4d4846423b332d241b12090000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8080808080808080808080807a6d6054473a2d2114070000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa3a3a3a3a3a3a3a3988b7f7265584c3f3225190c0000000000000000000c1925323f4c5865727f8b98a3a3a3a3a3a3a3a396897d7063564a3d3023170a00000c18242f3944505b65707d89939eabb5acacacaea2988e81746a5f53473e30262e3b4855616e7b8894a1acacacacacaca6998c807366594d4033261a0d0000000000000a141d28313a444c555d606c717a80868c91969a9d9fa4aba6a8a9a9aaaaa9a9a8a7a5a9a19e9b99928e89837c746d675f584f473e352b21180c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2123242c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c282724201a130b0200000000000000000000000916222f3c4955626f7c88939393939393939393939286796c5f5346392c2013060000000000000b1825323e4b5865717e8b939393939393939393939084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5acacacacacaca99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000060f1820262b2e2f343434343434343434343434343434343434343433333231302f2d2c282320201d18120f0a0400000000000000000000000000000000000000000000000000000000060b151b21272c3036393a3f414647494a4b4b4b4a494746413f3a3936302b272019140d05000000000000000000000000000815212e3b4854616e7b8794a1aeb0b0b0b0b0a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e72727e8b98a2aebab4aa9c8f8376696d7a86929facb9b9ac9f92867b6e73808c99a6b3bfccc8bbafa295887c6f6255493c2f2216090000000000000000000714202d3a4753606d7a8697a1adb9c6d1bdb1a4978a7e7164574b3e333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000004111d2935414c566673808d99a7b1bcced1c4b7ab9e9184786c6053493f342924201f1c1f202429333d4653606d7985929fabb0b0b0b0b0b3a9988b7e7165584b3e3225180b000000000000060f181e272e34383a3f4045464540403b3a363029211b1209000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b707373737373737373737373736d675d5145392c2013060000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b0b0b0b0b0b0a5988b7f7265584c3f3225190c0000000000000000000c1925323f4c5865727f8b98a5b0b0b0b0b0b0a396897d7063564a3d3023170a000007121d27333f4953606b75828f99a3afbbb9bfb4aa9f93877c6f62594f42382e2e3b4855616e7b8894a1aeb9b9b9b9b3a6998c807366594d4033261a0d000000000006111b262f3a434c565e676d757e858d92989ea1a8aaacafb5b3b5b5b6b7b6b6b6b5b3b2b2adababa39f9b949089817a6f6a61594f473d332a1e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020202020202020202020202020202020202020202020202020202020202020202020201b1a18140f08010000000000000000000000000916222f3c4955626f7c88959f9f9f9f9f9f9f9f9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b989f9f9f9f9f9f9f9f9d9084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2b9b9b9b9b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000060e151a1e21222727272727272727272727272727272727272727272626252322201f1c181413100d070100000000000000000000000000000000000000000000000000000000000000040a0f161b1e252a2d2e3036393b3c3d3e3f3e3e3c3b3936302e2d2a251e1b150e080200000000000000000000000000000815212e3b4854616e7b8794a1aebabcbcbcb4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e727783909daab4baaea2988b7e71646875828e9ba8b2bbafa3998c7f7373808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900000000000000000006131f2c3945515d677885929eabb8c5cbbeb2a5988b7f7265584c3f333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c3023160900000713202c3945525d687783909daab6c3cecbbfb4ab9a8d8073665b5041382d2219131210131318202b3844505c6675818e9ba3a3a3a3a3a3a3a39a8d8174675a4e4134271b0e01000000000000060c151d23282c2d2e34383a38342e2e2d2a251f170f0900000000000000000000000000000000000000000000000000000000000000000714202c38444f596163666666666666666666666666605d554c4135291d11040000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3bcbcbcbcb2a5988b7f7265584c3f3225190c0606060606060606060c1925323f4c5865727f8b98a5b2bcbcbcbcb0a396897d7063564a3d3023170a0000010b17222d38414f59626e7b87929fa9b3bec6bbafa4998f82766b61544a3f342e3b4855616e7b8894a1aebbc6c6bfb3a6998c807366594d4033261a0d00000000000b17222d38414b555e686d79818a92979fa2aaacb2b7b9bbc0c0c1c2c3c2c3c3c2c1c0bfbeb9b8b5aeaca69f9c938e847c706b61594f453b30261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0b13131313131313131313131313131313131313131313131313131313131313131313131313131313130e0e0b080300000000000000000000000000000916222f3c4955626f7c8895a2acacacacacacac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4acacacacacacaa9d9084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc6c6c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000000003090e1214151a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a191817151313100c070604010000000000000000000000000000000000000000000000000000000000000000000000040a0f13191e2021252a2d2e3031313231312f2e2d2a2521201e19130f0a04000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7c9c0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e727c88959fabbcb8ab9f9285796d6063707d8a96a1adb9b5ab9e91847873808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900000000000000000004101d2935404b556a7783909daab6c3ccc0b3a6998d8073665a4d40333f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c3023160900000714212d3a4754606d7a86939facb9c6d2c7baaea399897c7063544a3f2f261b100805040607101c28343f4a5466737f8c979797979797979797978f8276695c4f4336291c100300000000000000030b12181c1f2023282c2d2c282321201e1a140d0500000000000000000000000000000000000000000000000000000000000000000004101c28333e474f555759595959595959595959595954514c433a2f24190d010000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0c9c9beb2a5988b7f7265584c3f32251913131313131313131313131925323f4c5865727f8b98a5b2bec9c9bcb0a396897d7063564a3d3023170a00000006111b262f3d47535f6974808d97a2adbac4c0b5ab9f948a7d70665c50443a2f3b4855616e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d00000000030f1b27333f49535d676d7a838e939fa2a9aeb4b9bdc3c6c6c2bdb9b8b6b6b6b7b8b9bec1c5c6c4bfbbb9b0aba59d9691867d706b60574d42382e23170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afb9b9b9b9b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1b9b9b9b9b7aa9d9084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000000000020608080d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c0b0a0807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314191e20212324252525242321201e191413110d08020000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e74808d9aa7b1bcb2a89a8e8174675d606d7984919eabb8b9aca096897d73808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000000000000000000c18242f424f5c6975828f9ca8b5c2cdc0b4a79a8d8174675a4e41343f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c3023160900000a1724303d4a5763707d8a99a4afbbc7d2c5b9ac9f92867a6d6053473a2d20140a00000000000b17232e3e4b5764717e8a8a8a8a8a8a8a8a8a8a8a8a84776a5e5144372b1e1104000000000000000000070c101313181c1f201f1c181514120e090300000000000000000000000000000000000000000000000000000000000000000000000b16212c353e44484a4d4d4d4d4d4d4d4d4d4d4d4d4745413a31281e1308000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdcbbeb2a5988b7f7265584c3f32252020202020202020202020202025323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023170a000000000a141d2b37424d57616d7a85929fa8b2bdc7bdb0a69d9083786d60554b40353b4855616e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d0000000005121f2b3744505b656d798390959ea5adb3babfc6c7c0bbb9b5b2adabaaa9a9aaabadb2b5b9babfc6c7c2bcb7afa8a19892867d70695f544a3f34281d1207000000000000000000010407071213131313131313131313131313130a0a080400000000000000060b0e1011131313131313131313131312110f0b0701000000000000030608091313131313131313131313131313130b0a080500000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc6c6c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1bec6c6c3b7aa9d9084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507080e111414161718181817161414110e0807050100000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e040405040301000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7985929eabb8b8aca096897c6f63555c6673808d99a6b0bbb2a89b8e8175808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900000000000000000000071b2835424e5b6875818e9ba8b4c1cec1b4a79b8e8174685b4e41353f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c3023160900000c1926333f4c5966727f8c99abb5c0ccd0c3b7aa9d908377675d5145382c1f130200000000000614212e3a4754616d7a7d7d7d7d7d7d7d7d7d7d7d7d7d7063574a3d3024170a0000000000000000000000000406070c10131313100c070705020000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33383c3d4040404040404040404040403a39352f281f160c01000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdcbbeb2a5988b7f7265584c3f322d2d2d2d2d2d2d2d2d2d2d2d2d2d2d323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023170a00000000020b1a26313c46525e68727f8c96a1acb9c2c2b8aca0958b7e71675d51453b3b4855616e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d00000005111d2935414c56606c77818f959fa7afbabec5cac3beb6afaca9a9a19e9d9c9c9d9ea1a9a8acaeb4bcc1ccc7c0bab2aaa29892867b6e665c5044392e23180c0000000000000001080d1113141f2020202020202020202020202020171614100b05000000040b11171a1d1e20202020202020202020201e1d1b17120c05000000040a0f131516202020202020202020202020202020181715110c060000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0d0f1011111111100e0c090605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708090a0b0c0b0b09080705020000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0f10111111100e0b0807050200000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7e8a97a2adb9b5ab9d9184776b605454616e7b88949fabb7b9ac9f92867a808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdc2b5a89b8f8275685c4f42353f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c3023160900020f1b2835424e5b6875818e9ba8b4c1d2cec1b4a89b8e817568554b4035291d100400000000000713202d3946525e686d707070707070707070707070706b6155483c2f2316090000000000000000000000000000000004060706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21282c2f303333333333333333333333332d2c29241e160d0400000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdcbbeb2a5988b7f7265584c3f39393939393939393939393939393939393f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023170a00000000000915202a36414c56606d7984919ea7b1bcc8bcb1a79e9185796d60574d423b4855616e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d0000000713202d3946525d68727f8b939ea7b1b9c1cac9c1b9b1aca49f9c979691908f90909197979b9fa3aaafbbc0c7ccc4bcb4aaa2989083786d60544b4034281c10040000000000040c13191d20212c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423201c17100800050e161d22272a2a2d2d2d2d2d2d2d2d2d2d2d2b2a27231d160f0600070e151b1f22222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524211d17100900000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206090e121415181a1c1d1e1e1e1d1c1b181613120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b1c1d1e1e1e1d1b181514120e09030000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7f828f9ca9b3bbafa3998c7f7266594f535f697683909caab4baaea3988b7f808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000000000000000000d1a2633404d596673808c99a6b3bfccc2b6a99c8f8376695c5043363f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c302316090003101c28343f4a546a7783909daab6c3d0ccbfb3a6998c807366594d402f24180c00000000000005111d2a36414c565e616464646464646464646464646361594f44382c20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810161c20232426262626262626262626262621201d19130c040000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdcbbeb2a5988b7f7265584c464646464646464646464646464646464646464c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023170a0000000000030d1925303a45515c67717e8a959fabb8c1c3b9ada1978c8073695e52463c4855616e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d000003101c28343f4a54616d7a85929ea5afb9c2cbcac1b7afa7a09a938f8a87858383838485878a8e92989ea5afb5bdc7cec6bcb3aa9f958b7e72665c5145382c1f130700000000040d161e24292c2d38393939393939393939393939393931302d28221a11080e1720272e33363739393939393939393939393837332f2820180f07101920262b2e2f39393939393939393939393939393931302d29221b1209000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12141a1e21212427282a2a2b2b2a29272522201f1b17110f0a04000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f10111111100e0b0807050100000103030606060606060606060606060000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e41342726282a2b2b2a29272521201e1a14100b06000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9ccc0b3a6998d8088939facb9b9ac9f92867b6e6154474d5764717e8b98a2aebab4aa9d9083808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000000000000000000c1926333f4c5966727f8c99a5b2bfccc3b6aa9d9083776a5d5044373f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c302316090006121f2b3844505c667885919eabb8c4d1cbbeb1a4988b7e7165584b3e32251807000000000000010d1925303a444c525457575757575757575757575757554f473e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416171a1a1a1a1a1a1a1a1a1a1a1a1413110d0801000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdcbbeb2a5988b7f7265585353535353535353535353535353535353535353535865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023170a00000000000008131e2834404b55616c7683909da5afbdc6beb3a99f92867b6e61584e434855616e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d000006121f2c3844505c6673808d97a2adb7c1cbcec2b8afa59e959087827e7a7877767677787a7d81868e939fa4abb5c0cccfc5bcb1a79e9185796d6053463a2e23180c000000010c1620282f35393a4546464646464646464646464646463d3c39332c231a0c16202932393f4344464646464646464646464645433f3a322a20160e19222a32373b3c4646464646464646464646464646463e3d39342d241b10060000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f151a1e21252a2d2e31333537373837373634322f2d2b27221b1b16100b05000000000000000000000000000000000000000000000000000000000001080d111314171a1c1d1e1e1e1c1a181414110d08020d0f101313131313131313131313130a09070400000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134303335373738373634322e2d2a251f1c17110a0200000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185919aa4afbbb3a99c8f8275695e52464753606d7a85929facb8b8aca0958f828f9ca9b5c2cfc8bbafa295887c6f6255493c2f221609000000000000000000000c1825323f4b5865727e8b98a5b1becbc4b7aa9e9184776b5e51442e3f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000713202d3a4653606d7986929facb9c5d2c9bdb0a3968a7d7063574a3d3024170a0000000000000008131e28323a4146474a4a4a4a4a4a4a4a4a4a4a4a4a48443e352c21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0d0d0d0d0d0d0d0d0d0d0d0d070604010000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdcbbeb2a5988b7f7265606060606060606060606060606060606060606060606065727f8b98a5b2becbc9bcb0a396897d7063564a3d3023170a000000000000020c18232e3943505a636f7c89939eabb4bfc4baaea2988e81746a5f534d4d55616e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d00000713202d3a4653606d7985919ea9b3bec9d0c6bcb0a69e938e837c76716e686a69696a686e70757b818b9399a4afbbc2cccec3b9ada1978a7e7164544b4034281c1004000008131e28323a4145475253535353535353535353535353534a49443e362c1e141d27323b444a4f51535353535353535353535351504b443c32281d15202a343c4347495353535353535353535353535353534b49453e362d22170c0000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c151b1f262b2d31363a3b3e4042434444444443413f3c3937332d2b27201c160e090200000000000000000000000000000000000000000000000000050b1013191d2021242729292a2b2a29272421201e1914161a1c1d202020202020202020202020161613100b040000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e413a3c40424344444443413e3b3a36302b28231c140c06000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d2c6b9ada1979197a1acb6b9ada2978a7d7164564d4245515d6774818e9aa8b2bcb1a79f9386939facb9c6d2c8bbafa295887c6f6255493c2f221609000000000000000000000b1825313e4b5864717e8b97a4b1becac4b8ab9e9185786b5e4a3f343f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000814212e3b4754616e7a8799a3afbbc7d4c9bcafa296897c6f6356493c3023160900000000000000020c1620283036393a3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a10050000000000000000000000000000030607090c0d0c0a070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdcbbeb2a5988b7f726c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c727f8b98a5b2becbc9bcb0a396897d7063564a3d3023170a0000000000000007121d27303e4854606b75828e99a3aebac5bfb4aa9f93877c6f62595a5a5a616e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d00000a1724303d4a5763707d8a97a1adbbc2c2c2bfb4aa9e948e81786f6a64615e565c5d565e6164686e757e87939fa6b0bbc7d3c9beb3a99c8f8275665c5145382c1f130600010d19242f3a444c52545f6060606060606060606060606060575550483e30261c222e39444d555b5d60606060606060606060605e5c564e443a2f231b26323c464e5455606060606060606060606060606060585650483e34291d110500000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000010300000305060605030c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820262b31373a3b4246484b4d4f50515151504f4e4b4946443f3837322c27211a140d0500000000000000000000000000000000000000000000040b0f161c1e24292c2d303435363738373634312e2d2a251e2226292a2d2d2d2d2d2d2d2d2d2d2d2d2322201b160f0700000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4446494c4f50515151504e4b4846423b38342e261e17110a0200000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d5c9beb3a9a19ea1a9b3beb8ab9e9285796d6053463b404b55636f7c8996a0acb8bbafa49a939aa4afbbc8d4c8bbafa295887c6f6255493c2f221609000000000000000000000b1724313e4a5764717d8a97a4b0bdcac5b8ac9f928579665c5044383f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000815222e3b4855616e7b8894abb5c0cbd7c8bbaea295887b6f6255483c2f2215090000000000000000050e161e252a2d2e313131313131313131313131302f2c28211a110800000000000000000000000000060b10121316181919171413110d08010000000000000000000000000000000000000000000000000106090b0c0e0e0e0d0c0b09070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdcbbeb2a5988b7f7979797979797979797979797979797979797979797979797979797f8b98a5b2becbc9bcb0a396897d7063564a3d3023170a00000000000000000b151e2c38434f59616e7b86929fa9b3bec6bbafa4998f82766b67676767676e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d00010d1a2734404d5a6773808d9aa9b3b6b6b6b6b6aea2988f82786d66605854524d50504c5254565e616c727f8b949faab7c5d0cfc4b8ac9f9285796d6053463a2d2013070004111d2935414c565d606b6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5042382e2327333f4a555f676a6c6c6c6c6c6c6c6c6c6c6c6b6860564b3f33271d2b37434e585f626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64625a5045392d21150800000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000000000000000000000000000000000000000000000000040607090c0e0f060b0f121313120f0b1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d151d242931373c4247484d5354575a5b5d5d5e5e5d5c5a585553504947433d38332a251f170e080000000000000000000000000000000000000000060b161b21282c2f35393a3d40424344444443413e3b3936302c2d323536393939393939393939393939302f2c2721191107000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4a505356595b5d5e5e5d5c5a5854524d46443f383028221c140b03000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9dacfc4bbb3adabadb3bbbcb1a79a8d8074665c514538394854606b7784919dabb5c0b6aca49fa4acb6c0ccd8c8bbafa295887c6f6255493c2f221609000000000000000000000a1724303d4a5763707d8a96a3b0bdc9c6baaea29886796d6053463a3f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000915222f3c4855626f7b8895a2aebbd1dcc8bbaea195887b6e6255483b2f221508000000000000000000050c13191d20212424242424242424242424242423201c161008000000000000000000000000020a11171c1f20232526252421201d19130d0701000000000000000000000000000000000000000000060c121518181b1b1a191817161413100d0708060200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdccc0b3a79b918b8686868686868686868686868686868686868686868686868686868b919ba7b3c0ccc9bcb0a396897d7063564a3d3023170a0000000000000000030c1b27323d46535f6973808d97a2adb9c6c0b5ab9f948a7d747474747474747b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d0003101d2a3643505d697683909ca9a9a9a9a9a9a9a99f92867b6e665c544e47464143434146474d525a626d76828f9caab4becad3c6baaea298887b6f6255483c2f221509000713202c3945525d686d787979797979797979797979797979706c61544a3f34282a36434f5b67717779797979797979797979797872685c5043372a262f3847545f6a6f797979797979797979797979797979716c6256493d3024170a00000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000205070c10131316181a1c1d171b1f20201f1b171e26323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000000000000000000060f181f272f353c43474d5355575e616466686a6a6b6a6a69676562605b53544e48443d363029201911080000000000000000000000000000000000020a111721272c33383a4145474a4d4f505151514f4d4b4746413b38383e42434646464646464646464646463d3b38322b23190f040000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a545c606366686a6a6b6a696765615e5753504a423d332d261d150c030000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d6cdc4beb9b8b9bec4b8aca095887c6f62544b403438434f5966727f8c99a3afbbbeb6afacafb6bec7d2ddc8bbafa295887c6f6255493c2f22160900000000000000000000091623303c4956636f7c8996a2afbcc9cabfb4aa93877a6d60544743434c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000916222f3c4955626f7c8895a2afbbc8d4c7bbaea194887b6e6155483b2e2215080000000000000000000002080d111314171717171717171717171717171614100b05000000000000000000000000090c141c23282b2d2f323332302d2c29241e18120c04000000000000000000000000000000000000000911181d2224252827272625242220201d181514120f0a060200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdcfc3b8ada39b98939393939393939393939393939393939393939393939393939393989ba3adb8c3cfc9bcb0a396897d7063564a3d3023170a000000000000000008111a232a36424d57606d7a85929eaab4bfc7bdb0a69e918480808080808080818e9ba7b4c1ceccbfb3a6998c807366594d4033261a0d0004101c2834404b556b7885929c9c9c9c9c9c9c9c9c9b8e8174695e544a423c3936303036393b4146515b63707d8998a2aebac6d3cabfb4aa978a7d7164574a3e3124170b000714212d3a4754606d7a8586868686868686868686868686867e70665c5044392f233744515d6a7783868686868686868686868684786b5e514538222d38414f59626f7c8786868686868686868686868686867e7164584b3e3125180b00000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000002080e1114181c1f20232527292a22272b2d2d2b27222b2a323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000000000000000000610182129313940454e53575f6166696e71737576777777777674726f6c65626058544f46423b332b231a1208000000000000000000000000000000030c141c232832383e44484c5254575a5c5c5d5e5d5c5a5754524c4844434a4e505353535353535353535353534948443d352b21160b0000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675e61666d6f7375767777777674716e6964605c544f443f382f261e150a0000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dfd6cfc9c6c4c6c9bfb4ab9d9083776a5f5342392e323d4754616e7b86929facb9c5c0bbb9bbc0c7d0d9d5c8bbafa295887c6f6255493c2f221609000000000000000000000916222f3c4955626f7c8895a2afbbc8d0baaea194877b6e6154505050505966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000916232f3c4956626f7c8995a2afbcc8d4c7bbaea194887b6e6155483b2e221508000000000000000000000000010507070a0a0a0a0a0a0a0a0a0a0a0a0a090704000000000000000000000000020b121b1e262e34383a3c3f403f3d3a39352f29241d160d05000000000000000000000000000000000009131b23292e31323434343332312f2d2c292422211f1a15120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd4c9beb5ada7a59f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa5a7adb5bec9d4c9bcb0a396897d7063564a3d3023170a00000000000000060f1a232b353d464e555d68727f8b98a3aebac7c2b9aca096918d8d8d8d8d8d8d8e939da9b6c2cfccbfb3a6998c807366594d4033261a0d0006131f2c3845515c6779868f8f8f8f8f8f8f8f8f8f8f8a7e7164564d4239302d2a25252a2d30363f4653606c7985929fabb8c5d2d0beb2a5988b7f7265584c3f3225190c000713202c3945525d68717e8b9493939393939393939393939184786d60554b4034293744515d6a7784909393939393939393939184786b5e51453827333f4953606b76828f9a93939393939393939393999083776c605346392d20130600000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e11000000000000000000000000000000000000040b0f14191e2023282c2d2f323436372d3337393937332d3736353f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000000000000000061018222a333b434b51585f62696e73777b7e8082838484848382817e7c78746f6a636059524d453d352c241a120800000000000000000000000000030d151e262e343d44484f55565d60636768696a6b6a696764615e56544f46545a5d60606060606060606060606056544f473d32271b100400000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d817467686d73797c7f828384848483817e7b76716d666059504a423830261c110600000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e8e1dad5d2d1d2c7baaea3998b7f7265584e4330272d3946525e6875828f9ca9b3bec9c8c6c8ccd2d9e2d5c8bbafa295887c6f6255493c2f221609000000000000000000000815222f3b4855626e7b8895a1aebbc8c8bbaea295887b6f625c5c5c5c5c5c66727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000916232f3c4956626f7c8995a2afbcc8d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d242d30383f4446494b4c4c4a4745413a352f281f170e0500000000000000000000000000000006111b252d343a3d3f414141403f3e3c3a39352f2f2e2b26211e1a15100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd9d0c7beb8b3b2acacacacacacacacacacacacacacacacacacacacacacacacacacacb2b3b8bec7d0d6c9bcb0a396897d7063564a3d3023170a000000000000030d17212b353d474f585f676d737b86929facb8c5c9bdb2a8a09e9a9a9a9a9a9a9a9b9da5afbac6d2ccbfb3a6998c807366594d4033261a0d000713202d3a4653606d79828383838383838383838383827c6f6255493c2f27201e19191e20252b3844505b667784919daab7c4d0ccbfb2a5998c7f7266594c3f3326190c0004111d2935414c56606c78839099a39f9f9f9f9f9f9f9fa0958b7e71675c51453a2f3744515d6a7784909d9f9f9f9f9f9f9f9e9184786b5e5145382b3744505b65707d89949f9f9f9f9f9f9f9f9fa99f92877c6f655b5044372b1f120500000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000000000000000000000000000003090f161b1f252a2d2e34383a3c3f414244453f444646443f45444342404c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000000000000050e18222a343c454d555d606a6f757b8084878a8d8e90909191908f8d8b8885817c76706b615e574f473e362c241a0f060000000000000000000000030c151f2730383f444f54596163686d707375767777777674716e68636059535e66696c6c6c6c6c6c6c6c6c6c6c6c6360594f44382c20130700000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d81746c727a8085898c8e909191908f8d8b87837e78706b605b544a42382e23171007000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e3ebe6e1dfded2c5b9ac9f92867a6d6154473c32212a36414d5664707d8a97a1adb9c6d2d2d4d8dde4ebd5c8bbafa295887c6f6255493c2f221609000000000000000000000815212e3b4854616e7b8794a1aebad1c9bcafa296897c6f6969696969696969727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000916232f3c4956626f7c8995a2afbcc8d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000003030303030303030303030303020000000000000000000000000009131d262f363e424a5053565859585754514c454039312920170b0200000000000000000000000000010c18232d373f464a4b4e4e4d4c4b4a494745403f3b3a37312e2b261f1c160f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd7dcd0c9c3c0beb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9bec0c3c9d1cecdc9bcb0a396897d7063564a3d3023170a00000000000009141f29333d474f59606a6f7980869298a3aebac7cec4bab2acaaa7a7a7a7a7a7a7a7a9afb7c1cbd6ccbfb3a6998c807366594d4033261a0d0006131f2c3845515c676d767676767676767676767676766f6a5f53473b2e1d15110e0d11141c28343f4a546a7783909daab6c3d0ccbfb2a5998c7f7266594c3f3326190c00010d19242f3a44505b656f7c87929fa9b3acacacacacb1a79e9184796d60564c41353744515d6a7784909daaacacacacacab9e9184786b5e514538343f4a54606c7883909da6b0acacacacacacada1978d80746a5f53493f33271b0f0300000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e11000000000000000000000000000000060b151a21272c3036393b404546494b4d4f50514950535350495251504f4d4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000000000020c16202a343c464e575f676d737c82878c919697999b9d9d9e9d9d9c9a9897928e89837d756e69605950483e362c21180c03000000000000000000000a151e273139424a505960636b70767a7d80828384848482807e7a76706b615f667076797979797979797979797979706b6054483b2f22160900000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174777f858c9197999b9d9d9e9d9c9a9895908a837d736c665c544a3f342822190c030000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e3f7f1eee1d5c9beb2a99b8e8275685e5246392d2025303b4653606d7985929eabb8c3cdd8e0e4e8eee2d5c8bbafa295887c6f6255493c2f221609000000000000000000000714212d3a4754606d7a8793a0b5bfcbc9bdb0a3968a7d767676767676767676767f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000916232f3c4956626f7c8995a2afbcc8d4c7bbaea194887b6e6155483b2e221508000000000000000000000000020608081010101010101010101010100f0f0c0904000000000000000000030d1b252f38414850545c606265666563605d55514b433a32291d140a0000000000000000000000000006121d29343f495156585b5a5a5958575553514b4c4847433c3a37312c27211b150c07010000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0c7cbd1d8d4cfcccbc6c6cdc8c4c3bcbcbcbcbcbcbcbcbcbcbcbcbcbcbebfc3c9c6c6c6cbcccfcac5c1c0bcbcb0a396897d7063564a3d3023170a0000000000020e1a26313b454f59606b707c838c9298a2aab4bfcbc7c6c2bdb9b7b3b3b3b3b3b3b3b4b6bac1c9d2d9ccbfb3a6998c807366594d4033261a0d0004101c2834404b555c6069696969696969696969696969625f584e43372b1f1a1a1a1a171b1f2b3844505c667784919eaab7c4d1cbbeb1a4988b7e7165584b3e3225180b000008131e27333f49535f6a74808d97a1adb9b9b9b9b9b9ada1968c7f72685d52453b3044515d6a7784909daab7b9b9b9b7ab9e9184786b5e5145383844505c66717e8a959fabb8b9b9b9b9bdb0a69e92857a6d60584e41382d22170b0000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e1100000000000000000000000000020a111720262b32383b4146474b515356585a5c5d5e5f5b60605b5f5f5e5d5c5a585965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000000000008131e28323c464e585f696e7980878f93999ea0a8a6a8a9aaaaaaaaa9a7a9a19e9b959089827b706b615a50483e332a1e150b00000000000000000006111c263039434b545c606b6f777d82868a8d8f8f9091908f8d8a86827d766e696a76828686868686868686868686867d706356493d3023160a00000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d807a818b92989ea1a9a8a9aaaaaaa9a7a79f9d95908780786d665c504440342b1e150b0000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e3eff8ebdfd2c6b9ada1978a7d7063564c41362a1d1f2c3844515c6674808d9aa7b1bcc8d4e2edf4f9e2d5c8bbafa295887c6f6255493c2f221609000000000000000000000713202d3a4653606d798699a3aebbc7d0c3b7aa9d90838383838383838383838284919eaab7c4d1c9bcafa296897c6f6356493c30231609000916222f3c4955626f7c8895a2afbbc8d4c7bbaea194887b6e6155483b2e2215080000000000000000000003090e1214151c1c1c1c1c1c1c1c1c1c1c1c1c1b1915100902000000000000010b151f2d37414a535a62666d6f727372706d67605d554c443a2f261b11060000000000000000000000000915222e3a46515b626567676766656462605d555855534e4847423c38332b272018120b0300000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b1b9bbbfc6cfd8e3d9d8d4cbc2bcb8b6afafafafafafafafafafafafafafb1b3b8bec7d0d2d8d2c8c0b9b5b3afafafa396897d7063564a3d3023170a000000000005121e2a36424d57606b707d8691959fa2aab4bcc6c0bbb9b5b2b1b0b0b0b0b0b0b0b0b1b3b7bec7d0d9ccbfb3a6998c807366594d4033261a0d00000c18232e39434b51535c5c5c5c5c5c5c5c5c5c5c5c5c55534e463c3226272727272722272b303a4653606d7985929facb8c5d2c9beb3a9978a7d7064574a3d3124170a0000010b17222d38414e58606d7a85919ea6b0bdc7d1c9bdb2a89f92857a6d60574d423644515d6a7784909daab7c3c6c4b7ab9e9184786b5e514535404b55606d7884919ea7b1bccac6cbc0b5ab9f948b7e71685d52463c2f261b11060000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e11000000000000000000000000030b141b222731373d44484d5254545c60626567696a6b6c656c6c656c6b6a696867656365727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000000000040d1925303a444e585f6a6f7b838d92999fa4abacb2b3b5b6b7b7b7b6b5b4b3adaba79f9d948f857d716c615a50463c30271c120700000000000000000c17232e38424b555d666d737d838a8f93999a9b9c9d9e9d9c9a99928f89827b706e7b88949393939393939393939285796d6053463a2d20130700000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e81838e939fa2aaadb3b5b6b7b7b7b6b4b1aba7a099938c81786d605b51463d30271c120700000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e3eff3ebded1c4b8ab9e9184796d6053463a3025191c2834404a54626f7c88959fabb8c6d0dce7f3eee2d5c8bbafa295887c6f6255493c2f2216090000000000000000000006121f2c3844515c667986929facb9c5d2c5b8aca095908f8f8f8f8f8f8f8f8f8f9196a0acb9c5d2c9bcafa296897c6f6356493c30231609000815222f3b4855626e7b8895a1aebbd2ddc8bbaea195887b6e6255483b2f221508000000000000000000060e151a1e2122292929292929292929292929292825211b140c03000000000007121d27313f49535c646c71787c7e7f7f7d7a746d675e564c41382d22170b0000000000000000000000000b1824313d4a56626d727474747372716f6d676865625f5855534d48443d373229241d150d06000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa2a4acaeb5bdc6d1dce4d8cdc2b9b1aba9a2a2a2a2a2a2a2a2a2a2a2a2a2a2a5a7adb5bec9d4d6cac0b6aea9a6a2a2a2a296897d7063564a3d3023170a00000000000714212d3a46535f69707d879298a0a7aeb4bcc1bdb5afaca9a6a4a3a3a3a3a3a3a3a3a5a7acb5bec9d4ccbfb3a6998c807366594d4033261a0d000007121d273039404546505050505050505050505050504947433c34333333333333332d33373b434c56626f7c8998a2aebac6d2c6b9ada197887b6e6155483b2e22150800000006111b262f3c45525d68717e8b949fabb5c0cbcfc4baada2978d8073695e52463c44515d6a7784909daab7c3d0c4b7ab9e9184786b5e51453945515d67727e8b96a0acb9c3cdd4c7bbafa3999083786c60564c41342a1d140a000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000000000000000000030c151d262d333c43474f54565e6165666d6f7274757778787979797979787776757372706e727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000000010c161f2a36414c565f6a6f7c8590959fa3abafb5b9bdc0c1c0bfbebec0c2c0beb9b8b1aba69e9792877e716c61584e42392e23180c0100000000000003101c28343f4a545d676d78808790959c9fa4aba8a9aaaaaaa9aba39f9c948f867e727f8c98a69f9f9f9f9f9f9f998d8073675c5145382c1f130600000815212e3b4854616e7b8794a1aebac7d2c6b9ac9f938790949ea5aeb3b9bebec0c3c4c3c2c0bcb8b1aba49f938e81756d63584e42392e23180c01000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e3e6e6e0d4c7bcb1a7998d8073665c504438281e1318232e3947535f6a7783909daab4bfcbd6e3e6e6e2d5c8bbafa295887c6f6255493c2f2216090000000000000000000004101c2834404a5f6c7885929fabb8c5d2c8bcb1a7a09d9c9c9c9c9c9c9c9c9c9c9ea0a8b2bdc8d4c9bcafa296897c6f6356493c30231609000815212e3b4854616e7b8794a1b5c0ccd7c8bbafa295887c6f6255493c2f2216090000000000000000060f181f262b2e2f3636363636363636363636363634312c261e150c02000000000c18242f3943515b646e747e84898b8c8b8a8680796d685e53493f33271b0f0300000000000000000000000c1825323f4b5865727f8181807f7e7d7c7a7875726e6a66625f57544f47433d352f271f180f080000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9696979fa3abb5bfcbd7ddd4c8bcb1a79f9d9696969696969696969696969696989ba3adb8c3cfd1c5b9aea49d9a9696969696897d7063564a3d3023170a000000000714202c38444f59616e7b859299a2aab1babfc0b8b0aba49f9c99979797979797979797989ba3acb7c3cfccbfb3a6998c807366594d4033261a0d0000000b151e272e34383a434343434343434343434343433c3b3a3b4040404040404040413f44464d555e6873808d99aab4bfcacfc5b8ab9e928578695f53463a2d211407000000000a141d2935414c56616c76829099a3afbbc4cfcabeb3a99f92867b6e61574e4244515d6a7784909daab7c3d0c4b7ab9e9184786b5e5145414c56606d7985919ea8b2bdcbd5c9beb3a99f92877c6f655b50433a2f22180b02000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e1100000000000000000000030d151e272f383f444e53596063686e7276797c7e8082838485868686868585848382807f7d7b787f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000000007131d28313a46525e686f7c859297a0a7afb5bbc0c4bdb9b7b4b2b1b1b3b6b9bbc0c2bcb8b0a9a19992877e716a5f544a4034281d13070000000000030e18222c3844505c666d79828c9399a0a7acafb5b5b6b7b7b7b5b5afaca69f9892887e818f9ba8acacacacacaea398897c7063554b4034281c100400000815212e3b4854616e7b8794a1aebac7d4c8bbafa49a939a9fa6afb7b4b2b1b2b3b6b7bcc2c7c7c3bdb5afa59e938c7f736a60544a4034281d1207000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d9d9d9d9d1c4b8ab9f95887b6e62544a3f3428160c121c2b37434e5865727e8b98a3aebac7d3d9d9d9d9d5c8bbafa295887c6f6255493c2f22160900000000000000000000000c18232e45525e6b7885919eabb8c4d1cec3b9b1acaaa9a9a9a9a9a9a9a9a9a9aaacb2bac3ced9c9bcafa296897c6f6356493c30231609000714212d3a4754606d7a8799a4afbbc7d4c9bcafa296897c6f6356493c3023160900000000000000030e18212a31373a3b43434343434343434343434342413d3730271e140900000004101d2935404b55626d74808b919698999898928d837a6d655b5044372b1f120500000000000000000000020f1c2935424f5c6875828e8d8d8c8b8a888684827f7b78736e69636059544e454039312a211a110800000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808989898a9299a3aebbbfcbd4d1c4b8ab9f959089898989898989898989898989898b919ba7b3bfcccec1b5a99d928d8989898989897d7063564a3d3023170a000000000916232f3c4855616b76828f97a2abb4bcc3c0b6aea69e99938f8c8b8a8a8a8a8a8a8a8a8b919ba7b3bfccccbfb3a6998c807366594d4033261a0d000000030c151d23282c2d363636363636363636363636343c4347484d4d4d4d4d4d4d4d4e495053575f676d7a86929facb8c5d0c7bdb0a69b8e817468574d42362a1e120500000000020b19242f3a43505a626f7c87929fa9b2bec9cfc5baaea2988e81746a5f534744515d6a7784909daab7c3d0c4b7ab9e9184786b5e514546525e68737f8c97a1adbac3cecfc7b9ada1978d80746a5f53493f31281e100600000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e11000000000000000000010b151f273039414950585f626b6f757b7f8285898b8d8f90919292999992929291908f8d8b8a878584919eabb7c4d1d0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a43505a616d7a849197a1a9b1bbc0c4bdb9b2acaba7a5a4a5a6a9acafb5bdc1c1bbb3aba39992867c6e665c51443a2f24180d01000000000a15202b38434e58606d78828f949fa4abb1b9bbc0c2c2bebab8b7b7b8b9b0aaa29a938786929facb8b9b9b9b9ac9f9286796d6053473a2e23180c0000000815212e3b4854616e7b8794a1aebac7d8ccc0b6aca49fa4acb0acaaa7a5a4a5a6a9abb0b7bbc2cac7c0bbafa59f92877c6f665c5144392f23180c000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cdcdcdcdcdcabfb4aa9d9083766a5f5342382e2317050f1b26313c4754606d7a86929facb8c4cecdcdcdcdcdc8bbafa295887c6f6255493c2f2216090000000000000000000000071e2b3744515e6a7784919daab7c4cdcdcbc3bcb8b7b6b6b6b6b6b6b6b6b6b6b7b9bdc3cccdcdc9bcafa296897c6f6356493c30231609000713202d3a4653606d7986939facb9c6d2cabdb0a3978a7d7064574a3d3124170a0000000000000009151f2a333c4247484f4f4f4f4f4f4f4f4f4f4f4f4f4d49423930261b1004000006131f2c3945515d67727f8b929ea1a8a6aaa29f959082776c605346392d20130600000000000000000000020f1c2935424f5c6875828f9a9a9998979a93918f8b8884807b76706b626058514b433c332c231a1208000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b7c7c7c7e87929fa4aeb8c2ced0c3b6a99d90837d7c7c7c7c7c7c7c7c7c7c7c7c7c7f8b98a5b1becbcdc0b3a69a8d807c7c7c7c7c7c7a6d6054473a2d21140700000005111e2a36414d5663707d8a949fa9b3bdc6c2b8aea49d948f87827f7e7d7d7d7d7d7d7d7d7f8b98a5b1becbccbfb3a6998c807366594d4033261a0d00000000030b12181c1f202929292929292929292926313c464e53555a5a5a5a5a5a5a5a5a535b6062696e79828f98a2aebac6cbc0b5ab9f94897c6f6256493c31261a0e02000000000008131e28313e47535f6a74808d97a1adb9c2cfcabfb4aa9f92877b6e62584e43515d6a7784909daab7c3d0c4b7ab9e9184786b5e51424d57616d7a85929fa9b3beccd1c7bdb0a69e92857a6d60584e41382d1f160c0000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e1100000000000000000007121d273139434b535b606a6e767c82878b8f9298989a9c9d9e9f9fa3a39f9f9e9d9c9b9a989697929196a1acb9c5d2d0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000004111d2935404b55626c76828f96a1a9b3bbc3c2bab2aca8a19e9a999798999c9fa4abafb7bfc5bdb5aba2989083786d60554b4035291d1104000000020f1a26313b4754606a73808d949fa6afb5bdc3c7c0bbb9b3aeabaaaaabaeb3b4aca49a939298a2aebac7c6c3b6aa9d908377675c5145382c1d12070000000815212e3b4854616e7b8794a1aebac7ddd2c7beb6afacafaba8a09d9a989798999c9fa6abb0b8c0c8ccc1bbafa3999184786d60554b4034291c10040000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc0c0c0c0c0c0c0baaea2988b7e7165574e4230261c11060a15202c3945525d6875818e9ba8b2bdc0c0c0c0c0c0c0bbafa295887c6f6255493c2f2216090000000000000000000004111d2a3744505d6a7783909daab6c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0bcafa296897c6f6356493c302316090006121f2c3844505c667884919eabb7c4d1cbbeb1a5988b7e7265584b3f32251808000000000000020e1a26313c454d53555c5c5c5c5c5c5c5c5c5c5c5c5c5a544b42372c21150900000714202d3a4753606d7985929fa4acb2b2b4aea79f948a7d7064574a3d3124170a00000000000000000000020f1c2935424f5c6875828f9ba7a6a5aca49f9e9b9896918d88837d766f6a605d554e463e352c241a12080000000000000000000000000000000000000000000000000000000000000714212d3a46535e696e6f6f6f717e8b929ca6b0bcc5d0c4b8ab9f95897c6f6f6f6f6f6f6f6f6f6f6f6f6f7c8996a2afbcc9cbbeb2a5988b7f726f6f6f6f6f6d685d5245392c2013070000000714202d3946525e6876828f9ca6b0bbc5c7bcb0a69d928d827b76737170707070707070707b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d000000000000070c1013131d1d1d1d1d1d1d1d1d1f2b37434e585f6266666666666666666768656c6f747b828f949faab4bfcac0bbafa3999083766a6054483b2e1f1409000000000000010c161f2b37434e58606d7a84919ea6b0bdc7d0c6bbafa3998f82756a605447515d6a7784909daab7c3d0c4b7ab9e9184786b5e5146535e6973808d98a2aebbc4cfcbc0b5ab9f948b7e71685d52463c2f261b0d040000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000000000000050f18232f39434b555c656c727c82898f93999c9fa2aaa7a8aaababacaeafacacabaaa9a8a6a5a9a29e9ea1a8b2bdc9d5d0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d67717e8b949fa8b2bbc5c2b8b0a8a09e96918d8c8b8b8d9093999ea5adb5bfc7bdb4aaa0958b7f72675d5145392c20130700000006121f2b37434e58626f7c87939fa6b0bbc0c7c6bdb5afacaaa29f9e9e9fa2aaaaabaca49f9fa2aab4bfcacec2b5a89b8f827568554b4034291c0b000000000815212e3b4854616e7b8794a1aebac7d4d9d0c7c0bbaea69f9c95918d8b8b8b8d90949c9fa6aeb6c0cacbc0b5aba0968b7f72675c5145382c1f14090000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b3b3b3b3b3b3b3b3b3ac9f92867a6d6054473c3121140a0004111d2935414c5663707d8996a1acb3b3b3b3b3b3b3b3b3afa295887c6f6255493c2f2216090000000000000000000003101d2a3643505d697683909ca9b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3afa296897c6f6356493c302316090003101c28343f4a546976828f9ca9b5c2cfccc0b3a6998d8073665a4d403025190d01000000000006121e2b37424d575f6269696969696969696969696969655d54493d3125190c00000a1724303d4a5763707d8a97a2adb9bdbfbfbab0a69b8e8175685b4e4235281b0f00000000000000000000020f1c2935424f5c6875828f9ba8b2b1b6afacaba8a8a19e99948f89837c746d675f584f473e362c241a1107000000000000000000000000000000000000000000000000000000000005121e2a36424d575e616363636c73808d949fa9b3becac8bcb1a79c8f82766a636363636363636363636f7c8996a2afbcc9cbbeb2a5988b7f726563636363605d564c4135291d11040000000814212e3b4754616e7b86939facb9c2cdc4b7ab9f948d80756e696664646464646464646e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d0000000000000000040607101010101010101014212e3a47535f6a6e7373737373737373747576797c81868f949fa6b0bcc5beb9aea49f92877c6f62584e43382c1f0d0300000000000000040d1b26313c45515d67717e8a949fabb5c0cbcbc0b5ab9e93897c6f62594f515d6a7784909daab7c3d0c4b7ab9e9184786b5e514e58616e7b86929faab3becdd4c7bbafa3999083786c60564c41342a1d140a000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e1100000000000000030d17212934404b555c676d777f878f949b9fa4abacaeb4b3b5b6b7b8b9bbbbb9b8b8b7b6b5b3b2b3adababacb2bac4cedad0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000004101c2834404a54606d7985929ea6b0bac4c3bab0a69f96918984817f7e7e8083878f939ca3adb7c0c6bcb1a79e92857a6d6053473a2f24180d0100000814212e3a47535f6a76828f9aa4afb8c2ccc6bdb4aba49f9a989291919298989da0a7adacacaeb4bcc6d0cdc0b3a69a8d8073675a4d402f23180c010000000815212e3b4854616e7b8794a1aebac7d4d6ccc0b6aea49c948f8984817f7e7f8083888f949da4aeb8c2cfc7bdb2a89e9285796d6053473b31261a0e0200000000000000000000000000000000000a1723303d4a5663707d8996a3a6a6a6a6a6a6a6a6a6a6a89b8e8175675d5145392c20130200010d19242f3a4653606c7884919eaca6a6a6a6a6a6a6a6a6a6a295887c6f6255493c2f2216090000000000000000000003101c2936434f5c6976828f9ca6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a296897c6f6356493c3023160900000c17232e414e5a6774818d9aa7b4c0d0cec2b5a89b8f827568564c41362a1d110500000000000814212e3a47535f696e7676767676767676767676767570655a4d4134281b0f02000c1926323f4c5965727f8c98a9b3bec9cecac2b6a99d9083766a5d5043372a1d1000000000000000000000020f1c2935424f5c6875828f9ba8b5bec0bbb9b7b5b2acaba69f9c94908780796e6a615950483e362c23190e0500000000000000000000000000000000000000000000000000000000020e1a25313b454d535456565a606d78829097a2adbac3cdc2b7ab9f94887c6f625556565656565656636f7c8996a2afbcc9cbbeb2a5988b7f72655856565654524c443a2f24190d010000000b1724313e4a5764717d8a99a4afbbc7cfc3b6a99c9082776c615f5758575757575757616e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d0000000000000000000000030303030303030815222f3b4855626e7c808080808080808081818385898d92989fa6b0b8bfbbb3ada49c928c7f726a5f53463d32271b0f0000000000000000000a15202935414c55616c76828f99a3afbbc4cfc7bdafa59c8f82766b6153495d6a7784909daab7c3d0c4b7ab9e9184786b5e51535f6a74818e98a3aebcc5d0c9beb3a99f92877c6f655b50433a2f22180b02000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000000000009141f29333b45515c676d79818c92999fa6acafb5b8babfc0c2c3c4c2c2c1c1c1c2c2c3c3c2c0bebeb9b8b7b9bdc4ccd6dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c66727f8c97a1adb8c2c8bdb2a89f9490847d787472717273767b828c919ca5afbcc5c3b9ada1978b7e7164554b4035291d100400000815222f3b4855626e7b88949facb6c0cacbbfb4aba399938d8885848485878b90959ea1a9b1babfc6ced8ccbfb2a5998c7f7266594c3f33261907000000000815212e3b4854616e7b8794a1aebac7d9cec4baaea49c928c827c777472717273767b828d929da6b0bdc6cfc3b9ada1978b7e7165574d42362a1e120500000000000000000000000000000000000a1723303d4a5663707d89969a9a9a9a9a9a9a9a9a9a9a9a96897d7063554c4135291d1104000008131f2b3744505b6573808c9a9a9a9a9a9a9a9a9a9a9a9a9a95887c6f6255493c2f22160900000000000000000000020f1c2835424f5b6875828e9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a96897c6f6356493c302316090000061925323f4c5865727f8b98a9b3becad1c4b7aa9e918477685e5246392d20130800000000000815222f3b4855626e7b8282828282828282828282828275695c4f4236291c0f03000d192633404c5966737f8c99a6b2bfcdd3d0c3b7aa9d9084776a5d5144372a1e1100000000000000000000020f1c2935424f5c6875828f9ba8b5bcbec0c3c4c2bdb9b7b0aba69f99938d847c706b615a50483e352b20170b020000000000000000000000000000000000000000000000000000000009141f29333b4246484949505c666e7b85929fa8b2bdc8c7bbb0a69b8e8175675d51494949494956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c49494745413a32281e1308000000000d1a2733404d5a6673808d99abb5c0cccabdb0a3978a7d70655b534d4b4a4a4a4a4a55616e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000a1724313d4a5764707d8a8d8d8d8d8d8d8d8d8e9092989a9fa2aab0b8bab5aea9a19e928d80746d63584e43342b21160a000000000000000000040d19242f3a43505a626f7c87929fa8b2bdc9cfc1b7ab9f948a7d70655b505d6a7784909daab7c3d0c4b7ab9e9184786b5e4f59626f7c87939faab4bfcecfc7b9ada1978d80746a5f53493f31281e100600000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e11000000000000020e1a25313b45515b606d79828e939fa3abb0b9bbc0c5c6c5c0bbb9b7b6b5b4b4b5b5b5b6b7b8babfbdbfc2c4c5c9ced6dedcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929ea9b3becac5b8aca096908279706b6766646566696e757f8c929daab4bfbebeb3a99c908376675d5145392c20130600000d192633404c5966737f8c99a6b0bec7d2c7baaea3999287817c797777787b7e838a9197a0a7b1bbc5cfdacbbeb2a5988b7f7265584c3f3225190c000000000815212e3b4854616e7b8794a1aebac7d5c9bdb2a89d928c80776f6a6765646566696e78808d949fabb5bfcbc9beb3a99d908376695f53463a2d21140700000000000000000000000000000000000a1723303d4a5663707d898d8d8d8d8d8d8d8d8d8d8d8d8d8d84786c6053463a2f24190d010000030f1b27333f4953616e7b888d8d8d8d8d8d8d8d8d8d8d8d8d8d887c6f6255493c2f22160900000000000000000000020e1b2835414e5b6874818d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d897c6f6356493c3023160900000916232f3c4956626f7c8997a2adbac6d2c5b9aca096877a6d6154473a2f24190d02000000000b1724313e4a5764717d8a8f8f8f8f8f8f8f8f8f8f8f84776b5e5144382b1e1105000b1825323e4b5865717e8b98a6b0bbc3c6c5bfb4aa9c8f8276695c4f4336291c1000000000000000000000020f1c2935424f5c6875828f9ba8aeafb1b3b6b9bbc0c6c2bbb7b0aba49f9691867d716c615a50473d32291d140a00000000000000000000000000000000000000000000000000000000030d17212931363a3b3c3f4a545e69727f8c96a0acb8c5cdc2b8ac9f92867a6d6054473c3c3c4956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3c3a39352f2820160c01000000020e1b2835414e5b6874818e9ba7b4c1d2c7baada094877a6d615349423e3d3d3d3d4855616e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000a1724313d4a5764707d8a979999999999999a9b9c9fa2aaacaeb4bbb3adaba39f97928a80786c605b51463c3122190f040000000000000000000008131e28313e47535f6a73808d96a1adb9c2cfc7bbb0a69d9083786c60545d6a7784909daab7c3d0c4b7ab9e9184786b5e58606b75828f99a4afbcc6d1c7bdb0a69e92857a6d60584e41382d1f160c0000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e1100000000000005121e2a36424d57626d75818e949ea5aeb5bdc2c7c5beb9b8b6afacaaa9a8a8a8a8a8a9aaabacaeb4b0b3b5b8b9bec5cdd6dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5464707d8a97a1adbbc5c8bcb1a79d91847a6d676059595858575f626d74818e98a2aeb2b2b2b2ac9f92867a6d6053473a2d2014070003101d293643505c6976828f9ca9b6c2d0cabfb4aa9f92877d746f6c656b696e72777d859095a0a9b3bec9d5cbbeb1a4988b7e7165584b3e3225180b000000000815212e3b4854616e7b8794a1aebac7d2c5b9aca0968d80746c656058585858575f666d78828f99a3aebbc7cfc5b8ab9f95887b6e6155483b2e22150900000000000000000000000000000000000815222f3b4855626e7b8080808080808080808080808080807e70655b504437281e1308000000000b17222d3846535e69727f8080808080808080808080808080807b6e6154473b2e21140800000000000000000000000a1724313d4a5764707e80808080808080808080808080808080808080808080808080808080808080808080807b6e6154483b2e21150800000713202d3a4653606d7985929fabb8c5d1c9bdb2a8978a7e7164554c4135291e130a07060708101c28343f4a5466727f8c999c9c9c9c9c9c9c9c9c8f8276695c4f4336291c1003000815222e3b4855616e7b88949ea9b1b8bab8b4aea2988c7f7366594c403326190d00000000000000000000020f1c2935424f5c6875828f9ba0a1a3a4a6a9acafb5b9bbc0c2bdb5afa8a09892877e716c61594f443b2f261c110600000000000000000000000000000000000000000000000000000000050f171f252a2d2e2e38424d57606d7984919ea9b3becac7baaea3988b7e7165554b40343c4956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f322d2c29241e160d0400000000020f1c2935424f5c6875828f9ba8b5c2cec6b9ada093867a6d6053473c363135353b4855616e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000a1724313d4a5764707d8a97a3a6a6a6a6a6a7a8a9abaeb4b8babeb3a9a29f99928d857e736c665b50493f342a2010070000000000000000000000010c161f2b37434e58606d7984919ea6b0bdc6cdc2b8aca0958a7e716664646a7784909daab7c3d0c4b7ab9e9184786b6464646f7c89949eabb5c0cfcbc0b5ab9f948b7e71685d52463c2f261b0d040000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000000000714212d3a46535e69727f8b939ea6afbbbfc6c9c1bbb3adabaca49f9e9c9c9b9b9b9b9c9d9e9fa2aaa4a6a8abadb3bbc5cfdad0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6675828e9ba9b3becdc5b8aca095897d70685d554f4c4b4b4d535b616d7a85929fa5a5a5a5a5a5a399897c706356493d3023160a0005121f2b3845525e6b7884919eabb8c4d1c6baaea2988c7f726b62605b575e61656c707a839097a1adb9c6d2cabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7d1c4b7aa9e9184796d605b534e4c4b4c4d545c666e7b86929facb9c5cfc8bcb1a7988c7f7265594c3f30251a0e02000000000000000000000000000000000814212e3a47535f696e737373737373737373737373737373706c6153493f3327160c010000000006111b2a36424d57626d727373737373737373737373737373736e695e52463a2d20140700000000000000000000000a1623303c4955616c7073737373737373737373737373737373737373737373737373737373737373737373736e695e53463a2d211407000006121f2b3844505c6675828f9babb5bfcbcec1b4a89b8e8175675d51453a30241c141313131419202b3844505c6675818e9ba8a9a9a9a9a9a9ac9a8d8073675a4d4034271a0d01000714212d3a46535f6975828f97a0a7abadacaaa29f92867a6e6154473b2e21140800000000000000000000020f1c2935424f5c6875828f9993959697999d9fa3abacafb6bec1c0bbb2aaa29992877e716b60564d42382d22170b0200000000000000000000000000000000000000000000000000000000050d141a1e212126303b44515c66717e8b97a1adb9c6cbbfb4aa9c8f8275675c5145383c4956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225201d19130c040000000000020f1c2835424f5b6875828e9ba8b5c1cec8bbaea195887b6e62574e4642424242424855616e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b3b3b3b3b4b4b6b8babec5c6baada297928c86817a716c605b544a3f372e22180e00000000000000000000000000040d1a26313c45515d67717e8a949fabb5bfcbc8bcb1a79e918478717171717784909daab7c3d0c4b7ab9e918478717171717683909ca6b0bdc7d2c7bbafa3999083786c60564c41342a1d140a000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e11000000000005121e2a36424d57616e7b86929fa5afb8c1cbc8bfb7afa9a29e9a9a93918f8f8e8e8e8f8f909192989597999c9ea1a9b3bec9d5d0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5cfc3b7aa9d9084776b61564c433f3e3f4247525d6875818e9898989898989898988b7e7265584b3f3225180c0005121f2b3744505b657986929facb9c5d2c5b8ac9f9285796d605953504d53545a61686e7a85929eabb8c5d1cabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675c5149413f3e3f424a545e6974818e9ba9b3becacdc2b5a89b8f827568574d42362a1e12050000000000000000000000000000000006121e2b37424d575f6267676767676767676767676767676764615a5041382d2217040000000000000e1a25313b45515b6265676767676767676767676767676767615e564d42362a1e110500000000000000000000000814202d3944505a61646767676767676767676767676767676767676767676767676767676767676767676767615e574d42362a1e1205000003101c28343f4a5465727f8b99a3aebbc7d2c5b8ac9f92867a6d60564c41352d2621201f20212429323b4653606d7985929eabb5b5b5b5b5afa49a8a7d7064574a3d3124170a000005121e2b37424d57616e7b8591959c9fa29f9d98928b7e71685e5246392d20140700000000000000000000020f1c2835424f5b68758186868788898b8d9092999c9fa4acafb9bec3bcb3aba39992877d6f685e544a3f33281e1408000000000000000000000000000000000000000000000000000000000003090e1214141e2834404a54606d7985929eabb8c5d0c5b8ac9f9285796d6053473a3c4956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f322519110d0801000000000000010e1b2734414e5a6774818d9aa7b4c0cfccbfb3a6998c80736a5f58534d4e4e4e4e4e55616e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc0c0c0c0c1c3c5c6cad0c5b8ab9f92857f7a746d68615a504a42382d251c100600000000000000000000000000000a15202935404b55616c76828f99a3aebbc4cdc3b9aca0968d807e7e7e7e7e84919eabb8c4d1c5b8ab9e92857e7e7e7e7e808c949fabb8c1d0c9beb3a99f92877c6f655b50433a2f22180b02000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e1100000000000714212d3a46535f6974818e98a2aeb7c1cacabfb6aea59d97928d8986848382818182828283848587898a8c8f9297a1adb9c6d2d0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8997a2adbac6ccc0b5ab998c7f7366594f433a31313137414c5665727f8b8b8b8b8b8b8b8b8b8b8b7f7366594c403326190d000613202d394653606c798698a3aebac7cfc3b6a99c908376675c51464442464850565e68727f8b98a5b2becbcabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d817467554b40382f313038424d57626f7c8997a1adb9c6d1c5b8ab9e928578695e52463a2d20140700000000000000000000000000000000020e1a26313c454d53555a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e2f261b110600000000000009141f29333f495157595a5a5a5a5a5a5a5a5a5a5a5a5a5a5a54524d443b3025190e02000000000000000000000004101c28333e485055575a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a54534d453b31251a0e020000000b17232e3a4754616d7a86929facb9c3cec7baaea2988c7f72685d52463f382f2e2d2c2d2e2f353c444f59636f7c8997a2adb9c2c2c2b9ac9f93877a6e6154473b2e2114080000020e1a26313c46535e696e7c838b8f929792908d867e716c62564c41362a1e110500000000000000000000020e1b2734414d59656f7579797a7b7c7e8083868a8f939a9ea5adb3bbc3bdb5aba39991857a6e665b50443b3025190e030000000000000000000000000000000000000000000000000000000000000205070c18232e3945515c6774808d9aabb4bfcbc6baaea298897d7063564a3d3c4956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c010000000000000000000c1925323f4c5865727f8b98a9b3bec9d2c5b8ac9f92867c6f6a615e575b5b5b5b5b5b616e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b6b6b6b6b7b8b9bbc0c5c6c6b9ac9f9388817b736d665e564d453b32281d140a000000000000000000000000000000030d18242f3a43505a626e7c87929fa8b2bdc9c9bdb2a89d928d8b8b8b8b8b9196a1adb9c5d2c6b9ada197928b8b8b8b8b8c929ca6b0bccacfc7b9ada1978d80746a5f53493f31281e100600000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e1100000000000815222e3b4855616e7b87929faab4bfc9cdc2b8aea49c938e85817c7a77767575757575767778797a7c7d808285929eabb8c5d1d0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a9b3becac7bbafa499897c6f6356493d31282526303b4855626e7c7f7f7f7f7f7f7f7f7f7f7f7d6f6356493c302316090005121f2b3744505b657985929facb8c5cfc2b5a89c8f827569554b4037363a3e444d5664717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e412e262526303b4653606c7985929eabb8c5d1c6b9ada297877b6e6154483b2e21150800000000000000000000000000000000000915202a333c4247484d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49443e362c1d140a00000000000000030d17212d373f464a4c4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4746423b32291f1409000000000000000000000000000b17222c363e44494a4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4846423b33291f1409000000000613202d3946525e6875828f9ba8b2bdc8cabfb4aa9e92857a6d615b504a423c3a39383a3a3c41454d56606b75828f9ca9b3becacbbfb5ab9d908376685e5246392d20140700000009141f2a36424d575f6a6e787e8285868583807b716c625a50443b3025190e0200000000000000000000000c1825313d48535d6568656c6d6e707173767a7d82878e939ea1a9b1b9c3bdb5aba1979082786c60564c41362a1f140900000000000000000000000000000000000000000000000000000000000000000007121c2934404b5563707d8a99a3aebac7cabfb4aa998c7f7366594c403c4956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c000000000000000000000916232f3c4956626f7c8997a1adb9c6d0c7baaea29891847c736e6969686868686868686e7b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000a1724313d4a5764707d8a97a3aaaaaaaaaaaaabacafb6b8babfbbafa49a938e877f786d685f574d443a2f261c110600000000000000000000000000000007131d28313e47535f6a73808d96a1adb9c2cfc4baaea49d9a97979797979ea1a8b2bdc9d5cabeb3a9a19e9797979797999ca4aeb9c2cdc7bdb0a69e92857a6d60584e41382d1f160c0000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000006121f2b37434e586673808d99a3afbcc5d0c7bbb0a69c928d817a746f6d67696968686868696a6b686d6f7173757f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1d0c6b9ac9f93867a6d6053473a2d2016212e3a47535f6a6e72727272727272727272726f6b6054483b2f22150900030f1b27333f495e6b7884919eabb7c4d0c3b7aa9d908477675d51453c3731323e4b5864717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e413427141f2b3844505b6675818e9ba8b5c1cecabeb3a996897d7063564a3d3023170a0000000000000000000000000000000000030e18212a31373a3b4040404040404040404040404040403d3c39332c241a0b020000000000000000050f1b252d353a3e3f4040404040404040404040404040403b3a36302920170d020000000000000000000000000005101a242c33393c3d40404040404040404040404040404040404040404040404040404040404040404040403b3a36312921170d030000000005111e2a36414c5663707d8a96a0acb8c2d0c6b9ada1978e81756d605b544e494746454647494c52575f686f7c89949eaabbc5cfc7bbaea3998c7f7266564c41362a1e1105000000030e1a25313b454e575f666d717678797977736e69625a50483e32291e14080000000000000000000000000915202c37424b5359535b606062636466676d70767b818a9297a0a7b1bac4bdb3a99f948b7f72685e52463b31251a0e010000000000000000000000000000000000000000000000000000000000000000000c18232f3a4753606d7a86929facb9c5d0c2b5a89c8f827569564c413c4956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c000000000000000000000713202d3a4653606d7985929eaab4bfcacabfb4aaa1969186807b777675757575757575757b8894a1aebbc7ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000a1724313d4a5764707d8a979d9d9d9d9d9d9d9e9fa4acacaeb4bcb6aca49f99928c837a6e695f564c42382d22170b010000000000000000000000000000010c161f2b37434e58606d7984919ea6b0bdc6ccc0b6aea9a7a4a4a4a4a4abadb2bac4cfdacfc5bbb3adaba4a4a4a4a4a6a8aeb6bfcbcbc0b5ab9f948b7e71685d52463c2f261b0d040000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e11000000000814212e3a47535f6a7884919eabb5c0ced0c4b7ab9f948d80746d6763605d555c5b5b5b5c5c5d565e61626466727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc4b7aa9e918477675d5145382c1f131f2b37434e585f6265656565656565656565656360594f44382c1f130700000b17222d434f5c6976828f9ca9b5c2cec5b9ac9f92867a6d60574d4742403f3e4b5864717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b1c28333f4a5466737f8c99a6b2bfcccfbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000060f1820262b2e2f34343434343434343434343434343431302d28221a12080000000000000000000009131b23292e31323434343434343434343434343434342e2d2a251f170e0500000000000000000000000000000008121a22282d303134343434343434343434343434343434343434343434343434343434343434343434342e2d2a251f170f050000000000010d1925303a4653606c7884919da7b1bdc7c9beb3a99e938c7f736c66605856545251535455565d60696e7a84919ea6b0bbcdccc0b5ab9f92867a6e6154473b3025190d010000000009141f29333c454e545c606569666c666a66615e5650483e362d20170d02000000000000000000000000040f1b25303942484d49505354555658555d60636a6e747d859095a0a8b2bcc4bbb0a69f92857a6e61574d42362a1d130700000000000000000000000000000000000000000000000000000000000000000007131f2c3945515d677783909daab6c3d0c5b8ab9e928578685d52463c4956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c0000000000000000000006121f2b3844505c6673808d98a2aebac2cbc6bcb2a8a199928d8784828181818181818181828f9ba8b5c2ceccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000a1724313d4a5764707d8a909090909090909192939a9a9fa2aab0b8b6afaba39f9590847b6e685d544a3f33281e1308000000000000000000000000000000040d1a26313c45515d67717e8a949fabb4bfcbc8c0b9b5b4b1b1b1b1b1b8b9bdc4ccd6e0d7cdc5beb9b8b1b1b1b1b1b3b4b9bfc8d4c7bbafa3999083786c60564c41342a1d140a000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e11000000000815222f3b4855626e7c8896a1acbdc7d1c9bdb2a89c9082786c605d5553514b4f4e4e4f4f4f504c5254565965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000004101c2934404b556b7884919eabb7c4cfc3b6a99c90837669554b4035291d101a26313c464e5355585858585858585858585856544f473d32271b0f030000061a2633404d596673808c99a7b1bcc8c7bbafa3998b7f72695f57534d4d4c4b4b5864717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b17222d3e4a5764717d8a97a4b0bdcaccbfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000060e151a1e21222727272727272727272727272727272423201c1710080000000000000000000000010911181e22252627272727272727272727272727272721201e19140d0500000000000000000000000000000000000810171c202324272727272727272727272727272727272727272727272727272727272727272727272721211e1a140d050000000000000008131f2b3844505b66717d8a959fabb5c0ccc5bbafa59c918c80786f6a6562615d5c60616265686d727b839096a1adb8c1ccc7bbafa4998e8175685e524639291e14080000000000030d17212a333c424a515358545b605b545a54524d443e362d241b0e05000000000000000000000000000009141e2730373d383f44464748494b4b5153575f626c707a839096a0aab4bfc2baada2978e8174695e53463a2f24180d01000000000000000000000000000000000000000000000000000000000000000004101d2935404b556875818e9ba8b4c1cec6b9ada197877a6d6154473c4956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c0000000000000000000003101c28343f4a54616e7b86929fa6b0b9c2cbc4bab2aba39f9a96918f8e8e8e8e8e8e8e8e8f939eaab6c3cfccbfb3a6998c807366594d4033261a0d0000000000000000000406070b0b0b0b0b0b0b1623303d495663707d8383838383838383848586898e92989ea6afb7bbb5aea79f9691847a6d665b50443a2f24190d010000000000000000000000000000000915202935404b55616c76828f99a3aebac7d3cbc5c2c0bebebebebec4c5c9cfd6dfe8dfd7cfcac6c5bebebebebebfc1c4cad5c9beb3a99f92877c6f655b50433a2f22180b02000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e11000000000c1825323f4b5865727f8b98a8b2bdcfd2c5b9aca196897d70665b514c474540424242424243444146474c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677986929facb9c5cec2b5a89b8f8275685c4f422f24180c15202a333c4347484c4c4c4c4c4c4c4c4c4c4c4948443d352b21160a0000000916232f3c4956626f7c8995a0acb8c2cbc0b5ab9e92857b6e69615f57595958585864717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b16222f3c4955626f7c8895a2afbbc8cdc0b4a79a8d8174675a4e4134271b0e000000000000000000000000000000000000000003090e1214151a1a1a1a1a1a1a1a1a1a1a1a1a1a1a171614100b050000000000000000000000000000070d121618191a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1414110e090200000000000000000000000000000000000000050b101416171a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1514120e09030000000000000000030f1c28333f4a54616c76839099a4afbbc2cdc1b7ada39c928c827c76726f6d68666d6d6f72747a7f869095a0a8b2bdcac9beb3a99f93877c6f62564c41362a170d02000000000000050f18212a30394044464b4a5053504a4d4746423b322d241b1209000000000000000000000000000000020c151e252c312d3337393a3b3d3e4045474e535961686e7b849198a2aebac4beb3a99f92867b6e61554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000c18242f3f4c5966727f8c99a5b2bfccc9beb3a996897c6f6356493c4956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000b17232e3846525e68727f8c949fa7b1b9c0c8c4bdb4aeaca8a09e9c9b9b9b9b9b9b9b9b9b9ea5afbbc6d2ccbfb3a6998c807366594d4033261a0d00000000000001070c1013141717171717171717222f3b4854606b70777777777777777777787a7d81868f949ea5afbabfbbb1a8a0968f82786c60564c4135291d1104000000000000000000000000000000030d18242f3943505a626e7b86929facb9c5d2d6d1cecdcacacacacad1d2d5dae0e8f1e9e1dad6d2d1cacacacacacccdd0d5d2c6b9ada1978d80746a5f53493f31281e100600000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e11000000000e1b2734414e5a6774808d9aa7b4c0ced1c4b7ab9e9184786b60544a413a39352f35353535363036393f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8699a3aebac7cec1b4a79b8e8174685b4e4135281b070e18212a31373a3b3f3f3f3f3f3f3f3f3f3f3f3c3b38322b23190f040000000915222e3b4854606a7784919da6b0bbc5c7b9ada19791847b736e6968666565646464717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b15222e3b4855616e7b8894a1aebbc7cec1b4a79b8e8174685b4e4135281b0e00000000000000000000000000000000000000000000020608080d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0a0a080400000000000000000000000000000000000106090b0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d08070502000000000000000000000000000000000000000000000004080a0a0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0807050200000000000000000000000b17222d3842505a636f7c87939fa6b0bbc4c9bfb5ada49c949088837f7c7a7979797a7c7e81858c9298a0a7b1bac4c9c1b9ada1978e81746a5f53443b302519050000000000000000060f181e272e34383a3e3f4446443f403b3a363029201b120900000000000000000000000000000000040c131920262b30363a3b3f41464749494a49484f565e696e7b86929fa8b2bdc5bbaea3998d8174675d5145392c201308000000000000000000000000000000000000000000000000000000000000000000071824313e4b5764717e8a97a4b1bdcacfbdb1a4978a7e7164574b3e4956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c000000000000000000000006111c2a36414d56606c78828f959fa7afb8bdc3c6bfbab9b2acaaa9a8a8a8a8a8a8a8a8a8aaafb8c1ccd7ccbfb3a6998c807366594d4033261a0d0000000000030b12181d1f202424242424242424242c38444f5960636a6a6a6a6a6a6a6a6a686d70747a828e939ea8b2bdc2bab2a89f948b7e71685d5245392c2014080000000000000000000000000000000007121d28313e47535f6973808d99a6b3c0ccd6cfc9c5c4c3c3c3c3c5c7cbd0d8e0eae1d8d1cbc7c5c3c3c3c3c4c5c9ced6d1c5b8ab9e92857a6d60584e41382d1f160c0000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e1100000000101d293643505c6976828f9ca9b6c2cfcec1b4a89b8e817568594f42382f2c29242828282929252a323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793abb4bfcbcdc1b4a79a8e8174675b4e4134281b0e060f1820262b2e2f3232323232323232323232302f2c27211911070000000007131f2c38434e5864717e8a949fa9b3bbc3beb3a9a0969186807b7775737271717171717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b14212e3b4754616e7a8794a1adbac7cec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3e4854606b73808d949fa9b2bac4c7bfb6aea69f9c95908c898786868687888b8e92989fa2aab1b9c3ccc1b7aea49e92857a6d61584e4332291e1408000000000000000000060c151c23282c2d2d33383938332d2e2d2a251f170e0900000000000000000000000000000000060d161e242932373b4246474c4c525455565756555351565f69737f8c96a0acb9c7bfb5ab9f92867a6d6054473a3025190d010000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9ccbfb2a5998c7f7266594c3f4956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000e1925303b44505b666d7a8390959da5acb2b8bcc3c5c4bdb9b7b5b4b4b4b4b4b4b4b4b5b6bbc1cacdcdccbfb3a6998c807366594d4033261a0d00000000030d151d24292c2d31313131313131313131323d474f54565d5d5d5d5d5d5d5d565d6063686e77818e96a1adb9c5c3bab0a69e92857a6d6054473b3025190d010000000000000000000000000000020c16202a36414c56616c75828f9ca8b5c2cfccc4bdb9b7b6b6b6b6b8babfc6ced8e2d8cfc6bfbab9b6b6b6b6b7b9bdc4ccd0c3b6a99d9083786c60574d41382d22170b0300000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e1100000000111e2b3844515e6b7784919eaab7c4d1cbbeb2a5988b7f7265584c3f2f26201d181b1b1c1c1c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8794a0adbad1cdc0b4a79a8d8174675a4e4134271b0e040d161e24292c2d2f2f2f2f2f2f2f2f2f2f2f2e2d2a251e170e0500000000030f1b27323d4653606c77829097a1a9b1bbc0bbb2a8a098928d888482807f7e7e7e7e7e818e9aa7b4c1cdcabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b14202d3a4753606d7a8693a0adb9c6cec2b5a89b8f8275685c4f4235291c0f000000000000000407090a1313131313131313131313130c0b0905010000000000000106090b0c131313131313131313131313131313130c0b0906010000000000000000000000000407090a13131313131313131313131313131313131313131313131211100e0c090606030000000000000000000000000002070a0c0d13131313131313131313131309080603000000000000000000000000000000000000000000000a141d2c38434f59606d78829096a1a8b2bac2cbbfb8b0aba79f9d9895999392989495989b9fa2aaaeb4bcc3c7c0bbafa59c928a7e71685e52463c3120170d0200000000000000000000030b12181c1f2022282b2d2b282221201e19140d0500000000000000000000000000000000070f181f282f353c43474d525459565e616263636362605c5557606d7984919eabb5c0c6baaea2988b7e7164564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1aebbd1cdc0b3a79a8d8074675a4d414956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000008141f28333f4a545d686d7a838e939ea0a8abb1b6b8babfbebfc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0bfb3a6998c807366594d4033261a0d000000010b151f272f35383a3e3e3e3e3e3e3e3e3e3e3e3e3e44484950505050505050504c5254565e656d7984919eabb7c4ccc2b9ada2978b7f7265564c41362a1e1105000000000000000000000000000008131e28323a46525e68717e8a949eaab7c3cfc4bab2adabaaaaaaaaacaeb4bcc6d0dcd1c6bdb4aeacaaaaaaaaaaacb2bac4cdc4b8ab9f958b7f72695f53493f33271f140900000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e1100000000121f2c3845525f6b7885929eabb8c5d1cabdb1a4978a7e7164574b3e312414110d070f0f0f081926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8794a0adbad0cdc1b4a79a8e8174675b4e4134281b0e0c161f282f35393a3b3b3b3b3b3b3b3b3b3b3b3a3936302920170d02000000000a161f2b3744505b656e7b859297a0a7afb5babab2aaa29f9a96918e8c8c8b8b8b8b8b8e939da9b5c2cecabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b13202d3a4653606d798693a0acb9c6cec1b5a89b8e8275685b4f4235281c0f0000000000050b10141617202020202020202020202020181815110c0600000000060d1215181920202020202020202020202020202020191816120d07000000000000000000050b10141617202020202020202020202020202020202020202020201f1f1e1d1b191613120f0b0603000000000000000000070d1316191a2020202020202020202020201615130f0a040000000000000000000000000000000000000000020b1b27323d44505c666e7b849196a1a8b0bbc0c7c2bbb7b1aba9a5aba49f9fa3aaa2a5a7acaeb4babfc5c4bdb5afa59d938d80736c61564c41342a200e0500000000000000000000000000070c101213171c1f201f1c171414110e090200000000000000000000000000000000071019212a313a41454e53565e616569686d6f7070706e6d6766615f67727e8b99a3afbbc7bfb4aa9c8f8376685e5246392d20130700000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793abb4bfcbcec1b4a89b8e8175685b4e424956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000020b17222d38424c565e686d79818991969da0a7a9acaeb4b1b2b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3a6998c807366594d4033261a0d00000007121d2731394045474a4a4a4a4a4a4a4a4a4a4a4a4a46444044444444444444444145474c535c67727f8b98a8b2bdc9cabeb3a99d908477685e5246392d20140700000000000000000000000000040d1924303a44505a616d7a85929ea6b0bbc7c6bdb2a8a19e9d9d9d9d9fa3aab4bfcbd6cbbfb4aba39f9d9d9d9d9ea0a8b2bbc5c8bcb1a79f92867b6e655b50443b30251a0e05000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9c5d2c9bcb0a396897d7063564a3d3023170a01000202020c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793aab4bfcacec1b4a89b8e8175685b4e4235281b08131e28313a41454748484848484848484848484746413a32291e130800000000030f1b27333f49535e696f7c8591959fa3abaeb4b9b4aeaca8a09d9b999898979797979a9da5afbac5d1cabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b14212e3a4754616d7a8794a0adbac7cec1b4a89b8e8175685b4e4235281b0f000000000810161c2023232d2d2d2d2d2d2d2d2d2d2d2d2524221d18110900010911181e2224252d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2625221e18110a010000000000000810161c2023232d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b29282523201f1c17120f0b060000000000010a12191e2325262d2d2d2d2d2d2d2d2d2d2d2d22221f1b150f0700000000000000000000000000000000000000000a162128343f4a545e696e7b8491969fa6afb5bdc1c7c2bcb7b6b2b5afacacaeb4afb1b4b8babfc5c6bfbab2aba49f938e81776c605a50443a3022180e000000000000000000000000000000000406060b0f1213120f0b060705020000000000000000000000000000000000060f19222b333c434c51585f62696e7275787a7c7c7d7c7b7976736e69626d7a86929facb9c5c6b9ac9f93877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3aebac7cfc2b5a89c8f8275695c4f424956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000006111c262f3a444c565e676d747d848b9095999c9fa2aaa5a5a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6998c807366594d4033261a0d0000000c18242f39434b51535757575757575757575757575753514a42392e373737372f35393b414b55616e7b8796a1adb9c5cfc5b8aca095877a6e6154473b2e211408000000000000000000000000010c161f2935414c56616c75818e97a1adb8c1cbbfb5aba19691909090909298a3aebac7d3c7baaea39992909090909196a0a9b3becac2baaea2988f82776c60574d42362a20170d020000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060000000000000b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9c5d2c9bcafa396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798698a2aebac6cec2b5a89b8f8275685c4f422e23170d19242f3a434c5154555555555555555555555554524c443a3025190d01000000000b17222d38414d575f6a6f7b838d92999fa3aaacaeb4b4b2acaaa8a6a5a4a4a4a4a4a7a9afb7c0cbd6cabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b15212e3b4854616e7b8794a1aebac7cdc1b4a79a8e8174675b4e4134281b0e00000008111a21272c2f3039393939393939393939393932312e29231b120909131b23292e31323939393939393939393939393939393932312e29231b130a000000000008111a21272c2f30393939393939393939393939393939393939393939393938373634322f2d2b28221f1b17110a020000000a131c242a2f32333939393939393939393939392f2e2b272019100700000000000000000000000000000000000000040b17232e38424d575f696e7b848f949fa3abb0b9bbc0c6c4c3bfc0bbb9b9babfbbbec1c5c5c4beb9b4aea8a099938c81786c655b50483e32291e100600000000000000000000000000000000000000000306060603000000000000000000000000000000000000000000040d18212b343c454e555d606a6f757b7f82858788898a89888683807b756f6a76828f9ca9b5c2c8bbafa49a8a7d7164574a3e2f24180c000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667986929facb9c5cfc2b6a99c8f8376695c50434956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000a141d28323a444c555d606b70787e83888c909298969899999a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a998c807366594d4033261a0d000004101d2935404b555d6064646464646464646464646464605c544a4034282a2a2a24292c2f3946525e697884919eabb7c4d1c8bcb1a7978a7d7064574a3d3124170a00000000000000000000000007131d28313a45525d68707e8a939ea9b3becac7bbaea39991848383838386929facb8c5d2c5b9ac9f928783838383849197a2adb9c3cabfb4aa9f948b7e71695e52463e32291f14080000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c2013060202020202020b1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9c5d2c9bcafa396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000006131f2c3845515c667985929facb8c5cfc2b5a99c8f827669544a3f34281c111d2935414c555d606262626262626262626262615e564c41362a1e11050000000006111b262f3b454e585f696e7980878e92989c9fa3aaa7a9aaabacaeb5adadadadadb1b3b7bec7d0d7cabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b16222f3c4955626f7c8895a2afbbc8cdc0b3a69a8d8073675a4d4034271a0d000005101a232c33383c3d4646464646464646464646463f3d3a342d241b110e1b252d343a3e3f464646464646464646464646464646463f3e3a352d251b110700000005101a232c33383c3d4646464646464646464646464646464646464646464646454443413f3c3938332d2b27221b140b090307121c252e353b3f404646464646464646464646463c3b37322b22190f040000000000000000000000000000000000000006111c26303b454d575f696e7b828c92999ea6acafb5b9bbc0c1c2c2c3c4c3c3c2c1bfbdb9b8b3adaaa29f9691877f776c665b53493f362c20170d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a333c464e575f676d747c82878c8f9297959696969992908c87827c73727f8c98a5b2bfccc0b6ac9a8e817467554b4035291d10040000000000000000000000000000000000000000000000000000000000000003101c28343f4a5f6c7885929fabb8c5d0c3b6aa9d9083776a5d50444956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000020b162028323a434b515961666d71777b7f8385888a8b8c8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8c807366594d4033261a0d000006131f2c3845515d676d717171717171717171717171716d665c5144382c1f1d1d191d202a36424d576a7783909daab6c3d0cebeb1a5988b7e7265584b3f3225180c0000000000000000000000030d18242f3a434f59606d7a85919ea5afbbc5cabeb3a99f92877b7777777783909daab7c3d0c4b7ab9e9184787777777a85929ea8b2bdc8c6bcb0a69f92857b6e615a50443b3025190e0500000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c20130f0f0f0f0f0f0f0f1825323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9c5d2c9bcafa396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000004101c2834404b546a7784919daab7c4d0c4b7aa9d918477665c5044382b1f13202c3945515d676d6e6e6e6e6e6e6e6e6e6e6e6d685e5246392d20130700000000000a141d29333c464e575f676d737b81868b8f9298989a9c9d9e9fa3a0a0a0a0a0a0a5a7acb5bec9d4cabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b1824313e4b5764717e8a97a4b1bdcacbbfb2a5988c7f7265594c3f3226190c00000b16212c353d44484a5353535353535353535353534b4a453f372d231816202d373f464a4c535353535353535353535353535353534c4a463f372d23180d0100000b16212c353d44484a53535353535353535353535353535353535353535353525251504e4c4946443f3937332d261d1a140e0d19242e3740474b4d5353535353535353535353534947433c342b20150a00000000000000000000000000000000000000000a141e29333c454d575f696e787f878f949c9fa4abacafb5b4b5b6b6b7b7b6b5b4b2b2adaba9a19e98928d847d726c655b544a41382d241a0e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464e58606a6e7a81878f93999c9fa2a9a3a3aba39f9d9a938f8780797d8a96abb5c0ccc4b7aa9d918477675d5145392c1f130600000000000000000000000000000000000000000000000000000000000000000c17232e45525e6b7885919eabb8c4d0c3b7aa9d9084776a5d51464956636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000040e162028313940454f545c60646a6f7376797b7d7e7f808080808080808080808080808080808080808080807d7063564a3d3023170a00000714202d3a4753606d797e7d7d7d7d7d7d7d7d7d7d7d7e786d6053463a2d231f1c1d1f222a36414c56697683909ca9b6c3cfccbfb2a6998c7f7366594c403326190d00000000000000000000010b151f2935414b55616b74818e97a1adb7c1cdc6baada2978d8074696a6a7784909daab7c3d0c4b7ab9e9184786b6a68727f8b96a0acb8c2cec2baaea2988f82766c62564d41362a20170d02000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c201c1c1c1c1c1c1c1c1c1c25323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9c5d2c9bcafa396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000c18232e434f5c6976828f9ca9b5c2cfc5b9ac9f9286796d6053463a2d2014212d3a4754606d797b7b7b7b7b7b7b7b7b7b7b7a6d6154473a2e21140700000000020c151e212a343c454d555d60696e747a7e8286898b8d8f90929299939393939393989ba3acb7c3cfcabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b1d2935414c556673808c99a6b3bfcccabdb1a4978a7e7164574b3e3124180b0004101c27333d474f5556606060606060606060606060585651493f34291d1e28323f4951565860606060606060606060606060606060595751493f35291e12060004101c27333d474f5556606060606060606060606060606060606060606060605f5f5e5c5b585653504a46443f382f2b261f180f1e2a35404952575960606060606060606060606055544e463c32271b0f0300000000000000000000000000000000000000020c17212a333c454d565e666c737c82898f93999d9fa4aba7a8a9aaaaaaa9a9a7a6a9a19e9a97928d868079706b605b534a42382f261b120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a434e58606a6f7c848d939a9fa4ababadb3afb0b5afacaca49f99928c827c8899a4afbbc7c6b9ac9f93867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000061e2b3845515e6b7884919eabb7c4d0c4b7aa9d9184776a5e52525256636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000050e161f272f353d424a5053585f6266666c6e70727273737373737373737373737373737373737373737373706b6155483c2f23160900000714212d3a4754606d7a878a8a8a8a8a8a8a8a8a8a8a887b6e6155483e342e2c29292c2d333b46525e687784919eaab7c4d1cbbfb2a5988c7f7265594c3f3226190c0000000000000000000007121d27313945515d67707d89939da9b3bec9c9bdb2a89f92857a6d61576a7784909daab7c3d0c4b7ab9e9184786b56606d7984919ea6b0bec7cabeb3aa9e948b7e71685e52463e32291e1308000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346392c292929292929292929292929323e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9c5d2c9bcafa396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000071a2734404d5a6773808d9aa6b3c0cec7baaea399887b6e6155483b31261c22323f4b5865727f88888888888888888888888073665a4d4033271a0d0000000009141e2730373d4142434b51575f61686d7276797c7f8182848586868686868686868b919ba7b3bfcccabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271f202c3945515d6776828f9ca9b5c2cfc8bdb2a895897c6f6256493c2f231609000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e2225303a44515b62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e221609000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a69676562605b54535049413e37312a211a232f3b47525b63666c6c6c6c6c6c6c6c6c6c6c6c6260584e43372b1f13060000000000000000000000000000000000000000050f18212a333c444d545b606a6f757c82878c909399989a9b9c9d9d9d9d9c9a999796918e8a85807a736d676059504941382f261d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c555f6a6f7c8591969fa4acafb5b8babebcbdc0bbb9b6afaba39f94908487939facb9c6c7bbafa499897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d0c4b7aa9d9184776a5f5f5f5f5f636f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000050d151d242930383f44464e5355545b6062636566666767676767676767676767676767676767676767676361594f44382c20140700000613202d394653606c798693979797979797979797978a7d7064594f45403a383435393a3f444d57616d7a86929facb9c5d2cbbeb1a5988b7e7265584b3f3225180c000000000000000000030c18242f39434f59606d7984919ea5afbbc4cfc5b9aca0968c7f72685d5d6a7784909daab7c3d0c4b7ab9e9184786b5e5c66707d8a949facb6c0ccc5bcb0a69f92857b6e615a50443a3025190e040000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f53463935353535353535353535353535353e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9c5d2c9bcafa396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a7b1bcc8cbbfb4ab988b7e7265574d42362d2a2d37424d576673808d9595959595959595958c7f7266594c3f3326190c00000004101b25303942494d4f5050504d53565d6165676d6f727476777879797a7a7a7a7a7a7f8b98a5b1becbcabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e41322d2b2d343f4a54606d7a86929facb9c5d2c5b8aca096877a6d6054473a2d211407000916232f3c4855616b70797979797979797979797979726d62564a3d31242a36414c56626d7279797979797979797979797979797979726d62574a3e3125180b000916232f3c4855616b70797979797979797979797979797979797979797979797978777674726f6c6663605b535046423c332c2425323f4b57636d73797979797979797979797979766a6054473b2e221508000000000000000000000000000000000000000000060f18212a323b424a50585f626b6f767b7f8386898b8e8f8f909190908f8e8c8a8784817d79736d68605d554f443f382f261d140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19232c3945515d676e7c859297a0a8afb6bbc0c5c5bebab8b4b3b2b2b4b5aea69f96919399a4afbbc7ccc0b5ab988b7e7165584b3e3225180b0000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0c4b7aa9e9184776c6c6c6c6c6c6c6f7c8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000030b12181e262e34383c4347484a5053555758595a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a56554f473d33271c1004000005121f2b3744505b657884919ea4a4a4a4a4a4a4a49b8f82756b6159514b4745404045474950575e69727f8b99a3afbbc7d3c9beb2a9968a7d7063574a3d3024170a0000000000000000000b151e2935404b55606b74808d96a1acb7c1cdc7bcb1a79e9184796d60565d6a7784909daab7c3d0c4b7ab9e9184786b5e54616c7682909aa4afbbc6cec2baada2978f82756c61564c41362a20160c0200000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5346424242424242424242424242424242424b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9c5d2c9bcafa396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0acb8c7d1c2b5a89c8f8275695f53463f3836383f46535f697683909da1a1a1a1a1a1ab978b7e7164584b3e3125180b0000000915212c37424b53595c5c5c5c5c5c5c5c5c555c60626567696a6b666c6d6d6d6d6d717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d817467584e443d3937393e44505c66717e8b99a3aebac7d0c4b7aa9d918477675d5145392c201306000a1723303d4a5663707d8686868686868686868686867f7265584b3f32262f3846525e68727f868686868686868686868686868686867f7265594c3f3226190c000a1723303d4a5663707d8686868686868686868686868686868686868686868685858483817f7c7974706c65615a534d453e362d2633404d596673808686868686868686868686867c6f6255493c2f22160900000000000000000000000000000000000000000000060f1820292f383f444e53596063696e72767a7c7f8182838384848382817f7d7b7874706d66615e56514b433d332d261d140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212c38434f59606d7a849197a2a9b2bbc0c7c5bebab3adaba8a6a5a5a7aaacb0a8a09e9fa4abb5c0ccd2bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c4b7ab9e91847979797979797979797d8996a2afbcc9cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000001070c151c23282c31373a3c3f4446484a4b4c4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a48443d352c21160b000000030f1b27333f49536875818e9baab4b0b0b0b0b0aa9e938a7d706b605c5553514b4b5153535b60696e7b85929fabb5c0cbd2c6b9ada197887b6e6155483b2e221508000000000000000007121d27303945515d676f7d88939fa8b2bdc9cfc6b7ab9f958a7e71665c515d6a7784909daab7c3d0c4b7ab9e9184786b5e505a626f7c87939faab4bfcacabeb3a99e938a7e71685e52463e32281e130800000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f534f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9c5d2c9bcafa396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697784919dacb6c0ccc5b9ac9f92867b6e615a504a46414649505a616e7b87929facaeaeaeaeafa399897c6f6356493c302316090000000c1925313d49535d6568696969696969696969696967645c5c5d5f5b606060606064717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794a1aebac7cec1b4a89b8e81756a5f564e48464446475059606d7884919dabb4bfcbcbbfb5ab9b8e817468554b4135291d1104000a1723303d4a5663707d89939393939393939393938b7e7265584b3f322d38414e58616d7a8592939393939393939393939393989082786c605346392d201306000a1723303d4a5663707d89939393939393939393939393939393939393939a939292918f8e8b8985817d78716c615f5750483f372d33404d596673808c93939393939393939393887c6f6255493c2f2216090000000000000000000000000000000000000000000000060e171d262d333c43474f54565e6165676d6f7274757677777776767473706e696764605c54524c4540393127221b140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323b4854606b74818e96a0a9b3bbc3ccc4bcb3ada9a29f9b9998999a9da0a7abacaaacafb5bdc7d2cdc1b4a79a8e8174675b4e4134281b0e0000000000000000000000000000000000000000000000000000000000000004101d2a3743505d6a7683909da9b6c3d0c6b9ac9f938886858585858585858586929facb8c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000030a11171c1f262b2e2d3338393b3d3f3f404040404040404040404040404040404040404040403d3c38332c231a1005000000000b17222d3f4b5865727e8b98a2aebabdbdbdbbafa59f92857d736d6763605c55555d6062656c717b839197a2adbdc7d1d1c4b8ab9e918578695f53463a2d21140700000000000000020c18232e39424e58606d7984919aa4afbac4cec6bdafa59d9083766c61544b5d6a7784909daab7c3d0c4b7ab9e9184786b5e5154606a75818e98a2aebac4cfc5bbb0a69e92857a6d615a50443a3025190d04000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c5f5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c65717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9c5d2c9bcafa396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576673808d9aa4afbbc8c7bbaea3998e81756c605b54524c52535b606c75818e99a3afbbbbbbb9ac9f92867a6d6053473a2d2014070000020e1b2834414d59656f757676767676767676767676746e6458514a50535353535865727f8b98a5b2becbcabdb0a4978a7d7164574a3e3124170b000000000815212e3b4854616e7b8794a1aebac7d2c5b9ac9f92877c6f68605854535053545a616b727f8b96a0acbdc6d1c7bbaea3998a7e7164574b3e2f24180d01000a1723303d4a5663707d89969f9f9f9f9f9f9f9f988b7e7265584b3f32333f4953606a74818e97a29f9f9f9f9f9f9f9f9fa69f92867b6e665b5044382b1f1206000a1723303d4a5663707d89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa49f9f9e9d9c9a9897928e89837e766e69615a51493f3633404d596673808c999f9f9f9f9f9f9f9f95887c6f6255493c2f221609000000000000000000000000000000000000000000000000050b141c222832373d43484d5254555d6063656768696a6a6a6a69676664615e575753514a46413a352f271f17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f59636f7c87939fa8b2bbc5cdc4bab2a9a29f97928e8c8b8c8d91959c9fa6afb6bbc0c7d0d9cfc2b5a99c8f8276695c4f4336291c100000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc8bbafa49a939292929292929292929298a2aebac7d3cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000060c10151b1f2122282b2d2f30323333343434343434343434343434343434343434343434302f2c27211a110800000000000614212d3a4754606d7a86929faab4bfcbccc1baada29792867f79736f6d676a6b676d6f73787e859195a0a9b3becfd4c8bcb1a79b8e817468574d42362a1e1205000000000000000a141e2834404b54606a73808d96a0acb6c0cccbbfb4ab9e93897c6f625a50515d6a7784909daab7c3d0c4b7ab9e9184786b5e514e58616e7b86929fa9b3bec9cdc1b9ada1978e81756c61564c41352920160c010000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286796c68686868686868686868686868686868686868686868717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9c5d2c9bcafa396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000020e1a25313b4855616e7b87939facb9c1cbbfb5ab9e938b7e726c66615e565e61656c727e8b939eabb5c0cbc0b5ab9d908376675d5145392c2013060000020f1c2935424f5c6875818383838383838383838383807467584e41444647474d576673808d99a6b3c0cccbbfb5ab96897d7063564a3d3023170a000000000815212e3b4854616e7b8794a1aebac7d3c7bbaea39991847a6f6a6461605b6061646c717d87929fa8b2bdcfd2c5b9ac9f92867a6d6054473a2d21140700000a1723303d4a5663707d8996a3acacacacacaca5988b7e7265584b3f323744505b656f7c87939fa9b3acacacacacacb3a99f948b7e72695f544a3f33281c0f03000a1723303d4a5663707d8996a3acacacacacacacacacacacacacacacacb6afacacabaaa9a7a9a29f9b95908a827b716c625b51483e34404d596673808c99a6acacacacacaca295887c6f6255493c2f22160900000000000000000000000000000000000000000000000000020a111720262b32383b4246474b515356585b5c5c5d5e5d5d5c5b595754534d4a46444039363029241d150d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b7683909aa4afbac3cdc5bbb2a8a097928b8581807f7f81848990949fa4acb6c0ccd8ddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfccc0b6aca49f9f9f9f9f9f9f9f9f9f9fa2aab4bfcad6cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000030a0f1215171c1f2022242526272727272727272727272727272727272727272727272323201c1610080000000000000713202c3945525d6874818e98a3aebac2cccabeb3a9a298928c84807c7a787777787a7c7f848b9197a0a7b1bbc5d0cbc3b8aca095897c706356493d31261a0e0200000000000006111c26303845515c666f7c87929fa8b2bec7d2c7baaea3998e81756a605448515d6a7784909daab7c3d0c4b7ab9e9184786b5e5146525e6973808d97a1adb9c3cecabeb3a99e938a7e71685e52463e32281e13080000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c5b9ac9f9286797575757575757575757575757575757575757575757575757e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9c5d2c9bcafa396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000914212d3a46535f6976828f9ca5afbcc5c6bdafa59f92877f78716d686b686d71787f87939fa5afbdc7c7bbafa3998c7f7266554b4035291d1004000005111e2b3844515e6b77848f8f8f8f8f8f8f8f8f8f8f84786a5f534b4745474a535f6976838f9ca9b6c2cfc7bbaea399887b6e6255483b2f221508000000000815212e3b4854616e7b8794a1aebac7d7cbbfb5aba09691847c75716e6c656c6e71767e869299a3aebac3cec8bdb1a89c8f8275685d5245392c20130700000a1723303d4a5663707d8996a3b0b9b9b9b9b1a5988b7e7265584b3f35414c55606c78839099a4afbbb9b9b9b9b9baada2978f82766d62574d42382d22170b00000a1723303d4a5663707d8996a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9c0bbb9b8b8b7b6b4b3adaba7a09d9490867e726d625a50463c404d596673808c99a6b3b9b9b9b9afa295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000060b151b21272c30363a3b404547494c4e4f50505151504f4e4c4a4846423d3a38342e2a251e18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55636f7c89949facb6c0cccabeb3a9a09691857e797573727274777c828c939aa4afbbc0cdd6d0c4b7aa9d9184776a5e5144372b1e1100000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfd2c7beb6afacacacacacacacacacacacaeb4bcc6d0dbcbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000306060b0f1213151718191a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a171614100b050000000000000004111d2935414c56616e7b86929fa6b0bac3ccc5bcb3aaa39f97918d89868584848586898c91969ea1a9b1b9c3cdccc3b9afa59d9083786c605346392d201309000000000000020b17232e38424e58606d79839099a3afbac3d0cabeb3a99f92867b6e61584e43515d6a7784909daab7c3d0c4b7ab9e9184786b5e51424d57606d7985919ea7b1bcc8cfc5bbafa59e91857a6d61594f443a2f24190d0400000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2c6b9ac9f93888282828282828282828282828282828282828282828282828283909daab6c3d0d0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9c5d2c9bcafa396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000005121e2b37424d57636f7c89939eaab3becac1bbafa399928b837e7a7978787a7e838c9399a4afb7c1cbbfb4aa9f92877b6e6154483b2f24180d01000003101d293643505c6976838f9c9c9c9c9c9c9c9c9c96887b6e655d55535153545b616e7b87939facb9c6d2c5b9ac9f9286796d6053473a2d201407000000000815212e3b4854616e7b8794a1aebac7dcd1c6bdb2a8a0969187827e7b7978797a7e828a9298a2abb5bfcccec5b8aca0958a7d7063564c4135291d110400000a1723303d4a5663707d8996a3b0bcc6c6beb1a5988b7e7265584b3f3945515d67717e8b959fabb5c0cdc6cfc5bbafa59f92857b6e615b51453b2f261c110600000a1723303d4a5663707d8996a3b0bcc6c6c6c6cac5c1c0bbbbbbbbbbbbbbbbbbbcbdc0c2c1bebab8b1aca69f9892877f726c61584e42404d596673808c99a6b3bfc6c6bbafa295887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000040a0f161b1f252a2d2f35393a3c3f414243444444434341403d3b3a36312d2c28231c19130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6774818e9ba6b0bec7d2c6b9ada29791847b716d67666566676a6f777f88939fa4aebbc4cfd1c4b7ab9e9184786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cdcdd0c7c0bbb9b8b8b8b8b8b8b8b8b8b8babfc6cecdcdcbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000030606080a0c0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0a090704000000000000000000010d1924303a46535f6973808c949fa8b2bac2cbc5bcb4aea9a19e999992919191929299999ea0a8adb3bbc3cbccc2bab1a79e938a7d70655b5044372b1f12050000000000000a141d28343f4a545f6a73808c95a0abb5c0ccd2c6b9ada2978d8073695f534644515d6a7784909daab7c3d0c4b7ab9e9184786b5e514545515d67717e8b95a0acb8c2cfcdc1b9ada1978e81756b61564c4135291f160c01000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d4c8bbafa49a938f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f9095a0acb8c4d1d0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9c5d2c9bcafa396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4854606b75828f98a2aebac0cbc0b5aba39f95908b87858485878a90959fa4abb5c0c9c3baaea3988e8175695e53463a2d1d1207000000000d1a2633404d596673808c99a7a9a9a9a9a9a9a89c8f82776d6762605d6062666c75828f99a4afbbc7ccc0b6ac9d908376675c5145382c1f1306000000000815212e3b4854616e7b8794a1aebac7d4d8cfc3bab2a8a09a938f8a87868586878a8f949fa2aab3bdc6d0c5bcb0a69d9184786c6053463a2f24190d0100000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584b3f434e58606d7a85919ea7b1bdc7d2d5c9beb3a99e938a7e71695e52493f33291d140a0000000a1723303d4a5663707d8996a3b0bcc9d2d2c8c0b9b5b3aeaeaeaeaeaeaeaeaeafb0b3b7b9bdc4c3bcb8b0aaa29993887e716a5f544a3f4d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000040a0f14191e2024292c2d303234353637373737363433312e2d2a25201f1c18120d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c2d0c8bcb1a79e92857b6e69605c5558595860656c737f8b929da9b3bec9d1c5b8ab9e9285786b5f5245382c1f1200000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0beb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2a36424d57606d78829096a0a8b1bbbfc6c6bfbab2adababa39f9e9d9e9e9fa3abaaacb2b9bec4cdc7c0bbb1a8a0958e81756b6153493f33271b0f03000000000006111b262f3844505c666f7c87929fa7b1bdc7d1c8bdb2a89e92857a6d60574d4244515d6a7784909daab7c3cdc4b7ab9e9184786b5e5145404b55606d7883909da6b0bdc7d1c9beb3a99e938a7d70685d52453d31281d1307000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d8ccc0b6aca49f9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9da0a7b1bcc8d4d0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9c5d2c9bcafa396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5b2bfcbd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000009141f2c38434f59616e7b85929fa4aeb7c0c7bdb5afa79f9d989892919298979d9fa7afb5bdc7c2b9b0a69f92867b6e61574d42362a1e0c01000000000916222f3c4955626f7c88959fabb6b6b6b6b6aa9e948e8179726f6d676d6e7278808d939eabb5c0ccc8bbafa49a8c7f7366554b4034291c1004000000000815212e3b4854616e7b8794a1aebac7ddd2c7beb6afacaca49f9c979992929299979c9fa6aeb3bcc5cfc7beb4aa9f948a7d70665b504438281e13080000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584b3f47535f6a74808d97a1adb9c2d0d6ccc4b9ada1978f81756c61574d42372d21180b020000000a1723303d4a5663707d8996a3b0bcc9d5cac0b6aea8a6a1a1a1a1a1a1a1a1a1a2a3a6aaacb2babec5c2bcb4aba49a92877c6f665b50444d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000002090e1114181d202023252829292a2b2a2a2928262421211e1a1312100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707d8998a2aebac6d1c5b8aca0958b7e71695f57514b4c4c4e535b606d74818d97a1adb9c6d2c5b8ab9f9285786c5f5245392c1f1200000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b2a5988b7f7265584c3f3225190c00000000000000000000000000000205070813131313131313131313131311070604000000000000000002060a0c0c131313131313131313131313090907030000000000000000000000020e1a26313b45515c666d7a8491969fa7aeb5bbc0c7c4beb9b8b5afacabaaaaabacafb5b7b9bdc3c9c7c2bdb5afa79f969083796d60594f41382d22170b0000000000000b17222d38414d57606d78839099a3aeb9c0c0c0c0b8aca0968b7f72685d52453b44515d6a7784909daab7c0c0c0b7ab9e9184786b5e51453a44505c66707d89949fabb5c0c0c0c0bbafa59e91847a6d60594f433a2f24180d010000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8ddd2c7beb6afaca8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8aaacb1b9c3cdd9d0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9c5c5c5bcafa396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5b2bfc5c5c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d46525e69717e8a929da5aebabfc6c0bbb1aba9aaa29f9e9fa2aaaaabb1bbc0c7c1b9b1a79f948c7f73695f53453b31251a0e00000000000815222e3b4754606a7683909da5afbac2c2bbb0a69d938e847f7c7a797a7b7e838d929da5afbdc7cbbfb5ab9f93877b6e6155483b2f23180c00000000000815212e3b4854616e7b8794a1aebac7d8ccc0b6aca49fa4acaca8aba39f9e9fa3aba9abb0babec5cec7c0b6aca2988f82766c61544a3f3328160c010000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584b43505a626e7c87929fa9b3becbd4d0c4baafa59e92857a6d615a50453b30241b0f06000000000a1723303d4a5663707d8996a3b0bcc9d1c5b9aea49c999595959595959595959597999ea0a8aeb4bcc5c5bdb5aca3999083786c6053464d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000000205070d11131416191b1c1d1d1e1e1d1c1b19171514120e090604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99aab4bfcaccc0b6ac9d9083786c60574d45403f3f4149505b606d7a85919eabb8c4d1c5b8ab9f9285786c5f5245392c1f1200000000000000000000000000000000000000000000000000000000000000020e1b2835414e5b6874818e9ba6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a5988b7f7265584c3f3225190c00000000000000000000000003090e1214152020202020202020202020201e1313100c070000000000070d121618192020202020202020202020201615130f0a040000000000000000000009141f2834404b545e686e7b8490959fa3abafb6babfc5c6c4c0bbb9b8b7b7b8b9bbc0c4c5c6c4c0bbb9b0aba49f9590847b6e675d51473e2f261b11060000000000030f1b27333f49535f69727f8c959fabb5b3b3b3b3b3b0a69e9184796d60564c413344515d6a7784909daab3b3b3b3b3ab9e9184786b5e5145343f4a54606b76828f99a3afb3b3b3b3b3b3ada1968e81746b60554b4135291e13080000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d2d2d0c7c0bbb9b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b6b8bcc3cbd2d2d0c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facb9b9b9b9b9afa396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5b2b9b9b9b9b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000000a16212a36424d57616c73808d939da4aeb4bcc1c2bcb8b6b4aeacababaeb3b6b8bcc3c4bdb9afa79f958f82786c60574d4233291f1409000000000006131f2b37434e5863707d89939ea8b1bbc3c1b8afa59d96918c88868686888b91959da4aeb7c1ccc1bbaea3998f8275695f53473a2d1d120700000000000815212e3b4854616e7b8794a1aebac7cdc8bbafa49a939aa4acb5b4aeacabacaeb4b5b7bbc2cacac4bdb5afa49a92867b6e615a5042382d221704000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584b4b55616c76828f99a3afbbc4cfd2c7beb2a89e938a7d70685e52483e33291f120900000000000a1723303d4a5663707d8996a3b0bcc9cec1b5a89c928d888888888888888888898a8d91969fa2aab4bcc6c7beb4aba0958b7e7164584e4d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000001040607090c0e0f1011111110100e0d0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546975828f9ca8b5c2d0c8bbafa49a8b7f72665b50453c342e2f383f45515d677683909ca9b6c3cfc5b8ab9f9285786c5f5245392c1f1200000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a988b7f7265584c3f3225190c0000000000000000000000050d141a1e21212d2d2d2d2d2d2d2d2d2d2d2d2b201f1c18120b0300010a12181e2225262d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f07000000000000000000030c18232e39424c565f696e7a838c92999fa4acaeb4b8b9bebfc1c2c2c3c3c3c2c1c0bfbeb9b8b5afaca69f99938d837a6e695e554b41352c1d140a00000000000005121f2b3744505b656e7b86929fa7a6a6a6a6a6a6a6ac9f948a7d70665c51443a2f44515d6a7784909da6a6a6a6a6a6a69e9184786b5e51452e38424f59626f7c87929faaa6a6a6a6a6a6a6a99d93897d70675d51453a2f24190d0100000000000000000000000000000916222f3c4955626f7c8895a2afbbc5c5c5c5c5c5c5c5c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c3c5c5c5c5c5c5c5c3b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929facacacacacacaca396897c706356493d3023160a00000000000c1926323f4c5965727f8c98a5acacacacacaca99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000000040e1a25303b45505a606c78818d929fa2aab0b9bbc0c4c3bfbab8b7b8babec3c5c3bdb9b2ada59e9590837a6d665b50453c3121170d030000000000030f1b27323c4855606b75818e95a0a9b1bbc0c0b7afa8a19e989599929995989da0a7aeb6c0c7c0bbafa59f92877c6f62574d42372b1e0b0100000000000815212e3b4854616e7b8794a1aebac0c0beb3aa9f9386939aa3abb2bab9b8b9babfc2c3c7c6c5bebab2aba39f93887e70695e53483e2f261c1106000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584b515d67717e8a949fabb5c0cdd8ccc0b6aca1968e81746c61564c41362c20170d0000000000000a1723303d4a5663707d8996a3b0bcc9ccc0b3a6998d807b7b7b7b7b7b7b7b7b7c7d80848b9298a2aab4bfcac6bdb1a79d9083776a5f534d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667884919eabb7c4d1c6b9ac9f93877a6e61544a3f332823262d35414b55697683909ca9b6c3cfc5b8ab9f9285786c5f5245392c1f1200000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8b7f7265584c3f3225190c00000000000000000000050f171f252a2d2e393939393939393939393939382d2c28231d150c030a131c232a2f3233393939393939393939393939302f2c272119100700000000000000000007121d27303a444d575f686d787f878f939a9fa2aaabadb3b2b4b5b6b6b6b6b5b4b3b2b3adababa39f9b948f8780796d685e564d433a2f231a0b020000000000030f1c28333f4a54606c778390989a9a9a9a9a9a9a9a9a9a9a9083766c61544a40323744515d6a7784909a9a9a9a9a9a9a9a9a9184786b5e514538303d47535f6a74818e989a9a9a9a9a9a9a9a9a9a9a9184796d60564c4135291d110400000000000000000000000000000916222f3c4955626f7c8895a2afb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b7aa9d9084776a5d5144372a1e110000000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f96897c706356493d3023160a00000000000c1926323f4c5965727f8c989f9f9f9f9f9f9f9f9d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000000009141f29333e44505b666c78808b92989ea6acafb5b8b9bebdbebebebdbfbab9b6b2aca8a19e938e837a6d685d544a3f332a1f0f05000000000000000a15202c38444f59606d7a839196a0a7afb6bec0bab2acaba5aba39fa3aba5aaacb1b9c0c3beb6afa69e938c7f736a5f53453c31261a0e0000000000000815212e3b4854616e7b8794a1aeb3b3b3b3aea2988b7e889299a1a8aeb4b9bbc0bebebdbebab8b3ada8a199928b7f726c61574d42362c1d140a00000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584d57606d7984919ea6b0bdc7d1d0c7bbafa49a91847a6d605a50443a30241b0e050000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f726e6e6e6e6e6e6e6e6f7073787e869298a2aebac7cfc3b8aca095887c6f62554d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900000000000000000305061013131313131313131313131311070604000000000000000000050a0d0f101313131313131313131313131107060300000000000000000000000000000000000000000000000000000000000000000000010507080e0d0c0a0702000000000000000000000000000000000713202d3a4653606d7886939facb9c6d1c4b7aa9e918477685e5242382d21181b242f43505d697683909ca9b6c3cfc5b8ab9f9285786c5f5245392c1f1200000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d808080808080808080808080808080808080808080808080808080808080808080807d6f6356493c30231609000000000000000000030d17212931363a3b464646464646464646464646443a38342e271e150b121c252e353a3e3f4646464646464646464646463c3b38322b23190f040000000000000000000b151e29323b454d565e666d737c82878e92989b9ea1a9a6a7a8a9aaa9a9a9a8a7a5a9a19e9b99928e89827c736d675e564d443b31281d110800000000000006121f2b3844505b66727f8b8d8d8d8d8d8d8d8d8d8d8d8d8d887c6f625a5042392e3744515d6a77848d8d8d8d8d8d8d8d8d8d8d84786b5e5145382b37434e58616e7a868d8d8d8d8d8d8d8d8d8d8d8d8d8d8174685d5245392c20130600000000000000000000000000000916222f3c4955626f7c8895a2acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaa9d9084776a5d5144372a1e110000000013202c3946535f6c79879292929292929292929292897c706356493d3023160a00000000000c1926323f4c5965727f8c929292929292929292929083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000000000020d172028333f4a545b666c747e868f949b9fa3ababadb3b0b1b1b1b1b4aeacaaa8a09e96918a81796d685e564c42382d21180e000000000000000004101c27333d45525d686e7b8490959fa4acb1b9babdb9b7b2b5afacafb5b1b7b8bcc2bcb8b2aca49f938f81776c60584e43332a1f15090000000000000815212e3b4854616e7b8794a1a6a6a6a6a6a69f9285787e8791969fa3aaacafb5b1b1b1b3adaba9a29f9691877f726d625a50453b31241a0b0200000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e726558535f6973808c96a1acb8c2cfd2c7bdb2a89f93887d70685d52483e32291e1209000000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265626262626262626264656c717d86929fabb5c0ccc8bcb1a7998c7f7266594d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000000000060b0f12131d2020202020202020202020201e1312100c070000000000030a11161a1c1d2020202020202020202020201e1312100b0600000000000000000000000000000000000000000000000000000000000002080d1114141a1a1917130e070000000000000000000000000000000814212e3b4754616e7b8799a4afbbc7cec1b5a89b8e827568564c412f261c0f1d2a3643505d697683909ca9b6c3cfc5b8ab9e9285786b5f5245382c1f1200000000000000000000000000000000000000000000000000000000000000000a16232f3c4855616b70737373737373737373737373737373737373737373737373737373737373737373736f6b6054483b2f22150900000000000000000009141f29333b424648535353535353535353535353514645403930271d1218232e373f464b4c5353535353535353535353534948433d352b21160a000000000000000000030c172029333b444c545c606a6f757c81858b8e929797999b9c9c9d9d9c9c9b9a989697918e8b86827c766f6a605c554c443b32291f160c000000000000000613202d394653606c788080808080808080808080808080807f726a6054483e3027323f4c5965727f80808080808080808080807f7266594c3f3326313c46525e68717e8080808080808080808080808080807a6d6054473a2d21140700000000000000000000000000000916222f3c4955626f7c88959f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9d9084776a5d5144372a1e110000000013202c3946535f6c79868686868686868686868686877d706356493d3023160a00000000000c1926323f4c5965727f8786868686868686868686868376695d5043362a1d1000000000000000000000000000000000000000000000000000000000000000000000000000050e17222d38424a545b606c717b82898f92999b9ea1a9a3a4a5a4a4aba39f9d9a96918c847e756d675e564c443a2f261c0f060000000000000000000b16212935414c565f696e7b838d939a9fa7acaeb4b7b9bbc0bbb9bbc0bdbebab8b6b1aca8a09a938d81796d655b50463c3121180e030000000000000815212e3b4854616e7b87949a9a9a9a9a9a9a9a918477717d848d92989d9fa3aba4a5a4a9a29f9b97928c847d726d625b51483e33291f12080000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e72655859616e7b86929fa8b2bdcad7ccc0b5aba0968d80746b60564c41362c20170c00000000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f72655955555555555556535b606b737f8c99a4afbbc7cec2b5a89b8f8275685c4f596673808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900000000020a11171b1f202a2d2d2d2d2d2d2d2d2d2d2d2d2b201f1c18120b030000040d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2a201f1c17110a02000000000000000000000000000000000000000000000000000000060b14191e2021272726231f19120a01000000000000000000000000000815222f3b4855626e7b8895abb5c0cccdc0b3a69a8d8073675a4d403027140a1d2a3643505d697683909ca9b6c3cfc4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000714202c38444f596163676767676767676767676767676767676767676767676767676767676767676767676360594f43382c1f13070000000000000000020e1a25313b454d535f6060606060606060606060605e53514b42392e23181e2a353f4951575960606060606060606060606056544f473d32271b0f03000000000000000000050e182129323a424a50585f626a6f747a7e8285888a8c8e8f8f9090908f8e8d8c8a8885827e7a756f6b626058514b433a322920170d040000000000000006121f2b3844505b666c737373737373737373737373737373726d62584e43362c25313e4a57626d727373737373737373737373726d63574b3e32252a36414c56616c717373737373737373737373737373736d685d5245392c20130600000000000000000000000000000916222f3c4955626f7c88929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929084776a5d5144372a1e1100000000121f2b3845515e6a7479797979797979797979797979706b6054483b2f22160900000000000b1825313e4a57626d727979797979797979797979797670665a4e4235291c0f000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f38424a505a62696e757c82868b8e9197959797989897969992908d89847f79716c605d554c443a32281d140a00000000000000000000050d19242f3a444d575f696e79818790959b9fa3abaaacafb6b0b1b1b1b0b3aeaba9a7a09d96918880786d675c53493f342a200f06000000000000000815212e3b4854616e7b878d8d8d8d8d8d8d8d8d8d83766b707a80868c909299979898979697928f8b857f796f6b625b51493f362c21170d000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e726554616b75828f98a3aebac4cecfc6bbafa4999184796d60594f443a2f231a0e0500000000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c484848484849495059616d7a86939facb9c6d0c4b7aa9d9184776a5e51596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000020b141b22272b2d37393939393939393939393939382d2c28231c150c03000d161f272d323536393939393939393939393939372d2b28231c140c02000000000000000000000000000000000000000000000000020a11171e252a2d2e3433322f2a241c140a000000000000000000000000000916222f3c4955626f7c8895a2afbbd2ccbfb2a6998c7f7366594c40332619101d2a3743505d6a7683909da9b6c3d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000004101c28333e474f55575a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a56544f473d32271b0f03000000000000000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c6c6b605c544b4034281e222f3a46515b63666c6c6c6c6c6c6c6c6c6c6c6c6360594f43382c1f130700000000000000000000060f18202930383f444e53585f62676d7175797b7d7f8182838383838281807f7d7b7875716d68636059544e454039302920170e050000000000000000030f1c28333f4a545b6066676767676767676767676767676765625b51463d3224222e3a46515b6265676767676767676767676766635b51463b2f2225303b44505a6164676767676767676767676767676767605d564c4135291d110400000000000000000000000000000916222f3c4955626f7c87868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868683776a5d5144372a1e1100000000101d2935414d58626a6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f44382c20130700000000000916222e3a46515b62656c6c6c6c6c6c6c6c6c6c6c6c69665e544a3e32261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262f383f4450575e616a6f757a7e828587898a8b8b8b8a89888683807c78726d67615a514b433a322920160b02000000000000000000000008131e28323b454d575e676d747d83898f92999a9e9fa4aca4a4a5a4a4aaa29f9c9995908b847d736d665c554b41382d22180e00000000000000000714212d3a4754606d7a80808080808080808080807e7164686d737a7f8386898a8b8b8a898885827e79736d67605951483f372d241a0f05000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e72666666707d8a949eaab4bfccd1c6bdb1a79f93877d6f675d51473d32281e11080000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c3f3b3b3b3b3c3f46525e687784919daab7c4d0c5b8ab9e9285786b5f52596673808c99a6b3bfccc8bbafa295887c6f6255493c2f2216090000000a141d262d33373943464646464646464646464646443a38342e271e150b08121f2831383e4243464646464646464646464646443a38342e261e140a0000000000000000000000000000000000000000000000050b141b22273036393b41403f3b352e261c0c030000000000000000000000000916222f3c4955626f7c8895a2afbbd1cbbfb2a5988c7f7265594c3f322619101c28343f4a546a7784919daab7c4cfc3b6a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000000000000000b17212c353e44484a4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4948433d342b21160a0000000000000000000714212d3a46535e6976797979797979797979797979776d665c51453a2f2425323e4b57636d727979797979797979797979796f6b6054483b2f2215090000000000000000000000060e171e262e343c43474e53555d6064656c6e717374757677767676757472706e696864615d56544f47433c342e271e170e05000000000000000000000b17222d38424a5053595a5a5a5a5a5a5a5a5a5a5a5a5a5a585651493f342b201e29353f495157595a5a5a5a5a5a5a5a5a5a5a5957514940352a1e1e29323e485055575a5a5a5a5a5a5a5a5a5a5a5a5a5a5a54524c433a2f24190d0100000000000000000000000000000815222e3b4754606a6f7979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797771675b4f4236291d10000000000d1925313c4750585e5f5f5f5f5f5f5f5f5f5f5f5f5f56544f473d32271b1003000000000006121e29353f495157595f5f5f5f5f5f5f5f5f5f5f5f5d5a544c43382d22160a000000000000000000000000000000000000000000000000000000000000000000000000000000020b141d262d333f454d53586062686d7275787a7c7d7e7e7e7e7d7b7977736f6c65605c5550454039312920170e04000000000000000000000000010c16202a333b454d555d606b70767d82868b8e91939a9697989897979698928f8c88837e78706b605c544b43392f261b100600000000000000000713202c3945525d686d7373737373737373737373716c625d60686e72767a7c7d7e7e7e7d7b7975716d67605d554f463f362d251b110800000000000000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e727272727884919da6b0bcc6d1cbbfb5aba0958d80736b60554b40352b20160c000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c3f322f2f2f2d36414c566976838f9ca9b6c2cfc5b9ac9f9286796c5f53596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000006111b262f383f444650535353535353535353535353514644403930271c120d1a24313a434a4e505353535353535353535353535146443f3830261c1106000000000000000000000000000000000000000000070e171d262d333b4146474d4d4b4740382e1e150a0000000000000000000000000815222f3b4855626e7b8895abb5c0cbccbfb3a6998c807366594d4033261a121f2c3844505c667885919eabb8c4cec1b4a79b8e8174685b4e4135281b0e00000000000000000000000000000000000000000000000000000000000000000005101a232c33383c3d404040404040404040404040404040404040404040404040404040404040404040403c3b38322b22190f040000000000000000000815212e3b4854616e7b86868686868686868686868684796d60554c41352926333f4c5966727f8686868686868686868686867d6f6356493c30231609000000000000000000000000050c151c232831373c43474b5153535b606264666869696a6a696968676563615f575854524c48443d373228231d150c05000000000000000000000006111c262f383f44464d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4c4a463f372d221918232d373f464a4c4d4d4d4d4d4d4d4d4d4d4d4c4b4640372e231817202c363e45494a4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4745413a31281e130800000000000000000000000000000006131f2b37434e5860626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f554a3f33271a0e0000000009141f2a353e474d51535353535353535353535353534948443d352b21160b000000000000010d18232d373f464a4c535353535353535353535353504e4a433a31271c110500000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c2228333b42464e54565e616568686d6f7071727171706e6d676763605b53514b433e352f271f170e050000000000000000000000000000040d18212a333b434b515960636b70757a7e818486888a8a8b8b8b8a898785837f7c77716d666059504a423930271d140a00000000000000000004111d2935414c565d60676767676767676767676764625a52565e6166676d6f71717271706e6c6664605d55514b433d342d241b13090000000000000000000a1723303d4a5663707d8996a3b0bcc9cec2b5a89b8f817f7f7f7f818e96a0acb8c1cfcec6bbaea3999083796d60594f43392f231a0d04000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c3f3434342e343944505c667683909da9b6c3d0c5b8ab9f9285786c5f52596673808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900000b17222d38414950535d6060606060606060606060605e53514a42392e2318151f2c36434c545a5d6060606060606060606060605d53504a42382e23170b000000000000000000000000000000000000000008101920292f383f444c52545a5a57524a4030261c110600000000000000000000000814212e3b4754616e7a8799a3afbbc7cdc0b3a79a8d8074675a4d4131261a13202d3a4653606d7986929facb9c5ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000000000000000008111a21282c2f3034343434343434343434343434343434343434343434343434343434343434343434302f2c2721191007000000000000000000000815212e3b4854616e7b8793939393939393939393968b7f72675d51453b3025333f4c5966727f8c93939393939393939393897c6f6356493c3023160900000000000000000000000000030a111720262b32373a4045474950535557595b5c5c5d5d5d5c5b5a595755534d4b4746413a38322b272018120b03000000000000000000000000000a141d262d3338394040404040404040404040404040403f3e3a342d251b10111b252d353a3e3f40404040404040404040403f3e3b352e251c120e1a242c33393c3e4040404040404040404040404040403a39352f281f160c01000000000000000000000000000000030f1b27323c464e54555f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5d5b554d43392e22160a00000000030e19232c353c4145464646464646464646464646463d3b38322b23190f040000000000000007111b252d353a3e3f46464646464646464646464643423e3831281f150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117212931363d43484c525458565e616264646565646362605c55565350494540393129241d150d0500000000000000000000000000000000060f182129313a41454f54596063686d7174777a7b7d7d7e7e7e7d7c7b7976736f6a64605c544f443f3830271e150b02000000000000000000010d1924303a444c52545a5a5a5a5a5a5a5a5a5a5a585650454c5254555d6062646565646361605b5453514b454039312b221b1209010000000000000000000a1723303d4a5663707d8996a3b0bcc9cfc3b6aa9e938f8c8c8c8c8e939ea8b2bdcad0c6bcb1a79f92877c6f675c51473d31281d110800000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c41414141413f444b54606d7985929fabb8c5d1c4b7aa9e9184776b5e51596673808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900030f1b27333f49535b606a6c6c6c6c6c6c6c6c6c6c6c6c6b605c544a4034281e1d27313e48545e66696c6c6c6c6c6c6c6c6c6c6c6c6a605c544a3f34281c100300000000000000000000000000000000000008111a222b323b414950565e616766635c5242382e23170c00000000000000000000000713202d3a4653606d7986929facb9c5cfc2b5a89c8f827569584e43372b1d15222f3b4855626e7b8899a3aebac7c9bdb2a8978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000810171c2023242727272727272727272727272727272727272727272727272727272727272727272723221f1b160f0700000000000000000000000815212e3b4854616e7b87949f9f9f9f9f9f9f9fa89e92857a6d60564d42362a333f4c5966727f8c999f9f9f9f9f9f9f9f96897c6f6356493c30231609000000000000000000000000000000060c151a20262b2f35393a3f4446484a4c4e4f505050504f4e4d4c4a4846423e3a3935302c27211b150c07000000000000000000000000000000020b141c22282b2d33343434343434343434343434343432312e29231b130909131b23292e3132343434343434343434343433322f2a231c130a08121a22282d30313434343434343434343434343434342d2c29241e160d0400000000000000000000000000000000000a15202b343c434749535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353514f4a433b31271c1106000000000007111a232a31353839393939393939393939393939302f2c272119110700000000000000000009131b23292e31323939393939393939393939393635322d271f160d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171f252a32383a4146474b4c5254565758585857565553514b4946443f38342f271f18120b03000000000000000000000000000000000000060f171f282f353d44484f54565d606467676d6e7071717271716f6e6c6566625f5853504a423d342e261e150c03000000000000000000000008131e28323a4145474d4d4d4d4d4d4d4d4d4d4d4b49453e4146474b51545657585857565553504a47454039352f271f19100900000000000000000000000a1723303d4a5663707d8996a3b0bcc9d2c6bbafa59e9b999999999b9ea5afbac3cecbbfb4aa9f958c7f736a5f554b40342b1f160c0000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594e4e4e4e4e4e4a50545c66707d8997a2adbac6cfc3b6a99c908376695d50596673808c99a6b3bfccc8bbafa295887c6f6255493c2f2216090005121f2b3744505b656c76797979797979797979797979776d665c51443a3024232f3943505a667076797979797979797979797979776d665c5044382b1f1206000000000000000000000000000000000008121a232c343d444d535b60686e74736e63544a3f34281c10030000000000000000000006131f2c3845515c667784919daab7c4d0c5b8ab9e9285786a5f53473a2f241c2834404b5464717e8a97abb4bfcbc5b9ada196887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000050b101416171a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1615130f0a040000000000000000000000000815212e3b4854616e7b8794a1acacacacacacacada1978d8073695e52463c31333f4c5966727f8c99a5acacacacacaca296897c6f6356493c3023160900000000000000000000000000000000030a0f151b1d24292c2d3337393b3e404142434443434342413f3d3b3a36312e2d29241e1b160f0a040000000000000000000000000000000000020a11171c1f202627272727272727272727272727272524221e18110901010911181e22252627272727272727272727272625221e18120a01000810171c21232427272727272727272727272727272721201d19130c04000000000000000000000000000000000000040e19222b32373b3c46464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464644423f3931291f150b000000000000000811191f25292b2c2c2c2c2c2c2c2c2c2c2c2c2c2322201b160f0700000000000000000000010911181e2225262c2c2c2c2c2c2c2c2c2c2c2c2a2926221c150d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a21272c3036393a3f414647494a4b4b4b4b4a484645403c3937332d29231d150d07010000000000000000000000000000000000000000050d161d242932383d44484c525458555c60626364656564646361605b5355534e46443f383028231c140c03000000000000000000000000020c1620283035393a40404040404040404040403e3d393436393b414547494a4b4b4b4a4846443f3a38352f29241d150d070000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d7ccc1b7afaaa8a5a5a5a5a8aaafb7c1cccec6baaea3989083786d60584e43392e22190d040000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f72655a5a5a5a5a5a5a545c60666d7883909da9b3becacabfb4aa9a8d8074675a4d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000613202d394653606c798386868686868686868686868684786d60564c4135292934404b55616c768286868686868686868686868683796d6053463a2d2013070000000000000000000000000000000008111a242c353e464e565e656c727a808073665c5044382c1f13080000000000000000000004101c2834404b546875828e9ba8b5c1cec6b9ada197887b6e62554b403529252c3845515c6674818e9ba7b4c1d1c4b7ab9e918478695f53473a2d211408000000000000000000000000000000000000000000000000000000000000000000000000000004070a0a0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0909070300000000000000000000000000000815212e3b4854616e7b8794a1aeb9b9b9b9b9beb3a99f92867b6e61574e4237333f4c5966727f8c99a5b2b9b9b9b9afa296897c6f6356493c30231609000000000000000000000000000000000000040a0f13181d2022272b2d2f313335363637373636353432302e2d2a2621201d19130f0b04000000000000000000000000000000000000000000060b0f12131a1a1a1a1a1a1a1a1a1a1a1a1a1a1a191815120d0600000000070d121618191a1a1a1a1a1a1a1a1a1a1a191816120d0700000000050c111417171a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1413110d0801000000000000000000000000000000000000000007101920272b2e2f3939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393736332e271f170d040000000000000000070e14191d1f20202020202020202020202020161613100b0400000000000000000000000000070d121618192020202020202020202020201d1c1a16110a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b1e252a2d2e3036393a3c3d3e3f3e3e3d3b3a38342e2d2b27221b18120b030000000000000000000000000000000000000000000000040c131821272c33383a4145474b4b51535557575858585756545350494847433c38342e261e17110a020000000000000000000000000000040e161e24292c2d343434343434343434343431302d292a2d2f35393a3c3e3e3f3e3d3b3938332d2c29241d18120b03000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d3c9c1bbb6b5b2b2b2b2b4b6bac1c9d0c6bcb0a69f92867c6e665c50463c30271d1007000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f72676767676767676768666d7079818e959fabbbc5cfc6baaea2988a7d7164574d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f2216090005121f2b3744505b656f7c8793939393939393939393968b7f72685d52463c312c3845515c67717e8a9493939393939393939393897d70665c5044382b1f120600000000000000000000000000000007101a232c363e474f5860696e777f858d85796d6053463a2f24190d01000000000000000000000c18232e3f4c5965727f8c98a8b2bdc8c9beb3a9998d8073675d51453d343136404b55606d7985929fabb8c5cabeb3a99b8e817468574d42372b1e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac6c6c6cfc5baaea2988e81746a5f53473d323f4c5966727f8c99a5b2bfc6c6bcafa296897c6f6356493c30231609000000000000000000000000000000000000000001070d1113171b1f202224262829292a2a2a292827262422211e1a1413110d0802000000000000000000000000000000000000000000000000000306060d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c0b0906010000000000000106090b0c0d0d0d0d0d0d0d0d0d0d0d0c0c0a06020000000000000005080a0b0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d070604010000000000000000000000000000000000000000000000070e151b1f22222c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2a2927221c150d050000000000000000000003090d1012131313131313131313131313130a090703000000000000000000000000000000000106090b0c131313131313131313131313100f0d0a0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d2021252a2d2e2f3131323231302f2d2c2823201f1b17110c07010000000000000000000000000000000000000000000000000001070d161b21272c3035393a3e404547484a4a4b4b4b4a494846443f3c3a37312c28231c150c060000000000000000000000000000000000040c13191d202127272727272727272727272524211d1e2024292c2d2f31323231302e2d2b28221f1d18120c070100000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dcd3ccc6c3c2bfbfbfbfc1c2c6cbd6cabfb4aa9f948c7f726a5f544a3f342a1e150b00000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7474747474747474747576797d838e939ea7b1bccdcbbfb5ab9f9285796d60534d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900030f1b27333f4953606a74818e98a29f9f9f9f9f9fa89f92857a6d61574d423736414c56606d7984919ea69f9f9f9f9f9fa3988e81756b60544a3f34281c10030000000000000000000000000000050e19222c353e485059616a6f7b828b92978a7d7063564c4135291d1104000000000000000000000715222f3b4855626e7b8896a0acb9c6cfc4b8ab9e9185796d60594f44403f4246515d67717e8b97a2adbac6c6baada2978a7e7164574b3e31261a0e02000000000000000000000000000001050707131313131313131313131313130b0a080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d2d2d6cabfb4aa9f92877b6e62594f43383f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000000000000000000000000000000000000000000000104060b0f12131517191b1c1d1d1d1d1c1b1a19171514120e090705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315162020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201e1d1a16110b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314191d20212324252525242322201f1c1813120f0b06000000000000000000000000000000000000000000000000000000000000040b10161c1e24292c2d2f34383a3b3d3e3e3f3e3e3c3b3937332d2e2b261f1c17110a030000000000000000000000000000000000000002080d1113141a1a1a1a1a1a1a1a1a1a1a181715111114181d202123242525242322201f1c1713100c0701000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e5ddd7d2cfcecccccccccecfd2d7d3c6baaea2989082786c60584e42382e22190c0300000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cfc3b6a99c90828081818181818181818183858a90959ea5afb9c2cdc4bbaea3998e8174675d514d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900000b17222d38414e58616e7a85929fa8b2acacacacada2978d8074695f53473d3946525e68727f8c96a1acacacacacb2a89f92867b6e61594f42382e23170b0000000000000000000000000000020c17202b343e47505a616c707c858f949f9b8e8175685d5245392c201306000000000000000000000814212e3a47535f6a7784919eaab4bfcbc6b9ada1978d80736b6058514a4b4d535b606d7984919ea9b3becac5b8ab9f9285796d6053473a2d2014090000000000000000000000000002080d1113141f202020202020202020202020171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e7dbd0c6bbafa3998f82756b6054483e3f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c302316090000000000000000000000000000000000000000000000000000030506080b0d0e0f10111010100f0e0c0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070808080808080808080808070604010000000000000000000000000000000000000000000000000000000306080913131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131311100e0a0600000000000000000000000000000000000000000000000000030607090b0e0f1011111110100f0e0c090706040100000000000000000000000000000000000000000000000000000000000000030506090b0c0c0a0706040100000000000000000000000000000000000000000000000000000000000000000000000000000000010507080d11131416171818181817151313100c07050300000000000000000000000000000000000000000000000000000000000000000000050b1013191d202123292c2d2f303132323131302e2d2b2722211f1b15100c060000000000000000000000000000000000000000000000010407070d0d0d0d0d0d0d0d0d0d0d0b0a080505070d1113141617181818171513120f0b0604000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6ddd4cdc8c4c3c1c1c1c1c5c7cbd1d2c5b8ac9f92857b6e665b50463c30261c10070000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d0c4b7ab9f94908d8d8d8d8d8d8d8d8d8e8f92989da0a7afb7c1cbc4bbb1a79f92867b6e61554b4d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000006111b262f3d46525e68727f8c96a0acb8b9b9beb3a99f92877b6e62594f42434e58616e7a85929fa8b2bdb9b9b9ada1968c8073695e53473d30261c110600000000000000000000000000000a141e29323d464f59616c717e8691979fa69f92867a6d6054473a2d2114070000000000000000000006121f2b37434e5866737f8c98a3aebac5c9beb3a99f92877d6f6a605c5458575e616d74818e96a1adbbc5c7bdafa59a8d8174675d5145382c1f1306000000000000000000000000050c13191d20212c2d2d2d2d2d2d2d2d2d2d2d2d2423211c17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1e2d7cbc0b5ab9e93897c6f635a50423f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c10131315151515151515151515151413110d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060b10121315181a1c1d1d1e1e1d1c1c1b18161413110d0705020000000000000000000000000000000000000000000000000000060b0f121316181919171413110d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090a0b0c0b0b0a080706040000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314181c1f20222424252525242321201f1b1715120f0a030000000000000000000000000000000000000000000000000000000000010101010101010101010100000000000001040607090b0b0c0b0a08060603000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d4cbc3bcb8b6b5b5b5b5b9bbc0c7cfc5b9ac9f92867c6f675d51453d31281e13080000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d3c7bcb0a69f9c9a9a9a9a9a9a9a9a9a9b9c9fa2aaacb1b9c1c9c2bab2a9a0958d8074695f53434d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f2216090000000a141d2a36414c56606d7984919ea6b0bdc6c5bbafa3998f82756b60544a47535f6a74818e98a2aebac4c7bdb0a69e9184796d60574d42352b1e140a000000000000000000000000000006111c26303b444e58616b717e879298a1a9aea3988b7e7165584b3e3225180b00000000000000000000020f1a26313c4754616d7a86929fa9b3becac4baaea39992857c726d66656566696e757f8c939da8b2bdcbc0b5ab9e93887c6f62554b4035291d10040000000000000000000000050e171e252a2d2e3939393939393939393939393931302d28221a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1e8dcd1c7bdafa59c9083766c61544a3f4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000020507080b0d0f1011111111100e0c0a07060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f20212121212121212121212121201d19130c0400000000000000000000000000000000000000000000000000000000040607090c0e1011111111100f0e0c09070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013171c1f2022252728292a2b2b2a292927252320201d1814120e090300000000000000000000000000000000000000000000020a11171b1f20222526252421201d18130d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070c10131415171718181817161513120f0b0606030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d8cdc3b9b1abaaa8a8a8a8acafb5bdc7c7bbafa3999184796d60594f433a2f24190e0500000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d8cdc2b8b0aba9a7a7a7a7a7a7a7a7a7a8a9abaeb4b8bcc3c4beb9b0a8a1979083796d60574d424d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000020b1925303b45515c66707d8a949eabb5bfcbc0b5ab9e94897d70665b50505a626f7c87939faab4beccc0b5ab9f948a7e71675d51453b3123190c0200000000000000000000000000030c17232e38424c56606a707d879299a2aab0a69f958f8275695c4f4236291c0f00000000000000000000000915202d3946525e6874818e97a2adbac2cbbfb4aba19792867e7974727273767b828c929ca5afbac4c6bbafa3998e81756a5f5343392f24180c0000000000000000000000020c1720293036393a464646464646464646464646463e3c39332c241a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1eee3d9cfc1b7ab9f948a7d70665c50444c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000000000000000000000000000000000000000205090e111414181a1c1d1e1e1e1d1d1b19171413100d0704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d23282c2d2e2e2e2e2e2e2e2e2e2e2e2d2c29241e160d0400000000000000000000000000000000000000000000000004070c10131316191b1c1d1e1e1e1d1c1a18161312100b060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d12181c1f23282b2d2f3234353637383737363534322f2d2c2924211e1a14100b0500000000000000000000000000000000000000080b141b22272b2d2f323332302d2c29241d18130c04000000000000000000000000000000000000000000020507081313131313131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080a0b0b0c0b0b09080605030000000000000000000000000000000000000000000000000000000000000407090a1313131313131313131313131313131313131313131313131313131313131313131313131313131313130e0d0b0803000000000000000a1723303d4a5663707d8996a3b0bcc9d4c8bcb1a79f9d9b9b9b9b9fa3abb5c0cbc0b5aba0968d80746b60564c41352920170d02000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d4cbc2bcb7b6b4b4b4b4b4b4b4b4b4b4b6b8babec5c3bdb9b3ada69f9691857b6e675c5145404d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f2216090000000008141e2834404b54616b76828f99a3aebbc5c7bdb0a69d9083786c605554616c76828f99a4afbcc5c7bbafa4999083766c61554b4033291f110700000000000000000000000000000b151e28343f4a545e686f7c869299a3abb0a69f948f837b6e6154483b2e211508000000000000000000000005111d2a36414c56616e7a85929fa6b0bac4c6bdb3a9a198928b85817f7e8082878f949ca4adb7c0c6bcb1a79f92877b6e62584e4331271d1207000000000000000000000008131e29323a414647525353535353535353535353534a49443e362c22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1eae5e1d3c7bcb0a69d9184786d60554b4c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000000000000000000000000000000000002090e1214191e20212427282a2a2b2b2a2928262320201d1813100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e34383a3b3b3b3b3b3b3b3b3b3b3b3a39352f281f160c01000000000000000000000000000000000000000000070c1012181c1f20232627292a2b2b2b2a29272522201f1c17120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b13191d23282c2e34383a3c3e414243444444434342413f3c3a39352f2d2a251f1c160e0903000000000000000000000000000000020a121a1d262d3337393c3e3f3f3d3a39352f29241d160d0500000000000000000000000000000000000003090e1214152020202020202020202020201b1a17140e080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020201b1a18140f080100000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9f95908e8e8e8e9299a3afbbc5c7bdb2a89f93887d70685d52453e32291e1308000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6ddd4cdc7c4c3c0c0c0c0c0c0c0c0c0c0c0bfc0bbb9b6b2aca9a19e948f847b6e695f554b40404d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900000000020c18232e39424f59626e7b87929fa9b3bec9c1b8aca0958b7e71675d5c66707d8a949fabb5c0cabeb3a99f93877c6f625a5043392f21170d000000000000000000000000000007121d27303944505c666e7a849198a2abb2a89f948f82796e695e52463a2d2014070000000000000000000000010d1925303a46525e68727f8b949fa8b2bbc4c5bbb3aaa29f97928d8c8b8d8f939a9ea6adb6bfc6bcb4aaa0958d8074695f53463c321f150b0100000000000000000000010d1925303a444c52545f606060606060606060606060575550483e33281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e7dfd9d4d1cdc2b8aca0958b7e71675d514c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c3023160900000000000000000000000000000002090e141a1e20252a2d2e3133353737383737363533302d2c29241f1d18120c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303940454648484848484848484848484745413a31281e130800000000000000000000000000000000000000070c12181c1f23282c2d2f32343637373837373634322f2d2b28231f1b17110b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e24292e34383a3f4446484b4d4f50505151504f4f4e4b494745403b3a36312c27211a150e0600000000000000000000000000000a141c242c2f383f4446494b4c4c4a4745413a352f281f170e0500000000000000000000000000000000050d141a1e21212d2d2d2d2d2d2d2d2d2d2d2d2726241f1a130b02000000000000000000000000000000000000000000000000000000000106090b0c131313131313131313131313131313131313131313131313131211100f0d0a070705010000000000000000000000000000000000000000000000000000000000000810161c2023232d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b02000000000a1723303d4a5663707d8996a3b0bcc9d0c3b6aa9d90838182828187929fa9b3becac3bbafa49a91847a6d605a50443a3025190f050000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d4cbc3bcb8b6b4b4b4b4b4b4b4b4b4b4b3b2b5afacaaa8a09e97918b827a6e695f574d4339404d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000000007121d27303e47535f6a73808d97a1adb9c3c8bcb1a79e91857a6d60606d7984919ea6b0bdc7c6baada2978e81746a5f54483e31271d0f0500000000000000000000000000000c18232e39434e58606d78829096a1aab4aaa0969082796d675e574d42362a1e120500000000000000000000000008131e2a36414c56606d78828f96a1a9b2bac2c5bcb4aea9a19e9a9898999c9fa4acb0b8bfc4bcb4aaa2989083796d60574d42342a200d03000000000000000000000005111d2a36414c565e616c6c6c6c6c6c6c6c6c6c6c6c6c64615a5044392d20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4ded5cec8c5c4c5bdb1a89e9184796d60564c5966727f8c99a5b2bfccc9bcafa296897c6f6356493c302316090000000000000000000000000000050d141a1f252a2d30363a3b3e4042434444444443413f3d3a39352f2c29241d18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39434b5153545454545454545454545454524c433a2f24190d0100000000000000000000000000000000030b12181c23282c2e34383a3c3f4143444444444342413f3c3a38342e2b27221b17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141b22272f35394045464a505355585a5b5c5d5e5e5d5c5c5a585653514b4846423b38332b2620180f0901000000000000000000000009121c262e363e41495053555859585754514b45413a312920170b020000000000000000000000000000050f171f252a2d2e3939393939393939393939393433302b241d140b010000000000000000000000000000000000000000000000000000060d121518192020202020202020202020202020202020202020202020201f1f1e1d1b19171413110d080502000000000000000000000000000000000000000000000000000008111a21272c2f303939393939393939393939393939393939393939393939393939393939393939393939393939393939393433302b251d140b010000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e75757575808d97a1adb9c3ccc0b6aca1968e81746c61564c41362a21170b0200000000000000000000000a1723303d4a5663707d8996a3b0bcc9d8cdc3b9b1abaaa7a7a7a7a7a7a7a7a7a7a6a6aba49f9d9a96918c857e776e685f574d453b31404d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f2216090000000000000b151e2b37424e57606d7a85929ea7b1bcc8c3b9ada1978d80736968727f8c96a0acb8c2c8bdb1a89f92857a6d61584e43362c1f150b000000000000000000000000000004101c2834404b555f6a727f8c949fa9b2aea29891847a6d675d554d453b30251a0e02000000000000000000000000020e1925303b44505c666d7a849197a1a8b0babfc6bfbab3adaba7a5a5a6a9acafb6bec1c1bab2aaa39892867c6e675c51453c3122180e0000000000000000000000000713202d3946525e686d79797979797979797979797979716c6155493c32261b0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4d5ccc3bdb8b7b8bdb9ada1978c7f72685e525966727f8c99a5b2bfccc9bcafa296897c6f6356493c3023160900000000000000000000000000070e171f252a30363a3b4246474b4d4f5051515150504e4c4a4745403a38352f28231d150c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b555c606161616161616161616161605d564c4135291d1104000000000000000000000000000000060c151d23282e34383a404546494c4e4f50515151504f4d4b4946443f3937332d27221b140b06000000000000000000000000000000000000000000000000000000000000000000000000000000050e161d262d333a41454b5153545c6062656768696a6b6a6a6968676562605d5554534d48443d37312a211b130b02000000000000000000030c1b242e38404850535b606265666563605d55514b433b32291d140a00000000000000000000000000030d17212931363a3b464646464646464646464646413f3c362f261d1308000000000000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a28262421201d1914120e0903000000000000000000000000000000000000000000000005101a232c33383c3d46464646464646464646464646464646464646464646464646464646464646464646464646464646464641403c362f261d13080000000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7268686d7a85929ea7b1bcc8c7beb2a89e938a7d70685e52463e33291d140a00000000000000000000000a1723303d4a5663707d8996a3b0bcc9d4c8bcb1a79f9d9b9b9b9b9b9b9b9b9b9a9999979993908d89847f79726c655e564d453c3333404d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000000000030c1a26313c45525d68717e8b95a0abb8c1c9beb3a99f92867b6e6d7a85929fa8b2bdcac6b8aca0958c7f72685e52463c32241a0d0300000000000000000000000000030e18222c3845515c676f7c87929fa6b0b0a69f92867b6e685d554b433b33291f1409000000000000000000000000000008141e28343f4a545e686f7c8591969fa6aeb4bbbfc5beb9b8b4b2b1b3b6b9bbc0c2bcb8afa8a19892867d706a5f554b40332a1f10060000000000000000000000000714212e3a4754616d7a868686868686868686868686867e7164584e43372b1e1408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d9cec3bab1acaaacb1bab2a99f92857a6d61575966727f8c99a5b2bfccc9bcafa296897c6f6356493c302316090000000000000000000000030b1218202930363b4246484d5254575a5b5d5d5e5e5d5c5b595653514b47454039342e271e181009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c676d6e6e6e6e6e6e6e6e6e6e6e6d685d5245392c20130600000000000000000000000000020a11171e272e34394044464b515356595a5c5d5e5e5e5d5c5a585553504a46443f38332d261d18100900000000000000000000000000000000000000000000000000000000000000000000000000050f1720282f383f444c51545c6064666d6f7174757677777776767574726f6d6766615e57544f47423c332d251d140b0100000000000000000a151e2d36404a525a61656c6f717272706d67605d554d443b2f261c110600000000000000000000000009141f29333b4246485353535353535353535353534e4c4741382f241a0e03000000000000000000000000000000000000000000000009131b23292e3132393939393939393939393939393939393939393939393939393838363533302e2d2a25211e1a14100b050000000000000000000000000000000000000000000b16212c353d44484a5353535353535353535353535353535353535353535353535353535353535353535353535353535353534e4c4841382f251a0f0300000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e72655d68727f8b95a0acb8c1cec4baafa59e92857a6d615a50453b2f261b1106000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9f95908e8e8e8e8e8e8e8e8e8d8d8c8a898683807c78726d67605b534d443c332a33404d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000000000000915202935414c56606c7883909da5afbcc6c4baaea3988e817574818d97a2adbac3c6bdb0a69d9184786d60564c41342a20120800000000000000000000000000000a15202a36414c56606d79839099a3aeb4aa9e948b7e71695f564c4339312921170d020000000000000000000000000000020b17232e38424c565f6a6f7b8490949fa3aaaeb5b8bcc0c2c0bfbec0c2c1bebab8b1aba59e9691867d706b60584e43392e21180e000000000000000000000000000713202d3946525e6874818d999393939393939393939083766a5f54473b3025190e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4c8bdb1a8a09da0a8afbaaea2988d8074695f5966727f8c99a5b2bfccc9bcafa296897c6f6356493c3023160900000000000000000000030c151d2328333b42464d5254565e616466686a6a6b6a6a69686663605d5553514b454039302a221a1209010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d797b7b7b7b7b7b7b7b7b7b7b7a6d6054473a2d211407000000000000000000000000030b141c2228303940454a5153545c60626567696a6a6b6a6a69676562605c54535049443f382f2a221b120b0200000000000000000000000000000000000000000000000000000000000000000000040e172129323a414950555d60666d7175797b7e808283838484838282817e7c7a77726e69636059534d453f372f261d140a0000000000000006111c26303f48525c636c71787c7e7f7f7d7a746d675e564d42382d22170b0000000000000000000000020e1a25313b454d535f6060606060606060606060605a58524a41362b1f14080000000000000000000000000000000000000000000006111b252d343a3e3f4646464646464646464646464646464646464646464646464645444342403d3a3936302d2a261f1c160f0a0400000000000000000000000000000000000004101c27333d474f55566060606060606060606060606060606060606060606060606060606060606060606060606060606060605b59534a41362b20140800000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e726556606d7883909da5afbcc6ccc1b9ada1978f82756c62574d41382d22170c030000000000000000000a1723303d4a5663707d8996a3b0bcc9d0c3b6aa9d908381818181818181818181807f7e7c7a77746f6c65605d555049413b322a2633404d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900000000000000030d19242f3a44505b666f7c89939eaab4bfcabfb4aa9e93897d7c87929fa9b3becbbfb4ab9e94897d70665c51443a3022190e0000000000000000000000000000030f1a26313946525e68727f8c95a0abb5aea2988f82756c61574d443a31281f170f050000000000000000000000000000000006111c26303a444e585f696e7b828c92989fa3abacb1b3b5b6b6b7b6b5b4b3adaba79f9d938e847c706b61594f463c30271d0f060000000000000000000000000005111d2a36414c56616e7b87939f9f9f9f9f9f9f9f9f94887c6f62564c41362a1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d1c5b8aca09591959ea5afb3aa9f92867b6e615866727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000000000000000000030d151e272e343f454d52575e6166696e7173757677777777767472706d6764605d55514b423c342c241b13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707d87878787878787878787878074675a4e4134271b0e0100000000000000000000030c151d262d333d424b51545c6064666d6f72747677777777767574726f6d6663605b535049413c342d241c140b020000000000000000000000000000000000000000000000000000000000000000020c162029333b444c535b60676d73797d8286888b8d8e8f909191908f8f8d8b8986837f7b76706b625f57514940382f261c11080000000000000c17232e3842505a636e737e84888b8c8b8a8680796e695e544a3f33281c0f030000000000000000000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3024170b000000000000000000000000000000000000000000010d18232d373f464a4c535353535353535353535353535353535353535353535353525251504e4c4a4746413b3a36312c27211b150b0600000000000000000000000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b00000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265585c66707d89939eaab4bfcbc9beb3a99e938b7e71695e53493f33271e150a0000000000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f747474747474747474747373716f6d686763605b53514b443f382f29202633404d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000000000000008131e28333f4a54606b75818e98a2aebac4c6bcafa59d9083828f99a3afbcc5c7baaea3998f82756b61544a4032291e1007000000000000000000000000000006121f2b37434e58616e7a85929fa7b1b3a99f92867b6e615a50453c32281f160d050000000000000000000000000000000000000a141e28323c464e575f696e787f868d92999da0a7a6a8a9aaaaa9a8a7a9a29f9a959089817a6f6a61594f473d342a1e150b0000000000000000000000000000010d1925303a46535f6975828e9ba6b0acacacacb0a69b8e8174685e5246392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d0c4b7aa9d91848f939eabb5aea3998e81756a5f66727f8c99a5b2bfccc9bcafa296897c6f6356493c302316090000000000000000020b151f273039404550575e61696e72777b7e8082838484848383817f7d7a76716d67605c544e463e362d251b120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c899494949494949494948e8174685b4e4135281b0e02000000000000000000030c151e272f383f444f545c60666d7175797c7f8182838484848382807e7c7974706c65605b534e463f362e261d140b010000000000000000000000000000000000000000000000000000000000000008131e28323b454d565e656c717a80858a8f9298989a9b9c9d9e9d9d9c9b9a989a93908c87837d756e69625b524a40382e231a0c030000000003101c28343f4a54626c73808a919698999898928d847b6e665b5044382b1f1206000000000000000000000714212d3a46535e6976797979797979797979797979746e64584c3f33261a0d00000000000000000000000000000000000000000006121e29343f495156586060606060606060606060606060606060606060606060605f5f5e5d5b595754524c4846423b38332b262017110a020000000000000000000000000000000916232f3c4855616b70797979797979797979797979797979797979797979797979797979797979797979797979797979797979746f64594c4033271a0d00000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e72655854606b75828f98a3aebac4cfc5bbb0a69f92857b6e655b50443c30261c110600000000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7268686868686868686766666462605d5656535049454039332d261d172633404d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f2216090000000000000000010b17222d38424f59616e7b86929fa8b2bdc9c1b8ab9f95908f949fabb5c0c9beb3a99f92867b6e61594f42392e20170c0000000000000000000000000000000815212e3a47535f6a74818e98a2aeb9ada1978c8073695e53483e332a20160d0400000000000000000000000000000000000000020c16202a343c454d575e666c727b81868c909597999b9c9d9d9d9c9b9897928e89837c756d6860584f473e352b22180c0300000000000000000000000000000008131e2a36424d57626f7c88949fabb7b9b9b9b9ac9f92867a6e61554b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e81818f99a3afb4ab9f93877c6f6266727f8c99a5b2bfccc9bcafa296897c6f6356493c3023160900000000000000000a141d273139424b515a62696e747b7f84878a8d8e90909191908f8e8c8986827e79726d665f5850483f372d241a1006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a1a1a1a1a1a1a19b8e8175685b4e4235281b0f020000000000000000000b151e273039424a505960666d72797d8286898c8d8f90919191908f8d8b8885817d78716c655f58504840382f261d130a000000000000000000000000000000000000000000000000000000000000010d1924303a444d575e686d777e858d92979c9fa2aaa7a8a9aaaaaaa9a9a8a7aca49f9d9a939089827b726d645c524a40352c1e150b0000000006121f2c3844505c66717e8b929da0a8a5aaa39f969083786c605346392d201306000000000000000000000815212e3b4854616e7b8686868686868686868686868074675a4e4134271b0e0100000000000000000000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b69686663615e5655534d48443d373128231c140c0400000000000000000000000000000a1723303d4a5663707d8686868686868686868686868686868686868686868686868686868686868686868686868686868686868174675b4e4134281b0e00000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584f59616e7b86929fa8b2bdc9cdc1baaea2988f82776c60584e42382e23170d03000000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f72655b5b5b5b5b5b5b5a5a59575654524c4946443f38352f27221b141a2633404d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900000000000000000006111c262f3d46525e69737f8c96a0acb9c2c7bcb1a79f9d9c9fa6b0bdc7c7b9ada1978d8073695f53473d30271c0e05000000000000000000000000000005121e2a36424d57626f7c87929faab4b4aa9e92857a6d60574d42362d21180e04000000000000000000000000000000000000000000050e18222a333c454d545b60696e747b7f83888a8d8f8f9091908f8e8b8985817c766f6b605d564e463e352c23190f0600000000000000000000000000000000020e1a26313b4754606a76828f9ca7b1bcc8c7baaea3998c8073675c5145382c1f160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e817c87929faab4afa49a8f82766b66727f8c99a5b2bfccc9bcafa296897c6f6356493c302316090000000000000006111c262f39434b545c606c717b81868c919597999b9d9d9e9d9d9c9b9999928f8b857f796f6a615a51493f362c22180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3aeaeaeaeaea89b8f8275685c4f4235291c0f02000000000000000007121d273039424b545b606b70797f848a8e9298989a9c9d9d9e9d9d9c9a9897928e89847e786f6a625a524a41382f251c1108000000000000000000000000000000000000000000000000000000000005111d2935414c565e696e7a828b91979ea1a9acaeb4b3b5b6b6b7b7b6b5b5b4b6afacaca49f9c948f867f746e645c52473e30271d12070000000713202d3a4653606d7985919ea4acb2b2b4aea89f958a7e7164574b3e3124180b000000000000000000000815212e3b4854616e7b87939393939393939393938d8174675a4e4134271b0e0100000000000000000000000000000000000000000b1824313e4a56626d72797979797979797979797979797979797979797979797979797877767573706d6866615f57544f47433c342e261e160e05000000000000000000000000000a1723303d4a5663707d89939393939393939393939393939393939393939393939393939393939393939393939393939393938e8174675b4e4134281b0e00000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584b535e6973808c96a1adb9c2d0cabeb3aa9f948b7f726a5f544a3f34281f150b010000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594e4e4e4e4e4e4e4d4c4b494745413c3937332d29241d17110a1a2633404d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000000000000000000a141d2a36424d57606d7984919ea6b0bdc7c2b9b1aba9a9aab0b8c2c7beb1a79e91857a6d60574d42352c1e150b0000000000000000000000000000000714202d3a46525e6975818e99a3afbaaea2988c7f72675d51453b31241b0f060000000000000000000000000000000000000000000000061018212a333b424a50575e61696e72777b7d80828383848382817f7c79746f6b636059524c443d342c231a110800000000000000000000000000000000000009141f2b37434e5863707d8a95a0acb8c4cbbfb4ab9e9185796d6053463d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174818e98a2aeb6ac9f94897d7065727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000000000000020c17222d38424b555c666d747e858d92999da0a7a6a8a9aaaaaaaaa9a7aba39f9c97918b837c716c625b51483e342a1e150b0000000000000000000000000000000000000000000000000606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060a1623303d495663707c8996a3afbababab5a99c8f8276695c4f4336291c100300000000000000060f18232e39424b545c666c737d848b91969b9fa2aaa7a9aaaaaaaaa9a8a7a9a29f9b95918b837c716c645c524a41372d231a0d04000000000000000000000000000000000000000000000000000000040f19232d3946525d686e7b848f949ea1a9adb3b8babfbfbbb9b7b5b5b5b7b9bbc0bbb9b6afaca69e99928b80746e63594f43392e23180c0000000a1623303d495663707d8997a1adb8bdbfbfbab1a79b8f8275685c4f4235291c0f000000000000000000000815212e3b4854616e7b87949f9f9f9f9f9f9f9f9a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f86868686868686868686868686868686868686868686868685858483817f7d7a77736e69636059534e443f38302820170e050000000000000000000000000a1723303d4a5663707d89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e00000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584b4d57606d7984919ea6b0bdc7d0c5bcb0a69f92867c6e665c50443c31271d12070000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c41414141414140403e3c3a39352f2d2b27221b18120b060d1a2633404d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900000000000000000000020b1a25303b45515c67707d8a949fabb5c0cbc2bcb8b6b5b7bbc2ccc0b6ac9f958b7e71675d51453c31231a0c03000000000000000000000000000004111d2935414b55616e7b86929fabb5b8ac9f92867a6d60554b4133291f120900000000000000000000000000000000000000000000000000060f1821292f383f444d53575e6166696e717375767777767574726f6d67636059544f45413a322b221a110800000000000000000000000000000000000000030f1b27323c4855616b7783909da8b2bdc9c6b9ada1978b7e7164594f44382c1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e81747b86929fa9b3b0a69d9083786c727f8c99a5b2bfccc9bcafa296897c6f6356493c302316090000000000000a141e28333f4a545c676d78818b92989fa3abacb1b3b5b6b7b7b7b6b6b4b5afaca9a19e9590877e726d625a50463c30271d1207000000000000000000000000000000000000000407090a131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131623303d495663707c8996a3afbcc7c3b6a99c908376695d5043362a1d1003000000000000030e18212834404b545c666d78808891969ea1a8acaeb4b4b5b6b7b7b7b6b5b3b3adaba7a09d9590867e736e645c52493f352c20160c0100000000000000000000000000000000000000000000000000000a16212d3945505a616d7a8491969fa6adb3b9bec2bcb8b5aeacaaa8a8a9aaacafb5babec0bbb9b0aba39f928d80736b61554b4034281c100400000c1825323f4b5865727e8b98a9b3bec8cecbc3b7aa9d9184776a5e5144372b1e11000000000000000000000815212e3b4854616e7b8794a1acacacacacaca79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b9393939393939393939393939393939393939393939398929291908e8c8a8683807b76706b625f58504a423a322920170e0400000000000000000000000a1723303d4a5663707d8996a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca79a8e8174675b4e4134281b0e00000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584b45515d67717e8a949fabb5c0cccec2baaea3989083786d60584e43392f23180d0400000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c3f35353535343333312f2d2c2924201f1b17110c0701000d1a2633404d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f221609000000000000000000000009141f2934404b55616c76828f99a3afbbc5cdc7c4c3c2c3c7ccc8bbafa49a9083786c60554b41332a1f11080000000000000000000000000000000613202c3945515d6773808d99a3aebdb1a79a8d8174685d52433a2f21170d000000000000000000000000000000000000000000000000000000060f171d262d333b42464d5354575f61646668696a6a6a69686562605c55544f48433d353028201910080000000000000000000000000000000000000000000a15202c38444f5964717e8a96a1acb9c5c9beb3a99d9083776b6054483b31251a0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e817473808d97a1adb8aca0958a7e71727f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000000000006111c26303844505b666d79828e939fa2aaaeb5b8bcc0c1c1bfbebec0c2c1c0bbb9b3ada7a09992887f726c61584e43392e23180c0200000000000000000000000000000000040b10131616202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202023303d495663707c8996a3afbcc9c3b6aa9d9083776a5d5044372a1d110400000000000009151f2a333c45515c666d78818c939aa0a8adb2b8babfc0c2c0bfbebfc0c2c0bebab8b1aca79f98928b80746e645b51473d32281e130800000000000000000000000000000000000000000000000000030f1b27323c4955616c75828f96a0a8b0b9bec4c0bbb1ababa39f9d9c9b9c9d9fa4abadb3bcc4c1bdb4aea49c928a7d70675c5145382c1f130700000c1926323f4c5965727f8c98acb6c0ccd3d1c4b7ab9e9184786b5e5145382b1e12000000000000000000000815212e3b4854616e7b8794a1aeb9b9b9b9b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b989f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9e9e9c9b999a93908c87827d766f6a605c544c443b322920160c02000000000000000000000a1723303d4a5663707d8996a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b4a79a8e8174675b4e4134281b0e00000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584b404b55616c76839099a4afbbc5d0cbbfb4aa9f958c80736a60554b4034291f160c01000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c3f32282828272726242321201d1913120f0b06000000000d1a2633404d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f2216090000000000000000000000020c18232f3943505a626f7c87929fa9b3becad4d1d0cfd0d3cabfb4aa9f93877c6f655b50433a2f21180e000000000000000000000000000000000714212d3a4754606d7a85929fabb5b8aca095887c6f62564c4131281d0f0500000000000000000000000000000000000000000000000000000000050b141c222831363b4246484d5355575a5c5c5d5e5d5c5b585653514b48443d383229241e160e070000000000000000000000000000000000000000000004101c28333e4653606d7984919ea9b3becac4b8aca095897c6f63574d42362a1d13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e81746d7a85929ea8b2b1a79e918479727f8c99a5b2bfccc9bcafa296897c6f6356493c3023160900000000000b17232e38424f59606c78818f949ea5aeb3bbbfc6bfbab8b5b3b1b2b3b6b7bcc2c4beb9b1aba39a93887e716a5f554b4034281e1308000000000000000000000000000000070f161b2022232d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d303d495663707c8996a3afbcc9c4b7aa9d9184776a5e5144372b1e11040000000000020e1a26313c45515b606d78828f939fa4acb2b9bdc4c3bcb8b7b3b2b1b2b4b7b9bdc4c3bcb8b1aaa39f928d80746d63594f443a2f24190d0300000000000000000000000000000000000000000000000007131f2c38434f5964717e8a949ea8b2bac2c7beb6afa79f9d9992908f8e8f9193999fa2a9b2bac4c6bfbaaea49e9184796d6053463a2f24180d01000b1824313e4b5764717e8a9aa4afbbc3c6c5bfb4ab9d9083766a5d5043372a1d10000000000000000000000815212e3b4854616e7b8794a1aebac6c6c0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5acacacacacacacacacacacacacacacacacacacb4aeacabaaa9a8aca49f9d9a938f89837c736d665e564d443b32281e140a000000000000000000000a1723303d4a5663707d8996a3b0bcc6c6c6c6d0cac6c5c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0b4a79a8e8174675b4e4134281b0e00000a1723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584b3f43505a626f7c87939faab3becad0c6bcb1a79f92877c6f675c51453d31281e1308000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c3f32261b1b1b1a1918161413110d0805030000000000000d1a2633404d596673808c99a6b3bfccc8bbafa295887c6f6255493c2f22160900000000000000000000000007121d27313e47535f6a74808d97a1adb9c6d2dddcdcdcd3c6baaea2988e81746a6053493f31281d0f0600000000000000000000000000000005111e2a36414c5664717e8b97a2adbdb7aa9d9083776a5f54443a301f160c000000000000000000000000000000000000000000000000000000000000020a11171f252a31363a3b4246484a4d4f505051504f4e4c494645403938322c272119130c040000000000000000000000000000000000000000000000000b161f2c3844505c66727f8b97a2adb9c6c8bcb1a79b8f8275695e53463a2f24180d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e817467727f8b96a0acb9aca1968b7f727f8c99a5b2bfccc9bcafa296897c6f6356493c302316090000000003101c28343f4a54606b73808c939ea6afbabec5c0bbb4aeaca8a6a4a5a6a9abb0b7bbc2c3bdb4aca49a92867c6f675c51453a3025190d000000000000000000000000000007111921272c2f30393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393d495663707c8996a3afbcc9c4b7ab9e9184786b5e5145382b1e0600000000000006121e2b37424d57626d74818e949ea5afb6bec3c2bbb7b1acaaa6a5a4a5a7abacb2b8bcc3c2bcb4aea49d928c7f726b60564c4135291f15090000000000000000000000000000000000000000000000000915222f3b4854606b7783909da6b0bac4ccc0b6aca49f95908a868382828284868c9297a0a8b2bdc6cbbfb9aca1968b7e7165554b4135291d1104000814212e3b4754616e7b87939fa8b1b8bab9b4aea3998d8073665a4d4033271a0d000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9bfbab8b8b7b6b4b6afacaca49f9c94908780786d685e564d443a30261c11060000000000000000000a1723303d4a5663707d8996a3b0bcc9d2d7cec6bfbab8b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4a79a8e8174675b4e4134281b0e00000a1723303d4a5663707d8996a3b0bcc0c0beb1a5988b7e7265584b3f3e4754606a74818e98a2aebac0c0c0c0bbafa3999184796d60594f433a2f24190d020000000a1723303d4a5663707d8996a3b0bcc0c0bfb2a5988c7f7265594c3f3226190e0e0d0d0b09070704010000000000000000000d1a2633404d596673808c99a6b3bfc0c0bbafa295887c6f6255493c2f221609000000000000000000000000010b151f2b37434e58616d7a85929eabb8c5d1dee9e8dfd2c5b8ac9f92867b6e61584e41382d1f160c000000000000000000000000000000000714202d3946525e6876828f9ca9b3beb2a9998c807366584e4332281e0d040000000000000000000000000000000000000000000000000000000000000000060b141a1f252a2d31363a3b3e40424344444342413f3c3a38342e2c27211b160d08020000000000000000000000000000000000000000000000000003101c28343f4a54606d7985929eaab4bfcbc3b9ac9f92877b6e61554b4035291b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174686d7984919ea7b1b2a89e92857a7f8c99a5b2bfccc9bcafa296897c6f6356493c302316090000000006121f2b3844505c666f7c87929fa5afb8c1c7beb6afaaa39f9b999898999c9fa6abb0b8c0c6beb6aca3989083796d60564c41362a1d1207000000000000000000000000040f19232b32383b3d4646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646495663707c8996a3afbcc9c4b8ab9e9185786b5e52452e23170c0000000000030e18222e3a47535f69727f8b939da6afbbc0c7bfb8b0aba7a09d9a9898999a9ea1a8acb1b9c1c6bfbaaea49f93877d70685d52453c31261a0e020000000000000000000000000000000000000000000000091623303c4956636f7c8995a0acb8babababbafa49a938c837d7977757576777a7f859196a0abb5bfcbc9bdb2a89c908376675d5145392c201306000714202d3a46525e6975828e96a0a7abaeacaba39f92867b6e6155483b2e221508000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2bec6c6c6c6d0cac6c5c0c0c0c0c0c0c0c0c0c0c1c1c2c4c3c1c0bbb9b6afaca69f99928c827a6e685e564c42382e23170b0300000000000000000a1723303d4a5663707d8996a3b0bcc9dbd0c6bcb4aeaca7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a79a8e8174675b4e4134281b0e00000a1723303d4a5663707d8996a3b0b3b3b3b3b1a5988b7e7265584b3f37434e58616e7a85929fa8b2b3b3b3b3b3b5aba0958d80746b60554c4135291e13080000000a1723303d4a5663707d8996a3b0b3b3b3b3b2a5988c7f7265594c3f3226190c0100000000000000000000000000000000000d1a2633404d596673808c99a6b3b3b3b3b3afa295887c6f6255493c2f22160900000000000000000000000000030d1b26313c46525d68727e8b98a5b1becbd8e4e5d8ccbfb2a5998c7f72695e52463d2f261b0d04000000000000000000000000000000000814212e3b4754616e7a86929facb9b9ada197887c6f6255493c3222160c0000000000000000000000000000000000000000000000000000000000000000000003090e141a1e21262a2d2e313335363737373635322f2d2c28231d1b160f0a04000000000000000000000000000000000000000000000000000000000c17232e3845515d6773808c98a3aebac7c7bbafa3998d8073675d5145382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e81746866717e8a959fabb8ada1978d807f8c99a5b2bfccc9bcafa296897c6f6356493c30231609000000030f1c28333f4a54606d78839099a3afb7c1c7bdb5aca49f98928e8c8b8b8d90949c9fa6afb7c0c7beb4aaa0958c7f72685e5246392e23180c0000000000000000000000000b16212b353d4448495353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535663707c8996a3afbcc9c5b8ab9f9285786c5f4a3f34281c1003000000000a15202c38444f59626e7b86929fa5afb8c1ccbfb5ada69f9c95908d8c8b8c8d91969da0a7afb7c1cbc0bbafa49991847a6d60574d42372b1e130800000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a7b1adadadadb4aa9f93887f78716d67696869686d727b849199a3aebbc7cec4b9ac9f93867a6d6054473a2d2114070005111e2a36424d56616e7b8490959c9fa29f9d99928b7f72695f53463a2d211407000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd2d7cec6bfbab8b4b4b4b4b4b4b4b4b4b4b4b5b6b8b9bec5c6c6c0bbb9b0aba39f948f837a6e685d544a3f34281f150900000000000000000a1723303d4a5663707d8996a3b0bcc9d6cabfb4aaa29f9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8e8174675b4e4134281b0e00000a1723303d4a5663707d8996a3a6a6a6a6a6a6a5988b7e7265584b3f323c46525e68727f8c96a0a6a6a6a6a6a6a6a6a89f93887d70675d51453a3025190d0100000a1723303d4a5663707d8996a3a6a6a6a6a6a6a5988c7f7265594c3f3226190c0000000000000000000000000000000000000d1a2633404d596673808c99a6a6a6a6a6a6a6a295887c6f6255493c2f22160900000000000000000000000000000c17232e38424f59626e7b8895a1aebbc8d4e1e2d5c8bcafa295897c6f625a5043392f23180c0300000000000000000000000000000004101d2935404b5565727f8b99a3afbbb8ab9e9184786c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000003090e12141a1e2122242729292a2b2a29282523201f1c18120f0b0400000000000000000000000000000000000000000000000000000000000006111c2935404b55616d7a86929fabb5c0cbc0b5ab9f92857a6d6053493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e817468606c7883909da6b0b3a99f9286808d9aa7b3c0cdc9bcafa296897c6f6356493c3023160900000006121f2b3844505b66717e8b95a0abb5c0cbc0b5aba39a938d8682807e7f8083888f949da5afb9c2c6bcb1a79f92857a6d61544b4034281c10040000000000000000000004101b27323d474f54566060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606063707c8996a3afbcc9c5b9ac9f928679665c5044382c1f1206000000030f1a26313c4854606b76828f98a2aeb7c1cac0b6ada39c948f8884807f7e7f81848991959ea5afb8c1ccc0b5aba1968d8174695f53473a3024190d0100000000000000000000000000000000000000000000101d293643505c6976828f9ca0a0a0a0a0a0a0a2988d80736c65605d555b565e61696e7c87929facb9c5d2c7bbafa499897c6f6256493c2f23160900020e1925303b46525e696e7b838b8f929892918d867f726d62574d42362a1e1205000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbdbd0c6bcb4aeaca7a7a7a7a7a7a7a7a7a7a7a8a9abadb3b8babec5c8c2bdb5afa69f9590847a6d665c50443c31261a0e03000000000000000a1723303d4a5663707d8996a3b0bcc9d3c6baaea298928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8174675b4e4134281b0e00000a1723303d4a5663707d89969a9a9a9a9a9a9a9a988b7e7265584b3f3236414c56606d7984919a9a9a9a9a9a9a9a9a9a9a9a91847a6d60564c41362a1e110500000a1723303d4a5663707d89969a9a9a9a9a9a9a9a988c7f7265594c3f3226190c0000000000000000000000000000000000000d1a2633404d596673808c999a9a9a9a9a9a9a9a95887c6f6255493c2f2216090000000000000000000000000003101c28343f4a54606b75828f9ba8b5c2cedbe8e9dccfc2b6a99c8f82766c61554b4034291f14090000000000000000000000000000000613202c3945515d6776838f9cabb5c0b4a79a8e8174655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000000000000000205090e121415171a1c1d1d1e1d1c1b19161313100c07000000000000000000000000000000000000000000000000000000000000000000000d18242f3946525e6874818d99a4afbbc7c7baada2978b7f72655b5044372b1f150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b65707d89949fabb5aea2989285929facb8c5d2c9bcafa296897c6f6356493c302316090000000613202d394653606c7884919ea7b1bdc7c7bbafa3999288807a7573717273767b828e929da7b1bcc8c3baaea2988c8073665c5145382c1f1307000000000000000000000713202c38444f5960636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c707c8996a3afbcc9c7bbaea39986796d6053463a2d20130700000006121f2b37434e5863707d89949faab4bfc9c3b9aea49c918c827c777372717274787d838e939ea5afbbc4c7bdb2a89f92877b6e61564c4135291d110400000000000000000000000000000000000000000000121e2b3845515e6b78849193939393939393939392867a6d605b53514b4f4c52575f6a75818e9ba8b5c1ceccc0b5ab978a7e7064574a3d3124170a000009141f2a36424d575f696e787e8285868684807b726d625b51453b31261a0e02000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd6cabfb4aaa29f9a9a9a9a9a9a9a9a9a9a9a9b9c9ea2a9abaeb3bcc1c9c7c0bbb0a7a0968f82786d60574d42372b1f1409000000000000000a1723303d4a5663707d8996a3b0bcc9d2c5b8ac9f928681818181818181818181818181818181818181818181818181818181817e7164574b3e3124180b00000a1723303d4a5663707d898d8d8d8d8d8d8d8d8d8d8b7e7265584b3f32303b45515c66707d8a8d8d8d8d8d8d8d8d8d8d8d8d8d8d8174685e5246392d20130700000a1723303d4a5663707d898d8d8d8d8d8d8d8d8d8d8c7f7265594c3f3226190c0000000000000000000000000000000000000d1a2633404d596673808c8d8d8d8d8d8d8d8d8d8d887c6f6255493c2f221609000000000000000000000000040e18222c3844505c66707d89939eaab6c3cfdcdededdd0c4b7ab9f948a7e71675c51453b30251a0b0200000000000000000000000000000714202d3a4753606d7a86929facb9bdb2a8978a7d706453493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0d0f101111100f0e0c0907060400000000000000000000000000000000000000000000000000000000000000000000000007121d2a36414c56616e7b87939facb9c2cabeb3a99d9184786c6053463c31261a0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e81746853606b76828f99a4afb4aaa2989298a3aebac7d3c9bcafa296897c6f6356493c30231609000004111d2935414c5664707d8a96a0acb9c3c8bdb2a89f92877e736d6866656566696e78808e959fabb8c2cabeb3aa9e9185796d6053463a2e23180c000000000000000000000916222f3b4854606b707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797d8996a3afbcc9cbbfb5a093877a6d6054473a2d2114070000000815212e3a47535f6a7683909ca6b0bcc6c8bcb1a79c928c7f776f6a67656566676b7079818e939ea9b2bdc9c4bbafa3998e8174685d5245392c20130700000000000000000000000000000000000000000000121f2c3945525f6c788587878787878787878787878377685d524945404241464e5865727e8b98a5b1becbd2bdb1a4978a7e7164574b3e3124180b0000020e1a25303b454d575f666d717678797977746e69625b51493f33291f140900000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd3c6baaea298928d8d8d8d8d8d8d8d8d8d8e8e8f92979a9fa2aaafb7bfc7cbc2b9b1a89f948c7f72695f53473b31261a0e020000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e91847874747474747474747474747474747474747474747474747474747474716c6155493d3024170a00000815222f3b4855626e7b8080808080808080808080807c6f6256493c2f2834404b54616b727f8080808080808080808080808080807a6d6154473a2e21140700000815222f3b4855626e7b8080808080808080808080807d706356493d3023160a0000000000000000000000000000000000000a1723303d4a5663707d8080808080808080808080807b6e6154483b2e2115080000000000000000000000000a15202935414c56606d7883909da5afbbc6d2d2d1d1d2d3c7bbb0a69e9184796d60574d42362a1d140a00000000000000000000000000000a1724303d4a5763707d8a99a3aebbb9aca196877a6d6154473a2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a46535f6975828e9ba6b0bbc7c5b8aca0968a7d7063584e43372b1e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b59626f7c87939faab4b4aaa39fa3aab4bfcbd6c9bcafa296897c6f6356493c3023160900000613202c3945525d6875828f9ca8b2bdcbc5b8aca0968c7f736c605d565858575f666d7983909da7b1bcc8c5b9ada1978a7d7164544a4034281c10040000000000000000000a1623303d495663707d868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686898f99a5b1bdcad1baada094877a6d6154473a2e2114070000000915222f3c4855626f7b88949fabb8c2cec4b8aca0958d80736c655f585958595960676d78818f96a1adb9c6cbc0b5ab9f92867a6d6054473a2f24180d010000000000000000000000000000000000000000000714212d3a4754606d7a7a7a7a7a7a7a7a7a7a7a7a796d60564c41383533383e4b5764717e8a97a4b1bdcacbc0b5ab968a7d7063574a3d3024170a00000009141f29333c454d545c606569666d666a67615f5751493f372d21170d0300000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd2c5b8ac9f92868181818181818181818181828385888d92989ea5adb5bfc8cbc3bab0a69f92867b6e62574d42362a1e12050000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b67676767676767676767676767676767676767676767676767676764615a5045392d21150800000814212e3a47535f696e7373737373737373737373736f6a6054473b2e232e39424f59636d727373737373737373737373737373736d685e5246392d20130700000814212e3a47535f696e737373737373737373737373706b6054483b2f2216090000000000000000000000000000000000000916222f3c4854606b707373737373737373737373736e695e52463a2d2014070000000000000000000000030d1b26313946525e68727f8b95a0acb8c1ccc9c5c4c4c5c9cdc2b9aca1968c7f73695e52463d2f261c110600000000000000000000000004101d2935404b556774808d9aabb5bfb7ab9e918478685e5246392d1b1106000000000000000000000000000000000000020507081313131313131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37424d57626f7c88949fabb7c3c8bdb2a89c8f82766a5f53473a3024190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b535f6a74818e98a3aebab4aeacaeb4bcc6d0dcc9bcafa296897c6f6356493c3023160900000714212d3a4754606d7a86929facb9c4cbbfb5ab9d9184786c6059524c4b4c4d545c666f7c89959fabb8c4c9beb3a99b8e8175665c5144382c1f12060000000000000000000a1623303d495663707c8993939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939699a1abb6c1cdc7baaea194877b6e6154483b2e211508000005121e2b37424d576773808d9aa6b0bccac8bcb1a79d9083786c605b534e4c4b4c4f555c666d7a84919eaab4bfcac7baaea3988b7f7265554b4035291d10040000000000000000000000000000000000000000000613202c3945525d686d6d6d6d6d6d6d6d6d6d6d6d6d675d51444444443f44464c5665727e8b98a5b1becbc7bbafa399897c6f6256493c2f231609000000020d17202a333c424a515358545c605c545a55534d453f372d251b0f060000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e918478747474747474747474747576797b80858e939ba3adb6c0ccccc2baaea3998e8175695f53463a2d2114080000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e34281d1105000006121e2b37424d575f626767676767676767676767676260584e43382b1d27303e47515b6366676767676767676767676767676767615e564c41362a1e1105000006121e2b37424d575f626767676767676767676767676360594f44382c2013070000000000000000000000000000000000000714202c38444f596063676767676767676767676767615e574d42362a1e120500000000000000000000010b151f2b37434e58616d7a85929fa7b1bccac4bdb9b7b8b9bdc4c9bdb2a89f92867b6e61594f42382d22170b01000000000000000000000006131f2c3945515d677784909daab7c2b5a89b8f827568564c41362a1d0a000000000000000000000000000000000003090e1214152020202020202020202020201b1a17140e08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4754606a76828f9ca7b1bcc8c3b7ab9f94887b6e62564c4135291c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b4e58616e7b86929fa9b3bebab8babfc6ced8d5c9bcafa296897c6f6356493c3023160900000b1824313e4b5764717e8a99a3aebac7c7bbaea3998b7f72665b5045413e3f424b54606a7683909da9b6c3cfc4b8ab9f9285796d6053463a2d2013070000000000000000000a1623303d495663707c89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa3a5abb3bdc7d2c8bbaea195887b6e6255483b2f22150800000714212d3a46535f697784919eaab7c2cdc5b8aca095897d70665b5049413f3e3f434b545d68727f8b98a2aebac6cbbfb4aa9c8f8276675d5145392c20130600000000000000000000000000000000000000000004111d2935414c565d606060606060606060606060605d554b515151514a5053555e6874818e9ba7b4c1cec5b9ac9f9286796d6053473a2d20140700000000050e18212a30394044464b4a5153514a4d4846423b332d251b1309000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b67676767676767676768656c6f737a818c919ba4aebac4cecbbfb4ab9f93877b6e6155483b3025190e0200000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e524e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b49453e362c22170c000000020e1a26313c454d53555a5a5a5a5a5a5a5a5a5a5a5a56544e463d32271b1e2c353f495157595a5a5a5a5a5a5a5a5a5a5a5a5a5a5a54524c443a3025190d010000020e1a26313c454d53555a5a5a5a5a5a5a5a5a5a5a5a56544f473d32271b100300000000000000000000000000000000000004101c27333d474f54565a5a5a5a5a5a5a5a5a5a5a5a54524d453b30251a0e020000000000000000000007121d27313947535f6a74818d97a2adb9c3c4bab2acababadb2bbc4c4baaea2988e81756b60544a3f33281e130800000000000000000000000714202d3a4753606d7a86929facb9bfb2a6998c7f7366594c403025190d00000000000000000000000000000000050d141a1e21212d2d2d2d2d2d2d2d2d2d2d2d2726241f1a130b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2b37434e5863707d8a95a0acb8c4c7bbb0a69a8d8174685d5246382e23170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b4e535e6973808d97a2adbac4c5c7cbd0d8e0d5c9bcafa296897c6f6356493c302316090004111d2935414c556774818e9aabb4bfcbc5b9ac9f92867a6d60544a3f352f2f39424e5865727f8b98a9b3bec9c6baaea298897c6f6256493c2f2316060000000000000000000a1623303d495663707c8996a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacafb1b6bdc5ced4c8bbafa295887c6f6255493c2f22160900000815222e3b4855616e7b8896a0acb9c5d0c4b7aa9d9184776b60544a3f382f323039424c56606d7a85929facb8c5d0c5b9ac9f92867a6d6053473a2d201407000000000000000000000000000000000000000000010d19242f3a434c5254545454545454545454545453575d5d5d5d5d5d545b6062676d7a85929fabb8c5c6bcb1a79c8f8376675c5145382c1f13060000000000060f181e272e34383a3e4044464440413b3a363129211b130901000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e5a5a5a5a5a5a5a5b535b6062686d757f8c929da8b2bdc9d1c6bbafa4998c807366564c41362a1e110500000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e52454141414141414141414141414141414141414141414141413e3d39342c241b1006000000000915202a333c4247484d4d4d4d4d4d4d4d4d4d4d4d4947433d342b20161a232d373f464a4c4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4746413a32291e1308000000000915202a333c4247484d4d4d4d4d4d4d4d4d4d4d4d4948443d352b21160b00000000000000000000000000000000000000000b16212b353d44484a4d4d4d4d4d4d4d4d4d4d4d4d4846423b33291f140900000000000000000000000c18232f3943505a626f7c87929fa9b3bec9bdb2a8a19e9ea1a9b2bdc9bfb4aa9e93897c6f665b50443a2f24190d03000000000000000000000916232f3c4956626f7c8999a3afbbbfb5ab968a7d7063574a3d30241708000000000000000000000000000000050f171f252a2d2e3939393939393939393939393433302b241d140b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c4855616b7783909da8b2bdc9c2b8ac9f92867a6d61544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b4e4d57616d7a85929fa8b2bdc9d3d6dce2ead5c9bcafa296897c6f6356493c30231609000613202c3945515d677784919daab7c4d1c3b6a99c908376675d5142382d2427303d4855626e7b8897a1adb9c6cabeb3aa988c7f7265594c3f2d22170b0000000000000000000a1623303d495663707c8996a3afb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9bcbdc1c7c8c8c8c8bcafa296897c6f6356493c3023160900000b1825313e4b5864717e8b97a8b2bdc8ccc0b5ab998c807366594f42382d262527303a45515d6775828e9ba8b5c1cec7baaea398897c6f6356493c302316090000000000000000000000000000000000000000000008131e28313a414547474747474747474747505a61646a6a6a6a6a6a6a666c6e727a829098a2aebac4bcb4aaa0958a7e7164554b4034291c1004000000000000060c151c23282c2d2e34383a38342e2e2d2a261f170f090100000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e524e4e4e4e4e4e4e495053565d606d73808d96a0acb9c6d1ccc0b5ab9d918477685e5246392d20140700000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e524538343434343434343434343434343434343434343434343431302d28221b12090000000000030e18212a31373a3b4040404040404040404040403c3b38322b22190f111c252d353a3e3f4040404040404040404040404040403a3936302920170d0200000000030e18212a31373a3b4040404040404040404040403d3b38322b23190f040000000000000000000000000000000000000000050f1a232b33383c3d4040404040404040404040403b3a36302921170d020000000000000000000004101c2934404b55616c76828f99a3afbbc5c5b9aca196919196a1adb9c3c6bcafa59d9083786c60564c413529201509000000000000000000000c1825323f4b5865727e8b98abb5c0bbaea399877b6e6154473b2e2114080000000000000000000000000000030d17212931363a3b464646464646464646464646413f3c362f261d130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202c38444f5964717e8b96a1acb9c5c6baaea2988c7f72665c5044382c1f150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b4e46525d68727f8c96a1adb9c3ced9e4ede2d5c9bcafa296897c6f6356493c30231609000714212d3a4754606d7a8796a0acb8c5ccc0b3a6998d807366554b412f261c212e3a47535f6a7885919eabb8c4d0c1b5a89b8e82756853493f33271b0f0300000000000000000a1623303d495663707c8996a3afbcc6c6c6c6cbc5c2c0bcbcbcbcbcbcbcbcbcbcbcbcc1c2c6cbc6c6c6c6c6c6c9c3c0bebcbcbcbcbcbcbcbcbcbcbcbcc3c4c8cdc6c6c6c6c6c9c6c0bcbbbbbbbbbbb0a396897d7063564a3d3023170a00010e1a2734414d5a6774808d9aa7b3c0cec7bbafa499897c6f6256493d2f261c151e2935404b5565727e8b98a5b1becfcbbfb4aa988b7f7265584c3f3225190c00000000000000000000000000000000000000000000010c161f282f35393a3a3a3a3a3a3a3a3a4955616c717777777777777778797b7f8590949faab4beb9b2aaa2989083786d6053463a2f23180c0000000000000000030b12181c1f2023282c2d2c282322211e1a140d06000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e52454141414141413f44464c525b606d7884919eabb5bfcbd2c7b8aca095877a6e6154473b2e21140800000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b272727272727272727272727272727272727272727272424211d17100900000000000000060f1820262b2e2f3434343434343434343434342f2e2b27201910070a131c232a2e31333434343434343434343434343434342e2d2a251e170e05000000000000060f1820262b2e2f343434343434343434343434302f2c27211911070000000000000000000000000000000000000000000008111a21272c2f303434343434343434343434342e2d2a251f170f0500000000000000000000020b19222c3845515c67717d8a949fabb5c0c8bcb1a79e918484919ea7b1bcc8c1b8aca0958b7e71685d52453c31261a0c030000000000000000010e1b2834414e5b6774818e9aa7b4c1b9ac9f9286796c605346392d201306000000000000000000000000000009141f29333b4246485353535353535353535353534e4c4741382f241a0e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e4653606d7984919ea9b3becabfb4aa9e9184796d6053463d32271b0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b4e414c56606d7984919ea7b1bcc8d4dee9e2d5c9bcafa296897c6f6356493c30231609000916232f3c4956626f7c8995a8b2bdc8cabdb0a4978a7d7164574a3e2f24141f2b37434e586976838f9ca9b6c2cfc3b7aa9d908477655b5044372b1f120500000000000000000a1623303d495663707c8996a3afbcc9d2d2c8c0b9b5b4afafafafafafafafafafafafb4b6bac0c9d2d2d2d0c7bfb8b3b2afafafafafafafafafafafafb6b8bcc3cbd5d2d2cdc4bbb4b0aeaeaeaeaeaea3968a7d7063574a3d3024170a0003101c2936434f5c6976828f9ca9b5c2cfc6b9ac9f93867a6d6053473a2d20140c18242f3c4956626f7c8995a9b3becad1c1b4a79a8e8174675b4e4134281b0e0000000000000000000000000000000000000000000000040d161e24292c2d2d2d2d2d2d2d313e4b5764717e838484848484848485888c91979fa6b0bbb3ada8a09892867c6f665c5044382b1d120700000000000000000000070c101213181c1f201f1c181514120e090300000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e524538343434342d33373a4145515c66717e8a99a3aebbc7d3c8bdb1a8978a7d7064574a3d3124170a00000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c06000000000000000000060e151a1e212227272727272727272727272723221f1b160f0700010a11181e22252627272727272727272727272727272721201e19130d050000000000000000060e151a1e21222727272727272727272727272322201b160f07000000000000000000000000000000000000000000000000080f161c20222327272727272727272727272721201e1a140d0500000000000000000000000a141d2a36424d57606d7984919ea6b0bdc7c7b8ab9f958a7e7e8b95a0abb8c1c8bcb1a79e92857a6d60584e43372b1e150b000000000000000004101c2834404b54697683909ca9b6c3b7ab9e918478665b5044382b1f120600000000000000000000000000020e1a25313b454d535f6060606060606060606060605a58524a41362b1f140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b161f2c3844505c66727f8b97a2adb9c6c6b9ada1968a7e7164584e43372b1f14080000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b4e4145515c67717e8b95a0acb8c2cdd8e4e2d5c9bcafa296897c6f6356493c30231609000b1825313e4b5864717e8b97a4b1bececcc0b5ab95897c6f6256493c2f23161a2631414e5b6774818e9aa7b4c1cdc5b8ac9f9285786c605346392d20130600000000000000000a1623303d495663707c8996a3afbcc9d6cbc0b6aea9a7a2a2a2a2a2a2a2a2a2a2a2a2a7a9afb7c0cbd6d4c9bfb5ada7a5a2a2a2a2a2a2a2a2a2a2a2a2aaacb1b9c3cdd9d1c6bbb2a9a4a1a1a1a1a1a1a1978a7d7164574a3e3124170b0004101c2834404b546a7784919daab7c4d0c4b7aa9e918477675d5145382c1f130714212d3a4754606d7a8797a2adbac6cfc2b5a89c8f8275695c4f4236291c0f000000000000000000000000000000000000000000000000040c13191d2021212121212125323f4c5865727f8b909090909091919298999ea1a9b0b8b0a9a19e9691867d706a5f544a3f34281c0b010000000000000000000000000406070c10121312100c07070502000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e5245382b27272722272b2f35404a54606d7a86929facb9c5d2cebfb2a5998c7f7266594c3f3326190c00000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b1f17171717171717171717171717171717171413110d070a080500000000000000000000000003090e1214151a1a1a1a1a1a1a1a1a1a1a1a1615130f0a0400000000070d121618191a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1413110d08020000000000000000000003090e1214151a1a1a1a1a1a1a1a1a1a1a1a161613100b040000000000000000000000000000000000000000000000000000050b101416171a1a1a1a1a1a1a1a1a1a1a1a1514120e0902000000000000000000000006111b262f3846525e69737f8c96a1acb8c2c7bdb0a69d9083777783909da5afbdc6c3b9ada1978d80746a5f53473e30271d12070000000000000006131f2c3845515c667885919eabb8c3b6a99c90837669544a3f33281c0f030000000000000000000000000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3024170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606d7985929eaab4bfc9bdb2a89c9083766a6054473b3025190e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b4e41404b55606c7883909da6b0bbc7d3e1ead5c9bcafa296897c6f6356493c30231609000d192633404c5966737f8c99a6b2bfccc7bbafa499877a6d6154473a2e21141926333f4c5966727f8c99a5b2bfccc7baaea298877b6e6154473b2e21140800000000000000000a1623303d495663707c8996a3afbcc9d1c5b9aea49d9a9696969696969696969696969b9da5afbac6d2cfc3b8ada39b989696969696969696969696969da0a7b1bcc8d4ccc0b4a9a09895959595959595958b7e7164584b3e3125180b0006131f2c3845515c667985929facb8c5cfc2b5a99c8f827669554b4035291d100613202c3945515d677885929fabb8c5d0c3b7aa9d9084776a5d5144372a1e110000000000000000000000000000000000000000000000000001080d111314141414141925323f4c5865727f8b989d9d9d9d9d9e9fa2aaabadb3bbb0a69f97928c847c706b61584e42382e23170b000000000000000000000000000000000004060706040000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e5245382b1f1b1b171b1f242e3945515d677683909ca9b6c3cfcdc0b4a79a8d8174675a4e4134271b0e00000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b23232323232323232323232323232323232321201d18130c04000000000000000000000000000000020608080d0d0d0d0d0d0d0d0d0d0d0d09080603000000000000000106090c0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d070705010000000000000000000000000000020608080d0d0d0d0d0d0d0d0d0d0d0d0a0907030000000000000000000000000000000000000000000000000000000000000407090a0d0d0d0d0d0d0d0d0d0d0d0d08070502000000000000000000000000000b17222d38414f59616e7b86929fa8b2bdcbc0b5ab9e94897d70707d89939eabb4bfc9beb3a99f92877c6e62594f42392e23180c020000000000000713202d3a4653606d7986939facb9c1b4a89b8e8175685b4e422d22170b00000000000000000000000000000714212d3a46535e6976797979797979797979797979746e64584c3f33261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3845515d6773808c98a3aebac7c4b7ab9f94897c6f62564d41362a1d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cec1b4a79b8e8174685b4e413944505b66707d8a949fabb7c1cfd8d9d5c9bcafa296897c6f6356493c30231609000e1b2834414e5b6774818e9aa7b4c1cdc6b9ac9f938679685e5246392d20131825323f4b5865727e8b98a5b1becbcabfb4aa95887c6f6255493c2f22160900000000000000000a1623303d495663707c8996a3afbcc9cec2b5a99d928d8989898989898989898989898e939da9b6c2cfccc0b3a79b918b8989898989898989898989899095a0acb8c4d1c9bcb0a4988e8888888888888888887f7265584b3f3225180c000713202d3a4653606d798698a2aebac6cec2b5a89b8f8275685c4f422f24180c04111d2935414b556b7784919eaab7c4d1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000010406070707070c1925323f4c5865727f8b98a5aaaaaaaaabacaeb4b8b9beb7ab9f948f857f796f6a61594f463c30261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e5245382b1f12060b0f131c2935414b556875818e9ba8b4c1cecec1b4a89b8e8175685b4e4235281b0f00000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e524538303030303030303030303030303030303030302d2c29241d160d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606b75818e98a2aebac4c7bbafa3998f82756b6b75828f99a3aebac5c5bbafa3998f82766b61544b4034281f14080000000000000815222e3b4855616e7b8899a4afbbc0b3a69a8d8073675a4d4034271a0600000000000000000000000000000815212e3b4854616e7b8686868686868686868686868074675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2935404b55616d7a86929fabb5c0c7bcb0a69b8e8175685e5246392f23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc1b4a79b8e8174685b4e41333f4a54616b76828f9ca5afbdc6d1cdcdc9bcafa296897c6f6356493c30231609000f1c2935424f5c6875828f9ba8b5c2cec5b8ac9f9285796c564c41362a1e111825313e4b5864717e8b97a4b1becad0bcb0a396897d7063564a3d3023170a00000000000000000a1623303d495663707c8996a3afbcc9cdc0b4a79a8d807c7c7c7c7c7c7c7c7c7c7c7c818e9ba7b4c1cecbbeb2a5988b7f7c7c7c7c7c7c7c7c7c7c7c7d83909daab6c3d0c8bbaea195887c7b7b7b7b7b7b7b7b7a6d6054473a2d211407000714212d3a4754606d7a8793aab4bfcacec1b4a79b8e8174685b4e4135281b07010d18242f44505d6a7783909daab6c3d0c4b8ab9e9185786b5e5245382b1f12000000000000000000000000000000000000000000000000000000000406070808080c1925323f4c5865727f8b98a5b2b2b2b2b2b4b7b8bdc3c2b6a99c8f837a726d675f584f473e342a1e140a00000000000000000002060a0c0c1313131313131313131313130a09070400000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e5245382b1f120000040d18242f414d5a6774808d9aa7b3c0cdcec2b5a89b8f8275685c4f4235291c0f00000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e52453d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f281f160c010000000000000000000000000407090a13131313131313131313131313131313131313131313131211100e0c090606030000000000000000000000000000000000000000000000000000020507081313131313131313131313130e0d0b08030000000000000002070a0c0d13131313131313131313131309090703000000000000000000000000000000000000000000000000000000000000000000000000030e18212b3744505b656f7c89939eaab4bfcabfb4aa9f92877c6e62616e7b86929fa9b3becac0b5ab9f948a7d70665c51453b3025190b0200000000000a1623303d495663707c8996abb5c0bfb2a5988c7f7265594c3f3226190c00000000000000000000000000000815212e3b4854616e7b87939393939393939393938d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d18242f3946525e6874818d99a4afbbc7c2b9ac9f92867b6e61554b4034291c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac0c0c0b4a79b8e8174685b4e412d38424f59626f7c89939eabb5bfc0c0c0c0bcafa296897c6f6356493c3023160900101d293643505c6976838f9ca9b6c2cfc5b8ab9e9285786b5f52453025190d1724313d4a5764707d8a97a3b0bdcacabdb0a4978a7e7164574a3e3124170b00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f726f6f6f6f6f6f6f6f6f6f73808c99a6b3bfccc9bcafa396897c706f6f6f6f6f6f6f6f6f6f76838f9ca9b6c2cfc6b9ac9f9386796e6e6e6e6e6e6e6e6d685d5245392c201307000714212e3a4754616d7a8794a0adbad0cdc1b4a79a8e8174675b4e4134281b0e00071d2a3643505d697683909ca9b6c3cfc5b8ab9e9285786b5f5245382c1f120000000000000000000000000000000000000000000000000001070c101314151515151925323f4c5865727f8b98a5a5a5a5a5a6a7aaacb1b9bdb7ab9f948f847d736d645c52493f332a1f14090000000000000000070d12161819202020202020202020202020171614100b050000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e5245382b1f12070c10131b27333f49536774818d9aa7b4c0cdcec1b5a89b8e8275685b4f4235281c0f00000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e524a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4745413a31281d130700000000000000000000050b10141617202020202020202020202020202020202020202020201f1f1e1d1b191613120f0b060300000000000000000000000000000000000000000003090e1214152020202020202020202020201b1a17140e080100000000070e1317191a2020202020202020202020201615130f0a040000000000000000000000000000000000000000000000000000000000000000000009151f2935414c55606c7883909da5afbcc6c6baaea2988d81746a5f5f6973808d97a1adb9c3c7bdb0a69e9184796d60564d41362a1d140a00000000000b1724313e4a5764717d8a97a4b0bdbeb1a4988b7e7165584b3e3225180b00000000000000000000000000000815212e3b4854616e7b87949f9f9f9f9f9f9f9f9a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36414c56616e7b87939facb9c2c7bbaea3998c8073675c5145382c1f160b000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aeb3b3b3b3b3a79b8e8174685b4e41352f3e4754606a75818e99a3aeb3b3b3b3b3b3afa296897c6f6356493c3023160900101d2a3743505d6a7683909da9b6c3d0c4b7ab9e9184786b5e5145382b1e081723303d4a5663707d8996a3b0bcc9cabeb1a4978b7e7164584b3e3125180b00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f726563636363636363636673808c99a6b3bfccc9bcafa396897c706363636363636363636976838f9ca9b6c2cfc6b9ac9f9386796c62626262626262605d564c4135291d1104000714212e3a4754616d7a8794a0b5c0cbcec1b4a89b8e8175685b4e4235281b0700101d2a3643505d697683909ca9b6c3cfc4b8ab9e9185786b5e5245382b1f12000000000000000000000000000000000000000000000000030b12181c1f20222222222225323f4c5865727f8b989898989898999a9da0a8acb2bab0a69f96918780746e645b51453b31261a0e020000000000010a12181e2225262d2d2d2d2d2d2d2d2d2d2d2d2323201c16100800000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e5245382b1f1c1c181d1f242b3744505b6575828f9ba8b5c2cecec1b4a79b8e8174685b4e4135281b0e00000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5656565656565656565656565656565656565656565654514b433a2f24180d0100000000000000000810161c2023232d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b29282523201f1c17120f0b06000000000000000000000000000000000000050d141a1e21212d2d2d2d2d2d2d2d2d2d2d2d2726241f1a130b0200010a12191f2326262d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f070000000000000000000000000000000000000000000000000000000000000000030c1a26313945515d67717e8b959fabb7c1c9bdb2a99f92867a6e615857606d7a85929ea8b2bdc8c2b9aca0968c7f72685e52463d2f261b1106000000000b1825323e4b5865717e8b98a4b1bebeb1a4978b7e7164584b3e3125180b00000000000000000000000000000815212e3b4854616e7b8794a1acacacacacaca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a46535f6975828e9ba6b0bbc7bfb5ab9e9285796d6053473d32271c10030000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1a6a6a6a6a6a6a69b8e8174685b4e41352b37434e58616e7b86929faaa6a6a6a6a6a6a6a296897c6f6356493c3023160900111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b5e5145382b1e121723303d4a5663707d8996a3b0bcc9cbbeb1a4988b7e7165584b3e3225180b00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f726559565656565656596673808c99a6b3bfccc9bcafa396897c7063565656565656565c6976838f9ca9b6c2cfc6b9ac9f9386796c6055555555555554524c443a3024190d01000714202d3a4753606d798699a3afbbc7cec2b5a89b8f8275685c4f422e23180c00111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b5e5145382b1e120000000000000000000000000000000000000000000000030d151d23292c2d2f2f2f2f2f2f323f4c5865727f8b8b8b8b8b8b8b8c8e91959ea0a8b2b8b0a8a099938c80746d62574d42362a1e130800000000000a131c232a2f3233393939393939393939393939302f2c27211a1108000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e5245382b29292924292c2f353e4653606c7885919eabb8c4d1ccbfb3a6998c807366594d4033261a0d00000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b6363636363636363636363636363636363636363636363605d554b4135291d11040000000000000008111a21272c2f30393939393939393939393939393939393939393939393938373634322f2d2b28221f1b17110a02000000000000000000000000000000050f171f252a2d2e3939393939393939393939393433302b241d140b010a131c242a2f3233393939393939393939393939302f2c2721191007000000000000000000000000000000000000000000000000000000000000000b151e2b37424d57606d7a85919ea7b1bcc9c5b9ada1968c7f73685e52525d68727f8b96a0acb8c2c8bdb2a89f92857b6e61584e41382d22170b010000000c1925323f4c5865727f8b98a5b2bebdb0a4978a7d7164574a3e3124170b00000000000000000000000000000815212e3b4854616e7b8794a1aeb9b9b9b9b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37424d57626f7c89949fabb7c3c6b9ada1978b7e7165594f44382c1f14090000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87949a9a9a9a9a9a9a9a9a8e8174685b4e413527323d46535f6974808d989a9a9a9a9a9a9a9a9a96897c6f6356493c3023160900111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b5e5145382b1e121723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584b3f3225180c00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c494949494d596673808c99a6b3bfccc9bcafa396897c7063564949494949505c6976838f9ca9b6c2cfc6b9ac9f9386796c605348484848484745413a32281e1308000006131f2c3845515c677986929facb9c5cfc2b6a99c8f837669544b4034281c1005121e2a36424d576b7884919eabb7c4d0c4b7aa9d9184776a5e5144372b1e1100000000000000000000000000000000000000000000010b151f272f34383a3b3b3b3b3b3b3b3c4955626f7c7f7f7f7f7f7f7f7f8184899196a0a9b3bab2aba49f928b7f72695f53463a3024190d0100000007121c252e353a3e3f4646464646464646464646463d3c38332c231a10050000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e524538363636362f35393a4145505a626f7c8997a1adb9c6d2c9beb3a9978b7e7164584b3e3125180b00000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185787070707070707070707070707070707070707070707070706d675d5145392c20130600000000000005101a232c33383c3d4646464646464646464646464646464646464646464646454443413f3c3938332d2b27221b140b0903000000000000000000000000030d17212931363a3b464646464646464646464646413f3c362f261d1308121c262e353b3f404646464646464646464646463c3b38322b23190f04000000000000000000000000000000000000000000000000000000000007121c27303947535f6973808d97a1adb9c0c0bcb1a79e9184796d60564c4c56606d7884919da6b0bdc0c0baaea2988e81746a6053493f33271d13070000000d192633404c5966737f8c99a6b2bfbdb0a3968a7d7063574a3d3024170a00000000000000000000000000000815212e3b4854616e7b8794a1aebac6c6c0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4754606a76828f9ca7b1bcc8beb3a99d9083776b6054483b31261a0e0100000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b878d8d8d8d8d8d8d8d8d8d8d8174685b4e4135282b37424d57616d7a868d8d8d8d8d8d8d8d8d8d8d897c6f6356493c3023160900111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b5e5145382b1e121723303d4a5663707d8996a3b0bcc9cbbeb2a5988b7f7265584c3f3225190c00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3c3c404d596673808c99a6b3bfccc9bcafa396897c706356493d3c3c43505c6976838f9ca9b6c2cfc6b9ac9f9386796c6053463b3b3b3b3a3935302820160c02000004101c2934404b556b7885929eabb8c5d1c4b7aa9e918477665c5145382c1f130714212d3a46535e697885929fabb8c5cfc3b6a99c908376695d5043362a1d100000000000000000000000000000000000000000000007121d273139404547484848484848484848535f6a6f727272727272727374777d849197a2adbabdb5afa49f92867b6e61564c4135291d11040000020d18232e373f464b4c5353535353535353535353534a48443d352c21160b0000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0303030303030303030300000000000000000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e52454343434343434045474c515a616c75828f9ca9b2bec9d2c6b9ada197887c6f6255483c2f22150900000000000a1723303d4a5663707d8996a3b0bcc9d1c5b8ab9e92857d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6054473a2d2114070000000000000b16212c353d44484a53535353535353535353535353535353535353535353525251504e4c4946443f3937332d261d1a140e06000000000000000000000009141f29333b4246485353535353535353535353534e4c4741382f241a0e19242e3840474b4d5353535353535353535353534948433d352b21160a00000000000000000000000000000000000000000000000000000000000c18232e39424f59616e7b86929fa9b3b3b3b3b3aca0958b7e71675d514444505c66707d8a949fabb5b3b3b3b4aa9f93877c6f655b50443a2f24180d0100000d1a2733404d5a6673808d99a6b3c0bcb0a396897d7063564a3d3023170a00000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2b37434e5863707d8a95a0acb8c4c5b8aca095897d7063574d42362a1d130700000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8080808080808080808080807e7164574a3e312e2f313c46525e68717e8080808080808080808080807b6e6154483b2e21150800111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b5e5145382b1e121723303d4a5663707d8996a3b0bcc9cbbeb2a5988b7f7265584c3f3225190c00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392f2f2f2d2c29241e160e04000000000c18232f44505d6a7783909daab6c3d0c5b9ac9f9286796d6053463a2d20130815212e3b4854616e7b8798a2aebac6cec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000c18232f39434b515355555555555555555555585f626565656565656566676b707b85929fabb8c5c0baaea3988e8175685d5245392c201307000006121e2a353f4951575960606060606060606060606056554f473d33271c100400000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b101010101010101010101009080603000000000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e524f4f4f4f4f4f4f4b5153555d606c717e8b949eaabbc4cfd1c5b8ab9e9285786c605346392d20130600000000000a1723303d4a5663707d8996a3b0bcc9d2c6b9ada19792898989898989898989898989898989898989898989898989887c6f6255493c2f221609000000000004101c27333d474f5556606060606060606060606060606060606060606060605f5f5e5c5b585653504a46443f382f2b261f180f08000000000000000000020e1a25313b454d535f6060606060606060606060605a58524a41362b1f141f2a35404a52575960606060606060606060606056544f473d32271b0f0300000000000000000000000000000000000000000000000000000004101c2834404a54616b75828f99a3a6a6a6a6a6a6a69d9083786c60554b403f4a54616b76828f99a4a6a6a6a6a6a6a49a9083786c60554b4135291d110400000d1a2734404d5a6773808d9aa6b3c0bcafa296897c6f6356493c3023160900000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d4855616b7783909da8b2bdc8bcb1a79b8f8275695f53463a2f24180d00000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d686d737373737373737373737373716c6155493d3a3b3c3b3a414c56616c717373737373737373737373736e695e53463a2d21140700111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b5e5145382b1e121723303d4a5663707d8996a3b0bcc9cbbeb2a5988b7f7265584c3f3225190c00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d222221201d19130c040000000000071b2835424e5b6875818e9ba8b4c1d0c7bbafa399887b6e6255483b302519121b262f3d4a5763707d8a96aab4becaccbfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000004101c2934404b555c60626262626262626262626262615e5658585858585959606973808c99a6b3bfcbbfb4aa9f92867a6d6054473a2d21140700000a16222f3a46515b63666c6c6c6c6c6c6c6c6c6c6c6c6361594f44382c20140700000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271d1d1d1d1d1d1d1d1d1d1d1d1615130f0a0400000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e5c5c5c5c5c5c5c5c555d6063676d747e87929fa6b0bbcdd4c8bcb1a79b8e8174655b5044372b1f120500000000000a1723303d4a5663707d8996a3b0bcc9d5c9beb3a9a19e969696969696969696969696969696969696969696969695887c6f6255493c2f22160900000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a69676562605b54535049413e37312a211a1209000000000000000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c302417232f3b47525c63666c6c6c6c6c6c6c6c6c6c6c6c6360594f43382c1f130700000000000000000000000000000000000000000000000000000006121f2c3844515c66707d89949a9a9a9a9a9a9a9a9a94897d70665b50433938424f59626f7c87939a9a9a9a9a9a9a9a9a958b7e71675d5145392c20130600000d1a2734404d5a6773808d9aa6b3c0bcafa295897c6f6256493c2f23160900000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202c38444f5964717e8b96a1acb9c5c3b9ac9f93877b6e61554b4135291c11060000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c565d6067676767676767676767676764615a50454547484848474644505a6164676767676767676767676767615e574d42362a1e120500111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b5e5145382b1e121723303d4a5663707d8996a3b0bcc9cbbeb2a5988b7f7265584c3f3225190c00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d20151413110d08020000000000000c1926333f4c5966727f8c99aab4bfcacbc0b5ab988b7e7265564c41362a211f222d38414f596673808d99a6b3c0d0c8bdb2a8978a7d7064574a3d3124170a00000000000000000000000000000000000000000006131f2c3845515c676d6e6e6e6e6e6e6e6e6e6e6e6e6d685e524c4c4c4c4c4f5763707c8996a3afbcd0c6baaea3998a7d7064574a3d3124170a00000c1825323e4b57636d72797979797979797979797979706b6155483c2f23160900000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e41342929292929292929292929292922211f1b150e07000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b6969696969696969696a676d70747a80889299a3aeb8c1ccccc4b8ab9f95897c6f6353493f33271b0f0300000000000a1723303d4a5663707d8996a3b0bcc9dacfc5bbb3adaba3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a295887c6f6255493c2f22160900000000000916232f3c4855616b70797979797979797979797979797979797979797979797978777674726f6c6663605b535046423c332c241b1309000000000000000714212d3a46535e6976797979797979797979797979746e64584c3f33261a26323f4b57636e737979797979797979797979796f6b6054483b2f2215090000000000000000000000000000000000000000000000000000000713202d3a4653606d79848d8d8d8d8d8d8d8d8d8d8d8d82766b61544a3f31303e47535f6a74818d8d8d8d8d8d8d8d8d8d8d8d857a6d6054473a2d21140700000d1a2733404d5a6673808d99a6b3c0bcafa296897c6f6356493c3023160900000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e4653606d7984919ea9b3bec7bbafa4998d8074675d5145382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a444c52545a5a5a5a5a5a5a5a5a5a5a5a5755504d4b51545455555453514a5055575a5a5a5a5a5a5a5a5a5a5a5a54534d453b31251a0e0200111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b5e5145382b1e121723303d4a5663707d8996a3b0bcc9cbbeb2a5988b7f7265584c3f3225190c00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d20130707040100000000000000000a1623303d495663707c8998a2aebac6d1c2b5a99c8f8276685e52463c332c2b2d333f4953606b7884919eabb7c4d1c5b8aca096877b6e6154483b2e2115080000000000000000000000000000000000000000000714202d3a4753606d797b7b7b7b7b7b7b7b7b7b7b7b7a6d615447403f3f404855626f7b8895a2aebbc8cbbfb4ab998c7f7266594c3f3326190c00000c1926333f4c5966727f8686868686868686868686867d7063564a3d3023170a00000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4136363636363636363636363636362f2e2b26201810070000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9184787676767676767676767676787a7c80858d939aa3abb5bfcacdc4baafa59d9083766b605441382d22170b0000000000000a1723303d4a5663707d8996a3b0bcc9d6d7cdc5beb9b8b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afa295887c6f6255493c2f22160900000000000a1723303d4a5663707d8686868686868686868686868686868686868686868685858483817f7c7974706c65615a534d453e362d251b12090000000000000815212e3b4854616e7b8686868686868686868686868074675a4e4134271b2633404d596673808686868686868686868686867d6f6356493c302316090000000000000000000000000000000000000000000000000000000915222f3c4855626f7c808080808080808080808080807c6e62594f42382d2b37434e58616e7a808080808080808080808080807c6f6256493c2f23160900000d1a2633404d596673808c99a6b3bfbcafa396897c706356493d3023160a00000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b161f2c3844505c66727f8c97a2adbac6c0b5ab9f92857a6d60544a3f33281c0f030000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a4145474d4d4d4d4d4d4d4d4d4d4d4d4f545659555d6061626261605c545854524c4d4d4d4d4d4d4d4d4d4d4d4846423b33291f14090000111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b5e5145382b1e121723303d4a5663707d8996a3b0bcc9cbbeb2a5988b7f7265584c3f3225190c00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d20130600000000000000000000000713202d3a4653606d7985929facb8c4cfc5b9ac9f92867a6e61584e453d3937393f44505b65707d8996a1acb9c5d0c4b7aa9d918477695e53463a2d2114070000000000000000000000000000000000000000000915222f3c4855626f7c8888888888888888888888888073675a514b49494a4e5663707c8996a3afbcc9d1c0b3a6998d8073665a4d4033271a0d00000c1926333f4c5966727f8c93939393939393939393897d7063564a3d3023170a00000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4343434343434343434343434343433c3b37322a22180e0400000c1925323f4c5865727f8b98a5b2becbd2c5b9ac9f92868282828282828282828282838486898d92989fa4acb5bdc6cdc4bbb2a89e93897d7063594f442f261b11060000000000000a1723303d4a5663707d8996a3b0bcc9d6dfd7cfc9c6c5bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbafa295887c6f6255493c2f22160900000000000a1723303d4a5663707d89939393939393939393939393939393939393939a939292918f8e8b8985817d78716c615f5750483f372d241a100600000000000815212e3b4854616e7b87939393939393939393938d8174675a4e4134271b2633404d596673808c93939393939393939393897c6f6356493c302316090000000000000000000000000000000000000000000000000000000815212e3a47535f6a6f737373737373737373737373736e6a5f53473d2f2626313c46525e686e737373737373737373737373736f6a6054473b2e22150800000c1926333f4c5966727f8c99a5b2bfbdb0a3968a7d7063574a3d3024170a00000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606d7a85929faab4bfc7baaea2988b7f72665b5044382b1f150a00000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a4040404040404040424b51535960636669676d6e6f6e6d6d666865615e56534e4440404040404040403b3a36312921170d030000111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b5e5145382b1e121723303d4a5663707d8996a3b0bcc9cbbeb2a5988b7f7265584c3f3225190c00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d201306000000000000000000000006121f2c3844515c6675828f9ca9b3bec9c7bbaea3998d81746a5f574f47454446495059606c7883909da8b2bdc9c8bcb1a79a8d807467574d42362a1e12050000000000000000000000000000000000000000000815212e3b4854616e7b87989595959595959595959083776c605d55565656585f6873808c99a6b3bfccccbfb2a6998c7f7366594c403326190d00000c1926333f4c5966727f8c999f9f9f9f9f9f9f9f96897d7063564a3d3023170a00000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a505050505050505050505050505050504947433c342a20150a00000c1925323f4c5865727f8b98a5b2becbd3c7baaea398928f8f8f8f8f8f8f8f8f8f8f909192999a9fa2aaafb6bec6ccc3bbb3a9a0968e81746b6054473d321d140a000000000000000a1723303d4a5663707d8996a3b0bcc9d6dfd6cfc9c5c4bababababababababababababababababababababaafa295887c6f6255493c2f22160900000000000a1723303d4a5663707d89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa49f9f9e9d9c9a9897928e89837e766e69615a51493f362c22180b02000000000815212e3b4854616e7b87949f9f9f9f9f9f9f9f9a8d8174675a4e4134271b2633404d596673808c999f9f9f9f9f9f9f9f96897c6f6356493c3023160900000000000000000000000000000000000000000000000000000006121f2b37434e585f6267676767676767676767676767625f584e43352c1d202a36414c565e61676767676767676767676767676260584e43382b1f130600000c1925323f4c5865727f8b98a5b2bebdb0a4978a7d7164574a3e3124170b00000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3845515d6773808c98a3aebac7beb3aa9e9184786c6053463c31261b0f0200000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292c2d3434343434363f464e545c60656b707376797a7b7b7b7a797875726e68625f58514a423b32343434342e2d2a251f170f05000000111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b5e5145382b1e121723303d4a5663707d8996a3b0bcc9cbbeb2a5988b7f7265584c3f3225190c00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d201306000000000000000000000004101c2834404a5464717e8a97a1adb9c5cbbfb5ab9f92877c6f69605954515053535b606b717e8b959fabbac4cec5b8aca095897c6f6256493c31251a0e020000000000000000000000000000000000000000000613202d394653606c7985929fa1a1a1a1a1a1a1a0958b7e736d6765636263656a6e7a85929fabb8c5d2cabfb4aa988b7e7165584b3e3225180b00000c1926333f4c5966727f8c99a5acacacacacaca396897d7063564a3d3023170a00000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c55534e463c32261b0f03000c1925323f4c5865727f8b98a5b2becbd7cbbfb4aaa39f9c9c9c9c9c9c9c9c9c9c9c9d9e9fa3ababaeb4bbc0c7c7c0bbb1a9a19791847a6d60594f44352b210b02000000000000000a1723303d4a5663707d8996a3b0bcc9d6d6cdc4bdb9b8adadadadadadadadadadadadadadadadadadadadadada295887c6f6255493c2f22160900000000000a1723303d4a5663707d8996a3acacacacacacacacacacacacacacacacb6afacacabaaa9a7a9a29f9b95908a827b716c625b51483e342a1d140a000000000815212e3b4854616e7b8794a1acacacacacaca79a8d8174675a4e4134271b2633404d596673808c99a6acacacacacaca296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000030f1a26313c464e53555a5a5a5a5a5a5a5a5a5a5a5a5a55534e463c31231a1925303b444c52545a5a5a5a5a5a5a5a5a5a5a5a5a56544e463d32271b0f0300000b1825323e4b5865717e8b98a4b1bebeb1a4978b7e7164584b3e3125180b00000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2935404b55616d7a86929fabb5c0c5b9aca0968a7d7063584e43372b1e13080000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d20212727272d363f4850585f666d72777c80838587878888878684817e7a746f6a605c544c443b3228272721211e1a140d0500000000111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b5e5145382b1e121723303d4a5663707d8996a3b0bcc9cbbeb2a5988b7f7265584c3f3225190c00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d2013060000000000000000000000000c18232e3a4653606d7985919ea9b3bec9c6bbafa39991847b706b64605d5b6061656c727d87929fa7b1bcccc8bdb2a89d9184776a6054473b2e1f14090000000000000000000000000000000000000000000005121f2b3744505b6576828f9ca9b3aeaeaeaeb1a79f93877f797471706f7072757c839197a2adbac6d3c6baaea298897c6f6356493c3023160900000c1926333f4c5966727f8c99a5b2b9b9b9b9b0a396897d7063564a3d3023170a00000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174696969696969696969696969696969696969625f584e43372b1f1306000c1925323f4c5865727f8b98a5b2becbdcd1c6bcb4aeaca9a9a9a9a9a9a9a9a9a9a9a9abacaeb5b8babec5c8c3beb6afa7a09791857b6e685d52473d3323190f00000000000000000a1723303d4a5663707d8996a3b0bcc9dacfc4bbb2adaba0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a095887c6f6255493c2f22160900000000000a1723303d4a5663707d8996a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9c0bbb9b8b8b7b6b4b3adaba7a09d9490867e726d625a50463c2f261c11060000000815212e3b4854616e7b8794a1aeb9b9b9b9b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3b9b9b9b9afa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000a15202a343c4347484d4d4d4d4d4d4d4d4d4d4d4d4d4847433c342a2011141e29323b4146474d4d4d4d4d4d4d4d4d4d4d4d4d4947433d342b20160a0000000b1724313e4a5764717d8a97a4b0bdbeb1a4988b7e7165584b3e3225180b00000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d18242f3a46525e6874818d99a4afbbc7bdb2a89c8f82766a5f53473a3025190d00000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314141d2b343f48505a626a6f797e83898c8f92989495959496918e8b86817c736d665e564c443a2f261b1514120e09030000000000111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b5e5145382b1e121723303d4a5663707d8996a3b0bcc9cbbeb2a5988b7f7265584c3f3225190c00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d20130600000000000000000000000007121f2c3844515c6673808c97a1adb9c2cbc0b5aba19691847d75706d67656c6e72787f869299a3aeb9c2cbc3b8aca0968b7e7164584e43372b1f0d0300000000000000000000000000000000000000000000030f1b27333f495365717e8b97a1adb9bbbbbbbbafa499938c85817e7c7c7d7e82879195a0a9b3becacbc0b5ab9f9285796d6053463a2d20130700000c1926333f4c5966727f8c99a5b2bfc6c6bcb0a396897d7063564a3d3023170a00000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d80767676767676767676767676767676767676766f6a5f53473b2e211508000c1925323f4c5865727f8b98a5b2becbd8d8cfc6bfbab9b5b5b5b5b5b5b5b5b5b5b5b6b7b9bbbfc5c6c5c0bbb9b1aca49f9590857c6f695f564c41352b21110700000000000000000a1723303d4a5663707d8996a3b0bcc9d5c9bdb2a9a19e939393939393939393939393939393939393939393939393887c6f6255493c2f22160900000000000a1723303d4a5663707d8996a3b0bcc6c6c6c6cac5c1c0bbbbbbbbbbbbbbbbbbbcbdc0c2c1bebab8b1aca69f9892877f726c61584e42382d22170b0000000815212e3b4854616e7b8794a1aebac6c6c0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfc6c6bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000030e18222a31373a3c404040404040404040404040403b3a37312a22180e0d1720293036393b404040404040404040404040403c3b38322b22190f04000000091623303c4956636f7c8996acb6c0beb2a5988b7f7265584c3f3225190c00000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d2a36414c56616e7b87939facb9c2c3b7ab9f94887c6f62564c41362a1c120700000000000000000000000000000000000000000000000000000000000000000000000000000000010406111c262f3d46505a626c717c838b9095999c9fa2aaa2a1a8a19e9b99928e8780786e685e564c41382d22170b050200000000000000111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b5e5145382b1e121723303d4a5663707d8996a3b0bcc9cbbeb2a5988b7f7265584c3f3225190c00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d20130600000000000000000000000004101c2834404a54606d7a85929ea7b1bbc5c7bdb2a9a1969188827d7a7978797b7e838b9298a2abb5bfcbc3b9afa59e9184786d6053463d32271b0f0000000000000000000000000000000000000000000000000b17222d3a4753606d7985929ea6b0b9c2cbc0b5aba49f97928e8b8989898b8f9299a0a7b1bbc5cbc2bbafa3998e8174665c5145382c1f130600000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000815212e3b4854616e7b8794a1aebac7d1c4b7ab9e9184828383838383838383838383838383838383827c6f6255493c2f221609000c1925323f4c5865727f8b98a5b2becbd8e1d8d1cbc7c5c2c2c2c2c2c2c2c2c2c2c2c3c4c3c1c0bfbab9b6afaca79f9a938e837b6f6a5f574d443a2f23190f0000000000000000000a1723303d4a5663707d8996a3b0bcc9d2c5b9ada19691878787878787878787878787878787878787878787878787877c6f6255493c2f22160900000000000a1723303d4a5663707d8996a3b0bcc9d2d2c8c0b9b5b3aeaeaeaeaeaeaeaeaeafb0b3b7b9bdc4c3bcb8b0aaa29993887e716a5f544a3f33281c0f0300000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000006101820262b2e2f343434343434343434343434342f2e2b2620180f06050e171e252a2d2e343434343434343434343434342f2e2b2720191007000000000815212e3b4854616e7b879aa4afbbc0b3a6998d8073665a4d4033271a0600000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a46535f6975828e9ba6b0bbc7bbb0a69a8e8174685e5246392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424e58626c717e8690959da0a7a9acaeb4adadb2acababa39f99928c837a6e685d53493f33271c11060000000000000000111d2a3744505d6a7783909daab6c3d0c4b7ab9e9184786b5e5145382b1e121723303d4a5663707d8996a3b0bcc9cbbeb1a5988b7e7265584b3f3225180c00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d201306000000000000000000000000000c18232e3945525d68727e8b959fa9b3bdc6c4bbb2a8a19a938f8a87858486878b90959fa2aab4bdc6c4bbb1a79e93897d70665c5044382b20150a00000000000000000000000000000000000000000000000006131f2c3845515d67727e8b949ea7b1bbc0c7bdb5afa9a19e9a98969596989b9fa3abb1b9c3c7c0b9b1a79f92877c6f62544b4034281c100400000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000815212e3b4854616e7b8794a1aebac7d2c5b9ada196918f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f897d7063564a3d3023170a000c1925323f4c5865727f8b98a5b2becbd8d9d0c7c0bbb9b8b8b8b8b8b8b8b8b8b8b8b7b7b6b5b3b4aeacaca49f9c95908781796e695f584e453c32281e11080000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e91847a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a786d6053463a2d20130700000000000a1723303d4a5663707d8996a3b0bcc9d5cac0b6aea8a6a1a1a1a1a1a1a1a1a1a2a3a6aaacb2babec5c2bcb4aba49a92877c6f665b5044382b1f150a00000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000060e151a1f21222727272727272727272727272722211f1a150e060000050d14191e20212727272727272727272727272723221f1b160f0700000000000713202d3a4653606d7986939facb9c1b4a89b8e8175685b4e422d22170b00000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37424d57626f7c89949fabb7c3c2b8ac9f92867a6d61544a4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606a717e8b9299a0a7acb0aba9a4a1a0a1a2a6abadaeaba39f9590847a6d655b5044382e23170c0000000000000000101d2a3743505d6a7683909da9b6c3d0c4b7ab9e9184786b5e5145382b1e071723303d4a5663707d8996a3b0bcc9cabeb1a4978b7e7164584b3e3125180b00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d2013060000000000000000000000000007121c2935414c56606d78839097a1abb4bcc5c4bab2aca49f9b979892919299989d9fa7aeb4bcc6c3bbb2a9a0958e81746b60544a3f3428190f0400000000000000000000000000000000000000000000000004101d2935404b55606c77828f959fa7afb5bdc2c0bbb3adaba7a4a3a2a3a5a8acafb5bdc3c2bbb7afa79f958d80746a5f5342392e23180c0000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000815212e3b4854616e7b8794a1aebac7d5c9bdb2a8a19e9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c96897d7063564a3d3023170a000c1925323f4c5865727f8b98a5b2becbddd2c7bdb5afacabababababababababababaaaaa9a8a6aaa39f9c9a938f89837c746d675f574e463c332a20160c000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5044382b1f120600000000000a1723303d4a5663707d8996a3b0bcc9d1c5b9aea49c999595959595959595959597999ea0a8aeb4bcc5c5bdb5aca3999083786c6053463c32261b0f03000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000030a0f1215151a1a1a1a1a1a1a1a1a1a1a1a1a1514120f0a030000000002080d1114141a1a1a1a1a1a1a1a1a1a1a1a1a1615130f0a0400000000000006131f2c3845515c667885929eabb8c3b6a99c9083766953493f33271b0f03000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0e1a26313c4754606a76838f9ca7b1bcc7baaea3988c7f72665c5144382c1f160a0000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666f7c87929fa3abb1afa69f9c9795939495999ea1a9b0afa79f968f82776c60544a3f34281c100300000000000000101d293643505c6976838f9ca9b6c2cfc4b7ab9e9184786b5e51452f24180d1724303d4a5763707d8a96a3b0bdc9cabdb0a4978a7d7164574a3e3124170b00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d20130600000000000000000000000000000d19242f3a44505c666e7b859299a2aab3bbc2c4beb6afaca8aaa29f9e9fa3aba9abb1babfc6c0b9b1a9a1969183796d60594f42382e23170700000000000000000000000000000000000000000000000000000c18242f3944505b656d7a8390959fa3abb1b9bbc0beb9b8b4b1afafb0b1b5b9bbc0bfbab8b0aba59d959083786d60584e4330271d12070000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000815212e3b4854616e7b8794a1aebac7dacfc4bab2adaba9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a396897d7063564a3d3023170a000c1925323f4c5865727f8b98a5b2becbd7ccc0b5aba49f9e9e9e9e9e9e9e9e9e9e9e9e9d9c9b9a9898928f8c87827d776f6b605d554d453c342a21180d04000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b6060606060606060606060606060606060606060606060605c544a3f34281c100300000000000a1723303d4a5663707d8996a3b0bcc9cec1b5a89c928d888888888888888888898a8d91969fa2aab4bcc6c7beb4aba0958b7e7164584e43372b1f1306000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000030608090d0d0d0d0d0d0d0d0d0d0d0d0d080806020000000000000000010507080d0d0d0d0d0d0d0d0d0d0d0d0d09080603000000000000000004101c2834404b54697683909ca9b6c3b7aa9e918477655b5044372b1f1205000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111414171717171717171717171717171717171717171f2b37434e5863707d8a95a0acb8c4bfb4aa9e9184796d6053463d32271b0f020000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c78839099a3aeb4aba49f948f8a888787898c92979fa6b0b1a89f948b7e71665c5044382c1f1206000000000000000f1c2935424f5c6875828f9ba8b5c2cec5b8ab9f9285786c554b4035291d111724313e4a5764717d8a97a4b0bdcac9bcb0a396897d7063564a3d3023170a00000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d201306000000000000000000000000000008131e28343f4a545e69707d879298a2a9b0b9bdc4c0bbb9b5b4aeacabacaeb4b6b8bcc2c3bcb8afa7a09791847b6e675d51473d30261c1106000000000000000000000000000000000000000000000000000007121d27333f49535d686d7a838d92999fa7acafb5b7b9bbc0bdbcbcbcbcbebab8b6b4aeaca69f9c938e837a6d665c51463c311e150b000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000815212e3b4854616e7b8794a1aebac7cdcdccc4bdb9b7b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b0a396897d7063564a3d3023170a000c1925323f4c5865727f8b98a5b2becbd4c7bbafa4999391919191919191919191919191908e8d8b8986837f7b76706b636059514b433b332a22180f0600000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5454545454545454545454545454545454545454545453504a42382e23170b0000000000000a1723303d4a5663707d8996a3b0bcc9ccc0b3a6998d807b7b7b7b7b7b7b7b7b7c7d80848b9298a2aab4bfcac6bdb1a79d9083776a5f53473b2e211508000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e414e5a6774818d9aa7b4c0b9ac9f9286796c605346392d201306000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e2021242424242424242424242424242424242424242427323d4855616b7783909da8b2bdc6b9ada1968a7e7164584e43382b1f1409000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5564717e8a95a0abb5afa499938b827e7b7a7a7c808590949fa9b3b0a69e9184796d6053463a2d201307000000000000000e1b2834414e5b6774818e9aa7b4c1cdc6b9ac9f938679675d5145392c20131825323e4b5865717e8b98a4b1becbcbbfb4aa95887c6f6255483c2f22150900000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d2013060000000000000000000000000000010b17232e38424d57606b707d8692979ea6acb2b8bcc2c5c2bfbab8b7b9babfc3c5c2bcb7b1aca59d9590857c6e695f554b40352b1e150a000000000000000000000000000000000000000000000000000000010b17222d38414c565e686d79808790959c9fa3abaaacafb6b0b1b1b0afb3adaba9aaa29f9b94908981796d685d544b40342a200c03000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000815212e3b4854616e7b8794a1aebac0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0bcb0a396897d7063564a3d3023170a000c1925323f4c5865727f8b98a5b2becbd2c6b9ac9f9387858585858585858585858584848382807e7c7976726e69636159544f454039312a211810060000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5247474747474747474747474747474747474747474746443f3830261c11060000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f726e6e6e6e6e6e6e6e6f7073787e869298a2aebac7cfc3b8aca095887c6f6255493c2f221609000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900000000000005090d0f10131313131313131313131313100f0d0a050000000000000000000000000000000002070c0f11121313131313131313131313130a0a08040000000000000000000000000000000000000000000000000000071825323f4b5865727e8b98abb5c0baaea399877a6e6154473b2e211408000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e3030303030303030303030303030303030303030303038444f5964717e8b96a1acb9c5bdb2a89d9083766a6054473b30251a0e010000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6776828f9ca7b1b4aa9f93877e76716e6d6e6f737a829097a1adb7ada1968a7d7063574a3d3024170a000000000000000d1a2633404d596673808c99a6b3bfccc7bbafa499867a6d6053473a2d20141926333f4c5966727f8c99a5b2bfccc7baaea398877a6d6154473a2e21140700000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d20130600000000000000000000000000000006111c26303b454f59606b707d858f949ea1a8acb1b6b8babebdbebebebdbeb9b8b5b0aba7a09d938e837b6e6a5f574d43392f231a0c030000000000000000000000000000000000000000000000000000000006111b262f3a444c565e676d747c838a8f92999b9d9fa4aca3a4a4a3a3a9a29f9c9a98928e8a837c746d675d564c42392e22180e00000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000815212e3b4854616e7b8794a1aeb3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b0a396897d7063564a3d3023170a000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e918478787878787878787878787777767573716f6d6766615e57554f48433d352f271f180f06000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e52453a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e261e140a000000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265626262626262626264656c717d86929fabb5c0ccc8bcb1a7998c7f7266594c3f3326190c000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900000000020a1015191c1c2020202020202020202020201d1c1916100a0300000000000000000000000000060d13181c1e1f202020202020202020202020171614100b05000000000000000000000000000000000000000000000000091623303c4956636f7c8999a4afbbbfb4ab96897d7063564a3d30231708000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3e4653606d7984919ea9b3bec4b8ab9f95897c6f62574d42362a1d1207000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929faaaaaaa2988c80736c6462606162686d7a85929eaaaaaaa89a8d8174675a4e4134271b0e010000000000000b1825323e4b5865717e8b98a4b1bececcc0b5ab95887b6f6255483c2f22151a2734414d5a6774808d9aa7b3c0cdc5b8ac9f9285786c605346392d20130600000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d201306000000000000000000000000000000000a141e29333d474f59606b6f7a828b91969da0a7a9abadb3b0b1b1b1b0b3adaba8a69f9c95908981796e695f584e453b31281d11080000000000000000000000000000000000000000000000000000000000000a141d28323a444c555c606a6f787d82868b8e91939a969697979696959792908d8a86827d766f6a605c554c443a30271d100600000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000815212e3b4854616e7b8794a1a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a396897d7063564a3d3023170a000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b6b6b6b6b6b6b6b6b6b6b6a6968676562605c5554534d48443d383229241d150d0600000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b28231c140c02000000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f72655955555555555556535b606b737f8c99a4afbbc7cec2b5a89b8f8275685c4f4235291c0f000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c30231609000000040c141b212528292d2d2d2d2d2d2d2d2d2d2d2d292926211c150d040000000000000000000000070f171e24282b2c2d2d2d2d2d2d2d2d2d2d2d2d2423201c17100800000000000000000000000000000000000000000000000714212d3a4754606d7a86939facb9bfb2a5998c7f7266594c3f3025190d010000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a505c66727f8c97a2adbac6bcb1a79b8e8175695e5246392f24180c000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c89999d9d9d9d9d92867a6d605a555454565e68737f8c999d9d9d9d9d9083776a5d5044372a1d1104000000000000091623303c4956636f7c8996a8b2bdc9d2bdb0a3978a7d7064574a3d2f24181e2a36424d576975828f9ca8b5c2cfc3b6aa9d908377665b5044382b1f120600000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d20130600000000000000000000000000000000020c17212b353d474f5960686e767e848b9195999c9fa2a9a3a4a5a4a4a9a29e9c9894908a837d746d675e574e463c33291f160c00000000000000000000000000000000000000000000000000000000000000020b162028323a434b51585f666c70757b7f81848688898a8b8a8a8988878583817d7975706b626058514b433a32281e150b0000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000815212e3b4854616e7b87949a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a96897d7063564a3d3023170a000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e5e5e5e5e5e5e5e5e5e5e5d5b5a585653514b4846423b38332c272118120b030000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b212121212121212121212121212121212121201f1c17181715110c0600000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c484848484849495059616d7a86939facb9c6d0c4b7aa9d9184776a5e5144372b1e11000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c302316090000020c161e262c3235363939393939393939393939393635322d261f160d00000000000000000000060f1921292f34373839393939393939393939393931302d28221a1108000000000000000000000000000000000000000000000613202c3945525d687783909daab6c1b5a89b8e827568564c4135291d11050000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303b444c5254575757575757575757575757575757575757575757575757575754606d7a85929faab4bfc2b9ac9f92867b6e61554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a9191919191918f8276675d514847474c56626f7c899191919191919185786b5f5245382c1f12050000000000000714212e3a4754616d7a8796a0acb9c5ccbfb2a5998c7f7266554b4035291b202d3a46525e697884919eabb7c4cec1b4a89b8e817568544a3f33281c0f0300000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d2013060000000000000000000000000000000000050f19232c353d474f565e616c71797e84888c8f92979697979897979697928f8c88837e78706b605d554d453c342a21170d040000000000000000000000000000000000000000000000000000000000000000040e162028303940454e545b6064696e7275777a7b7c7d7e7e7d7c7c7b787674716d67636159544e454039312820160c030000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000815212e3b4854616e7b878d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d897d7063564a3d3023170a000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e52525252525252525151504f4d4b494745403b3a36312c27211b160c0701000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5245382b292929292929292929292929292929292929292929292423211d171008000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c3f3b3b3b3b3c3f46525e687784919daab7c4d0c5b8ab9e9285786b5f5245382c1f12000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900000a141e2830383d414346464646464646464646464643423e3831281f12090000000000000000020d17212b333b4044454646464646464646464646463d3c39332c231a100500000000000000000000000000000000000000000004111d2935414c566773808d9aabb5c0b7ab9e918478685e5246392d2013060000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e61636363636363636363636363636363636363636363636363636363636773808d98a3aebac7bbafa3998d8073675d5145382c1f160b0000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717e8484848484848484807367554b403a3b4754616e7b848484848484848483776a5d5144372a1e11040000000000000713202d3946525e687784919eaab7c4d2c2b5a99c8f8276675d5145382d2527313b4854616e7b8796a1adb9c5cabeb3a9988c7f7265594c3f2d22170b0000000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d20130600000000000000000000000000000000000007111a232c353d444d525a62666d71777b7f838587898a8b8b8b8a898785827f7b76716d666059514b433b332a22180f0600000000000000000000000000000000000000000000000000000000000000000000050e161e272e343c424a5053565e616568686d6f6f70717170706f6e69696764605d55554f47433d342f271f160d04000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000714212d3a4754606d7a80808080808080808080808080808080808080808080808080808080808080807b6e6155483b2e221508000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e524545454545454544444342403e3c3a38342f2d2a251f1c1c171614100b050000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e524538353535353535353535353535353535353535353535353531302d28221a12080000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c3f322f2f2f2d36414c566976838f9ca9b6c2cfc5b9ac9f9286796c5f5346392c2013000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c302316090005101b26303a42494e4f535353535353535353535353504e49423a31241a0d040000000000000007131e29333d454c50525353535353535353535353534a49443e362c22170b000000000000000000000000000000000000000000010d19242f3d4a5763707d8a99a3afbbb9aca196877a6d6154473a2d22170b0000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0707080909080603000000000000000000000000000000000000000000000000000000000000000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707a86929facb8c5c0b5ab9e9285796d6053473d33271c100400000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c717777777777777777736e6358433a2f3a46525e696e77777777777777777771675b4f4336291d100400000000000005111d2a36414c566875818e9babb5c0ccc5b8ac9f9286796d6053493f3530333a434f5965717e8b98a8b2bdc9c6baada297887c6f6255493c2f2216060000000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000008111a232b323b414650545c60656a6e7376787b7c7d7e7e7e7d7c7b7875726e6964605c544f454039312921180f06000000000000000000000000000000000000000000000000000000000000000000000000050c151d23282f383f44464d525458565d606263636464636362615e575a5753514b48443e373229231d150d0400000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000713202c3945525d686d73737373737373737373737373737373737373737373737373737373737373736e695f53473a2d211408000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e52453838383838383837363534322f2d2c29232929292929292423201c17100800000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e52454242424242424242424242424242424242424242424242423e3d39342c241a100600000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c3f3434342e343944505c667683909da9b6c3d0c5b8ab9f9285786c5f5245392c1f12000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c30231609000915212c38424c545a5c6060606060606060606060605c5a544c42362c1f160c010000000000000c18242f3b454f575d5f606060606060606060606060575550483e33281c10040000000000000000000000000000000000000000000814212d3a4754606d7a86929facb9bdb2a8968a7d706353493f33271b0f0300000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b14141415161615130f0a0400000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d83909ca9b6c3c7b9ada1978b7e7165594f44382c20130700000000000000000000000000000000000000000000000000000000000000000000000814212d3944505a61646a6a6a6a6a6a6a6a67635c5247312a36424d575e616a6a6a6a6a6a6a6a6a675f554a3f33271a0e02000000000000010d1925303e4b5865717e8b99a4afbbc7c7baaea3988a7e71655b5046413f3f444b55606b7683909ca9b6c3cfc5b8ab9f9285796d6053463a2d2013070000000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000081019202930363f424a5153585f626669696e7070717271716f6e696965615f5753504a423d352f281f170f060000000000000000000000000000000000000000000000000000000000000000000000000000030b12181d262d33383b4246474c4c5254555657585757565554524d4e4a4745403938332b272018120b030000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000004111d2935414c565d606767676767676767676767676767676767676767676767676767676767676767615f574d42372b1e1206000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e5245383535353535353535353535353535353535353535353531302d28221a1208000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e524f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4b49453e362c22170c00000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c41414141413f444b54606d7985929fabb8c5d1c4b7aa9e9184776b5e5144382b1e11000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c30231609000d1925323d49545e66696c6c6c6c6c6c6c6c6c6c6c6c69665e54483e31281e13080000000000030f1c2834404c5761686b6c6c6c6c6c6c6c6c6c6c6c6c64615a5044392d2014080000000000000000000000000000000000000000000613202c3945525d687683909cabb5c0b4a79a8e8174655b5044372b1f120500000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e412d2521202021222322221f1b150e07000000000000000000000000000000000000000000000000000000000a1724313d4a5764707e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a90949fabb7c4cabeb3a99d9083776b6054483c2f221609000000000000000000000000000000000000000000000000000000000000000000000004101c28333e485055575e5e5e5e5e5e5e5e5a58524a403625303b454d52545e5e5e5e5e5e5e5e5d5b554d43392e22160b00000000000000000814212e3a4754616d7a86939facb9c4cbbfb4aa9d9083786c6059524c4c4950555d676f7c89949fabb7c4c9bdb2a89b8e8174665c5044382b1f12060000000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000070e171f252a30394044464e535559575e6163646465646463615e575955534d46443f383029241d160d050000000000000000000000000000000000000000000000000000000000000000000000000000000000070b141c22282b30363a3b3f41454748494a4b4b4a4949474642413e3a39352f2c28211b150c0701000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a0000000000000000000000010d1924303a444c52545a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a55534d453c31261a0e02000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e524542424242424242424242424242424242424242424242423d3c39332c241a10050000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b5e5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c575550483e34281d1105000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594e4e4e4e4e4e4a50545c66707d8997a2adbac6cfc3b6a99c908376695d5043362a1d10000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c30231609000f1c2835414e5a6670767979797979797979797979797670665a50433a2f24190b020000000005111e2b3744505d687378797979797979797979797979706c6155493c3023160a00000000000000000000000000000000000000000004111d2935414c5665727f8b99a4afbbb8ab9e9184786c605346392d20130a00000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d81746753493f36302e2d2d2e2e302f2e2b26201910070000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a9696969696969696969696969696969696969696969696969696969696969c9fa6b0bcc7cfc5b8aca095897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a51515151515151514d4b4740382e2429333b4246475151515151515151514f4a433b32271c110600000000000000000713202d3946525e687683909ca9b3bec9c6b8aca0958b7f726b615e5659535b60676d7984919da6b0bcc7c5b9ada1968a7d7063544a3f34281c10030000000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000050d14191e272e34383c4347484c4d53545657585858575654524d4c4846423b38342e261e18120c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f252a2d2e2f35393a3c3c3d3e3e3d3d3c3b3a3630312d2c29241d1c160f0a040000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000008131e28323a4145474d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4847423c332a1f150900000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e524f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4a49443e362c22170b0000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e9185786b68686868686868686868686868686868686868686868686868686864615a5045392d211508000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f72655a5a5a5a5a5a5a545c60666d7883909da9b3becacabfb4aa9a8d8074675a4d4134271a0e000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c69768286868686868686868686868682766c61554c4135291d140a0000000005121f2c3845525f6b78858686868686868686868686867e7064574a3d3124170a000000000000000000000000000000000000000000010d19242f3b4754616e7a87939facb9b9ada197897c6f6256493d32271b0f02000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174655b5046413c3b3a3a3a3b3c3c3b37322a22190e0400000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a9abb0b8c2cdd4c8bcb1a79c8f8275695c4f4236291c0f00000000000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3e4444444444444444403f3b362e261c202930363a3b444444444444444444433f39322920160b00000000000000000005111e2a36414c5664717e8b97a1adb9c4c8bcb1a79f92877d736d68676566656c7079828f96a0acb8c2cabeb3a99e9184796d6053463a2e23170b000000000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cfc6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000002080c151c23282c31373a3b40424648494a4b4b4b4a494746423f3b3a36312b28231c140c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f14191e202124292c2d2f3030313130302f2e2d2a2524201f1d1812100b0500000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000020c1620283035393a40404040404040404040404040404040404040404040404040404040404040403b3a37312a21180e0300000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b5e5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c575550483e33281c100400000000000000000000000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9e91847875757575757575757575757575757575757575757575757575757575716c6155493d3023170a000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f72676767676767676768666d7079818e959fabbbc5cfc6baaea2988a7e7164574a3e3124170b000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f93939393939393939393948a7e71675d51453c2f261b110600000005121f2c3845525f6b788592939393939393939393938a7d7064574a3d3124170a000000000000000000000000000000000000000000000814202d3946525e6876838f9ca9b3beb2a9998c807366584e43372b1e1308000000000000000000000815212e3b4854616e7b8794a1aebac7d0c3b6aa9d9083786c605a524c494747474748494947433c342a20150a00000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b6b7bcc2cad2d2cec3b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000000000008121a22282d3031373737373737373734322f2a241c14171f252a2d2e37373737373737373736332e2720170e04000000000000000000010d1925303a4653606d7985919ea8b2bec7c3bbafa3999288807a7573727374787d838f949ea8b2bdcbc5b9ada1978c7f72665c5044382c1c1106000000000000000000000a1623303d495663707c8996a3afbcc9cbbfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfccc9bcafa396897c706356493d303643505c6976838f9ca9b6c2cdc6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000030b12181c1f262b2e2f31363a3b3d3d3e3f3e3e3c3b3a36302e2d2a261f1c17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e111414191d2021222324252424232221201e1a171413100c0701000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000000040e161e24292c2d34343434343434343434343434343434343434343434343434343434343434342e2d2b261f180f060000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e9185786b686868686868686868686868686868686868686868686868686864615a5044392d20140800000000000000000000000a1723303d4a5663707d8996a3b0bcc9d2c5b8ac9f928682828282828282828282828282828282828282828282828282828282827e7164574b3e3124180b000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7474747474747474747576797d838e939ea7b1bccdcbbfb5ab9f9285796d6053473a2d201407000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9c9f9f9f9f9f9f9f9fa69e91857a6d60584e41382d22170b01000005121f2c3845525f6b7885929e9f9f9f9f9f9f9f9f978a7d7064574a3d3124170a0000000000000000000000000000000000000000000005111e2a36414c5665717e8b97a2adbab7aa9d9084776a6054473a3025190d010000000000000000000815212e3b4854616e7b8794a1aebac7d1c4b8ab9f958b7f726c615e565654535354555655544e463c32261b0f03000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdc3c5c5c5c5c5c5c5c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000000000810171c2123242b2b2b2b2b2b2b2b2726231f19120a0d141a1e20212b2b2b2b2b2b2b2b2a2927221c160e05000000000000000000000008131f2c3845515c66727f8c96a0acb6c0cbc0b5aba39a938d8682807f8081848991959ea6b0bac3c5bcb1a79e92857a6d60544a3f34281c0a00000000000000000000000a1623303d495663707c8996a3afbcc0c0bfb2a5988c7f7265594c3f3233404d596673808c99a6b3bfc0c0bcafa396897c706356493d303643505c6976838f9ca9b6c0c0c0b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000070c10151a1f2122252a2d2e303131323131302e2d2a2522211e1a14100b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080d11131415161718181716161414110e09070604000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a0000000000000000000000000000040c13191d2021272727272727272727272727272727272727272727272727272727272727272722211e1a150e06000000000c1925323f4c5865727f8b98a5b2becbd1c4b8ab9e918478757575757575757575757575757575757575757575757575757575706c6155493c3023160a00000000000000000000000a1723303d4a5663707d8996a3b0bcc9d3c7baaea398928f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8c807366594d4033261a0d000a1723303d4a5663707d8996a3b0bcc9cfc3b6a99c90828081818181818181818183858a90959ea5afb9c2cdc4bbaea3998e8174675d5145392c1f1306000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9acacacacacacacada1978d80746a5f53493f33271e1308000005121f2c3845525f6b7885929eabacacacacacaca3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000020e1925303b4753606d7985929fabb5b8aca095897c6f62564c41362a1e13080000000000000000000815212e3b4854616e7b8794a1aebac7d4c8bcb1a79f92877e746d686562616060616163625f584e43372b1f1306000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416171e1e1e1e1e1e1e1e1a1917130e080002090e1114141e1e1e1e1e1e1e1e1e1d1a16110b0400000000000000000000000004101c2834404b54606d7984919aa4afbbc2c7bdb5aca49f99928f8d8c8c8e91969da0a7b0b8c1c7bdb4aa9f958b7f72685d5242382e23170c00000000000000000000000a1623303d495663707c8996a3afb3b3b3b3b2a5988c7f7265594c3f3233404d596673808c99a6b3b3b3b3b3afa396897c706356493d303643505c6976838f9ca9b3b3b3b3b3ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000040a0f1214151a1e21212324252525242321201e1a1514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104070709090a0b0b0a0a090807050200000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000000000002080d1113141a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1514120e090300000000000c1925323f4c5865727f8b98a5b2becbd2c5b8ac9f9286828282828282828282828282828282828282828282828282828282827e7064574a3d3124170a00000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6cbbfb4aaa39f9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b998c807366594d4033261a0d000a1723303d4a5663707d8996a3b0bcc9d0c4b7ab9f94908d8d8d8d8d8d8d8d8d8e8f92989da0a7afb7c1cbc4bbb1a79f92867b6e61554b4035291d1004000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5b9b9b9b9b9beb3a99f92877c6f655b50443a2f24190b020005121f2c3845525f6b7885929eabb8b9b9b9b9b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000814202c3945515d6773808d99a3afbbb1a79a8e8174685e52463a2f24190d0300000000000000000815212e3b4854616e7b8794a1aebac7d8cdc3bbaea3999288807a75716f6e6d6d6d6e6f6f6a5f54473b2e221508000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0b11111111111111110d0d0a07020000000002050708111111111111111111100e0b060000000000000000000000000000000c18232e3945515c66707d88939fa6b0b9c1c7beb6afaba39f9c9a98999a9ea0a8acb1b9c1c5bdb5aba2989083786d60564c4130261c110600000000000000000000000a1623303d495663707c8996a3a6a6a6a6a6a6a5988c7f7265594c3f3233404d596673808c99a6a6a6a6a6a6a6a396897c706356493d303643505c6976838f9ca6a6a6a6a6a6a69f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000020608090e121415161718181817161414110e0907050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000010407070d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d08080602000000000000000c1925323f4c5865727f8b98a5b2becbd3c7baaea398928f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8c7f7266594c3f3326190c00000000000000000000000a1723303d4a5663707d8996a3b0bcc9dcd0c6bcb4aeaca8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a6998c807366594d4033261a0d000a1723303d4a5663707d8996a3b0bcc9d3c7bcb0a69f9c9a9a9a9a9a9a9a9a9a9b9c9fa2aaacb1b9c1c9c2bab2a9a0958d8074695f5343392f24180c00000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2c6c6c6cfc4bbafa3999083786c60564c4135291d140a0005121f2c3845525f6b7885929eabb8c5c6c6bdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000004101d2935404b55616e7b86929fabb5b8ac9f92867a6d61564c4135291f140900000000000000000815212e3b4854616e7b8794a1aebac7d4d7cbbfb5aba39a938d86827e7c7a7a7a7a7b7c7c6f6255493c2f221609000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2834404b54606b74808d949fa6afbabfc5c0bbb5aeaca8a6a5a6a7aaacb2b8bcc3c2bcb4aba39992867b6e665c50443a2f1e150a0000000000000000000000000a1623303d495663707c89969a9a9a9a9a9a9a9a988c7f7265594c3f3233404d596673808c999a9a9a9a9a9a9a9a96897c706356493d303643505c6976838f9a9a9a9a9a9a9a9a9a9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0b0c0b0b09080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070b0d0f11111111100e0c09070603000000000006060606060606060606060201000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd6cbbfb4aaa39f9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b998c7f7266594c3f3326190c00000000000000000000000a1723303d4a5663707d8996a3b0bcc9d2d2cec6bfbab8b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b3a6998c807366594d4033261a0d000a1723303d4a5663707d8996a3b0bcc9d8cdc2b8b0aba9a7a7a7a7a7a7a7a7a7a8a9abaeb4b8bcc3c4beb9b0a8a1979083796d60574d4231271d120700000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfd2d2d7cbc0b5ab9f948b7e71685d52453c2f261b110600121f2c3845525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000010d18242f3946525e6975818e99a3afbaaea2988c8073685d52453b31261a1006000000000000000815212e3b4854616e7b8794a1aebac7d4dcd1c6bdb5aca49f98928e8b898786868788898174675b4e4134281b0e000000000000000000000000000000000000000000000000000a1724313d4a5764707e8a9292929292929292929292929292929292929292929292929292929292929292929292929292929292929184776b5e5144382b1e11000000000000000000000006060606060606060606060000000000030606090d0f10111111100e0c090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424f59606d78828f949ea5aeb4bbc0c6bfbbb9b5b3b2b3b4b7b9bdc4c4bdb9b0aaa29992877d70695f544a3f32281e0c030000000000000000000000000a1623303d495663707c898d8d8d8d8d8d8d8d8d8d8c7f7265594c3f3233404d596673808c8d8d8d8d8d8d8d8d8d8d897c706356493d303643505c6976838d8d8d8d8d8d8d8d8d8d8d86796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314171a1c1d1e1e1e1d1b19161312100b06080a0b13131313131313131313130f0e0c0804000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbdcd0c6bcb4aeaca8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a5998c7f7266594c3f3326190c00000000000000000000000a1723303d4a5663707d8996a3b0bcc5c5c5c5c5c5c5c5c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2bfb3a6998c807366594d4033261a0d000a1723303d4a5663707d8996a3b0bcc9d6d4cbc2bcb7b6b4b4b4b4b4b4b4b4b4b4b6b8babec5c3bdb9b3ada69f9691857b6e675c51453b311f150b0100000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfdce8dcd1c7bdb0a69e92857a6d60584e41382d22170b02121f2c3845525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000007121d2a36424d57626e7b87929faab4b4aa9f92857a6d60574d42362a22180e050000000000000815212e3b4854616e7b8794a1aebac7d4d9d0c7c0bbb6afaaa39f9b989594939394948e8174685b4e4135281b0e000000000000000000000000000000000000000000000000000a1724313d4a5764707d878686868686868686868686868686868686868686868686868686868686868686868686868686868686868684776a5e5144372b1e11000000000000000205070813131313131313131313130b0a08060b0f121316191c1d1e1e1e1d1b191515120f0a040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303d44515c666d79828e939fa2aaafb5b8bcbfc1c2c0bfbfc1c2c0bfbab8b2aca69f9892877e716b61574d42382e20160c000000000000000000000000000815222e3b4855616e7b8080808080808080808080807d706356493d30303d4a5663707d8080808080808080808080807b6e6155483b2e323f4b5865727f80808080808080808080808073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1013191d20212427292a2b2b2a2a282623201f1c171114171720202020202020202020201c1b18140f090200000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd2d2cec6bfbab8b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b2a5998c7f7266594c3f3326190c00000000000000000000000a1723303d4a5663707d8996a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b3a6998c807366594d4033261a0d000a1723303d4a5663707d8996a3b0bcc9d6ddd4cdc7c4c3c0c0c0c0c0c0c0c0c0c0c0bfc0bbb9b6b2aca9a19e948f847b6e695f554b40332a1f0d030000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfdce8e3d9cfc2b9ada1978d80746a5f53493f33271e1308121f2c3845525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000010e1a25303b47535f6a74818e98a2aebaada2978d8073695f53463f342a20170d0400000000000815212e3b4854616e7b8794a1aebac7ddd2c7beb6afacafb4aeaca8a4a2a1a0a0a09b8e8174685b4e4135281b0e000000000000000000000000000000000000000000000000000a1623303c4955616c7079797979797979797979797979797979797979797979797979797979797979797979797979797979797979797771675b4f43362a1d10000000000003090e121415202020202020202020202018171511171c1f202326282a2b2b2a29282522211f1b15110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2834404a545d676d79818b92989fa3abacb1b3b4b6b6b7b7b6b5b4b4aeaca8a09e9490867d716c61594f453c30261c0d04000000000000000000000000000714212d3a46535f696e737373737373737373737373706b6054483b2f2f3c4854606b707373737373737373737373736e695f53463a2d313d4a56626d727373737373737373737373736e64584c3f3326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161c1e25292d2e313435373738373635322f2d2b28231c2123242d2d2d2d2d2d2d2d2d2d2d282725201a130c03000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2bec5c5c5c5c5c5c5c5c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2bfb2a5998c7f7266594c3f3326190c00000000000000000000000a1723303d4a5663707d8996a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca6998c807366594d4033261a0d000a1723303d4a5663707d8996a3b0bcc9d6d4cbc3bcb8b6b4b4b4b4b4b4b4b4b4b4b3b2b5afacaaa8a09e97918b827a6e695f574d43392f21180e000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271d2633404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfdce8ebe1d5c9beb3a99f92877c6f655b50443a3024190b121f2c3845525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000009141f2b37424e57616e7a86929fa7b1b3a99f92867b6e615b51463c322920160e06000000000815212e3b4854616e7b8794a1aebac7d8ccc0b6aca49fa4acb6b9b5b1afadadada89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000814202d39444f5961646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f564b3f33271b0e00000000050d141a1e21212d2d2d2d2d2d2d2d2d2d2d2423211c22282b2d2f3335373738373634322f2e2b26201d19130b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18232e39424b555d676d777f868e92999da0a7a6a8a9aaaaaaa9a9a7aaa29f9b96918b827b706b615a50473e332a1e150a000000000000000000000000000005121e2a36424d575f616767676767676767676767676360594f44382c2c38444f596063676767676767676767676767615f574d42362a2e3a45515b6265676767676767676767676767645c52473b2f23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a21282c3035393a3e40424444444443413f3c3a38342e2a2d303139393939393939393939393534312c251e150c020000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b2a5998c7f7266594c3f3326190c00000000000000000000000a1723303d4a5663707d89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f998c807366594d4033261a0d000a1723303d4a5663707d8996a3b0bcc9d8cdc3b9b1abaaa7a7a7a7a7a7a7a7a7a7a6a6aba49f9d9a96918c857e776e685f574d453b31271d0f06000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e413429292933404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfdce8f3e6dacfc5bbafa3999083786c60564c4135291d140a1f2c3845525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000030e1a26313c46525e68737f8c95a0abb5aea3988f82766d62584e443b3228201810060000000815212e3b4854616e7b8794a1aebac7d4c8bbafa49a939aa4afbbc1bebcbab9b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000004101c28333e474f55575f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5e5b564d44392e23170b000000050f171f252a2d2e393939393939393939393931302d292d3338393c40424344444443413f3c3a37312c29241e17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303a434b555c656c727b81868c919597999b9c9d9d9d9d9c9a9898928e8a847e786e69615950483e352c21180c030000000000000000000000000000020e1a26313b454d53555a5a5a5a5a5a5a5a5a5a5a5a56544f473d322727333d474f54565a5a5a5a5a5a5a5a5a5a5a5a55534d453b312629343f495156585a5a5a5a5a5a5a5a5a5a5a5a58524a40362b1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f181f262b33383a4146474a4d4f50515151504e4c4946443f3836393c3e464646464646464646464642403d372f271e13090000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca5998c7f7266594c3f3326190c00000000000000000000000a1723303d4a5663707d89929292929292929292929292929292929292929292929292929292929292929292929292929292928c807366594d4033261a0d000a1723303d4a5663707d8996a3b0bcc9d4c8bcb1a79f9d9b9b9b9b9b9b9b9b9b9a9999979993908d89847f79726c655e564d453c332a1f150b00000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e413636363636404d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfdce8f7ece1d7cbc0b5ab9f958b7e71685d52453c2f261c111f2c3845525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000915202a36414c56606d79839099a3aeb4aa9f948b7e726a5f564c443a322a22180e0300000815212e3b4854616e7b8794a1aebac7cdc6b9ac9f9386939fa5afb9c3ccd2c1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000b17212c353e44494a5353535353535353535353535353535353535353535353535353535353535353535353535353535353535353514f4b443b32281d12060000030d17212931363a3b46464646464646464646463e3d3935383f4446494c4f50515151504e4c4847433c39353028221c140b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e28313a434b535b60696e747b7f84878a8c8e90909190908f8d8c8986827d79716c665f574f473e362d231a0f060000000000000000000000000000000009141f2a333b4246484d4d4d4d4d4d4d4d4d4d4d4d4948443d352b21212b353d44484a4d4d4d4d4d4d4d4d4d4d4d4d4846423b332a1f232d373f454a4b4d4d4d4d4d4d4d4d4d4d4d4d4c4740382e24190e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a212a31373e44484c5254575a5c5d5e5e5d5d5b595653504a464245494a53535353535353535353534f4d4841392f251a0f0400000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b989f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f998c7f7266594c3f3326190c00000000000000000000000a1723303d4a5663707d878686868686868686868686868686868686868686868686868686868686868686868686868686868687807366594d4033261a0d000a1723303d4a5663707d8996a3b0bcc9d1c4b8ab9f95908e8e8e8e8e8e8e8e8e8d8d8c8a898683807c78726d67605b534d443c332a21180d0300000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e434343434343434d596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfdce8f5f4e8dcd1c7bdb1a79e92857a6d60584e42382d22171f2c3845525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000030e1925303b45515c666f7c87929fa7b1b0a69f92867c6f685e564c443c342a20150a00000815212e3b4854616e7b8794a1aebac0c0c0b3a69a8d808d939ea7b1bbc0c7c2b5a89b8f8275685c4f4235291c0f000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464646464646464646464646464646464646464646464646464646464646464646464646464646464644433f39322920160b00000009141f29333b42464853535353535353535353534b494541454a505356595b5d5e5e5d5c5b5855534e4745413a332d261d170e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c161f283139414950575e61696e73777b7e8081838384848382817f7c7975706d66605b544d453e352d241b11080000000000000000000000000000000000030e18212a31363a3b4040404040404040404040403d3b38322b23191a232b33383c3d4040404040404040404040403b3a36312a21181b252d343a3d3f4040404040404040404040403f3b362e261c1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c333c42474f55565e616467686a6a6b6a69686562605c54524d50555760606060606060606060605b59534b41372c20140800000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b9292929292929292929292929292929292929292929292929292929292929292929292929292928c7f7266594c3f3326190c00000000000000000000000916222f3c4854606b70797979797979797979797979797979797979797979797979797979797979797979797979797979797979736e63574b3f3225190c000a1723303d4a5663707d8996a3b0bcc9d0c3b6aa9d908381818181818181818181807f7e7c7a77746f6c65605d555049413b322a21180f060000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a505050505050505050596673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfdce8f6f1eee3d9cfc2b9ada1978d81746a60544a3f33281e1f2c3845525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000008141e2834404b545f6a737f8c959fa9b3aea39891847a6e685e564e463c31261a0f03000815212e3b4854616e7b8794a1aeb3b3b3b3aea194887b818f959fa7afb5babeb5a89c8f8275695c4f4236291c0f00000000000000000000000000000000000000000000000000000008111a21282d303139393939393939393939393939393939393939393939393939393939393939393939393939393939393939393736332e2820170e040000020e1a25313b454d535f60606060606060606060605755504c51545b606266686a6a6b6a696765625f5854524c443f382f2920180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161f272f383f444d53575e6166696e71737576777777767674726f6d6664605c54504a423c332c231b120900000000000000000000000000000000000000060f181f262a2d2e343434343434343434343434302f2c27211911111a21272c2f303434343434343434343434342e2d2a261f180f121b23292e3132343434343434343434343434332f2b241c140a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101a232c353e454d53596163686d717375777777777674726f6d66615e565a61646c6c6c6c6c6c6c6c6c6c6c68655d53483d3125180c00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727f87868686868686868686868686868686868686868686868686868686868686868686868686868686877f7266594c3f3326190c00000000000000000000000714202c38444f5960636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c66635b52473b2f23160a000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f747474747474747474747373716f6d686763605b53514b443f382f2920180f06000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675c5c5c5c5c5c5c5c5c5c5c6673808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfdce8ebe5e1dfded5c9beb3a99f93877c6f665b50443a3025192c3845525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000020c18232e39424e58606d78839097a1aab4aaa19690837a6d685f584e43372b1f1206000815212e3b4854616e7b8794a1a6a6a6a6a6a6a49a877a798390959fa4abadb3b1a99c8f8276695c4f4336291c10000000000000000000000000000000000000000000000000000000000810171c2023242c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2b2a27231d160e0500000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c64615a555d60666c6f7375767777777674726f6a66605d56504a423b322a21180e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d151d262d333b42464d5254565e61646668696a6a6a6a69676563605c5453504a443f382f2a211a1109000000000000000000000000000000000000000000060e141a1e21222727272727272727272727272322201b160f07080f161c20222327272727272727272727272722211e1a140e060911181d22242527272727272727272727272726231f19120a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18222c353e474f575f626b70767a7d80828384848483817f7c79736e6960616c717979797979797979797979756f65594d4034271b0e00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313d4a56626d727979797979797979797979797979797979797979797979797979797979797979797979797979797979726d63574a3e3125180c000000000000000000000004101c27333d474f54565f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5957524940352a1e1307000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7268686868686868686766666462605d5656535049454039332d261d170e0600000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d81746969696969696969696969696973808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfdce8e0dad5d2d1d2cfc5bbafa4999083786c60564c4135291d2c3845525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000007121d27303c44505c666e7b859198a2abb2a8a09590837a6f6a5f53473a2e211508000815212e3b4854616e7b87949a9a9a9a9a9a9a9a9386796d7a838d93999fa2a9a4a49c8f8276695c4f4336291c100000000000000000000000000000000000000000000000000000000000050b1014161720202020202020202020202020202020202020202020202020202020202020202020202020202020202020201e1d1b17120b04000000000714212d3a46535e69767979797979797979797979716c6161676d73787c7f828384848483817f7b77726d68605b544d443b332a20170c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b141b222731363b4246484d525457595b5d5d5e5d5d5c5a595653514b46443f38332d261d180f08000000000000000000000000000000000000000000000003090e1214151a1a1a1a1a1a1a1a1a1a1a1a161613100b040000050b101416171a1a1a1a1a1a1a1a1a1a1a1a1514120e09030000060c121518181a1a1a1a1a1a1a1a1a1a1a1a1917130e080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a343e474f5961696e767d82868a8d8f90919190908e8c8984807b736d67717e86868686868686868686868175685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c66635b51463a2e2216090000000000000000000000000b16212b353d44484a5353535353535353535353535353535353535353535353535353535353535353535353535353535353534d4b4740372e24190e02000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f72655b5b5b5b5b5b5b5a5a59575654524c4946443f38352f27221b140b050000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d80767676767676767676767676767676808c99a6b3bfccc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfdcdfd6cfc9c5c4c5c9ccc0b5ab9f958b7e71685e52463d2f262c3845525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000b151e28343f4a545e696f7c869299a3abb1a7a09590847c6f6255483c2f221509000815212e3b4854616e7b878d8d8d8d8d8d8d8d8d8d8578686d7980878e9297979897968f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000004080a0a131313131313131313131313131313131313131313131313131313131313131313131313131313131313131311100e0b060000000000000815212e3b4854616e7b86868686868686868686867e71646c717a7f84898c8e909191908f8e8b88847f7a726c665e564d453b32291e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f252a30363a3b4246474a4d4e50505151504f4e4c494645403a38342e28221c140b060000000000000000000000000000000000000000000000000000020507080d0d0d0d0d0d0d0d0d0d0d0d0a0907030000000000000407090a0d0d0d0d0d0d0d0d0d0d0d0d0807050200000000000105090b0c0d0d0d0d0d0d0d0d0d0d0d0d0d0b070200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3c464f59616b707b828a8f92999a9b9d9d9e9d9c9b9897918d8680796e727e8b9393939393939393938e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121d29343f495156585f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f595751493f352a1e1206000000000000000000000000050f1a232b33383c3d464646464646464646464646464646464646464646464646464646464646464646464646464646464646403f3b352e251c120700000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594e4e4e4e4e4e4e4d4c4b494745413c3937332d29241d17110a02000000000000000000000815212e3b4854616e7b8794a1aebac7d1c4b7ab9e918482838383838383838383838383838284919eabb7c4d1c9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfdcd6ccc4bdb9b8b9bdc4c7bdb1a79e92857a6d61584e42382d223845525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000030c17232e38424d56606a707e879299a3abb1a7a0968f8275695c4f4236291c0f000714212d3a4754606d7a80808080808080808080807f7366676d747c8185888a8b8b8a888275695c4f4236291c0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b879393939393939393938c7f726d747e858c9196999b9d9d9e9d9c9a9896918c857f786e685f574d443b30271c120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a1f252a2d30363a3b3e4042434444444343413f3c3a38342e2c28231c17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424e58616c707d868f949c9fa3aba8aaaaaaaaa9a7a9a19e98928d837b727f8c999f9f9f9f9f9f9f9b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18232d373f464a4b53535353535353535353535353535353535353535353535353535353535353535353535353535353534c4a463f372d23180d010000000000000000000000000008111a21272c2f3039393939393939393939393939393939393939393939393939393939393939393939393939393939393933322f2a241c130a0000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c41414141414140403e3c3a39352f2d2b27221b18120b060000000000000000000000000815212e3b4854616e7b8794a1aebac7d2c5b9ada196918f8f8f8f8f8f8f8f8f8f8f8f8f8f8f9196a1acb9c5d2c9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfdacfc4bab2adabadb2bac3c2b9ada2978e81746a60544a3f33283845525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000006111c26303b444e58616c717e879299a1a9aea2988a7e7164574b3e3124180b000713202c3945525d686d7373737373737373737373736d635c606a6f74797c7d7e7e7d7b7570655a4e4135281b0f00000000000000000000000000000000000000000000020507080b0e0f10111111100e0d0a07070401000000000000000000000000000002060a0c0c1313131313131313131313130a09070400000000000000000000000000000815212e3b4854616e7b87949f9f9f9f9f9f9f9a8d817478818a92979ea1a8a8a9aaaaaaa9a7a8a09e97928c827a6e695f564c42392e23180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e141a1e20252a2d2e3133353637373737363432302d2c28231f1c17110b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545f6a707e8792989fa6acafb5b5b6b7b7b7b6b4b2adaaa39f9590857c808d9aa6acacacacaca89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b252d343a3d3f46464646464646464646464646464646464646464646464646464646464646464646464646464646463f3e3a352d251c1107000000000000000000000000000000080f161c2022232c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2625231e19120a010000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c3f35353535343333312f2d2c2924201f1b17110c0701000000000000000000000000000815212e3b4854616e7b8794a1aebac7d5c9bdb2a8a19e9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9ea1a8b2bdc9d5c9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfd5c9bdb2a8a19ea1a8b2bac3beb3a99f93877c6f665b50443a303845525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000a151e29323d46505a616c717e8792979fa69f92857a6d6053473a2d2014070004111d2935414c565d60676767676767676767676766635b51585f62666d6f717171706e69655e54493d3125190d000000000000000000000000000000000000000003090e121415181b1c1d1e1e1e1d1b19171413110d08010000000000000000000000070d12161819202020202020202020202020171614100b050000000000000000000000000815212e3b4854616e7b8794a1acacacacaca89c8f8279828e939ea1a9adb2b5b6b7b7b7b6b4b2aca9a29f948f847b6e685e544a40342820150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214191e20212426282a2a2b2a2a29272623201f1c1812100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666f7c869299a2aab0b9bbc0c2c3c4c4c3c0bfbeb9b4aea7a0979285828f9ca9b6b9b9b9b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e3132393939393939393939393939393939393939393939393939393939393939393939393939393939393933312e2a231c130a0000000000000000000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020201a1916130e0700000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c3f32282828272726242321201d1913120f0b06000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7dacfc4bab2adaba9a9a9a9a9a9a9a9a9a9a9a9a9a9a9abacb2bac4cedac9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfd2c5b9ada1969196a0a8b2bdc5bbafa49a9083786c60564c41363845525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000030c17202b343e48505a616c717d8590949f9b8e8175675d5145392c20130600010d1924303a444c52545a5a5a5a5a5a5a5a5a5a5a595751454e53545c606264656463615f57544c42372c211509000000000000000000000000000000000000060b0f141a1e21212427292a2b2b2a2928262421201d19130c040000000000000000010a12181e2225262d2d2d2d2d2d2d2d2d2d2d2d2323201c16100800000000000000000000000815212e3b4854616e7b8794a1aeb9b9b9b7aa9d9083818e949da5adb3b9bdbebfc1c4c3c2c1bdb9b3ada69f9691847a6e665c51443c31261a0f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205090e111414171a1b1d1d1e1e1d1c1b19161313100c070300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c78839098a2abb4bcc2c7cbc7c0bbb9b6b3b2b2b2b4b7b1a9a197928f949fabb7c4c6c1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000911181d2224252c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2625221e18110a01000000000000000000000000000000000000000407090a1313131313131313131313131313131313131313131313131313131313131313131313131313131313130d0c0a07020000000000000a1723303d4a5663707d8996a3b0bcc9cbbfb2a5988c7f7265594c3f32261b1b1b1a1918161413110d0805030000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdcdccc4bdb9b7b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7b9bdc4cccdcdc9bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfd1c4b8ab9e91849196a0acb9c1c0b6aca0958b7f72685e52463d3045525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000050e19222c363e48505a616b707b828c9297897d7063554b4035291d1004000008131e28323a4145474d4d4d4d4d4d4d4d4d4d4d4c4b464043474a5053555758585755534d45423a30261b100400000000000000000000000000000000020a11171b1f252a2d2e31343637373837363533302d2c29241e160d0b020000000000000a131c232a2f3233393939393939393939393939302f2c27211a1108000000000000000000000815212e3b4854616e7b8794a1aebac6c4b8aca095908e939ea6afb7b4b2b1b1b2b5b8babfc5c9c5bebab0a8a0969083786d60584e43372b20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0d0f1011111110100e0c090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5864717e8a959faab4bdc5cecbc2bdb5afaca9a6a5a5a5a7aaacafa9a19e9c9fa6b0bbc7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c121518182020202020202020202020202020202020202020202020202020202020202020202020202020202020191816120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc0c0bfb2a5988c7f7265594c3f3226190e0e0d0d0b09070704010000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0bcafa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfccbfb2a6998c7f84919ea5afbcc6beb1a79f92857a6d61594f423845525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000007101a242c363e48505960696e787f868d85796d6053463a2f24180d010000020c1620283035393a4040404040404040404040403e3b3537383f4446484a4b4b4a4846423b3330281e140a00000000000000000000000000000000040b141b22272b31363a3b3e4142434444444341403d3a39352f28201d140b010000000007121c252e353a3e3f4646464646464646464646463d3c38332c231a10050000000000000000000815212e3b4854616e7b8794a1aebac7c8bcb1a7a09d9b9ea5afadaba7a5a4a4a5a8acaeb4babfc6cac2bab2a89f958c80736a5f53473c31261b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a7783909da7b1bcc6cfcbc2b8b0aba49f9c999898999a9d9fa4acadaba9abb0b8c2cdcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c13131313131313131313131313131313131313131313131313131313131313131313131313131313130c0c09060100000000000000000000000000000000000000000000000000000000000000000000020507080b0d0f111112121211100e0c09070604000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b3b3b3b3b2a5988c7f7265594c3f3226190c0100000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aeb3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3afa296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7d8a939eaab4bfc3baada2978e81746b60544a3f45525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000008111a242c363e474f575e666c727b818073665c5044382b1d120700000000040e161e24292c2d343434343434343434343433322f2a2b2e34383a3c3e3e3e3d3b3a36312a211e160c02000000000000000000000000000000060e161d262d33373b4246484b4e4f50515151504e4c4a4745413a322f261d1308000000020d18232e373f464b4c5353535353535353535353534a48443d352c21160b0000000000000000000815212e3b4854616e7b8794a1aebac7cdc3b9b1acaaa8aaaca8a19e9b989898999b9fa2aaaeb4bcc5ccc4bab1a79f92877c6e62584e43372b1d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a0acb9c2ced0c2b9b0a69f9993908d8c8b8c8e90939a9fa3abb2b7bbc2cad4cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105080e111414171a1c1d1e1f1f1e1e1c1b19161313100c0703000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a6a6a6a6a6a6a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a296897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f75828f98a2aebac3beb3a99f93877c6f665c504445525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000009121a242c353d454d545b60696e74736e63544a3f34281c0c010000000000040c13191d202127272727272727272727272625231e1c23282c2d2f313231302e2d2a261f180f0c03000000000000000000000000000000060f1820282f383f44464d5354575a5c5d5e5e5d5c5b595754524c4441382f241a0e03000006121e2a353f4951575960606060606060606060606056554f473d33271c100400000000000000000815212e3b4854616e7b8794a1aebac7d5cbc3bcb8b7afa7a09d96918e8c8b8b8c8e92989fa3aab4bcc5ccc2bbafa3998f82756a5f5347392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546673808c99a7b1bccbd2c7beb0a69f94908783807f7f7f8183878d9299a1a8b2bbc5cfdacec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000406070809080807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607100b070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1114191e20212427282a2b2b2b2b2a29282523201f1c18120f0b0600000000000000000000000000000000000000000a1723303d4a5663707d89969a9a9a9a9a9a9a9a988c7f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87949a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a96897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f727b86929fa8b2bdc5bbafa49a9083786d60564c41525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000009121a232b333b424a50565e616766635c5242382e23170b0000000000000002080d1113141a1a1a1a1a1a1a1a1a1a1a1919161211171c1f20222425252422211e1a140e0600000000000000000000000000000000040d18212a323a41495053575e616467696a6a6b6a69686663605d56524a41362b1f140800000a16222f3a46515b63666c6c6c6c6c6c6c6c6c6c6c6c6361594f44382c20140700000000000000000815212e3b4854616e7b8794a1aebac7d4d5cec2b8afa59e95908a84817f7e7e7f82858c9298a2aab4bfcacbc0b5ab9e93887c6f62544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667683909da9b6c3ceccc0b6ac9f9490827b767372727274777b80879196a1a9b3bec9d5cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000508070c101314141515141312100c07060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013131d181312100b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e13191e20252a2d2e3133353738383838373634322f2d2c28231f1c17110b060000000000000000000000000000000000000a1723303d4a5663707d898d8d8d8d8d8d8d8d8d8d8c7f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b878d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d897c6f6356493c3023160900101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f72737f8c96a0acb8c1c0b6aca0958b7f72685e5246525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000008111921292f383f444d52545a5a58524a4030261c1106000000000000000000010407070d0d0d0d0d0d0d0d0d0d0d0d0c0a00060c10121315171818171514120e090300000000000000000000000000000000010c161f2a333c444c535b6063696e71747576777777767473706d68645c52473c3024170b00000c1825323e4b57636d72797979797979797979797979706b6155483c2f23160900000000000000000815212e3b4854616e7b8794a1aebac7dbd0c6bcb0a69e938e837d787472717172757a7f869298a2aebac2ccc7bdb0a69a8d8174665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7885929facb8c5d2c8bbafa49a9082796e6a6665656667696e737c849197a1adb9c6d2cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000060c111517181c1f2021222221201f1c1815130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f202a25201f1c17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b14191e252a2d3036393b3e404244444545454443413f3c3a38342e2b28221c17110a02000000000000000000000000000000000815222f3b4855626e7b8080808080808080808080807d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a80808080808080808080808080808080808080808080808080808080808080808080808080808080807b6e6154483b2e21150800101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f726d7984919ea5afbcc6beb1a79f92857a6e61594f525f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000070f171d262d333b4246474e4d4b4740382e1e140a00000000000000000000000000000101010101010101010101000000000000030607090b0b0b0a0807050200000000000000000000000000000000000007131d28313c454d565e656c70767b7e81828384848483817f7d7a746e64584c4033261a0d00000c1926333f4c5966727f8686868686868686868686867d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7d6cabfb4aa9f948e8179706c6565656566676d737d86929fa6b0bbc7cfc1b8ab9f9285796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8898a2aebac7d2c6b9ac9f93877b6e675f57595859575e616a6f7b85929eabb8c5d1cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000911171d212423292c2d2e2f2f2e2d2c2823221f1b15100b05000000000000000000000000000000000000000000000000000000000000000000000000030c151d23282c2d37322d2b28231c140c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f252a3036393b4146474a4d4f5051525251514f4e4c494645403938332d28221c140b070000000000000000000000000000000814212e3a47535f696e737373737373737373737373706b6054483b2f2216090000000000000000000000000000000000000000000000000000000000000713202c3945525d686d73737373737373737373737373737373737373737373737373737373737373737373737373737373736e695e53463a2d21140700101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7266707d89939eaab4bfc3baada2978e81746b60544a5f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000050b141c222830363a3b41403f3b352e261c0c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a434d575f686d777d83878a8d8f909191908f8e8c8a878074675a4e4134271b0e00000c1926333f4c5966727f8c93939393939393939393897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7d3c6baaea2988f82786d67605b535858555d606b717e8a949fabb7c4cec6baaea2988a7d7063574a3d2f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996aab4bfcacfc2b6a99c8f8276695f554e4c4c4c4d53585f69717e8a97a4b0bdcacec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000000000000000009121b22292d302f34383a3b3c3b3b3a38342e2e2b27201c160d0701000000000000000000000000000000000000000000000000000000000000000000000b151e272e34383a433e3a38342e261e17110a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b141b222730363a4146474c5254575a5b5d5e5e5e5e5d5c5b585653514b46443f38332d261d191006000000000000000000000000000006121e2b37424d575f626767676767676767676767676360594f44382c20130700000000000000000000000000000000000000000000000000000000000004111d2935414c565d606767676767676767676767676767676767676767676767676767676767676767676767676767676767615e574d42362a1e120500101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f72656b75828f98a2aebac3beb3a99e93897d6f665c505f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f252a2d2e3433322f2a241c140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b555f696e7a828a8f94979a9c9d9d9e9d9c9b99998f8275695c4f4236291c0f00000c1926333f4c5966727f8c999f9f9f9f9f9f9f9f96897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7d2c5b8ac9f92867b6e665c5550494b4b4b5159616c76828f9ca8b2bdc9cabeb3aa9a8d807467554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdd0ccbfb2a6998c7f7366574d433f3f3f42464e57616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000006111b242d34393d3e404547474848474644403c3b37322c272118120c04000000000000000000000000000000000000000000000000000000000000000007121d273039404546504b46443f383028231c150c050000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161d262d333b41464c5254565e616466686a6b6b6b6b6a69676562605c5453504a443f382f2b2217110a02000000000000000000000000020e1a26313c454d53555a5a5a5a5a5a5a5a5a5a5a5a56544f473d32271b1003000000000000000000000000000000000000000000000000000000000000010d1924303a444c52545a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a54534d453b31251a0e0200101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265616e7b86929fa8b2bdc5bcafa59d9083786d60565f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b14191e2021272726231f19120a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d676e7b848f949c9fa6a7a8a9aaaaaaa9a7ab9c8f8275695c4f4236291c0f00000c1926333f4c5966727f8c99a5acacacacacaca396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc1b4a79a8e8174685e544b443f3e3e4045505a63707c8996a1acb9c5d0c3b6aa9d908377675d5145392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbcabdb1a4978a7e7164574b3e303231363c4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000000000000000c17222d363e45494b4b51535455555453514a4947433d383329241d160d05000000000000000000000000000000000000000000000000000000000000000c18232e39434b51535d5853504a423d342e261e170e06000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f282f383f444d52565e6165686e7173757777787878777674726f6d6663605b54504a423d3428231c140c020000000000000000000000000915202a333c4247484d4d4d4d4d4d4d4d4d4d4d4d4948443d352b21160b000000000000000000000000000000000000000000000000000000000000000008131e28323a4145474d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4846423b33291f14090000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f72655e69727f8c96a0acb8c1c1b8aca0958c7f72685e5f6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e1114141b1a1917130e08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57606d798390969fa6abb0b4b5b6b7b7b7b6b4a89c8f8275695c4f4236291c0f00000c1926333f4c5966727f8c99a5b2b9b9b9b9b0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d817467564d4239332d2f353e4854606b7884919eabb7c4d1c5b9ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbc9bcb0a396897d7063564a3d3025252e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000005111d29343e48505658555c6061626261605c5456544e48443d352f281f170e05000000000000000000000000000000000000000000000000000000000004101c2834404b555c606a65605c544f443f38302920180f0600000000000000000000000000000000000000000000000000000000000000000000000000050e172029313a414950565e61686d72777a7d808283848585848482817f7c7975706c66605b544e463f342e261e140b020000000000000000000000030e18212a31373a3b4040404040404040404040403d3b38322b23190f040000000000000000000000000000000000000000000000000000000000000000020c1620283035393a40404040404040404040404040404040404040404040404040404040404040404040404040404040403b3a36312921170d030000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f726557606d7984919da5afbcc6bcb1a79f92867b6e61596b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080e0d0c0a07020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6974818e95a0a8b0b7bbc0c2c3c4c4c3c2b5a89c8f8275695c4f4236291c0f00000c1926333f4c5966727f8c99a5b2bfc6c6bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e41302722242c38444f596874818e9ba7b4c1cec7bbafa399887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000815212d3945505a626468676d6e6f6e6e6d6667626058554f454039312920170e040000000000000000000000000000000000000000000000000000000006131f2c3845515c676d76716d666059504a423a322921180f060000000000000000000000000000000000000000000000000000000000000000000000030d172029323b434c535b60686e747a7f83878a8d8e9091919191908f8e8b8985817d78716c66605851443f3830261d140a000000000000000000000000060f1820262b2e2f343434343434343434343434302f2c272119110700000000000000000000000000000000000000000000000000000000000000000000040e161e24292c2d34343434343434343434343434343434343434343434343434343434343434343434343434343434342e2d2a251f170f05000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265595c66707d89939eaab4bfc3baaea2988e81756b606b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b86929fa7b1bac2c7cdccc4beb9b8b5b4a89c8f8275695c4f4236291c0f00000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e413427171b27323f4c5865727f8b98a5b2becbcbc0b5ab978a7e7164574b3e3124180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000a1724303d4956626c7175787a7a7b7b7a7977746f6a636059514b433b322920160c020000000000000000000000000000000000000000000000000000000713202d3a4653606d79837e786f6b605c544c443b332a21180f05000000000000000000000000000000000000000000000000000000000000000000010b151f29323b444d565d656c727b80868c909597999b9d9e9e9e9e9d9c9a9898928e8a847e786f6a635b504a42382f261b1106000000000000000000000000060e151a1e21222727272727272727272727272322201b160f07000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021272727272727272727272727272727272727272727272727272727272727272727272727272727272721211e1a140d0500000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f72655954606b75818e98a2aebac3beb4aa9e93897d70666b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576774808d99a3afb9c3ccd0c7c0bbb2adaba8a7a79c8f8275695c4f4236291c0f00000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b1724303d4a5763707d8a96a3b0bdc9d1bfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000b1825313e4b5864717e828486878888878683807c77706b605d554c443b32281e1308000000000000000000000000000000000000000000000000000005111d2a36414c5664717d8a8b837c736d665e564d453c332a21170e04000000000000000000000000000000000000000000000000000000000000000007121d27313b444d565e686d777f858d92989da0a7a6a8aaaaabababaaa9a7aaa29f9b96918b837c726d605c544a41382d22170e0500000000000000000000000003090e1214151a1a1a1a1a1a1a1a1a1a1a1a161613100b04000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113141a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1514120e09030000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594f59616e7b86929fa7b1bcc5bcafa59d9183786d6b7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000010406070a0d0f10111111100e0b080705010000010303060606060606060606060606000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e697784919eabb5c0cbd2c7beb6afa9a19e9b9a9a9b8f8275695c4f4236291c0f00000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b15222f3c4855626f7b8895a2aebbc8cdc0b3a69a8d8073675a4d4034271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000000000004111e2a3744515d6a77838e91969495959892908d89837d756d675e564c443a3024190e04000000000000000000000000000000000000000000000000000713202d3946525e6875828f95908780786d685f574d453c332920160c02000000000000000000000000000000000000000000000000000000000000030d18232f39434d565e686e7a828b92989fa2aaabb1b3b5b6b7b8b8b7b7b5b4b3aeaba8a09e9590877f746d665c53493f332720170d0200000000000000000000000000020608080d0d0d0d0d0d0d0d0d0d0d0d0a090703000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0807050200000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c525e69727f8c95a0acb8c1c1b8aca0958c7f72697885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000001080d111314171a1c1d1e1e1e1c1a181414110d08020d0f101313131313131313131313130a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8796a0acbdc7d1ccc0b6aca49f97918f8e8e8e8f8275695c4f4236291c0f00000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b14212e3b4754616e7a8794a1adbad1cec1b4a79b8e8174685b4e4135281b0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000000000004111e2a3744515d6a7784909da1a8a2aaa39f9d9a95908981796e685e564c41352920160c020000000000000000000000000000000000000000000000000714212e3a4754616d7a86929f99938d827a6e695f574d453b32281e140a0000000000000000000000000000000000000000000000000000000000010b151f2934404b555e686e7a838f939fa2aaaeb4b8bcc0c1c1bfbebdbec0c2c1bebab8b2aca7a099928c81786d655b50443e32291e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c4d57606d7883919da5afbcc5bcb1a79f92867b6e7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000050b1013191d2021242729292a2b2a29272421201e1914161a1c1d202020202020202020202020161613100b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a8b2bdcfd4c8bbafa49a938b8482818181828074675a4e4134271b0e00000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b14202d3a4753606d7a8693a0b5c0cbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000000000004111e2a3744515d6a7784909daab2aeb4aeacaaa7a09d938e837a6e685d52453f32281e1308000000000000000000000000000000000000000000000005111e2a36414d5665727f8b99a3a49f948f847b6e695f574d443a30261c11060000000000000000000000000000000000000000000000000000000007121d27313945515c676e7a8491959ea6aeb3babfc5beb9b8b4b2b1b1b2b3b7b9bdc4c3bdb9b1aba39f938e81776c605a50443a3025190d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c44515c66707d89939eaab4bfc3baaea2988e81757885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a000000000000000000000000040b0f161c1e24292c2d303435363738373634312e2d2a251e2226292a2d2d2d2d2d2d2d2d2d2d2d2d2322201b160f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2beced2c6b9ac9f93887f787574747576746e64584c4033271a0d00000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b13202d394653606c798699a3afbbc7cec2b5a89b8f8275685c4f4235291c0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000000000004111e2a3744515d6a7784909daab7bbbfbab9b6b1aca59e9590837a6d605b51443a3025190d02000000000000000000000000000000000000000000000714202d3946525e687683909daaafa69f9691847b6e695e564c42382e23170d040000000000000000000000000000000000000000000000000000000c18232f39434f59606d79839096a0a7b0babec5beb9b3adaba8a5a4a4a5a7aaacb2b8bcc3c3bdb5aea59d938d80736c61564c41362a1f150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c404a54606b75818e98a2aebac3bfb4aa9e93897d7885929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a0000000000000000000000060b161b21282c2f35393a3d40424344444443413e3b3936302c2d323536393939393939393939393939302f2c272119110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfcccec1b4a79b8e81746c666767686967645c53483c3024180b00000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b121f2b3744505b657986929facb9c5cfc2b5a99c8f8276695c4f4336291c1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000000000004111e2a3744515d6a7784909daab7c0c4c5c5c3bcb8afa7a0958f82766d62564c4135291e1308000000000000000000000000000000000000000000000814212e3b4754616e7a879298a2aab0a8a09691847b6e685d544a3f342820160c010000000000000000000000000000000000000000000000000004101c2934404b55616b74818e959fa8b1b9c1c3bbb3ada9a29e9b989797989a9ea0a8acb1b9c1c6bfbbafa59c928a7e70685e52463c31261a0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f424f59616e7b86929fa7b1bcc5bcafa59d91847985929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a000000000000000000020a111721272c33383a4145474a4d4f505151514f4d4b4746413b38383e42434646464646464646464646463d3b38322b23190f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cdc9bdb0a3968a7d70635b545b5b5c5a58534a41362b1f140800000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b131f2c3845515c667986929facb9c5cfc2b5a89c8f8275695c4f4236291c0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000000000000000004111e2a3744515d6a7784909daab1b3b7b8bcc3c8c1b9b1a79e948b7f72685e52463a3024190d000000000000000000000000000000000000000000000714202d3946525e68717e869298a2aab2a9a19691837a6d665c50443d32281e13080000000000000000000000000000000000000000000000000006131f2c3845515c67707d8a939da7b1bac3c3b9b1a9a19e97928e8c8b8a8b8d91969da0a7afb7c1cbc0b7aea49e92857a6d61574d42372b1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f3d46525e69727f8c95a0acb8c1c1b8aca0968c7f85929eabb8c5d1cabdb0a3978a7d7064574a3d3124170a0000000000000000030c141c232832383e44484c5254575a5c5c5d5e5d5c5a5754524c4844434a4e505353535353535353535353534948443d352b21160b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7bbaea194887b6e61554a4e4e4f4e4c4841382f251a0f0300000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b13202d3a4653606d798699a3afbbc7cec2b5a89b8f8275685c4f4235291c0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfbfbfbcb0a396897d7063564a3d3023170a00000000000000000000000000000004111e2a3744515d6a7784909da3a4a6aaacb1babec5c3b9b0a69f92857a6d61564c4135291b110600000000000000000000000000000000000000000005111e2a36414d56616c717d869298a3acb2a8a0958f82786d60594f443a2f24190c03000000000000000000000000000000000000000000000004101c2834404b54606d7984919ea5afb9c2c4bab1a7a097928b85817f7e7e7f80848990959ea5afb8c2c9c0b9ada1978d8174695f5347392f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f36424d57606d7883919da5afbcc5bdb2a89f928586929facb8c5d2cabdb0a3978a7d7064574a3d3124170a00000000000000030d151e262e343d44484f55565d60636768696a6b6a696764615e56544f46545a5d60606060606060606060606056544f473d32271b10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d61544741424341403c362f261d13080000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b14212d3a4754606d7a8793a0b5c0cbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2b3b3b3b3b0a396897d7063564a3d3023170a00000000000000000000000000000004111e2a3744515d6a7784909596979a9da0a7adb3bbc5c2baaea2988d8073685d5246382d22170b000000000000000000000000000000000000000000020e1925303b44505a616b6f7d86929aa4afb1a79f948d80736b60564c4135291e150b000000000000000000000000000000000000000000000006131f2c3845515c66727f8c96a1acb7c0c9bdb2a8a09590857e79757271717274777d838e939ea6b0bcc5c9beb3a99f92877b6e62554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f303b44515c66707d89939eaab4bec3baaea298929298a3aebac7d3cabdb0a3978a7d7064574a3d3124170a000000000000030c151f2730383f444f54596163686d707375767777777674716e68636059535e66696c6c6c6c6c6c6c6c6c6c6c6c6360594f44382c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a35363433302b251d140b010000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b15212e3b4854616e7b8794a1aebad1cdc0b4a79a8d8174675a4e4134271b0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99a5a6a6a6a6a6a6a396897d7063564a3d3023170a00000000000000000000000000000004111e2a3744515d6a77838989898b8d91959fa2a9b3bcc6beb3aa9f92867a6d6153493f33271b0f0300000000000000000000000000000000000000000008141f29323e485059606b717e88939fa7b1b0a69f93887d70685d52453e30271c1207000000000000000000000000000000000000000000000713202d3a4653606d7985919ea8b2bdc9c5b9aca09690837a716d6665646465676b7078818e949eaab4bfcac5bbafa3998d8074675d5145392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f3234404a54606b75818e98a2aebac3bfb4aaa29f9fa3aab4bfcbd6cabdb0a3978a7d7064574a3d3124170a0000000000000a151e273139424a505960636b70767a7d80828384848482807e7a76706b615f667076797979797979797979797979706b6054483b2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a2e292727241f1a130b02000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b1623303d495663707c8996a3afbcc9ccbfb2a6998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c99999999999999999996897d7063564a3d3023170a000000000000000000000000000000000916222f3c4955626f7c7c7c7c7e80848a9297a2aab4bfc5baaea2988c7f72655b5044372b1f1206000000000000000000000000000000000000000000020d17202c363e474f59616c73808d959fabb5afa49a91847a6d60594f42392e23180c02000000000000000000000000000000000000000004111d2935404b5564717e8a97a1adbac4c7bbb0a69e91847a6d68605c545857585960666d78828f98a2aebac6cbc0b5ab9f9285796d6053473a2d2014080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f322e39424f59616e7b86929fa7b1bcc6bcb4aeacacaeb4bcc6d0dccabdb0a3978a7d7064574a3d3124170a000000000006111c263039434b545c606b6f777d82868a8d8f8f9091908f8d8a86827d766e696a76828686868686868686868686867d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a2e211b1a18140f080100000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b1625323e4b5865717e8b98a4b1becbcbbeb1a4988b7e7165584b3e3225180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000c1926333f4c5966727f8c8c8c8c8c8c8c8c8c8c8c897d7063564a3d3023170a000000000000000000000000000000000815212e3b47535f6a6f6f6f707173777e859298a2aebac4bfb4aa9e9184786c605346392e23170b00000000000000000000000000000000000000000000050e1a242c353d47505a606d78839099a3afb6aca1968e81756c61544a4034281e130800000000000000000000000000000000000000000613202c3945515d6776828f9ca9b3beccc3b7aa9f94897d70685e56504a4b4b4c4f545c666e7b86929facb8c3cec7baaea2988a7d7064574a3d2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f3227303d46525e68727f8c95a0acb8c1c6bfbab8b8babfc6ced8d6cabdb0a3978a7d7064574a3d3124170a00000000000c17232e38424b555d666d737d838a8f93999a9b9c9d9e9d9c9a99928f89827b706e7b88949393939393939393939285796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a2e2114070b0803000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271f202b37424d576774808d9aa7b3c0cdc9beb3a996897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000091623303c4956636f7d8080808080808080808080807b6e6155483b2e2215080000000000000000000000000000000006131f2b37434e585f6262626364676c717c86929fa8b2bdc6b9aca096897c6f63544a3f34281c10030000000000000000000000000000000000000000000008121a232b353e44515c666f7c87929fa9b3b2a89e938a7d70665c51443a3024190d01000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c4cbbfb4ab9c8f82766b60564c443f3e3e3f424a545e6973808d99a7b1bcc8cabeb4aa9b8e817468564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f32262a36414d56606d7883909da5afbcc5cac6c5c5c7cbd0d8e0d6cabdb0a3978a7d7064574a3d3124170a0000000003101c28343f4a545d676d78808790959c9fa4aba8a9aaaaaaa9aba39f9c948f867e727f8c98a69f9f9f9f9f9f9f998d8073675c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a2e211407000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e41342d2b2c323a47535f697784919daab7c4d0c6b9ada197877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000915222f3b4854606b6f7373737373737373737373736e695f53463a2d21140700000000000000000000000000000000030f1b26323c464e5355565656585a616a727f8c96a1adb9c7bdb2a89a8d8074665c5044382b1f12070000000000000000000000000000000000000000000000081119232834404a545f6a73808d97a2adb9afa59e9184796d60564c4135291d1307000000000000000000000000000000000000000a1724313d4a5764707d8a99a3aebac7c7baaea3998a7e7164594f443a342e313038424d57626e7b8895a0acb8c5d0c4b7aa9d918477685d5245392c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f322625303b44505c666f7d89939eaab3becad3d2d2d3d6dce2ead6cabdb0a3978a7d7064574a3d3124170a000000030e18222c3844505c666d79828c9399a0a7acafb5b5b6b7b7b7b5b5afaca69f9892887e818f9ba8acacacacacaea398897c7063554b4034281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a2e211407000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a50463e3a38393c444d57626e7b8896a0acb8c5d1c4b8ab9e918578685e5246392d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000007131f2c38434f596063666666666666666666666666615f574d42372b1e120500000000000000000000000000000000000a15202a343c4347494949494b5058606d7984919eacb6c0c4b8ab9e9285796d6053463a2e23180c000000000000000000000000000000000000000000000000071118232e39424e58606d7a85929ea9b3b8aca0968b7f72685d52463a2f24180d000000000000000000000000000000000000010d1a2734404d5a6773808d9aabb4bfcbc5b9ac9f9286796d6053473d3228232426303b47535f697783909daab7c3d0c6b9ac9f93867a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f32261f28343f4a54606b75818e98a2aebac3ced9dfe0e3e7ede3d6cabdb0a3978a7d7064574a3d3124170a0000000a15202b38434e58606d78828f949fa4abb1b9bbc0c2c2bebab8b7b7b8b9b0aaa29a938786929facb8b9b9b9b9ac9f9286796d6053473a2e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a2e211407000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7d0c3b6a99d9083766c61585048464445474e565f6974818d9aa8b2bdc8ccc0b6ac9b8f827568564d41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000030f1b27323d474f545659595959595959595959595955534d453c31261a0e020000000000000000000000000000000000040e18222a32373b3c3c3c3d3e45515c66737f8c9aa4afbbc6b9ada197897d7063554b4034281c100400000000000000000000000000000000000000000000000007121c27303c45525d68727f8c97a2adbab2a89f92857a6d61554b4135291c1106000000000000000000000000000000000004101d2935404b556976838f9ca9b6c2d1c3b6aa9d908377675d5145382b2017151e2b37424d576874818e9ba7b4c1cec8bbafa49a897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f322617232e38424f59616e7a85929fa7b1bcc8d4e0e9eff3f8e3d6cabdb0a3978a7d7064574a3d3124170a0000020f1a26313b4754606a73808d949fa6afb5bdc3c7c0bbb9b3aeabaaaaabaeb3b4aca49a939298a2aebac7c6c3b6aa9d908377675c5145382c1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a2e211407000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7d1c4b7ab9f958b7e716a615a5553505254585f686e7b87929facb9c3cec8bbafa49a8b7f7265584c3f3025190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000a16212b353d4348494d4d4d4d4d4d4d4d4d4d4d4d4846423c332a1f14090000000000000000000000000000000000000007101820262b2e2f2f2f3034404b54616e7b87939facb9c6beb3a99b8e8174675c5145382c1f1307000000000000000000000000000000000000000000000000000b151e2935414c56606d7a85929fabb5baada2978d8073675d5145382e23170c000000000000000000000000000000000006131f2c3945515d677885929eabb8c5cec1b4a79b8e817468554b4035291a0e0c1a26313f4c5865727f8b98a5b2becbccc0b6ac978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f3226191c26303d46525e68727f8b95a0acb8c1ced7e1ecf7f0e3d6cabdb0a3978a7d7064574a3d3124170a000006121f2b37434e58626f7c87939fa6b0bbc0c7c6bdb5afacaaa29f9e9e9fa2aaaaabaca49f9fa2aab4bfcacec2b5a89b8f827568554b4034291c0b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a2e211407000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7d3c7bcb1a79f92867c716c6562605c5d60636a6f7a839199a3aebbc7d2c6b9ac9f93877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000040f19232b32383b3c4040404040404040404040403b3a37312a21180e030000000000000000000000000000000000000000070e151b1f21222323232e3946535e6976828f9ca9b6c2c5b8ab9f9285796d6053463a2f24180d01000000000000000000000000000000000000000000000000030c19242f3a45515d6773808c99a3afbbb3a99f92857a6d60544a3f34281c1003000000000000000000000000000000000714202d3a4753606d7a8697a1adb9c6ccbfb3a6998c807366594d402f24180d091724313e4a5764717d8a97a4b0bdcad2beb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f322619151e2a36414c56606d7883909da5afbcc5d0dbe6f4f0e3d6cabdb0a3978a7d7064574a3d3124170a00000814212e3a47535f6a76828f9aa4afb8c2ccc6bdb4aba49f9a989291919298989da0a7adacacaeb4bcc6d0cdc0b3a69a8d8073675a4d402f23180c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a2e211407000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7d8cdc2baaea29892867e77726e6d66686d70747c839095a0abb5bfcbc9beb2a99d908376695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000007101921272c2f303333333333333333333333332e2d2b261f180f0600000000000000000000000000000000000000000000040a0f13151616161d2a36424d5764717e8b97a4b1bec6baada2978a7d7064554b4135291d11040000000000000000000000000000000000000000000000000008131e2935404b55616e7b87929facb9baada2978c7f72665c5044382c1f1308000000000000000000000000000000000815222e3b4855616e7b8894a9b3bec9cbbfb2a5988c7f7265594c3f322619070a1623303d495663707c8996a3afbcc9ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f3226190c1925303b44505c666f7c89939ea9b3becad6e2ebf5e3d6cabdb0a3978a7d7064574a3d3124170a00000815222f3b4855626e7b88949facb6c0cacbbfb4aba399938d8885848485878b90959ea1a9b1babfc6ced8ccbfb2a5998c7f7266594c3f3326190700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a2e211407000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7d4d6cabfb4aaa298928b837f7b7978797a7d81869095a0a7b1bdc6cfc6b9ada1978b7e7164574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000070f161b1f222326262626262626262626262622211e1a140e06000000000000000000000000000000000000000000000000000306080909121e2a36424d5765727f8b98a5b2becabeb3a99b8e8275675d5145392c20130800000000000000000000000000000000000000000000000000010d18242f3a46525e6975828f9caab4beb3a99e9184796d6053463a3025190d01000000000000000000000000000000091623303c4956636f7c8996a2afbccfcbbeb1a5988b7e7265584b3f3225180c0916222f3c4955626f7c8895a2afbbc8ccbfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f32261908141e28343f4a54606b74818e97a2adbac3d0d9e4eee3d6cabdb0a3978a7d7064574a3d3124170a00000d192633404c5966737f8c99a6b0bec7d2c7baaea3999287817c797777787b7e838a9197a0a7b1bbc5cfdacbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a2e211407000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7d4dbd0c5bcb4aaa29f95908b8886858587898e9298a0a7b1b9c3cfc6bcb1a79e9184796d6053463b30251a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000040a0f1315161a1a1a1a1a1a1a1a1a1a1a1a1514120e09030000000000000000000000000000000000000000000000000000000000000714212d3a46535f697683909da9b6c3d0c5b8ac9f92867a6d6054473a3025190d010000000000000000000000000000000000000000000000000007131d2a36424d5764717d8a98a3aebab9aca1968a7d7164564c4135291d11050000000000000000000000000000000a1623303d495663707c8996a3afbcc9cbbeb2a5988b7f7265584c3f3225190c0916222f3c4955626f7c8895a2afbbc8ccbfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f3226190c0b17232e38424f59616e7a85929fa7b1bec7d2dde8e3d6cabdb0a3978a7d7064574a3d3124170a0003101d293643505c6976828f9ca9b6c2d0cabfb4aa9f92877d746f6c656b696e72777d859095a0a9b3bec9d5cbbeb1a4988b7e7165584b3e3225180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a2e211407000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7d4d4cbc2bcb8b4aea7a09d989992929298969a9fa3aab1b9c3cbcbbfb4aaa0958b7e71675c514538291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000030709090d0d0d0d0d0d0d0d0d0d0d0d0807050200000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b88959fabb8c4d1c7baaea2988b7e7164564c41362a1d110500000000000000000000000000000000000000000000000000010e1a25303b4753606d7a86929facb8bdb2a89c8f8275685e5246392d2013080000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9ccbfb2a5998c7f7266594c3f33261907091623303c4956636f7c8996a2afbcc9ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f3226190c06111c26303d46525e68727f8b95a0acb6c0ccd8dfdfd6cabdb0a3978a7d7064574a3d3124170a0005121f2b3845525e6b7884919eabb8c4d1c6baaea2988c7f726b62605b575e61656c707a839097a1adb9c6d2cabeb1a4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a2e211407000000000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7d8cdc2b9b1aba9acaeabaaaba39f9f9fa2aaa7acaeb4bcc3cbc7c0baaea3989083786d60554b403428170d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbc9bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac7cdc1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5866737f8c99a7b1bcc8d4cabfb4aa9c8f8275685e5246392d20140900000000000000000000000000000000000000000000000000000914202c3945515d6775828f9cabb5c0b9ac9f92867a6d6154473a3025190d0100000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcaccc0b3a6998d8073665a4d402f24180c0a1724303d4a5763707d8a96a3b0bdc9cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f3226190c000a141e2a36414c56606d7883909aa4afbbc5d0d2d2d2cabdb0a3978a7d7064574a3d3124170a0005121f2b3744505b657986929facb9c5d2c5b8ac9f9285796d605953504d53545a61686e7a85929eabb8c5d1cabeb1a4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001060e1b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a2e211407060200000000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7d4c8bcb1a79f9d9fa2aab4b5afacabacaeb4b4b9babfc6cac4bdb5afa39f92867c6f665c5043392e23180500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2bec0c0bcb0a396897d7063564a3d3023212e3a4754616d7a8794a0adbac0c0c0b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7784919daab7c2cdd8d0c5b9ac9f92867a6d6154473b30251a0e020000000000000000000000000000000000000000000000000004101d2935404b5565717e8b99a4afbbbbaea3998b7e7265564c4135291d110500000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcacec1b4a89b8e817568554b4035291d100c1525313e4b5864717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c5c5bfb2a5988c7f7265594c3f3226190c00020c1925303b44505c666f7c87939fa9b3bec5c5c5c5c5bdb0a3978a7d7064574a3d3124170a000613202d394653606c798698a3aebac7cfc3b6a99c908376675c51464442464850565e68727f8b98a5b2becbcabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d12161b2834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a2e211514120f0a030000000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7d1c4b8ab9f95909298a2aab2bab9b8b8babfc1c5c7c6c5bebab2aba49f918b7e716a5f544a3f30271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2b3b3b3b3b0a396897d7063564a3d3023212e3a4754616d7a8794a0adb3b3b3b3b3a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953626f7c8895a0acb8c5d4e0d3c7bbafa3998b7e7265574d42362a1e120500000000000000000000000000000000000000000000000000010d18242f3a4754616d7a86939facb9bfb5ab9c908376685e5246392d20130700000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d0c3b7aa9d908477675d5145392c2018171e2a36424d576774808d9aa7b3c0cdcabeb3aa96897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5b9b9b9b9b2a5988c7f7265594c3f3226190c000008141e28343f4a54606b74818e97a2adb9b9b9b9b9b9b9b0a3978a7d7064574a3d3124170a0005121f2b3744505b657985929facb8c5cfc2b5a89c8f827569554b4037363a3e444d5664717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911181e22242834414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a2e2a22211f1a150e0600000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7d0c3b6a99d9083869298a0a8aeb4b9bbc0bebebdbebab8b3ada8a199938b7f736c62584e42382e1e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a6a6a6a6a6a6a396897d7063564a3d3023212e3a4754616d7a8794a0a6a6a6a6a6a6a69b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a7b1bcc8d4e3d7cbc0b5ab9c908376695e52463a2d20150900000000000000000000000000000000000000000000000000000713202d3946525e687683909da9b6c3b9ac9f93867a6d6154473a2e21140900000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d2c5b9ac9f92867a6d6053473d3229232328303946525e697683909da9b6c3d0c6baaea298887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9acacacacacaca5988c7f7265594c3f3226190c0000020b17232e38424f59616d7a85929fa7acacacacacacacaca3978a7d7064574a3d3124170a00030f1b27333f495e6b7884919eabb7c4d0c3b7aa9d908477675d51453c3731323e4b5864717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e313236414e5b6774818e9aa7b4c1cdc7baada094877a6d6154473a36362f2e2b2620180f06000000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d807d8691969fa2aaacafb5b1b1b1b3adaba9a29f9691877f736d635a50463c30261c0c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b989a9a9a9a9a9a9a9a96897d7063564a3d3023212e3a4754616d7a87949a9a9a9a9a9a9a9a9a8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb7c3ced9e5dcd1c6b9ac9f93877b6e6154483c31261a0e020000000000000000000000000000000000000000000000000005111e2a36414c566774808d9aa7b3c0bbafa4998a7d7164574a3e31261a0e02000000000000000000000000000a1623303d495663707c8996a3afbcc9d3c7bbafa3998a7e7164594f443b342f2e3439424d57616e7b87939facb9c6d2c5b8ab9f9285786c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9c9f9f9f9f9f9f9f9f988c7f7265594c3f3226190c00000006111c26303d46525e68727f8b959f9f9f9f9f9f9f9f9f9f978a7d7064574a3d3124170a00000b17222d434f5c6976828f9ca9b5c2cec5b9ac9f92867a6d60574d4742403f3e4b5864717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b252d343a3e3f43434e5b6774818e9aa7b4c1cdc7baada094877a6d6154474343433b3a37312a22180e030000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d81747c848d92989d9fa3aba4a5a4a9a29f9b97928c847d726d635b51483e342a1e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8d8d8d8d8d8d8d8d8d8d897d7063564a3d3023212e3a4754616d7a878d8d8d8d8d8d8d8d8d8d8d8175685b4f4235281c0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54636f7c8996a1acb9c5d5dfeae0d4c8bbafa49a8c7f7265574d42372b1e120600000000000000000000000000000000000000000000000000010d1925303e4b5764717e8a97a9b3bec0b5ab9a8e817467574d42362a1e120500000000000000000000000000091623303c4956636f7c8996a2afbcc9d7cbc0b5ab9c8f82756b60564d45403f3f3f444b545e6973808c99a4afbbc7cfc2b6a99c8f8376655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f929292929292929292928c7f7265594c3f3226190c000000000a141e2a36414c56606c78839092929292929292929292928a7d7064574a3d3124170a0000061a2633404d596673808c99a7b1bcc8c7bbafa3998b7f72695f57534d4d4c4b4b5864717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18232d373f464a4c5050505b6774818e9aa7b4c1cdc7baada094877a6d6154505050504847433c342a20150a0000000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d81746f7980868c909299979898979697928f8b857f796f6b625b514940362d22180c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7d8080808080808080808080807b6e6155483b2e22202d3a4753606d798080808080808080808080807e7164574b3e3124180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6674818d9aa8b2bdc9d5e7f0e4d8ccc0b6ac9d908377695f53473a2e21150a00000000000000000000000000000000000000000000000000000815222f3b4855626e7b8897a2adbac4b7ab9e918478695f53463a2d211407000000000000000000000000000915222f3c4855626f7b8895a2aebbd0dbd1c7b7aa9e94897d70685e56514b4c4b4a50555d666e7b86929fabb5c0ccc8bcb1a7998c7f736653493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828686868686868686868686877f7265594c3f3226190c00000000020c1925303a44505b666f7c868686868686868686868686877d7064574a3d3124170a00000916232f3c4956626f7c8995a0acb8c2cbc0b5ab9e92857b6e69615f57595958585864717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e29343f495156585d5d5d5d6774818e9aa7b4c1cdc7baada094877a6d615d5d5d5d5d55534e463c31261a0f0200000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174676d737a7f8386898a8b8b8a898885827e79736d676059514940372e241b100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b6f7373737373737373737373736e695f53473a2d211f2c3945515d676d737373737373737373737373716c6155493d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c4cedae5e8e8ddd2c7b8ab9f95887b6e6255483c32261b0f00000000000000000000000000000000000000000000000000000613202d394653606c7985929fabb8c5b9aca196887b6e6155483b2e221508000000000000000000000000000814212e3b4754616e7a8794aab4bfcad6d3c7bbb0a69e91847a6e68605c555858545c60676d78828f98a2aebdc7d2c5b8aca095887c6f6255493c2d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b2835414e5a657075797979797979797979797979726d62574a3e3125180b000000000008131e28333f4a54606a6f79797979797979797979797979706c6155493c3023160a00000915222e3b4854606a7784919da6b0bbc5c7b9ada19791847b736e6968666565646464717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222e3a46515b6265696969696974818e9aa7b4c1cdc7baada094877a6d696969696969625f584e43372b1f120600000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d81746760686d72767a7c7d7e7e7e7d7b7975716d67605d554f473f372e251c120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f596063676767676767676767676767615f574d42372b1e1d2935404b555d6067676767676767676767676764615a5045392d211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b5563707d8997a1adb9c6d6e0dcdbdce4d4c8bcb1a7998c7f7366584e43372b1b11060000000000000000000000000000000000000000000000000005121f2b3744505b6576828f9ca9b5c2bdb2a8978a7d7164574a3e31241708000000000000000000000000000713202d3a4653606d798698a2aebac6d3d7ccc1b9aca09690837a726d6766656566666d7179828f949faab4bed0c9beb3a99d9184776a6054473b2e1b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1925313d49545e65696c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e2216090000000000020b17222d38424e5860626c6c6c6c6c6c6c6c6c6c6c6c6c6461594f44392d201408000007131f2c38434e5864717e8a949fa9b3bbc3beb3a9a0969186807b7775737271717171717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4a56626d72767676767676818e9aa7b4c1cdc7baada094877a767676767676766e6a5f53473a2e21140800000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d817467565e6165676d6f71717271706e6c6664605d55514b433d352d251c130a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d474f54565a5a5a5a5a5a5a5a5a5a5a5a55534d453c31261a18242f39434b51535a5a5a5a5a5a5a5a5a5a5a5a575550483e34281d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6774818e9ba9b3bec9d5d2cfcecfd2d7cdc3b7aa9d9184776a5f5347382d22170b00000000000000000000000000000000000000000000000000030f1b27333f49536774808d9aa7b3c0c0b3a6998d8073665a4d403024190d0100000000000000000000000006131f2c3845515c677985929facb8c5d2d6d1c8bdb2a8a09590857f79757372727375797e848f949ea6b0bcc5cec6b9ada1978c7f7265584e43372b1f0a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212c37424c545a5c5f5f5f5f5f5f5f5f5f5f5f5f595751493f35291e120600000000000006111c262f3d464e54565f5f5f5f5f5f5f5f5f5f5f5f5f57554f473e33281c10040000030f1b27323d4653606c77829097a1a9b1bbc0bbb2a8a098928d888482807f7e7e7e7e7e818e9aa7b4c1cdcabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f83838383838385919eabb8c4d1d0c3b6a99d9083838383838383827c6e6255483b2f22150800000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a5254555d6062646565646361605b5453514b454039312b231b130a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212b343d4348494d4d4d4d4d4d4d4d4d4d4d4d4847423c332a1f15121d2731394045474d4d4d4d4d4d4d4d4d4d4d4d4b49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb8c5cfccc6c3c2c3c6ccd1c5b8aca096887c6f6253493f33271b0f03000000000000000000000000000000000000000000000000000b17222d3f4c5965727f8c98a5b2bfc2b5a99c8f827669564c4135291d110500000000000000000000000004101c2834404b556a7784919daab7c4d0cbc5c2c1bab1a7a097928b8682807f7e8081858a91969ea6b0b8c2cec6bcb1a79e9285796d6053473c32271b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101b26303a42494e4f5353535353535353535353534c4a463f372d23180d01000000000000000a141d2b343d434749535353535353535353535353534a49443e352c21170b000000000a161f2b3744505b656e7b859297a0a7afb5babab2aaa29f9a96918e8c8c8b8b8b8b8b8e939da9b5c2cecabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d90909090909197a1adb9c6d2d1c4b8ab9f9590909090909090897c6f6256493c2f23160900000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e474b51535657585857565553504a47454039352f281f19110901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32383b3c4040404040404040404040403b3a37312a21180e0b151f272f35393a4040404040404040404040403e3d39342c241a1006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717d8a98a2aebac6c9c1bbb6b5b6bbc1c9c8bdb2a89a8d8073655b5044372b1f120600000000000000000000000000000000000000000000000000061724313e4a5764717d8a97a4b0bdc4b8ab9e918578685d5246392d201307000000000000000000000000000c18232e434f5c6976828f9ca9b5c2c9c0bab5b4b9bab1a9a29f98928f8c8b8b8c8e92979ea1a8b0b8c2cac7beb4aaa0958c7f72675d5145392b20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141e2730373d41424646464646464646464646463f3e3a352d251b11070000000000000000020b19222b32383b3c464646464646464646464646463d3c39332c231a100500000000030f1b27333f49535e696f7c8591959fa3abaeb4b9b4aeaca8a09d9b999898979797979a9da5afbac5d1cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9a9c9c9c9c9ea1a9b3bec9d5d4c8bcb1a79f9d9c9c9c9c9c95897c6f6256493c2f23160900000c1926333f4c5966727f8c99a5b2bfccc9bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e41404547494a4b4b4b4a4846443f3a39352f29241d160d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101921272c2f303434343434343434343434342e2d2b261f180f06030d151d24292c2d34343434343434343434343431302d28221a12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945525d6875828f9baab4becac1b7afaaa8aaafb7c1cdc3b7ab9e9184786c605346392e23170c000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4bfc6b9ada197877a6d6154473a2e21140700000000000000000000000000071b2734414e5a6774818d9aa7b4c0c0b7afa9a7acaeb4b3adaaa29f9b999898999b9fa2a9acb2bac2cac6beb6aca2989083786d60554b4035291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c151e262c31353639393939393939393939393932312e29231b13090000000000000000000007101920272b2e2f3939393939393939393939393931302d28211a11080000000000000b17222d38414d575f6a6f7b838d92999fa3aaacaeb4b4b2acaaa8a6a5a4a4a4a4a4a7a9afb7c0cbd6cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7a9a9a9abadb3bbc4cfdad8cdc2b9b1aba9a9a9a9a9a295897c6f6256493c2f23160900000c1926333f4c5966727f8c99a5b2bfc0c0bcb0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4135393a3c3e3e3f3e3d3b3938332d2c29241d18120c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f222327272727272727272727272722211e1a150e060000030b12181d1f202727272727272727272727272424211d171009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5c6bbafa59e9b9ea5afbbc5c5b9ada196897c6f63544a3f34281c10030000000000000000000000000000000000000000000000000714212e3a4754616d7a8798a2aebac7beb3a995887b6f6255483c2f221509000000000000000000000000000c1926323f4c5965727f8c98a5b2bfbaafa59d9a9fa3abb3bab4aeaca8a6a5a5a6a8abadb3b9bdc4cac3bcb4aca49a92867c6f665c50433a2f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141b212528292c2c2c2c2c2c2c2c2c2c2c2c2625221e181109010000000000000000000000070f161b1f22232c2c2c2c2c2c2c2c2c2c2c2c2c2423201c1710080000000000000006111b262f3b454e585f696e7980878e92989c9fa3aaa7a9aaabacaeb5adadadadadb1b3b7bec7d0d7cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3b6b6b8b9bec4cdd6e1dfd4cbc2bcb8b6b6b6b6afa295897c6f6256493c2f23160900000c1926333f4c5966727f8c99a5b2b3b3b3b3b0a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e41342c2d2f31323231302e2d2b28221f1d18120d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315161a1a1a1a1a1a1a1a1a1a1a1a1514120e09030000000001070c1013141a1a1a1a1a1a1a1a1a1a1a1a181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c5664717e8b98a3aebac7c3b6aa9e938f939ea9b3bec9bdb2a89a8d8174665c5044382c1f12070000000000000000000000000000000000000000000000000713202d3946525e687985929facb8c5bdb0a3968a7d7063574a3d3024170a000000000000000000000000000a1623303d495663707d8996a8b2bdb5a99d938e9299a1a9b0b8bab8b5b3b2b1b3b4b8babec5c8c5bebab2aaa39a93887e716a5f544a3f31281d13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002091015191b1c202020202020202020202020191816120d070000000000000000000000000000040a0f13151620202020202020202020202020171614100b050000000000000000000a141d29333c464e575f676d737b81868b8f9298989a9c9d9e9fa3a0a0a0a0a0a0a5a7acb5bec9d4cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3b3b3b7b8bcc3cbd5dfdcd2c8c0b9b5b4b3b3b3afa295897c6f6256493c2f23160900000c1926333f4c5966727f8c99a5a6a6a6a6a6a6a396897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134272023242525242322201f1c1713100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030709090d0d0d0d0d0d0d0d0d0d0d0d080806020000000000000000000406070d0d0d0d0d0d0d0d0d0d0d0d0b0a08050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e6876828f9caab4bfc9bdb2a89b8f828f97a1adb9c6c4b8ab9e9285796d6053463a2f23180c00000000000000000000000000000000000000000000000005111d2a36414c566b7885919eabb8c4beb1a5988b7e7265584b3f3225180c000000000000000000000000000714212e3a4754616d7a8796a1acb9b4a79a8e818691979ea6acb1b9babfbebebfc1c4c3c2c0bcb8b3ada8a09892887f726c61584e42382e1f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090d0f0f1313131313131313131313130c0b090601000000000000000000000000000000000003060809131313131313131313131313130a0a080400000000000000000000020c151e212a343c454d555d60696e747a7e8286898b8d8f90929299939393939393989ba3acb7c3cfcabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa6a6a6a6aaacb1b9c3ced9d6cbc0b6aea9a7a6a6a6a6a295897c6f6256493c2f23160900000c1926333f4c5966727f8c999a9a9a9a9a9a9a9a96897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b1617181818171513120f0b060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a86929facb9c5c5b9aca096887b85929eabb8c5c6b9ada197897d7063554b4034291c10040000000000000000000000000000000000000000000000010d19253044515e6b7784919eaab7c4c0b3a6998d8073665a4d4033271a0d000000000000000000000000000713202d3946525e687884919eabb7b3a6998d807c858f949da0a7acaeb4b5b6b7b8b7b7b5b3b1aca9a29f9691867e726d625a50463c30261c0d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141e2730373d4142434b51575f61686d7276797c7f8182848586868686868686868b919ba7b3bfcccabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9a9a9a9a9a9da0a7b1bcc8d4d1c5b9aea49d9a9a9a9a9a9a95897c6f6256493c2f23160900000c1926333f4c5966727f8c8d8d8d8d8d8d8d8d8d8d897d7063564a3d3023170a00000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e0b0b0c0b0a080606030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8b99a3afbbc7c4b7aa9e918477818e9babb4bfc9beb3a99b8e8174675c5145382c1f1308000000000000000000000000000000000000000000000000081e2a3744515d6a7784909daab7c3c1b4a79a8e8174675b4e4134281b0e0000000000000000000000000005111d2a36414c566875818e9ba8b4b6a99c9083767a828a91959b9fa3aba8aaaaabaaaaa8a7a7a09d97928c847c716c625b51483e342a1e150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101b25303942494d4f5050504d53565d6165676d6f727476777879797a7a7a7a7a7a7f8b98a5b1becbcabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d8d8d8d8d8d9095a0acb8c5d1cec2b5a99d928d8d8d8d8d8d8d897c6f6256493c2f23160900000a1623303d495663707d8080808080808080808080807b6e6255483b2f22150800000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697683909dabb5c0cabeb4aa9a8d80747d8a99a3aebac7c5b8ab9f9285796d6053473a2f24190d010000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3c1b4a79b8e8174685b4e4135281b0e00000000000000000000000000010d1925303e4b5865717e8b98a7b1b9ac9f93877b6e757d838a8f9299999b9d9e9e9e9d9c9a9795908c857f796f6a615a51493f362c22180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212c37424b53595c5c5c5c5c5c5c5c5c555c60626567696a6b666c6d6d6d6d6d717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707e80808080808083909daab7c3d0cdc0b4a79a8d80808080808080807b6e6154483b2e21150800000916222f3b4854606b707373737373737373737373736e695f53473a2e21140800000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87959fabbdc7c6baaea298897d707a86929facb9c5c6baaea2988a7d7164554c4135291d11040000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2c1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000815212e3b4854616e7b8795a0acb8afa4998c7f736b70787d82868a8d8f90919191908f8d8b87837f7a736d67605850483f372d241a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925313d49535d6568696969696969696969696967645c5c5d5f5b606060606064717e8b97a4b1becacabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c70737373737374818e9aa7b4c1cdc7baada094877a737373737373736e695e53463a2d21140700000713202c38444f596063676767676767676767676767625f574d42372b1e120600000000000000000815212e3b4854616e7b8794a1aebac7cdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5866727f8c99a7b1bccfc5b8ab9f9285796d76828f9ca9b5c2cabeb4aa9b8e8275675d5145392c20130800000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1c2b5a89c8f8275695c4f4236291c0f00000000000000000000000000000714212d3a46535e697783909dabb5b5ab9e9184796d656c70757a7d8082838485848482807e7b77726d68605c554e463e362d241b1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1b2834414d59656f757676767676767676767676746e6458514a50535353535865727f8b98a5b2becbcabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d39444f596164676767676774818e9aa7b4c1cdc7baada094877a6d676767676767615e574d42362a1e1205000004101c27323d474f54565a5a5a5a5b5c5c5a5a5a5a5a55534d453c31261a0e0200000000000000000815212e3b4854616e7b8794a1aebac7ccc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7784909daab7c2ccc0b5ab9b8e827566727f8b98a8b1bdc8c5b8ac9f92867a6d6054473a3025190d01000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1c2b6a99c8f8376695c504336291d10000000000000000000000000000005121e2a36424d5766727f8c99a4afb9ada1968c7f73696064686d70737577777877777574716e6965605d56514b433d342d241b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875818383838383838383838383807467584e41444647474d576673808d99a6b3c0cccbbfb5ab96897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e474f55575a5a5a5b6774818e9aa7b4c1cdc7baada094877a6d615a5a5a5a5a54534d453b31251a0e020000000b16212b353d414950565e61656869686764605c555047423c332a2015090000000000000000000815212e3b4854616e7b8794a1aebabfbfbfb4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a0acb8c5c7bbafa4998b7e71646e7b8895a0acb8c5c7baaea3988b7e7164564c41362a1d1105000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1c3b6a99c908376695d5043362a1d100000000000000000000000000000020e1a25313b4855616e7b87939facb9b2a89f92867b6e675d5d606366686a6b6b6b6a696764615e5754524c454039302b221b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b77848f8f8f8f8f8f8f8f8f8f8f84786a5f534b4745474a535f6976838f9ca9b6c2cfc7bbaea399887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17212c353e44494a4d4d4e5b6774818e9aa7b4c1cdc7baada094877a6d61544d4d4d4d4846423b33291f140900000000030f1b27333f49535b60686d7174757574716d67615a51493f332a2015090000000000000000000815212e3b4854616e7b8794a1aeb3b3b3b3b3a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434e586673808d99a7b1bcc8c6b9ac9f93867a6d61697784919daab7c4cbbfb4aa9c8f8276685e5246392d201409000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1c3b6a99c908376695d5043362a1d100000000000000000000000000000000914212d3a46535f6975828f9ca7b1baaea2989183796d685f57575a5c5d5e5e5e5d5c5a5854534d4745413a342e271e19100900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9c9c9c9c9c9c9c9c9c96887b6e655d55535153545b616e7b87939facb9c6d2c5b9ac9f9286796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d40414e5b6774818e9aa7b4c1cdc7baada094877a6d6154474040403b3a36312921170d03000000020c16202b3744505b656c727a7e818282817e79716c625b51463c31261a0f0200000000000000000815212e3b4854616e7b8794a1a6a6a6a6a6a6a69a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4854606a7784919eaab7c3cec3b6a99d908376685e6773808d9aa9b3becac5b9ac9f92867a6d6154473b31251a0e020000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2c2b6a99c8f8376695c504336291d1000000000000000000000000000000005121e2a36424d5763707d8a959fabb8b4aaa0958f827a6e69605c54524d515251514f4d4b4846423b39352f28231d150c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a7a9a9a9a9a9a9a89c8f82776d6762605d6062666c75828f99a4afbbc7ccc0b6ac9d908376675c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21282d303134414e5b6774818e9aa7b4c1c9c7baada094877a6d6154473a34342e2d2a251f170f050000000008131e2d3944505a606c777f868b8e8f8f8d8a857e726d62584e43372b1f120600000000000000000815212e3b4854616e7b87949999999999999999998d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8996a0acb9c5c9bdb2a8998c7f73665663707c8997a2adbac6c7bbafa3998b7e7265574d42362a1e1205000000000000000000000000000000000000000003101d293643505c6976838f9ca9b6c2c2b5a89b8f8275685c4f4235291c0f000000000000000000000000000000020e1a26313b4855616b7783909da6b0bcb1a79f948f837b736d66615e565653514b4a4745403a38342f2a251e18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88959fabb6b6b6b6b6aa9e948e8179726f6d676d6e7278808d939eabb5c0ccc8bbafa49a8c7f7366554b4034291c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c20232834414e5b6774818e9aa7b4bcbcbcbaada094877a6d6154473a2e2721211e1a140d0500000000010d1924303c4955616c74808c92989b9c9b9a97928a7f726a5f53473a2e21140600000000000000000815212e3b4854616e7b878c8c8c8c8c8c8c8c8c8c8c8074675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6674808d9aa8b2bdc9c5b9aca196887c6f6255606d7985929fabb8c5cbc0b5ab9c908376695e53463a2d211509000000000000000000000000000000000000000004101d2a3743505d6a7683909da9b6c3c1b4a79b8e8174685b4e4135281b0e0000000000000000000000000000000009141f2c38444f5963707d89949eaab3b9b0a69f9590867f79736e686663605d555753514b47454039363028231c150c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a7683909da5afbac2c2bbb0a69d938e847f7c7a797a7b7e838d929da5afbdc7cbbfb5ab9f93877b6e6155483b2f23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141b2834414e5b6774818e9aa7afafafafafada094877a6d6154473a2e211514120e0903000000000004111d2935414c5664707d8a929fa2aaa8a8a9a19e92877c6e6255483b2d22170b00000000000000000714212d3a4754606d7a8080808080808080808080807d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985919eabb8c4cec4b7ab9e9184786a5f535c6675818e9babb5c0cbc6b9ac9f93877b6e6154483c31261a0e020000000000000000000000000000000000000004111e2a3744515d6a7784909daab7c3c0b4a79a8d8174675a4e4134271b0e0000000000000000000000000000000003101c28333e4854606b75828f98a2aebab8b0a7a098928c847f7b7673706d676763605d5553514b46413a342e261e170e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5863707d89939ea8b1bbc3c1b8afa59d96918c88868686888b91959da4aeb7c1ccc1bbaea3998f8275695f53473a2d1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1b2834414e5b6774818e9aa2a2a2a2a2a2a2a094877a6d6154473a2e2114070502000000000000000713202c3945525d687683909da4aeb4b5b5b3ada3998e817467544a3f33281c0f03000000000000000713202c3945525d686d737373737373737373737373706b6155483c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5563707d8997a1adb9c6cabfb4aa9a8d817467584e5464717e8a99a3afbbc7c8bbafa49a8c7f7265574e42372b1e12060000000000000000000000000000000000000003101c28343f4a546a7784919daab7c4c0b3a6998d8073665a4d4033271a0d00000000000000000000000000000000000b16212c38444f59616e7b85929fa4aeb8b9b1aaa29f96918c8683807c7a7774706d6764605c55524c443f38302920170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c4855606b75818e95a0a9b1bbc0c0b7afa8a19e989599929995989da0a7aeb6c0c7c0bbafa59f92877c6f62574d42372b1e0b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e96969696969696969694877a6d6154473a2e2114070000000000000000000714212d3a4754606d7a86939facb9bfc2c2beb5ab9e918478665b5044382b1f12060000000000000004111d2935414c565d606666666666666666666666666361594f44382c20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6774818e9ba9b3bec9c6baaea2988a7d7063574a54606d7a86929facb9c5ccc0b6ac9d9083776a5f53473a2e21150a0000000000000000000000000000000000000006121f2b3844505c667885919eabb8c4beb2a5988b7f7265584c3f3225190c000000000000000000000000000000000005101c27333d46525e69717e8b929da6afb8bcb4aea8a19e9992908c898683807d7a75716d67615e56504a423b332920170c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202c38444f59606d7a839196a0a7afb6bec0bab2acaba5aba39fa3aba5aaacb1b9c0c3beb6afa69e938c7f736a5f53453c31261a0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818989898989898989898989877a6d6154473a2e2114070000000000000000000915222f3c4855626f7b889aa4afbbc8d0cfc5b9ac9f9286796c605346392d20130600000000000000010d19242f3a444c525459595959595959595959595957554f473e33281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c4cfc5b8ac9f9285796d605347525d687683909ca9b6c3cec7b8aca095887b6e6255483c32271b0f000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5bdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000b16212a36424d57616c74808d939ea5aebabfbab2adaba39f9d999992908d8a86827e79736d68605c544d453b32291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c27333d45525d686e7b8490959fa4acb1b9babdb9b7b2b5afacafb5b1b7b8bcc2bcb8b2aca49f938f81776c60584e43332a1f1509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b7c7c7c7c7c7c7c7c7c7c7c7c786d6053463a2d2013070000000000000000000815222f3b4855626e7b8898a3aebac6cccbc4b9ac9f928679665b5044382b1f1206000000000000000008131e28323a4145474d4d4d4d4d4d4d4d4d4d4d4d4a48443e352c21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b5564707d8a97a2adbac6ccc0b6ac9b8f8275675c51454c5666727f8c99a8b2bdc9c8bcb1a7998c807366584e43372b1b11060000000000000000000000000000000000000815212e3b4854616e7b8799a3afbbc7beb3a995887b6f6255483c2f221509000000000000000000000000000000000000050e1a25303b45505a606d78818f939da4aeb4bcbdb9b5afaca9aba39f9d9a98928f8a85807a726d665e574d443a30271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212935414c565f696e7b838d939a9fa7acaeb4b7b9bbc0bbb9bbc0bdbebab8b6b1aca8a09a938d81796d655b50463c3121180e03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f696e6f6f6f6f6f6f6f6f6f6f6f6f6d665c5044382c1f12060000000000000000000714202d3a4753606d7986929faab4bbc0bfbab2a89d9084776a544a3f33281c0f030000000000000000010c1620282f35393a4040404040404040404040403d3c38332c231a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6775828e9ba9b3becac8bbafa49a8b7e7165554b404855626e7b8896a0acb9c5cdc3b7aa9d9184776a605447382d22170b0000000000000000000000000000000000000916232f3c4956626f7c8995abb5c0c6b9ada197877a6d6054473a2d2114070000000000000000000000000000000000000009141f29333e44505c666d78818d929fa2aab0b7bbc0bbb9b6b5afacaaaaa39f9c97928d857f786e695e564c42392e23180c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d19242f3a444d575f696e79818790959b9fa3abaaacafb6b0b1b1b1b0b3aeaba9a7a09d96918880786d675c53493f342a200f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b37424d575f61636363636363636363636363605c544a3f34281c100300000000000000000006131f2c3845515c6775828f98a3aaafb6b4aea9a1968c7f7366594c402d22170b00000000000000000000040d161e24292c2d333333333333333333333333302f2c28211a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c5d0c6b9ac9f93877b6e6154473b47535f6a7784919eaab7c4d0c5b8aca096887c6f6253493f33271b0f0300000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdc5b8ab9e928578675d5145392c20130600000000000000000000000000000000000000020d172028343f4a545c666d78808b92989ea6abb0b8b9bec2c0bbb9b7b4aeaca9a29e98928c837b6e685e544b4034281d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323b454d575e676d747d83898f92999a9e9fa4aca4a4a5a4a4aaa29f9c9995908b847d736d665c554b41382d22180e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c454d535556565656565656565656565653504a42382e23170c0000000000000000000004101c2934404b55626f7c8692989fa4acaba39f9791847a6d6054473a2d2114060000000000000000000000040c13191d20212626262626262626262626262423201c1610080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664717e8b98a2aebac7d0c3b6aa9d908377685e524639434e586774808d9aaab4becac8bdb2a89a8d8073655b5044372b1f120600000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b5a99c8f827669554c4135291d11040000000000000000000000000000000000000000050e17232e38424a545c666d747e868f939c9fa6abadb3b6b8babfc3bfbab8b3adaaa29f9590847a6d665c5145392f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c16202a333b454d555d606b70767d82868b8e91939a9697989897979698928f8c88837e78706b605c544b43392f261b10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a333c42464849494949494949494949494946443f3830261c110600000000000000000000000c18232f3947535f6a707e868f939a979799928e857c6f675d5145392c20130600000000000000000000000001080d1113141a1a1a1a1a1a1a1a1a1a1a1a171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6876828f9caab4bfcac9bdb2a9998c7f7366564d41363d4a5663707d8998a2aebac6cec3b7ab9e9184786c605346392e23170c00000000000000000000000000000000030f1c28333f4a546774808d9aa7b3c0c0b3a6998d8073665a4d402f24190d0100000000000000000000000000000000000000000006111c263039424a545c606c717b82898f949a9ea1a9a9acaeb4b6b8bcc3beb9b4aea79f969082796d60554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212a333b434b515960636b70757a7e818486888a8a8b8b8b8a898785837f7c77716d666059504a423930271d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18212a31373a3b3c3c3c3c3c3c3c3c3c3c3c3c3a38342e261e150a00000000000000000000000007121d2b37434e58616c707c82878a8b8a8986817a6f6a5f554c4135291d11040000000000000000000000000000010407070d0d0d0d0d0d0d0d0d0d0d0d0a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d0c5b9ada196887c6f6255493c303a4653606d7985929fabb8c5d2c5b9ada196897c6f63544a3f34281c100300000000000000000000000000000006121f2b3844505b667683909ca9b6c3bdb2a8978a7d7164574a3e3124170800000000000000000000000000000000000000000000000a141e273039424a515a62696e757c82888d9297999c9fa2aaaaabb1b9bbbfbebab1a89f948c7f72675d5145392c20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f182129313a41454f54596063686d7174777a7b7d7d7e7e7e7d7c7b7976736f6a64605c544f443f3830271e150b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f181f262b2d2e3030303030303030303030302d2c28231c150c03000000000000000000000000010f1a26313c46505a616a6f767a7d7e7e7c7a746e685f584e433a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b99a3afbbc7d1c4b8ab9e9184786a5f54473b2e3845515c6675828f9bacb6c0ccc9bdb2a89a8d8174665c5044382c1f12070000000000000000000000000000000613202d394653606c7985929facb8c5b9ada196877b6e6154483b2e2115080000000000000000000000000000000000000000000000020c151e273039404450575e616b6f767c8085898c8f9298999d9fa7acaeb5bdc2bab0a69e9285796d6053473a2d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171f282f353d44484f54565d606467676d6e7071717271716f6e6c6566625f5853504a423d342e261e150c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e141a1e2122232323232323232323232323201f1c17110a0300000000000000000000000000000a15202a343e4850585f62686d707171706d67615e564e463c31281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697683909cabb5c0cbcbbfb4aa9a8e817467584e43372b34404b5464717e8b9aa4afbbc8cfc4b8ab9e9285796d6053463a2f24180c0000000000000000000000000000000815222f3b4855626e7b8898a2aebac4b8ab9e918478695e53463a2d211407000000000000000000000000000000000000000000000000030c151e272e343e454d525960636a6f74797c7f8385898c90959a9fa3abb3bbc2b9ada1978b7e726553493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161d242932383d44484c525458555c60626364656564646361605b5355534e46443f383028231c140c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151616161616161616161616161312100c0600000000000000000000000000000000030e18222c363e464e53565e6163646463605d55524d443c342a1f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c0c0c0baaea3988a7d7063574a3d32262e3a4754616d7a87939facb9c0c0c0b9ada1978a7d7063554b4035291d100400000000000000000000000000000b1825313e4b5864717e8b97aab4bfc0b5ab9a8e817467574d42362a1e120500000000000000000000000000000000000000000000000000030c151c2328333b42464f54585f62666d6f7376797c7f83888d9299a2a9b3bebeb3a99b8f8275655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c131821272c33383a4145474b4b51535557575858585756545350494847433c38342e261e17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080909090909090909090909090706030000000000000000000000000000000000000006101a242c343c43474c52545758575653514b46413b322a22180d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5866727f8c9aa4afb3b3b3b3b3ac9f92867a6d6053473a2d202d3946525e687683909da9b3b3b3b3b3b3a99b8e8174675d5145382c1f13060000000000000000000000000005121e2a36424d576774808d9aa7b3c0bbafa3998a7d7164574a3e31251a0e020000000000000000000000000000000000000000000000000000030b1218212930363d44484e53545c606266666d6f73777b80879297a2adb2b2b2ab9e9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d161b21272c3035393a3e404547484a4a4b4b4b4a494846443f3c3a37312c28231c150c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121a222a32373a4146474a4b4b4947454039363029201810060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7783909daca6a6a6a6a6a6a69c8f8275675d5145392c1f2a36414c5666737f8c99a8a6a6a6a6a6a6a69f9285796d6053473a2d201407000000000000000000000000000714202d3a46525e697783909daab7c3b9ac9f92867a6d6054473a2d2114090000000000000000000000000000000000000000000000000000000000070f171f252a32383c43474a505356545c606266696e747c85929fa5a5a5a5a5a197877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b10161c1e24292c2d2f34383a3b3d3e3e3f3e3e3c3b3937332d2e2b261f1c17110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008101820262b3036393a3d3e3e3d3a39352f2a251f170e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b88959a9a9a9a9a9a9a9a9a988b7e7265554b4035291d25303c4955626f7c88969a9a9a9a9a9a9a9a9a988a7d7164574a3e3124170b000000000000000000000000000815212e3b4854616e7b8795a0acb8bfb5ab9c908376685d5245392c201307000000000000000000000000000000000000000000000000000000000000050d141a21272c3237383f4446494a515356575f626a727e8b9899999999999995887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1013191d202123292c2d2f303132323131302e2d2b2722211f1b15100c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1e252a2d2e303131302d2c29241d19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c8d8d8d8d8d8d8d8d8d8d8d877b6e6154483b2f2418212e3b47535f6a78848d8d8d8d8d8d8d8d8d8d8d8d8275685c4f4235291c0f02000000000000000000000004111d2935404b5565727e8b98a7b1bcbbaea3998b7f7265564c4135291d11040000000000000000000000000000000000000000000000000000000000000003090e161b20262b2e34383a3c404446494d5358606d7a878c8c8c8c8c8c8c8c897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314181c1f20222424252525242321201f1b1715120f0a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d20212425242320201d18120e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8080808080808080808080807f72695e52463a2d1d121f2b37434e5864717e808080808080808080808080807366594d4033261a0d0000000000000000000000000613202c3945515d6776828f9ca9b5c2b9ac9f92867a6d6154473a2f24190d01000000000000000000000000000000000000000000000000000000000000000000040b0f151b1c23282b2d2e34383a3c4247525d68727f7f7f7f7f7f7f7f7f7f7b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070c10131415171718181817161513120f0b06060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314171818161413100d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4a56626d72737373737373737373737373726d63574d42362a1e0f1b26323c4955616c71737373737373737373737373736e63574b3f3226190c0000000000000000000000000714202d3a4753606d7a86929facb9bdb2a89b8f8275685e5246392d1e1308000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f2023282c2d3137414c56626d727272727272727272726e695f53473a2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080a0b0b0c0b0b0908060503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a0b0b0a07060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3a46515b626567676767676767676767676766635b51453b30251a0e15202d3945505a616467676767676767676767676766635c52473b2f23170a000000000000000000000005121e2a36424d5764717e8a98a3aebab9ada1968a7d7064564c4135291d0c01000000000000000000000000000000000000000000000000000000000000000000000000000000060b101213181c1f20262f3a43515b6265666666666666666666625f574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e29343f495156585a5a5a5a5a5a5a5a5a5a5a5a595751494033291f1409111d28343e485055575a5a5a5a5a5a5a5a5a5a5a5a5957524a40352a1f130700000000000000000000020c14212d3a46535e6976828f9caab4beb3a99e9184796d6053463a3025190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000306070c1012131e28313f4951575959595959595959595955534d453c31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18232d373f464a4c4d4d4d4d4d4d4d4d4d4d4d4d4c4b4640372e21170d020c17222c363e45494b4d4d4d4d4d4d4d4d4d4d4d4d4d4b4740382e24190e020000000000000000000008131e2935414c56616e7b87939facb9baada2978c7f72665c514538281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060c161f2d373f464a4c4c4c4c4c4c4c4c4c4c4847423c332a201509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b252d343a3e3f4040404040404040404040403f3e3b352e251c0f050006101b242c34393d3e404040404040404040404040403f3b352e261c120700000000000000000000030d1925303945525d6874808d9aa4afbbb3aa9f92857a6d60544b403428160c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d1b252d353a3e3f3f3f3f3f3f3f3f3f3f3b3a37312a21180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e313234343434343434343434343433322f2a231c130a00000009121b22282d303134343434343434343434343433322f2a241c130a00000000000000000000010b151f2a36414c56606d7a85929facb6baaea2988d8073675d5142392e231804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e31323333333333333333332f2e2b2620180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911181e2224252727272727272727272727272625221e18120a01000000000910171d2124242727272727272727272727272626231f19120a010000000000000000000007121d27313946525e6873808c98a2aebeb2a89f92857a6d61554b4130271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911181e22252626262626262626262622211e1a150e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d121518191a1a1a1a1a1a1a1a1a1a1a1a191816120d0700000000000000060c111517181a1a1a1a1a1a1a1a1a1a1a1a1a1917130e070000000000000000000000081118242f39434e58616d7a85929faab4b9aca0968c7f72685e52433a2f1e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d121618191919191919191919191514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c0d0d0d0d0d0d0d0d0d0d0d0d0c0c0a06020000000000000000000005080a0b0d0d0d0d0d0d0d0d0d0d0d0d0d0c0a0702000000000000000000000008111a232935404b55606a74818d98a2aebbafa59e9184796d60564c4131281d0c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c0c0c0c0c0c0c0c0c0c08080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121a232b353d45515d676f7c87939faab4b2a99e938a7d70665c51443a301f160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b0e0e0e0e0e0e0e0e0e0e0e0a0907040000000000000000000000000000000000000000000000000000050e1a242c353d47505a606d79839199a4afb6aca1968e81756c61544b4032291e0d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c111417171b1b1b1b1b1b1b1b1b1b1b171614100b050000000000000000000000000000000000000000000000020d17202c363e474f59626c74808d95a0abb5afa49a91847a6d61594f42392e20170d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171d21232427272727272727272727272423201c1610080000000000000000000000000000000000000000000008141f29323e485059606b717e8b929da7b1b0a69f93887d70685d52473e30271d0e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121a22282d30313434343434343434343434302f2c28211a11080000000000000000000000000000000000000000020e1925303b44505a616b707d87929fa4aeb2a89f948d80736b60564c41352c1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a242c33393d3e41414141414141414141413d3c38332c231a10050000000000000000000000000000000000000005111e2a36414d56616c717d869299a3aeb2a8a0968f82786d60594f443a30231a0c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222c363e45494a4e4e4e4e4e4e4e4e4e4e4e4a48443e352c21160b000000000000000000000000000000000000000714202d3946525e68717e869298a2abb2a9a19691847a6d665c50473d32281e1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d28333e485055575a5a5a5a5a5a5a5a5a5a5a57554f473e33281c10040000000000000000000000000000000000000814212e3b4754616e7a879298a2aab0a8a09691847b6e685e544a3f352b20160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3945505a616467676767676767676767676361594f44382c2014070000000000000000000000000000000000000714202d3946525e687783909daaafa69f9691847b6e695e564c42382e231a0e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4955616c717474747474747474747474706b6155483c2f23160900000000000000000000000000000000000005111e2a36414d5665727f8b99a3a49f9490847b6e695f574d443a30261c1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717e80818181818181818181807d7063574a3d3024170a000000000000000000000000000000000000020e1925303b4754616d7a86929f99938d827a6e695f574d453b32281e150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d8d8d8d8d8d8d8d8d8d8c807366594d4033261a0d000000000000000000000000000000000000000814202d3946525e6875828f95908780786d685f574d453c332920160c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9a9a9a9a9a9a9a9a998c807366594d4033261a0d0000000000000000000000000000000000000005111d2a36414c5664717e8a8b837c736d665e564d453c332a21170e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7a7a7a7a7a7a6998c807366594d4033261a0d00000000000000000000000000000000000000010d1925303a4753606d79837e786f6b605c544c443b332a21180f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4b4b4b4b3a6998c807366594d4033261a0d000000000000000000000000000000000000000008131f2c3845515c676d77716d666059504a423a322a21180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0c0bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000004101c2934404b555c606a65605c544f443f38302920180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000c18232f39434b51535d5853504a423d342e261e170e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0ccbfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000007121d273139404547504b46443f383028231c150c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000202020202020e1b2734414e5a6774818d9aa7b4c0ccbfb3a6998c807366594d4033261a0d020202020202000000000000000000000000000000010b151f272f34383a443e3a38342e261e17110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0b0f0f0f0f0f0f0f1b2734414e5a6774818d9aa7b4c0ccbfb3a6998c807366594d4033261a0f0f0f0f0f0f0f09090703000000000000000000000000030d151d23292c2d37322d2b28231c140c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c111417171c1c1c1c1c1c1c1c2734414e5a6774818d9aa7b4c0ccbfb3a6998c807366594d4033261c1c1c1c1c1c1c1c1615130f0a040000000000000000000000030b12181c1f202a25201f1c17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c21232428282828282828282834414e5a6774818d9aa7b4c0ccbfb3a6998c807366594d403328282828282828282823221f1b160f07000000000000000000000001070c1013141d181312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121a22282d303135353535353535353535414e5a6774818d9aa7b4c0ccbfb3a6998c807366594d4035353535353535353535302f2c272119100700000000000000000000000000040607110b0706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3e42424242424242424242424e5a6774818d9aa7b4c0ccbfb3a6998c807366594d42424242424242424242423c3b38322b23190f040000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222c363e45494a4f4f4f4f4f4f4f4f4f4f4f4f5a6774818d9aa7b4c0ccbfb3a6998c807366594f4f4f4f4f4f4f4f4f4f4f4f4948433d352b21160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111c28333e485055575b5b5b5b5b5b5b5b5b5b5b5b5b6774818d9aa7b4c0ccbfb3a6998c8073665b5b5b5b5b5b5b5b5b5b5b5b5b56544f473d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3945505a6164686868686868686868686868686874818d9aa7b4c0ccbfb3a6998c807368686868686868686868686868686360594f43382c1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303c4955616c71757575757575757575757575757575818d9aa7b4c0ccbfb3a6998c807575757575757575757575757575756f6b6054483b2f221509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717e81828282828282828282828282828184919eaab7c4d0c3b7aa9d90838182828282828282828282828282817d6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c8e8e8e8e8e8e8e8e8e8e8e8e8e8e9196a0acb9c5d1c5b8aca095908e8e8e8e8e8e8e8e8e8e8e8e8e8e8a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c999b9b9b9b9b9b9b9b9b9b9b9b9b9ea0a8b2bdc9d4c8bcb1a7a09d9b9b9b9b9b9b9b9b9b9b9b9b9b978a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6a8a8a8a8a8a8a8a8a8a8a8a8aaacb2bac4ced9cec3b9b1acaaa8a8a8a8a8a8a8a8a8a8a8a8a4978a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3b5b5b5b5b5b5b5b5b5b5b5b7b9bdc4ccd5dfd5cbc3bcb8b7b5b5b5b5b5b5b5b5b5b5b5b1a4978a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfc1c1c1c1c1c1c1c1c1c1c4c5c9ced5dee7ddd5cec8c5c3c1c1c1c1c1c1c1c1c1c1bdb1a4978a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfc3c3c3c3c3c3c3c3c3c3c5c6cacfd7dfe8dfd6cfc9c6c4c3c3c3c3c3c3c3c3c3c3bdb1a4978a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3b7b7b7b7b7b7b7b7b7b7b7b8b9bec5cdd7e1d6cdc4beb9b8b7b7b7b7b7b7b7b7b7b7b7b1a4978a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6aaaaaaaaaaaaaaaaaaaaaaaaabadb3bbc5cfdacfc4bbb3adabaaaaaaaaaaaaaaaaaaaaaaaaa4978a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c999d9d9d9d9d9d9d9d9d9d9d9d9d9ea1a9b3becad5c9beb3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d978a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c90909090909090909090909090909297a1adb9c6d2c6b9ada1979190909090909090909090909090908a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727f83848484848484848484848484848385929eabb8c5d1c4b8ab9e91858384848484848484848484848484837d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313d4a56626d72777777777777777777777777777777818d9aa7b4c0ccbfb3a6998c80777777777777777777777777777777706b6155483c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3a45515b62656a6a6a6a6a6a6a6a6a6a6a6a6a6a74818d9aa7b4c0ccbfb3a6998c80736a6a6a6a6a6a6a6a6a6a6a6a6a6a6361594f44382c2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343f495156585d5d5d5d5d5d5d5d5d5d5d5d5d6774818d9aa7b4c0ccbfb3a6998c8073665d5d5d5d5d5d5d5d5d5d5d5d5d57554f473e33281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18232d373f454a4b5151515151515151515151515a6774818d9aa7b4c0ccbfb3a6998c807366595151515151515151515151514a48443e352c21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b242d343a3d3f44444444444444444444444e5a6774818d9aa7b4c0ccbfb3a6998c807366594d44444444444444444444443d3c38332c231a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b23292e313237373737373737373737414e5a6774818d9aa7b4c0ccbfb3a6998c807366594d4037373737373737373737302f2c28211a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000911181d2224252a2a2a2a2a2a2a2a2a34414e5a6774818d9aa7b4c0ccbfb3a6998c807366594d40332a2a2a2a2a2a2a2a2a2423201c1610080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c111518181e1e1e1e1e1e1e1e2734414e5a6774818d9aa7b4c0ccbfb3a6998c807366594d4033261e1e1e1e1e1e1e1e171614100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105090b0c111111111111111b2734414e5a6774818d9aa7b4c0ccbfb3a6998c807366594d4033261a111111111111110a09070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000404040404040e1b2734414e5a6774818d9aa7b4c0ccbfb3a6998c807366594d4033261a0d0404040404040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0c6bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4b9b9b9b3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7acacacacaca6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9a9f9f9f9f9f9f9f998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9393939393939393938c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774808686868686868686868686807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2733404c58646e747979797979797979797979736d63574b3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c6c6c6c6c66635b52473b2f23160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202b36414a53585a60606060606060606060605957524940352a1e1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e53535353535353535353534d4b4740372e24190d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c40414646464646464646464646403f3b352e251c12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d252b303334393939393939393939393933322f2a241c130a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a202427272d2d2d2d2d2d2d2d2d2d2d2625231e19120a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f14181a1b20202020202020202020201a1916130d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e13131313131313131313130d0c0a070200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 m_StreamData: serializedVersion: 2 offset: 0 diff --git a/Assets/Prefabs/Props/Collectibles.meta b/Assets/Prefabs/Props/Collectibles.meta new file mode 100644 index 0000000..a22a849 --- /dev/null +++ b/Assets/Prefabs/Props/Collectibles.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2a197c719b8349a4ab403591cf98c834 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Props/Collectibles/BatCollectible.prefab b/Assets/Prefabs/Props/Collectibles/BatCollectible.prefab new file mode 100644 index 0000000..07911f4 --- /dev/null +++ b/Assets/Prefabs/Props/Collectibles/BatCollectible.prefab @@ -0,0 +1,197 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3316243588096306883 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3722284284489069898} + - component: {fileID: -349059794222274119} + - component: {fileID: 7133210491211008283} + m_Layer: 0 + m_Name: BatCollectible + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3722284284489069898 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3316243588096306883} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 1 + m_Children: + - {fileID: 932494216999854972} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &-349059794222274119 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3316243588096306883} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: -0.002134174} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1, y: 0.7225633} + m_EdgeRadius: 0 +--- !u!114 &7133210491211008283 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3316243588096306883} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0a07d694adfb80d4594401abc8aa8509, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::RR.Common.Entities.Props.BatCollectible + points: 1 + playerTag: Player + usePooling: 1 + defaultLifetime: 10 + moveSpeed: 1.75 + verticalAmplitude: 0.35 + verticalFrequency: 2.4 + horizontalWaveAmplitude: 0.2 + horizontalWaveFrequency: 1.35 + maxRange: 3.5 + directionChangeIntervalMin: 1.5 + directionChangeIntervalMax: 3.5 +--- !u!1 &3870501198317419823 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 932494216999854972} + - component: {fileID: 4329754353811481997} + m_Layer: 0 + m_Name: bat_0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &932494216999854972 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3870501198317419823} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.05, y: 0.05, z: 0.05} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 3722284284489069898} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &4329754353811481997 +SpriteRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3870501198317419823} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_Sprite: {fileID: 21300000, guid: 580cb7a0781814a49a32652f9a97e49d, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 19.73, y: 14.64} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_SpriteSortPoint: 0 diff --git a/Assets/Prefabs/Props/Collectibles/BatCollectible.prefab.meta b/Assets/Prefabs/Props/Collectibles/BatCollectible.prefab.meta new file mode 100644 index 0000000..bb00b85 --- /dev/null +++ b/Assets/Prefabs/Props/Collectibles/BatCollectible.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 76ff5cdfacce8e04ca29a050fd1b41db +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Props/Coin.prefab b/Assets/Prefabs/Props/Collectibles/Coin.prefab similarity index 100% rename from Assets/Prefabs/Props/Coin.prefab rename to Assets/Prefabs/Props/Collectibles/Coin.prefab diff --git a/Assets/Prefabs/Props/Coin.prefab.meta b/Assets/Prefabs/Props/Collectibles/Coin.prefab.meta similarity index 100% rename from Assets/Prefabs/Props/Coin.prefab.meta rename to Assets/Prefabs/Props/Collectibles/Coin.prefab.meta diff --git a/Assets/Prefabs/Props/Coin_Robotail.prefab b/Assets/Prefabs/Props/Collectibles/Coin_Robotail.prefab similarity index 100% rename from Assets/Prefabs/Props/Coin_Robotail.prefab rename to Assets/Prefabs/Props/Collectibles/Coin_Robotail.prefab diff --git a/Assets/Prefabs/Props/Coin_Robotail.prefab.meta b/Assets/Prefabs/Props/Collectibles/Coin_Robotail.prefab.meta similarity index 100% rename from Assets/Prefabs/Props/Coin_Robotail.prefab.meta rename to Assets/Prefabs/Props/Collectibles/Coin_Robotail.prefab.meta diff --git a/Assets/Prefabs/Props/Collectibles/LeafCollectible.prefab b/Assets/Prefabs/Props/Collectibles/LeafCollectible.prefab new file mode 100644 index 0000000..bb911f0 --- /dev/null +++ b/Assets/Prefabs/Props/Collectibles/LeafCollectible.prefab @@ -0,0 +1,202 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &7680590638374317877 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4550815583012328490} + - component: {fileID: 759722639321813396} + m_Layer: 0 + m_Name: Square + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4550815583012328490 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7680590638374317877} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 7358477386062440731} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &759722639321813396 +SpriteRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7680590638374317877} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_Sprite: {fileID: 5781445747943558089, guid: a191b676b9627ca44aceb3a028607100, type: 3} + m_Color: {r: 0.2140805, g: 0.5754717, b: 0.13843894, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_SpriteSortPoint: 0 +--- !u!1 &8928884138224752087 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7358477386062440731} + - component: {fileID: -205316951964799471} + - component: {fileID: -6130303908877127613} + m_Layer: 0 + m_Name: LeafCollectible + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7358477386062440731 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8928884138224752087} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 1 + m_Children: + - {fileID: 4550815583012328490} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &-205316951964799471 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8928884138224752087} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1, y: 1} + m_EdgeRadius: 0 +--- !u!114 &-6130303908877127613 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8928884138224752087} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5b7e46ee9c8087468860b8f11049bdc, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::RR.Common.Entities.Props.LeafCollectible + points: 1 + playerTag: Player + usePooling: 1 + defaultLifetime: 10 + fallSpeed: 1.25 + horizontalAmplitude: 0.4 + horizontalFrequency: 1.1 + rotationAmplitude: 22 + rotationSpeed: 2.2 + stopAtGround: 0 + groundMask: + serializedVersion: 2 + m_Bits: 64 + groundCheckDistance: 0.2 + minY: -10 + groundedSwayAmplitude: 0.08 + groundedSwaySpeed: 1.5 diff --git a/Assets/Prefabs/Props/Collectibles/LeafCollectible.prefab.meta b/Assets/Prefabs/Props/Collectibles/LeafCollectible.prefab.meta new file mode 100644 index 0000000..ee3ef45 --- /dev/null +++ b/Assets/Prefabs/Props/Collectibles/LeafCollectible.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b1002877f2c88eb47911b3d3b30db95c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Characters/bat.png.meta b/Assets/Resources/Sprites/Characters/bat.png.meta index 1c16a6b..11ece62 100644 --- a/Assets/Resources/Sprites/Characters/bat.png.meta +++ b/Assets/Resources/Sprites/Characters/bat.png.meta @@ -46,7 +46,7 @@ TextureImporter: nPOTScale: 0 lightmap: 0 compressionQuality: 50 - spriteMode: 2 + spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 @@ -151,7 +151,7 @@ TextureImporter: customData: physicsShape: [] bones: [] - spriteID: + spriteID: 5e97eb03825dee720800000000000000 internalID: 0 vertices: [] indices: diff --git a/Assets/Scenes/Levels/1-1.unity b/Assets/Scenes/Levels/1-1.unity index 1b2d0a5..0568898 100644 --- a/Assets/Scenes/Levels/1-1.unity +++ b/Assets/Scenes/Levels/1-1.unity @@ -1581,6 +1581,19 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 + - m_Target: {fileID: 1476321865} + m_TargetAssemblyTypeName: RR.Game2D.Behaviour.EnvironmentalCollectibleSpawner, + Assembly-CSharp + m_MethodName: SetEntryByName + m_Mode: 5 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: bat + m_BoolArgument: 0 + m_CallState: 2 OnEventTriggerExit: m_PersistentCalls: m_Calls: [] @@ -2839,7 +2852,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 1329653979} + - {fileID: 1476321862} m_Father: {fileID: 1053302775} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &95746896 @@ -96243,71 +96256,6 @@ SpriteRenderer: m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 m_SpriteSortPoint: 0 ---- !u!1001 &568219572 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 94085880} - m_Modifications: - - target: {fileID: 1754008902089564202, guid: c95e72e011a10ca43a3cb1bd524cdc19, type: 3} - propertyPath: m_Name - value: Checkpoint_Particles - objectReference: {fileID: 0} - - target: {fileID: 1754008902089564202, guid: c95e72e011a10ca43a3cb1bd524cdc19, type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6931528425163354462, guid: c95e72e011a10ca43a3cb1bd524cdc19, type: 3} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8213225719790051476, guid: c95e72e011a10ca43a3cb1bd524cdc19, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8213225719790051476, guid: c95e72e011a10ca43a3cb1bd524cdc19, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8213225719790051476, guid: c95e72e011a10ca43a3cb1bd524cdc19, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8213225719790051476, guid: c95e72e011a10ca43a3cb1bd524cdc19, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8213225719790051476, guid: c95e72e011a10ca43a3cb1bd524cdc19, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8213225719790051476, guid: c95e72e011a10ca43a3cb1bd524cdc19, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8213225719790051476, guid: c95e72e011a10ca43a3cb1bd524cdc19, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8213225719790051476, guid: c95e72e011a10ca43a3cb1bd524cdc19, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8213225719790051476, guid: c95e72e011a10ca43a3cb1bd524cdc19, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8213225719790051476, guid: c95e72e011a10ca43a3cb1bd524cdc19, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: c95e72e011a10ca43a3cb1bd524cdc19, type: 3} --- !u!1 &575351087 GameObject: m_ObjectHideFlags: 0 @@ -129463,6 +129411,19 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 + - m_Target: {fileID: 1476321865} + m_TargetAssemblyTypeName: RR.Game2D.Behaviour.EnvironmentalCollectibleSpawner, + Assembly-CSharp + m_MethodName: SetEntryByName + m_Mode: 5 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: leaf + m_BoolArgument: 0 + m_CallState: 2 OnEventTriggerExit: m_PersistentCalls: m_Calls: [] @@ -198897,6 +198858,19 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 + - m_Target: {fileID: 1476321865} + m_TargetAssemblyTypeName: RR.Game2D.Behaviour.EnvironmentalCollectibleSpawner, + Assembly-CSharp + m_MethodName: SetEntryByName + m_Mode: 5 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: leaf + m_BoolArgument: 0 + m_CallState: 2 OnEventTriggerExit: m_PersistentCalls: m_Calls: [] @@ -203128,11 +203102,6 @@ BoxCollider2D: m_CorrespondingSourceObject: {fileID: -9173128868689176959, guid: e5783e81b8b0fd648974f0ec7ebde930, type: 3} m_PrefabInstance: {fileID: 1731914843} m_PrefabAsset: {fileID: 0} ---- !u!4 &1329653979 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8213225719790051476, guid: c95e72e011a10ca43a3cb1bd524cdc19, type: 3} - m_PrefabInstance: {fileID: 568219572} - m_PrefabAsset: {fileID: 0} --- !u!1001 &1331373545 PrefabInstance: m_ObjectHideFlags: 0 @@ -208304,7 +208273,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &1465160040 Transform: m_ObjectHideFlags: 0 @@ -208341,7 +208310,7 @@ VFXRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1465160039} - m_Enabled: 1 + m_Enabled: 0 m_CastShadows: 0 m_ReceiveShadows: 0 m_DynamicOccludee: 1 @@ -208388,7 +208357,7 @@ VisualEffect: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1465160039} m_Enabled: 1 - m_Asset: {fileID: 8926484042661614526, guid: 484c0e7574383dd4b9e863848199e369, type: 3} + m_Asset: {fileID: 8926484042661614526, guid: f81f06c7755accd42bf8e15cf6687eee, type: 3} m_InitialEventName: OnPlay m_InitialEventNameOverriden: 0 m_StartSeed: 0 @@ -208618,6 +208587,165 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 3, y: 7} m_EdgeRadius: 0 +--- !u!1 &1476321861 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1476321862} + - component: {fileID: 1476321863} + - component: {fileID: 1476321866} + - component: {fileID: 1476321865} + - component: {fileID: 1476321864} + m_Layer: 0 + m_Name: CollectibleSpawner + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1476321862 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1476321861} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 13, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 94085880} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1476321863 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1476321861} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: -0.5, y: 0.5} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 32, y: 4} + m_EdgeRadius: 0 +--- !u!114 &1476321864 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1476321861} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6b98ac2c91fab545952a401bce4e156, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::RR.Game2D.Behaviour.EnvironmentalPool +--- !u!114 &1476321865 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1476321861} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c3bdb5d5e24e42b43aece26257a11ede, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::RR.Game2D.Behaviour.EnvironmentalCollectibleSpawner + fixedCount: 8 + maxSpawnAttempts: 12 + spawnDelay: {x: 0.15, y: 0.4} + spawnArea: {fileID: 1476321863} + areaCenter: {x: 0, y: 0} + areaSize: {x: 8, y: 4} + scaleRange: {x: 0.6, y: 1} + rotationRange: {x: -15, y: 15} + minDistanceToPlayer: 1.5 + maxDistanceToPlayer: 25 + spawnEntries: + - prefab: {fileID: -6130303908877127613, guid: b1002877f2c88eb47911b3d3b30db95c, type: 3} + weight: 100 + overridePoints: 0 + pointsOverride: 0 + overrideLifetime: 0 + lifetimeOverride: 0 + limit: 0 + namedEntries: + - key: leaf + entry: + prefab: {fileID: -6130303908877127613, guid: b1002877f2c88eb47911b3d3b30db95c, type: 3} + weight: 100 + overridePoints: 0 + pointsOverride: 0 + overrideLifetime: 0 + lifetimeOverride: 0 + limit: 0 + hardReplace: 0 + - key: bat + entry: + prefab: {fileID: 7133210491211008283, guid: 76ff5cdfacce8e04ca29a050fd1b41db, type: 3} + weight: 100 + overridePoints: 0 + pointsOverride: 0 + overrideLifetime: 0 + lifetimeOverride: 0 + limit: 0 + hardReplace: 0 +--- !u!114 &1476321866 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1476321861} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a0e43ee58f3b28e459ebefd25720dcfe, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::RR.Game2D.Core.Managers.Parallax + parallaxFactorX: 1 + parallaxFactorY: 1 + lockYAxis: 0 --- !u!1 &1476793369 GameObject: m_ObjectHideFlags: 0 @@ -210554,7 +210682,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1528420253} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 @@ -212141,6 +212269,19 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 + - m_Target: {fileID: 1476321865} + m_TargetAssemblyTypeName: RR.Game2D.Behaviour.EnvironmentalCollectibleSpawner, + Assembly-CSharp + m_MethodName: SetEntryByName + m_Mode: 5 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: leaf + m_BoolArgument: 0 + m_CallState: 2 OnEventTriggerExit: m_PersistentCalls: m_Calls: [] diff --git a/Assets/Scripts/Behaviour/EnvironmentalCollectibleSpawner.cs b/Assets/Scripts/Behaviour/EnvironmentalCollectibleSpawner.cs index 4c45ffc..18abec5 100644 --- a/Assets/Scripts/Behaviour/EnvironmentalCollectibleSpawner.cs +++ b/Assets/Scripts/Behaviour/EnvironmentalCollectibleSpawner.cs @@ -1,6 +1,8 @@ using System; +using System.Collections; using System.Collections.Generic; using RR.Common.Entities.Props; +using RR.Game2D.Core.Managers; using UnityEngine; namespace RR.Game2D.Behaviour @@ -14,50 +16,68 @@ namespace RR.Game2D.Behaviour public int weight; public bool overridePoints; public int pointsOverride; + public bool overrideLifetime; + [Tooltip("Время жизни в секундах. 0 или меньше — бесконечно.")] + public float lifetimeOverride; public int limit; } + [Serializable] + public struct NamedSpawnEntry + { + [Tooltip("Имя, по которому триггер выбирает этот entry (например \"leaves\", \"bats\").")] + public string key; + public SpawnEntry entry; + [Tooltip("Мгновенно убрать все чужие объекты при активации.")] + public bool hardReplace; + } + [Header("Spawn Count")] [SerializeField] private int fixedCount = 8; [SerializeField] private int maxSpawnAttempts = 12; + [Tooltip("Задержка между спауном каждого объекта (секунды). 0 — все сразу.")] + [SerializeField] private Vector2 spawnDelay = new(0.15f, 0.4f); [Header("Spawn Area")] [SerializeField] private BoxCollider2D spawnArea; [SerializeField] private Vector2 areaCenter; [SerializeField] private Vector2 areaSize = new(8f, 4f); + [Header("Random Scale & Rotation")] + [Tooltip("Минимальный и максимальный uniform-масштаб при спауне.")] + [SerializeField] private Vector2 scaleRange = new(0.8f, 1.2f); + [Tooltip("Минимальный и максимальный угол поворота по Z (градусы) при спауне.")] + [SerializeField] private Vector2 rotationRange = new(0f, 0f); + [Header("Player")] - [SerializeField] private Transform player; - [SerializeField] private string playerTag = "Player"; [SerializeField] private float minDistanceToPlayer = 1.5f; [SerializeField] private float maxDistanceToPlayer = 25f; + private Transform _player; + [Header("Prefabs")] - [SerializeField] private bool usePooling = true; [SerializeField] private SpawnEntry[] spawnEntries; + [Header("Trigger Entries")] + [Tooltip("Именованные SpawnEntry для вызова из триггеров. Используйте SetForcedEntryByName(string) в UnityEvent.")] + [SerializeField] private NamedSpawnEntry[] namedEntries; + private readonly HashSet _activeCollectibles = new(); private readonly Dictionary _prefabByCollectible = new(); private readonly Dictionary _activeCountByPrefab = new(); private readonly List _refreshBuffer = new(); - private EnvironmentalPool _pool; private GameObject _forcedPrefab; - - private void Awake() - { - if (usePooling) - { - _pool = GetComponent(); - if (_pool == null) - _pool = gameObject.AddComponent(); - } - } + private SpawnEntry? _forcedEntry; + private BoxCollider2D _overrideArea; + private Coroutine _spawnCoroutine; + private Coroutine _gradualReplaceCoroutine; private void Start() { ResolvePlayer(); - WarmupPool(); + if (GameManager.Instance != null) + GameManager.Instance.PlayerSpawned += OnPlayerSpawned; MaintainFixedCount(); } @@ -68,40 +88,239 @@ namespace RR.Game2D.Behaviour if (collectible != null) collectible.Collected -= HandleCollected; } + + if (GameManager.Instance != null) + GameManager.Instance.PlayerSpawned -= OnPlayerSpawned; } - public void SetSingleSpawnPrefab(EnvironmentalCollectibleBase prefab) + #region Public API — смена типа спауна + + /// + /// Мягко переключает спаунер на prefab (компонент). Старые объекты доживают. + /// + public void SetForcedPrefab(EnvironmentalCollectibleBase prefab) { - _forcedPrefab = prefab != null ? prefab.gameObject : null; + ApplyForced(prefab != null ? prefab.gameObject : null, null, false); + } + + /// + /// Жёстко переключает на prefab (компонент). Все «чужие» объекты убираются сразу. + /// + public void SetForcedPrefabHard(EnvironmentalCollectibleBase prefab) + { + ApplyForced(prefab != null ? prefab.gameObject : null, null, true); + } + + /// + /// Мягко переключает спаунер на prefab (GameObject). + /// Удобно вызывать из UnityEvent — просто перетащить prefab в инспекторе. + /// + public void SetForcedPrefabByObject(GameObject prefabObject) + { + ApplyForced(prefabObject, null, false); + } + + /// + /// Жёстко переключает на prefab (GameObject). Все «чужие» объекты убираются сразу. + /// + public void SetForcedPrefabByObjectHard(GameObject prefabObject) + { + ApplyForced(prefabObject, null, true); + } + + /// + /// Мягко переключает на prefab по индексу в массиве spawnEntries. + /// + public void SetForcedPrefabByIndex(int index) + { + if (!TryGetEntry(index, out SpawnEntry entry)) return; + ApplyForced(entry.prefab.gameObject, entry, false); + } + + /// + /// Жёстко переключает на prefab по индексу — все «чужие» убираются сразу. + /// + public void SetForcedPrefabHardByIndex(int index) + { + if (!TryGetEntry(index, out SpawnEntry entry)) return; + ApplyForced(entry.prefab.gameObject, entry, true); + } + + /// + /// Переключает спаунер на полностью кастомный SpawnEntry (из кода). + /// + public void SetForcedEntry(SpawnEntry entry, bool hardReplace = false) + { + if (entry.prefab == null) return; + ApplyForced(entry.prefab.gameObject, entry, hardReplace); + } + + /// + /// Переключает спаунер по строковому ключу из массива namedEntries. + /// Вызывайте из UnityEvent (EventTrigger) — Unity покажет поле ввода строки. + /// + public void SetForcedEntryByName(string key) + { + if (namedEntries == null || string.IsNullOrEmpty(key)) return; + + for (int i = 0; i < namedEntries.Length; i++) + { + if (string.Equals(namedEntries[i].key, key, StringComparison.OrdinalIgnoreCase)) + { + NamedSpawnEntry named = namedEntries[i]; + if (named.entry.prefab == null) return; + ApplyForced(named.entry.prefab.gameObject, named.entry, named.hardReplace); + return; + } + } + + Debug.LogWarning($"[{nameof(EnvironmentalCollectibleSpawner)}] Named entry '{key}' not found.", this); + } + + /// + /// Мягко переключает тип спауна по ключу из namedEntries. + /// Существующие объекты другого типа убираются постепенно (по одному с задержкой) + /// и заменяются новыми. + /// + public void SetEntryByName(string key) + { + if (namedEntries == null || string.IsNullOrEmpty(key)) return; + + for (int i = 0; i < namedEntries.Length; i++) + { + if (string.Equals(namedEntries[i].key, key, StringComparison.OrdinalIgnoreCase)) + { + NamedSpawnEntry named = namedEntries[i]; + if (named.entry.prefab == null) return; + + _forcedPrefab = named.entry.prefab.gameObject; + _forcedEntry = named.entry; + + StartGradualReplace(); + return; + } + } + + Debug.LogWarning($"[{nameof(EnvironmentalCollectibleSpawner)}] Named entry '{key}' not found.", this); + } + + /// + /// Возвращает спаунер в смешанный режим (все записи из spawnEntries). + /// + public void ClearForcedPrefab() + { + _forcedPrefab = null; + _forcedEntry = null; + MaintainFixedCount(); + } + + /// + /// Временно подменяет область спауна (например, из триггер-зоны). + /// Передайте null чтобы вернуть оригинальную область. + /// + public void SetOverrideArea(BoxCollider2D area) + { + _overrideArea = area; + } + + #endregion + + private void ApplyForced(GameObject prefabObj, SpawnEntry? entry, bool hardReplace) + { + _forcedPrefab = prefabObj; + _forcedEntry = entry; + RefreshActiveCollectibles(); MaintainFixedCount(); } - public void SetSingleSpawnPrefabByIndex(int index) + private bool TryGetEntry(int index, out SpawnEntry entry) { + entry = default; if (spawnEntries == null || index < 0 || index >= spawnEntries.Length) - return; + return false; - SpawnEntry entry = spawnEntries[index]; - SetSingleSpawnPrefab(entry.prefab); - } - - public void ClearSingleSpawnPrefab() - { - _forcedPrefab = null; - MaintainFixedCount(); + entry = spawnEntries[index]; + return entry.prefab != null; } private void MaintainFixedCount() + { + if (_spawnCoroutine != null) + StopCoroutine(_spawnCoroutine); + + if (!gameObject.activeInHierarchy) return; + + _spawnCoroutine = StartCoroutine(SpawnRoutine()); + } + + private IEnumerator SpawnRoutine() { int safety = fixedCount * Mathf.Max(1, maxSpawnAttempts); + bool isFirst = true; + while (_activeCollectibles.Count < fixedCount && safety > 0) { + // Задержка перед каждым спауном (кроме первого — чтобы был хоть один сразу) + if (!isFirst && spawnDelay.y > 0f) + yield return new WaitForSeconds(UnityEngine.Random.Range(spawnDelay.x, spawnDelay.y)); + + isFirst = false; + if (!TrySpawnOne()) break; safety--; } + + _spawnCoroutine = null; + } + + private void StartGradualReplace() + { + if (_gradualReplaceCoroutine != null) + StopCoroutine(_gradualReplaceCoroutine); + + if (!gameObject.activeInHierarchy) return; + + _gradualReplaceCoroutine = StartCoroutine(GradualReplaceRoutine()); + } + + private IEnumerator GradualReplaceRoutine() + { + if (_forcedPrefab == null) + { + _gradualReplaceCoroutine = null; + yield break; + } + + string forcedName = _forcedPrefab.name; + + while (true) + { + EnvironmentalCollectibleBase toRemove = null; + foreach (EnvironmentalCollectibleBase c in _activeCollectibles) + { + if (c == null) continue; + if (_prefabByCollectible.TryGetValue(c, out GameObject p) && p.name != forcedName) + { + toRemove = c; + break; + } + } + + if (toRemove == null) break; + + DespawnCollectible(toRemove); + MaintainFixedCount(); + + if (spawnDelay.y > 0f) + yield return new WaitForSeconds(UnityEngine.Random.Range(spawnDelay.x, spawnDelay.y)); + else + yield return null; + } + + _gradualReplaceCoroutine = null; } private bool TrySpawnOne() @@ -115,25 +334,31 @@ namespace RR.Game2D.Behaviour return false; GameObject prefab = entry.prefab.gameObject; - GameObject instance = usePooling && _pool != null - ? _pool.Get(prefab, spawnPosition, Quaternion.identity) - : Instantiate(prefab, spawnPosition, Quaternion.identity, transform); + GameObject instance = Instantiate(prefab, spawnPosition, Quaternion.identity, transform); if (instance == null) return false; + // Случайный масштаб и поворот + float scale = UnityEngine.Random.Range(scaleRange.x, scaleRange.y); + instance.transform.localScale = Vector3.one * scale; + + float angle = UnityEngine.Random.Range(rotationRange.x, rotationRange.y); + instance.transform.rotation = Quaternion.Euler(0f, 0f, angle); + EnvironmentalCollectibleBase collectible = instance.GetComponent(); if (collectible == null) { Debug.LogError($"[{nameof(EnvironmentalCollectibleSpawner)}] Prefab {prefab.name} is missing EnvironmentalCollectibleBase.", prefab); - if (!usePooling) - Destroy(instance); + Destroy(instance); return false; } - collectible.transform.SetParent(transform, true); collectible.Collected -= HandleCollected; collectible.Collected += HandleCollected; - collectible.InitializeForSpawn(_pool, prefab, spawnPosition, entry.overridePoints ? entry.pointsOverride : null); + collectible.InitializeForSpawn( + spawnPosition, + entry.overridePoints ? entry.pointsOverride : null, + entry.overrideLifetime ? entry.lifetimeOverride : null); _activeCollectibles.Add(collectible); _prefabByCollectible[collectible] = prefab; @@ -166,10 +391,35 @@ namespace RR.Game2D.Behaviour private bool TryPickSpawnEntry(out SpawnEntry entry) { + // Если задан полный SpawnEntry — используем его напрямую + if (_forcedEntry.HasValue) + { + SpawnEntry forced = _forcedEntry.Value; + if (forced.prefab == null) + { + entry = default; + return false; + } + + // Проверяем лимит + if (forced.limit > 0 && + _activeCountByPrefab.TryGetValue(forced.prefab.gameObject, out int fc) && + fc >= forced.limit) + { + entry = default; + return false; + } + + entry = forced; + return true; + } + entry = default; if (spawnEntries == null || spawnEntries.Length == 0) return false; + string forcedName = _forcedPrefab != null ? _forcedPrefab.name : null; + int totalWeight = 0; for (int i = 0; i < spawnEntries.Length; i++) { @@ -177,7 +427,7 @@ namespace RR.Game2D.Behaviour if (current.prefab == null || current.weight <= 0) continue; GameObject prefab = current.prefab.gameObject; - if (_forcedPrefab != null && prefab != _forcedPrefab) continue; + if (forcedName != null && prefab.name != forcedName) continue; if (current.limit > 0 && _activeCountByPrefab.TryGetValue(prefab, out int activeCount) && @@ -189,6 +439,17 @@ namespace RR.Game2D.Behaviour totalWeight += current.weight; } + // Фильтрация по _forcedPrefab — если prefab не найден в spawnEntries, создаём временный entry + if (totalWeight <= 0 && _forcedPrefab != null) + { + EnvironmentalCollectibleBase comp = _forcedPrefab.GetComponent(); + if (comp != null) + { + entry = new SpawnEntry { prefab = comp, weight = 1 }; + return true; + } + } + if (totalWeight <= 0) return false; @@ -199,7 +460,7 @@ namespace RR.Game2D.Behaviour if (current.prefab == null || current.weight <= 0) continue; GameObject prefab = current.prefab.gameObject; - if (_forcedPrefab != null && prefab != _forcedPrefab) continue; + if (forcedName != null && prefab.name != forcedName) continue; if (current.limit > 0 && _activeCountByPrefab.TryGetValue(prefab, out int activeCount) && @@ -229,10 +490,10 @@ namespace RR.Game2D.Behaviour float y = UnityEngine.Random.Range(bounds.min.y, bounds.max.y); spawnPosition = new Vector3(x, y, 0f); - if (player == null) + if (_player == null) return true; - float distance = Vector2.Distance(player.position, spawnPosition); + float distance = Vector2.Distance(_player.position, spawnPosition); if (distance < minDistanceToPlayer) continue; if (maxDistanceToPlayer > 0f && distance > maxDistanceToPlayer) continue; @@ -245,6 +506,9 @@ namespace RR.Game2D.Behaviour private Bounds GetSpawnBounds() { + if (_overrideArea != null) + return _overrideArea.bounds; + if (spawnArea != null) return spawnArea.bounds; @@ -255,36 +519,37 @@ namespace RR.Game2D.Behaviour private void ResolvePlayer() { - if (player != null) return; - - GameObject playerObject = GameObject.FindGameObjectWithTag(playerTag); - if (playerObject != null) - player = playerObject.transform; - } - - private void WarmupPool() - { - if (!usePooling || _pool == null || spawnEntries == null) return; - - for (int i = 0; i < spawnEntries.Length; i++) + if (GameManager.Instance?.PlayerObj != null) { - SpawnEntry entry = spawnEntries[i]; - if (entry.prefab == null) continue; - _pool.Warmup(entry.prefab.gameObject, Mathf.Max(1, fixedCount)); + _player = GameManager.Instance.PlayerObj.transform; + return; } + + // Fallback на случай, если GameManager ещё не проинициализирован + GameObject playerObject = GameObject.FindGameObjectWithTag("Player"); + if (playerObject != null) + _player = playerObject.transform; } + private void OnPlayerSpawned(GameObject playerObj) + { + _player = playerObj != null ? playerObj.transform : null; + } + + private void RefreshActiveCollectibles() { if (_forcedPrefab == null) return; + string forcedName = _forcedPrefab.name; + _refreshBuffer.Clear(); foreach (EnvironmentalCollectibleBase collectible in _activeCollectibles) { if (collectible == null) continue; - if (_prefabByCollectible.TryGetValue(collectible, out GameObject prefab) && prefab != _forcedPrefab) + if (_prefabByCollectible.TryGetValue(collectible, out GameObject prefab) && prefab.name != forcedName) _refreshBuffer.Add(collectible); } @@ -306,15 +571,12 @@ namespace RR.Game2D.Behaviour { if (_activeCountByPrefab.TryGetValue(prefab, out int currentCount)) _activeCountByPrefab[prefab] = Mathf.Max(0, currentCount - 1); - - if (usePooling && _pool != null) - _pool.Return(prefab, collectible.gameObject); - else - Destroy(collectible.gameObject); } _activeCollectibles.Remove(collectible); _prefabByCollectible.Remove(collectible); + + Destroy(collectible.gameObject); } private void OnDrawGizmosSelected() diff --git a/Assets/Scripts/Entities/Props/EnvironmentalCollectibleBase.cs b/Assets/Scripts/Entities/Props/EnvironmentalCollectibleBase.cs index 35153f9..f6c5c3f 100644 --- a/Assets/Scripts/Entities/Props/EnvironmentalCollectibleBase.cs +++ b/Assets/Scripts/Entities/Props/EnvironmentalCollectibleBase.cs @@ -9,37 +9,52 @@ namespace RR.Common.Entities.Props { [SerializeField] private int points = 1; [SerializeField] private string playerTag = "Player"; - [SerializeField] private bool usePooling = true; + [Tooltip("Время жизни в секундах. 0 или меньше — бесконечно.")] + [SerializeField] private float defaultLifetime; private bool _collected; private int _defaultPoints; + private float _defaultLifetimeBackup; + private float _lifetime; + private float _age; private Collider2D _trigger; - private EnvironmentalPool _ownerPool; - private GameObject _originPrefab; private Vector3 _spawnPosition; public event Action Collected; public int Points => points; public Vector3 SpawnPosition => _spawnPosition; - public bool UsesPooling => usePooling; protected virtual void Awake() { _defaultPoints = Mathf.Max(0, points); + _defaultLifetimeBackup = defaultLifetime; _trigger = GetComponent(); ValidateTrigger(); } protected virtual void Update() { - TickBehaviour(Time.deltaTime); + float dt = Time.deltaTime; + + if (_lifetime > 0f && !_collected) + { + _age += dt; + if (_age >= _lifetime) + { + Despawn(); + return; + } + } + + TickBehaviour(dt); } protected virtual void OnValidate() { if (points < 0) points = 0; _defaultPoints = points; + _defaultLifetimeBackup = defaultLifetime; ValidateTrigger(); } @@ -53,15 +68,14 @@ namespace RR.Common.Entities.Props } public void InitializeForSpawn( - EnvironmentalPool ownerPool, - GameObject originPrefab, Vector3 spawnPosition, - int? pointsOverride) + int? pointsOverride, + float? lifetimeOverride = null) { - _ownerPool = ownerPool; - _originPrefab = originPrefab; _spawnPosition = spawnPosition; points = pointsOverride.HasValue ? Mathf.Max(0, pointsOverride.Value) : _defaultPoints; + _lifetime = lifetimeOverride.HasValue ? lifetimeOverride.Value : _defaultLifetimeBackup; + _age = 0f; ResetStateForReuse(); } @@ -69,6 +83,7 @@ namespace RR.Common.Entities.Props public void ResetStateForReuse() { _collected = false; + _age = 0f; _spawnPosition = transform.position; OnSpawned(); } @@ -84,13 +99,21 @@ namespace RR.Common.Entities.Props ScoreSystem.Instance?.RegisterEnvironmentalPoints(points); Collected?.Invoke(this); + Destroy(gameObject); + } - if (usePooling && _ownerPool != null && _originPrefab != null) - { - _ownerPool.Return(_originPrefab, gameObject); - return; - } + /// + /// Деспаун по истечении времени жизни — без начисления очков. + /// + private void Despawn() + { + if (_collected) return; + _collected = true; + OnDespawned(); + + + Collected?.Invoke(this); Destroy(gameObject); } @@ -102,6 +125,10 @@ namespace RR.Common.Entities.Props { } + protected virtual void OnDespawned() + { + } + protected abstract void TickBehaviour(float dt); private void ValidateTrigger()