eth_getBlobSidecars RPC Method
Parameters
blockNumber/tag
string
REQUIRED
Loading...
full_blob_flag
boolean
Loading...
Returns
result
array
Loading...
blobSidecar
object
Loading...
blobs
array
Loading...
commitments
array
Loading...
proofs
array
Loading...
blockHash
string
Loading...
blockNumber
string
Loading...
txHash
string
Loading...
txIndex
string
Loading...
Request
1curl -X POST "https://docs-demo.bsc.quiknode.pro/" \2-H "Content-Type: application/json" \3-d '{4"jsonrpc": "2.0",5"method": "eth_getBlobSidecars",6"params": [7"0x2FA6C5E"8],9"id": 110}'
1curl -X POST "https://docs-demo.bsc.quiknode.pro/" \2-H "Content-Type: application/json" \3-d '{4"jsonrpc": "2.0",5"method": "eth_getBlobSidecars",6"params": [7"0x2FA6C5E"8],9"id": 110}'
Response
1{2"jsonrpc": "2.0",3"id": 1,4"result": [5{6"blobSidecar": {7"blobs": [8"0x320000673700dc51ae5a1de2982bbea6505b7d4885ce00000000671f015b29550332106c1c00f859e3271f008c48aa5539e1af12b209435bc78a12c30b89d15d3369112b13d8b40d9c46ae43b7bb2e9f07c5e696de5de490ff513cfcbfdd7fed18abdead870fa025e41dcd38079dcb19958d83905879b77f1e2f7db9e10620052838a510736b535e96f626dc7e2167708db4370819e40138e732f8403c8bafb70b5b729a23685ea053686e822697828e4552c6cb0043f32a9882efed427198dc3b01f8b9d9f841a1d0a4497db602742990d6ff7f5bb5149395107c06f124b1ba31b17f0a9746a7f05a99a2671bd3687733f02499ddad5f3f98fd53d850980dde3d68ff53c8f4690e91666424290419879043b43b595a53efaf7437328d68a43e2a4e1e582a7a720e912529567faf1ad00f862fb33317ae8d9ab5d229a001fd942d311ab108c5b459100318ff09d5f9df57d630635e06607686020715e5da0a7c1594fa008528896c792d595e72e687f12350754a909ee8bda63990e9b573acdb150ec21530bd19bee11eb529e2479d9a93f92dfd13a1f573c34fefb26d293c4d3f5af26bd79a112654307866287814243404140c24043474540464187404c0c20aa6758497d188327ac123db9ee6f239626bddfc21814c4aac5347db497c8e323b8b5ad9249f4c66105f4057d4c6766471df3a960dbfe95cede96bf0c4ee2fd7327b7184ee933d68fb2b4861d85bc3d85dabdb7256ea3c560ce6aa2514c9a7d4017e11390f28daf6f51d8a08d9e35bd50dc983b3e58fd2998bf431096ffb7f8d3ef1274b6b920ae2e6e7a98ca73de859768c0bfe140898f348655ecf1c08626c10e2d1ce5e0b68c354c8e863e3adf08ca68bc04c4402ccf1102c5cbd18177f593f2d530efa8933762e0c3b4513033b9982ba958a30d1f8697a2254780deb4b712ceb3959d9e007838e12dc8f0904cc898e32b113e499ac1c2e62da40ce8e0e742415aec9c910c1501b383c79c10f087d4a11ae8a8f75e7db2b840043894d147c367c9553ed34113ab2dfccbc602dca37bcb7c987f53119b373ad5277f386cb023c66d93fde384b741a1a026f32fcaf0a2883570bd082c9cc6f1b4084984339ba276383ec42c0ba0fa720ce2822a8c837e48802d54fd18e98d6666f29ba1e7bad1aff84e43ff991851d1fb3b96c33080b21dbd3a33c1a3c1a2428fc14cc07e1970a87e54da79abf1a3c2e3bca62074095e82bb71a01d1a29a4e417abe376ce48408d12b60df0648bdb62905c7530b7eae354672256703f0945918f4469607873f125e3eb4d6c7a83f0ab1a07e825e3b780b7d20cb4ec22b4995fc3ba9966dc0443ac58a3058d7e7466cc86607d6c255610aab29bbaa15c9bd29b98f7c6d32bb1c03eca6ed3693c1f878600db8d061f3f731b3ed4ee19df3d5a50ce15d16996aaa39c2d5fe6e7a0fd8954b2a02f110ea85b268bdc23892d7b3472f21255b4caafe08ee572a584790d423b2d2983adbe8c41d77b64d609096648b9adfc871e62909322ab6d746faeb316ab207851837aaebbf7b86355b2e82d42a669d479cb950e7382812a5504195b8cdc3f79fa55a7ef62921515f23df26c00a41b1a2fad624f2017f7539a5e909b7640ea42a281bfcb13323f9a46851e42a694a4ec5a9cf7f9d0bba367f0b3914ed6491399c82476f949c3847c6711818854e4f4b8b4fc503ef325d60d594331f78927fd3011b309cc4ab5a2a5c05b3a9de5dcf739def2ee25801939afb5248fb18da938b404ee72b55881acf75098a00600e9500d759796bd00dc9aa8c33372145e2a15de24020a9a23fef42b57b9eaf076c1961d4aab4de9d1ac850ad6c4e959e4718515a18cfd8a6143564e3460d1f27189641b0b19975a732b80c3a9f4afd078b5654d7c994fbd4d969ab6fe794ff4d1115901b26cd9189064d79df0ed74b3ba6f8b3ecfc54e4f82ad270941ef713da9acd6d983f7f16de115776867483e19b7e7216d5d38f74d3d9b707e8df5cb56b7a61b768e71a830039ae753c1cbf52af598a58d57c3ad6719558837674821903405babd5b1a7c5ee393dbd8790c6276ed4820b5f31a1c7bd949f3d006ce02f25d7638bd3ff9db1e91b0dd4e7922bdb1d67eb01f9842de7c77a8bc00308fcf697021cbea7bf4f43b323714889048a6d7de93e8ff9325c38ff9517a3598d5acd6987e605ba229b2101265f2cf0b4299cc83e2cd627bedbf4fc1c718ab6796e002864aabd7c2b73d64d3861a967a08234b2678eb78678bd303e6f6d6174a38dc0932ba009a163f52c3319f6a41da2ae66895ddf7bfbaaf80ce67ee375c0ddf1c99f3d0eb291520d0b4131a85a524927e42689c7b92b6219061cf79e2040c1bf94c07862cb043b0b44010c7ed07398c7d65fd04fa964690c2de95b2e0a48b7b2397f121990cfda013eb225ab6080c9d3236ff1b3fe981d911e05b6f9c175fe7ee15ebfb69c9d00a192c93c25c2335a8579ee3b5793bf8e42b3a8ffc50edcbbf2149fe4f109926d40646b3c25531bd9c34298df5c75edbee75e98020656985ae8e430de60daad5fa1c6352df1041d65e57c9b9945b070ca5716e4c81b3f0ba4873269fafa8488d98c18890c7d466364288f3fdccacd43c528e3244707e9bc73759f470b94f156f6b5bab617fde624a0a5eddf4902a96a52e33882ef7d48acbd34567d2217442dc181c5ed0a5adb73eaeedbf9c399b97e839d93389664e979643f7e07bd233cbce64ec9d80a11913c13964ba4b5d592d3d424004427d6d7046d069d47a4a801015d2eb3d62f3f8899db600b6002b2a68eb8e40adf0df2f456ce251dc029b4f06c7f26c4472598a4acf6915b42939e5ab911e0f084346fe2b8dcb02aa0a2b7464fa5ce333836612fea0633cd2bd64cf0ea2e18b4f5878d31f6bfa7c2ff79c13a088192af020c85ec6a94fa38c17966c78a4e1097aece52157c03c977924335e4022dc01f951bccd8b8ac72e97601f73bcf18d03be75c2291be74c1f2a6bf1c7da7f864228633424605edcaf5d13f5686fbc9d99f4c277ca4fc9df87ab7d115bdaee132c43d096cb13162f01da40cf3b21a18406b9d094d7b750d982d7fa2324a2bcce7ee1238123716869cba12f4c1e5bd26b6eebb48315d12de130a88ef26fe6c578dd59c21bd3612423799bb5e7e96b73df3dde2a84a61e385503e77e75c660f6c3947b21412df352981fd9379ed6b888fb3ecd232905efbbf4c686b57bf8e94cdc2329d36398c8669a09f7cc0a7ef8031ccabb28ae1066d29ac3e502ddcda4eb494ef281cfc1bdf4eb58ae96670f25901202a2ddede0e298e8b04ce6ade85a89f2db8933e567ad55138a1d00ac443a6b724bfac2b204a8f5e127b68e86f5fc22f4ad10e320cce9350e44017bb38eb132e4466a96bd0c6c89f399bd5c8056ab649f018ab04c8db95fb85aae588f9027066c15927a21062322a299f0edcb8fba8f63508282d5368a37d352216e799219f152ecb66b0cdbc50e1154076fb7f9585c32adf9314ca69e1e9b76d2521f676c8ac22a20f5fa7999755e56d99ec55b28c28a8c8721f3a78fdee043e35b87aff96b48269d23d45d10bcda9ee4c4e2e8c39cc666c3d2be1cc16ada11a7ede0d83a7b21a164ff5e492d9372abe6aafc7ca49540c5ca305e2a0712fe4b962fd16fb0e496e7737cc0b216a82bfc16dd649cc34cbfc5dc93a7060a18e6c6b7678d859fc051e046673487c56d38f64d0e3aecb235950e4c610e084475897569f8a758213f5c74b61182cd5e7cab982fb86d2fb085d4104c512f7ad43553d37338d2d54940ea75ee133e6b45686703d66975dbdc0d5616e382560ae68c322b11e6e697f597a9fbe60f419d9afa921a8f9956747d35a145028251565d0cc126cb069cd93aa9b1bc46bf47e42d114813d7367531aa69e9960de2bab664ea8c8465c0df2517f89b058fa44953e8f21c7eb743b7140fc4a6e46e91a90565d20bd164186fa9fe67179d89c7017ba1c14b31f310e9d18519418056f254038b03eb8bfcb154c192f11eb4c4b7d7e94482902744d5ebcd340b30da69334666628330f3729894018f2f9ade5179d71de5b16e5f4653aef9a86be1a05db30d83842c86812ad6ed5ae8ffa1ef80525ef4e4708dbd6ab7feaaa96ba91e6d30af2413093c9269a1d0dd4e5ebc3702d4b1502cc45269197778276cee150f9d31a904fda6dcf735a5a56878c5683c4c354c81160f1a61b2b224fc83e74d9f9082aa6e809ad8fc30e719e071649be5b60cf5614158150098a9d0e62dd4e36e02e0cc36eebf8b195d5b15fe5e4ce822c64bdd1955610c0a1fe7626feeb5c0e763827a56d564b54f7c275d1a0422882d1070d894c67c11168f796201fc86dbdeab2175cdb0893649377c1bf9cc356a3360b99a2b5f451926e5f082b3accd17ea4d134e37fe0f8cb57f0307cff1b6243b86e24b30994da97690f05a4ba02af12c02823676f1681b587c9d032d7e217de24783ade78352b3c38f3f5e5a6a78b985e9e33774a88987b2926647aceb43a12d7918439b87977cd9ae567ce77942491fca33e73835e5ceb4911b467b6f32d5e9bf48ccbb46e3f37c2b33f3ed1cb62510e533627dce84650027039e0265c5efaee4dcc94034ec787fff6c3d0ec087390be422e0c4cabf0b0acefde2c1036051cbf8306e931734bbc4961272437f0f5302fe113a76de318f71cc71cee25890dff24a3a24d1b3d4433a4e2fff94dac063f29800d8a07012c710a8186ec21a15d31525f61d6bab2b62e5617d2704e3e82878dd433d277a7fabfb76a14a944f456c07eece70b7e840d6edf8d9afa75f2ab843a721789e3c3b96c3be87adab973425ad0454f5b6b79249090115ada433a823863222362ce11d24174e68c2b7cfe4096f560db5eecc88f6e619f32da3834dbed582e005a56b6599a47c6509a79e80f46d62e33db69c41f95de75e4a13daf0cef55712264255a606ab47383db7d5d55a4741f780359a682f96532b18f0ed61be892893dcd4029af7c08f72a72eb7d3c75b00e3a4870e93168d2aec1295f379a6f1be8000a6f326d1a6e2ebd8d2d75c3f3b8e243feb3ee142a6e9aa94ee8022a5460543b9718dde4dc81198c4767d595f8ab1b9450457bdb8285f1ce1dec56f0547e9627cdfc148147a48f6e8bc1be4622a7c60fe275971f68f4461f2897986d68f7d72d4d236b384962033829f2545bfdedee3576fc3ee4c611fdf833caeaba4be2c339f0ec3dc97d4f921689d3bd9418e7b36f6cf7a844126aadc37336b36a725460190a82068f6361df60045529a18bbe08dca239f394c01cd962998d82689edb491a9ab1d1a838767a0d2436b3aeb0b568ddd0472c0431fe65e5cfc7bb3528b6e0244b8f812411b317eaba61f7b94e2f283db5f76e87778164b050a4f02466644a01fdfe97c192d8bc63e3c751bdb25ae0e94dbf54feff22163c658e8dbabaa7cf3099fe92b2dbe24d4d4ebae3165703d35e47a3c4dd638be941d1010289605db8013dce4f11f61bcdac199e39ef1adfde0d8fa92168d4a740f88e50daad8ed2d6101c657e695122abfc45eaf299b459a0f7b784e9f5f0898d291d6d095d6797762e5086bf5b9c1daac61ff57d53400352eb979b68451ecf2bc55d3340a88eb7be060215a2ddedff20471a4c11deff608fc8bf8661ab4e680623d6027dffb32b343e1e7a948a6cfc4ec5d0af8f8bc96876ca52785240ea2fb16d0d61ce0e5a25e910349d93e2acb493f586861b269a33a28e9ee14ecd84b2c2a9cf182df66ffb6f2cfeb7b8910659fecb0af8d8519d54d1ce939a8c22891cc3e9044aa55b8a843b04bb1c10e186919a8b14f22c70d8bda1af77bdf82751df21391a53baa00a06c21b487b991a8f9efdb4a32c271edc56b745993f93805ed46e8a8275df6955299733b1294346e41c29e1a94f06bdcfc60b99ac67bff957f4e20df346db7b94ee7d06b1a6e949dcf2395db9330b37688a14db71a9785c06661bb9240a5c9813866708bb76ecd8c2bcee3946dc0c3f55c957ab382a6004276b881ab3b8e32523b42608c9d0ff80574fe977179cd2ea4949581bc2601c1f3ec4d7d7936b54dcffc50612d6ccb6db6787c69bf71ec70c4759206d56529289bd58991ba5914ce1152288236c07904e96e759da04df2f00745dfb64219ac4d3628d6e18524a878df55b9d0c73edf7fd48902547ca8f072f136aed9c6f2333866653f93d3180d14784c4792eccc439549b633c224516b4cf03581e4b5e7b43f6f3ba898aaeb0ac0842d992118f55d4eee61a0071b6eeb5d3f1907f545ff1180c543e64725f36a132f8703e2d3611386086e8ba341a622ef74d93aeffcaa7acabf34d90f1372c85f43515b700bac74e481764e19e5a412caa26b1ed9c3ad94449eff9874f5713e8e2789b310d10656f1c0946469024df4f8c640af68dd9aa0d4391435e99e60b7a786b90ea0d2ae9b1c88f7c5b880114defced2d3b5310b5119fb18b6b1fbb917c5077614d2afe3eeff3c9966c8135cf04e0a6e3124da13b88e7e9c7192d3a40a44758c713217f63df1ce64d63433fd678103426beb29d24dc216e2a124d4e4c9365e150da30cd69c411d950cee85058869d96ba48ce4e3cb86476907dfce3bd513c1a9cf10481271778e90a83ad61681ece057d605024e9398bda89e8eb6e9eb595569fc806cf38694da2bed049f5212783a905ba45b2fdbda194598f405a27ecae9665d21d5fba29773dfecf724475e4103231a979235bf6da678fea26404ba28ed560c71a83d0d235f0116cd4c37d14a9475b9cec7227fcbe1eaa1c631327cb36737fce0cb57a2310f5880401ebc37579a7469b6784bd8434442af85f8af4d3cf430a732e89e17f5de26a4578d7da510d8387ed9d49c2d67f713d42ce896e5ba68c9f24115909db298dbe883c70c694847a3d28ed1680dda2a81390725cff74feedb4a63b543635e02fc3ba6c75af4d1cb400eeee373ac984e35ed2c18d6fa38cf973be38af301e4f849fe4287008217631053fcc7dead6afaabe6cdb70185a4a8266f23fdb63e9a19f3b0ea6de8c7bd4a1d35ca9b55724a2c91871ad9c237af1e8d97206cec8060805b7af9a283160fd1912885069ff9cd3df0e4492f3caeaec7aa7501f0f57fa395d1b4233415500135f1673ef592aed2bbcd8d043e1705891dc4cbe1c4253837ed320c3f1547120f9521292fd1db70009040c33ef67ef4a5bf633c828237a56d56c014491e94e6b851db15ad797f86fc058accb7bb7ce7cb18f357f1fbca3eaea1aa85f31e808977ccccb3312930e046ee9cd2cea209412703b75653694cb2d1fb36d5fc4a28f73bd6db3d1e96bb29143605be3448b34a1b47208dc3445edd5ea9ab5a03ab88ce0b130ef42081f048fcc61d6b3e64e66bae2c9504e20625e01f00f323a74530e1c69bd8f53736d57620de549c8c66774d083a0859224f9372c38bb25557dd4118cd215bcc09ed74a7fa874a15fe3de3a388c44df5f0b83c55764cdf6162ffbca175fddc9d8078d6d11259edfa1b262d4aeb2f7d7aa04f5d08951a0e7406c658c227ef1372e9238348491b089432e48491edcffc6620b4338ff0297f205f184ba17eaaf264c7361f0a02248647f09dce9d4f2b1464031e129c6b7d01c2f775eee30a70ad0d1c8c821737df414b4b583a42c98d004cc3d82c13f179dd57a4bd77fd9fab87057d354b881c6b80ac4614240a3778bdc6d3c4c3394612e3270c480f9fe4440842a1ee4942ffc9851c69e1590a5a3247efe11ee5b8f1193e712886a7b9801e28f7d2bf7049cce46f793a3aeb296d4602be431b80ff014f6312a709d7d1ba7d40d9cd1a91b3f2ab7519147cbe2434a30ee77312636431c613913da262989781c84d14de0abee6793e67ddeb00edbeb34f0b5075053a05712ff17a10f8a3c4c0880b19b0c19a76698f4d74c77eab9097d72ca1a3c673b42f0333e7f9ad3f57027589055ec6d708632441b709a36d3c14fb9e1102abe79dffadfb0052f714ffaebcf02e225424ebf4ece275bf3be836d123484276d2588bf9f1c920932368f59a9afdc38df168065531aeb4a80786ecd99a44208d6d1e85798b5829c0a3d015ed0a9926311e8f5cdba71db5b0951ddcd190067278941b635ee27dec73e87a64dd0aceea97c7bec418ec9779702337c77a99ac83cbe998523c43a7cd2c3262051acf8cfcb8f8ff6f245771bfa046b8a29a301f52e07dd949821acfd4cd3ff1dc78933ea12b6ed72b905e523216e8514424e8cdd0e1e8b315351e4c9ea3ef26c225cd5ccb557739682ff213b6af987579ad471ba167f59453127641cc8511b5eeac016d99d7c665ca97bd44c3457465916a1a0cb1585133a72fdf18aed35d8c47a22f20ba969c7014b61d1ed34df8c963c5fcc60320a95878e78c096e5f4f542e9dd39c07c227a78c4be43cea25b860ec12057bd2883245bd7dd6289ae3c9159b62e2ba54ff3c759c853c5018bdaca4a4f9820510359a34d0b71646ffd91cc6e3e224d2957c32106e02acd919ec35fe1cf813f6901f036f2221579ee988029190c8b46447ba6be66af6b306b0411fb51ea3807c21138ac498e0fd845e20550b9bd7ff2fee46c30c62470077b6f286b9f4ea8d1710c35987f8788c3a1a7888b78924e31354189592deb77ca6b118da4a3c1205dbe08c7f75ecd267d8ed3c11df094824c29c3c275178db16b19a9f69f72dce7111e1c830df9af6ac2187a8197d9c5270f257eddf25890ac6f97d88850a857d6a5c2181fe6fba5e208d3ead896a8a8f80da36cdcb449674523e01065f21c72c8a8ff00ce5fe89e32a7e053e8cc6dcba443812e68e3f2f04ca8f5f2ff787b1707338400381fdebba31b9d57739fc7639247387aee890cf718462ecc7695035314a9c33a7f4ae616cbd9c80906546d407a703c0df68bf8caf3ebfff9417ca6b16715ef34e9a12dfca956b926facbb86b83cb1d5aa61ad2eeb27046555e404612a26f1a323279d33045ea939963d70799f880aec8b8958ea394fb92b77178c91faea25a03c4d55b8c75d9f56a2797ad99f841555cd214736f2ee497a216753c13f82e45007a48973eab1101ed67d4f356577f85ab2e660c6ddc6c4e3db2340b52099d1b11e44318ed96e3682a5e4844897509398176792f525c17df8d6438603a229f7706f0f7510b2c87d4d3813e16cd675b89f04f0936a73df59369416cbf93c3410f0fa36162e015a1baa7bbaa274755fb8fe217b0bdaf296f3bb7e3463b675ed6f13f6dbdcb3b2f5c995ac377ae73a0b19e9e2998cdd90419f471e70c94343d7901155a34d637d9cc1cceee23bfd8c180a2fcb4029a97402f9db0914d04316db7ca03b9c4838ddb8de347e874ef9636cd581c3f452e89a8a8a44d9352cd9fc01e33076e8e0cec2f18412362623326720f8f953b78968e9fb5af66b72a25e19b5ab13cf0b8067ffbb5037d28c5d3151ec147f964dfab995a03da84471fe4c8bae60608d897cc3ab9d1e76de2aac3f55e97d7c45bff1122dee99e9a1629f5ea8d9f8e0efd6c74e751936321fb77f8f40cb8f86f3dc4519b159d005edddad92681784d17a5851e56e39b8a0d2abae6b89f13b6b8b37a3ba49cc9387ff37dd43339334e3a474663ba839036255bc873c906ea980caaf313ad4d576c792d3b19694efbbe1334872ef8579a66681c2e813099e01e76e33799089986f851e2e7022cfe22cf28854c593d32e7ecd12c6485f5646fb65e651c70b2d53f1198a480235aae1f8a3b8b7b86210f99ec7b1473b09653a807212feea2ffde0d6c0c23d844f00783d41ebbfabf3a2c06098f0b690ab7a13a329cd1f14df86f4f87b598a2515811491b0cdf92774546ae9bcd1d2e6030c9d48607599553b186cba724a439b48b87227f394f1c673d3f3e179420d6176b7715494dcdeed73a3e111b7f701cbc6579ea5227edd714ea20254d19ae4d67aad1d2812aedc19630f8ae18a2ccb7807d42616a173e187b460607f183b8947e3d035a716b613e5cf39ef26c51591a3990b5d5220ff7051b89a05f4d64b60b7769c693a7ec7a34230705412ed3259e36786e8dff38c442e798a08230d6246c0e25616581ff7a16bbf5eda8bab3521156fdce733124011e8dbe70b21867e65f2e13b2de17c11ee48daecde78d9fb3b987d5cf6c230b8f41f31a52fb5707bfeb16fce2491220cad6ecf918c7be55ca311c036363332d4d146dcb9356180ed8e13621e44210f21e1ada574f3f7fe8ab6445f261e8f03bf3b548e40911454a683522ef6a44428bf662a853d1ed1d97467b9171f418e8015c1a0e9608d2fb1a6045d66ace1ca8eaea424d24dc2e7eec8bce9df6469b3b2b913d989057e3890b2dc6829610dca0a22b8f2363b256a094698399cc4df7ba1b3ab20cc99a84fa422fc02c9debd8a517135e2d0d936dcbb026ccbd69ae43d7389a81dc2803a9a550a94bd4b07e5e18a1f12d40e5eae3e78c41ee01a371314d2e46c03768782c3c30255ddb2d336e6b65a08955dbf4ee45a29f609fd66bf12123d882e384aee870f09be829d9cda06047ffc21d29e9c5df8bd311d292fbf37f25ef9fea3617bb61a043a74879c78ce5b7c22bd74b92653f0a70421c790ccf8536b80e6cee42f0c1506a5a2bba000b5b89e7ffe761a8ed5e27a549652487df0c24c83b04c0e723fe550210e04a62cb249243454cb460722f9633dd2a38eace990c79681648354fd6110e5927835983752078b659101028aa1875720cad86ce4a2d15fdc67d043739154843e0971b80b4e02115b6d6d0fe3fd74e6b105396e46d2c3271d6da3cf22031ec128323a726a08a3f0cd852a2e152a8e04e7d63c53a7e0d279e42482134bcd627a12327e766326533b3c0a2d9770499150330e751774935bd4f0e212f001cd07ed5fd3975ecc8ffd82b2041e49307e8d468deea77b9cb3db5d6a3814cfc4ffab8b25c8a5bc1def80c903e31aa9818b8c4c987c243b44223510a581f85d54927eed821168db83e294830869628d3033c39a1ffdf2ce64b09f25bcf46ade12f3423211ebe0802ef3d8ed209599ca92d18952f84ac7d2083014717bae8453b76d0e5a92013c392cc8b9256c8e736cafc53046d1a7f8fc6c012c005fa3847792f6184e3cb75e43050f75b249c7c73294ba2e75a3ddd5112a015b0fbf3bf687bc98a1933d9107834f3c751f914d38df3e2c2675d768a464d802fac63fc529855ac776a448deeb18aaa0bd2f5a370da0632dd94a0c01bac390c12c0867ef3c76c1f340c04131f280fed9860fd03f2e9ba40f1a8ed25409c6195338cdd0b691d8def6369332baa9b41f38330ca7e534b0bd131ddae48b5881cd3086af401397b2b35cb1d4d7c932b2235d13fbfb8da99b3351353fe33b8d2c9710c658a696147f9ec8064ada084eee0d9ae3497f88e5bd2b14d7e92a823175ce20111ebabc7f32af9e2ca18e292a106f7a97c4b29d95ee47f25f971cd796b0405316c39e41e2b248a2a534a2ed24b5aacb882db5bb65e9aa48684f5db2136f78f391ff8df4742eac598cbd7c7a7f630f623283229fb7be9c2b6ca47aca2c1f83c1b3755729c306aa5326dfb0a83f97d41bd472739907519f02d3f2ddbf52a1e1c19091d5d5ed1294e88d6aaf5a21403121f1c9468873ccd3ce21bac2b2076c0132582b53a33839a07c5c61b3cad60d042b955aff43efb4c01e2a5ffaa1f8b451e12228615784f2b2a931fd2cb2a64f5ea6d2a89fc9e77b894c4392263e4520d24067cba9df3d8c28fe9db0147018bff00fa6ad7c79dd0997ae6da4fc2b8d3f33c2e09f4e931e63866b12b7c9f17d57b53151c87865af0dc06dba1cbad668bfc0a04cc5f369a4fcbd751bb3d5e3d8c55daac704fbcd70471b711f102ab74f3c9aa09db37a233f5dbce995fe9200390476f9d9746524a698706de13046d16e986d71aa687d8cb30c96245c24a86418c8e1846f2d08881787ec2bc0e90090dc4750f27a666c61d08fb37095c07533536bf576dc4f991a159c3e0b692a12dc1e91e860b7f03b5423c750c2c74d02e700c7b9737f6fcc0e59dd41b5e89034df45cba920bdf6dc53eb2dab5e37f113bbb4b8b91a74085303abe6fe79b369f4fcdef49cb261eb13bfc00ef45c37d9518fe578c4ce013acf557a384da6c1dd4f9d47c40d1349431caf6860f8e9247f6c90763badff888e2f53e8cac0875961d5ea127b5e20475694e05da4575a9dee15d293488638380705d9350abd1e55ababaa0c4386d2ada84b44dbb41fd1ce902974b2686568b4f52bd687413e2674176de5f86be2209c1a312724cff0f9012530e9225b5fb9ee6012de54b3e0a53ee32a6152461441263ab33a0cecc99d977c7b97433312db263fe848493757b18999086d7ba0a9d13c0699b08aee00f34794c82b9d73582989665fd89ba41a2125ee976e08637c6338998f20e51659e19d9acbb523f911e85efded777694ac55cea5e3ee3d4c5b32ed07006492a743346b642450f442bace82d37990ac5aacb2c811991507ce8b33feb54ec9bf96057b331e8e3b246796841c34dcd1ad053639e12fff7f0c11ee4328b0fce07cb5962b5134a2118d28b5bf4526e8d5ce55b66096705c49db6a868053cb1becaa2980f5172cca1d62a47028b5ede7348a7e22314bbb25390a911f83bf61e765639a00a38a8a86241051a9941b60b635c45cd3978026cc70e23b5c12d6bfb35c6ee1825a67915cbee0985afb1cd2867cdef2042f74fd2a587795f0d11ee45bd91de53c211829ff283623fd0c93a0a0ccabf20853e004147b8287d771352c502ac0cd8fd9e293b39efca9321e74aae763707308a53898b90c64b6b3e282033b1ba57b7ee534276136af1f89488af7b88e4524e0d0de86d668d4903393c0d437a394810e06985422257ac8ad88795530c5012f751f0f18efe1982b61506d22d1ad3d9c25ca241e55154b415c44319ca7b6090b8ab585b3367421cd0f907a98362baa1cda3fe51937d817fa5dbf213736da724333ffd1f7e54bd299937127079f759618598069320f2d74e59ab19a11f5cbf69f9066c59a44a7d734c6811408cfbe1694c741fd6db6d19567be428179865ca3f8ebe20a909aa72ba883a06060b69ce12b628ee8d07d828d0331f3b3a9dffcdda33e1ca86829dcd03beaa05f40c20feabfb74e8329b226a373113b57d7dd41ca5e057307b56b0823c9f5804fb1bfea9117059d603d26e018bc5c54d4ecadd79101966026e3b2b550202570413bb871e95d2a821946fdecbf304d9f4c7d413cedc15d2936aa879a3e00414397925718bcf6cea57ad4de18fe6fce07edc8f37ec812c2c8fbb3e146708163c370f7906870f0b33a0468f66f5e0d4e23e3a41da5e84f03428bfa0ee6962f2a904d8287f19993906f97f44b6a8e62f1a98b3f7e4c1c8a34e926c01cc2f65db521ad3017a8dd92b0c939420eb311356cae993250f211b9966d7038113fc34c3bb0cc477a33b04c60ca88c3fe188a73ba96ecdeadabf2f46641d27a512ae3324911da9e802bbbdb953135e266021d339cc047dce6d17e5c474f1efd6a98b20a43019cbbc76d50adcfc1fe0c8dffe05f5ec4ae02a5d0eced3d35d367a69828a60d90ec15c77602f8ca10c9fe5e3ddd37c75da1b9d87b5c789ebee5e033c90f2f82c33de930bc2f96bfe146c5da7d1547ff5389951694b6fc8ff48a7ef7dd32b95fc0e23cae20d49f7590aa60a3e34ef9d1beda603b92b83068b3581e16a4c9c99ad31fc55cbf049a01b47bec206062d50be0f2abdb7e6508ac318140037eba7f2351266ff1b9ee767c16dc40a73cef9c164723727fa63f49706fc744e2ed250113702d61a2a3d27cf2f10921980b7ba8a8d99c1fe10e6d1d474736e60c1dda20d6600a328e41ea928ef44080adabc0d8833d1051384555360b1a949444502366be806a89bbe75ddb2de7e47a81591f3ba382e5d6b859bc8be587f84c36fb3521c4a3af94b576208819eb4c2474704d22096a674d6c827e2d02fab963f71e9e2fe710ec6f4c4e4d4b7c583698c31757bad16086b099f395db14930cae0aac33121ad2d9067d552c57c1b1da27f53ab96bedad18467c73fea3416135682a830f1f4223f18d2779d8f955f54fe71c82f37248ac0dc0c11dadcf8a346a8e8da1e88bb1e2ab2308692458377be4af95ac98665124586b394f3f2c946a9da7071277be16f289eaf573b6c2017e88f5766f40f8223d6acf692de26f6fd76905a8b641dffd615f4ec464a6e45b615a16cecbf2c99affe35849c1efaf16278685e1f06ca08bd23c9256e44258eda212ffcbd61b1ec23be349bc9d24f97b7b75d0a75ca8c711b0db938da3f487a54661830b957928d4b42d5e818190118a37b15089ca95855501c2bd4d3ae35d6dd9694d6c352322c56dc04be02f14181e640b6ccec27e2b87b1465d6e392a86fcba6c72369da6dc0310cb976e3651eaf3a8cb78d81a7d18370344601fe1866ca6c2b76617c76ced28d335005c76a5197a37ff5bf3a82b24fab30b2f4d081d52ec48e4d50ac106ebc79a1db0f2d3d9bb1def2721cacec2c37570628c2e45c58fa1c77a1f232c4c8d6e43795370455b8f1835431aa7b4b8cb9672f437eea1673e6ba4c337a141228a6f6feb1030f3c3602ee89e0fe095ab4679b2c116b2b93c0f060b421fd0b50b8f5a6dc991593219786f1faa4b2f36df80f551ac3465ecac5b6f3748592ccaab9fe92ba05bd05bfbe6ff1430454899265509112b602ab62f98acee8ec391925a5e70fabf2da84afd7aa0c94f7e90e049c8564243e7953c82a8a813ef8e45501d8b1cb56f4426d5c5562e3bab1d2e900e5248a1fb9a6771e15a4fa6885490e41e3ba4c741c57ff3d79c7fd794c3749902ffecc0bfba80e9c7c8224bf9d9fbfc5e4cba9cd5e88825636b7975e22f03179245b11110ecc9b6f11ffe0663bdfe92bb0c4e57d842263107c62eba1b630d09e58943422f4843b67c10bd5be02326773a4ad4a4cc7e50f44b65e5825f2f8b67914c0a42b9179232a5e4f10e4812b53a1f05ea4c467b725ce7ac4a9d324e73a822e80cc24639251013ee98f3359bb476fd0d1b923352e0dbb8214bedf6d572502265c53353a3ebd55201b9bdd3af43563f58de3f5dc55a7abb04c58bb66af53043658e92042720ba86cd76b74e9d2c1e8c191b273f7fb3a5a9994cb9bded133663e864222ef5d2c0e012f6b7cbdf2dbe3b6a169cb6ae39323da8356f2942c244eed26d902aa09efdcc1907a32d90fa89dc7329dce3636d9a0b51f359f7034ad1c9c7abb282a395b11ff2783b83148ca2d66a85ec428d8643bec5b6818cf6fbf6652f2be2902f8d0f972915b3cec1d864b54b8e9976cdee205cacb9a71146ebde473589d0aafae812cb4b0dae5fa0d18da328a0aed4c084c1387c312803d208221c0b85c2be55889b612fda9b4dd94054c02d82e3a48b94d32100b26da4ff9aaf983de283283e7b6c778a3d4734c74360bd9267741c1011ab6b4c21b49b0f38eec9146be2cbd6d226cf6d90378c22204bc4db3cec7d46049a6c22d818ba5acd27c8d77f6334ad858ed463222788450b9a47084bf740d07644b5a2fcec6f607c6fff7d2882d895a22552da465ebee6912dbb6b47352c3e5487689393eda0b04b8d914831812afff35dd432cff15dadb98ba313b4f99d96384568591dca555477a67dad538057a5dd3013caaf44875c7d6e93976174e37b25aa63c9123d633b2bd9d7ffe4d1389c26e03b4d49099293456996bf01055985ddb54f618bfcace5a3122da15af3ffd7c08a3ec099ed75f405086e1f7de359ca27de7d7b7c644b2541f5980804a003737d00a5b236bfca7586cdc8d16de0ef90b1117ec8c16c86ffb9770f50965199ae7caaa200e1cd638c35919086efc027051b7c151da510d0780eebd6864343a61fe0e518527aa34f97b7eafc3f91a122316b24a754a1169d27dcafb0488091f1c5a6cb8b495df58962bce0ef6afcd3fb894c636e03842dc1b9e512e0332d30697420b352388c80e746c41c64d2622fb9c87b48d622b46145284235b1734eb295b421c995e2cb0a380e91129f70f5b013bdac8ba8dac3d5a5c9d9e73c399cc3fb2347862b23b46642fdeb46dbee0961da0efba2797744489e9be1c35a631d92c2cd7319c914015fcaf0eac4bdeaeff5d635becefcbce83dd6fac936db913de12c5b7e396d431baf75f449588b6f858da572c715426d6e6218d5f2d107445df36fa8f22895b01b1d848048bfbbc95ce63f4d1cc102f4afbbd500d221a56511f3830729abe3848a6c98d7a06acd47388869cdb4958a90f260ebfb28f91880f6d25611ae74a3948aecc28b6578a467d844489412f8c6e4147ede5644a18c4bdfb02f727c6d503f03d635e4985fa5ec8c6ea91f2843265d190591d638626b51c3a21fc9d6061db09e2575c63b39e02b198f0a0f25e6b20fd0fb35b83ab6ed273b7199477999a94712ff715f4c5f506f04317cc0ca876d5a22d1ce30c75a45548c7143c2fd9117ddf3d32966fc1236692786b3ace5678b0558de6e9c112e99b62da24206880ad21b22f72a85dbc1d51f648ec3ce5cc67b60fd1d8e55ad15efb5007264525158587d6bd535d64c723a7b1e4283940d90e7eb1d885114d4617ab96c43c9e63228e582bb5cfc8db275f31d84539488886b582385431430905fd011f1c2438d8b0e978365631fd98eb98cd8db3d3bae4c20e638fb0941af984eddbd9e206d4fbfde5aeaff67d0c93141e9ee96804e173d06a45a9adb1f937710eb857e81d29e9b4bfa06a94e5b45c7bb0797f30486702457592962a4d6269ce68f548f738931ab510591600dec752a2e3bebe5ea20ac70e5f0321f59609c72d689fe3d615c8135aaac19f272a4e7cbb56252c7cfaff02559749c27f67477d1944370c02260f7d2b0d22dcc87f724ed79952650131f2917bf2b09d99ada665d21d0e66af224189639bebb55f947b9e0a774b8efef49fe1d4ea57f1280b8f50a2a011c40d2248d49c6965e9ddfc4670e6d37ed52e6633c345c2b75d9189f18a94b7062cd53a16149b174a9a9cc54b89eff0ac53ea674d9224370f8c514c1568a305dd796b3de923d383d017270a1b2d28fc118c7a314fc39fab6354891224b0edf794dbac2ca84341dbf71235861dff0e887487cc0a2d681c16e882d36441be022a186bc02009c81d18de941cf7d86ab55d7c5137bb6823f4e8941ceceaac28c0554f1eb43d77617fb8f6f17ce0ba4536f4c6e2f91d45944feb93b7da1fa6dadbed280fe112143f201c783da4b6f63edf1284e49282d0777a05bd3e942cfba52ecf2f103704e224c6a4a8d90abe9b779709e5e06819a2548e0772c0fee7098234314b7ab1108d3fb0b93836d2185d9166d96a78b253d2237f30f9c1a6e6850078bd62c07a2427c70d27103ba62b11c539990016bb9ad037781a69407468e6bd7e3c7b4554124eb0256f58a4dacd4831f7698c0452cd9745e53ed249b559c1eabeba8ec3ef3a026adeb2e272e448f70037cf2587dcc088f8fed94f68bf522189a02021e5e53f0ce95fd7988c864fe6645e914eea8434f0517ecb91d40cb8f03d4eb0ab77821861f8e8014f555a11420fda4d5e4cef92a13142835eddcfa5df841754f4b2fc0b514c5bc4bf18aaad8224bb96d2aab4f345ed570e7690a9d3a93f67b41d32110ea49d2bf59d8cd36e69c76c80f1ddff99849b567615053aa4056d3101f846b203d5ccbac3d125717af78c98949546e73f9917f36447843189fe9395e7a6d5911db6faf07c4e62fc9ee7ef67fd4d0126ff8ee03d7d38205a0495790eb559d701147610c1cf4572b9bd3f61d1763d22904650a6dc88d1b32e5b21da607320b67e053855b45cac73b4c37fd731b446cf8921320584365f9779723d45c452e53edf01ce6757ec0fdc4550a29c79d61bfa8a4774af07ffd148d80698517e0f7089ec3280d657b9171959c84bc628b137ae9e38314fcbfa1c2f7795a0e7b4825a20a91cdb8b5c575c93ff4ef2bbe557ed9e12e8821b9307942bcaebd2fa7cf5e070ba3852c57e9ea730a89221c63649021b36892a03e4c6bd88efa14d2127e774d0be1ee53105c7d7cfe6c882714c344533354f2847aaa5cdbc266a703eb1bf3b9a822075e0a3c6ae0ba593903c93ca5bacef4f0b57f512140dfdccda2a1668ab828d21697b50e808dabbffa06e86d6d183e0b8de4ce66fe232d09367b25ce72f81ae1d430fe48cc0c0fb34c49701c5720d8da86421b317581f5ef9210658edf599951e81df97f54790eba17bd86ec682f07b1ce5c727b6a7b6082cca47140a57bc930907c7c670500a8deac3f1258ea0f53de5eb5208ccb2853a31e605c2cfcafff81409d8f02106dc49703acbc62306559afd02e816b84dc86b3a2726c73f4ab47e181cbac17b0837a0487f51d5a16c8f7cbc7062f721d08827fa056ffd845459192a2f18e3d1d9416a29ca41d8a00d9ba49c56c1193ea4d89c474268bdc04c09d212ee6bbc3f6210980dbf51554ab6c4ef7b5542bd81055fc2acfbdbd79c2dfb300e49d2ab6fbde815f86257d9b7747986a5d8da2da3fb7dea144b77bd1b5aabaf1734e765f3ab79bf862fbbc6554c27605cb03e93d886da8509ffd3af1353292433a57c3b33c3ea51dff19f1ac4097c0eea34b81edeaec87b7fde69ba0aa64793186fafcc6ccee7ed86148c65b032253ee4df0ba0b4dd265d8ffefdb7cc5c4ea8017509450a29cf45322b549392c40ee692924475c1c46896ab7198f3ab547ff408cb1842da1499f202203525d321ec178d508ae7895ebcc3e551de0be1f110d030e86de99aecbe3903520704e913b1c4e4573f08a16e70f42544d05efaa9785204b0eeb55d375888d24066ae2b3fd07debe2423dfc436782fdf5dd521ab4c7dd2431a6132aa9dd94fc6f768b34245e81e2e5efe14bb10d2d23d5cf32ed76d9b10f282070b9a219aacad14a8ee23e805509cbe78172b2abde07eb84a51fe10ecc243a102a02a2feb863d3329525606f8fbc9fa56e7aba7dc3cc0eee08c1d3bc7b1dc311e5ffac7801527e6b2a1554d012f3ff1fd3ad923477d388c3275b3bb0163e3df80dc72b19358ceb34714362513bacbd375c10f9de6e0f73947b6fcfca7134128ac41c074764ed0caa22f2e04f7f362c30abc22aa97517eeec2709df0e9d088242eb96daff01c91dbe2fe90cc06308d8259dba7cc10a92970ee66da8b0621fe57fd40c54be3077fb85c7086a4bae07dca7e7b824bc06656eeb8fd8946dbd1839d62699a5beeb1bb3a361fc6b6efb60439d9f44d53bd19d3527a8a88b6c0a1de3fc68f7ecf6a15527cc3aa10c7c8eba291274d87319cb36e896a4507a186103a58fe4784668ac6b7fdb06863b2c6624425183fa149a9b316fdb9dff48bd7b02fd5fdec1c72b652345c0e2cb55c4d9c69fdc919ba44bf04dfeeaf00799be842e4179087406cd12f3d1f3e62f90497ee1931eec5814c05d133c785a842d8b2c01ba2e8ff5d29276aaf2ebeaa8b832d8fdb8cc945144c9ee86ea53a67f5ada1e1521032f4ebbdd74429e2f89a6d7971d1162c216ea7e506d1d3cda415136103d33b198b04f483a04b2ba30c116eb1b25f84e75ff398e775b2c4b8260e595177a1e85fb82e44591bf4a7fae98e57bd73c956a9122779cfebb44f39c82283718223488a52527ae288fb18385c7965990b2ec66dfca189310676cda1a5ef6d1e5603cf8be1c3915bbb181640b6ff3715b133113e5c79644e54ef0d0a6090753d94d1fc6af273d78926ae6a622baaebc823915064d63e5ca76eb4ef2583e495097e60e16fc80b1bd46ccdb13ffcb3930bc9ac61e5be0d726fde6644efcfd874437fe00977b46584ddfc689cfb4e013971c2117fb557e4175fcf6d609389421377d151dd9103a03ea5528608b6b4f155044d49ff25c3e7daeadcce03dde0a05fb09e507c67598981d0d1ff967c140c3611ed16458f65c268af0d7cd7f31f2eb7095512edbbc2f437ec470a7eb61bf6bdca9c0609071a450b8a55db89713550d530da3331dea334dba7424ffdbb3b4387fccbe1907b10a6fd6117758b3a7a8845e0025117b1dc9911266752a7b20a5e403799f6333455c696eba64e4af1047f2dedaf3221b875668cddcda3ce6a00d47b42ea908489193beb173a0b02f8eaea02fa3cf2b767d6cd7449c3ea27267e0711bda2b08de273f467a366b2be3bf18664a5f1c3459d01edb531d8dd42e49ef2c3d0952d1f072d1e19de52eead7cdbcf72197f50dca1c02947609a3e77470b20b8db866a3a73005ef4d3465b475870fc8f9f4e11aba157034f6ca9f63d50780baf331d1220d3da4e9680e37a044c87fe342aec62deeada614cb25c91721b456aa6132d65084896364306e8d1f0c3ff4ac0fb9f60fe46816e60063ece7497e5a46f58fb9430bad2a64201746fc792c61150fe47d05329bbef8af55ed5de051da8ca59c1e9e410674fcf3a8fcfe3a81b922da55f32976aa94eb1259f4f48aa53227921749c977e673a42df269c18bac36391ce19139321502c5c4ec432c4acbc12af187d034690f42e85ecb6eac9fe65da925bb2e3a0e1a775582ef1fa24cb2582d45d3cf8651131e714fdf3e829f06a21c40a9f935667b30617fc62337fce989c34a3c1c96f241aeecba20c3f390c3620dacc1122040817acb8a7a8181c2253ee3a92d0c2986a07b978999b5f3f76eaa9b4b26f81377d1dbd3680c3a42ee6937beefe585c9c561d85d7aa3d96d23720da9b54f2537d3c1774d8cd1ccef39aee5b52caa286c8a43b2375f585994d4bfe5031b094416047f70d262af2a73553b902c4c6dd16619aceca3393ea7109f518fb24fbfcc25d685f62da4a346a65ee9f31fbc3038a4233a19bd2eddf480c7016d72cb670e03e10f181a909fc80be6d0f9694b9a59036f64c6de6a674488fc424278503d5a35a4f617d2a2be0eae7664d7faec5c5fdee8c7f2e0b5bc78a6f77c28e405ccff124aca043ea57694c61de7d9d49d3ea1573e1df96f7a8723f91b2b7b8a49d071039603eae584a79add0bd36f853bbea1274b448a992f462379b2c29894a976d7083ce92aa2ab33ece1b22f2b2ad0e3cb12e9f3e063ac855e9883ebe7457fd2973f20f9c144cb1b1ffde6b75262ed1a0ea595295d5e4b08c83d7d89c7633202651cfb7ef2c02cc0c7acb7a8e34db303a54525597943047fd4c534081d17cac2960bc75917d9671e7a54c5a8b6ca0772035c67bb4a357af55cd69c663d9a750637037314deb5eb12d4586c7c658a592227c21addab56d890e1c4f0d1e63afea2a63d41116fd2e589a5d4f51130fc16def3c31a9d05708cf3fedd52b5f9209ebe373f3d9e27776f46a78da8d62dd7f9d1270834f985d5d9f38bf3b247bc67565bc22f47306a99255282fdd15e49296eb945b714b3324b51748eb161f14727059202310b16803e09d25399f48f8b782ccef044cf2b59e0e23b31357012df3e8187c21f34dcb8c4b750aacbec60b4a1995d25932c14350d604de74da2a364df55335b050f9dd7235c2e6ed809154e418c7e3c0428e57520bc194b9ff79b67cc6de99033aa075323bc95526b4ad0e01ffcc567061e1f6693cf2774e0f417076cd70f90069a9e0e034fb94d7ca65c52052f3860500b0b495207db7168ce29d9f16c7eac1fff1beb8c591120a02a47d787e21e2ea5fdf18a6f9cd4611b63b001d9336fd401dcb2bf86cb7288792fc923244d0209d885c3b4f9e43f33551b03705866448f34a5b4144d56635fa620961027993294c5dc8077e76a2b862c2371d9f908430a0140a8ccff2013237f6921b8e02fd94d66c8bd8383e0fef94de7d746ada487142b44c8f70056f68b72a09bbc573df4917595308d5a72ab95c5be278bc358c65306604b5ec82f922066f1b704d7817dacff1883013c957ac84388ef4e564838000cd8bc24b465d3cbd98b54ae63b15e769134de05453a5730d72d988d6f4e00a13fa1a267e0a5182c4d02cd8c8a31f14b1ebc30ac55f20633d30dcd11d2d3976a34a261c06b7020f8af08d7d2d15c9d2f11cb57d42366d958550089dd993c268b099b3e0983cd5f30b05f9bdae6069e2b0458a0ac84a3795866e66c42e6dfa73310de5e59b529acf82e2131dbbd631c06761647bdf063a5bc2863646a093b714126c3d26fa42f3992dd972afa6cbdfe532e2db135f7587d81175ebc29a69dc91a0627869b1fb883681dfa6d48490a46decb266279a2a7b41c479f800d1fa586c730f2cc6c67093b8abafc4e31cbdd82761ba3443aecf7945d6c96bb117c04ff801d1c0c32178ed3627bc30de83d3c448bb6d5e325cdf862d53321ab4bd047002920da1823b3223ee02d00077e32ea98b3efe0e5fa5ba96dba4537ef5beda9fa31065a58805bf411c93a4337a8717ca5026df49d527d62850024b46d131acaf8af2e25a2f325cd207a67cfdb3c1a68ab5dce8210e9597f03d2235aed87662f69512a8c0e6040ecf8efabb274e1d928f52853fcd8d8765f87d37bdc8b2f61c4710c1394eb93ac7a277addef8cc72f292b76b805961b7ea351b2d7f45e6f9cc95fd70914fbfa54568ce2aa2570425b38fca6c2c8250703c32964d3507bff0c52881828423a7664783c470d3bdbf90729183d5a60f09fd6c36545f625d2ee532e35062065194090e2bee97ccdb7640065fee095b9005ed82f9e2b84c1630b5509f5241701315717a6c539b08e42130717c3de87620fbb544cab31f62ba5ac5cdedbd204ea17ce0ec18c1579049421057ec15b67fe4f306df0352f9924eef8cfa7126325177dee4e2fc18fe991b9dc8619d4709fd2d81b79153d28cd922059086c15cf2dbd8ddf988aee9f19014713f3b132d9c490011e26eda97c3124b3cd29b8c3da080fd98609f56302af717e37df79bed558abab862526e14626474e065fc40b0506e6b0fecc1df1a19bda488bea59f83a2fe33f8b948215c8bbe930fc3cc80e8c02bcb4bcc1ae12e2a1200319af3f47af51b356d7345d4f934ec70a23e18c89151434ec29e8d7666b43460989b05cfe8c053893111a3aa4b3a31a4b06fc68fdde0629870613dfa1adee6c97ebce9eb9472d860b6fb6d0464e80a5b54c6238b4d209426ffab4fe39e3701e676713b88c7e14b77240e5b21120ff8361a1fa12b2e726e9aa13319a296876835aa741067d057815a5f6a7fc5aa1051b9bf740224dae06844a69fd8b0ba371609c300ecf5eb746b04ee4922146a2629b15532818918f11e05a3811934cebc5ebfe9340a558ba1d893974528f1f5427311f35012e68e4141b2897d6b05f12f3820f52a506e303ac62a9569cbb160a01d0b47a11db5bf33b5f43f624bd2bfe0da4eece833f64940b4e2eefe1e02751f51ab316475328da015addcbd38e6e9bf8ff6c46be7f599ec50a3d83efa287a78ca95e65a5f38cd12ca592cd4f54bee0ce63c5d396db58b95943b6ca7831523404fd8ffa59eae8ad01a072d4d486933919fddaabd0456688e21f8962220ec62ffc9d19711495c713134644870b09da5034e53716ea5e0ca93ab2617e2eb045c72352d1bf3c3f0db70378ff315d1b66ce027cabd5e798a00c9ebd68b7eef6d07dce997018e7481a1d04d4a6f713fbc45b8609903a1c57be25f7af674966ba57626fdebc103e56940d1f02095d2355b49e5b4feb7c7bc62608badba92045bf59dc990c33a3cb0f0d342194c3735fba17eca1af47933481160aa7565baf9061c08ca9bc7dac3dadf0312afd1ade183dda41cd9c70c315ba775d5279952895099d77d9abce244183939f0ce2fdb03654121d4790bf48ccfa1edcda51896788f3d4875f60ce1832644f1627e8be126faf7bae023c44d7c4951965394dd39239289911aa4f4dc957fc45d3368e219de7c5ec62e6657aa785a531ad1acc206901d5eb1bd4b51be6e363a2df3b46ad8f74aead3453c67278a8123056300b36287007ab8a8e9a654b62efe4bb0fc1b8fbe3e1b827a0070150236f4fdb9039db39b5f9268a3616642b10c93528212ff0a18e830aa09b97c0b67efc6a33a56493cb340f169585448d2072766ae6011a02668e643dd5583e245148f12cb87b5db73ed6301ed9e225c16d1818e57e2e97e8439dfe2809eb40f65732e732d6bcf75b40fc4a2136ab2989c5585bcb76396b8f0eec469d6498b61a9b643118cca00853a318a1c72e322453ad0ff60dca342c198030bef6897eedcd3930050e7168796c6bdb50292715360bfb8b921fc8130341555f7fe3701e2f7edb2233a357540951573f5f223c0fe7e20a5eab43b92a161cb2e0803e4bdeea2f6dd3971b7e10f5d271300f853222043a114eeeca4812d910dee0b5e6bcbc2ee675fcbd1f03aec0317b60a26b88289ac7beee740e2b2b7ddb7ebdd495aface9f3b5dff6ee626928319e467bc1c7a9f8631526091a921ee077fada9152270cfb4dc4b73336ae358d821e8276295844f9df81ef73b3e10d69c37f16c4ead8ad3af526e829776d5a72337a7bcb89792d4d3e2025770363341a98ce509c77188003819c4dd6cf289fc5917c0e106fec86666387461b369b05e0903dbb62cb835cfc94290f315a089acce613eb15a733269c54144baaf31a069c036153991fb8831d8ce310a3ee2b33b6944125f47e262d65f1f347ef89b31eae4361631a41e7fdc756eb2248781c8742928619e10a4d4ef45835d5fbcdf2065f67434ed7f4d452effc2013cd9fa42cb7f5fb497af224a5b5dfc31733eb0501e7ba49f56e44e70bb252f30cf1dda8c0143815fdb238514dca764d4474dfab2cfc3d46df099a62405821fac08ce7408abf45f956b216024bcb34bddcdaf1b4173112e746bc5c3b3914282fe71b3b0665404c13da36b6ba08941a3cd35709443014ed8c2a9aefb9807c623432c171a82ec9ecec6f557b2f8fd27bcd788c5c7b25255ff9eb04d3bcb3fb679ffbe3bbff3f664de65ff70717251d8a62dbadaa3e28c857ff50f4476ad2dbbf19890f484d286155733dd2968329fca3c5ce1065da0e252f4942eceb3da9329bc9c37e4178e63636825029588832063329ad127505283be9b9b92258791c0129d69d066ea5f8b3edc779ecd2a693d498366d66add2179c6243d25b8a1924eacf0ce169a3a4e6604cd4e6a6ab3731655725b53ec3da25924a065a82748789711554822e6a0694f8a87d65e3722ad91bf9c8083b748817f9c6f4efcb742cd75096c99f620c1c04c324777b650dba179ef6743f5331c50e31027daa3b3555b041364ee0127bb05d12295b3075a2d4aee4d7dd460b526410e074bd87eba0614f83e84c7d2ee073a6e15e7fca46d7c9c333089d0a52f0e92d2e5260dd5ae1783668d5283094b4e5e157e7a8c5b0afc718d32b0da795905d37dcfecc6d2d7fa287e3ed87f16ba2c73a89a6306332bcec1238c99da34734fd0ddfcebedaa47b1885321a3fa74b8654c7e9151796a0f417c28ab8a1d7c4e603176167241621ecdc85b6ad8a1b4c2a607f0e564dbf92b2dd2478233dc7b02fbe2e498bc79c9d61f6c2b7a47ccb4bc9c357b0471ae973f326453e8406952f70ae020df4cec2bc5cbe8aa28c277f7d35ad98f85274d6942557a5fe8262a117a0b23054c6f7698f9a535b7ba6cb78f2b00d5ff89b1708aae86ddab785171ae835e339cc07b1d82a6eeb80a792a470a4d048ee1b9834fe5e09a550b0d97fca4677882dc04be59ea79b5edfa7f59f16d8906bf43ec05b902b224f969946edfb2785021edf8fda983d183c9c34588e54c33c91fe160e3dac6e088aa401aaf920633eab102307bdd47c57977a3936fad6e83b89465fc64657d770e3eb1113163f70177a1b9b22b63ed0ddbf9cca5275eb2ad9ad0ef3f540234e7d4f902a124b0fa8070f3bd376467357fb727b0e253fbc0e1f23ea0da227b866324c278f72f390a380d816c76cda21c62af850ea4190c997044ceb021e2a8b679eec5dc762413df9ed281887c295d270dc0bdef115c0e7acd986d8d43fd9f60d63c04e5da28423f5535e2eb900c4081b6cc485c0427ee85c06bc9cb2f0f5cd909b4fe478bb630622af7c1b1fa92dcdba4a5068ec563c7d5573c7635249cacf77fdd2b956d58d4400901d0cd9f0afe21aa63f33611eec48f1ab34bd61a6b52d8247ea255921bb3c08cd970242a79f6e4ab49e844fd3d9257716612989db7ede3955d6c3b24d9f853a294f3dbdba6431d13434b15075fa024d864345aa59883a7377c46cc1c7d4f6db4a8a0faa4be2e318799218be2bc8f8d52fe31d7e01ebd3ef92187f7b819197c3e3e103fa53b0331527ed1e60de5c41e5f4dce0a9de5470b014a2c3e8664233743307266a395dfefede484058eaa18307c783843f8379faab04b42151a3a69fd421a13dbe1ecda43453dee8601632e617865423c24b067ea7c6d47c15816b4f8d61c408b34ab45e75a6932c5d247a7b3975fe984cc239baa494f6d1d0ad17ec15368c3b89b8a9e4af265832f6bde007ed3887175e990ac20bf0ec0298c6f16de7d8542e259dd44852e7786c294924a58804f1c516dc8e91353ce0ebc1f39207ce01ec158a689f4d702a09b08f3c2fb858c3a77aa90f9db9ad1cc67bf23ab2fb3d4c240ccbf15d3abf848e9e26e71b5e13e087ddb6043870322188a48b3cfb6d595a5809a650d8ef6f735d681154c10e68f8953c72891ae3d95892d8441e533b1cfdde3995d33902b89d742b29b0b901e2589b0b210ab0e96195ba6d8824d0e0e823e9222fa82f1b8ea1661f4521fc713cc0e34bdc52a45a59fa95c4f57758160351440f226d9da36d0018492ef3199d5abca2e293fa9516caa8dd5993329889f447ad159ee71716c83da2d389c546a522b57ba3023483239522750e31cef5029b9c2f0a6f82fa7b68605cdf2301976652ea36d6b190d7abae6b6295dab3183979f62f2bee00e19ff6545719ebbe3856bdee6db4378ba28e344cbeedb0213c0fc3846c2be7f38089680cff4e86f4aa7e2aeab060fc553a7c4dcffb74e77a4744b2ea0c13b862753ec3040609766f9d78597fa6bda4d74ba6b6f252bad73cb830daa5510fc68f4a8e3c92c1e7ed76325b7e7dbda5d0d42c4e2161103c4c1b227cd0fd47063efa885c3c60951b544967b33592cc08e603b17b7f826750ad6db8c6f13f651180e44e4fee54de71449231ce331067eed87466959dc079642bb968290361d809632a79cb6047956e4a638f70950d5280ecec4f9a0d4c807b08018c0fe533a819b2dd6fcb5da80cac97b5b154f792a52e6bd211a54aea28bf530249fe1dc99b1df8d4bba43442365daa323391b868526219253512d42a5dd8195efc703d8c7600582af42a9e14a720630343300f8dba20438dd71d6a210e90b1feef006cf240224dde9b0ed814190770ec00703c0758bf0932cd1e18e9806b208ba356deaceb21b83bdb99ab29d2e0cc5eb36e14b8d45d3079842e92e3920ab041b7e256e7413e2b5abf3c241afb2db7a3b7ff838961ff51ac0bb015884e412c56802569ceec140c7670843c2023920938e0dafa5ef7ce366a714fe1b1e7864262897ac0216a01677dac7f535eea6345169396283dfc4b85c82722bd433a1f9e588b3324ecac01f2fe39ae89df68cabbec6639528a3253d16935e0f0d22d7804e4ac9cdd1b3e3f0f769bb0ae1636b8afddbf5e7247dae4e879232c099855931e842db254b402088533023d6f42a131f9020172919e919173e44286a68f0dccac94816a253d233147a14ccc3dd2a9a2c2a10e3225c0d9b029cf722ba21090f0c2e48b8708cd9300674b65c8804747a0d3814f7b2ccf13ba4bf9611518d84da9635dc70200000026290000000006b0a5c50120e83070a01f641878c7307e081000702a691efa6a121c949c6a3901b1b81d4a456ae792215d61e08e379de70098a45f1f1687b36d1911cb897a0222800efdf7bb309fd2731d3345abbdca2de73e7dedd0e267c4121c6debdcd4c743b770214c0bd16b4f8b13a7bf4b4c62db5b63bdc3fb261e79aa23c476838333043b0beed5781100cbffa5d09bfd4c96a2149fb933c6f85800f831442fbd29c09bc34250922545a924b6240cb0772d51e9b72395c82b568ba8f923ed3e8ba319bf8733bc3170433f2e78bb2927cd9b994332848a5efb6f027cc117f8fce99742ccf67f334acbffd14a9aed1da5fa2b3a8494142fc7a2dc4a452811d5d380f786bebad9c9d38f43af41914cc217564f64eaeabf23908bf4cc665200cb6f77c88042a15a690f046df5e8813d74ec9bd3eca3a753bc0a22f71f000003801f1b000000809a3d7af376c832d1fbb449cf1fcf2e64f0d6d026c91130d0139188080bf881c451228e1a81648ecc715488a34e74a4016280e368228e16c13c0600c7d18e383a088e4ee8cd268ee921428b4891b732f4da13cd132ccb3f460600c4394eb1fc9605b47d660f4c894ab64c4d4872d92ea0ed330b57d42b597215259fe14a3e4b957c8e2af93c55f205aae48b54c997a8826fd0f33926162144076c8c91c84ad64faa22a770c7fed05376187166f966c05d54d8816f91087527296e4f5a8c9d9f959419b6381fe8d8c3b87f4814000010dafdd2961a2d49a3bd0b512843bfcf16e1ebc769b4978e11c0de9e83b1974b1312f764b61c6f23cf721644a1dd41cf3b3b8754492ad260022c2935f2547a833e11d02306b8bf3e456314d245ba4130a2b6b71e31192eca6059ee3f4e75007b7b0ec65a3554482c9343263b3c1cdfa5e908ad39a7e6e9158210246ba540d0b7c42343ef9e587686a6c91850f3d43062c136d2c4aeee4bc68c9497545a84c798cdc29487857bf59ed85915cdb8d9794cd8d94d672f1207a91f8f764a2c79518ced94b61c510866e1ddf33997dcfb1a6a1ef0887989f9d8f1d1b0f98b3a380052c8f1ca81fb7569d638320a3d9f77e2047cc113dcfca9bb89aba0b84b9df32725abdff50736ccbe5982e1375680e8957352c1ac4b11cea6cd261a8e00e7762b54c97796813b878b6589ce3e01b8b32b0f32298a07e0cece4bd3655d3c000eee1b59f9d82d1d1cdbaffb14154c0108b12a9cda8184106189476745588942c5bdb9c91e922d45897435ea153c8e01505b13013a154eb5282e600e64c4267ea6e70ad7dcfd77b90100c059e31a7681f3f14df41eb7115b6f4d0d37fe43215f1b15f076a6065afeea0a762c64240d53032d3fa78168f0d866cfd440cb3761117b894cb34d5ba854d1bf2a18620313c142b0111c047714de3bc5c903d6142c33cb599ec45beeeb4c1647ba027110dc110fc4134942da9076a403e944ba906e6089272a154943d2910ca41f190f196347adee34f520e96eae1d0150c8d654940c1ad34614b4239b2a8ddf28e8900cdc7e2c75629c5ab6a94e6f20c23b13a38ab56e86ebcc378bcd25ddd4af18ea2272f64a913bbb3372d8b966b2ac2bf9fad85edfb8d77fd805821dbc3d7ba1fa0e7862b367824f9e6229b093a3e395c7edb75c79d05fd25924fbfb0f8f446035015f5d05d0ce9d72ca57ab73cdd9e2ff23f22b9d6cfc0c814f0f62c5bdd8444713f6c640762e91cfe17fa84a5da59a81e292819961857901466cacb2b71345f9119bdd582b76a83f0ab899fc20de4234ee6c1c81ce4623958aaa49080e701c750d4713385a2c473bc1d1c1235d1c3d38472fc7d12fe2188419e6100b005503d6105ae918f047fe529b7bf257af9b062054e99f643a4b1352f96141e423bd3734318468944f45a7e56d0d0d34c15fd6aa9f9e313b86069ae0e2d0381dc5cda2a13326d889d3ff51bbcdbea141dd0ed8426733216877b214da08b77627e3e6fc5d08c3ba888529c42e7500c10033035d2425363dd24780608a99812e32c846f6722f7b40b0cdcca08e8adcfab961d49bdee9a298e6a3300e06049bcd0c74d1f7a631e4600704fb0d95b3086c16543a6bafaaac16236148384221114824128544232f482c224668640dc23c5d15d7b47cb7e2caf8ada52f1b17f54b1b3ec450ad220375bf52799a492b26e4b52cf6f8a630fa77a6386d7f6797a5caf501ec25ede10657a8398225b7bc8fce2e77f01e556bb624a8192aac5db984f0c3ee699fd7f937e35bb5d777f22a233f26e5905447175fdafd4bb0f161bcc462bc18b34605910e983901eca53dda19bf771faf227e221ff2d3eb9a0f24a34cfd655762b7370d1e35c80640468957ad3ffe542fb3466399ecec01e4679552e35538c54a5c2d5200f8c635f2777589efce1ee0a7710757fe9103fc99b916157a8032446f3d870d030000a4999f41096f16d880eec342fca208e240a9bb89e171edff7ec20f0c750bfd227b1e4b7f4f561703af53c04add352134ac8b4fc972cef99f3bbdacdc9d29a93bc525bb59e74207c23ba7e36d97854253943adf3cc0724c93d95f48ebc40da9c0b762a7b7264a25c986cc27b4ae00e47212883882c41ab8086b7c7df51c0d9ca3c95d8a6d22404618212e9d07c0fb8fb8aef201d4ea1040a206d592e92c1a9014348db2d400bd3033d00515e9405dd10c7a6d66a00bfab2b5680c3fc05b2519e8826b164a022a01cc8a99812e44cf89601f3380593433d08522a4eec2e9130930eba44732631768f19748cb2af573062af1624482ac45d621eb910dc8c60b36bf8fa93f79663344a98d2567630da92444a1b3e71ef19e119a19c0e2c098290c13b9678c66208bc83cb2802c21cb9667050a5c2c884a34c2895343212bc51864372b0032b5cb430bcfbcb1b123f56e736b3753b8c180d57799fe825601f11b889e93c8f4505bac5d50c6da7943e6d99d1dc7b6dcca2ef83a258a4d5eff44321002ace0cb0c640b3cd1a673eba0433bd90120e4cedc8c31b98ed64ff5bb5937c23d577106dbdbedffc131fd308bfe33e818c2ef4814c13764183ec87d438903d0d2f3b96de1161998898ac9706b38123924d59fd3136eaa85f101ec252d840c228aaac5ad1d9a78e78749dbdf13b17fe3c782be9f152b1832e3bbe4ccc6362ae84f0bb0738567d0945d924fd2b94be0544f8820d5139a48b72e8d299390452327d4607412ca48b72ed5a5d4224972f991a5176167a7c1551ac9a15f4f76b92a9609acdd6e1135e7da221c06339790f49f5aa47e74d6bdb67cf4e6e028947a12e7470eeef7f46a9f1773f0c0661f13e3747cf661b00bba7401e2497270af6919b0f5938307e38c2ff593eb36b6ade3a476122d9f81cc3fa72e64bc93717a9726d839973c672d522b62d136bd303858c4717f6edbf4dae060118e890b6df39631061fe77f6c0babb978d7128b86ef0bb6986d338be6060d9fdb0c59db66d6cd170d1ade55bc14dae62fd1162af53a535408c408214284102324082942562d92082edbee7fa3a9c072f973e2e05e7e480721e72a1119968b5c98020307d9e1e315aff75e56c3b35d90e8862d182c162f76ee63333fc7984f3f1518ac825ddcbd3b03896a9668342b48f42b9dcb1d7c70f4355b02790def25a7614722c441fce5365d3b7ba58ff97296988c96e45b58ef8982f440b0772dd0a9d917a1a8f3a7ab26d5659b9401517f79d7f6c8727fc17314cee00f233d0ba91e037b00f692deaa1073475f21a7cfa4df71145b1e39982c1572de074cd09f38c084f426c71cc95731f064c834845eaa37f497fe42add015b03ea28432feec040000504ce303d16a02c2a4bc5aa0687ae1806b699b13a76e0f908bf42ccd599d5ac861c7a956d233347822d3bb801e645b999b4545d56a22c86bf55ce5551cc63bbb34f47e4c766e0011d09733bae068e5e056298875fca9058112d6d4361660e35c9e274461d65b1b41c22c870bb433c301070b21b385962aad1ee783fc164c809f790a628a29e20fb818afac30b6901a42a91903dc6daf16abd3b4b22f80f4c421f6c469219f832943a4b037e27b024788019ca91f91fc756386de11d07ec49a2af83f9b20303b17e20c0f779d965772a89a41738276e752f3b312cd00fa19c025f27da735e642352280f1b8dffd18c9b9a48383600546b11932523d184d4abe0a180c7b887c0b05661c15ce51e7aeb1a608a0bc36473babd2c91c5d3c470fe2e8c339fab908071909d3a98cc8818ccd3ffe9a411c14f553f96b8ec005b5d229c5d9503fa5395426cf373d42f5549a83e22f838efcceaa9beadf6ffa83daccba3481feb60b6dd41cd9d0b0a63e3c4a1dcd7c7fc5cc58fa3417afb82d175afd453363e95a56f4db37631604f8d36606ba569a07b5e2c600c11233833aaa354ce8b94b1577aaa35a34529091de82ae8dad94fe720b40b0d6cc40d7fed42d9e373620586e34604591066c71aaa9176201e10aa3012ba14b4b69a1b4b38d3b5c44fb2e0d590c14c9a8235fee2d2c305c67682c4dc694d8db06c2e152438346073d34474f91703569a108d253f85dc5578cf821fe480012880421c14808128a8421e1480412894421d11d0c123b0e7115509338a9d6b15758ed21c9326c7121c8e9c9b0c583c1ee12ae019ab3fa615cd98d71c490b3b1af902708a0e288aae388aaef4854831869440e29a328a289e570a75b80f491e6861b002864d7f94ef513c81e1c03f287afc3b500ee73bad1026711dfe09dec3cee50cf2559fb85ed102562249d9851c7c05bce135362432e77bae6b7bcd8b18103b8d79d6fc967b8910850c8966050d4e60e562e75e91d82c46f2cf5bb46de59199e756c3e688c47fdfab06fd42540ce52040423771ca588230347c5228df5dde4b7316da8810ebc2785b2b5e54d95a024d7eb2c41f0a0620388729ca529d75a3f8b835c6f0c0d34e5406213af66ebbda181a629e2cb95dec8ded66cc05268aba90b18e645353b6606baea900b043272c16c9a1de8a977396a7ba604b36f68dc4957c32a2da34a23c0df3233d0d5153fcd73df01e0ef92162a8d860e5428c408254285502334082d4287d02b320c657a9ed71f14d4a361c2eeac567176b5cbfea8288a770bbecbd509d1675167a7b6da453baf351e66de2c68fbfbfb060dbe2a2dad4d1f53db0483a92987392b0fb719173387391b0b3ba7399b290f27978939b50e1ff4c081b82d318dedee043c8eb5c70138102030704cdcff35a9abaae6e9d7ac280f45b00e41369917a32a32a3480000002af0a56a31b65427273ce0071432da323132b896ce6a288033e77439fc7c2833002c90988c14c9db12b852fa4080bd84c50bc568ee56a1b78f2c8e92ebe3698c09ae536e6e5d67e299f6fb53bdfd60a3d37eea249de33f303af107a45bfbf19420bf21dd2c3f977e26f887821b55f1df312622c2ff3f66e7efa0894e03614a8f1bfcc5e000000000c6e7b506b21b96615797e7e6407f1cc96f14d122b6d097ce002aa328079f52a3ec5068a9c3444c2b5133c2c8471f4fba5486ef0f38e17bdc1d336cc612b73141edf6f3fddc6ebe801b02e0086bec48d8d829993090f045d90a398c257e6456cd25578d27c94d88334ffea7a74c663feeac345d4a6f2da28e1415b101073c353eaaf66caf00fc8f50746b72da5011de8000000010174279a424b316f0010000400ce7da0ce487380801000080d845cb16fb553afe040000002ee9fd023c8cd3523feab283736c09b35f60b5e970cfa4256300069b0ef34b4d0c7258a019664cea34c2124d2f1b47c5713444ebbb0571a38d05704e24421e900d61c72094446e21d432680a0477693a808cd56c12d95b5e8b5ed19e654d2fdb32f14c7a71fecd5bfc2105000070565ecf592a3da0bdb5a9415e2f70fdf0b1cd33a9415e2fc13cfaa9cdaaa9415e6f133c3f36fb0ba4078b28d2036006f97d792900fe9a9981d82824b2feb2d1602b8a74efbfc586d3ff4801c10ad242a5590d274885598cb020ac081bc28e70209c0817c25d45f29c8d09715b7f26a8837e43136dc61eb2b1866c1c443c8955eaa9ae22f4f592161f48b32594949e8aa818112ac41109441291b2ac28500726071c70c001070b124696da4a63fdbb999c65f2042d40ee938b1f85a26d0ca77a1bbbc3eba84ef4d9d04186ffaa385c42a19b811e515a9e1e8dd4bc816c9d657ee3ca5c4f60e9a48b4379ede75cf70085279ccb3f49ef679c8002677c3d39b74b8ddb28e2e66b661793fb41c702d8dbc8da86742aab9b1ccc566ac1e4c6753af9fd3fa689162b94befc6949f4ca46749af00301136f3aa05a34812849d5bd1b5f46226a1513d11bd2b3fc7ace82d7fb1f46000003e02c31ce7a5b33c3629c353b6686c5386b36cd0ceb6ae275286f3407987d33045dcd791d4b118600fe969981583d81597f97b4ec9f3b73965b922746f29102341029428a9112a4b45a2c3b1b764d6671b4d24005c93401252f09c8d5b0ebbf3a4e67092aa9c880b60c21954d1dbd0545bf038e6c5d7b3591fd873cb093a671068700512b077a699b94805c5a336903537589437f49bc0369ac7dbdb74c19f30f6647b0af10a46d882b3d0134ce871b7ad2beed87f422a71b980c15a5f8d0d0345f042017e9c16448cfd74f9e083e13805a690f847714dffbb894eab28666593eea8a1d7c1b65a26d540a006551245a64f8f9ae00a349a870a9adf5741c36601c3645424a7ad33d7f708e5cc88847df90facb4600b99a0e206334019381958d22345e648614502b6da1924ef6a954884facfc094de70f189bd919043b3ee59b0352ff426ef95d1207dff24a1845b2852e8979c6596ea06f8a954eb7f693d3e702ec8c44b939125c8a050bc8b021a07ee3fe071a0b65bbcc64d5e4d42cd486e6343194cd1aa976d2b3ace289f9404299cf13eb0d6da152e41f54aac44875bbd5053e1ad059a3f68a50949fa56007a82f5ecfe9ab7043b225edaa43832002b07e29e75a8716cffb952947e229cd28e34859466f0e9c148bc90605ff53ba653257379eb763b1f8eb1948fa403b5ac0648e582dee4cf9a2ed84da690f468bf3f9be1d464b52ad37b4854a716a48855f8c0854918205c9aa5ad566141293ff17fc9f187cec28c999d4b8efb1080aa25f556f335429cb845532f3b261e576f83cb1f5044d21f6d7e00890e008e48e22c8c15eb75a527499707e3800976eaf7d15c9cb0daedc72f257e92014a0708d9b82a708b74496bbacb9d9c8935459d39b67d2fc1e2a29887fe305e032b107f64ba75bf0cb41ddce3fc8298fb26cbffab53e12773ec5cc46e84a1ebb7bb42b0e0739bfa289dad2a7a07e23926590a1e7ddfebeee1f0472919e255cb4fbe2c127942b870a6a253d234255a4705e9805ff6c9be4ea30246142d04dc79faa3520c61aa29cd3459680a26aab22f0de8ea18ab04bf75b15d0307cda7852fab2456ba8e0d5b801eca53daac55af252972431354ec4612f2ecbcbe9be9b7a0ffbb8401713d1c4f190ea23664fb7767c276688a3c2e8b4e33949e73836d28d832f26b3fa2280e2ed899e9683ec5dfe41d7441c846af37bb5030539f8daf02db571cd297bdf4532301ba7e541bf0d13d9d24ffd2acd1a872223a7dacd1c6d1ab11d055203d4da11f61c9f96144b6e247f6e74102dd59bc51a0349cf8273dd92e3139d9789bb21a76b36112c51f88eb428070a74e4c86d324d35c288dfa195ef27f2248d5f7d6795894d67e145e447fc07c845dc73af529d650e3a25153d3d502b6921d4d80852572db283ea118257595a9083ef79a7a5323c15713890cb67d425f3947f5c76cfe7112ba624ee4a675d760cdb58bf3508b9382e723f8d479ecaf596cd90a536d6381b33e249dcd359bd97622cd5bb21450a9e06eabd1464a9de4d694ba159ea5c5b2d2226b025da27b2ea2efa3c9698468899182547d73623955a92111a398a732e74ef42f898bfbac78cd17fd85a3d90337214842e4fb8bcd2bf9405909bf8d7b681cd522d1f2e7465a340b5d31e6c966a793cd7d6e305ea0d6d21d4920ca28028b68bd2b19bbbf820d3755991eb82d7f4731fe5022c8c47f5af82019fc01f1abd5591c4752ab5e472ecfa2a07ff2b643d623e5eb2389aae4f674fd3cd082613cd3b56eef8f4026684a0de9c44a4d43e3d2a3ba2fe69f0e98c89d1a1bb03e1fff06f2c8cee1d91847adf05509f62f037462313634824a5c3a948db15d78e0aa100e49699bba8b45b221652202592913ad2980425ede3e8888e59a40be9467ae7e897c8a1cc1ef136cf7e92b10b5d0502d2913a68f6138dccfa789dc01b3bc368b64f5ea0cf704f1890ae9f843a2baf9f4763098a1666c3ecc068dcd81959c827ed9ae025d06c1b1b7ca2a1f988d129b0be7815e8a3ffbe744bf04adc789ba4e2138d8d5f9377006efc9024d4677c4dd4994c014827972468f9f491a92e40c12e53833aaad7139310b700c19ec6277367635420602f6da1d27eca5845448c8822628838228148225288342283c8227f10b9f0085bc95f6db98762814e0e9b5b169f0e06f62cc298005bcb8e210a02facdb62c14d2e23949fa849d705935a21b4cb2f793e5aa9a7450533c3d63062777f71c912cc3b39ab6cf573dca70f734ff6245f289fa248a4271bd319923b2778409413b02973fa444fd956064c58894bdfe5098c3dc9a17425fc860f9360e293b9f2b323586b4e46f589a3d228317a7c6be25b23106f90abbcc56c23c0ba318f2dd68541f5cda8a7764962c61a5e5d36a3aac85164ae65a9a2a9a1669b52631a3ab47840a2f875e129acb4c1f228162a0e6b894f4e57d611db9900af6995fa9a65422a014eb8d71aa1d9197c5ac0b2188b58f8a1146a562f957023459566b0c000a8ecb1bfde1e2fa557fa9e8455516afd35351a1ad29e54491343b22ed491bb43496dd36f93ac194c9ac35d289daf52cb74efc51249f3ad2df1f4d3b03c77d10d3654a2d50963443be1f8d20ef3e2e07934f0c5d9c5e84af3169cbbf8e24aa31a6c76419859a1233bae2dd98fea5a425f37cfb469818b423756f39bc978e486069eb410556eebd0968d83b3feeeb6a3a9a8616d165cacb180059c59c04b0efb2f6e21d14395cbdeacb2f3f60ee4347cfe7cb56517f4960f6cf0b1e5cb7318437e9e97e3609102a4a2a46844be92e52991b43c032949a56542aa419434b28f87082fb2026acdf7de35334d3ffe50c8ab6c2962a746ead31558fddf4a957f9ec68e29a4d1b90f33290c85290b970b0b77392b83ce8bbb89e5050dbde1258cde612203b2f38e6aefff944912ff0674fa4359b20f06ecde40eac3b00cf0250459682c03ff50470ff12e730f0cfc3e2cf41b037c4e2a0a929a88de79e567216a51d437ce7f109a553f584822e27bfcb10590ab2ca16466577178006874a6da2d85bda1ddc27157c45afc17cf99c6e6496355ebc3facc7bf1e2dd88d55107de64233b6a40d680b0bf4cac84a15f60a7a175b5f545a2d5a7944787ec438970c3b109af4bac81a3b71bb66ae3f9c0259d0bee5834bc838d101e00d8c039d2b03a909fad37b89b3066c2dc9418bfbb8d9a278ed60f1c4fc34d8d72ee4b15ef19c6ee4a68d2590b23b4b9c9a4d90fd4df25c58c367765f411e74c503e9f0aa50e26512c882f8712f0f7a0692475d7a06ba039a5b92fdd7a58d6903faf0d8025fce9bdcd133fcd10e065c9efcf854f18712be5a923fd1454365e84185d00997c9205fa5e88d17b3102456746a7ce642c756128b5a8b2cfdb07017de15f65bb403af8622fcdd64f54f002f4e62fa2b6a2be0370301000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"9],10"commitments": [11"0x8c2ccad4c4dbc03985b12f42da3facfea0b1076054438fc5575c6ec461ce6af31dbf60c7dae76bfc9104d5d0ce5f2a5d"12],13"proofs": [14"0x94223ff5b9c156dc3c5a2c0013a1555c8af307928b1044bae1ced87ebf3171e7665acd769ec1218f5e55dbf92f61fa96"15]16},17"blockHash": "0x9a4c094379c60be9c900144c1ca7dcde582fd34bdd5ee7f440ca9e9911f05af5",18"blockNumber": "0x2fa6c5e",19"txHash": "0x95416248845cd7294e701073f367a1aeb27d8bff500eb9afc22894dce078afe1",20"txIndex": "0x82"21}22]23}
1{2"jsonrpc": "2.0",3"id": 1,4"result": [5{6"blobSidecar": {7"blobs": [8"0x320000673700dc51ae5a1de2982bbea6505b7d4885ce00000000671f015b29550332106c1c00f859e3271f008c48aa5539e1af12b209435bc78a12c30b89d15d3369112b13d8b40d9c46ae43b7bb2e9f07c5e696de5de490ff513cfcbfdd7fed18abdead870fa025e41dcd38079dcb19958d83905879b77f1e2f7db9e10620052838a510736b535e96f626dc7e2167708db4370819e40138e732f8403c8bafb70b5b729a23685ea053686e822697828e4552c6cb0043f32a9882efed427198dc3b01f8b9d9f841a1d0a4497db602742990d6ff7f5bb5149395107c06f124b1ba31b17f0a9746a7f05a99a2671bd3687733f02499ddad5f3f98fd53d850980dde3d68ff53c8f4690e91666424290419879043b43b595a53efaf7437328d68a43e2a4e1e582a7a720e912529567faf1ad00f862fb33317ae8d9ab5d229a001fd942d311ab108c5b459100318ff09d5f9df57d630635e06607686020715e5da0a7c1594fa008528896c792d595e72e687f12350754a909ee8bda63990e9b573acdb150ec21530bd19bee11eb529e2479d9a93f92dfd13a1f573c34fefb26d293c4d3f5af26bd79a112654307866287814243404140c24043474540464187404c0c20aa6758497d188327ac123db9ee6f239626bddfc21814c4aac5347db497c8e323b8b5ad9249f4c66105f4057d4c6766471df3a960dbfe95cede96bf0c4ee2fd7327b7184ee933d68fb2b4861d85bc3d85dabdb7256ea3c560ce6aa2514c9a7d4017e11390f28daf6f51d8a08d9e35bd50dc983b3e58fd2998bf431096ffb7f8d3ef1274b6b920ae2e6e7a98ca73de859768c0bfe140898f348655ecf1c08626c10e2d1ce5e0b68c354c8e863e3adf08ca68bc04c4402ccf1102c5cbd18177f593f2d530efa8933762e0c3b4513033b9982ba958a30d1f8697a2254780deb4b712ceb3959d9e007838e12dc8f0904cc898e32b113e499ac1c2e62da40ce8e0e742415aec9c910c1501b383c79c10f087d4a11ae8a8f75e7db2b840043894d147c367c9553ed34113ab2dfccbc602dca37bcb7c987f53119b373ad5277f386cb023c66d93fde384b741a1a026f32fcaf0a2883570bd082c9cc6f1b4084984339ba276383ec42c0ba0fa720ce2822a8c837e48802d54fd18e98d6666f29ba1e7bad1aff84e43ff991851d1fb3b96c33080b21dbd3a33c1a3c1a2428fc14cc07e1970a87e54da79abf1a3c2e3bca62074095e82bb71a01d1a29a4e417abe376ce48408d12b60df0648bdb62905c7530b7eae354672256703f0945918f4469607873f125e3eb4d6c7a83f0ab1a07e825e3b780b7d20cb4ec22b4995fc3ba9966dc0443ac58a3058d7e7466cc86607d6c255610aab29bbaa15c9bd29b98f7c6d32bb1c03eca6ed3693c1f878600db8d061f3f731b3ed4ee19df3d5a50ce15d16996aaa39c2d5fe6e7a0fd8954b2a02f110ea85b268bdc23892d7b3472f21255b4caafe08ee572a584790d423b2d2983adbe8c41d77b64d609096648b9adfc871e62909322ab6d746faeb316ab207851837aaebbf7b86355b2e82d42a669d479cb950e7382812a5504195b8cdc3f79fa55a7ef62921515f23df26c00a41b1a2fad624f2017f7539a5e909b7640ea42a281bfcb13323f9a46851e42a694a4ec5a9cf7f9d0bba367f0b3914ed6491399c82476f949c3847c6711818854e4f4b8b4fc503ef325d60d594331f78927fd3011b309cc4ab5a2a5c05b3a9de5dcf739def2ee25801939afb5248fb18da938b404ee72b55881acf75098a00600e9500d759796bd00dc9aa8c33372145e2a15de24020a9a23fef42b57b9eaf076c1961d4aab4de9d1ac850ad6c4e959e4718515a18cfd8a6143564e3460d1f27189641b0b19975a732b80c3a9f4afd078b5654d7c994fbd4d969ab6fe794ff4d1115901b26cd9189064d79df0ed74b3ba6f8b3ecfc54e4f82ad270941ef713da9acd6d983f7f16de115776867483e19b7e7216d5d38f74d3d9b707e8df5cb56b7a61b768e71a830039ae753c1cbf52af598a58d57c3ad6719558837674821903405babd5b1a7c5ee393dbd8790c6276ed4820b5f31a1c7bd949f3d006ce02f25d7638bd3ff9db1e91b0dd4e7922bdb1d67eb01f9842de7c77a8bc00308fcf697021cbea7bf4f43b323714889048a6d7de93e8ff9325c38ff9517a3598d5acd6987e605ba229b2101265f2cf0b4299cc83e2cd627bedbf4fc1c718ab6796e002864aabd7c2b73d64d3861a967a08234b2678eb78678bd303e6f6d6174a38dc0932ba009a163f52c3319f6a41da2ae66895ddf7bfbaaf80ce67ee375c0ddf1c99f3d0eb291520d0b4131a85a524927e42689c7b92b6219061cf79e2040c1bf94c07862cb043b0b44010c7ed07398c7d65fd04fa964690c2de95b2e0a48b7b2397f121990cfda013eb225ab6080c9d3236ff1b3fe981d911e05b6f9c175fe7ee15ebfb69c9d00a192c93c25c2335a8579ee3b5793bf8e42b3a8ffc50edcbbf2149fe4f109926d40646b3c25531bd9c34298df5c75edbee75e98020656985ae8e430de60daad5fa1c6352df1041d65e57c9b9945b070ca5716e4c81b3f0ba4873269fafa8488d98c18890c7d466364288f3fdccacd43c528e3244707e9bc73759f470b94f156f6b5bab617fde624a0a5eddf4902a96a52e33882ef7d48acbd34567d2217442dc181c5ed0a5adb73eaeedbf9c399b97e839d93389664e979643f7e07bd233cbce64ec9d80a11913c13964ba4b5d592d3d424004427d6d7046d069d47a4a801015d2eb3d62f3f8899db600b6002b2a68eb8e40adf0df2f456ce251dc029b4f06c7f26c4472598a4acf6915b42939e5ab911e0f084346fe2b8dcb02aa0a2b7464fa5ce333836612fea0633cd2bd64cf0ea2e18b4f5878d31f6bfa7c2ff79c13a088192af020c85ec6a94fa38c17966c78a4e1097aece52157c03c977924335e4022dc01f951bccd8b8ac72e97601f73bcf18d03be75c2291be74c1f2a6bf1c7da7f864228633424605edcaf5d13f5686fbc9d99f4c277ca4fc9df87ab7d115bdaee132c43d096cb13162f01da40cf3b21a18406b9d094d7b750d982d7fa2324a2bcce7ee1238123716869cba12f4c1e5bd26b6eebb48315d12de130a88ef26fe6c578dd59c21bd3612423799bb5e7e96b73df3dde2a84a61e385503e77e75c660f6c3947b21412df352981fd9379ed6b888fb3ecd232905efbbf4c686b57bf8e94cdc2329d36398c8669a09f7cc0a7ef8031ccabb28ae1066d29ac3e502ddcda4eb494ef281cfc1bdf4eb58ae96670f25901202a2ddede0e298e8b04ce6ade85a89f2db8933e567ad55138a1d00ac443a6b724bfac2b204a8f5e127b68e86f5fc22f4ad10e320cce9350e44017bb38eb132e4466a96bd0c6c89f399bd5c8056ab649f018ab04c8db95fb85aae588f9027066c15927a21062322a299f0edcb8fba8f63508282d5368a37d352216e799219f152ecb66b0cdbc50e1154076fb7f9585c32adf9314ca69e1e9b76d2521f676c8ac22a20f5fa7999755e56d99ec55b28c28a8c8721f3a78fdee043e35b87aff96b48269d23d45d10bcda9ee4c4e2e8c39cc666c3d2be1cc16ada11a7ede0d83a7b21a164ff5e492d9372abe6aafc7ca49540c5ca305e2a0712fe4b962fd16fb0e496e7737cc0b216a82bfc16dd649cc34cbfc5dc93a7060a18e6c6b7678d859fc051e046673487c56d38f64d0e3aecb235950e4c610e084475897569f8a758213f5c74b61182cd5e7cab982fb86d2fb085d4104c512f7ad43553d37338d2d54940ea75ee133e6b45686703d66975dbdc0d5616e382560ae68c322b11e6e697f597a9fbe60f419d9afa921a8f9956747d35a145028251565d0cc126cb069cd93aa9b1bc46bf47e42d114813d7367531aa69e9960de2bab664ea8c8465c0df2517f89b058fa44953e8f21c7eb743b7140fc4a6e46e91a90565d20bd164186fa9fe67179d89c7017ba1c14b31f310e9d18519418056f254038b03eb8bfcb154c192f11eb4c4b7d7e94482902744d5ebcd340b30da69334666628330f3729894018f2f9ade5179d71de5b16e5f4653aef9a86be1a05db30d83842c86812ad6ed5ae8ffa1ef80525ef4e4708dbd6ab7feaaa96ba91e6d30af2413093c9269a1d0dd4e5ebc3702d4b1502cc45269197778276cee150f9d31a904fda6dcf735a5a56878c5683c4c354c81160f1a61b2b224fc83e74d9f9082aa6e809ad8fc30e719e071649be5b60cf5614158150098a9d0e62dd4e36e02e0cc36eebf8b195d5b15fe5e4ce822c64bdd1955610c0a1fe7626feeb5c0e763827a56d564b54f7c275d1a0422882d1070d894c67c11168f796201fc86dbdeab2175cdb0893649377c1bf9cc356a3360b99a2b5f451926e5f082b3accd17ea4d134e37fe0f8cb57f0307cff1b6243b86e24b30994da97690f05a4ba02af12c02823676f1681b587c9d032d7e217de24783ade78352b3c38f3f5e5a6a78b985e9e33774a88987b2926647aceb43a12d7918439b87977cd9ae567ce77942491fca33e73835e5ceb4911b467b6f32d5e9bf48ccbb46e3f37c2b33f3ed1cb62510e533627dce84650027039e0265c5efaee4dcc94034ec787fff6c3d0ec087390be422e0c4cabf0b0acefde2c1036051cbf8306e931734bbc4961272437f0f5302fe113a76de318f71cc71cee25890dff24a3a24d1b3d4433a4e2fff94dac063f29800d8a07012c710a8186ec21a15d31525f61d6bab2b62e5617d2704e3e82878dd433d277a7fabfb76a14a944f456c07eece70b7e840d6edf8d9afa75f2ab843a721789e3c3b96c3be87adab973425ad0454f5b6b79249090115ada433a823863222362ce11d24174e68c2b7cfe4096f560db5eecc88f6e619f32da3834dbed582e005a56b6599a47c6509a79e80f46d62e33db69c41f95de75e4a13daf0cef55712264255a606ab47383db7d5d55a4741f780359a682f96532b18f0ed61be892893dcd4029af7c08f72a72eb7d3c75b00e3a4870e93168d2aec1295f379a6f1be8000a6f326d1a6e2ebd8d2d75c3f3b8e243feb3ee142a6e9aa94ee8022a5460543b9718dde4dc81198c4767d595f8ab1b9450457bdb8285f1ce1dec56f0547e9627cdfc148147a48f6e8bc1be4622a7c60fe275971f68f4461f2897986d68f7d72d4d236b384962033829f2545bfdedee3576fc3ee4c611fdf833caeaba4be2c339f0ec3dc97d4f921689d3bd9418e7b36f6cf7a844126aadc37336b36a725460190a82068f6361df60045529a18bbe08dca239f394c01cd962998d82689edb491a9ab1d1a838767a0d2436b3aeb0b568ddd0472c0431fe65e5cfc7bb3528b6e0244b8f812411b317eaba61f7b94e2f283db5f76e87778164b050a4f02466644a01fdfe97c192d8bc63e3c751bdb25ae0e94dbf54feff22163c658e8dbabaa7cf3099fe92b2dbe24d4d4ebae3165703d35e47a3c4dd638be941d1010289605db8013dce4f11f61bcdac199e39ef1adfde0d8fa92168d4a740f88e50daad8ed2d6101c657e695122abfc45eaf299b459a0f7b784e9f5f0898d291d6d095d6797762e5086bf5b9c1daac61ff57d53400352eb979b68451ecf2bc55d3340a88eb7be060215a2ddedff20471a4c11deff608fc8bf8661ab4e680623d6027dffb32b343e1e7a948a6cfc4ec5d0af8f8bc96876ca52785240ea2fb16d0d61ce0e5a25e910349d93e2acb493f586861b269a33a28e9ee14ecd84b2c2a9cf182df66ffb6f2cfeb7b8910659fecb0af8d8519d54d1ce939a8c22891cc3e9044aa55b8a843b04bb1c10e186919a8b14f22c70d8bda1af77bdf82751df21391a53baa00a06c21b487b991a8f9efdb4a32c271edc56b745993f93805ed46e8a8275df6955299733b1294346e41c29e1a94f06bdcfc60b99ac67bff957f4e20df346db7b94ee7d06b1a6e949dcf2395db9330b37688a14db71a9785c06661bb9240a5c9813866708bb76ecd8c2bcee3946dc0c3f55c957ab382a6004276b881ab3b8e32523b42608c9d0ff80574fe977179cd2ea4949581bc2601c1f3ec4d7d7936b54dcffc50612d6ccb6db6787c69bf71ec70c4759206d56529289bd58991ba5914ce1152288236c07904e96e759da04df2f00745dfb64219ac4d3628d6e18524a878df55b9d0c73edf7fd48902547ca8f072f136aed9c6f2333866653f93d3180d14784c4792eccc439549b633c224516b4cf03581e4b5e7b43f6f3ba898aaeb0ac0842d992118f55d4eee61a0071b6eeb5d3f1907f545ff1180c543e64725f36a132f8703e2d3611386086e8ba341a622ef74d93aeffcaa7acabf34d90f1372c85f43515b700bac74e481764e19e5a412caa26b1ed9c3ad94449eff9874f5713e8e2789b310d10656f1c0946469024df4f8c640af68dd9aa0d4391435e99e60b7a786b90ea0d2ae9b1c88f7c5b880114defced2d3b5310b5119fb18b6b1fbb917c5077614d2afe3eeff3c9966c8135cf04e0a6e3124da13b88e7e9c7192d3a40a44758c713217f63df1ce64d63433fd678103426beb29d24dc216e2a124d4e4c9365e150da30cd69c411d950cee85058869d96ba48ce4e3cb86476907dfce3bd513c1a9cf10481271778e90a83ad61681ece057d605024e9398bda89e8eb6e9eb595569fc806cf38694da2bed049f5212783a905ba45b2fdbda194598f405a27ecae9665d21d5fba29773dfecf724475e4103231a979235bf6da678fea26404ba28ed560c71a83d0d235f0116cd4c37d14a9475b9cec7227fcbe1eaa1c631327cb36737fce0cb57a2310f5880401ebc37579a7469b6784bd8434442af85f8af4d3cf430a732e89e17f5de26a4578d7da510d8387ed9d49c2d67f713d42ce896e5ba68c9f24115909db298dbe883c70c694847a3d28ed1680dda2a81390725cff74feedb4a63b543635e02fc3ba6c75af4d1cb400eeee373ac984e35ed2c18d6fa38cf973be38af301e4f849fe4287008217631053fcc7dead6afaabe6cdb70185a4a8266f23fdb63e9a19f3b0ea6de8c7bd4a1d35ca9b55724a2c91871ad9c237af1e8d97206cec8060805b7af9a283160fd1912885069ff9cd3df0e4492f3caeaec7aa7501f0f57fa395d1b4233415500135f1673ef592aed2bbcd8d043e1705891dc4cbe1c4253837ed320c3f1547120f9521292fd1db70009040c33ef67ef4a5bf633c828237a56d56c014491e94e6b851db15ad797f86fc058accb7bb7ce7cb18f357f1fbca3eaea1aa85f31e808977ccccb3312930e046ee9cd2cea209412703b75653694cb2d1fb36d5fc4a28f73bd6db3d1e96bb29143605be3448b34a1b47208dc3445edd5ea9ab5a03ab88ce0b130ef42081f048fcc61d6b3e64e66bae2c9504e20625e01f00f323a74530e1c69bd8f53736d57620de549c8c66774d083a0859224f9372c38bb25557dd4118cd215bcc09ed74a7fa874a15fe3de3a388c44df5f0b83c55764cdf6162ffbca175fddc9d8078d6d11259edfa1b262d4aeb2f7d7aa04f5d08951a0e7406c658c227ef1372e9238348491b089432e48491edcffc6620b4338ff0297f205f184ba17eaaf264c7361f0a02248647f09dce9d4f2b1464031e129c6b7d01c2f775eee30a70ad0d1c8c821737df414b4b583a42c98d004cc3d82c13f179dd57a4bd77fd9fab87057d354b881c6b80ac4614240a3778bdc6d3c4c3394612e3270c480f9fe4440842a1ee4942ffc9851c69e1590a5a3247efe11ee5b8f1193e712886a7b9801e28f7d2bf7049cce46f793a3aeb296d4602be431b80ff014f6312a709d7d1ba7d40d9cd1a91b3f2ab7519147cbe2434a30ee77312636431c613913da262989781c84d14de0abee6793e67ddeb00edbeb34f0b5075053a05712ff17a10f8a3c4c0880b19b0c19a76698f4d74c77eab9097d72ca1a3c673b42f0333e7f9ad3f57027589055ec6d708632441b709a36d3c14fb9e1102abe79dffadfb0052f714ffaebcf02e225424ebf4ece275bf3be836d123484276d2588bf9f1c920932368f59a9afdc38df168065531aeb4a80786ecd99a44208d6d1e85798b5829c0a3d015ed0a9926311e8f5cdba71db5b0951ddcd190067278941b635ee27dec73e87a64dd0aceea97c7bec418ec9779702337c77a99ac83cbe998523c43a7cd2c3262051acf8cfcb8f8ff6f245771bfa046b8a29a301f52e07dd949821acfd4cd3ff1dc78933ea12b6ed72b905e523216e8514424e8cdd0e1e8b315351e4c9ea3ef26c225cd5ccb557739682ff213b6af987579ad471ba167f59453127641cc8511b5eeac016d99d7c665ca97bd44c3457465916a1a0cb1585133a72fdf18aed35d8c47a22f20ba969c7014b61d1ed34df8c963c5fcc60320a95878e78c096e5f4f542e9dd39c07c227a78c4be43cea25b860ec12057bd2883245bd7dd6289ae3c9159b62e2ba54ff3c759c853c5018bdaca4a4f9820510359a34d0b71646ffd91cc6e3e224d2957c32106e02acd919ec35fe1cf813f6901f036f2221579ee988029190c8b46447ba6be66af6b306b0411fb51ea3807c21138ac498e0fd845e20550b9bd7ff2fee46c30c62470077b6f286b9f4ea8d1710c35987f8788c3a1a7888b78924e31354189592deb77ca6b118da4a3c1205dbe08c7f75ecd267d8ed3c11df094824c29c3c275178db16b19a9f69f72dce7111e1c830df9af6ac2187a8197d9c5270f257eddf25890ac6f97d88850a857d6a5c2181fe6fba5e208d3ead896a8a8f80da36cdcb449674523e01065f21c72c8a8ff00ce5fe89e32a7e053e8cc6dcba443812e68e3f2f04ca8f5f2ff787b1707338400381fdebba31b9d57739fc7639247387aee890cf718462ecc7695035314a9c33a7f4ae616cbd9c80906546d407a703c0df68bf8caf3ebfff9417ca6b16715ef34e9a12dfca956b926facbb86b83cb1d5aa61ad2eeb27046555e404612a26f1a323279d33045ea939963d70799f880aec8b8958ea394fb92b77178c91faea25a03c4d55b8c75d9f56a2797ad99f841555cd214736f2ee497a216753c13f82e45007a48973eab1101ed67d4f356577f85ab2e660c6ddc6c4e3db2340b52099d1b11e44318ed96e3682a5e4844897509398176792f525c17df8d6438603a229f7706f0f7510b2c87d4d3813e16cd675b89f04f0936a73df59369416cbf93c3410f0fa36162e015a1baa7bbaa274755fb8fe217b0bdaf296f3bb7e3463b675ed6f13f6dbdcb3b2f5c995ac377ae73a0b19e9e2998cdd90419f471e70c94343d7901155a34d637d9cc1cceee23bfd8c180a2fcb4029a97402f9db0914d04316db7ca03b9c4838ddb8de347e874ef9636cd581c3f452e89a8a8a44d9352cd9fc01e33076e8e0cec2f18412362623326720f8f953b78968e9fb5af66b72a25e19b5ab13cf0b8067ffbb5037d28c5d3151ec147f964dfab995a03da84471fe4c8bae60608d897cc3ab9d1e76de2aac3f55e97d7c45bff1122dee99e9a1629f5ea8d9f8e0efd6c74e751936321fb77f8f40cb8f86f3dc4519b159d005edddad92681784d17a5851e56e39b8a0d2abae6b89f13b6b8b37a3ba49cc9387ff37dd43339334e3a474663ba839036255bc873c906ea980caaf313ad4d576c792d3b19694efbbe1334872ef8579a66681c2e813099e01e76e33799089986f851e2e7022cfe22cf28854c593d32e7ecd12c6485f5646fb65e651c70b2d53f1198a480235aae1f8a3b8b7b86210f99ec7b1473b09653a807212feea2ffde0d6c0c23d844f00783d41ebbfabf3a2c06098f0b690ab7a13a329cd1f14df86f4f87b598a2515811491b0cdf92774546ae9bcd1d2e6030c9d48607599553b186cba724a439b48b87227f394f1c673d3f3e179420d6176b7715494dcdeed73a3e111b7f701cbc6579ea5227edd714ea20254d19ae4d67aad1d2812aedc19630f8ae18a2ccb7807d42616a173e187b460607f183b8947e3d035a716b613e5cf39ef26c51591a3990b5d5220ff7051b89a05f4d64b60b7769c693a7ec7a34230705412ed3259e36786e8dff38c442e798a08230d6246c0e25616581ff7a16bbf5eda8bab3521156fdce733124011e8dbe70b21867e65f2e13b2de17c11ee48daecde78d9fb3b987d5cf6c230b8f41f31a52fb5707bfeb16fce2491220cad6ecf918c7be55ca311c036363332d4d146dcb9356180ed8e13621e44210f21e1ada574f3f7fe8ab6445f261e8f03bf3b548e40911454a683522ef6a44428bf662a853d1ed1d97467b9171f418e8015c1a0e9608d2fb1a6045d66ace1ca8eaea424d24dc2e7eec8bce9df6469b3b2b913d989057e3890b2dc6829610dca0a22b8f2363b256a094698399cc4df7ba1b3ab20cc99a84fa422fc02c9debd8a517135e2d0d936dcbb026ccbd69ae43d7389a81dc2803a9a550a94bd4b07e5e18a1f12d40e5eae3e78c41ee01a371314d2e46c03768782c3c30255ddb2d336e6b65a08955dbf4ee45a29f609fd66bf12123d882e384aee870f09be829d9cda06047ffc21d29e9c5df8bd311d292fbf37f25ef9fea3617bb61a043a74879c78ce5b7c22bd74b92653f0a70421c790ccf8536b80e6cee42f0c1506a5a2bba000b5b89e7ffe761a8ed5e27a549652487df0c24c83b04c0e723fe550210e04a62cb249243454cb460722f9633dd2a38eace990c79681648354fd6110e5927835983752078b659101028aa1875720cad86ce4a2d15fdc67d043739154843e0971b80b4e02115b6d6d0fe3fd74e6b105396e46d2c3271d6da3cf22031ec128323a726a08a3f0cd852a2e152a8e04e7d63c53a7e0d279e42482134bcd627a12327e766326533b3c0a2d9770499150330e751774935bd4f0e212f001cd07ed5fd3975ecc8ffd82b2041e49307e8d468deea77b9cb3db5d6a3814cfc4ffab8b25c8a5bc1def80c903e31aa9818b8c4c987c243b44223510a581f85d54927eed821168db83e294830869628d3033c39a1ffdf2ce64b09f25bcf46ade12f3423211ebe0802ef3d8ed209599ca92d18952f84ac7d2083014717bae8453b76d0e5a92013c392cc8b9256c8e736cafc53046d1a7f8fc6c012c005fa3847792f6184e3cb75e43050f75b249c7c73294ba2e75a3ddd5112a015b0fbf3bf687bc98a1933d9107834f3c751f914d38df3e2c2675d768a464d802fac63fc529855ac776a448deeb18aaa0bd2f5a370da0632dd94a0c01bac390c12c0867ef3c76c1f340c04131f280fed9860fd03f2e9ba40f1a8ed25409c6195338cdd0b691d8def6369332baa9b41f38330ca7e534b0bd131ddae48b5881cd3086af401397b2b35cb1d4d7c932b2235d13fbfb8da99b3351353fe33b8d2c9710c658a696147f9ec8064ada084eee0d9ae3497f88e5bd2b14d7e92a823175ce20111ebabc7f32af9e2ca18e292a106f7a97c4b29d95ee47f25f971cd796b0405316c39e41e2b248a2a534a2ed24b5aacb882db5bb65e9aa48684f5db2136f78f391ff8df4742eac598cbd7c7a7f630f623283229fb7be9c2b6ca47aca2c1f83c1b3755729c306aa5326dfb0a83f97d41bd472739907519f02d3f2ddbf52a1e1c19091d5d5ed1294e88d6aaf5a21403121f1c9468873ccd3ce21bac2b2076c0132582b53a33839a07c5c61b3cad60d042b955aff43efb4c01e2a5ffaa1f8b451e12228615784f2b2a931fd2cb2a64f5ea6d2a89fc9e77b894c4392263e4520d24067cba9df3d8c28fe9db0147018bff00fa6ad7c79dd0997ae6da4fc2b8d3f33c2e09f4e931e63866b12b7c9f17d57b53151c87865af0dc06dba1cbad668bfc0a04cc5f369a4fcbd751bb3d5e3d8c55daac704fbcd70471b711f102ab74f3c9aa09db37a233f5dbce995fe9200390476f9d9746524a698706de13046d16e986d71aa687d8cb30c96245c24a86418c8e1846f2d08881787ec2bc0e90090dc4750f27a666c61d08fb37095c07533536bf576dc4f991a159c3e0b692a12dc1e91e860b7f03b5423c750c2c74d02e700c7b9737f6fcc0e59dd41b5e89034df45cba920bdf6dc53eb2dab5e37f113bbb4b8b91a74085303abe6fe79b369f4fcdef49cb261eb13bfc00ef45c37d9518fe578c4ce013acf557a384da6c1dd4f9d47c40d1349431caf6860f8e9247f6c90763badff888e2f53e8cac0875961d5ea127b5e20475694e05da4575a9dee15d293488638380705d9350abd1e55ababaa0c4386d2ada84b44dbb41fd1ce902974b2686568b4f52bd687413e2674176de5f86be2209c1a312724cff0f9012530e9225b5fb9ee6012de54b3e0a53ee32a6152461441263ab33a0cecc99d977c7b97433312db263fe848493757b18999086d7ba0a9d13c0699b08aee00f34794c82b9d73582989665fd89ba41a2125ee976e08637c6338998f20e51659e19d9acbb523f911e85efded777694ac55cea5e3ee3d4c5b32ed07006492a743346b642450f442bace82d37990ac5aacb2c811991507ce8b33feb54ec9bf96057b331e8e3b246796841c34dcd1ad053639e12fff7f0c11ee4328b0fce07cb5962b5134a2118d28b5bf4526e8d5ce55b66096705c49db6a868053cb1becaa2980f5172cca1d62a47028b5ede7348a7e22314bbb25390a911f83bf61e765639a00a38a8a86241051a9941b60b635c45cd3978026cc70e23b5c12d6bfb35c6ee1825a67915cbee0985afb1cd2867cdef2042f74fd2a587795f0d11ee45bd91de53c211829ff283623fd0c93a0a0ccabf20853e004147b8287d771352c502ac0cd8fd9e293b39efca9321e74aae763707308a53898b90c64b6b3e282033b1ba57b7ee534276136af1f89488af7b88e4524e0d0de86d668d4903393c0d437a394810e06985422257ac8ad88795530c5012f751f0f18efe1982b61506d22d1ad3d9c25ca241e55154b415c44319ca7b6090b8ab585b3367421cd0f907a98362baa1cda3fe51937d817fa5dbf213736da724333ffd1f7e54bd299937127079f759618598069320f2d74e59ab19a11f5cbf69f9066c59a44a7d734c6811408cfbe1694c741fd6db6d19567be428179865ca3f8ebe20a909aa72ba883a06060b69ce12b628ee8d07d828d0331f3b3a9dffcdda33e1ca86829dcd03beaa05f40c20feabfb74e8329b226a373113b57d7dd41ca5e057307b56b0823c9f5804fb1bfea9117059d603d26e018bc5c54d4ecadd79101966026e3b2b550202570413bb871e95d2a821946fdecbf304d9f4c7d413cedc15d2936aa879a3e00414397925718bcf6cea57ad4de18fe6fce07edc8f37ec812c2c8fbb3e146708163c370f7906870f0b33a0468f66f5e0d4e23e3a41da5e84f03428bfa0ee6962f2a904d8287f19993906f97f44b6a8e62f1a98b3f7e4c1c8a34e926c01cc2f65db521ad3017a8dd92b0c939420eb311356cae993250f211b9966d7038113fc34c3bb0cc477a33b04c60ca88c3fe188a73ba96ecdeadabf2f46641d27a512ae3324911da9e802bbbdb953135e266021d339cc047dce6d17e5c474f1efd6a98b20a43019cbbc76d50adcfc1fe0c8dffe05f5ec4ae02a5d0eced3d35d367a69828a60d90ec15c77602f8ca10c9fe5e3ddd37c75da1b9d87b5c789ebee5e033c90f2f82c33de930bc2f96bfe146c5da7d1547ff5389951694b6fc8ff48a7ef7dd32b95fc0e23cae20d49f7590aa60a3e34ef9d1beda603b92b83068b3581e16a4c9c99ad31fc55cbf049a01b47bec206062d50be0f2abdb7e6508ac318140037eba7f2351266ff1b9ee767c16dc40a73cef9c164723727fa63f49706fc744e2ed250113702d61a2a3d27cf2f10921980b7ba8a8d99c1fe10e6d1d474736e60c1dda20d6600a328e41ea928ef44080adabc0d8833d1051384555360b1a949444502366be806a89bbe75ddb2de7e47a81591f3ba382e5d6b859bc8be587f84c36fb3521c4a3af94b576208819eb4c2474704d22096a674d6c827e2d02fab963f71e9e2fe710ec6f4c4e4d4b7c583698c31757bad16086b099f395db14930cae0aac33121ad2d9067d552c57c1b1da27f53ab96bedad18467c73fea3416135682a830f1f4223f18d2779d8f955f54fe71c82f37248ac0dc0c11dadcf8a346a8e8da1e88bb1e2ab2308692458377be4af95ac98665124586b394f3f2c946a9da7071277be16f289eaf573b6c2017e88f5766f40f8223d6acf692de26f6fd76905a8b641dffd615f4ec464a6e45b615a16cecbf2c99affe35849c1efaf16278685e1f06ca08bd23c9256e44258eda212ffcbd61b1ec23be349bc9d24f97b7b75d0a75ca8c711b0db938da3f487a54661830b957928d4b42d5e818190118a37b15089ca95855501c2bd4d3ae35d6dd9694d6c352322c56dc04be02f14181e640b6ccec27e2b87b1465d6e392a86fcba6c72369da6dc0310cb976e3651eaf3a8cb78d81a7d18370344601fe1866ca6c2b76617c76ced28d335005c76a5197a37ff5bf3a82b24fab30b2f4d081d52ec48e4d50ac106ebc79a1db0f2d3d9bb1def2721cacec2c37570628c2e45c58fa1c77a1f232c4c8d6e43795370455b8f1835431aa7b4b8cb9672f437eea1673e6ba4c337a141228a6f6feb1030f3c3602ee89e0fe095ab4679b2c116b2b93c0f060b421fd0b50b8f5a6dc991593219786f1faa4b2f36df80f551ac3465ecac5b6f3748592ccaab9fe92ba05bd05bfbe6ff1430454899265509112b602ab62f98acee8ec391925a5e70fabf2da84afd7aa0c94f7e90e049c8564243e7953c82a8a813ef8e45501d8b1cb56f4426d5c5562e3bab1d2e900e5248a1fb9a6771e15a4fa6885490e41e3ba4c741c57ff3d79c7fd794c3749902ffecc0bfba80e9c7c8224bf9d9fbfc5e4cba9cd5e88825636b7975e22f03179245b11110ecc9b6f11ffe0663bdfe92bb0c4e57d842263107c62eba1b630d09e58943422f4843b67c10bd5be02326773a4ad4a4cc7e50f44b65e5825f2f8b67914c0a42b9179232a5e4f10e4812b53a1f05ea4c467b725ce7ac4a9d324e73a822e80cc24639251013ee98f3359bb476fd0d1b923352e0dbb8214bedf6d572502265c53353a3ebd55201b9bdd3af43563f58de3f5dc55a7abb04c58bb66af53043658e92042720ba86cd76b74e9d2c1e8c191b273f7fb3a5a9994cb9bded133663e864222ef5d2c0e012f6b7cbdf2dbe3b6a169cb6ae39323da8356f2942c244eed26d902aa09efdcc1907a32d90fa89dc7329dce3636d9a0b51f359f7034ad1c9c7abb282a395b11ff2783b83148ca2d66a85ec428d8643bec5b6818cf6fbf6652f2be2902f8d0f972915b3cec1d864b54b8e9976cdee205cacb9a71146ebde473589d0aafae812cb4b0dae5fa0d18da328a0aed4c084c1387c312803d208221c0b85c2be55889b612fda9b4dd94054c02d82e3a48b94d32100b26da4ff9aaf983de283283e7b6c778a3d4734c74360bd9267741c1011ab6b4c21b49b0f38eec9146be2cbd6d226cf6d90378c22204bc4db3cec7d46049a6c22d818ba5acd27c8d77f6334ad858ed463222788450b9a47084bf740d07644b5a2fcec6f607c6fff7d2882d895a22552da465ebee6912dbb6b47352c3e5487689393eda0b04b8d914831812afff35dd432cff15dadb98ba313b4f99d96384568591dca555477a67dad538057a5dd3013caaf44875c7d6e93976174e37b25aa63c9123d633b2bd9d7ffe4d1389c26e03b4d49099293456996bf01055985ddb54f618bfcace5a3122da15af3ffd7c08a3ec099ed75f405086e1f7de359ca27de7d7b7c644b2541f5980804a003737d00a5b236bfca7586cdc8d16de0ef90b1117ec8c16c86ffb9770f50965199ae7caaa200e1cd638c35919086efc027051b7c151da510d0780eebd6864343a61fe0e518527aa34f97b7eafc3f91a122316b24a754a1169d27dcafb0488091f1c5a6cb8b495df58962bce0ef6afcd3fb894c636e03842dc1b9e512e0332d30697420b352388c80e746c41c64d2622fb9c87b48d622b46145284235b1734eb295b421c995e2cb0a380e91129f70f5b013bdac8ba8dac3d5a5c9d9e73c399cc3fb2347862b23b46642fdeb46dbee0961da0efba2797744489e9be1c35a631d92c2cd7319c914015fcaf0eac4bdeaeff5d635becefcbce83dd6fac936db913de12c5b7e396d431baf75f449588b6f858da572c715426d6e6218d5f2d107445df36fa8f22895b01b1d848048bfbbc95ce63f4d1cc102f4afbbd500d221a56511f3830729abe3848a6c98d7a06acd47388869cdb4958a90f260ebfb28f91880f6d25611ae74a3948aecc28b6578a467d844489412f8c6e4147ede5644a18c4bdfb02f727c6d503f03d635e4985fa5ec8c6ea91f2843265d190591d638626b51c3a21fc9d6061db09e2575c63b39e02b198f0a0f25e6b20fd0fb35b83ab6ed273b7199477999a94712ff715f4c5f506f04317cc0ca876d5a22d1ce30c75a45548c7143c2fd9117ddf3d32966fc1236692786b3ace5678b0558de6e9c112e99b62da24206880ad21b22f72a85dbc1d51f648ec3ce5cc67b60fd1d8e55ad15efb5007264525158587d6bd535d64c723a7b1e4283940d90e7eb1d885114d4617ab96c43c9e63228e582bb5cfc8db275f31d84539488886b582385431430905fd011f1c2438d8b0e978365631fd98eb98cd8db3d3bae4c20e638fb0941af984eddbd9e206d4fbfde5aeaff67d0c93141e9ee96804e173d06a45a9adb1f937710eb857e81d29e9b4bfa06a94e5b45c7bb0797f30486702457592962a4d6269ce68f548f738931ab510591600dec752a2e3bebe5ea20ac70e5f0321f59609c72d689fe3d615c8135aaac19f272a4e7cbb56252c7cfaff02559749c27f67477d1944370c02260f7d2b0d22dcc87f724ed79952650131f2917bf2b09d99ada665d21d0e66af224189639bebb55f947b9e0a774b8efef49fe1d4ea57f1280b8f50a2a011c40d2248d49c6965e9ddfc4670e6d37ed52e6633c345c2b75d9189f18a94b7062cd53a16149b174a9a9cc54b89eff0ac53ea674d9224370f8c514c1568a305dd796b3de923d383d017270a1b2d28fc118c7a314fc39fab6354891224b0edf794dbac2ca84341dbf71235861dff0e887487cc0a2d681c16e882d36441be022a186bc02009c81d18de941cf7d86ab55d7c5137bb6823f4e8941ceceaac28c0554f1eb43d77617fb8f6f17ce0ba4536f4c6e2f91d45944feb93b7da1fa6dadbed280fe112143f201c783da4b6f63edf1284e49282d0777a05bd3e942cfba52ecf2f103704e224c6a4a8d90abe9b779709e5e06819a2548e0772c0fee7098234314b7ab1108d3fb0b93836d2185d9166d96a78b253d2237f30f9c1a6e6850078bd62c07a2427c70d27103ba62b11c539990016bb9ad037781a69407468e6bd7e3c7b4554124eb0256f58a4dacd4831f7698c0452cd9745e53ed249b559c1eabeba8ec3ef3a026adeb2e272e448f70037cf2587dcc088f8fed94f68bf522189a02021e5e53f0ce95fd7988c864fe6645e914eea8434f0517ecb91d40cb8f03d4eb0ab77821861f8e8014f555a11420fda4d5e4cef92a13142835eddcfa5df841754f4b2fc0b514c5bc4bf18aaad8224bb96d2aab4f345ed570e7690a9d3a93f67b41d32110ea49d2bf59d8cd36e69c76c80f1ddff99849b567615053aa4056d3101f846b203d5ccbac3d125717af78c98949546e73f9917f36447843189fe9395e7a6d5911db6faf07c4e62fc9ee7ef67fd4d0126ff8ee03d7d38205a0495790eb559d701147610c1cf4572b9bd3f61d1763d22904650a6dc88d1b32e5b21da607320b67e053855b45cac73b4c37fd731b446cf8921320584365f9779723d45c452e53edf01ce6757ec0fdc4550a29c79d61bfa8a4774af07ffd148d80698517e0f7089ec3280d657b9171959c84bc628b137ae9e38314fcbfa1c2f7795a0e7b4825a20a91cdb8b5c575c93ff4ef2bbe557ed9e12e8821b9307942bcaebd2fa7cf5e070ba3852c57e9ea730a89221c63649021b36892a03e4c6bd88efa14d2127e774d0be1ee53105c7d7cfe6c882714c344533354f2847aaa5cdbc266a703eb1bf3b9a822075e0a3c6ae0ba593903c93ca5bacef4f0b57f512140dfdccda2a1668ab828d21697b50e808dabbffa06e86d6d183e0b8de4ce66fe232d09367b25ce72f81ae1d430fe48cc0c0fb34c49701c5720d8da86421b317581f5ef9210658edf599951e81df97f54790eba17bd86ec682f07b1ce5c727b6a7b6082cca47140a57bc930907c7c670500a8deac3f1258ea0f53de5eb5208ccb2853a31e605c2cfcafff81409d8f02106dc49703acbc62306559afd02e816b84dc86b3a2726c73f4ab47e181cbac17b0837a0487f51d5a16c8f7cbc7062f721d08827fa056ffd845459192a2f18e3d1d9416a29ca41d8a00d9ba49c56c1193ea4d89c474268bdc04c09d212ee6bbc3f6210980dbf51554ab6c4ef7b5542bd81055fc2acfbdbd79c2dfb300e49d2ab6fbde815f86257d9b7747986a5d8da2da3fb7dea144b77bd1b5aabaf1734e765f3ab79bf862fbbc6554c27605cb03e93d886da8509ffd3af1353292433a57c3b33c3ea51dff19f1ac4097c0eea34b81edeaec87b7fde69ba0aa64793186fafcc6ccee7ed86148c65b032253ee4df0ba0b4dd265d8ffefdb7cc5c4ea8017509450a29cf45322b549392c40ee692924475c1c46896ab7198f3ab547ff408cb1842da1499f202203525d321ec178d508ae7895ebcc3e551de0be1f110d030e86de99aecbe3903520704e913b1c4e4573f08a16e70f42544d05efaa9785204b0eeb55d375888d24066ae2b3fd07debe2423dfc436782fdf5dd521ab4c7dd2431a6132aa9dd94fc6f768b34245e81e2e5efe14bb10d2d23d5cf32ed76d9b10f282070b9a219aacad14a8ee23e805509cbe78172b2abde07eb84a51fe10ecc243a102a02a2feb863d3329525606f8fbc9fa56e7aba7dc3cc0eee08c1d3bc7b1dc311e5ffac7801527e6b2a1554d012f3ff1fd3ad923477d388c3275b3bb0163e3df80dc72b19358ceb34714362513bacbd375c10f9de6e0f73947b6fcfca7134128ac41c074764ed0caa22f2e04f7f362c30abc22aa97517eeec2709df0e9d088242eb96daff01c91dbe2fe90cc06308d8259dba7cc10a92970ee66da8b0621fe57fd40c54be3077fb85c7086a4bae07dca7e7b824bc06656eeb8fd8946dbd1839d62699a5beeb1bb3a361fc6b6efb60439d9f44d53bd19d3527a8a88b6c0a1de3fc68f7ecf6a15527cc3aa10c7c8eba291274d87319cb36e896a4507a186103a58fe4784668ac6b7fdb06863b2c6624425183fa149a9b316fdb9dff48bd7b02fd5fdec1c72b652345c0e2cb55c4d9c69fdc919ba44bf04dfeeaf00799be842e4179087406cd12f3d1f3e62f90497ee1931eec5814c05d133c785a842d8b2c01ba2e8ff5d29276aaf2ebeaa8b832d8fdb8cc945144c9ee86ea53a67f5ada1e1521032f4ebbdd74429e2f89a6d7971d1162c216ea7e506d1d3cda415136103d33b198b04f483a04b2ba30c116eb1b25f84e75ff398e775b2c4b8260e595177a1e85fb82e44591bf4a7fae98e57bd73c956a9122779cfebb44f39c82283718223488a52527ae288fb18385c7965990b2ec66dfca189310676cda1a5ef6d1e5603cf8be1c3915bbb181640b6ff3715b133113e5c79644e54ef0d0a6090753d94d1fc6af273d78926ae6a622baaebc823915064d63e5ca76eb4ef2583e495097e60e16fc80b1bd46ccdb13ffcb3930bc9ac61e5be0d726fde6644efcfd874437fe00977b46584ddfc689cfb4e013971c2117fb557e4175fcf6d609389421377d151dd9103a03ea5528608b6b4f155044d49ff25c3e7daeadcce03dde0a05fb09e507c67598981d0d1ff967c140c3611ed16458f65c268af0d7cd7f31f2eb7095512edbbc2f437ec470a7eb61bf6bdca9c0609071a450b8a55db89713550d530da3331dea334dba7424ffdbb3b4387fccbe1907b10a6fd6117758b3a7a8845e0025117b1dc9911266752a7b20a5e403799f6333455c696eba64e4af1047f2dedaf3221b875668cddcda3ce6a00d47b42ea908489193beb173a0b02f8eaea02fa3cf2b767d6cd7449c3ea27267e0711bda2b08de273f467a366b2be3bf18664a5f1c3459d01edb531d8dd42e49ef2c3d0952d1f072d1e19de52eead7cdbcf72197f50dca1c02947609a3e77470b20b8db866a3a73005ef4d3465b475870fc8f9f4e11aba157034f6ca9f63d50780baf331d1220d3da4e9680e37a044c87fe342aec62deeada614cb25c91721b456aa6132d65084896364306e8d1f0c3ff4ac0fb9f60fe46816e60063ece7497e5a46f58fb9430bad2a64201746fc792c61150fe47d05329bbef8af55ed5de051da8ca59c1e9e410674fcf3a8fcfe3a81b922da55f32976aa94eb1259f4f48aa53227921749c977e673a42df269c18bac36391ce19139321502c5c4ec432c4acbc12af187d034690f42e85ecb6eac9fe65da925bb2e3a0e1a775582ef1fa24cb2582d45d3cf8651131e714fdf3e829f06a21c40a9f935667b30617fc62337fce989c34a3c1c96f241aeecba20c3f390c3620dacc1122040817acb8a7a8181c2253ee3a92d0c2986a07b978999b5f3f76eaa9b4b26f81377d1dbd3680c3a42ee6937beefe585c9c561d85d7aa3d96d23720da9b54f2537d3c1774d8cd1ccef39aee5b52caa286c8a43b2375f585994d4bfe5031b094416047f70d262af2a73553b902c4c6dd16619aceca3393ea7109f518fb24fbfcc25d685f62da4a346a65ee9f31fbc3038a4233a19bd2eddf480c7016d72cb670e03e10f181a909fc80be6d0f9694b9a59036f64c6de6a674488fc424278503d5a35a4f617d2a2be0eae7664d7faec5c5fdee8c7f2e0b5bc78a6f77c28e405ccff124aca043ea57694c61de7d9d49d3ea1573e1df96f7a8723f91b2b7b8a49d071039603eae584a79add0bd36f853bbea1274b448a992f462379b2c29894a976d7083ce92aa2ab33ece1b22f2b2ad0e3cb12e9f3e063ac855e9883ebe7457fd2973f20f9c144cb1b1ffde6b75262ed1a0ea595295d5e4b08c83d7d89c7633202651cfb7ef2c02cc0c7acb7a8e34db303a54525597943047fd4c534081d17cac2960bc75917d9671e7a54c5a8b6ca0772035c67bb4a357af55cd69c663d9a750637037314deb5eb12d4586c7c658a592227c21addab56d890e1c4f0d1e63afea2a63d41116fd2e589a5d4f51130fc16def3c31a9d05708cf3fedd52b5f9209ebe373f3d9e27776f46a78da8d62dd7f9d1270834f985d5d9f38bf3b247bc67565bc22f47306a99255282fdd15e49296eb945b714b3324b51748eb161f14727059202310b16803e09d25399f48f8b782ccef044cf2b59e0e23b31357012df3e8187c21f34dcb8c4b750aacbec60b4a1995d25932c14350d604de74da2a364df55335b050f9dd7235c2e6ed809154e418c7e3c0428e57520bc194b9ff79b67cc6de99033aa075323bc95526b4ad0e01ffcc567061e1f6693cf2774e0f417076cd70f90069a9e0e034fb94d7ca65c52052f3860500b0b495207db7168ce29d9f16c7eac1fff1beb8c591120a02a47d787e21e2ea5fdf18a6f9cd4611b63b001d9336fd401dcb2bf86cb7288792fc923244d0209d885c3b4f9e43f33551b03705866448f34a5b4144d56635fa620961027993294c5dc8077e76a2b862c2371d9f908430a0140a8ccff2013237f6921b8e02fd94d66c8bd8383e0fef94de7d746ada487142b44c8f70056f68b72a09bbc573df4917595308d5a72ab95c5be278bc358c65306604b5ec82f922066f1b704d7817dacff1883013c957ac84388ef4e564838000cd8bc24b465d3cbd98b54ae63b15e769134de05453a5730d72d988d6f4e00a13fa1a267e0a5182c4d02cd8c8a31f14b1ebc30ac55f20633d30dcd11d2d3976a34a261c06b7020f8af08d7d2d15c9d2f11cb57d42366d958550089dd993c268b099b3e0983cd5f30b05f9bdae6069e2b0458a0ac84a3795866e66c42e6dfa73310de5e59b529acf82e2131dbbd631c06761647bdf063a5bc2863646a093b714126c3d26fa42f3992dd972afa6cbdfe532e2db135f7587d81175ebc29a69dc91a0627869b1fb883681dfa6d48490a46decb266279a2a7b41c479f800d1fa586c730f2cc6c67093b8abafc4e31cbdd82761ba3443aecf7945d6c96bb117c04ff801d1c0c32178ed3627bc30de83d3c448bb6d5e325cdf862d53321ab4bd047002920da1823b3223ee02d00077e32ea98b3efe0e5fa5ba96dba4537ef5beda9fa31065a58805bf411c93a4337a8717ca5026df49d527d62850024b46d131acaf8af2e25a2f325cd207a67cfdb3c1a68ab5dce8210e9597f03d2235aed87662f69512a8c0e6040ecf8efabb274e1d928f52853fcd8d8765f87d37bdc8b2f61c4710c1394eb93ac7a277addef8cc72f292b76b805961b7ea351b2d7f45e6f9cc95fd70914fbfa54568ce2aa2570425b38fca6c2c8250703c32964d3507bff0c52881828423a7664783c470d3bdbf90729183d5a60f09fd6c36545f625d2ee532e35062065194090e2bee97ccdb7640065fee095b9005ed82f9e2b84c1630b5509f5241701315717a6c539b08e42130717c3de87620fbb544cab31f62ba5ac5cdedbd204ea17ce0ec18c1579049421057ec15b67fe4f306df0352f9924eef8cfa7126325177dee4e2fc18fe991b9dc8619d4709fd2d81b79153d28cd922059086c15cf2dbd8ddf988aee9f19014713f3b132d9c490011e26eda97c3124b3cd29b8c3da080fd98609f56302af717e37df79bed558abab862526e14626474e065fc40b0506e6b0fecc1df1a19bda488bea59f83a2fe33f8b948215c8bbe930fc3cc80e8c02bcb4bcc1ae12e2a1200319af3f47af51b356d7345d4f934ec70a23e18c89151434ec29e8d7666b43460989b05cfe8c053893111a3aa4b3a31a4b06fc68fdde0629870613dfa1adee6c97ebce9eb9472d860b6fb6d0464e80a5b54c6238b4d209426ffab4fe39e3701e676713b88c7e14b77240e5b21120ff8361a1fa12b2e726e9aa13319a296876835aa741067d057815a5f6a7fc5aa1051b9bf740224dae06844a69fd8b0ba371609c300ecf5eb746b04ee4922146a2629b15532818918f11e05a3811934cebc5ebfe9340a558ba1d893974528f1f5427311f35012e68e4141b2897d6b05f12f3820f52a506e303ac62a9569cbb160a01d0b47a11db5bf33b5f43f624bd2bfe0da4eece833f64940b4e2eefe1e02751f51ab316475328da015addcbd38e6e9bf8ff6c46be7f599ec50a3d83efa287a78ca95e65a5f38cd12ca592cd4f54bee0ce63c5d396db58b95943b6ca7831523404fd8ffa59eae8ad01a072d4d486933919fddaabd0456688e21f8962220ec62ffc9d19711495c713134644870b09da5034e53716ea5e0ca93ab2617e2eb045c72352d1bf3c3f0db70378ff315d1b66ce027cabd5e798a00c9ebd68b7eef6d07dce997018e7481a1d04d4a6f713fbc45b8609903a1c57be25f7af674966ba57626fdebc103e56940d1f02095d2355b49e5b4feb7c7bc62608badba92045bf59dc990c33a3cb0f0d342194c3735fba17eca1af47933481160aa7565baf9061c08ca9bc7dac3dadf0312afd1ade183dda41cd9c70c315ba775d5279952895099d77d9abce244183939f0ce2fdb03654121d4790bf48ccfa1edcda51896788f3d4875f60ce1832644f1627e8be126faf7bae023c44d7c4951965394dd39239289911aa4f4dc957fc45d3368e219de7c5ec62e6657aa785a531ad1acc206901d5eb1bd4b51be6e363a2df3b46ad8f74aead3453c67278a8123056300b36287007ab8a8e9a654b62efe4bb0fc1b8fbe3e1b827a0070150236f4fdb9039db39b5f9268a3616642b10c93528212ff0a18e830aa09b97c0b67efc6a33a56493cb340f169585448d2072766ae6011a02668e643dd5583e245148f12cb87b5db73ed6301ed9e225c16d1818e57e2e97e8439dfe2809eb40f65732e732d6bcf75b40fc4a2136ab2989c5585bcb76396b8f0eec469d6498b61a9b643118cca00853a318a1c72e322453ad0ff60dca342c198030bef6897eedcd3930050e7168796c6bdb50292715360bfb8b921fc8130341555f7fe3701e2f7edb2233a357540951573f5f223c0fe7e20a5eab43b92a161cb2e0803e4bdeea2f6dd3971b7e10f5d271300f853222043a114eeeca4812d910dee0b5e6bcbc2ee675fcbd1f03aec0317b60a26b88289ac7beee740e2b2b7ddb7ebdd495aface9f3b5dff6ee626928319e467bc1c7a9f8631526091a921ee077fada9152270cfb4dc4b73336ae358d821e8276295844f9df81ef73b3e10d69c37f16c4ead8ad3af526e829776d5a72337a7bcb89792d4d3e2025770363341a98ce509c77188003819c4dd6cf289fc5917c0e106fec86666387461b369b05e0903dbb62cb835cfc94290f315a089acce613eb15a733269c54144baaf31a069c036153991fb8831d8ce310a3ee2b33b6944125f47e262d65f1f347ef89b31eae4361631a41e7fdc756eb2248781c8742928619e10a4d4ef45835d5fbcdf2065f67434ed7f4d452effc2013cd9fa42cb7f5fb497af224a5b5dfc31733eb0501e7ba49f56e44e70bb252f30cf1dda8c0143815fdb238514dca764d4474dfab2cfc3d46df099a62405821fac08ce7408abf45f956b216024bcb34bddcdaf1b4173112e746bc5c3b3914282fe71b3b0665404c13da36b6ba08941a3cd35709443014ed8c2a9aefb9807c623432c171a82ec9ecec6f557b2f8fd27bcd788c5c7b25255ff9eb04d3bcb3fb679ffbe3bbff3f664de65ff70717251d8a62dbadaa3e28c857ff50f4476ad2dbbf19890f484d286155733dd2968329fca3c5ce1065da0e252f4942eceb3da9329bc9c37e4178e63636825029588832063329ad127505283be9b9b92258791c0129d69d066ea5f8b3edc779ecd2a693d498366d66add2179c6243d25b8a1924eacf0ce169a3a4e6604cd4e6a6ab3731655725b53ec3da25924a065a82748789711554822e6a0694f8a87d65e3722ad91bf9c8083b748817f9c6f4efcb742cd75096c99f620c1c04c324777b650dba179ef6743f5331c50e31027daa3b3555b041364ee0127bb05d12295b3075a2d4aee4d7dd460b526410e074bd87eba0614f83e84c7d2ee073a6e15e7fca46d7c9c333089d0a52f0e92d2e5260dd5ae1783668d5283094b4e5e157e7a8c5b0afc718d32b0da795905d37dcfecc6d2d7fa287e3ed87f16ba2c73a89a6306332bcec1238c99da34734fd0ddfcebedaa47b1885321a3fa74b8654c7e9151796a0f417c28ab8a1d7c4e603176167241621ecdc85b6ad8a1b4c2a607f0e564dbf92b2dd2478233dc7b02fbe2e498bc79c9d61f6c2b7a47ccb4bc9c357b0471ae973f326453e8406952f70ae020df4cec2bc5cbe8aa28c277f7d35ad98f85274d6942557a5fe8262a117a0b23054c6f7698f9a535b7ba6cb78f2b00d5ff89b1708aae86ddab785171ae835e339cc07b1d82a6eeb80a792a470a4d048ee1b9834fe5e09a550b0d97fca4677882dc04be59ea79b5edfa7f59f16d8906bf43ec05b902b224f969946edfb2785021edf8fda983d183c9c34588e54c33c91fe160e3dac6e088aa401aaf920633eab102307bdd47c57977a3936fad6e83b89465fc64657d770e3eb1113163f70177a1b9b22b63ed0ddbf9cca5275eb2ad9ad0ef3f540234e7d4f902a124b0fa8070f3bd376467357fb727b0e253fbc0e1f23ea0da227b866324c278f72f390a380d816c76cda21c62af850ea4190c997044ceb021e2a8b679eec5dc762413df9ed281887c295d270dc0bdef115c0e7acd986d8d43fd9f60d63c04e5da28423f5535e2eb900c4081b6cc485c0427ee85c06bc9cb2f0f5cd909b4fe478bb630622af7c1b1fa92dcdba4a5068ec563c7d5573c7635249cacf77fdd2b956d58d4400901d0cd9f0afe21aa63f33611eec48f1ab34bd61a6b52d8247ea255921bb3c08cd970242a79f6e4ab49e844fd3d9257716612989db7ede3955d6c3b24d9f853a294f3dbdba6431d13434b15075fa024d864345aa59883a7377c46cc1c7d4f6db4a8a0faa4be2e318799218be2bc8f8d52fe31d7e01ebd3ef92187f7b819197c3e3e103fa53b0331527ed1e60de5c41e5f4dce0a9de5470b014a2c3e8664233743307266a395dfefede484058eaa18307c783843f8379faab04b42151a3a69fd421a13dbe1ecda43453dee8601632e617865423c24b067ea7c6d47c15816b4f8d61c408b34ab45e75a6932c5d247a7b3975fe984cc239baa494f6d1d0ad17ec15368c3b89b8a9e4af265832f6bde007ed3887175e990ac20bf0ec0298c6f16de7d8542e259dd44852e7786c294924a58804f1c516dc8e91353ce0ebc1f39207ce01ec158a689f4d702a09b08f3c2fb858c3a77aa90f9db9ad1cc67bf23ab2fb3d4c240ccbf15d3abf848e9e26e71b5e13e087ddb6043870322188a48b3cfb6d595a5809a650d8ef6f735d681154c10e68f8953c72891ae3d95892d8441e533b1cfdde3995d33902b89d742b29b0b901e2589b0b210ab0e96195ba6d8824d0e0e823e9222fa82f1b8ea1661f4521fc713cc0e34bdc52a45a59fa95c4f57758160351440f226d9da36d0018492ef3199d5abca2e293fa9516caa8dd5993329889f447ad159ee71716c83da2d389c546a522b57ba3023483239522750e31cef5029b9c2f0a6f82fa7b68605cdf2301976652ea36d6b190d7abae6b6295dab3183979f62f2bee00e19ff6545719ebbe3856bdee6db4378ba28e344cbeedb0213c0fc3846c2be7f38089680cff4e86f4aa7e2aeab060fc553a7c4dcffb74e77a4744b2ea0c13b862753ec3040609766f9d78597fa6bda4d74ba6b6f252bad73cb830daa5510fc68f4a8e3c92c1e7ed76325b7e7dbda5d0d42c4e2161103c4c1b227cd0fd47063efa885c3c60951b544967b33592cc08e603b17b7f826750ad6db8c6f13f651180e44e4fee54de71449231ce331067eed87466959dc079642bb968290361d809632a79cb6047956e4a638f70950d5280ecec4f9a0d4c807b08018c0fe533a819b2dd6fcb5da80cac97b5b154f792a52e6bd211a54aea28bf530249fe1dc99b1df8d4bba43442365daa323391b868526219253512d42a5dd8195efc703d8c7600582af42a9e14a720630343300f8dba20438dd71d6a210e90b1feef006cf240224dde9b0ed814190770ec00703c0758bf0932cd1e18e9806b208ba356deaceb21b83bdb99ab29d2e0cc5eb36e14b8d45d3079842e92e3920ab041b7e256e7413e2b5abf3c241afb2db7a3b7ff838961ff51ac0bb015884e412c56802569ceec140c7670843c2023920938e0dafa5ef7ce366a714fe1b1e7864262897ac0216a01677dac7f535eea6345169396283dfc4b85c82722bd433a1f9e588b3324ecac01f2fe39ae89df68cabbec6639528a3253d16935e0f0d22d7804e4ac9cdd1b3e3f0f769bb0ae1636b8afddbf5e7247dae4e879232c099855931e842db254b402088533023d6f42a131f9020172919e919173e44286a68f0dccac94816a253d233147a14ccc3dd2a9a2c2a10e3225c0d9b029cf722ba21090f0c2e48b8708cd9300674b65c8804747a0d3814f7b2ccf13ba4bf9611518d84da9635dc70200000026290000000006b0a5c50120e83070a01f641878c7307e081000702a691efa6a121c949c6a3901b1b81d4a456ae792215d61e08e379de70098a45f1f1687b36d1911cb897a0222800efdf7bb309fd2731d3345abbdca2de73e7dedd0e267c4121c6debdcd4c743b770214c0bd16b4f8b13a7bf4b4c62db5b63bdc3fb261e79aa23c476838333043b0beed5781100cbffa5d09bfd4c96a2149fb933c6f85800f831442fbd29c09bc34250922545a924b6240cb0772d51e9b72395c82b568ba8f923ed3e8ba319bf8733bc3170433f2e78bb2927cd9b994332848a5efb6f027cc117f8fce99742ccf67f334acbffd14a9aed1da5fa2b3a8494142fc7a2dc4a452811d5d380f786bebad9c9d38f43af41914cc217564f64eaeabf23908bf4cc665200cb6f77c88042a15a690f046df5e8813d74ec9bd3eca3a753bc0a22f71f000003801f1b000000809a3d7af376c832d1fbb449cf1fcf2e64f0d6d026c91130d0139188080bf881c451228e1a81648ecc715488a34e74a4016280e368228e16c13c0600c7d18e383a088e4ee8cd268ee921428b4891b732f4da13cd132ccb3f460600c4394eb1fc9605b47d660f4c894ab64c4d4872d92ea0ed330b57d42b597215259fe14a3e4b957c8e2af93c55f205aae48b54c997a8826fd0f33926162144076c8c91c84ad64faa22a770c7fed05376187166f966c05d54d8816f91087527296e4f5a8c9d9f959419b6381fe8d8c3b87f4814000010dafdd2961a2d49a3bd0b512843bfcf16e1ebc769b4978e11c0de9e83b1974b1312f764b61c6f23cf721644a1dd41cf3b3b8754492ad260022c2935f2547a833e11d02306b8bf3e456314d245ba4130a2b6b71e31192eca6059ee3f4e75007b7b0ec65a3554482c9343263b3c1cdfa5e908ad39a7e6e9158210246ba540d0b7c42343ef9e587686a6c91850f3d43062c136d2c4aeee4bc68c9497545a84c798cdc29487857bf59ed85915cdb8d9794cd8d94d672f1207a91f8f764a2c79518ced94b61c510866e1ddf33997dcfb1a6a1ef0887989f9d8f1d1b0f98b3a380052c8f1ca81fb7569d638320a3d9f77e2047cc113dcfca9bb89aba0b84b9df32725abdff50736ccbe5982e1375680e8957352c1ac4b11cea6cd261a8e00e7762b54c97796813b878b6589ce3e01b8b32b0f32298a07e0cece4bd3655d3c000eee1b59f9d82d1d1cdbaffb14154c0108b12a9cda8184106189476745588942c5bdb9c91e922d45897435ea153c8e01505b13013a154eb5282e600e64c4267ea6e70ad7dcfd77b90100c059e31a7681f3f14df41eb7115b6f4d0d37fe43215f1b15f076a6065afeea0a762c64240d53032d3fa78168f0d866cfd440cb3761117b894cb34d5ba854d1bf2a18620313c142b0111c047714de3bc5c903d6142c33cb599ec45beeeb4c1647ba027110dc110fc4134942da9076a403e944ba906e6089272a154943d2910ca41f190f196347adee34f520e96eae1d0150c8d654940c1ad34614b4239b2a8ddf28e8900cdc7e2c75629c5ab6a94e6f20c23b13a38ab56e86ebcc378bcd25ddd4af18ea2272f64a913bbb3372d8b966b2ac2bf9fad85edfb8d77fd805821dbc3d7ba1fa0e7862b367824f9e6229b093a3e395c7edb75c79d05fd25924fbfb0f8f446035015f5d05d0ce9d72ca57ab73cdd9e2ff23f22b9d6cfc0c814f0f62c5bdd8444713f6c640762e91cfe17fa84a5da59a81e292819961857901466cacb2b71345f9119bdd582b76a83f0ab899fc20de4234ee6c1c81ce4623958aaa49080e701c750d4713385a2c473bc1d1c1235d1c3d38472fc7d12fe2188419e6100b005503d6105ae918f047fe529b7bf257af9b062054e99f643a4b1352f96141e423bd3734318468944f45a7e56d0d0d34c15fd6aa9f9e313b86069ae0e2d0381dc5cda2a13326d889d3ff51bbcdbea141dd0ed8426733216877b214da08b77627e3e6fc5d08c3ba888529c42e7500c10033035d2425363dd24780608a99812e32c846f6722f7b40b0cdcca08e8adcfab961d49bdee9a298e6a3300e06049bcd0c74d1f7a631e4600704fb0d95b3086c16543a6bafaaac16236148384221114824128544232f482c224668640dc23c5d15d7b47cb7e2caf8ada52f1b17f54b1b3ec450ad220375bf52799a492b26e4b52cf6f8a630fa77a6386d7f6797a5caf501ec25ede10657a8398225b7bc8fce2e77f01e556bb624a8192aac5db984f0c3ee699fd7f937e35bb5d777f22a233f26e5905447175fdafd4bb0f161bcc462bc18b34605910e983901eca53dda19bf771faf227e221ff2d3eb9a0f24a34cfd655762b7370d1e35c80640468957ad3ffe542fb3466399ecec01e4679552e35538c54a5c2d5200f8c635f2777589efce1ee0a7710757fe9103fc99b916157a8032446f3d870d030000a4999f41096f16d880eec342fca208e240a9bb89e171edff7ec20f0c750bfd227b1e4b7f4f561703af53c04add352134ac8b4fc972cef99f3bbdacdc9d29a93bc525bb59e74207c23ba7e36d97854253943adf3cc0724c93d95f48ebc40da9c0b762a7b7264a25c986cc27b4ae00e47212883882c41ab8086b7c7df51c0d9ca3c95d8a6d22404618212e9d07c0fb8fb8aef201d4ea1040a206d592e92c1a9014348db2d400bd3033d00515e9405dd10c7a6d66a00bfab2b5680c3fc05b2519e8826b164a022a01cc8a99812e44cf89601f3380593433d08522a4eec2e9130930eba44732631768f19748cb2af573062af1624482ac45d621eb910dc8c60b36bf8fa93f79663344a98d2567630da92444a1b3e71ef19e119a19c0e2c098290c13b9678c66208bc83cb2802c21cb9667050a5c2c884a34c2895343212bc51864372b0032b5cb430bcfbcb1b123f56e736b3753b8c180d57799fe825601f11b889e93c8f4505bac5d50c6da7943e6d99d1dc7b6dcca2ef83a258a4d5eff44321002ace0cb0c640b3cd1a673eba0433bd90120e4cedc8c31b98ed64ff5bb5937c23d577106dbdbedffc131fd308bfe33e818c2ef4814c13764183ec87d438903d0d2f3b96de1161998898ac9706b38123924d59fd3136eaa85f101ec252d840c228aaac5ad1d9a78e78749dbdf13b17fe3c782be9f152b1832e3bbe4ccc6362ae84f0bb0738567d0945d924fd2b94be0544f8820d5139a48b72e8d299390452327d4607412ca48b72ed5a5d4224972f991a5176167a7c1551ac9a15f4f76b92a9609acdd6e1135e7da221c06339790f49f5aa47e74d6bdb67cf4e6e028947a12e7470eeef7f46a9f1773f0c0661f13e3747cf661b00bba7401e2497270af6919b0f5938307e38c2ff593eb36b6ade3a476122d9f81cc3fa72e64bc93717a9726d839973c672d522b62d136bd303858c4717f6edbf4dae060118e890b6df39631061fe77f6c0babb978d7128b86ef0bb6986d338be6060d9fdb0c59db66d6cd170d1ade55bc14dae62fd1162af53a535408c408214284102324082942562d92082edbee7fa3a9c072f973e2e05e7e480721e72a1119968b5c98020307d9e1e315aff75e56c3b35d90e8862d182c162f76ee63333fc7984f3f1518ac825ddcbd3b03896a9668342b48f42b9dcb1d7c70f4355b02790def25a7614722c441fce5365d3b7ba58ff97296988c96e45b58ef8982f440b0772dd0a9d917a1a8f3a7ab26d5659b9401517f79d7f6c8727fc17314cee00f233d0ba91e037b00f692deaa1073475f21a7cfa4df71145b1e39982c1572de074cd09f38c084f426c71cc95731f064c834845eaa37f497fe42add015b03ea28432feec040000504ce303d16a02c2a4bc5aa0687ae1806b699b13a76e0f908bf42ccd599d5ac861c7a956d233347822d3bb801e645b999b4545d56a22c86bf55ce5551cc63bbb34f47e4c766e0011d09733bae068e5e056298875fca9058112d6d4361660e35c9e274461d65b1b41c22c870bb433c301070b21b385962aad1ee783fc164c809f790a628a29e20fb818afac30b6901a42a91903dc6daf16abd3b4b22f80f4c421f6c469219f832943a4b037e27b024788019ca91f91fc756386de11d07ec49a2af83f9b20303b17e20c0f779d965772a89a41738276e752f3b312cd00fa19c025f27da735e642352280f1b8dffd18c9b9a48383600546b11932523d184d4abe0a180c7b887c0b05661c15ce51e7aeb1a608a0bc36473babd2c91c5d3c470fe2e8c339fab908071909d3a98cc8818ccd3ffe9a411c14f553f96b8ec005b5d229c5d9503fa5395426cf373d42f5549a83e22f838efcceaa9beadf6ffa83daccba3481feb60b6dd41cd9d0b0a63e3c4a1dcd7c7fc5cc58fa3417afb82d175afd453363e95a56f4db37631604f8d36606ba569a07b5e2c600c11233833aaa354ce8b94b1577aaa35a34529091de82ae8dad94fe720b40b0d6cc40d7fed42d9e373620586e34604591066c71aaa9176201e10aa3012ba14b4b69a1b4b38d3b5c44fb2e0d590c14c9a8235fee2d2c305c67682c4dc694d8db06c2e152438346073d34474f91703569a108d253f85dc5578cf821fe480012880421c14808128a8421e1480412894421d11d0c123b0e7115509338a9d6b15758ed21c9326c7121c8e9c9b0c583c1ee12ae019ab3fa615cd98d71c490b3b1af902708a0e288aae388aaef4854831869440e29a328a289e570a75b80f491e6861b002864d7f94ef513c81e1c03f287afc3b500ee73bad1026711dfe09dec3cee50cf2559fb85ed102562249d9851c7c05bce135362432e77bae6b7bcd8b18103b8d79d6fc967b8910850c8966050d4e60e562e75e91d82c46f2cf5bb46de59199e756c3e688c47fdfab06fd42540ce52040423771ca588230347c5228df5dde4b7316da8810ebc2785b2b5e54d95a024d7eb2c41f0a0620388729ca529d75a3f8b835c6f0c0d34e5406213af66ebbda181a629e2cb95dec8ded66cc05268aba90b18e645353b6606baea900b043272c16c9a1de8a977396a7ba604b36f68dc4957c32a2da34a23c0df3233d0d5153fcd73df01e0ef92162a8d860e5428c408254285502334082d4287d02b320c657a9ed71f14d4a361c2eeac567176b5cbfea8288a770bbecbd509d1675167a7b6da453baf351e66de2c68fbfbfb060dbe2a2dad4d1f53db0483a92987392b0fb719173387391b0b3ba7399b290f27978939b50e1ff4c081b82d318dedee043c8eb5c70138102030704cdcff35a9abaae6e9d7ac280f45b00e41369917a32a32a3480000002af0a56a31b65427273ce0071432da323132b896ce6a288033e77439fc7c2833002c90988c14c9db12b852fa4080bd84c50bc568ee56a1b78f2c8e92ebe3698c09ae536e6e5d67e299f6fb53bdfd60a3d37eea249de33f303af107a45bfbf19420bf21dd2c3f977e26f887821b55f1df312622c2ff3f66e7efa0894e03614a8f1bfcc5e000000000c6e7b506b21b96615797e7e6407f1cc96f14d122b6d097ce002aa328079f52a3ec5068a9c3444c2b5133c2c8471f4fba5486ef0f38e17bdc1d336cc612b73141edf6f3fddc6ebe801b02e0086bec48d8d829993090f045d90a398c257e6456cd25578d27c94d88334ffea7a74c663feeac345d4a6f2da28e1415b101073c353eaaf66caf00fc8f50746b72da5011de8000000010174279a424b316f0010000400ce7da0ce487380801000080d845cb16fb553afe040000002ee9fd023c8cd3523feab283736c09b35f60b5e970cfa4256300069b0ef34b4d0c7258a019664cea34c2124d2f1b47c5713444ebbb0571a38d05704e24421e900d61c72094446e21d432680a0477693a808cd56c12d95b5e8b5ed19e654d2fdb32f14c7a71fecd5bfc2105000070565ecf592a3da0bdb5a9415e2f70fdf0b1cd33a9415e2fc13cfaa9cdaaa9415e6f133c3f36fb0ba4078b28d2036006f97d792900fe9a9981d82824b2feb2d1602b8a74efbfc586d3ff4801c10ad242a5590d274885598cb020ac081bc28e70209c0817c25d45f29c8d09715b7f26a8837e43136dc61eb2b1866c1c443c8955eaa9ae22f4f592161f48b32594949e8aa818112ac41109441291b2ac28500726071c70c001070b124696da4a63fdbb999c65f2042d40ee938b1f85a26d0ca77a1bbbc3eba84ef4d9d04186ffaa385c42a19b811e515a9e1e8dd4bc816c9d657ee3ca5c4f60e9a48b4379ede75cf70085279ccb3f49ef679c8002677c3d39b74b8ddb28e2e66b661793fb41c702d8dbc8da86742aab9b1ccc566ac1e4c6753af9fd3fa689162b94befc6949f4ca46749af00301136f3aa05a34812849d5bd1b5f46226a1513d11bd2b3fc7ace82d7fb1f46000003e02c31ce7a5b33c3629c353b6686c5386b36cd0ceb6ae275286f3407987d33045dcd791d4b118600fe969981583d81597f97b4ec9f3b73965b922746f29102341029428a9112a4b45a2c3b1b764d6671b4d24005c93401252f09c8d5b0ebbf3a4e67092aa9c880b60c21954d1dbd0545bf038e6c5d7b3591fd873cb093a671068700512b077a699b94805c5a336903537589437f49bc0369ac7dbdb74c19f30f6647b0af10a46d882b3d0134ce871b7ad2beed87f422a71b980c15a5f8d0d0345f042017e9c16448cfd74f9e083e13805a690f847714dffbb894eab28666593eea8a1d7c1b65a26d540a006551245a64f8f9ae00a349a870a9adf5741c36601c3645424a7ad33d7f708e5cc88847df90facb4600b99a0e206334019381958d22345e648614502b6da1924ef6a954884facfc094de70f189bd919043b3ee59b0352ff426ef95d1207dff24a1845b2852e8979c6596ea06f8a954eb7f693d3e702ec8c44b939125c8a050bc8b021a07ee3fe071a0b65bbcc64d5e4d42cd486e6343194cd1aa976d2b3ace289f9404299cf13eb0d6da152e41f54aac44875bbd5053e1ad059a3f68a50949fa56007a82f5ecfe9ab7043b225edaa43832002b07e29e75a8716cffb952947e229cd28e34859466f0e9c148bc90605ff53ba653257379eb763b1f8eb1948fa403b5ac0648e582dee4cf9a2ed84da690f468bf3f9be1d464b52ad37b4854a716a48855f8c0854918205c9aa5ad566141293ff17fc9f187cec28c999d4b8efb1080aa25f556f335429cb845532f3b261e576f83cb1f5044d21f6d7e00890e008e48e22c8c15eb75a527499707e3800976eaf7d15c9cb0daedc72f257e92014a0708d9b82a708b74496bbacb9d9c8935459d39b67d2fc1e2a29887fe305e032b107f64ba75bf0cb41ddce3fc8298fb26cbffab53e12773ec5cc46e84a1ebb7bb42b0e0739bfa289dad2a7a07e23926590a1e7ddfebeee1f0472919e255cb4fbe2c127942b870a6a253d234255a4705e9805ff6c9be4ea30246142d04dc79faa3520c61aa29cd3459680a26aab22f0de8ea18ab04bf75b15d0307cda7852fab2456ba8e0d5b801eca53daac55af252972431354ec4612f2ecbcbe9be9b7a0ffbb8401713d1c4f190ea23664fb7767c276688a3c2e8b4e33949e73836d28d832f26b3fa2280e2ed899e9683ec5dfe41d7441c846af37bb5030539f8daf02db571cd297bdf4532301ba7e541bf0d13d9d24ffd2acd1a872223a7dacd1c6d1ab11d055203d4da11f61c9f96144b6e247f6e74102dd59bc51a0349cf8273dd92e3139d9789bb21a76b36112c51f88eb428070a74e4c86d324d35c288dfa195ef27f2248d5f7d6795894d67e145e447fc07c845dc73af529d650e3a25153d3d502b6921d4d80852572db283ea118257595a9083ef79a7a5323c15713890cb67d425f3947f5c76cfe7112ba624ee4a675d760cdb58bf3508b9382e723f8d479ecaf596cd90a536d6381b33e249dcd359bd97622cd5bb21450a9e06eabd1464a9de4d694ba159ea5c5b2d2226b025da27b2ea2efa3c9698468899182547d73623955a92111a398a732e74ef42f898bfbac78cd17fd85a3d90337214842e4fb8bcd2bf9405909bf8d7b681cd522d1f2e7465a340b5d31e6c966a793cd7d6e305ea0d6d21d4920ca28028b68bd2b19bbbf820d3755991eb82d7f4731fe5022c8c47f5af82019fc01f1abd5591c4752ab5e472ecfa2a07ff2b643d623e5eb2389aae4f674fd3cd082613cd3b56eef8f4026684a0de9c44a4d43e3d2a3ba2fe69f0e98c89d1a1bb03e1fff06f2c8cee1d91847adf05509f62f037462313634824a5c3a948db15d78e0aa100e49699bba8b45b221652202592913ad2980425ede3e8888e59a40be9467ae7e897c8a1cc1ef136cf7e92b10b5d0502d2913a68f6138dccfa789dc01b3bc368b64f5ea0cf704f1890ae9f843a2baf9f4763098a1666c3ecc068dcd81959c827ed9ae025d06c1b1b7ca2a1f988d129b0be7815e8a3ffbe744bf04adc789ba4e2138d8d5f9377006efc9024d4677c4dd4994c014827972468f9f491a92e40c12e53833aaad7139310b700c19ec6277367635420602f6da1d27eca5845448c8822628838228148225288342283c8227f10b9f0085bc95f6db98762814e0e9b5b169f0e06f62cc298005bcb8e210a02facdb62c14d2e23949fa849d705935a21b4cb2f793e5aa9a7450533c3d63062777f71c912cc3b39ab6cf573dca70f734ff6245f289fa248a4271bd319923b2778409413b02973fa444fd956064c58894bdfe5098c3dc9a17425fc860f9360e293b9f2b323586b4e46f589a3d228317a7c6be25b23106f90abbcc56c23c0ba318f2dd68541f5cda8a7764962c61a5e5d36a3aac85164ae65a9a2a9a1669b52631a3ab47840a2f875e129acb4c1f228162a0e6b894f4e57d611db9900af6995fa9a65422a014eb8d71aa1d9197c5ac0b2188b58f8a1146a562f957023459566b0c000a8ecb1bfde1e2fa557fa9e8455516afd35351a1ad29e54491343b22ed491bb43496dd36f93ac194c9ac35d289daf52cb74efc51249f3ad2df1f4d3b03c77d10d3654a2d50963443be1f8d20ef3e2e07934f0c5d9c5e84af3169cbbf8e24aa31a6c76419859a1233bae2dd98fea5a425f37cfb469818b423756f39bc978e486069eb410556eebd0968d83b3feeeb6a3a9a8616d165cacb180059c59c04b0efb2f6e21d14395cbdeacb2f3f60ee4347cfe7cb56517f4960f6cf0b1e5cb7318437e9e97e3609102a4a2a46844be92e52991b43c032949a56542aa419434b28f87082fb2026acdf7de35334d3ffe50c8ab6c2962a746ead31558fddf4a957f9ec68e29a4d1b90f33290c85290b970b0b77392b83ce8bbb89e5050dbde1258cde612203b2f38e6aefff944912ff0674fa4359b20f06ecde40eac3b00cf0250459682c03ff50470ff12e730f0cfc3e2cf41b037c4e2a0a929a88de79e567216a51d437ce7f109a553f584822e27bfcb10590ab2ca16466577178006874a6da2d85bda1ddc27157c45afc17cf99c6e6496355ebc3facc7bf1e2dd88d55107de64233b6a40d680b0bf4cac84a15f60a7a175b5f545a2d5a7944787ec438970c3b109af4bac81a3b71bb66ae3f9c0259d0bee5834bc838d101e00d8c039d2b03a909fad37b89b3066c2dc9418bfbb8d9a278ed60f1c4fc34d8d72ee4b15ef19c6ee4a68d2590b23b4b9c9a4d90fd4df25c58c367765f411e74c503e9f0aa50e26512c882f8712f0f7a0692475d7a06ba039a5b92fdd7a58d6903faf0d8025fce9bdcd133fcd10e065c9efcf854f18712be5a923fd1454365e84185d00997c9205fa5e88d17b3102456746a7ce642c756128b5a8b2cfdb07017de15f65bb403af8622fcdd64f54f002f4e62fa2b6a2be0370301000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"9],10"commitments": [11"0x8c2ccad4c4dbc03985b12f42da3facfea0b1076054438fc5575c6ec461ce6af31dbf60c7dae76bfc9104d5d0ce5f2a5d"12],13"proofs": [14"0x94223ff5b9c156dc3c5a2c0013a1555c8af307928b1044bae1ced87ebf3171e7665acd769ec1218f5e55dbf92f61fa96"15]16},17"blockHash": "0x9a4c094379c60be9c900144c1ca7dcde582fd34bdd5ee7f440ca9e9911f05af5",18"blockNumber": "0x2fa6c5e",19"txHash": "0x95416248845cd7294e701073f367a1aeb27d8bff500eb9afc22894dce078afe1",20"txIndex": "0x82"21}22]23}
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free