Blob details
Blob versioned hash:
0x0192478059bcaa3a3738d0436dbacaf850e91d9dc97b9a806d7f212f5fd16cd2
- Commitment:0x8da3608094c3ae81c0e8f50f8d160cf164aef007d41fbdb1effbd9aca762a45cb323c576c267b6c13bad8ec4460e1230
- Proof:0xad0aa79abcf3bdb3bcc1a68b1296fd3cb3f493298d86bf78a804ad090774600c93c1e3eaaf0c0db515f14326c05d5b2c
- Size:KiB128
- Block:
- Storage:
- Data:0x0700009ade789cb4bd6558d559f73f4c77494b7748770bd22dddd220924a97802f8320928220fda51154405a906e90ee06e90e8103023ed7e0cc9cf3bf9ef1773030f7cd8bf546bc3e9fbd6aefb5d6de5fce4e2baa3d11206ec1081106207a050c0efc40e3b50069d3c5ab51d1caa17160945ce6bc759b510ced6035a52d0a021b5bdd49d66a0c025c9c088cea5841b6ec4da886bca8c914fe5c7dd1a0f0082120a67325d70bcc118021f3eefbe8a187224c5854758708e9a4039d6d399aeadf09b7f34dcdb9261a15607011ff362e3cd0a491f2bdbc3b5296cc3edf67dc30c53260feeb4eeb5c047eee25791ca2496713c06d24a241a4a0a580c36958e3e1fb222296c057cfb6f5b647e1454e005e78afe51c1497eee81fe00a1170bb3e4b1e2ee052c728d65e2549bad7e7d8323247250417ee83c950d7820950a7a967bda52e59ae79943db2b563bd6c80dbc7d1eeb23e78fa45efeb509cf138cc7a4bfe013a7dcd887a26222797030debd72cad2986b316d852491159d853e33a2f140cde3655028eef3ed8ba8e3d670a54f027671c4c62e0a23a9c1feda87e6e03843e4e012d2b82c17df00f70e79f7006c67305eca23f0b02f37bc7f6ace71b07d0a7dd344e21db5256aa9f0d053036ba3eb172ad8a7dd1a1e0720871f213594a20862333a79192ea4694a6555785d1f38b7f80cbe3347f4ee0ffe083935395d86799d43fec780382cfc5b1a0688f97f132afa70593014b08faf3a73d42c9c9f4141255077eb4537967443619bed4eadcdfc6ecd1205a85c1adf807b8c2873a4df784eb037cfc500c63baca5263ce62f41d4c062485ed79f5e241bba2009b200a8f8e1722bf7fd404ed275ea1fd99cc65ad38a1343549a385af6091a113883bc8690a8c23b9d50c072a758acf258db755f61279d6de84df2abee27944345a5a1986146f06f570110e0e3cf015bb24189974041869e30b334223823380dc0af7b0ad6c3a2fab47ea0cc8376950783afe820e9f1f78327327e9a1337a48e4b992baf918181380b6046b594b70c2c8aa7f6a65f3c3122412c46f08c6348b4c0b46c4baf84b1dd8a01c4eb2a76a70bff84137290c386d7838724d679a08381c831c2eb2062201b2bc72e300771d2f38c892320f3c21b193f119a702386c789ad71ad011cd350c056d190a13e8cd0cc3fda510490d647887b2a2be2357272040e2ae95ffc80d23417b1504c6f8f41a0e949278036628e43c4502ec70708d4140f1799d0751ee33d7c3002745339dd0b6a8d32c8a849964945359f7dea7c94ba9fa8061557f1f2f3ce91269afb9971a2ac573a968d72e62bf8309486fd9e82a7b41159497c3a3041a2f78e05146593a523e98e85b5cc8cb05de4e3abe79a119bd423e5b1fcb1c0f5d1e3d6fc07e99eb2e98cede2964fe589d8706a5c0f2c5f7e7c77c2604c50610093e2ead316cd5010810bf6b5e6c16608c883ea96b01720efc85033d9e53833dfcee408d41c0114e7634cae1ca6ce17b38ee38a5e12a7c049b7b752747329b009588fe2c919f0194dbea48d603817265af6f6dd7c8abd3120f12394583c4b03323dc9f3ebed5df83e23373fd637c7800cf3216ed28e0a1a118e9f841bd8de235dc61eb9801f7259eaf229a60f692316528c098bb68e47fe98bbebee685d3580b295a2e9fde9e3428b999835ba5c019903407b3fea51bacff49e81bca51daa41e6de9e2cc4cbeb8e22fd62e3d584b3e2b9fd92d17dcf25d6900783ed0cf06b23bd225f2883e69b2af6945357596c2c8813b5c9de828e9673ed383c18fbcc1fa0c5db86e27d0d204100d62b33ec1b44a3725bc0fd7a4f043195ecf69042737c621025071642710a87ced534c98add1764723d7ff6b5cd9da77fb5749bb5e0aa9065f3260f4ef7183f58b053dea67a32676e75ec594150adfb8d255edb2d357d60d59ad84674dbb4c3f07a4f08bc4bc6bcd9f36a81ba8d0189c2ee0dce60eeddb186015362bb85f602ad9b40dc56747bfc1fafd02fdf4909838a813a62b421cc7388a46a5d5e62daacdde15b43f4b3c6aa909066cd5153d557a5739ce9c22a7170e5692caf7164d3cf5852336e36d86cf51498660f4af75037cf50abaf10af6e91c43725a1e1c23afd2a83b867a831ef5654dc20ac6f789dbef02a8d5d1bb1467283abdf04d7d579469a3b599ac06df8e5a8d2c193086751ebbb1e543f15933c13b2fece07ee68516b6bfc6478e245af46481e22fe402792447061212f81851a01d519c3b4a512c0f5bade20808765842f61ee302a218b429474ad8de01678db808d9dfd629a65bf5523217e0ea3101b26592a55118fcecbf833f42dfae5b08b52fffb7c75c26a7b9fb83df17d39ecd25b9cd236b5564babb5a3692a35ec6dcdf241506143ccc0268f48fb3ed383e1aae7076534726580df93d2054bbd2ebbd7b3b7085fc2fd73f2256c18316f54444123bd807132723e85d503e9a9fdabb76b5180f17e0d33dfc0057396f4b51ddc6c0fa0b6186d20dc4de7b14d83e5cb3df0118412dc6296f94965b900810dd22187d97520a34227193ddabbfb5098f2f082e0399741810326dcc4533c256112ff8a8a51f9df2f8c765d1f733c3c0baba801e0d9749f169402eb5d27778acf9314846c251973699549ff184deb4f008a7a5cc079870647d08f100a17b80d157dead0423f9ff6a0f7fcd8ef0100145fc8f3d7c1d1820d42ee5dc3f3c6a49ff10361e25e0843f672cd992c62c95e5f5837ba55c2dbc0d40fa6688c3bcb0b6354a401a5264639024b7a847b57065cb36c1a8ede23ceca0126a04396f30dafe60d07f3845706fd95ab2418da034b2133f7d72849e3f7ade5714718fb4e5e36da556ae48f26e7a8ef6d340bf28e06e7b0863feb4b038bdf3b32125d11774bc0f120b44645d27465173b3db8db8ea7f404f4cfcca3037bafbff7705a0386e559c2ae41db0eff645ea404bcf9666aba554394afb05912e8f92a3e249296049922858ef6e2290f4b243c4258e116f33939c929142da6831b67827826c304a752002c4ff1af741ed4f5c74af81c160044285bf5e383ab2264c94393cd4fb116c4d19a7e43fef2a2047535e663d6c587e9df5483bff383f3e2da18fdd6e680f804bec1494761466926e72f9dd05de58a9b8f780d0c0b1ac00b6216a37d0ec04ab3a1101127f4dc0bc1186007c81de4d5cf177768df080ae1be6410363aa52ccfb7c29b252f0e619fa810e9d4a2a816ea605fc472cc260803fa67bbd4483573dd9108eb9d69e2a93d811822a5b1b9851ca6922acb2b954973adba94e0e8cee4560178cf8d0f3266484ab1d92bae85aaf1d541747b22dd9d11c917342d4be7dba3f295dc05afb0319ce4eacbaf2d0e7d2496e80cab500ad303c5d269563274d05ce0377154efef6832d027cf8d03211cae3d6134824082bf429773ae23a37a083bcc93a6e393c2b7e7dc814b2a33cb5aa56796973199a6ce819d16325d945e40c27fb2eb538477b682f790a5035864fce65fe122512d1a07a34ab21fdb87ba2eecca4069c9fb2baf1fcfea609240284e5f7930ec2d0d84de8072327bf68c0d5f94d3b1948e454c6c467642dc6779be3b22784cee8c81107fa2d29ed196bf96c98c43797808055a1414554323c06adb47c7995e12aead847243de0746e63dc4944c993490948248859f877361f5b6f729eb47925ac35e1217c15ab488c317f2d3abda69aa88f2ff766221748be663ec16197fef11cff10290c260311304c8f4f3b32917ac73d75e2079f3020d051dcbfdc31ecf2b5b61a314e3a89c35d00e644910c46c7d58303a353bd91028d4dfc754c21aa72ec0d39dd9e3a23a6749feb7dce99578fae5a247f35f171e942e9dca48462603c07c74f47a42649f9292034ef9cc2e1ccabcdf3c241f3b488d2d7b6dc7425582fb3e16357f20d5184913df4a47d7be0674cfd2640a98437d00cf6426559bef5750530337c96310208a1ab6a5346ed0da6945a3a79275915a34f7763a9c9a9e5d69f11032a17266beb518aee0a119db6416e88deb57bb742e47b24549af1afc45b3e9dc02459105c185e3e117fad17b47a81b74181d05c83ff7582b77946f175c1164dbe6c4f3cf4de69d126ed59d7c95da315eb9842b73100e5a53fb30e2397b93cffe080d200438d5847f20c616c2c5cd0eab90f1bb73f24058aaf50f737f0ff2832fec09f30d956c6fc6ebadf5282ba307677cae43e51ed278787b6032be5c98e4257dd0d12bb5c7cd00c459171ec4736112c743343657496e98221f7cec603d11e4432a71018bb0cfe17ed12f15cf7bd941016a167667a3a8afcfd5ab28e461fc1a218ab0d192e63c376526630a0cf37fbfa4921e8a350604d2cee4cd1610f71dad30fc82a3d74a48f390bc2b8b16ae06910cee029ae99ddea85610608c52305635dec243856bffb74ea78e16b8531c11eab1886a866ffae51f7e997ea9c77091a13bfa23bfb0fcd7ff877f87ff9ff91f06971c2ffaf5f688407d676543f06481b7c54a709d07ba81b2a3de6d5d4665275fac590c042bba577534c1390cb92558a444a5a31ed465b7d791ef9838bddfcf1be0a068792d16796dd122a44881b88da158c5607bb0fcaadff4b7385e29f87a85a2dc0341640f16fd015f56af3643ac7f0cbbf23e31d0ce0bad419eb35efaed3b2147d09d006a4cd38062fd74acd0480a76c603f6030cad59930430e242ed41abf42c100d7a959fd1401e2fb335ed8c0a80d3908ad120caff2f42f193c4727557705fe74d72b88e9d237951207c19e0032bcb92c7cfc7b42c9e9e59603354d05e6adb4f7ec005296d5f32fab0f3a23eb1efb182c5410799181d7c13b0bea8aa11ed35576d69f61e0d9ff293c3ca0cd713e7c711a3b2daec88475a3dee0a4549e49ae6d86e2c5b4f2a23fed7b5a043f003e67922fe17449773684f09882917b818c73b63768a47f6493dae483f813f57730f01c351c9ea983daba82e6d36a99bc4dbaa249fef26dedc9ae40a9110dd547e7bd283fe25500138f9ed8ab6947498c8871ca37fa07553abdba4182a6ba572a733d0d3822f4ae1a30f09cff1c7e538caece57384ad993e6bef26c99e5bd17a9976c283d939d7e9769ecbe07d5fb000daa12165c983792eab971baaea1c31a71be8af4249d5283e68edd6ed22cf9381878ae7f0eefbb5658f33cdbe81bdf93677209e90ee6320f9235e525dc44d2453e12eebb2e7b037ada083bfb1fd68e6d856715d31e4d1faa0bebe473390410d344ec46cd7a2de572c2c073ff73d7e3696177add032e52fc118f9b4e2a8e55e5b0e6e6d6f2f200be37f513dca6d4b07a8cf158988034999be5eed7aa98e8ec4a78bde963e4c4a43872d8afbd2bf208f09069ee79f3e17d495787eece42b74d7e5b74f225add5fc748d98dc999f2ee121de35b98df2ea1072cbdbfecbe5bc67a277a57e48d587e51a5c8fd4e86dc6f672aecda89a20d279d601878de7faefcb117947e59127b85e1dca6630a96b945a6c9c7cb815706e91d73c9c4d2efa2f30011fa747252da860f09c4c4736266703ba597deb87d2493367d05b1242a223ab430f07cff1c9e02a90bd51b5e6fa36fa43c5f338eab14294489675f43c7dc13cf9a2e74726e9917705d3ce38af7eba27dcbef33339c0358c635a8a6d58c36319e93717e3757c9930a069eff9fc3c735bb95db7e73f70781ccf3cb5f71335395a7838210d21a0b6b978a1de8af3e03b4ac5cef2a428412dfc2fb7b2cd12f9f31df49ee9fdbd9601f1cc4a703fa68d561e005feb9ed551cc92235a6c9bf3c9255ff322c4188869317fbb080549437d6aded7deffefbc90540436d7772e23e2faab4724e5a6d259e6ae5d3fa726979168656945dc957b613f630f082ff7cf5c36fd8e13b17c29e857313e002dd67230af4cd36cd5f751a3a86a21ecb23a016020a0ee488b9e39cba07d4f62cc6595dc3cf8db68614f3ed20aaa945344f522ab31960e085fef9ea3f6d4b6a1f2b1d80f3fb710cf95e0da833a795348bcd93895893bc3e4ba308e106a44755593ed556bdd0796998b9881514328932228bc1b6fc308ad04464eaf362090cbcf03f5ffdab24d728a572f89a0d561ed16266ee1dfc4a4378f3b8a9387f5ed35b5a1268e8006a27ef646947fc16e96018faaa0731379fa6b7aa0f0d0591ed67c37a92334ab87d1878917fbefa028fd789f5496d0a9ec90438276772ce9f24c6ef3f1fd1f81ab9033a1366a12527dc97f03a9e272e40ba47a36837c7b6433d279c7d18adbf691889c8e1160e3230421e839415c168066270bf6e7f950c0a4411c1c1055d970aa8f781ec15875d1f4a9c9db3846299603eb9b4547423dbfbded58124678e82df7100aa3162ffed0ec55b4e8c3e75ee9a9c3eefce3e71885dddd10ee9909318a5ce6e80448018ed25228edca4708183c380a72729f9d97c697df8e6cd70b18b8f50237b7a42b21717c5f8b826d6c4be6f80018da1957fce246012f33638b90608fc845f55d168fa11ad527de83935aacdd45dd33c362a198a64cbdfd83cfa6fb159d8e1cfd33acb2bd570ecfdaa34d35593d0ae56e9dde00d419adcb03209e90d03e44c087df2dd09539a367e9c2a2e178863123b8eca093170c8c6946f8edb3d31821ed78d13af1cfd64f6abe33a523b1d877d1db42773ecda871315f0d8d20e52218613cf52b638f4717ed7a52c209287711193db4f740f203f086c728a654bbf2b719a561b132d30f945eb36c5a924a1abb1594cf42c89fd6fdab0ffef686304f04c134fc34322921bb3a3fd601da757ffe2222fd6c86a9712b14b636bd96ff12b8076bf473e2fea3682967a122ec697a2c27de1c5a7634fd0fb207b114f1972a57d7e63e3f007dfb28dd79a3c4f50a4ea7474c64b67c6d06507e4072c882d734323a2890d2f288dc383016e67f3667fa56d9db19026d56042aefe555cead4ac01c5d7fd2902372a0c2394bfb171fc6fb1395b82f81a8a8357b24682eff8ab328de63e227c3a119a829b8c145bae89a3ba06e80a7d1c205dc03b1fa6a97b3f152bd7a2e5888003fc96719db77020247355304f065a589182c168229541d702944a770366087c09fd8c538dbf15561431af32e7910b5cbff6562e136219b6c97c14ba75907bef1fcd50fd1bedc687cf00cc59d15cd5c477659902af421e3dbb35ea272a5bdce6355f1db2b154954fa8580d890051ac81d128d5e54023eb37d112fa17cd4d52481feeb507c9e73ce1b1f6bc1b8b41b2535c50e075f4c9f6dcd0724103e26270a539d218650878370753eb2818e451601a28e479093a3e0dd7ca5a4176c525a5aa2a1773604280f61899a5c1a8259652d702e4821b7f14afa19642a744df5cf1a838f66e9235ee68c85410d84529bbb13108509a08c9dbc2eecf8a587d5d6440c63727bd2df898c6579e26a4e14c0e91dc8f320840f4eea90b26c1cc7c1041d87d3daa892c8b0dd510a97b1add533128560103e525149705058c1a3bdb782d7ec332e63bf1a95770131b2eaa28a9f1aafc74776280ea4f5c2663bfb5f2574b08f922a6edcdb8007578d99a952a054bd0bc968ce1ec30ca17c04d369749793757ef0cd6d643b383d32591965b20a18ba1fd0b13226eb0453aad16d42beeec8151dd07a5ae052815f526964025bb548abc2eb7c942e78adc35875ca2d7a98870246506a96619097b3d0a537d3620f1185577ef036e5b08ae3f1ae66acf8ec90d33fb395a4f3374debaad8ccbdd413194ae525b7d0fd3f00f01a34479058171563ffe22ba0d811c936d4eb61bf4675ee31d5e96deb9db77b925fcf863bc002fb2616f0e85fe854e14aed6f7ab8ff86adb008fa52ed96b1dcb0a12b36ab6567c0f85a4106fce82a7840f3b14d085b3e3ba94a07a617e00831fb97f9336deefe41ae18124a4439938bd455ab88e671ebe798d3e07e3ef86f26a3e2cec585bb94a60729a1a01ac9aa9bd9dfe54742ff980901f3876b1557ad63e7def140fe289b5da1d71296ca07a61c2fdc77a0902f86fef4c0bd009a3e526074fd8a993dcafa0fe00f7382bcd2acebdd57cfaca591ee0afcbd802e0425434dfe265b37f5511e47f94fb23a9f265fa33a46c3e8375e505283e81ee4f7c74dcd569d0a6f92fda53dac0101f8f3874bf19cf11ae44681b91742b254248872016a8f43d86e780ab8e215fdd370c2d7de20b88a2ee72c4511d95378cc6772c7155e71911a231d988e1e68ac712eaf6885ed2c1c4c93118d59a04ee5afc162708ebfab96792da64efd8deebdd097b46f4a0ee50f0f738810734b80b99b8e7b4c2be8539c40a742cbc92581fe21d03c5b9c82f475705ceea517f00b8069ed32868d62fb7ce2de63ce935b0cfe12fd4ac1d9569b172d5f3ae37d2e583e2327d06a3cabd0aba16ff213ee10162821c5df1971e4d0c3cac6345fcdcc3e3a1796a91a71e33a60109d2a2291bca00490243c30e7df0c3e1fd1ffa86d9c8940c5f6858d98e2d4ba4be4f2e525d76934020f5ad38004665c681bb16bfb677c8f9327b0ab41d07df36ae6ed2842f7496c6233df115922b79bb84d2c6e2a9d84576ad823276ea22401d7eb917b1d01194872270a0e24b5629fefc8093d8daa68fc04e2e99dc811504930fe1c0a8243d8dd7383fe643c47c1e86b957b9cc784bca02684fb73d324302705a2a36239c2d90a20c03def67c0394d0c94ede2d0705f0956da0c019ad6dd7a462545262fb71e1610f4b5e05bf9b861e7259d9c0a8682f82aec5af664da1b75a7c8416a06e9efb1a2a7cb4cfcac6e05e6de211e1d6baed671e2466af3eaff2e3f9010037ce0c10c621252e73d11ce6bca8ce8d434ab5fe329ad1b46486d7533b34aca5d14eb80e5d0936c33d18f8ffe466b4cdb35b4954f50db3d45e3d9d80e55bea5eda783b6f521dcb99d5254ba6106d4086f3a26db764cc0bb39ddc67498c5f013e88d0ad1d370a679f202e2c3199ce108acbca034621f3f9fcb32b9ea4f9d769e78fb04a9419380da5233b2b6a97c76136e0167b9bbfaf1d62cbbbae3949578d9f6f5e0078c718947a1084f065a4bf2a7d2c459c8f453992fa92e0f47db248fdb7f8a5dd1a3d2e6dc0198c72a620752d4091ae37d90628dad7053f48fdb60d00ee58720fa78713bd7b6475f4e38b40c82d23ae5eae68f0dac1ab2b6fbdc46657c017a98fbc4233a66349833c2c09915e10a4ff5a3eab169547de7336a9282eef3bd40d9892610078fdca0d9064acdb6aa1de0f11b22bbcd8293790858bb7dcf12dd512fca67c19d7911e934dd1cc1cbbded90060958c5589bd6c82e74222328d09bfe7579cba3970705b901fb75e039bcf5fef0e149ec5fa6fc04b7707ddee80c2bb2ea161d1032406d1152ea3be803b1495f0d0ccf14a6461d7a1f7515c2d8b5802a40678141445e08755b831efcd3a3d87585b2c8fe7eae5ad2b3ea82ebecb544aa9041304167f039e205c385ca6f1cf5ccbefb537e9f6a6590d674395813beca03ec59a613940d7e92abaa19b33456c1b0404245cad361449e29299b039303d377157899929306b8855a11f46dbd6ab56f283d90393c1289bc870d7e2864e81e5222655d913783d754c3a31536a0b77b42293796e70722a06fa1c6d563cfb61585cd0e2c139cca240c068fe89ff0595bfe6206e5456b9708b556b4449d563a155bc6539212c566db9b7d020b9730cc3cb0537fe1996743e81c10c154e2fefb307ef27b10c3b2f29fecc496d27499845e6a857bd09015e9bfc7a22645c3d85e6e7523df12b2af7f1deaa476500dc9b2b363f90db8c5be5f7b1bff53844ae8b16336da1ebe21d7df60d71b2e8f681ea83651b8c32d5dc782d6ea80fa5f070adc96b7de81d32297d502bc863ae3dbb6bb784baec7b27b76f02e3b4e2360211cb4659a82dc07236d7638a3a2e4fcd4e9fc42d55e681bf4fd29fbda53d5bd193ca7768c6a707f1290031138351a69e9a07236288fc624e83d39d60a9c25f00bd0e906ba4ecd3263a57dcca42efbc58224dd2a7367b4e9128736552990db11542a605b4d684bd37011262157bc3e0ed40366beb7265e16cc83ba3350fdede26871330847880b067392893897dc1885fc6ff1a16e33bc70565d48c2ab4e11f8127e3a4e2da5a54fa149c95b361c539358876dd5b7dccdd7f4ced998b9fe96e0ca0b3377d74d75c731244e8586768d48bf37dcdd8833e07c43600f9d31b2cf87e6d8807e8d61018651bfa7b308236f22f26f068da2a8d76f60550d8b783cbdcdf6675fb1cbf4db08a13da21f1e31e6c616a18faec32aaaf16ec7b4f014feeb3978d732ef82fd144e714fbb9adf2e9c7a35a50cf475c34b9f6afea68e6044322414c8cbfc306cddc6435cd39324f7fe61d764dc7d5208fca4ba50b94bef67ab6e336e187c6be1fb9cc270e81a6514d5dc6d8252f014bac1566cfcd0b4a158511620d87cf53055e723a355b7a144241f4b5598c54be100f90e03730caa89a6a3082afe42f0e032a333428bedf2c91a036375bff54c679acf2398ee50d858408a12146ffabc736621fd12284ee55cbab2d10034af82252577ae3ca3675208e2d21fdb7fba916a58cb40925668125d67c7758aba15721ee1483918f177f1e477e7d150265dfd870f823340a3649992fc6942ae485aa7ae4a2ed1c99bd98acfbc4901ccad9ae71ab3e6ce3177b3a207a2f343b5dd04a1e78c60f28460e8a2694095b930e6db0f2f17177570f150543af42f09ac010b8d95508d4e7973b543f6f489e29f028ae22ed8494bf23bde7f1a86e1bde204a73cde653229e4433367ea652072090bdbf3b68d8fa8308ef59562339f9c7b34aab67442822ccb73e7c79804055410c4d0ec24b3f896113c58e8d8022036ec00b910c0d6f5af5babc5643317b6002297bf57d911490961310fe2cb4acdbb528a254874dea5653bd8f01509cf79c21dd4537182a243ba63f4cdaa29a7459dc5d2bd0d4a7247d5efee4db245461774a6015f6f6db4d1426330abb16d57ba63108907826384883fefee573cd4b6f23b343a020ab478a57b70e236c11d0e5398dcd45067c537384db9337e51ca464519264e8a6ee7d7489fd0c90ab747b2a94bc4415af87b124edff436ce026c4e6dd0d1809a57eb364645e1ead46a4fbdbf8222177475c6c37c4fc8423352fd66a373557bc474b77e581270c39cc7a6a1ced51e7dea5c4b7643f33d33c72a3dc41de0fa91c2592c05d0f821999401fc05af226a51fdc0f834a8482b5dfb61f22dc427517596cc6c4a185650d3df8db5f33bdf41eaf4941b2c2644a31f09b5801d5ed64e9c1e8b597764c5638dc732e26b4bc2cc4e85cf0560d057e5c95956f34a0b1c7ebf977620f7519bf3ebb12f4503c19517532e69bcf3d78da7240ca9de92bfaee43f7192dd797a88d00de885cdeba74c0a122952726b0b22004651ed5c54af3633869a8054200d3191464a0443f0edf0a13fc90bf45803ecfce77702fe90f020913b879299f2558c60a25b99f063792602e3d4164dae0ac5fcb378397decd6506246d9a9e5e79ea6807bdcdca2925ea6ff97a3b022ee5f807a885c1da755cead019baf18b6dc158e60e3f5d002bb327d178f551e548238377294b17ce186ba388ee185bd75b25fb6b1aed898128e0b7d2baded7d5f33c0af5e1e728b2c7d5ca797a65ccc7026bfb9c296907ec9601508fe03c82f5889b6cfc083ad31474b2d739a7a1564c45c1d52e08c76b638cc7976ee36d97e15ecb705f9b9fc62070fa65a510b847d4627992dd302be71b141e28d60a22b048e6a94fa4b9ebe8f749c71893884e145a1c926ac134fad5853cf80bf47a8c456893a414b164bbb91054811b42c44a4cfcbcf448c52c39600310a2a62be0967c9ab20f6007d68b216a63edfae442cefb224cdfe0b63b649cbbe7b246dcebb3cb7cc5fc1eaa17d9bc7fad17c97006b9b4ebe6d1c7fc04bb8c5854265e3575785fe3c66cef1cf715fb1be5bcc1b2b62615f128a1e6031d1e938b14105b8a15f0aa3c9829c5934e92982f187a3e31478f8af3358b41f13f8ca322ff2d47351b6fc9825b51fe4331732bf60f3eefd4f65a7fce3f0cc0b5219ff694e8b280e6aa44709eaecd65e9900af0cd91266c90d93c69751b0f1421017dcfe2daccd374b0ced9ddc34dc658e921850f25c02dfd7708602fcbf2aade2e5aa6f836a08f2ee7b92011e732c076efadb85ba2d11b093f89dc0133e9ca21120f3d8013535191c7ed38e94bda44e1a3bb4c793e526b979010cfa95c5aa12933998e3898b2fd048cd21314742dfe43d90e0f880a24cf94100d5731e41a29a932be7070611fad2beb30a57c75e5a61a945d4ea60f606cba6b233fa82118e88d24ce7497f327a8d8c874a63dda7b51322d50ccd7c60813294d6094babb52d7021c697b93dc89f6bceba5e7b547d025e2ab8ee70cc089e1825907bf6027b0512031a9514ebcbcf7e31b7b14f26b6f80179bcfd41b8cf158dca8a6b6e93ca087c12e2936d1f7c30a35a6de781715bcf12c94179b0418e5dd05dcb5b8212ffae7870b4dd7bcaa7126eac6bfc8393d657f03265dc211ad6add0ad7f8be2078f684e20e28bc1102f010d3b47ac066b5598e21cac8fddef92a220e55d8d67caf6c986b2d3e76acb30a4c04b9c3f2ba514951df311bf3f8baee4ef01e7a909c1fdf94582d5db074d17e58e2d14ab83126ac6fb25916b5a537243407b06a04ce263670492a35e41dddda5b1f61a8d6dc4fafb10c9e277f59dc0247cd0fad3cef088351d2381aafc52f2b4f1c81f3383268972f63bf7a0fc5a084e75b019c3963a71217952684817d925dd4071af9a90987be61402a786a06344096f9ba20593fb11cfc7616f6512e9dd1b3e9693dad620c81e4f77bd5fe08109f3f0e2d50f8d883f81df600e2754a7d19ee558c0d43d1c8619564d57bcf11b3b5e2a5e0c08d08ad638d4121d0b0c31c4843a0e04de14427522d1df79923fc1b5b94f150f8b7b7302f4f80184067fe61a83ac1cca1057a17dec3ce8a13d7bcaebb35e10a9b034949cc0f9831bb9260eacb2f30e8ffa9f9f32e9f5668f89b72dbd0fe2a85d6920d7c307f5b0fde8f07ea990289e67648753e8060234b4bd08356e248dcfc16a42b7caf6e45357696a3efe943a9841ca41ce7e750a5738060707fd1ebfb7f9b1df0c0736b482070cefc08e385f68756f6af35c51559c73c2d870879e75f7109c9a9c50154a5220f57f0eb8796891cbe82d24e78d8016292158f5d6e614449c2fb73082f5e410a409c3fae7bbaa0911bdd5615b41568ca86fb39aef22f5d7e7988323c661fd42de56f61a8cd2e2c7e3e782f9419787ed8965e31550b104bde4328c54d37f17c0ed393336b86e89bfb15c1df573b185d58746b76dfec5e751502a4fc67b1adf713b3d17ccdccf5c55f33ab964537cd2f83a5f357bff6cbd0b9675a363e77bd2935bdf3f1eefc4834caf84dd0f8fdea11c26bff7a9ea267a6551651086aecbccc3580822a2752a1d7c6ccf4baa2f155bcfb1d491ccef2e927c69832085f79e59d1ddaa1c4b59ec2127ffd3f210eedb5e14dbdd0946abe67ed62c5a80821be0ccc04bcdc7ddd2e1da59714b1cae9caa68808185bc637ec7ef99c538edb3095514832f0ddc5fce0cd520ce3f6d291417915b61594381b0b18255040ea5afccf88df0820aab9ee7f7042a46e936c9ac361dcd77de78b6ed7306983c35a0006e9d7a714a75abc271a000290ad4c0268cb38dff8ce4a60515f297f6d291f50422ecba01478b51e8fd4f0de1ba6695a0446713982bb16ffb1373f6a01969f1f93246db53659b6da340c22cdaffdee55de6e15ef5a61af6887160cf05b3c1bfa646c1ccb1f6dc659642de413b40899c44b8e973be8624e4a54098383699a4ec1e0de2c7931debbff71e6ba8019960f8a0868887ae4955bfc610cc2fbd97156697a17fe08096d452f53ddf0bcb30c506714d8b7c8e18f236c6eed521288f644c0c2c77b661dcc98cd679800177dda093524ab381845d339e85afcaf0cc9fba59d5fe9ba56269c594ea8f40bc16dbafc20897de75d710b0f0e2a2b32de8749cbdbe5ed23972880f7cb8ebb7ef8cd8fe6e03298e30212daefcc35f3a8334e24a44fbeb2fc5812bdb6045528eb0518459a5dea5adc7097be851d47bc7d1dd271567b95d1998a31ec389d64812fcd3f4798b53dd174788575ef62f9dcc9baa303f02adf7c69f530fb09f11afe2bdb57c91fb6cec6abdef3bd59c4f5589528fab69c0c4dcc5c6e0abc7e9598b183085d19a1755791ddfeed0e86f8daddcde9bbdeb156797cbbae0f5eccc869bac608458d96120cf9804b3d4707d970a3f8719b39aa9cd88a2c1536501436c4d316bfc8abc1e11d9763f51b04c8eb9f05a91618f9817210f8d6623cdcf5b9f2068af9e36d5a631010e353d370fc416f5595f47eedf7c4371399f903dbbc46bb055932b79e5096443302dcd1855fb87aea9e6788f1e703e86cd16b048f365fb2dc91fb315b5ca2b4ea7e1104652673ebbfca4c4431a08da0b282393f68ee947fc30aa5d2525ea4ac7c72308438c0c753da921708c077557896d4671227ba29ef66f1f4ed929402bc65ca50e93cf61b4e9078677c751002e4e93533224f7f87d9ffefc9a2b1a1f983d1d9580b978e170315b7fc6f09b8e521684bf22dcd847d73151af7399603ec063be91898022595b4d4b9e99907a6a82cae7c9215c89e739ca454f0e06141a00c48a96fc0001e28349554656a1de8ebe466355e2d2bc62b66f86456c7259e2ec0a0df437d74e8067098dff12dce39b75efb8c5027cd662d4c232b6489b114b28703f2f246a01c0460fc86e3bf681d78e07d9ab0042c96aea8a27ab5822b8dc5c9c72d79d5fd91e54a1f1ab318d101d227ac805f32c3762f529ee73cb6e536356c661110759a6ff2cac7ded8a725acd4e848af602d5d168c429fdf782d6e9839a9cfdcbacf837ef39aa2e03a8872d8f7158e35c210dfc253f1582e0eae24cafa93b47dc4cee4c6c632e0615685b2d0a1ee3af52938f2b80c1bab425953cd4125fc50e859ffe349ff176101d0825acd1c8c42e2da112d7e595023d33dc3605a81fa4c73d3b01dbfe0a7a259edc3d568e56587bc5a1c29cb18bf3c33fd618c6e6bd92940a8a58af0eb7b10b23703be81db76e227593c0f38acc974bacebcb11b59f3e88d307a0904a310da045d8b1bea854c59ba4538ef5a2f76ac96e32112d38f8ab4ab6cb450df7c09ebb8ab7f429882844df599243913771240ac97fb52218e956fb25dbd2161df7aff3d8f0378bc053798ecd9103a1e8f8b3ccc8ee20fc3ab22f87fb2a3fc3ecc6d8407f0351b15a4be9ec5e43705c94ba8b06f048d78e3cb78d179d82ab7c7bea6cc7403ee119abc00f26ac5132e631d489b19c2f75982360def21265b341f54ae859527a34389dff105a320334b5d8bff15712ade72efc4eb3dbc7479c290cab74ce22c1625c9f01b1ebf603b8d6abe482b668ec87db00193f304c0ea6623779fe8215b9a0a8deecad29d0516879cfcc7f307c80bee70a0a4b4be5ae896c3660643fc5705985c16695a12d40c11b7153720248b0db7d9bc730f717563146f9f762b7e3ad57dbad5d08ff54a37a61ba07818c2147caee55c5113a4063e3191c7e03860cceaf03358e814f8783453a911c41d44c0f85ba6e804e536fcb5f3239846ee83d0abe1a0d3055d95a72e630f2afba4479bd08d08f1d7646d0f1796267a1cc3d70e1f107269c700775222b318710d5f9709d13b6bdbe3d26fc89aea832d16b251b83bef17346885f34205406c7b3f516ff4ca1659bfc7a3eff9efaf6c7ddfef7132b8c6860f00c3db652d5b20c7746a9db18cd1f75241052418a0ca1780cf07dbda72f034e9bb88f9231626e0916a0c4f34d63c6e5ceb37a1d5b5fdf6b7900810c7f6bf61e344e154c43b11f4f36a23d87d484f2347dbc593882cd355d5e50d330f97709bd6de3384fb2493659754fc00e29e7ff41740905b0569670d978e45a1927b4965d44132746316976c509feb292402244ffd3b9bbf7ef5fc1fd83c8ada437908f7934d9f8c1d34560113a8fb8dc6dbe5443ef8a715750ea07dfdc595bafbdf44234d6d005fea3b4727ceda5ef064cdb390876186e703658f36d2c7dae8d8810e0ff5e91d2c880c8883e83736d6bff40fa4f1f0b2577452306f7d2a74a644ae508c8830f4d7df3667f57d729f354bec35e38c99a6b2ac3edf3d3303a4441d3d4076f7b402c62c1e6e3b0fedea4ba6f44adf2b6dfc61f56685ce999a0012011263f8897aa30a1530de4acefb41f8ef15aac3a7cec83a3fa6c6aa12afcc0f8791c61c78f5146d133db9e5a263312c77b751008e54224db43959c790562df7c4ba35c358c782c1d70bfb99964fc862154edc3c21112083a6dfd9dce4e222fc9be86564b6dffde3bd2b994bc860c4e5594625618c805e594fa7035a7f3758bc4c7db1f869e80026700acfe761a1f865fa0cfb3b6ed58d1346597fd1b4c50f3c6f1f0e85ca08a86e3103402240d255ff820d8273b7c3288dd44fdde405f97c3b2a330b194ea04c09d517f300b36fba747dbed795824d448b5e540801b8be76280e8c37bc275d3b7e0d1f0d0eac1348a0a8b3c0a4a7e0f37f6ed429d6058900e9abfd1bdd24eb65eb470235fe64d3bf533b1b56e0181cab626be52f95789fd89f7344c025a1aab8cd5b2d449ff110407fd0cb0ff1bd6a3b8a187f41b210f8d610ddb5aeabf5ec006170379b33b03f00120112c7f9177e834457e1d07feb77bfd9dc7cf640031394460e12d46180e723259b34b1d38127fff5f603322b754f5f4a806365e99d3c192bd71b4b7910c97682bb779bc1e7f3104ed9e50f578a68d2a46f0f2111205eba7fa3018e0bac6124ef9f7e931cdd195bd56eaaf361c4b1b167f72c5c6c5aee39dfa622bd587f00b855d3ff19c063d72cd3a7b819efa1d2a09a92bba49eec19658ac516ee5a9e51ba5c2773b70c120162fd433737c92b4857e724550cbfeba6c1a75f27d0e4aca2fb22269b60d5e1d024a52e1e3dcd506799142998d34a9ff32de02b321b663de923f640452ac27e89517b67560543af01cf54fc7e198d7986ae2f241ca415fd6f22fc35828db9cdef6c0e6aa28f45975237efe9e049b32b2be19f1e2030da4bf5e03e0be7b7ae5b8f23029e382f77bf7ffce5aab98733faa37a3d3320c85f30eb380c1f513de2cd03e1fdaa2a881bc853ebffcc72a108ca84b74816193641fd2f1d6348dca97eeeded3a93ceb51be9e8509c62ee70d721356c961a30b321b007f06a36a6b11f7c8e2d4987398c179781ee7da24a758f1324546acc110c5c10a48048867fe5fb9c7f7e3f0c8989f2a68e4347ac1c47cf11284d455731887a66027e87df8259a6926c7c30a8e6ab7a306528083fac7a54f65154415c707882f27911078d1ad779e35f574bddf178591ac83161201bafdec77361f6f74361d0e9b4d82e2a7b33edaac44ad70e4d97524e1346e187d1190a393bb12b813186fbab9d341d8c3601950e38cf0122611ebdcf3a3e055bf8c7e513f4cc0db36198f6bfd09b702d335188ef5378368ff23838c00ab05f8339f743b49165ceaac2bb6c9739aa3598772d71d5939d2d9a7b690c0c780e12a4b90b5cebde383d8b73eeb7d578e76c6b613f224fdc0ba02d83a42ae840a1201b2f1fa373ec9130bf71d51f1a70a3c58ccc6a49f0e799a76f5d1dad984f33bfbd6f10913462f79357526b235a2cb21010198cb86c6812421addd0311eafa2b8e6efdf37b9d6bbead8f2a055c46125232211120eb957fc526062ea64de3a77b3c99c06535b92b7d0fd7120eef1cebf21639abc77bc7da57220d543a6a3ca1e8a700126bb8efadd72aa60fbc9cf1799eeede5f670ca51a65592a3ce82805a5fab12f7f3388ce3f8c90bd04aaa4da8d22c255e739d747fecc7b7b6a6f25b404be0bac65b459337d5b3bc60aeef9599064aef3c8ea74e0e0f33776bde044a7a52f71cd60f3cca6a77a9b3114f89b0abcff950aa2e1dcde1afc54818d165b8ddcb30a71a9fc2285c45a3dae23db8b4eb329209de1db9f0c19b22eac019de5e61c02d4f544d2049d09dfa3f82b1a1f4484987b7c0d93f356e2b523423cbbbf4508e8bf1321c38028aa9196b10199c26a64793a0aff94dedc809179bc0ca65a8cb72c71588f241a603b6d9187302649f9f48ead85d71a5152bca5b2b1435771d1f7f21e525259b97e480448833a5fe806ceb4e2beaa23cd4f67ddfe506ddf4443f6f1226f718da8a22979404219b6cd57d29a75744f536fe4ec0929a08971df79c234d16389e5e54c4fe57c5f25669b735c00b3a77441ea7006c4f7312402c467f12f72199ce11eadef88c2f2126e7611e5d8fb635f1d1f607f65f7423f3189553c7938a553df7eaa96097a973b2502a858cb60213c99e37859719025f20a9e2ce1c3f883f9b70fbfbad95c7410cd510e2e4322404c0cff86cdfc91dcebb3aab16b361d1e1391658f78174c883b8b9ee707bc17bb57c7a2f4bee7a87fba98a02e630307b07abdfaccc0fb6efb24d542f59789880318a708ee5faaf4ef76d3aad35024b9e9422b3cced49f33623be34504d0c8c65f8711093aeb728dd49f15de53c4d7f1b96b4dd12cc3d4b8a1280df1235ae0c1fdd22188f013f614da49ed7e56c0fbc8a29f5563e600d366d419fb6eb68b199a24d13afb95d3719542efd9a512cc8313ce5e1878abe6fff079000eacd1540cb52f56be8bfc28e97a68eaa71b8d02f1d9b16d63a69e591adbfd2c3c92cf102e577ae1776d02a9a2106793f4cfb51f75155e7544361f5d8e2e391917415b1c5c7b30b86feb6e6210a6e604adc085df0a6e84da57262807f616530e41928c3992f4105e57c6e218e1a2ba195cdaf423a10940a15d2e4ed3593cee0a5c2f32e23466cccb1204659977e4557297ac34591441b9505eecd1ff9a17ab06ce2b91c7bff11acc3724db08a7feac2cafbe37d23cea74d1fdb5e07e5fc2162773f9f0bed3d7c47480beb252366b5728de0bc7f7cdc67b65d24ac43768a61a0a702667aa26afbbcaaf201120cbafd7846e7876fdfd5b8ed701ede53f9159ee28d71d568f393b3862358e89e4d699aaf081fec27e7d9c0c57411d30cbe8d9133c3070d7c2ac73887ca23377a42c5e323742b0beeac85972c9cbb70333950bf913534b70ffabd1829c026324d5f5682118f72d6e32e1369506b015ad1e24ef940cc67eeb4d8fa80f17673a8e5464043ea0f3563c6fef4582a236f1f788d935bc0d9dfa22a53b5577297929a278b55d21d9301700046088dfacb346e9dfa79f75314b704365f5c332c167fff153feef900ff04cca87197d3a46ae0d17ca1f83542a370a009a16e0b39e3a6861e4ebf17de222e775ca962ab4de17c034e6e2c30b08e42253883bc83efe27975f15d2b70c96cd632560bfc6a9fbf999c0204e88e91701effbc22b1fc6175d26c67504993a38c22857ba6c022980b319c51a08236f3b4519199dba797538f176e863bc71b6b854cdaf67294748d23066bcfcdf9b5137da25125df57ad4b7709fdd84589b22efa37b9dffb35dbfe006914cd7f025b321f77e280fcbbe575004289d35f0b25d12893738f70a1a49d1c9b08d02c1ac8f2a1f463c37e63fa592e7859a11ebebbf352312ebc023d2f4eb867600e222c42d3b9c0f61c62223b14e053db15582105e4dd517018265019f18de043cf0c8436d1b2eba14a6cca2d0339374f56256b2443321df239623100f93208ff38044804c0a7e8fd29bf48a10c94937b16a7fef5c1967d2d034dedac37547d3c1cc2ec0f1119bd18b66e8eac1375afafc74124eca03902f5556e841634632b20bcfedffe41d7a22b63b7e9624cd3a653162bdd165ec007107c193819177ccea4165257fed1854deef2d850256e259a14e45963fa9e240fe2d3081dca090ee7689f35697af03c868e165523d3f9bb825c724e07cb475c7754ac07a7aff6cd27047ae74f41527273f6ac5fcfbee2f06e97d09c39008103cc34fd457fe37d0813beb7c1cc7e4058f6b1dd49a88876fd5651d3bf3aa990967587c3d47d5d94816ea93868b26de19ae3addc60230be5b59983944bdc2e5ca80acb283bfc9c6355ba5e368c5d67315acea4eb7cec00c67b7c0c8e32641d7e286b3449a62c3adbdebc154ac13bdaa31f5c9ab73f8faccdd2c486149fd9015f548c7837e0d63b27747fd1a00639c623505a6cb44a951de26e5ad20023ae702219f0fd32e053aa6261c23e94f61de740a94c3f0fa5563f777e43f664247cf9afa5b1cc68488a6cb59465fbf67e05c9030c33cdb657c0ab26d37b124b5019c86a62f0a1f963d4620ff8015c3de3e9e651a90667a77f17c6cb04527d2d23214aa1651fe7fad167c1f3383d16bb53c646a044385532704047d27ce81552443725326428ee4f81e3d093843b2b5648095e719f076cf0799933d75b9694bf6f5bbb72a0250e651637f90574404086e3ea085277ca083913bc9a4aec50df333eb36fa1bc3eb01c2b1c6ac5806f6145dc797c52419ed49e81c1a62ac4f8a0ed5c51cec12df6a4d6c01ba32a3abb95657a16edb1193436f133c7d39a624e6a7c246b11eda19b173b233c04c3e5ac0c8d51370d701e27f750d85b8ae952ae63a23e5ea95b09ae46fe6495948ac0d369a3e03710d3417fe98b152ed0afd1e8cb29f06f079d98ce270c7a453d127bda55518af3da0356bcea4d0faf69a7e46a53afb3dccc88659138cfcf675e3b5003d04fe37938f3ce4a497d73b62a7c385de7cf98f5bd86dce3a8af97482f2ca8f108ff4e5a3730c2562d4ca72cdf001f91d86147dd9c7a9f144c43345c36345d5dcc339ee42351f125bf048490add1730239b2a18e2ffa3bd49f42cb558eeda558c6450084c163b518e22f9c3577b64c1c1c3cfc423ef23f38ba3986fed88e8ef015ef848268835bda2dfed4ecf305a8ca69faeb40a04dc45ceff91587dd6556efe143a3c745d290423b596c3fddf9fc7446d0b41731586ce6c4cbbb6d60e6f65df7a1468959e3b6a953a3d3edb894694c34206876cb7a06fce02dc1f964d6741d94db14c7fb228864e3da9c8f05d84ff3176227f03339580747031348492e4c1c8c96777ae050732fc26fbd120fc6ef374376f233ca0ff5d5d992ae581414c5d498453973962379e27f853ae8c33398d392bfe93f1807140283a2c2d94ff205a8270fc63d4b2392bc722c4106978dd046be9c69e168a90009851162f18f9e52da96bf1cb8c8702a34bdd0c2d7484ef5ea2f39405681066ce73dbed35b83fc4c67dbcdbd9f07e25b590e68738ce12c0f4c3a779db3c00cca3eb9c9f1e4724ba6d39b658f4e1f6059cca9dc7e4dec14ff060e02dc1c87efd70d7e2d78fe856d892eba10917710901877d1ecfa62991f58d477c78a056f8ec1d1cfc1fd2ae88cfece6ccbe0800fe2467fa3311e01d8aa9c53af9bb0f8a6d0362ba5f56b0b496a74cdcaafdac03c007367a18f848a39b24364138cdce84ebfcb0c022c6ac44de04da9f6d39194b622e4df2b90d0e3e56a58e33d379f8bcacacf01310b056b3bab1345e3b27d8e7e405a83a28eedaf84a6513f5148916737a48d615e66d21dbabbfa196dfefe2fe6127278d2541e68e433c3fe343b1e8a00f5c75d2e86c1eb10317777c46145e381c31007e3816a4890b3f683a41703d9df4073bad06dff71dfdb8b2b8b10c6ead430f7a2c615e568afc0d781a1ddb69f7c63fe1dddd073d48df7f5a5d1ac665227a04e6bcd86c097397ff6e7e5a52d5d106f75e0af0eb7e7911face0ad3335ceeb615a16d8b5da33dc69b108df866ec7099c858e43c98d3c1fd9f57237e1337dc06097d4a691daeada297d268a6bc54e2ff63f6d263ef09379ce9fbf3abc27049ec24a9162ddaaa669d5680fb3deea80d65b927df112d9e382306d9fc9ae51d91ea05b94ee932ea70e60c0a18ab60c1f0fa955a4848aab830a4fe74d66010e7e1231bc0027f46f95dda83029578cfc341fb9475a209fe7bcd73f21123c0dd97cf5d0dccb58b95db29b047722f12f05e7be873bcc32a7020803c7517b62b85b883b809fb7f42fe72aca7e36a30b80d07d3cf9b0aa90cb4e19b1d470f309fdc452b9a2a8856d5c5d0687865d7deee9f760fe401a069d8bf55bf3d1984127f657362353aa1418a083c49e5ba4fabc7676a701bf33bc4e1590218591f6e1bd4a211ff340a608c75e25144da45fce3369395605391983b41e0de5a0bb3eb536ace0e3e2d0bfdd84e1ab3950122aac688cb5355cc0792fce44752e36cd3c7b9a5708025cf276d8e2c27bcf975f46f4a0ce479b5db1edc6b4429f6eb714faa9447daa3a19615f80446ba0a2b01239302e6a0829c9bcccc5e62f416360b8b37c20334f52a4e3ee3d556c367713e874069c2a7356492b772ba3e198faa15ef91cedc0510a490070a62dce05fb00410905dad4b8042181e187fce9bb71a09573f8b910714a1bb0f570b0cafc1bffef27f1842bcfc92eb1d52d23f4c5f3faade52f6283877d41e1fb3252cc876a7aadc0a7fe89672ff2a4f6aef816119c0f56647d4b5b68b1b4408f1520c1beb034054b3a1ede6b3e8dd6177a5ad1ef401aa17fb6630d26531e8235adcecbb9b7fdee008022c5957ea03226ecd304630fbcb7b5e369ff1b635dd1478c441b3a1f380bf3b0a02dc76ffe6671e476404f4f9cff91f5c60deb621cc297bce9081d395426abf3b1209e5e5f2f9bfc86b0f45ddab6eaafab4dc3ba0a625d3157e61639fc7ec534b593632cb8719fccbe700b64db7de8f511ee46d9eb901cfedf0f89d3ddccbc8e28439e589ab4484810e129910779028c1f536ffcb501c8c06f4591f04c184ca249c8e865a68b4c1b74c713310abcc157ef174ddc5803cc7e142bff8b7d7e2df012cb1aa49ec4905b69ce379543f7b2a731cf547dd792806380bb823866b5636a3d08bf1242e60a4cc9de36bf1ab9b88cf8d8ef07ca1185ba99b540e4bb6d8ed14c2355413d45cda7cfb3951db8cde5a72b4602c268232ac32407f5959560a30ae32765afad229988e26fa18aea19ac1ec517acde5f228f0e467a82df80460d0ffedb759199d975f7f3573e94b2c92a639bb17c6cc6e099d75bf3e1b7b0da99394b3d8280a40576b09bdbfb801aff64cbf34b5b8258333d83ee74d42f4aa1a4bf91dda7273222b18ad3cfec75a99d8365d1d60e661022029f9edb03c85dcbbe75bf68efb5c40544849009e609614a0683cd10b7cfcce1980917cf9c86cddcf23b733f57bc250b9acfe1b433e44266e883b88fac54fc436ce5f446b36e2958a366c0be7796f339e3d7e29692f3a5d947f532a79ce4a95240964ae52bb0a31818e540fc50570da8d65acf2087ed7493dd95f481ee689a42ed1da26f30d41dc9aed2479b8430dba53685dfde735872e3f0659e140bf0dd001af32726737aa67ddf2abeedb56749c4252271d65be6852c177b9148b5f83630dd1229aaf781975aff3cf3ea12374d9a7d9be4a2dfdb645ea8529eb21258a42044907a3f227ff50e5f0c0220ab55a1fbf5185130249f78c8a121387cb819f8a3326032a01dbfb13ad025be0fe7722ecc4336ee0833ddb7ddc518773f8d2f94921533637e985b8627f112e3aa8236acec03ae28dbe5a34a4454c56feb30d946b1de8001e9bfab68663eb988d20ff28ecb45da46af1c57d565a6a3fc9879380722092619a75f4eaa964eb48874ed99b78be0b4afc2aa734d437834633e675772d2cbcd457c148ec9441d7021479933f78032f5f8836b2cc91d2080fc8a5d0bcc92c0875c6d561bbb8a298e6098d0dcc0cdd0e22cd42ffd6cc33e57708881faefb15b985eaac311c6bf538be2d202ff7e13e27e01cc13cd4ed79aac5d8017d6beb1f620846544ea40123f9b5d204c317f8de64d763bf8abfbf745dece1bf607cc22edf9acc5ce087c73f329d2412262f8483f24817ffbe114518e79d4dc0e9b3370cebbb859555466594da312e1ae2589499eea1654a16e408d1a1266c0d9869c0001889625aea5adcecd53432d5d14b10d57576cfd7eecac51ee7fb3ce84aa09907dcf289e60bfdbed74b06b491c82478e3c274c336404f59a319cedd428876f005d6c683ad475597344f7ba6b017d752673e172109514177e3084930129105f707f8e5677710efa87ba223e1fd99538acfa6f50f94adebfd5bd348260c45779b3bc66cb775c9c65ef3f2490b63659c00aafd6d626b7e4129e18c6fe5343fbaf73e86bd4e00f218f6570e11e0b85394ab5f411f10dee30623722bd481912cdceb19f98dc730f861c108e1ee54e84910b9ba56797f0822ec831ed73d7837e63125129f0e366449b5c2c9f2c9b83e3dc0034cf5ea65ab30647d50786284693350613754234cf664fdf1694bbb8a27523154012fddc148d84970d7e2d70a6038528f048a7cfc27fef6f7ba26df07823db482a6649ff13d138bcd834c961ee44f992e0c20cf292d500278d5a5dd4f180ec5d834571290140b6c13e366989e8de12f03183f7aade7098aa0f832afff0e3e53461b7e79e79ff82f9744caf15e3b5838873c26bcbb1d55f0fe1b7d2e39447bf1ee57bab553a71e1ec047e8d173392eb3a62a062a75389940535f74234347297a29c747cf27efbe1c17f185e28b1c80115926a47e7e67eb57c53c82372af9b370687e7d2a094c8538b1a21e967788e67a6a2a6a220bdbd7d5b62b4f88f98a579c9f84039adcbad461bb0a197271efc4185429b454e9555812b3148a38cf05d3c61d4f616e228bdefa3bf85e25e56f9406fe2674c033af1c6d424a941126914c7449666d51cb2cbf9173e2b5023cf28f44ed21432580d30aa35916bafe7a443761f81d3567461169de76b5ed12739fc467ae0bba2a1fa1f8c2827f6bfd68487a5c50fcc306e25b38775a90fc0fc682d12c6b147165954ee73e7d0ae8c80ffe41018a7a08289c66a7fb7064f56e4b233393b833961044f50019ee8e9b930c29e37aa76c1630fa8ffeffc87beba82ab3f6ff9f1128e952902e114409a5a5415a906ea45b0939740887430848230d37dddd212127dd29d288a020a0c4a17f4b7c9ee13ceb19c759cefa3debb3d6f7fcb1d79ab91278bff6b5af7bdf3bae7d6d5218f2e1faf645f1f3f6bfda30da0fbe9c203e8f300f46a6bd918ac5c215fc8243647e24ba20a8d71f3558f8d43891a9f6c80002082645646fe2ca6e4461847517775d7b9aa10d6676e99fd9966a72e2d7697a1f178740419430e495aa9a9f2ea143507a603ccd1cbc971ff52ea52307ae3193fa004884555fb12ba57a1cf39f9bf4d5d199304a085d71b93e0a285c87d913b2b222b78ec66f4ff87cbbfb5444790e7d1dcdd12f5d8a02db57aeac1beee0b3f7d723ce9276c3ba9ed8ef2fc79415f8714b43fdcb0e9d5c47959a611a5d86d4c8fc23b0813cb61c9c71ab31d6734040cbd7504c45fb1db849c825d5fb90605f4b0439b523ef02535ee21b7499c6d6cbbe46a90d860cd2bb0243b91774e52ffa9a9125d184288fcbc3cab6ab29074f53d56e1abf8e4dff42e1a0aab67108a94709950b96c6aff795725505445ed0a966e0f8e404ef405adf859ae337a5eabe13c01e1a9caad2ed5a7ac70d5a3b05868f7f07f04509d180818fb6bd6168d29fada0c937d10ade3196de766da8b093b825bc1541f45687a877deb526dac9f8e9885d7f046c96a0cbe778e1fba068f6622d45452a1dd337953ffddefff8a9ffe239a8050cf07ff028c65732045f2d4a527234f0bb37d119c0159495679f83248192a4e61308b0bd82e620f772ba2bd36233a33dc4266461176773816b1d6052ac8faadf1d075d7ede4864112af65be30170a49c40da9c78478b37c0bc378547cb8f4ebf21f4016c28a99cf5c68f548428219b66e958f551d9cb57d22c80fa469248008c38bdaa18ab3775580dcbf023fd7cbe841e976f95711079a72a23448b6bfe5fb211ca5dfc041739335b7b3adbfb3222579ff5b75a7ea257df5cb2bf6e778f19103307b0386f39b61bbecdcf98968f528815513182b6861450787dbc5a64328de63da8cd7869711974448bfff9b522bf8acca179cb633af47d64c818b745c5c41327ca4d622860615ebdfb3695a0b2373388584bc725b1fff07d29f064feaba5af1d3779b46ef1ad0545aa564bc3e45978d2695ed236928ad1e83e7d6d0a189ef828cb67fc0716eade22922f8a6546f4c0e437d0c7c6cf9da5a8928eea28ef14da084da166818ef98d415bdf920c336f4a19a1201251c4bda832144bd80ef0adce39aa7a2095ab2c16db02021ef855b80de5793e71f347673c723e2f8f713d80e439520c1f73d1bf7a7ced1806105d6d0dcf51f5df7a6311c5be9e22a5fb509c0f266203ea44c4e192bfb2e1ef763942e446b09b2f8a44cbefac1e2756a66a255c110ca951b7715ef0459aba40c6d4ed5a961f7808de78321b788216c20f92fa681a5bdc03286eeed1d0e8051370f06d1dd68a60c773e0de9de515f9ca678e7f4e0ddd97e38ee8aa5aff775cd51ba06c52fc1c2b11987823fac6e347e5ed1295ba18d2cfebca96e2617528a8fbbe1080f94c2bf8f406a47c66fce1ae7ec559b8cd343547c30a323c4da8c70d22bec058a33f3e713e33082e819c42fd93cf4dd73b3497476dc7ffee76ed3add5397728785c3052517725e0b4f1d6f31c87e38ba26269fbc8f456a90850c28bce4973750f78bcce0d6abfe942667d8295698016b9b35c5691a0fda42572afce355f1798fe892ecbf9349e9df702ddec0d19489fc891feb6e2b1c36f34aca19291bec925589d92210e7c2a5944786892a0cd84d9f653fb3c4ca96b320f5a662c3ba5321475df586749a6f4809856f64e3b90c628b6b005f6af1a1e5229b7677d55d2eb6af38caf6e85e245ef1c18d86c832ca2491ae3f7ab60720c0b36a028daffaa85c207a4af4b0bb4940619587df9b34f79a5ac336f92461c82262cd74fe2fd5ccb215caa7fbf1540db620d8c4968aff30b446ec2c5c3df3d2b8579807930a530d603e74754e7c5aef54e16efdf8994b2a3fe7592397f4e6e473113fa9f6426da14708ddee957fdeedd2ef38875dcc2f5f8947ee179994c521071045eab87d9d8c68da2ea1cdbcad16edfb993125dfa81750925937936b9b4d10d38eeb2b14929b6910747288327eb691fdad553dbb683efee3652bbb83f88e05ce464fbce41b76acca30b9a2631d288dd2432e5a82c214e848512edd4ded5092298c5b044624e29783a2d367ebf955cc1d74e0905f753ba5d38f1b01018dbc79bc1bb457533f312ad665bd9a663193cdc76d32095fdb4675804830606262002a41aad5919a0c47b734ac1f59d4e39957f3902615d41f6992b5ce1eed6c697fa84d05c3932eec064241047c201ced524d25ea9769a4eac215e1293e8feafe23d69ddb81ce62f78bacabd36d33ad8c5cc41001e7260b0a47f26b57277af04e948e55bb8a6c74df6c0101f321af5b5f17f4d6f0d7ab709cb0b9194c12ecabe99c2b61254f2e62601b39889e00a2beaa0fa44b16253ff666b662ba32117fe8c1bf9287eb07b65ee54a543a0957bb34e03744be4cade876ec74bae6b41f9665d507cd5856ce0b6d2a3c2c81109aeb2313649a959954be2209887c64242c8c3d310e04c758cc4745c55ee7c83f0e5e6a0101e3966dfdd9c28b6b3ddfde1c93b56761e9bd2799586da0a40efc5477446bb9e38a0f389c9658bb68c46a473b75b6d8588e509caed60bb11e72a5268c446ef846913579c9378cd889116d4629d2b290872959aad4ea1d6894730e6094079ea805420e9463982da648ffab810576bbe2d84878a9ae1ccf3f416e82d0ce35cb9fb67803ae8f791f7fa1133c3c2e70c3c38abf997ea4c4796eb946c955176140e9667a3be9254064d4f2e50c243df0f86c97a9109fb81c3948aab4cfa63b1654ee792ba7ba49e9926f10910ff319f4e6e3222b73939992782400e75ba38aa4c9e3199d40c86e7b2a6ac956d27f366f179da74a43f0c3e111ea1d2d6d625e9d6b5c4d412d20e0cd19ebf53bd9493b73ac3e5d361fc8d5b0c79d6087b8f80f23e3750a9c8e5b0722014b5e1e7ce218ba1ad23277b1861cf0ce339d081e5814d56e5d0f078bf572cf85c32150ea510972ab7ccbcf97b175b086d34b1197b1d523c8b1bd9ba4957c45205ca83ed3e721ea397eabe4e67e346dbb1f2ac702e60150a1cea320e4e92ff6252c9e8fb21503361f639d99cb6d4fbc1fc58b2565304235ba9c721878c0c013c80630147476289fe74702f9d44c1c8b5fdea1414dbc84baefc8c865e6b2543372b8f6b556d638838452e29aede776bde86c625580470fd8f7e4e49d2db9f9b931d20c7c80920e90800a19ba6d11572b402f62598d70a5a3cf8f76412e638bfaf99ce73f16701d5b40c095f67bdc3862e02c756954d1cfb9e6ddd4f55564e1a36763a367fbaa17856f8400c33d41eaa756b184fc68317431f1f384161fc751afe767b60f93c634283c724baa7506c3211700c20f11015672a2c307a4372d3a4f8a6d892a25760084910476bce5bd61d9b6622d2dde00cd6a9712e635b153c303952cf4a2dadc245eb5c99d588dcd87274ca29ab725f2eb81db48f8944c4a39afcdb64175246527a599d3fe2aba46e4c91c4d12ebd612ca34973db5741b0c392a00e9a2f8bd1525cc5d5f2ad2b28be88904ba819b139ec1cf0c053f463ed586fb27e8c8be1915132af0df6609e95624c3038c636c6c63586e84c5998594a45c3be2c8877f082f01f8107c1a3e928c153f76ddf37200eaca0f0327d4be8721f77e78ff9b790a41125eb205cb2813df5dc5bd9be489ef7d419f84f0fd684567736ae285b36f211e0fce9b659a0e0681658038ac6deef3139f8c3b11481251c947545613d974251d0fd3fb212f15765cddba2f5722b4ca60c88e60efef850fb493ea2767c2019a8e0b6ac6cb9d72e8a9ec9bc6b5a01726eedafe3c70c323619d40bc280a6b0ee15d1b0eaf19cd49808e5f3bcd319116f741ffd5a74c3d9282d264e6ddfc4fcecf1c07a49e71019f4710b6aabfc090d5bd902e8adfdbaafe57caa08b8d39bef140cf06f6cf397d5717126ef8b8d4f9c6a369827815f0eaf8b7edf0b7f00071a6b57600f2da18c613f36ed39617739f3aa7ee5a27a150bd3fb08df8049febb4bbe4a21c82818db4917eac10fd569032f8ea1a67c8a30b2ead282a16e39729c4f13d9f2dcbcc167b0ff3ed7924d101863a3202af94d595c7c01d25241e0d49f67819081eb4c8a6e1eae7f62b6e6e34c289db5fe1075e1657186a93c0f0f8ef5ca83fa80c2e8270be08456b82e54b5385995c5db8aabb0a68366709191617033b42ca2c015d1771330fd8de0522123d8b1fb68c4753b3bd82dabe502a063547f60fab6c1b06403d985705bdee198527c74a18f4d0e8979c4db365afa3f250b31128dcce2f64036e6ece41075919d4bb5809b76c1f113c6fffb0fb31ceced56e57e005430bb11781f21f74e0ffa41b9bc293d03cc9a046ceefa91d61f257a53834350a7c13eb4d29713383e6bfe81eb1dc4e3a0027e9b03610e2cc544647fa28e20fb57831b1f299181962a0a25a634745b6b11e45017d790c138ded92035bd9022364a710e086b22ec1abf4d21e6b47f15d9df869a9bb13b4b19cb50348b241cc7877671e48a9ffa043f94f3a1a0ef377de6648ce3794ef0d97a154a7f892d047047654328dbbe930eaf85f74724f5ae686837857781dd70900d7dc0e64fc38c71610b000c91519bd68b339085fd358443fd40bfe1cf0ecc5b223bae2cc80422be74b56237edf6633588ee3db1ee755cdceb485908ce1fe92797cccb8c1f5e4af1fd6eb1e262edf44f250048ffbe901f57f39d51fd91952a6fc09d3e61791280d91286e294b39a4dda07f63cf3570282073889205e0028aeaef4f5cd9ca30c9b3033bc438b6475e9e176ec6de0a480ed499ff520bb9fd09415feb37f4d93515c88c9ddc2254a34b7d00178b0e8d925391e8f48cd6b91a6b6701341e28a0f690203b68c6136654cf187e3e9f6dc62bdf59786ca7e9f8a5a6373bd492a956f68fd6d18421263a225d14d04f06d1d89595783da322d4cc3cfafccc5f67bf541f1796075a523becf773d8796402c239cb88ad9375a614ffb09e336737f005abec796ecd90b51d678b37504891903c394fc58d52b8c543426ebb9197d550f2129b87be7d77453025d4d23909c00f7a38c9d4cb52b8fee5e5d686d857b96985617feb2b774f672a33c9cad85b9c1136ea4f7f7cd1be17bf973615ccb62e29218cffbd3f4835bd11069949cc972fcb7b607715d7703985fb49f235fa09860c3e37e6eed7ee800d0f7f3fc13731dbd5d495b8cf92dd2bcf992817bdabba6a45a52d602e691bb370080854a0e207cb4f5b4ad322e12d26e20867270276d3d1f531fc8ddd3722a7da0da419c76aaf757bac435cba71d3a51ce15d80279f40ca74ca72d0ca3b62db1e3a942f7588b1223126e7901a42c91c5153630a77809ad8fc506d53fcf32d5929135ae7fd24843de1f9219e0309dc57de0719c7570974c832f654dafdc8b3a63f0c9deb1db7ae40ce2c8147b29f56636dc4ceaab4d39d63f0244677df0ee1f7df06a420cc7c131a99638a067780e2fbffb5a8596165dbab400451da679e785d4a04bc19c19d8afaef1f4d795cc33b21f76348a58d6412cdbe8b2c0fd810b1f20b04f5d22bbede7e11f09cda3166cf5d843029a66e11662c3bbf34287fd9ee16763988edfe3b030af0bb5e3cb38717e9cc6a25ceac6d7c98d187d523ca37323fbc177dfb51f1e420f1b1828419aed515c6d780826df19c406e80ac5959c87573fd07cf5ae95fa64edfe26b9f9e6790eb2fc59d4788744efca75cc814f379fa54171d1828722a650b793e7e005346e24d7da66cc0527912a1831649b47b1809935c15f27901dc4f5d7906be99dc1c91eb28b970d55d90654a677673df2c21a34b380c22d2697bc92581f58fedd5dcb30a055d641c19932bd221ba15c069c4aa9c133fe51fab75f3a095263ebf02db0b9f4470f97537808cc249c85bc1e00869578c0bfd6a9475bc903c28fc3653a2d91da497ddeb89b0a7ae858cc8f55bc95c0f2b36f2cea72ebee7852967a8c34be55d9cccfaebf5b37d544b70dcf3eadcf1f2671a8f28df6645b0000a5bf50fd2155709eb4e7921bc3b4aa518212f6e78398da6398aece1c35fddc5813b4049d5ffdaa92158cb750d9908afefc07e1bdd666b620e57a0a11ac59be7671b38e77ae9b0bbe5fb0d1be88f0d05b7018bcf336af2263fa472078fa8d81dec26151f19934f27ceca2987046c576f167bd8c01da0da94162d6a0e3a95a3d9407893726e385ed9b3c1e9551aeb865488c41eec66edd6b42f85b88bc52524a77024db02f7e41ad69cd75e4039c1bbd9418b33d3139a99f42873152b50fb8fc2fc4a435fc39f40415e30706b34c95f276abd50eb93122c2405602041f27fcc3fe9e9cafbb873b816799b87fa538cbf7c68ed34550870fda50ce3d18a7c38c4fb445d51804cdcc57e4a8d98dbe07ccea1815bee41b2f77735223fd4166e1edf6089a17f1ffa3290e3803df975d378b220821af468f0b337b8091169cb7a71715348deae8e23e46df24c4820fe55ad30cf78274043882aa7a414238acfa3883a42a24b228c06d5e3c4d0261375b344b42085cdf6ed77b5953f3a7e9e47f3a2f9b8b684711d9fb2f3bd6072e0f7ca3cd2f2d84b9eab7c2078e523f8a9e70e99011f601296a0fe723d294720b674e72b6631babbbb480163336b3e35ad3979bf6dbab3ffacdb6dcf9e4f2bce150d7241f751b809ced0bc1fd9a60f22d46d325436233a68e66e2163eaa875a423f3861a7aeb72674798f7ad47be309da4680193bccc9c5eed89a6fab11149e90ed92c432407d2a62deeb24c9fdc36f995ed5bf097be209296ef72d77ef3c04233dd10f0e95f99402a4e4c632dca2eee34dc66dcab281b78312a27d7c112e763a208d2acbdb21abd0f50b9d50737159b91bc366b7dec571d83d9e999cad061afba771815d15b7983ea2af9e53085060306ae9634b8287eba750a56202758bf7b190f450d320fab3cbc453b2884f93b334d7d6caa20a90afd919fa5f4dc92f00c319f247067e349f451d55154b00e1f59eaab878bbb5ad28ac7a96604bdaf6f86d74391782f3b9232100cd4a76b040f43b94309fdcde3c8480b4cfd753175df275227b9b39a99ced74b4812659f051650b22e7871e1b1dd927c797287e5a38e611f4030a281b1a38f154dae8537633d74272c9adc93040d1547841b481f692a369dbae4725743e43afa9d09a614b315439cb0740b0850c173c380afb2148b6a96a93e54d14df0da58dd398e2b83583a9fb43b58249a6c01cfa54a67a682cd6e03d52d050b0b8b686da6fe6afafd8e12642f9a6b218ea9a9975c02cbff98cb59f4ebc7e084d6166f80f1a84c45a56b35474ba556a38bdbaa98e8edbbd72f90ea9a5953e27c18bd766f001ab306a5941de3ee80293bc6da60e0ed9ece101c3e339275b8bf813216b387e3259767d13f066fc7862dc0caa3ae0504985e597a17fabe385a6553f37038413cc0d6ea73ec370752f0c337bdc71e297ec3c0b357bc4f7b2d7c483ee6f18933eb724ec2658d2eefb645c169fa38dd4b8bb0f31092b4f1c0c02f89bc2f8a9f5e460a16a2d2442ebc5cba91469fbea36e667cbeeb0ef258aef790789c6d6d9b2037d974275c5128846a7ba01540113b2ce6b0b89be946ba608552860dd99045431ab5fce4a1da0a8c79f06e43ee72ed08840703434d692e0a5fe46e973f077856e55e143c5836236f8042be59e6ea099f339b80b5285b6702d36adf127dc6c5dbba396f97c9b32f1b6501211734925eec5a8b8f3996269521130eec45df36add36f2d7e09644410898c4f055f2e9580f01101bab07fa3651c519edc0e118e106b0101d3ef76251e59354627cd5fe81bf177ae5a784434fb85e405dfe68e644665817f05c827e32b2975f328584f1466090606d572296163a7a7e3e13d7d2d3a38d67a8df97247311c910bfae7975f06a222072107de917aff6fc38887c98ebd2574511eee2bac2b7ed53127ae8186cf9157167d78cfd3248efc84980e00799c6d79974f49e47008d3babb5978d1b529ce19ae480cb23b335a3b1b366221b40c12224074f09f0305beef1058aa217cfeefaeaf314e5ae5e52d66eafa7c1b6abe2c5c9cb3a51dfa3dc82df96bdfbc5e261e2f8a034eb8256ee3fbef70963376fc4f7ae60dbf966f2c8cd86b573e791b5ef480f7ad05c22e2a0884008072f3cf7df3177b6a0b8f442f96b5755a40804188f9ca524c1fd542e98831296847de9738235f6ca3dcf5132480fdcdd08a19406027a35cd3cabf9e58c6a27c87d8f9457f8ac372ffabe56729f842f5501872c065cb2c211a66e6cb9f1be68ad2ede6c281c70e7f5cdb378438c64a96e77c4bcc2eaf921dac8c523ffef1ad72a96bd7fd4f90148e9c13094028da15a5bc9f53dd32bbe3e933fd69b61b7d5fba5c12ef18a4be4deca0f30c402feb5c46b48b9bf29feb333777b771d53bd1ffbb613467fc3ee091e77e982de02d0f54c343e502d2f0346fb1414927966a2d6e0fbb01fc9ff1076d686725ae3c1cb71f7662acbd65c9981fce205a7d9d37f6ecb0b746ebc6a5fe0a62fdb79dff1d5f342d025bcf34aaf7dff557ec9e8c3ca4a7a8341c4315e25da032fcd0c42c0de416c14b7c321f1eac1ecd2d800069e1a64193369b726f930749b8cb6e69c23fd0a883076ff12b681b8467c6d92ef75a3f20d65fe5cfa3fb7fe117e5fe61c2365f2c0c5b40407658b5ae83cccb2afc7d5ca737c7072df142eff4be01237bed2be2e40b635a6bc055365839cd6b0087ef5cec867ee634bf240fac87a32d0f8d0a38fac61783afa597763945b40b9ee19fdb85b6a67fb57fdd64efdfedf2e51d35675a8dfa007da9408e35e550b95331973b6941dced3a344790303a682cc01d292adc4fa037192a0f36de2a36b5b85316c93eaa646fa255c91386a2b317c7722c7f86a83ffce7c72b0395e043fa480926f8ff6e979d3029e5d79198b62754f00bf20e99fdf3d957eb14cef9e642bdbb74451a68c48042bb89ea73dfb869bf4239c7d244720d0eee0c2386f2f6457900a54158fe67d4cb76f98f1e0b0efa8d760f71284d9118f0ed466d01011fa6444fceaf9850b418041e059baa572e2bbdb526a9409b97dde0afc07669810262f302db7d49d654748d16635fc8040fb80b1323014911967995a03985225d3f849e8c00114c48e3cf0dc304360a51194b1ef822619ca875717b3eac2c9a472f90de693798a6276de02a6db845c7b8f0d145f207e524c0faccdb82436c07cf9d420a7d17fe8efcf1738e1cd5c60f459638f64333bcbce2080084881e2bd9f9e700f266455fdf2017f0fe7103e3c7e71c61eea629a26fac30f1229e32cab332d53b590496d4608b5ca9886e1105b8959096071c06265e2197a3aa7d3dc2c0a2540c2d5ad9b172b92bcda1d84c83d89512fd876b00cefcce47ce12fff9b52919b4161050def30409a7a3a81ddaf85947948f2f6d14a6578ea2f2d55c5830d3ad0f61ccd6c0ed8903cb8c38e424db0edea593ab5b2a13f90e3b969bd23bf1fbfa65c6f1f9af2e77f4e0885c53ebd1445bb3129878197b738c57202e919289dc489619818e12bea531aaa292992f4a7a1f203275b21e95dd31fb40ca09392cb58a2ce58647ddff22d7e20d4c4abf971b222d31553f3bccdad89e9a5b522ec31b67876c767a1ec7782fdcef031eb47f717ddaf04d603a7a2e4544862d54cce6ab82cf1903d912efd478773ec20d7f0205dbc1c03eb6007f9d01fd62a6352e9fde5a68eb4a32efd688f4b5c7f19b814bbaa89f33bb8e2277b1276ae33dba0380709903939aa03b281292bcdc06125d148be76e56c9cb0d379c4de29ac887537f5773fe43cdbc93a621c7a43c536f8f3bc50d79e2b51b288e14c24ccbc4e51e13e5817f7b762ecb49095bf522faf953bfdde1abe5beb732861a4c66fa009241e66b56a755864b6a0c400781c7ec4caecd6ad81afbfbc0357745cb91e3bc74ff59b7ce68975a9ee49d19c7d36a51fd6707c89e25069d081eb3ec74337ac64a12c47e9ffbba4e1f8665be6862bc547ffb9b6e545d01e1321e3c8011445f269696ff1eb47a32e214cc65034ce946188f257fd4bd8b6770aa2eb07408bae313fb5d4d0b6a6c117d879daab9b441ac4429ca59c33bbe5a28f229dab51aefdaf6eb2a85c63f73bb7ffd0c7ef1dcfb17cf815f3cffc7bf0b7351306efbf20a665ab120f552f495c6338d5dcd669ea8938d259559162091c4d60102acd828da381605f11fd15bc4a6c5c1e33f0e2f09dc7c1c5987caf749b57d1d052f60f8612cf7e068428bc4a773c6ac96c7f976436670abeed351c161efda07072e4ac6777ec142f33760c780ee5225b50e9348ada5c6712036f1d3a8954ab403d11acf27d9b7312f82ad1cb380db5bd3e138575002a540603899e214fef50f32cf3834e74a3d3784ad32b22276e10534ff23d85160dda452f7853cc6ab77962ec9d233164c8d85ced60fc7d09ede3157cc697c457307a04873f40f7bf965302751768e6565893e8d9414d5b2d5b021de49238898f14e17eb77470cfb7fc611231b8dc9bc585b9eb15bc62be69dce4ce287c63df713be834bd41c2c509ea47e13d0106892d098a7ced988a0a926c010f224a6ae59f4beb2cf5ca26f3dd97a8f10101eec93f4c35ada0ad1f09d72e26baf9b7287c5064ba4993e81b97bcaae791b676230d64bfc2d984312823acdb98e449b5eeee6270c0676e302af5ac7fa492ebd1c49a9245852b4013d6a36fb8f568d6f080fafbdcf8c9386bef2e6e78dd9163825f968ea76134992035ee853f93ff33439ad01aabdf6525d9ecef4da2d2e33d07d03d06cd9b74f21713742f464d429b4016bdcceaa60075da169946de26a0594d0bdc47deeebd628373dacb7ef0626d0e881e1853ea5ffb39798edc1b20935999032bb7a7feaa394b973e630394c34671a1c0ff48ec3aa9eb66340ec69811870a77eb4bf0319296ff83daddb753c12285bcf06581ddbe08094851a1c02753f85818db44d7eb64a1b08462dd64b20c34758a64d60905421d63e71a221e63f29d5b943c3c1514a6cecb9f7e2a598c2e304bb1c07634059a68fa07a8919cdcd28b83d3ddc55c62f968858dee5c472e0a5e9bbf49b8f52bfab7afc4215590f3d0ec70541d5333991a9eab3cffdb4ec17344699a3a662f344f4f23609b883b7ef173504a66c00587359d73f3db3ba7f0cfd2c78a7592f64d291e0f8bae1a920730524c73056ecd4133804ea58f3d7aaa095daaf166aa508aabacf1dea3c095ed72904929f247e805d8f416942111daf1a67b9c91126ccef1d03e8970cb035bb932a710e163cc0c55c3c74c931380cbf4175a610dc3f30788c86037780ba84ffa5128041959e941b27c2e2fb8a92426883c42ab517af73d0d1ac36a3e9b185f0e32c6ebb4ef45a4c82c80efe2f00c9f2aa7149dd002a19a3df6afd84e9970ee7d71e136ca4cae86db55a0118e97170081422f98baa16737e6966b343a8eac895c2317275ad24e4e66fe362adba4f9950b8049b419bf9385e4b47b12a0469800ee319e32d06ca623fd0fd62d42c27926fa4f642468c151f7d0bb66e193ecb6985873b40ed2c7ea82689fcced25bff8d060c97c21fae9d2385910f0a4455d33f521533d4a61393e3f8149c75fa06dcbe5f414cabc7360b3cffc2c7163159436043a83c6c70a8e3604584ea353b276d62cd26b6483965c80c0f81ba2cfc139a5d164e3c857fe55d5de2f7581688d920d623a1dd7c62cc40cca1d9bc78fd3cfb11e3ae3d31ca49507c02e0b915c9c83c261373fdde26c10d7772c906028cc81e2d087212eeaef77805e1277808d47efa1fd0a0d5b644456e5cff4173f67489e4511a05285fe439e9581d6d784847edb8160366f65d15797b25ce937a40fbdcc13d8e6201c12fd9337f9affa9ac5c322a435d7c9cf015a15ea649d6c71d7008944ce1af1ffd0359e7738a441a05827fdc57c5b7d0758ea2abdadfc9724452701880b11b0485d83e99269adcb33126b2079eb025a6a4bb3c3d2dc3aec7c37c84a79dd526374a2afe6ce04ec9d09a4e0de5021c028d12bcd8f6ffa92acab4e687ceb00d8419e16e5151c5b28603a692c13ce63e73db5c8d4cf3ee4913feabdd36512c1a92047552c05a93ebf84882ae5e60674537d5e45b9e215599be9135d70b6dbc7cd03042ad0c1c02d529fd6b55d0869eed956b4c08753d976bf51cb2abbb1a5cfe7c0ac861094db3da8f051eefeb340b4e011624a4af03f74d64be34de1888c514732778d7697743f9b6dd4c796133777fb2631ba7d5731538040a5bfe6b55e496902c41e30c0384ba6227d8f6ee05383f08f72951c13a566971720dd4ed2f3d422a2a5e8dad697ed907b09f67928bcd54b552e2109dfbda947fc90c4d208e7bdfbb3fff24d317ec18ed098740f5327f51d7359ffce3a86d04d5ac76c127af12cc9c223c705c33f84c13b0ebc76de3ad8c3374ab8b3d51d85cbe10a0f0859fc6d9a72e2c67c055dd2d1ece5661bfdaf8acc1ff5c25d2245a8b79dd98ed7b5d1fffa22ca5db915eebed08160eef3220a1833ac6f216a43cff5272c72a59b5384e60e701436244de25fdb6910020145b2c1291d2407bfa6eb819df344c8fad922223981326a18aa15de5056e4b061c02f593ff8537c97ba9aa98a922a806879b56ba7c052488d4fa58c7ec19e79e8a72d553e759277b44ad7d3d8e11e9f82270c5a93719f39991857e42e6ce12bb5c115dd5035467b3cd116c0b66f7a8ba825e7808f40a8fd095df7b8fc15fa3a60cd3aefe186cbc49da3b5d42225c7329c4b91a1d1c2f3188cc711492be52fe55df267c3f22cb1fb831b11ffad174a814a81f220a7b3bc6965294fb22a77e2e7d71cb3549d1d3cc3b101e02f57cf20f6890655a9bb237f07ff42a0099baa9896aa12485db1629f51cd2fb9cf70b34f0905efeb10e871d4d39b368002480192d0b4951eafe7ad7b4c860d1c04908acb2f80df3bcb68c17e07a4ceb263c04fa62e59fd04c485e7db0fb2f1a88ead54f1b925d2d8a26c5268d689eee71a502076a710c4fa8700e2ba39e94653c070cc2aea4354595128d251bf8b584519fdd4c8f73f72a0f397b710da37957f605ffe5260708ed47acd107d9cfce5f1ade385b8f6abc8c35eae445b7296ac004e3291f0c2bd3b2f20f2e20914f5353560894dd554ba0ea5b03e47916b317d782926ce4dfec5c1113aad82cf274a9c177ede11cef5ebcc93536710dfe12ca970b036b4ed3fb82fc7f923334af5dc5fd96341dffc20f57495a3861eac87a0f2b7e74d0c839268a25f6a9811a3729e97ad8a30fea9933471d00afeb386aeedd4265333cef63ad13f61c62520cece14e558c0c8f82fb3c06b909f01828e80e0cacee42ea0b22b08b4eaca6e008a32061a131354e94bebed3c2aabbb3601ce8e31e9be532d9d592398e67bd8d26826ec5b370a61c3ddfc238d8ee3747d1d18087eb7ed14a9d52e2070b158c0f029288d55f6e807358f8db06def5cef22f3ee4d7d4e5e49d03aecc84450bdd2821c929c09022ecd2b0c27626b134af730c367369a8ea5e2b4dfe8e05878155451b442fb01e4ce9a9561160d0d4f9dec51239e9cae6287e5a10e8f3d5a7bd765108e9bfb0009716b061e7680e0a7d828554d0692e3db8eee6055616377ba0e6b81ec8f17975c7ab29a7e7d013a2047f87a799d357a6c5ab9aab7300bcbbefb87c2a17dc6c7a1721ab8beb18b4c845bfd3a599bd32c3212e28edcb6b0d7784f26d09c1c0cac8f53f6dbc40b0cd7160c90e80d0bb94c319b90fbaf8dc0a929969d90e7ba78836e6b76fc5857e207a5b28443f287d0cd818e6aa538d6c4f48f33cbd2dade51c2290fc6e0d2a89acc1760b13865ed9dc0a8fe28381851d3c2f6c11981d5d2a52046fa3c83d5db30e239c967d3bdf10c82bbd1454254d89ff5fb63099286e16d00ad4943456ed139b8a31150ffc6077f023d45ceb3d493fd64d81fbef313eed5772354ec982d1fbf584c60530bd124ecc4af700dc577e0d8ace8cc2653693a16ba974c17795bd9b42b2bd5bb996b09fca76555cd8621b06e61ffefa1726785ce6cd968d3849b8a71b47469ccac37d9332386f9e65de4dd63075c5a4352775d7e5ab995d9052a31840d0a69a4a9269fa30c1f0c147acf4033fe203550f0b4669355d3f86fa065bf42b97ef2fcf160ccc19257251fcfc6ae62750268cdd063be3ac07548a1604d643287c9db0c3469313b9d4ca3d5c545c3eb123fb73922cf99302d61e070652dbb78d217b9c829dd2a338b6d5f739131b35b73f537bb42f07887422c42af224ff1d7df509418ad1cb2080fdb896a433fe8439f40e9d4f19cddec2dfbda1c7a678d2846440d178baf981b10330d56f8818782f9cbca3451dcbd91d8eda819965fab2df1c9f532053982cb30a419fd7edefe8879be004b1119edf5666a3b6299666c5cbb1db33fec828ad5d7e72ca4e16e350f890b4654437d588aa0b5018ec7d1eeda957614503751443ddba1f767cff744484e19bf46b01ff2516158464783cbe30308312d245f17b5156a0a9d9a682848be8af17555d34620f8a33296c0e144c06546b901b5a7174a3b26f035c8eb13016465940d25930846b83d0f3b3f558b2916270973bc59d0ce603993339ca683ee9acd393ffb83e321b81eb77c246401f6d0a1fb15d1cb3ac9a7738fb42ddd7994fd7fce9e84b0fbf39ce6e0416df215ba0385e6ff1129806e00bd7660f7a547cc8bc92f6543133752e6de3d4008de713993805d26745cd233738042a91060353721bffbc8d823a9f74a523f618e24e6b57836b48bcaf093b68f928695d47bd02943ebe4328f0124ea7be92a4bade076058414e3fb5de7e77dfdfb9bab7e3b3bbfc504538a8a50add6da13b99e17d8ec1a597302ac3c0c4b82d17c5cf090a4cb86ddc2ebd44750451128f5a76ec8646bfb5eb5d5adeb4dcd9e4deae5e8ab4995764740e8324800fd1abeaf3304c533acb1e53bb759446ef374603b2748fa11ce50fbea29f895e1e6e0b42b9ebfe8efe5b475e18e7e55bca84c3a4b7c2c06b2ef97122a12e653a3875d599debe550d4af6368a5d73d93a19e03e321491f32e855b7b0ec3d1a51f242462a726cd359221691b1cd29ebf58e3b8f4069b3404fddff206e43bef8d1f0a5dc4dc75c4d6d6c4c40858d2c8c1da6f4df7dd684a7b394f62cb3446589dd922715ab8240df0d60c7bb0bd13f1c192e67f94b1ec92a2f295b33fe81b84095f36cac69ba917bb08c9d0bb11b97eebed195714411bbb88e9f4e1523d15c6858616c3a47dfad3566464641fa28ac41dd8ede1b225068837ce002cc73a72854ff720908d8a12e216b81d65451c03c1c4a06de86ecba80a9572e32517370f0c8cd626e77d51fce6dba30f268a1dbcb017bfef4ee19d5a2946a74f4e8bcc71cb142532c6984f0bcb82c3984c292bcb391300c3b3f96606d4948c856bfb2bf73364b21e89f750a4f5f85150f1f936c3bcb41c2eb9f4bc10b97e2ba633275d9d36f0c21c5e8243f4322a3a94895be51189dbe2373f671fa3aa2957dd96511f32dacb181d4b01f87093331550319552296fe993dd160cc6f36650e06503611bf39780ce07be2064fb551dfaa75ca03d998ae1818b6399feb84509424e7aaa878d9e0f573496a4943db1dfbb2d8e121d10f0482a146ed10390959c54a99e256d013acf9301a921a708370ff1d5aa2bce6389046777ab6b172eb9b8ecff3197d2fbafdcf41417bd7371c20d365e9fcd52c5a36f6323acf1716df58987cb96a8d1030f4393377bae3400024e69f6833bc7aa02cb21ef7cd4ad72f3af76447eb1255a1798e929e88e7b7b1dc1bf8affb17f3de5c5655ebff0afdc7b72c66b39d97e5f846c6d1d18a855cbb52655adeb6af1ab7ca6a3a10198848027260d4d7dda2159468b5f32a4512139a72054e5beaee84bcfb77ef79e25d78b9b5e72c961fd532e301e1f01ace0e2abe17eaa8a9c465eed8def566e5dd1fd41380684746f773ce695c6b23ee930b2573920c36d2bc8edadbb86853b1eb0100e99dce6ccb3f776d7040f06061466258c75bdec3f756e2170fd344bcc105d9433fc324b8e76c44907dabd2b0e5f9a366a5f1b64d43d80b053e07fcee3b19b66d00dc12683a103a2d569c6f93f034ca1afe8dbc512a2944f71be59349f19d9a567ea3861d52a955edac594f836fbd1a249200ffe8faf3c0abd3944eca0495cc4a13cf2094d320d888973d7f8014fc9cd6f1d7cb7b1ad00cd3cf3f732a60cee2ab2bb65c8fc3d9191e4582f431f0c79838ebe66ed33e8dd7f0487401f73c1c06852893fff9658bb99df8423ae2adcd2d86b15f7bf49bdd11071f7d3fcf61ccaadd24a9a4177dc227a7c5bc6060c39802f7dbbbcd186374ae29c6d70a5173e7ee0e794faca72fca62a2fb66ec709a411fe040a5a85818e4cd37e19633b066060334fd58bd14bac26487833ba4b38f97fbe1f868393475af5ba714fdf360c520250d755d65ce198f0eb3d7c34b838d86a643d905ad75b2750e448e80b8af69d7dcaef6ab87fa8fd658ced28f0860816cef71e1af4aef57d1ce7e360375bbff06aaca3992a59393a586793bd202023edae68d8ebdd2637aa3164e6cab6b946d23ecf643c8967fd4ea2cab6fd7ac71c77358f3fd4fe32367a1458b61b335093bdc92b0e1ecd62a7288c4167b2faf6085d889b1f4e070b68eb7b0e60aaed7a353448542af4d58c5cbd11d33375d3831e4677bf93437b590fa4161ffc5d4de40fb51956c280fcee58d9f220b3a3e6c417ce8e6fce84086ab34edcc951a8f35b23d606094fb26b0953ce25dd556ec7760163bf3e50ea9deef303eeba6857ad732627be90900cf6a990d43469ef14a978216479809aada8ce3614f7235af9df6ad123669307dbaa50a87812b6d1abdb2807534fc910da6df1e5b1ce39f73bde433b93269a2c75fb371f35b94305fddefb047e49cdd44da205ee34b8ab0d637c2a951e570ff44ce84323c89e89f8baebed3d5ecd6e6202e0f9587e57dbfabb5e6235cf2044f22100ce594d0479f512626e2eb480642d6a5e9a54b8e397c5b7ae0360171e738bdcbf7abbd3b4e461872ba105d3e12677105a0a5ffc75a6007a540596ef6a447fa8fd6594f928907b7bd4e0304658d3f0399145bee259d62dd6812143acae90678cd67b013efdb9006134851c452def1ccc3cc8de7aad24089fc7e503d9a445a6f9fd879cae1d23bcb6dfd515ffae97181b3cd0d1631da21574d8bf469c702e96b32f5f2d9f3c43b4d5f79c333ee4f53980ddae908e471b809215a88ba6215ae54923e53626a6d93e75fa9c2d56436506fe5d4de60f351f6cb11c22cdf754b87df77cf48aa6b135ad4e29103e2c9911381e9cc1239bc7f6dc9c283453b2ee1b4be7b3a52bbe7a7cdb125154103831000dc581ce35961635cbc72bdbfc8f1dcb0a9aa749db91df3fde3b2dd50b0bc177fbae86f5879abe57e9f3eb712f7abb86cf80b531f2bb429282650875273e637912de19ecc2b55db15984d1c65ba019e36c7d6c649234d3f16c2bca18090ed889681019af5d71ad4fad1c58ffa056fdb4808cb6de30089a4160b8659f276afd5d6de1ef79c92820a182cfc857260fd16d7a7088adfe52468025fcac001d3d52639c7c8ef1f09039a0ef193404d7cc73ee8b74a3ed822d8bca27953d772e91ee637ce067bcbbf655eabbdab5bfeb25c1f901260bdb84d4197aeb42b5251ce5f18b674ff892761ca8bcee9fa5f776ea08010ce9dd114a79cb5fdcb45d2104e356f7a33ad0ef0a14ddbe4e185ac3f0b98872fcbb9af7dff592114f2723df199a2013bbac86f01491a463bbd7cb527bcf92ea13865907153242012ae4118a3c9006afa2c85b1a4a96d165e31d0acc6c5ea3e3bd5b72f118df82ebbeab6dff115d4b467e48cad75953910ab5a5d91a31602aca480f369d4123e3f722cdf95427ec6203d0b0d274420527c965a0e54f2a9fcac463a13f602ce7800e585defae1487d06cc321bea047d1dfe5527f9a353af596eef8366206e75cc34c417863e629f5a039d964cd9dbb2855f82f771882466eac898a28781c8a00c685817271993f541671a41cbb6cd0eeb1675fa0a42f874b57f93e09ce81dbaeb5c2215076ba26140d0465f0ea7f7b8ea87ab5a09138c616357e68fafd7de2dc37c991acacd231c5ef0bbe1637e6dc14d1d601240649ac18e926f6d0858cc86ce98cf2163c2d28218c9b90a4878e1a2c9a6ba9b50760f8ee452456fe85f645e18bbaf529fa3e15db549a01fb79ee848d54db4e8ba287b9008ccabb16b6b699378ff8c967d92233201a9435b09619f252c6a56b7589cfe1fed9f0e0fbc849156be53ffe85c2ed02e4e24fa5c4f590f35e89e7d7edf577653dfee2ffbff8b578034f55df0a5752214d7cbcd83c15711a36b5c5a05a53edad4a7756153c380ab61700529da6643b07d7fb016d8d4d6a9f9f5d1b9793b7883f3af3a8ac133bd9f15987f7c143a0d21e3010dc8ffe3787a6a6ae3a7a0f5b7e2c55bbf82c4937464730ea65e7d553bb15618ed6fc18f3d9138dfe156539797ef5cd1980d1c9f769a5d257757f677d713d228b7d7d74fffb644dc898226c9db201aa778abfd398fe131a0b7a37cd45e03ac74a71df3d704f3034f8f3d6fac8d3ee145d9cc0675f95308a45d3ed98cb3201dc67f400ee0970a4a4f5c249915488f167bf887bddae761237cd5d2662d485129b4e8476e110a8a4c50f9a9fba220e159f6823e2d06b9759acdd3256433e912f97d0fbb5f8e8cc46195adfd46b9d014fc94d06d9b94540462c312f4a0c9bf72c66a9779579a0e36c63eb9dcf80de36abe6e272bd5ce52e04eee80b2292fb8500c92e6bad3c6212e04d9b38f04b9684dcf9e9f4d6928a47dc1ff7a5d583d3cf0cc1a7b4533d941f4200479ad9f4f5be0406e3b6fbd1cf1ccc5696ce0f1ec7b33e4ab8517fc2b90f094558bfe0d185810e82442e8a9f1368269dd8725f66eeb303515b25c58c330150d2bf305baa6fb14b5578df63738df6acb096d80f2f7b1507c830df2f0a972fc5d1c51212e9ea4567dcb1d05c3cb892bb6f765010b5f2b11ae672fcad1c87a0ff7b6eb0124bd4ab77312fe91a45f35c661c32b4972a97ff0aab04637e67c3b569bf74827506f9b62b52ea05589b9670a6e8e506dfc3a6991fa204dd10be15569f53a4bc7a6335c1e75c7faea3fad22eecf9301061aef75f27d4fef7bdd0ffb60bfe122be311c7d390c9af19a265d87d9df7d02d59cdded500268f45bfc4dbdda0020442628956f12c91e73be61ab69de6f424e788b0873a3a446be24d0fdda2496e5fdac53208065a9346ba287ed32e3b866214a1171d87163ecd7ba7e34d926624a24cbb0eb40059269391de7140082ef6767a6392d96d0a78e2bd82c3ebd5c6ef0df541295c7963fc10a2bce1b6598ab55d668b71f3683ef8d22e2a9b085c3f9daf0547a8620d5cfa4b60c11354de5bfad68a83a56338159d19653d8afb58f6e81dbe0c9c3d3aac3d96001f56f04275da17c5455ea2a33576e7ca9c99ae5a299dee1aeb2d2a0374de58e834c26d3aa230d0346acb450103d7fc73bbfcc3bb5d2e7bdc6bceae0309c43d205d0eb209ff87e6ee0a3cadb4145aea9f1e491497387bbe610178302be4418118a03d72ab143ebb5dc3c0a26b0361e306138e63e9eb8de9b4f297e0a49408e0f6b9ffbf828300dcab332b2f9327dcebe782b135ab44aa955fc9a2bdc7969e457aa4772771f7963f04b0bb23601f130c7b92da6fcb2372ef419df7ebac5d86d36b04b2feabd45cc594f72ec17934ff97e06ab8d0fa2b021bb1365768153286e230d23d448ad324f226b2c6b4bf1445a20402922821e504c574f95169c5c5ee05fba1f47afee24422a71e648be301a14221d7dd2ec1ef97fdefc0bd81f382f19d5ab161cc727688c20c86a70d5b2a69e120bfa2b219d63dba3727b257010af764ac26621d27a905f5d07b2d21632d121ad7a9fab629e6b35cad6d50e2be5c82f3bff85f5afcce9bfa324ca23d452cf3fea4b357b3a1f934d818db96decfc949243dc89db8230059c398c31aa7be34a714925b6a0cbaee47df38ebbfd5e4bd37ebde6c4c967a87a27c096e56f5bf2d38c75d9f309604966659250e12ac6cef290fdce2edc19035c99ca97b93167d25d400cf0873e222ef635bee469fce7cf22e91abf96b4d280a544649eaab2efe05419508168ff95f82df76c92be17bfc72a3721d274491c38a74d9d771536f3d11d87892e5b1555ee1adeb00f97441da12465266cc63ede1d4e9ab5d414d5e523d76935fe47af7d9d88a5410ba430b43047077d5e8bc11ce2b75f551baf428511ed80e50f903320cc73f01ffb3ffec6fb8caea70ad47d7ad5b94b69f30c2734b0e0c9dbb7d26582d678838244b952b98acc3038c1e5634b8e2531c3295aeebb223bcdd2dded3b60f2a0a502d25dcdc9f5b7a6d94067f02059bc1407dba26bf3c1f3006e4ea8e423897e4d571d13f251d361f33e02b63841b97581be9ac70dc820f92c1002231d24eed071548ee2cb0ada2e8ceec1b0fc6158255726ed839aaec1214a9bcfdaee6f087da5f9e31180590371e6ed099a98ee5a80f8bd62ad71b221aa312fbade7b8ccafb356b5adc7b1d6030462181e3253be744ee573105cdcc92e61a1d6cf6a215f8300d6eef719f6f702bfab59feddbaa5551092e01c924fc704be7ce1c46773e87cf2221c0970ece21d39b887be6c560c3875353487440ca83ce242194ba4273e0aaa418508e7fbf33f0a7e0dc87c298aff5dcde2efaaa5400014ab5ea55d7d8c091bf00ec2fae4abe8985cf3f23695e4a99a6ccaa361a351188ab531e186a06fad419bd90007fdfeca1764fe865983d4fe327ae55d6e4aea0278b44fe5c551de8b2dfa2e6b0c90606fe75dd0a7b2535fd228d94479c61b813785bca8b9af8773ff6b8bbeca7bfb5a388f0e351687c12059a5838198f9a4f60085c5752bb097571d9758c6beadbcabf85044bb8a745ac14010004ffcf8553336194c0498eb418bbec9d44d735fc5117ca328000914d976b7e02134cbd96f1f3e5813e7808740afa2c140dd6dded0a282df1921fd6bf8764133389ee5af602713ce7da6556d1fec5533a7606dde6ffd366f7c7f7df46ef3ae28a03a8ec1239511206f444ca9b9d5fab538338f9719cfd3cfd2ed49e78dced350775e3804fae20d0c94ec6bf5f328347ad7c127206c8409041e331fafa4acdb308710a6f530cb262185a2b786fd8dd2ab996c39566c0738c30037ea8244ae937390d833baa74927a43a8088a19fc19ce6842a24aa0bbae3c80887409d2a7ea16adf73bf1e1e871aa01acec78531f03ef080d0ab54c142649248d38b9c1eb5bbb42dd2fcda3e85111b0840d52ab2bd1769cfee710f63bad3a5eab0edfec24daea31adc932729512051715e7008d40bfb17aa2fc57d8a06b111662dc2dffc5c990cfb4dcb1ef9523157859f28adeffb6e21c9f90ca6ae7f5894b27307a492878aa8c1290cd0555e3de40518be2cdb43314cd5090598ec0cf3b0993eea221c02f5effc85aacf0abf322162c45d4dcf968ca7814a4f80a0bad5bdbb8ff3206603cfacc8f10e3c7b510d64ba340200a7374f1eae6e656f8c58a97663bd68c8969ebedffcf45b6f19ea13f7f392d751afe110a8eb9b5fa8eaa0cdbd6a5841509d3421a85052a98c68cb0f2e3c687a8662821eb28c36576ea32043ec77c701e4f914d0bdb24ed015533a21779d3530672af9fa63569672955d3b654d97b367d67d2a2e7008d49be017aa012c79a428de8891387bbe340ca8d8cabd5c53eb7a2b0a8e66a6be19f8a6eff2362e1eaabc4641770136c6350396446b15862cf23c89a4cc99cfe99ad0cfbd16025c21afc4ed85d4c8cfe110a81fca2f545ddac6069011236487fcabde5d7d6301e915c2ec1c35d29378763e031cf24aef05f98bd1967a6b2001b73bc7c39df405de34096b73ce8b3f79f56aee196c2ddf9186644394d23c33ea0d1c02755efa296af068a2f6370304d5b4ca15e7583e5e8956f7b3071562696243ec893886be374c506c32aa66c294c7b7002df707eb6e67493338821833b35184191cfe9c681737509b08346f67cecb92ef5d9e54a40160a0907aef8bc217e5e8cd4f101a891f201b979bf8ac6fc41678f0833066a4391b857339ee230980e7b5cd31eb34c502921458a3730302965c7b2b0d1e679fd0fb25d9e22ce702129b4b6f4dbca50d2d6eafbe5b127c56760920b58000804a30fe770040808ad0ba5301c55736d6f33b76fb6b54fca2dc2c34f55f76d3b4234c36a76a0e3d00dbfedb21becf09478528645c35465cfcb66cd6de89a0157da45f79ab10cae58d7339ab53e28181385c2e6120cfaf2ad0fa873fd13718220dd3be8ca21058e9afb38a58dfc973445554383bb6e70f4276e4f69a91f249f44c56f160fe9803f09ab25c0f07e5562f193c1653b8df6b1cb1e7ca8bd7e793e937d1274e112cb17639dbb5defbae4ff95dff1f343ae277fa72c51d63a21be1df4729ad09b88fcbe9308bb8f3be658184992b234d6a36d73723cbe0dd78df693146870608e0baca0ee08c58072abb442d9e992aed4439d2a27517ea4717e92cba5347f92124227944fa07173334daef77b88c0dbe39195c0cfb4a6bf86e399836d0b56b07639fadf6c4eea9a6a0bffad80cdf17e5a1a7cf0eb400d4654ed7402eae36df9e14bc39ac3317d7d09ffb087fb1db10cc21156b6f1c8a60afb4dd3fb86efca6bdb45574fbcf80eff6b2f49ef034bc3387e7763773694cedb8467f81eaead33265c51261c96af1b1a70ab4001d41b5194b891c87c7cacdc01119dff76df04e6d52fc5351dba0f25b3c3b4207087ef439df7eb463ff733fd2a9ed153661ffc38f8767ecb7edf26a7c16732b6b169ade2fa68406e87ff3b9651090fbb967914fb40ee07e7b877bd3cf9a903edfa87af532b10ff65dae57c1a1dc589e2dab8941f4b215b3977649678381389c3f7dd77f3c9b76d17ac58ebe7861978730c29ba6cae1644c8523edd88558d6e3117b21af38ba72c9e5a69225392c798187ecec2b8efb01c14ff3bd43a2470c67390cb8b703d25b45f6dc7844300ebdc7eb4093e043d0e877320cdff1546f18e8a957832f38ea5c79b46c5746ebd39555c2409ba3c2db8fcc6e8c9af4187ad7814cde00d23d3f2323e359c80597fdf5513bf3fcf5cdbf7c5e80cef7977f00e49f81f88f782a7ad9987cee31525c34ca7c95d957e136967e88cfc1acab242eb51aa5deb4ef2fc72d811a41b48180bffcfb48480bbf782e0a51d52be6e3cab7c52905171d743b572c65ed86af7c42e72860b38fdf3a67d7cfbff62d87d8cdb35cf09900f4cb0e12e1b680c27754ea46a1913dd5cf3fdf4bc23025ff85400b08c04de2d7138819babe7bc06b694910ccfd68a573dc94b6315e3545608a317e9008b8de71d32d3e2bc1df83c6ee5a0fc3cd37e85cc910a347b0791fb590b303323cab4b8fb7452b8181f49ed25c143f4d950492c5c6ed4dbfbcc76c4ffca0fa285a3a07cfc48911476f37ac3d501343a0673b772e0b77dbce9d641b3089ee78f02c2f3d6ec2f10fbcd53d7a96213b491ab928ca65d66f85628c0446e4f010a807110c7497e5771cf9e4bbedeaf0affc18f976a2d4713e1a2d464b7e363b3c4c1a1e35eb033b1612f83c52161995b921c4a5e80fd0bfacc35dd11c96d9ca9fab8652e87beac0060e13f44fccb6842205ca01db7e78081466fd4f68d2da6b3120ffbac45ea487f926a42578fa20fe6ea0d833899d4dc6a042e16b9e9d768f55a17719a23900645524b48f01847ca7d287586bb90e7a945ef5fab7e157df00b475310de598b3f010236820cd3fa1490e277040e1fcd7c1c8cad7af4fc8670627cf5396ae60a749e7285a0f326236cfee898619d950fb4a0376c4150e63d732ca32468cb8f5eb872c221f8055ca19c02c92996e90f9f5fa107808d4b3ea9fd014efa3a32a3dfcb1e516db5cf4d0ac156f7842e39c81c589e6456aab0d5cb8ffb37b16816dd9e375222137e0cef31ee3973407e3556fba8292c96d16e0b68bbba566eca164281113bd0b9b0fbffb4df23fa1c9be6d2de7b5f6c3368bd55cb8f5e6aa56feaa294b39210ca5e8b179eec722d73729f0624cd4f9410600b67e1eaae4db71e24883b6b0ce24d05eac4829c317bbfdc9fa8a3ed20db7f25fc143a0012cffc88b1fed52a7a12ffca0e1628867e98b8f6dbb961892b7fd7a02deb79f18f1d0542ebeb24fc1722c135c0b18d22b054ef540572a066161340f681fedb38c49a2dd7a9ef26517fb2fa2ec6c080e81baf4ffa0f9e9283429957ad70f717601f4904d28d6631db6be04b79fb5ef1b16c72532d16ee2b3e341470259b69d5203f299df62d3a8e0841b11f95a013459dbede074bfd14ab5617101279eb0b91dd31a38040a3bff856aa62c27cbde1ac2fc2d1ad5b9705b2d8d7e52b2bd35bc46a28632f3abac693901751ad7c753238d0f12805d246aa2243a08ba4259b5b8f41e6ca33b19c2ae8f7e2b2b427fbc70fd7acfdcf7b92ad52f54016bfc16ae8708aa8debb30322391a2341384a0b2cda65944a79a6a521470d372bac3dbd358222021a00c2eb74474198c43b32458e49daa669a1f7bbed52c88e7263d12144c5228fe7afc39f4113d67c8f15603f3d135a4e0ca27fd685a009da7a852774fac17ca45c82f275d583a3610f330a45d01457415f601ce5689238f000857e43025f567851f140b0a8700c1953060387a1fcff23ed3cdca9fcff3f9ebde2186564249991993d52246425e238541b71649eecedb61d1f1445e66d66cb1ed991bd13212a2bd9e370cbfa5dbe3e9f3977aedff5fb9eef757dfd058fc7eb79bfeef1beeef710b7b9ea55dfcdf050d51e1242018de5389959f83ce124d5584cce174b7844b75b3d2e7e731713ae87fb2a371a5f0989e6f7d8bd76dd555e59572214bcdcbf44dcdbab115f0a8f7c8b68184bc713dfaed4e0afea4ff3110b7520d8753e61227032ab0f278ba7b017dcda105b4e36fff08b217b27919e72fb41d7acfb065e6d403877961fa5cc6347f710138cbf44fdf3a767b602ef0ccc62d896a62cf73945e043d205025a79ccd78b663c1c2114d080c4c98c280ea3edc05e5afce938e143a7ac6551647943c17d09a42ac69edb5aede3cb626eabb921463a99e4a0aebee16d19bb4f1c49d7ea10b24f21ad797d590aed10b4c9ba9be76679ef2abd3ea9f30d4e66bec3280cfc8c956d25936d10e6bcbe4aa382d0abf260be518d0b5fed5e2338dca3c45fbc7d72419c0c1fbcca25d97b6bcfd5d984473efaae88f34433e144fdeb269563edec7cbb963e91540805a4f6e164d6b238a63aa862313345044d06b32fed5ff6b554f2b8f216297b7e52a3468cf6760b71ee754b8f7e10c46738c7b295a77244407240556e16404cdbe1b82b46faa55989d6308d408c28014201d90e38994d3e98a9993a2c0ce672f2ea26df471aafd59817bc305d452d6f1daed296cbfa6eb98118635f98261e282d728fd975765230856af8c8e6f32f5bbad5186a3882523ad0672ad99006eb368402d21470321bf50a2cc37f615d4fd7d8be12aba3106fd4f8cf200e0d3f7c6f0f83af1f96841b7ec60b1a6e6b06bc06e9af718d5c5f30b3ac55e71a6101b75ba0132251a60df375c74f8828d7f2ad25f7865040290d4e66e5f843ed7c0eac3a0d318cceb33dac9e3a8edcf7d28dd5bdc8253ad35ebba0db9c1f1e95110f4e9c0769fd84f93957837e3cb1e7d9beebe558b88b34b11e82d104e01388cb172890b3432820f91c4e665dd2f8d13f27f4fdab4ed9a595c3202a67259730e93b78ae3a4e25d34d23ad77cb78a2021ddb89cc460a9d20b188744f516eee0a1b158ca70adf5fae9b33dd3c9d937fcd3db05f8feff78e63865040e60a4ee607b937bf16ec27aeff9cadcd30d70ffdd28efc02b21a9d5a2168f3d7d1f85ad1916523c5f7982d6250d53c6789750a9fbb7f00804b25b1a3ae55cf56c7b357b37d91023a9fda14f78614420105663899ada4158a21d8cf5b7f214c5de4961b872e85374172e0b1b98767d7979c74edd5b5c7dfb7c3f532be80cc63faa0fc94378a732683cb155d1e6d0c052ca05e69564094ae5b86958e0d0ea180f4799cccf692580f96582ca6c531eff44bbbd56285f781d1fc55e1f51f053174760fbf390f348518f55de42821022d2bee8fdc4237171f4b9bb9cd0f790c2affce497dd2ff54d53b783fcbc73ecc0e4201ad143899792d5a93f7b0ef9546f5bc5287fa3f1d66c73f3b07a3ae98516fea0866b9e33b8c3ad70b969fc3b24062c7448345fdb132573cece3b600ffaa150b53965cb98de69f815edc815644ca100a004371328b4df9122e5e9ac4ea21cf85270cbf41d9a48e9943d195a6482fc44715d85a385ee862187a9cb6c4c81078e79586ec0ab238d68171e56d1566a7623b3cf1955f77ca9f34234184ac41612684025e8238990db93a1dcfb137170e7a2b7bdc13b75ec6100c8829eeb7879874e194b5843b12074405be7fbc84cd413779fa46212da6969805583c762d0b4921a9ca8689556bb0003e4c7fdfa33ec7eda487f27032ab32f6115ca4b0eaa41b747a897251f8d4b28f172dc7e0beac8f3e97c9e94d7485f421252a0a35a1035a954ecabd4674d82fcb8898d6abd47dcaba273a6bc44ddffd8121a2f5fefcc22d0805a4ece26416aa0fd8dc98c4aa539bc3d0b6599988efe03c1acf1d45e3dc3b62dd95dc52ee266d1b0beeecda79de712013d0993978d1ef69283b26b0e1a7ccae6e8e77378d11b1aa73a5a5bbd21b3e0208052405e36436a73094a2cbb1989ade08a13ba414f09f6c53aadeebde2acb17f6f29fab582a7390111fc5c1e2d7418d4b4ee97ec6390d924e8dac767da2b55bb0193801d764858e35f8fa41c5325f13840232b471678be13cdee1c562b25a901a0f526ea7f7ac8c187b59344d4b8cf0d10e66a7521d252d588598954d817c171fdde757136b3c8c0be73db50869927625c5a5a173092b66d3b797342adf4328a07e0927b3a83fe70b29760fe19351a4bac575221e1abd265e4f0b3aaa02e469b70b0826d3f31e103d4020fd0c284b2bb5ca702cebfaa8b40b7fa8a82918a6c7c97b903535dab17c2113b0d992855040171beeeb19a8ab39a78ad543e913c7c7f4d7ec5b6cdb469018b14c568f9999eec4af1ebaeb2b61dede689cea00b54a3f7d551494913750e609dcd787adacea6c78097df7d8f0af2e156c2453d6821c81180edcdf7d05a55f15c923b098b6a94f7b728817a204f2d3f4ef646b7c695036286f78eacf59d9de3ae5a09e9d943a415218c8dbd36672bee26d02cc57a817b3427d34f68bb5202a0b453809721e4201efd9713f129646990c58b0a28d13ab2f5398d7fff83d9ba60ef54458b390cb062489cf682787bf7f60531eec0fda622cc44657da878d198c0269944373fe248849cb319555c1beede86872473f3138f9bc35c0c96c11396e01b1a7320aaf5aed9bce468d12f01148f2e05bc94a4ca505f8da0db91cb5d98222e9897b20d13dd8e25d93f8075df62e0f9d26c3476e0e1f4a8a3ad65ca2daa112d6a6a07c08a181facd7f31ffab11d4b90fa69911d26ea723a8be0f44b463512a74b7d53b06a9a2935b49ad919ce87324f765cf4bc4cb10a755dc04c9832dee051b7da61127a3e13617e33729db1f13f531a5f119966cdb915053eb87d040112f1964cade596d3c0f3c1deae6d70a05d245182149b4f8f404ea97492505c6092fdab44757ac85f58788026c20dff234f7b740f62a0e58f056f13b537361d8ee3d8a9aa1bd481dfb131756621669080dc4e69d41a6387177d13ef3ef71b711a11fd78155725db81775a1739b81d4126f00c6dbc206191cecaff00810069d565825e9f6352f32e652c2190ca20a0bca5da9ec3542fbbbb36f1e25a178c22034d027f8dfcbe089d75ecc952b3f95f13c24fdbc9f62e4d31c5e9eec956bbda68074138830f6ad227ece7df3eb31a1212548b557de71a4add4ec406de02d4cb05a5626d62b80b0bc74bbf1a972468d2b86004203994b6748a6233656e3d9fb5399f414a98f7f1976cc7a9a7f8aafd11e22607c795c352a35c16867ee2c7d4b2f8c150323228f9d31455e98cecb60957e360be8a71e94657e29d586d19a257c3e1e6f2985d0c0abea33c8347efe197efffc6903d756f3c5ceb63533db2254dab9a433215cae11669b6a99493c84ef7d11862f50807075a3cb53bdb6eeb20d254f2eb513bbfb754712cc3f5b30240d484bf7d2f6fd0b420349c019643af133385c394f2e9965fec8c0b66812d67b2c4cbb238d76aa32fe24a7e8512da57501cd5b99660ca206c2d766126ca9d4b51a0cad5b73a1cad0b1e77ae69eeedc6372e78ecc832a8b3a4f6eed07679079afeb50735ff15446ed83826d49a9d12fc510f65088b911e175e9e2ece7ade0a84235bf18f9b9ad16d088e9ab3f7b058440d4546afef125d8ef39527b60609de5b5276f6f97a4c0d70ca181d6f433c8d404b6b07738fc0dbd35dae295a7c8ac2fe4ca5605d0ece597c1a1b5646949932fd3b40b4586c52519724199d9978311f91cadeb3ba9823b5d5b1dede92a025df4ed869a9bd25e332e78d1101a68363d834ce1c8b77943f0341999bac681bba66c91069a78ab1e08aa1666edde05f0747cf142cf4b544d34d4305060beab6d5081488649b0f0993768dda3d59840d22191b0617efd603deb6fce75972134d0709606ce2a5ffe8006769a0c759dae2add2fae072d7a3e46e11e18bc7ceeabd44bb66f6498f3f8f90b021a8ac19b7429f4748c7833c19b8be11343e20955b96eef09a5b517fd48fc1419a20b4f92799f750699e6cc149978b95319cee69bfb4ac86a3fe059b44ad415d26aa8e713aecf13f072d6f0ed832bebc76642e0f3590f85072f1297f7c3390cb6646447ea59da4ac8f416af91324a0d72125a374268a0eef71964f206147920a84f6558f2df651025542a264a5f893127b2be95d64f728b471611c52e469b1ffc6a7c01f440af4789770fad1851ea8a8e3b963a5832067db11e5555b7e0be1d9ad922cde27af26e7a770699d64b8174ee9ca732726c5a4a24557defb9c2203fe3b00b6f5f7671770da8a81ad9782623d66ae43e822e2313577b64758f8e7e1a886f852d465312cebafe24997b55ffa86482a8a337034203912c67906968783043fff71e5ddb9461e45ef455714857ad6ff16b096c4a120c66dc2b64844d07133f02295e2d5b8232d90845f22c45f7d097c0836c6bd9d64753432e874c9251324c0e53fa39921d272f4ab533c8948839949adb9c2693d1b6c4f16d2eda9e47265db56f69fa697e5cda6d12dd7e3fceb9cde2fb957e5920e2ad48fa1d89c71139e2c678acb60cf68d5f6876c9e18248a9d0302a350c69ef49323e6790a96ee3127a24f5f702054b4d8c8e3c29b58924fa90ad061579e5c28d1bc1aee90d032023c474539c8c09748a2e1bcf2ad2eaf15651d836face7e117863da44db67c1d72ac89c6c7561cd09420325856790295795a1aa88384d46c0e200395794ec65a82e49611c5052a22abb9e4067d3bc77732b67f416f295066808d7a91f67801f75096be927e395d3a7d0fefa685eac3896a23d08179e8e2b869dbc9b0ece92cc8a3cd5e47f7652a35e1868b5098d148aace9c99a1c5f657c507819b176f176b3b1336c64a4a80124b43ba0f215ba32cde2f5ba8ce485bad39a913d0dad8c60387933f3a86a74e41a840692ddce72371db05625fd2d531530f6f47619c12074776b10660068d03b3f39d48c2693a0229cb12808ea27fe045e3a46293ebe00b4a57d0dcf2abfc778af28aed6b59ae2fefc8db741a24f475e7d83d040cced33c87c443ca6082d3fbd4cebba12142abff90bf9c2f583e9debc9b4a11d2fd9e67f8703a2f7a40ea093fcf3478e339c71345f5d4c77eea2341bd3c13eb33489d4862f6f11c736eb3268293bf33fa2034f061e00c3245d5227da29f4f65227815d97afbb4109c8798cd82f550eeaddfba79e5bb072d1e0f26bf6830e9fe0a2a133e0b411f240ef65ddd5c697348b89cf86c8721004916f372ef408b5a88251d420360c7191f9ad48617c2ff4e460a39f3f053dc6055537bfcbe88526467457cd5de395fd800c086a9b6eaf0f373e7c047bb0af8b142e6772242880ac3ca0a0c11d37e760439f2387d9cf8b54295ebabd59ef890dbbffe995a570490a4b107e25d4c6d016c2cfe5fb160cf37f7cca0b27fa69ab45bd56dcf69ed4bfc81963bdbdce40d19342b56f617a999fb8da78552b815c641c248ad8b2c7b18c9fc4b79f419fd1a2a37118799ed2e64fd185eade5db19e0339ac28257fe2ffcdf1cfdf17fe06b28cbfa29b847f165ad778f1e2b5fb882f77ab04447c73686247728eefa8eaa0ee87db000c069b9d0987ff8f9d9eb2282cceb428a6cc1fbed239c8da1ad7ec27eecd00b3d081330fb93f3dfff6c917eb8ea651d8b3d59ae9f6e68fb388f607428a2927d25e17a25adc0c1dcf3db1b34e7c24893062916b4410748fa9ed32eb233a03fc41a38c195d547ca878d02f23ae6307bb469ad48843c819ae386deda300c6489c0008e5efc283a252892deceb845deccffbb552adebde6e3d112afbc1aafa0e74c218409a8d9532ece0e17bdd2e3aa07f33ca81efa29eba11c183b922121c3da5b2b6e93340cbd00e0dbffa1d23795f33cd807c945475ad2c7662026c9c73783cd0f63af03ba6517998277952c3aeef54bb36fa8826aeb4dadbd698991bcae9d5e02be575d1af54d2c0f505e417451266314e716de402f001377dc5079042c8aca0dab52697b1eea09b2cdda9bed9f7addefdf22119621cf30a6e5db2bae96ca7319a4f49b056d4787c84a3b3ed618b3a63db8e171d8ef44dfb6c0e55d542ff28e3c355faed9e324de0edc50c56e51dbb96d2c28e0bcec1f2d91b450af443d11af0b378a7a6f31e8bf9ae7ed3b43ae69b053590cda5f50048ae333136c29af16161c89b817bf9c76e4b6076cb6544cb28b6ca4d94ea0e2b8a17277aef18c1962c709cb50cc768b8a99264705b56273e5cbcbfcc7c11b9d1a029621783662c576ed26a0f4304c84d544867b9dbeee68cc40c4fdbaf04f03dbe81f2b82779d82f237260f4fa092ff215e8e86e2179958508ca958db2ac1b3e6d8f329a29d398ed9872775c93b898fb6eefd117f2adfe5ef03d2d928776ca505bf120e5411e3013a7b00401264c95a8857de7ed6d28fa9f77de0ff040000ffffe85997e40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000