concordium_base 10.0.0

A library that defines common types and functionality that are needed by Concordium Rust projects.
Documentation
1
856793e4ba5d058cea0b5c3a1c8affb272efcf53bbab77ee28d3e2270d5041d220c1e1a9c6c8619c84e40ebd70fb583ea948cb729a6ed177a11851ae0db52baa0bc297be5fd54918ea57cce42365384d879a566a04e1797e0486795e0b84f89a030000ee1aa49a4459dfe813a3cf6eb882041230c7b2558469de81f87c9bf23bf10a0301000c229e27a8c69e7afe86900dfbceab6ef6d207582c127a0d99fe9b3fb5a2068a02002a685998ee44953a3eb0a5d316937f810a80bdcc952c0aa07b4d82b3fed459c2020000000500000001a7d11753ce0c427509ca1fdbfe8f46f3f8e3fe06bf9d7bc612044df4f5adb2466431de0c0d0883fbac4199c73da1d689a8fbfc9051ef739734839fb2c4cc4fa568c379f190174ee710bb668cde8e706a30490a7fb2801056faaae1bf33ef0259b04463a26b8382bcf7c4711ad1b3c7f49db8398896c91222dbe2c9d67cb5f53a326d19eb38e0b6f7fc31b6409ef7fc4db58c56b26dd780c52b8ef7e172b5478da0f1c44b2062caf24960c2ace970473e938ac492c22698752e4588a330e2995fa82157d4c72d646376111f79b1955cbcc74724d7c627b14a793255a1417bba886f8be5636016fccde41fb6ab74f51028b440e33f6126bb9ccb7522ba22d2249b9a1e481dc07401c88e49d1910164ba57a13164a250a68a8988994f580fe62ce193da1182e7aa969fcdda2e4493752c0aa6548840110e62e01357f50fc71808c85bb3dc781be59e2a29fc9f636f08e89a9979886f293d92f9d276690cf8679a410b2b7161a400636aed58e14fe759963223572a1979abbf8c80ebfd670fcca815a4626305392d76732d2f018bb7e7e4e1977c911dcca8c64c979fdce1e9abfed51f74491a028307986b051528a74d86cfb09580a95e84f90dd99a4cc187a579996f82700152328467b7961652633c439093d23ae192151a8d7511ab1a0c82ae4180838ac649508e290a2dd46e70b684a339c5d3adcee24e7a5c42d3e98d795ee84884576d979381a8043a332904244089a921d701fe9c17464e6d03af889ae8c3d1a5fc7c2961819e40dda51b6ff46d2dbbc800928b461d20ed6918181ae36449b367f1ee88d35c5b677f0cac878881c265caff762c595513f1d7839508ead8c6b6cb5d9042e9e8cbcb1e441006c4eefe80267cf523b4a95c7fd9e34f01f6efc95d9ad0304feda7d59a61162bc5bb4e3001dfd6f99e4267b2b36a6d5c966ace11821cfeb6b871fdd5214b91781169621a6ed8f67a8085425cc939dc626ca62b5e5bd6b3fc1b665146915b84ee96fd0fdaa4a0de949e8d9a59ae0f4f3a07f64c6ee6b47bb7ff469c1e68ff16bd9f25f3e4a2223a85fe9be400811400ffa769791c56cb41cbe9143d7342e77e1216a9c2aa4fa431bce7735a93aa4794e2f316c857502d4e0a50eca5bbc41a139572954bb30ab1ffb76db9af8f3c18c12fc8cfe81415bbf64c27c940ddde07ebcb7878b67724280b5255023935b5ef459d65c6684700000002a59adc40bb33bbaa9281da11d798d5b9e5763dfb759f9d0050bef489d657304adcd4519d82d9c1fc44bee89e8d9beb80b35d6043beb4cad9ba05dd1f1ecdbc1fcfd4665fea230f6a2ce30b2d1a199c0587f91bd2edca22a69a24c421f387dc8b8feabf74875ed10da1f1ea7511ef56f3ccbee9671f21a0f274e8d34994406a33825ac4f475ecbbf75e5d30d5357dfeb88a674d49ea842438c04a6c1fa560343a129ae640e3ed7e5375cd3b75674206615b734126a29843618a02f9e63921cdf6aa2dd58093b24ba1c404ac982a561656e05d8d329eb0d9fc917d903668ddff395ad00cf3aba3fb4ca1dc2784c8734c93a4329c1cabda4402585fc638bb13da595cbbd1594b08d5250b55be99cdd8539ad4c5da2481a76195bc5a637fd76b94aeb873bce66c10773739545e3bef3efc28d39d213e5288ac17cb1b0d5d89569b3decc773ece77d14e296d9a393950a0172b09db87fb0abc05c91d9651ec026a70f3200a50ed4dab6362fd9179a23344d5c4a66c489ae97bacbe920ca5a34db8fbda190da88ef2607c578e0d1592c5bc76a0e40d76a019583542f2b00ea41efdd693e1f3dd7704253f8e1468a57c9bdce8ab26a772574ba3e87bae7dd5f251e720514467463157ecfa8bcee8ea3cd258021c9daf4db049f88d77e8a9a845c98633a8fa1d9e2034dbb2a0cecaabee24559f3a011dd2c5b10fb8f39e741df8ea8f3263a042f2a58e3def6ac4d706db78b44e693352e3c35a691e3c4c0051688add5e3b380417341404b0bc9d7c609ccf9ddb373f86a425ba73bf1d0ab151052e10b34b11c5ce0d72bbc9aed0209f4a309db8d16e2c21ca17bf36da31819d54908a827f7a0d6daf5d1609ecc949626f43b85eb916876ade6c36f53310d07f1bec24a052f99d9cdd0b6ebeee8e593489a535047daee8a4a177d764ecd0e824b60703ab986ca79f0c13a598d979fdb8533847ea0b4f28ed45b6d013fd13b3a853a4688f29de6088df9b761947660e166bbddb8d98af90aa4c202aa1c7713c38eda5b9f20d2da825b1e4b02eff0587804345cfadc4abf61e2aaf6961ef91e12c63dfa53022275244e35dfac690ef2c05dc6c85095a1093c13b462dca6ca45238a90f30b7d47615365c6a58d30a0121872b4d271f4001e6810816e88cf06c8bfc02eb737551a3e2c394d15d92bf58c176ccd030eb7d46da0eec169fd5930c178f10b990b3300000003b5275c7946b07e6615ecf29cd6b52b92fd6c71a8b5ebbfabc88d5a7d4f8962a669ab01372968464ec0617d09820955bb8d8589572cb752a41ea21b207718cbf1e2e10641b0189fc3927a0d0503e60a46d588edf25da551080948a3b8062b187d8c5421e85a50ed8083edd1df17c39431f726cf90330b6d5f8c8566a0a8b34ffd637d579c2e24d74f1f18590109adb023b1050c2865f5002baf2871d91b194ac781dc6d69c40676274500a7a3be242f8f6818ee932ac7da061ae397396c332345a531a13531f079e9a6fb1e974069d9c99c50eb2c8a964054db3242308acab3409456c15ca76a9685329b4c17a7203164b53d2965311ec53e2a7a5ec90bf4b155d7c839f062c21cb888bf7d93b3dfbacae0a38aba8484ca111c86ee6bab430a82b34d071534cf52fbbcfb9ef03b065da4200d2ae43a80caa1af5286ea9db0d02451a098aed01515f2346a4ae56315f9bc93d88b3d237b346fc04941bd2b63443e058bd6da68a2bc3b5f26d0efbf06991e1fc1c5f71fa06d3aa46626c11087060aac43e667210311f1754d0c445a522f87e968c3786e35fc7a36a65762b507fd87bc096deb4cf98ff613cd6a69dfb2d025b3444e8a88e7ec60e953f513962bc05cd6a013cdd51fbc361b2019bbcc55d0522c852e9361df603a829157483f6d23dea0e31740b832c74779d8ffa22c0ed122ae1d957b7027678dacc74a1f187dc2b882598b9dcb3652ad51698cceec06efce8f2e27fefee73d494b94c30186790d015caa0bd67dbea53c8d436a4abadc336882b6c239a40278d48dd12845d53f0fe0abbf0a989ebce0e22ade3126e4fbd6e1729139972a0fa7dc06473a5117320e313a519888743a8c5df94d4033a5b999d28ad95950715dc5a0ea0ba16d3f2a6a473c07c91fcbfc3ad3f364c60f1d945934cf19d563b7cd234228622be61db53cea950d4012b33b4b775803c37a56587e26c521978b580e0927cf9626656293da5f67e4669a231cf577d2344bae702782e084e36a41b61e542e937f1945872b955e419af962a409da7b846e14167d59b6fbde33eb0501bdfe3ffcba80b5c6d2125a25fce56209c11d43762e38377dcd48633b4163c1c76e1acd67bef5967f3a06cf5e9e5331f96b782f5d39774f12d1fd08d9dcbf5064bc96ffe28eef36efcb924c21009c4d4450505c056dfd0a0c7e31d9c16d9464be568e11b7e79bcf7c1608db0000000487aff46a7053d16d15f641c7b1bf4bc8268eae7ced5afff4486abb5746ef60f5f5dc2c57db7bd8e3f2cb9661f2fe527c875ca1b663c4a56479b7eca6ca360850e9aaf47af1eb5e36b96f7e8ccbd56ef15f57260b208579fb9de26e038495118894c28f176fbc9e51f5844bc7601940d9b7c00047cfe9d4ed14ae23db8962c2343fead34c42c7c3a9c3a76da3fb76d2a2a02b523896f250aaccc2a0b82fd92e74ba0504c00ad4f83ca47ce343a1bcb4daa20f4ba7e4d830444595d16c9fc9ce03944aad6c73284c82474f33d3da2df68a44866d85796ac11e838069596fd0662018e18bc0909c66a0a7b5c17a60c384a08dfd0aed5d99f7064fb873a259734a140869dadea4d22046a1d2d746511b67a1b4506256835329e2216a1669977bac658ab19f3f83aede1f6f17b60afd126768bd26dc62c90f8aacd180db1095488b19b5a7dce7ba83f60f65aa31710a30bfd282d3aca8e45280e6a9f99d770e6fd19716e20a8f9ee2ed8fad2312f41d8eaee8110e1a4cc501d53b6dcf5ba3eb79a4f3a81b072ea58ac467dcaf2b25140eaefeae42f6adfead555b98a3e179de372d511658bfb4fc4ad12d300bc18580921d509916e63b5ad651bfbda38bddbff2334b0655e3b61cad864f6bd8bff9c5f0cb5ca5fcfb483b3136a468d065ff57f6ac4daaa129e8687e481b13016a80d4e3b2db09d7c1ff529b76e4594f771ec06767853c8db19f79120d511ba240a96cabf585b1c9aaf8809f6eae8fd3b1c0e14427ea2cc43251cad553d3cf3d38f54d3dc79de392e4121f321fa0ae8f94b8e1d9bb3ba194c5154ac7dd7d61fb0a0429673fab22d6aa4214309fefb9f8ce92e088b70712de6d9426581002283bd68cd361113f96c8a15b79d889c78295e473ac19400e789f7887c0e8bcac863a62c9eada60494f2628968bfd809d019c202eb58408d08824cdf71e68162ca8a4af034ff3c2e19ca7e762611e5aa6eeb527416a252c6065200cf9404d569f0f5195540e3b0c5aa178c1d32c8ada88ff4fddbb12bb34fda023a918664659406b1355c651b333dadfe40f8b453a4dee2cd36f8af90e942747c4ed80edc4757f05ff2e0ac14d2271f66466a7199fd7fbb9f01a28f6c8fbb53fcf078655c14a5f616cfd16f5aae14edb2bf914216058182a02d78543e00ef310a38019aa8d2bdfd583bcc2c5ac5941fabefcb09376e7c791860d2c8b925a2900000005914b2c02cbbcd3d671345e61f2319f7c9ba39eb738012f009cf2ac128f7a0b521012267af4534253c3f67951821261c3aa59e7ce0c5361d6795b4c2ee09caad2de2d20330847d5eeee1f5247d6e5ab78624ff455e21e178fb42194f573cff71a8ea3e06307e7d8d9b7156eb34389d1090a23807e20c536122b419dde0ad6ddaa4db928eeee8ad5e556a69aaa173345d0a17ec663dd932bd7f8f2cd348e42371d5bc95fea19b244b1b6f79d3442c0c4e3c0325d2cc9b865e2b7d753004ec804e89218291838b68387ab12accb3ce2921ea27e5cf4ac725481c3f96d215e124cf6307b55505e495f7e39248619f9abb2e1a615dd1d459f2b66c4246f14fb2b8cc324a099e40092d4f8eb966ee377f34dec9eb271e08f25d37468098d0f131925478851e81ac7463dfd889f209eb1d52ffabd0754de4b7b42cf1c5d86ec26d97e165a92a5e9e93cc039ef00905894ba94e4b1964abf1d8c2da0c65434f9832fdf316ce01facc180d9fb62a66322f9fadc50c90ac3bd237ea25ad7467143f2a8b05286adf912afd93c5b15bf73946809ff47d2377ba5db02ad6740a7ac07da8a6416b7c2281169ccb1f83f66ca485ddbccdeae0cae595d31b3499eaa30c01b4c5066d0ed637c80e75502cf35768091c8b7822b4183d9222a7dd20fd2af0abb3e860cae07b41d8113f5f602af77ad89c50531a8018e7c589cfac9a92dbf3a6074d4b14391a2e0c0305d9c161e8f6cbb42b29faacf08b2c5d652fbcf60e02e8c0c4079142ee89f9ce3fd0860e990d7e6d2371ed0c3454c039c46a4e6be5329f0594b9985e95d38ee16d6af62c1a0e1da73c753cd462b5c277533a3c8678cc558932f221f3ad7a6535038aa4812fe5f0429eec4b52c0ccada8426268ed20334f7dfed3a87203ff35453e8b58adb04c1f590fed77d84faf6fe44dc8f697cf058160fdd8f901f5b482aa075a812d758bc02bf08ccee2d51ba69871bc96c434463f073b42d9ebc201f7916ea42f231369442f65136ae6af40b5f1da2d1f12532f1ea34dfc0a9611ce9df48c5a78b510a649259d9698da5170692b2bef5bdfa21e3e698b25654abf9fc2488ecc24be64e442c9a23035b5b09c24fafb4bf87dd8c6559dfe5203e09b0cf6aa4afd1fafd1a02ca3af626805b9baff5a4b1f02de5d3c4a7e5f09b3975bf3041fb48939e6afb0eeddfd6a56470501f0d26271adbc61060dd3a60c30005000000010000000200000003000000040000000504b1e71a6a6a9fee544e261745eef235007cee21069fddb39ce2f5051d885e6418682f765321d6ca87cda0dc2797947bec91ccdf6e257d0e7dd83eac6642cac718ceb6bb30e18df7fef03d2eb5749d2fb79b0d642a945c5578a11059115a32848b0000000000000004a66a68604f0127c8bb965ecf9ceda6c6ef2e15d6cd8a4918b098598f1e75d65307460ae80e7ddb7041a13ea9eff9f1fd97682aa2d4eedae42b9db8cc12a23d3cfca7dc3ebacc2d917720404d69c99ecf70e21a6b8cdfcc6e3b7816419556784d90fa929cb87d322cdb57103b79b09434a44de9ca7a355e67a39568741dfd09d6ee407a3ac9a3f22a5e098437cf63787bb35e067e919e4b1b6914e1d81506738e7a3ccb77ba171b7fab1c7c1ce383eeb5e34484a7d81180a996d6a9ae333f9e414d0c84f6662eef3fadad79e8e70f1e3b1248fb602e56380219362f5339e0671b6e0eebcab2fd7c619f6ee8add41a2a4912b46a63a710baf43a787fa4d244a101541aa9a7cd928dc9ec604eb79009a9c8d59c0ccf61ac7daefc20254054c7b4de49a97e1deb8e7dd2c170956c2cb5f9b787550ff7d553d4bb9e1f37938a383a6e6303328db3741622bfa32b78cded54b63d299389e495e5011e7c189047ccc1f41848153408abb449f59b48f8d6ebd33ac3101f2541905fdcc6782876ef93cb3557c358bd1c2842ba49e89fefdc7bf2a72edf6c348127906a83e2c2ef870cdfc108392c77636b194d85c9d26772e05a80677c6ce34b5dc317c50dd8d43904663730dbd2f244eba757d0f4e1055fef75fec70317e88efb3d046754402a037a4885030099149fd968cd79295c1b9a67c15139a06bce446750b86fff4e64c701343e1f0701638ea2253b140a62f3b7e2c1df82946d1a04cb9c236e1d372284df6f5edc0c0196835a47c9e0c25b46ef899cc74d69a7253da80a18f966911c3d80ae6aa45fc1427069984950eafa50e07b2ee03aa2d0498a5dce705ca041598fa2779771b001029bb1c6456f26d72d02d2c1375b1ab0e91fad72e4510d40749d7cf8213b15fa807fe81971c8479e9732925d6c105fb3deb48872685f5c223f539617632d72150f0000000000000005af617ff3d24e3c56d97d07c6a0c57ebcf307defd509676e1043395c0b9144dd476fed5d4effba31611cd67de087cf8faad84359deea6a5f0ce901ebd2fc1e8bbc2b68785f568a6bfaf38240c8c7bc822f2dbd16c4ff66f481453477e2237e23db22576539127237bb72866dff90240d21d97a8a4305a008f28271748b7d3c1a4dbf6e8f4c1283e91525b7c547c18faaa9571a591e04c61384ea1f7de8341ccce32e0119e3ce19f3edb094208a20c85faa82e6bca6dcba2aecd147e8153c2523b40c4be9e8c6304a0befa13524601654c24631d3b8c3640a4160202b15fb49d715f23137acc4e43e0508abbcabe69dd929c4222ed875202434f6a2e34edf93d03405c4936c9c9e268b6f340d530a6e8cd71f18b26c216aa8bcc15fd1365c6e03e00000008ae1aa38a896d53b3be8039c71a188af303d934e624fbc94745ec4760ff47ac4f6536ad899e0d068cf56e885efdb1313b845da09e5d2c57512753ff16680ca7f1caa44fb1cad0e101e265e50da3cd345fc839e8cb398c609fcfc9ce8d38f94fdbb65e05ee870cdebd0f36d7b15ad634091b9cee3a6c21a6d7758146e8c92cde03566c3ec78c7826151d81a29e2a8dc276b2e6e1fe1e0911a97dd67b9caf05d2e82b24f94fd43e894af83bba7ef45973de71253fa7679e4f59c4f478925f98c3b595c93ea343e2504f14e877e83a3480664c499a157992d7f85b9c8ed0c65e75b7a9c9a284f8b0aa3f7f9e6fe9e45b2c1eb3b2fd5802b8a1ad2b2b995a4f22956facfbea2e114d9e2dbb85fcd3244f78269393c717519d3ca68d7053e12509796a83f4b648d70b1eec633a5c55d00e28a5def867945f3f41e5f5cac1eef3233ec225dc9f98a5fb413019669a984f623113b60a85c32c857fbfa8c0c77dfb53598d77104a484d05e8ba1965660254641f0e82d75ce381bbe69592d35cb98e7e6d18af607ede750c85e5c368fcee6e7d42365f7cbd9d29e378cd7240b302c721bbcdd2c72bd988011d96987512963a85f4898dde8a7f01df45f0667e247d1e079d59262bb9a41e92318bf6c6c7d02556c8deea325d920b91ee85164a5064885fb63b91ba961bd857d6cd6400380b58bc1390608c9c8f4b0ad6f3eade040947ad6dc4dbc62a743f63bcb9174796597e009117aa672ffd0c3c9497b6f16010b23fbe5d0fc2162bf68c66636a96de3ab2b07c828a0a0aef3e7dbafb47fd79783d17ba5c92e35bb7da85d54325fb10fb01ddfff10a95f2c862812c478ba2ab8bec7cd78f0cb7eefbb89eefceeee671ecd1f52025a1ff88bf3f656283f599e73e502d82ee8d618249efee59f90d3692c35d76e5b5de44ad4f1398608eb5270309b48252d88ca71cf7e0dbd2704a4c24ee1aaf36f0ce1871a5f5af52aaf4c1633ae1a84f6b5dd1c3c2127b342ed5f27c94ee9aab9ab8bdd2dbee8dbc7ee06781b30bfc3a2545e76ccf7c9b9219d4c960d78933fc0557cf880e993e7c6f7307878e65d3bf410c6dddbe4ae7654171f8502504e89e30004c8381d0f0f06bd1bd881d8a2e50ff3229d9908c89c1820675063cb2a78803638059fd3992c4de955cad1cc1b51ec9a5dabdcf07b72508f66658bbf208922d4b774217c0a20a1ef9e0f8699f1168438b37e8d43d3ca24b9bd1b7a42fc045d0ad0dc5367b43246df682c4a40f3ade1c4c5983e61a5c8bace78b652de6834b00690ca6e36d1d4d8e504257343c1491e597ad978e7c1daa1c3d628304becd127263dfb1e6a770cff54754f4253a14614763691b78aebd33afd556bbe739b990098b819b1c110b60d398f6cc8980c83d84ebab605e55a854eb1cf2e5cc124e271aedc1fd9d72329a8a1981e83011f1d42d10029a104bcbb8fdf2adab6e2fb3dff63a7425a5dea7dc43771620e947262a306314316843aa3893b91339d81799d5f5a7d2b45739a5629a29b41d7d3cd06bd82ddf794c18f72957158b36f51e2fd1760235cf5235cbd5be2c8404252654bf2c00000008a42dd36f16c03ab4900a9059a7a01f8374b83cd88cef0f0b777a3c33a3e8fce0f5c2dd689a6b7515cde6e08c0c30d35da088ef491d93d9a8b29369bda0a0ac5afcd065d145f65bbf7a12b98c13db7675a88fdd14c5785d40c92574d5d8bebb4d8d6013c0e8ccbab84991d2c2f01becfc328c48eff6a27f89e0faead074e9d803bd86830e4927d918683f3dadfafe14829737a2bbce2fc9e21943d1b456e2cf58ac1faa1fce9e62ce11685de5a41ef9bdb3bd188d644e9d25892b9014c794c6f1b52297fed2b04322f97704eb213ea048cc396f26bebe57fe779d4c49fd7b9463d5c55aab169c1b5f758010efa3ede479b88f059429d1eb582aa1188ccbc0048fba80f55e6378991afd770a2b456b9760b2bacc8998c2129b85774d16b5faff1cae2c90d1e12eba1fe762da0f0abcbfd34e1f23a3c518597b7ee805e4b2cc70732686b42d8eef5f22059d1fa60fbe0065827e5fa410144be0eec897a2b4d9d512e0f704ce3b16a03d701ac92dd18e5c5cafbf78500a75cac72e230c454bf19265a153ff3120001f1810359ce13a85f09265986513b65eb101be563abb8dac3dce21eb7454e0360a11fc793b14d06a0e84adedc09bbbae491c63d9cbfb30cc8b5d9c707c8d48353c8deea922eefb9d4454caf101f3a0f5d2202f8b24256301392a9587923d95d0370117bd3bbaa6d3e433b97ef9f5d28ec4a88d06026238775ecce8a04087e63edee67f4703a50c93d12c8f10ed959c3fc25b3dcf88ef358294774f2d638c42c04cbb59b4050915d0a69cb3897c9c0e091200c9d20229910a3b7f94c2715a3046c04ba6973748906aef5c4e228ce36e8cfd695e42ec4a4dc4de0b021af3264a0330d4c6c72f8eb47dee8ea6c6c55d54308ae03ed2d52bf9b3c91a2d6208487360c099e6a4853e8ec9b5bb674fca7f40b489dec96000d1df7475b4b22a807843da11460b5ca9f5da1e49b38d5ad7b4f5f2451ab419299e1444f5646d6f5f99b1a3d76225d698e865e07428b04023915c42c91ae7086ed36b53a9af07cbbd4bbb07f3b447cf5a33dfcddcb04ee5d28b3486bbfce60c91311df2af8810e93d2d0cf7852a5a407e1bf3918730ce9a2047d01bdfe2fe2c9d83dbfd76ef22ad6eb1a2d49e8a16e844c596251149cd9912f340cabdb695cc4a4b7a6cdb5aa48c7b99cb4845ee9373bf3d01932484cbdd81926ab1db3ba7bc3d44b4ac7700b8065bf1a8514de48a0a57180feb4d809458e30e067548b54bf04b35010f717b7b861719ce67a6281409e826b9af992ed487bc88e041ce6a671e90e408d2d0b39200e658451a30d7a8fce6a1a5f862efea24bb2dddf46f97e7b00763c4a6373fa5c8719cbdf921bf46b2e531be9193f3898f4345e2c2b60b81de00a9827d9a587ae56cfc8bb5957f2b2be1adf2e4c7db505556ea7f5358fa3f8c12876f56f258448d2e7fb644c25afc39a759b989d17ec1d75c3c259726d95b063f0ed88e1ebb51117dd1a2ba3e0c70d0ffcbf5a9e71f605872b69aa5f231ae6dbab3968743a141fcd586e87f5ce3b907b7b8950699fe75a4193efb789c4a9c162c49a526d7fe00000008b2e768960f6983d0590ac751e8b03213b024b743f0f0263112af462d52c42bd33a9ffe65483ac495f2e11e5afd727fe98f484b8a11f6eda2046c633c07db908fdab01cf7596c03d7b283c0af96e381bdb3f7ad955f740b98e045e087cec91b74a702e441a47d3a9c79eda86af2c63e2299ad3676a5573b2c76d17ab1a13e6bf15e421a3904a1651f01bcd27226ee2005841d82ec3970e3ffac898c0bb101a567432507e1120140e51a5eccab4a489e87faf3cdf049972742dd72795378dc5fbb924c5de2729103f1c1dcfa92fb8eb44fd9dc1f2bdec83786f687e136c712f8a96c047574dba4b2cc64ced3cba352b155b74a8c28d215df5b64ecc45b3461d5b3777cc4fb48a21fdd6af9bfaf0a664e482ded4c18ccfdb0743cb6d4b9d2f9a5d6aefb7803771ac7e6e70d30e8bd0e0313db855a286db37daea15e3d105a87f9638cde9fd67724eb71b73be5f8fe525e9faf24f08c17046a6e6d09c3e5729ad98493a97bb954234bb0aafb20c130e7295ae0cd292082a6510db902bfe969b43761a94be7762ce73fe1b4a564d0ae233e14e4a3496f94224c10000745267c5e6e2df1f636c54ff344cd24335cc4e62df6fdb5fe9ed9c17109d8f7621439e0192e050f673c714525dd8f556f961be3366ec4bf60b146aef1d2b19de0a226683e7c5d9813ded316eb936dff02614ee41bd09050c3c3f8b3d75ef53ce9b7767cc500e16bfe09c3aabf38238df1ce1a6c2000aea11b4a012b32bf21afbbbf19f14061deab456002e6746a962a6224b0df25f909127956f924a8ecfe5b647263c0120a09a3f13be0a451bda634fd7edab52afc9b73da443177218d4b7ac161bdf39111b701fb721b37c587bf20fa6108a9bc1909883095e2527b5baef97942d179538f5b3bbc5ab266924202434ef307c375d8e51cdc4268f809dbb35510a6c6c30313b58374ad958c9afd3bbb857479e2736fca5c3aa1f60118fec87ff9ad343260b5fc036c1fa350c7ceef9115e79a87dc541faf98e12c9ab8cabb4ad59b5ff1d1f71c46108b1a48cddb05dbd599cb5a2a57e7b6ad26820dee2b8e549f63edd6efc98203101874b06f382b7d6a2ddee99e7c921fcb5d65e75e9cf0d8e00f24db4927c625c7006b0ec7a4479daf13bb6ac3b19cd75f8ac57e71e3abce38ff637b34bf35b1e3e508fa9cb4517c649c5e0f73baa8a50c2c84f38b1eaeca942b561a9983acb5abfd7ea132b4a30420789fc35c9865a4baedfe48fdcc0e76703835fbc23ecb451db09792463aee8fd822125d2cc0cf410b9d54239bedb778f6dc5c98987c8689e8d508603da45f54958d11c02744e3e9fe790785880c48053e3cd362a038dbf7202eac8c1c22ee737e849691e69d3085488a2ea6d53003278b3f5ec40b32067be48201f65653a82d6e3df078017065cc1528c08947b6e9a73196b1df9373ef460bf8b8f1c79596e9372ff82869e56edc8b666bfce48d2cceaa6352b835db9f4ff36361f4f1cfdee81aeec2f4647d85567bbba03dd7789bb33bd5e1bc8d061b59b7790bf000abb69ca4651b5b58aa782fdca2208aeb42c7ffab48610b2e81430000000889da78c030c970a7356117897566ae4cd888d338305a111acc0410b375af69efbeb64ec254bed419215899503ebd80348621b18025b87962ea244ba794d76b0c6911e40f1faec13d2ca960132e335e67057e19ca278b883790ef5ac84bbb2c9387a29eec3559aff6853fb07d88d15b32029edb415965c6fe684526aa0de57de91e256cc9bce0f0f1a7f763881b3351698097e9cb09c7816a28ed8defa30489d6a22e10548d9b9fb0784ccbbe04c03d2759b8d2e4f2f0adcd474a42fbcc2467d0978523ad89a2e6da439e319fd8a4908bbbcd6e162384afe1674590611126acca9454fc90718c9f6f1070aa1990cf894da298283933b50431207f99b03b57832b87ac121b4725951389e569b047e963827a31435959ca75614e562808ca798986a3e2a938f2254f1ff6e3ac1e83c0a79d069be2ad1fdc692f82325a39ae4538ab7c0bc8b4d6bc90749c0297c0f681acd58462a1e34c20a9ab1e3a155932595c7dbee1b9d68693dc5d172e4e36fb1ee8ac32abab2666db40f575189b5cda7c401f8816d5030374ae0dec21cd6a99397d606c22587f941ec405302a8f1a922fc9d05e0da9462bc6f3040dd410b1aec850a7aec8edf3a199e1289e6e65a935b0fd9e890b3ad67e8dd8d7783b87d7db9db4401a2e60f0444ecae3966fba2961c4545db971c30488935f9f55cfbc6e2f859572310c867d242f254cba951cce54bb694b7593c302aa382b1fac4bcf946b8dfb1891c77b26f4181ee851c5266e7418937cd296e1786e48e76311f75c06a64f40ae670dafb6bdf168531cb959398caaa191b8e0f620f262bba36ac97758a17aa9079ff63ff41b6e2f077e27a26ecb8a2d8ac50c805b44469fc0f19094430c6b7be792315d45d3c9356f247430b484a124b0ba106d2fcb26a76ec53c3a2b07be0d7556155bab77b4fbb4868bc1889be4f106b86dde20f13cfcac5a700d55b0c53378123321423b7a89f3a70d1405023cd2e6aaaf011a6545625f6e2fea8b33612abcaaae18e51013b144062b70a6fd27f5ea3180d6efa86fe05562b7bf4426ca1c096daa971f3a5fe1b9f0b41bda3b8dd27a60391493a0df380e77ef96a22328021d0df7af765091f71fd2aabd093bc6660511316afcf464e6e69eefc2e7a972adc1d7d30a94c783f767dc6f1d8d359c8fda972117f7ebb7ee7fdf58898da0bb1a6d9f7abbd05564fb12e8927e29f20720f43d40ec51ff8e370bdb40523e8ac80465a691022eeac960cfc910b42123d2373e0c181da2d3952d21c5a786ef4939978689ad486b64795a7111ce46da00c5d382ac6daac8d50cb72fe49cd2668e26aa6d548b830ac3d075ee38b00d03f4ffbdd1dc0bdbbbbe1a7d7e6665ceb8b18d215babc5b9943e82db7508e3c874b14e99384c3441af1067317512f3a028121c395a85f65c7fae54460cf2b5714f19b7ac4e42203b2904dc3bd07284dae63f6f527c265ff0e2038fbf88ff8ff10f7e3cd2821e8ca5d08b83d90fa5c237c6fb10d3c331a2f8c712800ad88388df57894776864b6f260c6ff98245e65c5b64c9a5c1fc2df3868573d180181e4cea3a2ec5f0d7000000088e988200a978f0005ab0f3bcd07efdc8cceaa6b6dcc640828ecc46a5a5f1fad87ee764637ff116d0a3dd8b9d5913cecab8ae14ef05a65b93a368eb203ffc9c1d87d55c5580dc4a8023fda96379da564ce5ce993acb3f381195b7ebcddc62c931805b28aff360ec0191e8d8beda2bec9ab6b4dc155b970d5c90b2e33d85071e1eb73c46ec4810a40f066250fcc58d1d1d91b561196f7d2ca8b9f053635bde9da3f65de4f9e285e3bba6e2f5a05ca7e4f3887ff448f2513a9a21b2bc5bfa7e9395ae53d032742277334f0d10ddb2a3c557090230aa133f4ef08fe37012ef363a1f49e7a2fd167fccff7f3380c6b927548ca1f65ec2340b714a8104e1d38ec2962a4ec0945d2dfa8a2767d009cbf2720ce12962dd372be373a32bcfee65eea9888b80576147c287080dd95ccfe18b9e318a5641d95d853dd93992ad3b4e51c99e9910e8e739c2b7806967f751d5a0c671189409975b642c736dbe27998bbddeeb281e8babf73bc5166240eb7b3fbc1be226e7884d508baa89ae77b53690742ee97691f3b5d199bd169b8646dc660804936180cc29e7b915f50f7c07e7dceb75fd2dd04b3971ce6a71f86b41e1b0398cd8b9b37879dafd2e4cdc26cd39bbe88f2e08d6829822212e33153db47462547704a9deee90dff3d773d692add7b3c5014430b99c11546b690f467376a328eae61c605c1b15190c286cc6697107bff13c1029bb4b21fa63b4be87d78d351167410897b67c3b812feb7ca2a03ca78eb873333be5321522fdbed778a1fd0d35370406b910c009114c89ee6d49b6f7c685be89ccaad86dd8eceb937816577e1254a684ab5b240cabadc94bce37b1b794e9441463176aca62e883f2e2a9e1ba4bc6924110852e9a86e2e80477689dfdb5ade03ecfcf4ba3500f6c9cc138220813e07de7fafcfa7936f22dfc66ab31098d674ec894b4d6b6aedc4ef75b0e55171ce6f9c47f9289f83ba3e56bd3006aa9044a46fa55295ab877e456f38bcb74b244cbb5f44f93deacb88dd72feb7a583de32ec54b04c2bfb739b566e1c232af8b57633fb3532d4d9cf550b1193e278f4870ddcbd53a64bd93a604ad2455276ca2711aebc793ae423d9a3a8fe9520dd158489e5e095f55437112645c51566535afccf6e2a35ede368acbe056b7718ac8aa6436b40e94