0xac79404200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001fa000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000685885e2bdaed758b8056dd3b6183d7114b1578600000000000000000000000000b5905d97875b2d7830617d345409be7996fe4800000000000000000000000038ed50faa0fba27bf66cb60154519e280b440920000000000000000000000000e252585456d8816eef170c80a0d4e9348e1ec9dd000000000000000000000000d26719e45fa52f70bc513eb40440b8fb825d358a0000000000000000000000000095c2a103cd2d4551340c3a5b5a30d74025ebfe000000000000000000000000bff9e63a16342dd978f22809328ff35263f6319b00000000000000000000000009f3d17804816adc16ff1c91142f591b3a2b5376000000000000000000000000e09bb3d374fca2c2b9ac23ab6faee49c9ef2370500000000000000000000000073a4d50a43b3966a0bb01eb6065596d67501ff9b000000000000000000000000e5d4baec839e4aa30cf256558574bde947278dd000000000000000000000000058920588d0a7b5c3b47c5703c61e239f2f6e71c70000000000000000000000007a5f776c709ac067fbadb06b4f3abf0f156ccaff0000000000000000000000002c8fe4611196ecf47cf1a143c894fc17e4c92f11000000000000000000000000cf2a67f3a4eebec8812684531341b76163b001d60000000000000000000000000cb415686a0e0bd57a3d8e69d1f747417541ac94000000000000000000000000566c47ca1cacaace5183258184c8727aab35d9df0000000000000000000000000629bcd07f051219cf9b61545ffafd46a0e2b65c000000000000000000000000537b08f001225371b4afcdd541f3c22bd33f65a70000000000000000000000008cdd2542e93ad0eb2e9bf6133132912315d24c37000000000000000000000000d24650e7347cf9db6c45717720b5f2de050dffbb000000000000000000000000f0b9c25ab49d74a0ea13e8047fb815ba9ac5c413000000000000000000000000408561c12392a1d09016719f2a3726aa6a3a6b0b000000000000000000000000c13b47b16fa6e7334750e7c9174a84c9bf1cf73b0000000000000000000000005efff00c48def57063848783e494f59b7a2015950000000000000000000000008607a6524ed30bebcfc47f7c0262f70b32f36e99000000000000000000000000ef429d279536c2945e9d533b91fe8d2f17b37ba0000000000000000000000000cc2c4c6a6c229e00f124c2848820c1768d0f2f80000000000000000000000000c9d30a798fcba99152aec369ea890db007185d7d000000000000000000000000ba315f12185d4b6c04c113a31acb9e86ee4540ca000000000000000000000000e3794aeb6aa5453892476701521f09f236b33ab10000000000000000000000002d3a530ed874698a64ad88e3231ce8014d4726c8000000000000000000000000df581007e963a0fa389b0004d4fc019ee7da3744000000000000000000000000b6b805aaa87eaecbd5588eb3bc97db9a3222e63b0000000000000000000000005eee3f2db9bb43c3eec4600c8665c655fbf16d8800000000000000000000000034645f578090317ab473364b5b022ff58def126700000000000000000000000022da48130d567d49fbbde1e9674a333f89814aa200000000000000000000000027ec5d3dbeba3faac6449f05b083c984c5b3c9dd000000000000000000000000aa6660bb1669655efe94b7c59bc4b9309911d140000000000000000000000000ed1a0f6f7c26d5673244456877583ce3d3ddb9a6000000000000000000000000c7cd2c32cb58b4a78a3fff587edc625c0de022250000000000000000000000001011ba315f1a5d89fa953fefa72921fc81f7591e000000000000000000000000324d6fab8c7a2ec8272f67140cda621e918f33a8000000000000000000000000129d53b5b93e17f2a0d2bc55fd9cdc5f5216e5d300000000000000000000000099ba0b10aee3877621bf1bcaf979df5a8f862bd2000000000000000000000000a2d64e24e797ef785e06df01cf5a88d2b23f4f250000000000000000000000004e60347389ef821c5706e5e109f253b3cb129e26000000000000000000000000f290c2687b2051a16a5564e909e6b1631985360d000000000000000000000000b760d8529b8a4109ed48c94a246ff964e66e9370000000000000000000000000e522a499afb39f8d3c8d66ba7613f0e1edccef3c000000000000000000000000b216b32a82a23684affe7bb0e3a3fc38507e8c7a0000000000000000000000004c907f5da1fb5a0b649745a310c03e964e19c132000000000000000000000000637a4697f9802f741f36aa594c2c84483f854055000000000000000000000000887c88b79c89b276f70fa4b749ab3a1741b4f1760000000000000000000000006af556aaa92f1d4336e1688e8eed00ba69bcc6a90000000000000000000000002a47ecd28595f5eb69b7e34a3379bf1f3b8961f4000000000000000000000000916bc511f311802dfee94b61c358ce112c6e059c0000000000000000000000005a7b630e6f829ee8e88449be6351092663b80f4a000000000000000000000000c7c216b322381cf237668676279dd12f4fd75083000000000000000000000000dc3648b09ea73354f40db0dfd2a0cd123ee18d5b000000000000000000000000ec5843d2cb7f751e2e57016928bfada524262838000000000000000000000000234ddb982644461e2de0a557d6e09e50d1c82772000000000000000000000000ecd30b4f2e7091655158d8a359e92be5562f60d7000000000000000000000000ec2f3219fd983fd86773f829135c9856101ceb3c0000000000000000000000008188fc6e15c657040ccc6aabea0721ef714f972c000000000000000000000000123a0a2d52ba4cbe9fbc4656dfe43941e0ce172000000000000000000000000056d8a893d0edf0a1b74a737ac648508356ee4f68000000000000000000000000629321ffbb3d261c036dbf1dfb77d6d793556d7f000000000000000000000000ef78750771741e05b2143abb9a371af5e63b1d04000000000000000000000000c4673503d6d2ddf65a1dd60f7e6133b94a3742b50000000000000000000000004ca8d58a2ab5728b4833343b239b018e8ecbd3520000000000000000000000006c7f62a03843705c3d69c3c51605120c61cc0fa00000000000000000000000002f83a4d2f91cb22394f63a62c4c1f7310b07608800000000000000000000000084afebc7460e1e5915198910e53e6c1fe6b1b83c00000000000000000000000094a74e92a4adbb05501d5825dd1fde17d3bca055000000000000000000000000d6bc398cc164f450a1f244de3e923103935c20d5000000000000000000000000695fe5506becce8c2efe3ecdecb90b4e7a9930cf0000000000000000000000003de26b0d6e8bcf580e617facccf9f3359e1161ca000000000000000000000000dad809b5f72a43223b658cba5b7f38ea1d94b3900000000000000000000000005216aadc3774dc460e3453025fbbcb3a334288bf0000000000000000000000006ea95aed049cfcc992d7d821eacc0d0ef93dca63000000000000000000000000d0a7ec8179d34324517b5bd5f54950c8a94dc1df000000000000000000000000ee24a98af0617a2db5cdc6c487efc23268e86bb400000000000000000000000045d01be9240da24ef31e0e8e364708f3e9391aaf000000000000000000000000707063693478ba16f221a093529ca80827d166f9000000000000000000000000832b514d694c5c17f37d2669f8a31575999aedb40000000000000000000000002da59e376060783106e709458e7a88c658a3f372000000000000000000000000fbe435ca43b39b0c9221badb5d440e8354574a1d0000000000000000000000001ac61315a8c35dff47dec5001cc3dd6e0adc6c23000000000000000000000000c3d1c90ebe5652b0806f0c9f9d43ca56ca11a666000000000000000000000000cab5109d6821cec6cfa45ab365de4a7be18487e70000000000000000000000004da6567410fc96e5d3aebf01273adfa23bf5bfa1000000000000000000000000de49a9bc3087f67c220a733f41c4b2c42b678a5d000000000000000000000000fe5192913fcd2bd36ce6ab99d1ba8f8d8e9b0ae4000000000000000000000000a136c462f626fa825786d5d81d15691b95bee8130000000000000000000000003e42b00200dac0189ed79cab72814a41a2d18a20000000000000000000000000126e84571f6a2cecde0e18d45e1b2630629466c2000000000000000000000000433437169c17f6d767e8cb24d9d39ea9e9215de5000000000000000000000000d143ab1627b976d893f5de49b02e4338c4c72e2f00000000000000000000000050bb7778c8244fd10e0fa04d84e68959366b8f04000000000000000000000000704d0b096646ea275495f98da07493a2d774252100000000000000000000000070ae2cfcd41c3ad3cb596b449ac04927a5e51c37000000000000000000000000ae000270030b95bf64bb11a24273f315dfbf2f15000000000000000000000000e47eeb2e3de0fcd6fd6c3fff7ddac6428bc989d9000000000000000000000000738356ce685d391bc0ff0f380b35c3cb1d90365a000000000000000000000000122a2cf59c35dafd59b2dbaf2659b47c8d7c56b7000000000000000000000000685e06c24366feb37e672827d727e17c9f4f71cb0000000000000000000000002b16f0f4b563c59d64ad2ba336e5e0242144d4f7000000000000000000000000864d10bf1ced8583b4875b3069acc3faec2a8a11000000000000000000000000aa8755284aef4cf5e248737baabafc021234559e000000000000000000000000cb8beef64524684e14fa3568137cecdad2598694000000000000000000000000d9015ebad61b5b7fc9f4f83ad442d0a5244ee893000000000000000000000000499c1a52f9deb225dabd91cc937e5098a497d267000000000000000000000000a3bfa58ea99b6f0915da228a18a95eefb87f3b0e000000000000000000000000b1d8c8b58695b41c97ad577aaf071d88b262a05b00000000000000000000000091b68860587fa2d5faf7b79a9be675e0c6b111d00000000000000000000000007e4ea96d7f22a8e000c12f5b66b6c74f9309546d000000000000000000000000495bf9f151c2be569d845fec2fa2f42d020e5ebe000000000000000000000000d2691ee38dc9b2fdbcab07417b025f97792cdacd000000000000000000000000e66181b3e31936781f1229b1a66b5b942f4ee49d0000000000000000000000008f8c158c887fc78aa1e4f3e680d2b8de49fddc15000000000000000000000000254cfa76278bfefb2fa0a82909f5b9eda0cdcb290000000000000000000000003b1b5c8454d5c789ca0dd7c1e69958cc75ef02360000000000000000000000006b1189852376dfdd8b3a5462f09266e2dde0d5cc000000000000000000000000f3f1040da161d189a3f07248732afb366ba3d70c0000000000000000000000008962fc465e655a9a9ac3691073c781294639a958000000000000000000000000cd592608d1549ddc8821c1c9cab5bffe3e0484af000000000000000000000000f7153058aff7cbe4181d9838d5ac320b5d265e4e000000000000000000000000e97654820ec8cc6c42fb0d0aa7a8dced19931d8b0000000000000000000000000c80b9dd5f4c145013fd3cb2e75962d3c1ea5c42000000000000000000000000ae320dc87292c33a3a8428f5865489295a88b967000000000000000000000000cce21ed00d0a2ea048cf051a44f367447d55d9a900000000000000000000000035af4d92247732533c3e1cb585444ae12292fcab000000000000000000000000b12b4cfe145ddb0f7099ae20b7ce6438ab7937920000000000000000000000002c6d364843310766270d6906e4207f2776c4fb5800000000000000000000000091396d0b22ad8699d8e45668b4d378d25409f03e0000000000000000000000002f5c052e55b4283cfec55b61fa12063be4eb6c0800000000000000000000000031c467b1156d7a592b0f6b10da73ed06bd14aba600000000000000000000000044f474108b715d75893421a3682eb7df7047a6fa000000000000000000000000916c997cc68e03ee99e22e945a5022c0e0cc9421000000000000000000000000ff735e605009e4f8baf3e30af9ceb62b784aba68000000000000000000000000444d4c0684e1981bd6cc98669fbadba92ab95813000000000000000000000000e2c73a15c162556c8e9eeb54f1605bd0fc21b54f00000000000000000000000045754ea507162e2b01d499bb20251392209233980000000000000000000000008fed3cdb78f50714e76438900230df9ff0e30a02000000000000000000000000ab49ca33942fdbc8b9fafa6c4b59770c3f3a1b8300000000000000000000000018c119cb9691dd93415d312bf4ae7133dc586038000000000000000000000000daacc2973ca3a6f74824918b662af7bdb46920c70000000000000000000000001663aa3640539fc611eaff1607e40734b1d3b227000000000000000000000000ca4082fd4916ec5305ad10e771c8dd7dd93f52430000000000000000000000006b12745a7820731ea43051df0d1c7db8679748ea0000000000000000000000006a8461720cc5f06747392c89a7bbc687fca1520700000000000000000000000051cab2bde6e31e7c453f1487213f8cbdd89a169f000000000000000000000000958aa04abad0a93254c466a2c4c5b7fef7eb5aec0000000000000000000000008f05c018177ded85614ee53c6c57cc456aab4244000000000000000000000000a64d56d8e538a21c01d176a12334fcf1cc7b4aab000000000000000000000000925ddae73e162eb04c233e7f7ba9f0133eaf275e000000000000000000000000cd829956e1cb65270fe0270996ba11d4df28846f000000000000000000000000b29fc4b116aff524fe924e806ef459d69fb08efa0000000000000000000000001b8903bd8aff4b8fb6034a8b24ca0b47d38288ba00000000000000000000000085d6e19cf7a6fe693628b2e5a150e2e8b70136a20000000000000000000000000fb183048774748ee1e2cc9197285ac9ca3f3aa40000000000000000000000005353f687d0a36e775bb5057c27dfc6be0ace76c5000000000000000000000000c5e83b727d045a7d398e059e37d3aebd073459ef00000000000000000000000077df164ef1a08f96dd46b2263a3afe5095d034240000000000000000000000004fae119b1af619f460f3d09ebd5bbf64ac0d6256000000000000000000000000a66ad6f3638224639f1288e4c5635201d1e2a244000000000000000000000000221fedf957fad1e679463de19e06d3a92b8b66fd00000000000000000000000096b45a121880736adfcba138b5a80d72577a521a000000000000000000000000e64f2e0c185a9ed5079e01dd93950dfe40e603590000000000000000000000002daf316e31be57cef5636dc030e0fe92f4be4d5d000000000000000000000000dcd47ec43308477639ea173012b8346770b03144000000000000000000000000e91c62a4b73f59fe9c70447540108b7b9a45e80d0000000000000000000000007698797346c8233ab8a0a651e328139af3ca0905000000000000000000000000b6ea05efa8f7f5bcd08e6d0bcad6c4fff166b99300000000000000000000000013d84366ccf36ca098cf81834a988fdebf4cdec9000000000000000000000000ab6f09e431bf51c40437bd6287bc15025e4f5642000000000000000000000000464a52a0a57697754e866f53df4f286cbf710bc1000000000000000000000000960d9ae836864d0bece771cfb73b2a8b8dc254b90000000000000000000000005c6ad4dc1edfb8bdbd80920f65af793d3d7ef35a000000000000000000000000efb67bce5e34f0fbfffc9fc21b2a5e6278f0f60e000000000000000000000000682d2ede9b776e7a12feb38940a12f2802ebb5710000000000000000000000000f891551aa72e2b6e832f57622b0c3b81c5ede2f000000000000000000000000ff262dfc79565a1a7b9a925328178d7b75facc3d0000000000000000000000008035786b60d6327892b4ec2f55270c129cb4af8900000000000000000000000077aa9d78a6adaacc087b597e8e4833ab7bc2f135000000000000000000000000f7428229241db2f5cc9b7eaf90a7390d28863bcd0000000000000000000000000dc04bc6e947b90caeaac83d47eb38e7f616e2910000000000000000000000001445bf02020e1cad3dc9b8d0eacb43237b275d3b0000000000000000000000002ac624fff69d85eceda539aa16f7c6a24cf106980000000000000000000000002f60b9c1c131cdbbb9bad6345d2072c4d91f236c00000000000000000000000065af80157b573341f96ee889923c50d8b48af11f0000000000000000000000001835e9f5b3fb90369eb8cf940d3dd8673b8e7d1100000000000000000000000017bf0b04f10b931a19728f0ab354000af9a1e566000000000000000000000000dd47cb4d94cdb3fed92411259251d1da45c0eca10000000000000000000000007b81d544fd34a013ca605da30053b41f410945720000000000000000000000006b65e2414b8d5e71d4184535ed82306b66f5466b000000000000000000000000c2ea5430183572b7d09e55f022c34ca4b0512ae8000000000000000000000000a2a76b27fc88b7651805c38f2ad23dfdbd5f9ae7000000000000000000000000bd31ef930a0e766ad1ff52cfd9d5e06b69bd50300000000000000000000000006fa78d50604000236d0c0d363095b43ac1a32bac000000000000000000000000d25c2f432bae5309e9ca0a8fb5936f730b3908dc0000000000000000000000006243b267a13a869dc14030fcff3cb0623c6ea3a200000000000000000000000079227576ac34a06039981164c19584fce09933c60000000000000000000000002278d47e70897ae255515e0308272cd2379a72ea000000000000000000000000559fe70f41969dbf5ce0f2ba08f4f6ffc9ad9d3d000000000000000000000000ce7548649ab82cd6aecb20ba22b71687f05c7ad2000000000000000000000000cfb08428ba9135b4aa02069704184ec3890867e0000000000000000000000000cab84eac7d6960ecfc84feb31cf9a9d3acd5eb080000000000000000000000009e288659aad40aa8e00870a76978a2fd72ee87b400000000000000000000000019efbb69bd2325a22c9fd2d1b72799a7121abe2f0000000000000000000000001b428c7049592b44aefa94cf5a90fadf7903b8a1000000000000000000000000317948bd9091d2fa27fe3089d695a557d4bae01900000000000000000000000067159176cbb5b8b4a8e33295892c4c45d11ad72f000000000000000000000000ca400c77c928ad080cf5f7321318c1d4e9e5477d000000000000000000000000391e2838be7b437aabe747c595b9d1ae36c61745000000000000000000000000661b4e6abbd4ad533752af39a1788644561a218f000000000000000000000000669cf3c47e2e2e1e1647b12e70d584111f0133640000000000000000000000001763310d1eeea1c577ee56869bc11e470402933b00000000000000000000000094e0d9e1932a134fd30be9255c8b217991672b230000000000000000000000008c8f3f86239134a3083d4d97e66d726c7266d2090000000000000000000000003a779f1c88e9845eb1230e3f2a6c251578c5bd51000000000000000000000000ba5be7881b9ab12245659a461a711c84796f61f400000000000000000000000074bb628dca6fab5ceabb584ef15c2ae279bfe12e0000000000000000000000007ae5bf6e28bea1f7915987b7cede12b200df69c200000000000000000000000038fd37516676af8ccac1af455f1fe797ef93681900000000000000000000000019756c08f45b56a84070e1a5db62dce1a83f267900000000000000000000000057932e115404e54dc826e5ba4c8b78a9cad870a20000000000000000000000002f18acb5ae2d15c72315624adbf808288a4945ef000000000000000000000000ebc1567c4d5302dd44e06fd05f0ed567a72c9d4a00000000000000000000000053ee339338f942d92de62328e86831c2154bb844000000000000000000000000657056fed5d4fe7952177633f3ff7ebc5d280e10000000000000000000000000ecafc7d96ea44330cd3f9fb4a4bfe7c9340a0bf60000000000000000000000009fa0c7a0b0d237e5085924182370ae9b78cc82a80000000000000000000000008f91b6d82e98bb229b73203cd4cac403bb3b2839000000000000000000000000921b239029eb35db4ac05179f13de5500914d0a30000000000000000000000001bbea5ee3eb8454e444e8b8f699fffaace10ef110000000000000000000000001922cbd172b0d65593ec11682da9ebd84fcff3a7000000000000000000000000067bf2f4996201dd98d3bcc3dd567546922e622b00000000000000000000000054d6ed9ffa6968fe7dd926ebb933cfad587871c8000000000000000000000000eda543b986628abb0707d04e89eefc248a777d88000000000000000000000000f016575927f1d9125f7af941d9b996151dac7169000000000000000000000000344597547bce6b0ed410446b26bdc2d639c142f400000000000000000000000049ef7cf887602e3d5f86f96b3ab14bcc499bc9b1000000000000000000000000c7da3c94204ce9f98949b76380bb6a9acbfc79b90000000000000000000000004ba79ccec98902099f9fce745a45a1245260f59e0000000000000000000000004ecf4fca3bf4999dd78c224febe5f0e56ca0df360000000000000000000000000df72b469b0976c2f51839db2d2c930f575803ee00000000000000000000000072d692a6e7627da309d779727fcf6ac72ec909470000000000000000000000001db05f8d6318b0a9ad2daafc8d640b87c8e4980500000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d