Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/gunnar

crates/gunnar-crypt/tests/vectors/cases.txt

# name plaintext(base64) envelope(hex) — TEST KEYS ONLY
empty  00474e43525950540100000001bf538e83e1aac629be71624b6521a3b0
hello aGVsbG8sIHdvcmxkCg== 00474e43525950540100000001bcd2dff337e5dd5482818bfc889b634e74cb77d72d67e2be497dad68d1
binary AP8B/gAABw== 00474e43525950540100000001489e0c94ef7550088e8a7bf41c0fe3c86658993f203922
utf8 csOka3Ntw7ZyZ8OlcyDinJMK 00474e435259505401000000020009df730a5fb6bafed0fa200f342e0fa015d94af26af42d837d1170ec4b137c220f
long eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA== 00474e435259505401000000021abb51825101a27f85218ca6ba66d463763a7a6b25743b25162124a18fca439a050a6448baecb687debf5c77c75f37c4e7e6b69a98d1f6df2b15f4fc008017e78ae3364f6adc96851df2c565266bb4984dcaea7ddde89399170eccc10eb9240e3ea382750c1a5e3bc9b09f024304dc4bb00087939362ae7001c12be10af8172b0d0d4c19638d4153f9dc2a2393903953cdcdaa525e4364b3190447945cfc88c4de5c27e8b3df0d619953b0da6416bba6b576ad4b513446d2e55ffe8c2ae92fe118ff48ffed8ca26eb149c2e6efbeea688ff4c445357ec284853342b3ae83a1b38e72b97d4d549536dbfa34f5d77164011e3aec5bbb44a3026fedb55afb5e516ae192be5571d6b7d742551b0b13aef142f0f29835f33bf20dfa30d141535ac7d312532bdf9dc1226767d6fe0ca6d3a70193f41176008ec410a62546d831a237b432c31a2b2f225e31c777440ee15f12a3d1afdadf288d09353fd3928f07d730ff2b038c7a290def6a2ac50fb2fb3fdfd8bd42e1137939b6791a3145a2843451afd67d4120bde1d953df5f6119169c4a7e740587f16fc3013308aae4f6bec2a696d2481977bf796342fc43932e32cd1d2905d809acbe8a6301c109242320bd19ae794dd408b6893802f1169b8a262a7dac5a6bad5cc910f590222aec91b6bfb1a479dd123f738d4b751d24513e3add4bb71cbb4d4e245c81ac415b6cb6625ad1fe07f89e4e6b0ed4b074b1cd76f43c9ce42cf87497f34c4518fad20f263fad1548642cc82cd24dbe3aa4d14c51abd999c2ab612d4d9aeab5676b5a7be524f94e2e74c050240fef06bfe18fe28714e275d7a5351799314a2b71adef8d1cb98221c4cc377b9b88b2c128dbb9749f263d5cc92aa4a9af2ffec98a257fcde881bf60810c4201d94f07692e552a2d1819648368966fc30eec4d35aac8af178a02880c27980c54bb4a52485fef2752495aa50f51f7162b6142de4026fb7025622a4cf68d0724c202f3618c79696505412844ff06fea2b6d8bc4b9f796d08fc6eb38651a83078752e327624bcd554d96ad0f620d80bf3fc3529441cfcc59506cf03ce52b2c2f408ccc89ee183f7144abc592e18abbb10934af594852ed129277aa71f58ad1a0e9cb5c133524eb46e2c556c69e6aef5bfc9b878d04ec38d8ef633efa6950171edb1ff9adf11296ba4644fee8043b4ad868c359c91342dd82730403276e8a9b808756e0f9d4fbe8beb623e12c08684d63aa441636baeb09f8b071787440b4f49e0a3da9b060e9357ac7ba603da43f1f309502fb0ada4feb20892c73549bb0d9d4c6f5a0552b1a112be9a71494a9b96d6ce9d2fc7df678f6747b6006aa2278549bef5597c827902801a353f3250ffc4c50423ee1ac8b8d7d07c23d1d589bb6523f0c2e04ded51df16e8b1b84b527d3384a47d3815e05b1c68e5affb7520774e3a12581a956cd34dcb60ef7fdb3c5627e47c88b48b6e43fcf1773d74a1e8078b3ef403db3bd92369be17f8547d12833747f916e1239ed6a8e36a387b4b68dd60f236b9badc278395ce534deff059938e7c61d8da1e27cbd4de655388d67efaeebedb0fbaf91c06f5084585c1776424f7f66385182e1b098d3d0e9a5e1b2c9d4f0f9ac516ca76320e6b89e7e1818f9e191a262c91e827be361f889b85751f0aa67442ae14e1279fdafd91a1728bfbd07cdbc13c784d1bb7ffeb0023674bf1af5a794d12e9f0ba789c672546c69abbc7302723727e11b942a0b46ca8e1b8a61a47cb050dd4913979598503a881a7a29091d11f91d9963fcfb4238b1c6423101b1f339d10aecfad7d21cb5bee275c1762c9ef632d9f21f881a34ac99b00109bad340f14b7a2fa48162985f5580f1669191eb34d423b315293c8c190b3d4371418e492a7a1e31c4780fa7e002e1e529e46c0604915b6f2e033f8a2fa740be0ccb3ab5b9edab5c4ab7aa2fd03da5d0c3813c3ce523a6c21414c5a3816315ac0f8f86ea157a17ce78e48d7748f0e74809e3e05868f41dd9e4d9fb795b15de52a0fdce3ceb17ec423f565f541bbfd84e52f435c295596d534955285341a9bb9f14f72fa43eebfe41ea08557ab8b89a9293c7e4ae6539e5c4b6cc5281a184f8b951ba39f0dbc0b981bde648a076d579765412e0488943f81c462606934298c84bde61b904ce78dc8387ccbd13c2078483aa7c2e8191a47282d67d1a55e17fb69b621b0781a5ee1c36d3a1a39febbae1f62ba74cd1ac8bd112e0a2d15a90a414dfc079d75b5cf09364fc22d839020b9ab6068dd1ccf14f7c9abba0395fc7ec0d70e50553c0f8519079089e949df1c9e267169c625b28e0a13202f3da59610cbe7428cac5933c7a8c66557df6270d4324c90bc5e9765311c38159c06f4a903b99aa2d1c6bde66e99b5c34ba409646a3cefa7af5ea4c1a4be6ede8e1b79a0dea679c8ac7b874e68193b86546a08db388de28c720d7bfaa93f149c0a9b924814ec122c13c81d79913178f9aa7e856b4c99752e3f039aa5d8d127c8af63c5f4b5e480216f1ca75446fe1d8c7e418be6ede17303feb1327d6fd2997049963e69905b149808462342ad958225eeb96cce2ecadf590ec82689eb519497de0527d1456342b480e629d9ed836dee96750580d56f87ef3a043282668f954bc0cd4a2ceff6ff586665c22245db116ea88c2f203384c05944ad73cea67dcc640a2e65ebddae75fa52159ab7eb764380fc2cdb2f86bb9e727da22607fd269b4e71ead89cc48e26b4a51ec39cf0e38faf884d284dd5d88650c947301258201f0e17842baad411fdb2b184882c32045e616b7f2bef05756e5a8bdbc694d44325f0e84a1a233f08d204fee71fe5a5a68732e4678b3d7f68e170d02377e6cd29d7afb711455c170957a58ae50df90db794d58a747b8ec7c92233b42cb44aee76934c2d4b517fa88d2ec7e93e9b90b956e1c19afa042902db19d1b066f5fa0783ddff7033a31a0cd545e971d75eb3099861f7f65a5e0a17754dfca91cc4b274decce61894806be8d80b0cfe70a7499a16158ab5102a76c537f416fb262ab12a6f1e2ea50082d45f9aa794a40382bcc8d213fdae41e65db071a27edfac06ffc7e956a98c8b0a1eafda909b1ef58b9d499ef5aef5e92caecc007d5ec011b10391505b79912f1e49904688b4bcf506bf651129ee9ea812e06c79e317fc11b28d44d7e61671ab71bd46f894d124aa2bc7a6617fef2ccdc46a6ea97b4b3cebf862ce3f6261d8dc481349d2a75cf194acb8070255990e23a2e6ec0ccba9457d06e9d1eddbe3f6bd83c39de4e01b5a8004d61744fbefcb1801544718d1e0b1de5d75bb076a257fec036b547adfa5bbfa90bfcfbb36f1d7f80fba795e52e4aee49df54fd6e322914aa58cb02cc97c83b04ead5618a03c43dc4e0ac9ad7d2a6eae3047c9500b0204ea4d59f475d4b247b31f1b381c52436d2ebad1db42cffbd0e8f2bdcd164a829fc0bb26b934934d9982d05e6788c1ac2ce939d4aaa227962b660cc7df4e32baee545640f9881224e1587b7f0a52e8416b50700ebd21a0f0be01ce4da09670753af9ed2d1727adb84bb8ab235c56b7f86ee5b037e7f1ad3bdbe7d8687679750c02497c259652f8bfe7413268d6dfbb7b589de867a38881771e7227e827816f692ed85b854b082a22bd3600a6745542bce35c35da3fe00a3b7e2de2ba80b51e2e78b4a640b64baed9f9ea89c5682cd5afe3af1727aacb550f79fef51c2a8632dd5d1dbf3e37bccd2cb1ba01ad348b7b2185af9bb9567afd2acee28ca1733fed8e05dccc22a7542b502b02dff00dcfc5cc8228a1951823039e5f4d856612fbe9e7c26d5754b7096df83ccdd01229e40b1f4cb96249518ac60165848ae3792d226604f2b008d83e6717e408905ce47eaf0be2f8b5c8249a13c2c34414b24f8ac42890ce0fc34b81bc202ca9c4d99e11a80ce806b6b180f6936f76febd4c170d9f62129c19d2599b0abc3acb099bd86ffd3bfa8d6cf94157b04344a1cc206448399ff3c5c8f50e522714e3e65b24ac18451ad0d577575b5b68be889fb5533b4bc0be31ce6153e08b4f8b228865bf30d363d6684110b8a57d2e78ddfa58fd1173f979e20c928b059d1c04ce8752a395beae56dea85fa2d6ac2b767078795ed4678d93615a3f937768353a514812db1c81e2f37b95391dbc7ab460f8a4ebc18363c4f83845f9defa82afd8d8fada242543c5fcb345f11d326aafbf8aad3f2658245852ce3fe880649af9cac6099756c6f8cffa686221fe93319fda95baa0600e5bcd142208cf1ca22ede340df9853f8731c70f00a728aabbf6638beb4fcf7954897ed9cfe2a4afd6f468aab72f16a49dcdfaf46bb9875bd4947d5cbdb115373b3f1382367112996ed8f80fbca00724423ab40c04c6b8b3c896fdcce88062b7af20701d0d8f4e986d73f3384031f8633088e42814b137e9dcf51f122e06ddad2a087ac6d93ea2d29df8236200273172f7e7335c38df05a6cbb4eacd163e45761133c41425faf50d15c77e65f65972d139f8fa6c7db6700f4563b85fa77fcdf2146f36edab50fd4bc66659774dd64ce485be0d10885ea29640bfe003a3c049a8b27fba4c98089baacce7e1b1ca1896b27cebc01d00fecce3c2ef5c383dcf92802e5a9d41773e7c1f45710d98611ce4fc84c0caebb5fd6b8c782ea2eb4ab732625a0b463105df0af0cd6fc6ab8bc6b474bdf3630558393c23f1cc9b7c5b766109d21b1bce19c57bc8a8434d91eeb8c185c7339dac8ea262bab222591f99fdbf4b8d28541fdf8b1824c0b864390f686c19bc10a14fc20401f4dd348d5166aba1d117ad7dc9dd4f943737635ba4be9226412466f4ce5586b13b0a39554cb508ee8ba638b72aae3e45fc0b852a0ff84a9f1c7c4477b20f0a66fe241a6ae8e0ce43bd50b82a2d85cc669854c86c7041aee710177fc3f1b3e806e6789a1fa48e92e6a4fb186f4b1799d7019d448b21d3c2899c1c6aeaa6de5db0cf426575db425e75bef5ca99a8653000519d8aa5181db2d174e9e98b88ac8dd1d4d615a849c0ab024bf93c29a81fc41df7e2117591a604a6ff0bdaae693f916674e1649a521bd19411933bf78e2879f2421d3ab0ee1d5109c82adc464c2241b313712a2fe666d0dfd569d815eb4e910ea1d4864d231cd965c6176c4513ac2d679296e3dad78dbac081b979f99d4fb110f8f508adb4a08f62a5efa8ab0bcf67eb03bf37d70baa7644e8731ffbdc6874a4ff3e884d5d13d596407a8ae3619e3855938f84cd3004dc2dcc6236d35f4260d27faba338526792807db60d625e025303b3990f436b69dd464381b90a37ac252ff101ca5d3fb702de0c04ea1d98a1a5b44cb72f3bafdd56948389bc161b5fd2352ff8a31138fd5668051f56e2721a66fd231526b498fecb01bf40bcf7991c0058e5da074ecf1b6e83393c72e61d8cf02c85f3f330ac16db6c0c49b46caf3b79a691db638e97e2641e681998aebd6e6e6d30a65eaa0a43a765efa69aff113ad9bf3422249b6b416a0e03b06d3ebbabe84509782ccbddf35ebba20c4feffdb683628cd2b57ce4a757c668e222ce446222b092fdb63aa31e8b85c772ce4e8b63de61ac66ed5477443ac3b791c37d06aef83e18e9003ab362c6fcc4f581fba8df2890e98990bb87788b78d96d1b77e3407cb9a326d9d715f356a1a670c0b6e091c98dda24645b06de705d16df8b3df5d7c427b4057facd9ddb4a1647cde4406fa97017144169519540d5871ca38510f4c43394df6725a1f009cd375be90a65579a3629cbda8659afd574f940bcc7288503aeed635e2c9e2b49e265041ec