{
  "format": "meridian-mop-encryption",
  "version": 1,
  "note": "plaintext[i] = i mod 251; random bytes are consumed in order: DEK(32), file-id(16), nonce-prefix(7), salt(16), wrap-nonce(12)[, recovery code(20), recovery wrap-nonce(12)]",
  "cases": [
    {
      "name": "two-chunks-with-recovery",
      "password": "\u041c\u0435\u0440\u0438\u0434\u0438\u0430\u043d \u043f\u0430\u0440\u043e\u043b\u044c \u0438\u0306 2026",
      "plaintext_len": 5000,
      "chunk_size": 4096,
      "kdf": {"memory": 65536, "time": 3, "parallelism": 4},
      "recovery_code": "ADA5-ANJQ-B1CN-MPTW-BNF5-YR31-C9HP-8SB6",
      "encryption_xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<m:encryption xmlns:m=\"urn:moffice:core:1\" version=\"1\" inner-mime=\"application/vnd.moffice.write\">\n  <m:data cipher=\"AES-256-GCM\" stream=\"stream-v1\" chunk-size=\"4096\" chunks=\"2\" plain-size=\"5000\" nonce-prefix=\"b64:MDEyMzQ1Ng==\" file-id=\"b64:ICEiIyQlJicoKSorLC0uLw==\" package-sha256=\"b64:fXQhKc00yIGj5K1rkNYO8zQKSQwHC8gMvzGzTuMltDo=\"/>\n  <m:key-encryptors>\n    <m:password id=\"pw1\" kdf=\"argon2id\" kdf-version=\"19\" memory=\"65536\" time=\"3\" parallelism=\"4\" salt=\"b64:Nzg5Ojs8PT4/QEFCQ0RFRg==\" wrap-nonce=\"b64:R0hJSktMTU5PUFFS\" wrapped-key=\"b64:J7O331yQrHW+8dfviY3mzRK6F2zbO8BNkKgLjkC1DxFU3CjLtuI7AVJ3XzOx/KHP\"/>\n    <m:recovery-code id=\"rc1\" wrap-nonce=\"b64:Z2hpamtsbW5vcHFy\" wrapped-key=\"b64:tTULF9p5q5aRK3sWRqSTi3i63KZxGMWcpjICMsyOayZVQu2Dvk4Swlues23uU3Zu\"/>\n  </m:key-encryptors>\n  <m:mac alg=\"HMAC-SHA256\" value=\"b64:77qEU3dWbcJ9Fv5TNfxuQD+1UBCPjlyrEFNsuE7HUTU=\"/>\n</m:encryption>\n",
      "package_bin_hex": "fc5261de167826c8eade5bedb58a5b8799809b95def15494838f5a6b841aed0f8dcfdddf1d4f87d6d375c83791f4c57a983ee2dbed335dfd311e54c87781ff3214f1a586a4bd0ea563c738115215101583f0100f4d2f5143dc87a2ae2cb0961a56e41ce17668133adb906259861fedb14595430fcb925bec48194b22cc5f28b1923f64225450e62728c5ac269dcaf9a584baffde4a3faa1622f7fb5ebb6109b3b130b40fd8103067cca6be7b658fd54a9ba1670c757547d39be495df3f7057832fbeaadd161f703070c3baac6cfd77fc9a676449d9e44a1dcf57ed23f8c586650a40a87feb2aba0d886aa095a450d98dab8952f87617f1b06bee05045fb2ae5fa1f50c4f49ce932da1004f39176deaf9077cf004fbd10b307ba49808c2ed23947bf96887463d11610e27bbf1735d4feb584287fba93a132a6bf079be575fa4fc47cf7e244851cbb4a6d3fdc90ac272ca5024e481984ca254eceb0c316b4ac6f2d0a77de3fde9248cedbd0d2a7f50db560d333678e828b2bec16b1cd219c7d5f1f062c9294ef9afdf0dffdcf76fd27e3e3c5d91d8e95dd5da49025605b3ec2d1e7042e588884643fc85a0279dfe3f1d7c5cb0d06b045f6b60ff0635f49252effe1051a1a081fcc14640177065d7219757470b0e1ab6601d628767b035e311ef497e5405e00b0f47033443ffd67742836c4536b7ae5f9fa7e6da5b2f43a3ae001e796b5e6c5381a1ce9a161aeb09c7fb59aa4dd184bb04f52bc26a680751a54ed4882bac443f3d71263d0ba4af6704c1fb96cd8daac5e47267ae938119b9d462c0ac4c966a5939695dfc95cc86bcfe068e01372582034a20f7dd5cc353e9f4c40aac1306ab1535091f1128b257712b64a645b285f7de99ac6a2cda4721cdcedaf8067c082e557ac71218a989113810dce8fa6127d2f2afb950542a0644a4bd26bfe4851fecd01436c34716cb79059e9d4faab1eb82457a81e7ecd2786982a20f6c8d4958877b1d3d25aa211cc9945e2f57bf04b4e6b47015767517d5ae20777f203d3e8de64073042a159a212510e60ac6e23429d8fa915e3fc8316c8ccfe2f17febe7c51ef5776cfa96f20eecb4356cadc1203714f4122cafab0b597e170f67b334d7c5122ab624edac845ae668c4b61dc62bea5d45a64ddbfa26560db1bb890a2709e405a6487d544e885f28b93058ecddde1dacd70654b40bfe764bfad0e7d6ca7e2929e60d587c3f7a1dc8a137771a5477688fdc36519868bb1bb4ef75dd8f466e272c3e25d1564ebfc1c2721c160a9876973b1c5facf20c13f657d00ff2dc0c6dedb4174c389012a578cadddafbee0c7e544a5aa8af97cb3d91078ee569643dcccb11a23c9225adfe17166bb9b8dd0a675b6e3eaea5749c8c8a3c90499b4ea293459ac27c937232ca1bb83cb1f4d70e956207522aac68810c512d7b9fab1e9898e1e22d178815ea92d5fcbb1fcdde1b2d564dc2a2b43942d9e6678708890a2e31fcf58bd7edb61b4c77c1a8b049237a197ec00e0d6a88977dc34f26213c87502c0ca18710498d9ab0da3eb8eaa9bd69eabe5490ed265465263606c3aaa95405336aee0fdc93ce06d706174925fce3326db8bef1000e3afb60f94dda58a4aebfaab998c9a6674dc3042a0a0ff07b0e9f01b5e53c17e52bb85eca703d05d8f21d50e40af1f1b63f1b56637d199ba82db425a5f13edab85c1851d8e8127ac9e84264c07565624f7d5e70d67cf00c1dc75b825469b0df3231311f6abb005cb965c926b3957c3d39665cad8b4f0246535bf61c5959cbbb6456d0cc52ff7141b24b3916248b8714a598de0b2ddd9980cd7edbd8ed5571825727525101da922d1d7f2645fb49198e9135e3b28229077bc8193df0765b61a71bce424aaf99c9dc4d1ae651511f598264bcc12701daa827e0fcc27a31e99acbc0c82d3574c8d132a634060d5f077ef97deb319361293316ab33f0cef1acb334483e3e73ad37051da5010f8cdb7c2f6d999b6329e554088500b21840bc072107ab22f4a540798f31786e474cd2632e3c7123f8adc9668692bb8c0721cda97b5db654eff60edcaa640e79f2fb8ea0720bf6e2123374a6f152825b5573de0195486040aa8b5e80bde95f391c5d06dd1555f1bdcb061b5ae268acafed0416fb7a831cfd4e24aab83f1bb89a13fd26b42da0403e036f208895d5a3681a71146a1c10333df4f3b1d4d628456566f293fa55d45afc8e54a7cedadcc264043ec1b0c170a69690cb9639ac3760c002c8963293be75afa0c459aac4fc8dfff001290be6a01b6c693733c30fcc71f1968ea45b7beb2d55f88d4df72dbbe2c36f8f1ffae4f604200b6036dc00db59b08f19845af01c2c54a6c21dd9516cf07649f0bde78a4cfd7642a9a3d7c63c63b9d7a0e4ac36c9ad9554608725cf2da7edba73d0d1d3279a700be61ea8d79295b76ff6bd45fff78f9d9f1f095569af4cf222ae64c633149de0d00190af7605ef627db4697f7770aeb02545b8035b36a694ede39557a4b661be37ef86fbdd04280588caa84ab90cf3d91b1c6b2b218289ff5025130d493e918df9152caafed1ad5879943c840eef4ef9d1a4e5eac7a0fcc9077ecf9ff90ea5fb8807602f5e38fc2468825c3fab012ea2b62c11033120a34a64db54b4f06d840f97bd2e40aae406e5e0df1666904a4e4f8b5c9d7dbc3345c3f42513b4c8139c518309e85b7b59bce4c9d00ad81bc71cc1adcee95ce3e4542ab1cd64b92fd024cbafc6f2ad2e7f887c12e6b580d004194e3ee3adc1491e02ca9d8408130aae3223963daef553e75e1bb51794dfb2906c3e051b7dea8ffb49b3d1a1fe12d28d97ea8db2b431b4bba14db3e0a7501eec3f926defc622aed999504e9d624d34928e399de1a319d8bdfda98cad3d3ee45fd1cf7f5cd74861cce8d98f0e5b3dabe4793577d6eaeb6898a1f1b567c011b31582764cacf68b90aac02c9afca87f95b075db6e0eb6ca03daaf29731473f22313d49d0dc69ee37a956785b2989262ec3de3fc590f2d9c48d3ad4bf55f8faf4447a60fbe71800daea8b4380fd368baaf4887b3cb22ed73f2906e89bbeaa28a42ad550f6eb6c46c99e3b3803a2c80eacad8f4abfa8207a95f5441ad6fdbceada5a8b247b7973754e1ca0d1c7ea980d78c55e9f73f8f4befb0cd37eab5b4a5a99ac8150923421df0794d65c0218059c1aff87629531a8c190f7b5e34e24a8d026404e80776f7371a4f1e000ec2e1dd3087984e165a61b1a6bb9a9134873afb3ca921bc3d7d474688fe120ab94b455fb6e13eb571813622bfb59933b217c2db33c7a81553c92e5b406545d895b896df3f2d1694cc4dcbfdfc4029725762d1b5a1a555c3c5a05ac781bd4a7234c0d9eab1b37105c37b85bc01fc48f3c70da9de5b5e360a8e86042707203ed4cf80a2d77000f94a7a1516641776348713f17c96a8d2627813d081de13f6120f88b8a017400566734c2ff26731bf3798ba6803ec4ee353ac55ea6af3d5ead46f3deee39e8775bb4553e00b8d3256385e78b2be7563951cdb9b5a905d05b4d598f24a769073d78526263a6de66d822dcd10f2fcadb255b4ce26ea422426e683b0aaa4fc6a279ca9429a356743addc72114d10d5a61b14d13b9038d8103ca108d45b4aa86a18a22631245a98c5c14aa3f8cf248de2a60eb4fe527b909c5885e0813336b0304b6b4aee3095d56cfd38c644530bcdbedd4dd6859402a688eea6c156911eeec8ea69e703b4fd7e18f9870359c6c2ca620f9a085a24dbc0e61bc89cad2bd227fb9ed135a15b3043e6edaef9d376e34b168377fc1d7840e3e902b272d5a72faf793224790384f2bd12f6a62dccdd384e59faf8322b80603b044a2a02e621602449857751ba0aa2f85251118ba0849bb3c3fdd2a103c01490c8d1e98d3230910d7c909d96e57c068fa75ca925beb0a4fb45fe7b6584139aff1fe7687dbd5a2ca9386f1a90ca698bdbff4d20e6dd8c46df8c3c7e4c398176473b4367db7bfaee4ac6f1447c88938fbd0dba0b1299393b51ca34afe4537d0969533fb6663b204de3ed00bc853b3a8723c0cf14c5e5f072cb083fdb5457027c397a3e7cc40122808fb2ac8effc3a57c39cb5bc49c272957ac2f92790ad031dc6734710aea6cea349adf6a661cae4d12f8b74ae55e7fd8192133fa94727e28acab520c3d8a03184547adb6d1f27efde8664a2efd6df2059dca020e81b9ece2ff7e6029b82cb19fdb4f582b58a688410f4d55976a848f50f377499ca1339483e15b66eb2b42504ef5e21c3618451f8c07cd276bacfd2b841197115b699c7c77b3f86d13f7faa8b7fd3ce2c78c5afab022530441072c3a15afc8e6d70d155accd60a92a027292c123039b7abb09d73b3ec3ee6ef952779588a335d19d5707b29fa24f8c91261814ea67d9e29c5917528dec901008a93395199cbe6f6fee87a6a1149282c1bc9a7bd4d9985ece6bc94ae99b93ffc1e025f341069701e75672a2e44ba2baafac8eed1d376cde6087aaebbe01bbc23839c1e26677782134e8ebde96bd27230c7078c13d4ba511fedcd3a45a905296796436e7b0f0599eeaedd2af33ba9a55f6ff1743fd0365feb04a2d48188694c10e316ca48d2e67cfd09cb3b23038eac96b70876c01c3eb97da6808cbdc375b68d6880e0836b7a92dd6ce092d8a783595523580e5384cf1c96ccba3bd829765daa4d2fc1716cae19c6adb7c432f13d3b5f33f221c28e0132fa8d725fa052ea608cf7df9aada00568ff67c24b6a11c2e5c74d4b9d7f6853947a3d7001148cc7fb7a7c316a28e2fc8a2632eeb8b858c61d6d3232f1ab837cecd5cb4aaf872640f9fa9a3e31340b786b8034f78c5e686aa0e13de166d61ede25e898e6a425545cbb6d5d613d766e1e0988e3ce06d5e18edf9a9833b9cb01cefb4563942fe60e65d763561d1c1cc8771f963b7dd8d115fa28d591b1efb7b6d479eee907bbc7567fa37afba2549552f377e9238fa1b18316258779fc98dfc684b1b60bb8f19ef3f608fc9502f827fc4551d37954475f12d174c22e220286da2b548264d418df6329717f29ff0c6057ef26dd959f11557444d06ca3978d732d27a1c6f097ae399e9d17e83ca217fec6febc71b8d3c2c324768717c573e50d4c0fac2c568531878d3834f67411631da3ca97dd5b4199085d3a4ecf37994e3b570bc351e96ff10efce8d751c1abd97e7d7c6b0c5d61589149d0f7cc580ddaeb3d9e35964bf25bed78cd0bea9a5151ea5e62dd8e90000cafaaed0416287cecf0f6c070289ad053d057ecad1d031569e0945f318e53b15e3beb3087199825ca03a3bf2724e7e8b9800ce7b5b16c2f77fcf937db6d08bc6c52e84c729202fb24632a0a29a3396b03e5ec09e475c038ed2de3a49ffa7e71637611aedfbf50bad640f5529fcc190a914ff93dfded76224a500220a5b1b86e3c220ddb107c041ddd495f683411b02b36f55364a74f9380b5deec41b91d984c5825ba25354cb1d3bdc4cf730cfc36facf5acda95773ccf94cd5c5d6717ecf44b42cfa112d8c76035c8ddcd1dc6743186a04015396adef5cd2047a11a836e1fb618a9dc52a608c7763fa657ef657f8d1f3b4993ce2c0db9cc53756e7a41cedadbe34281cc4071927c837c643c62d50aca32eb8392cfbf3ab56c1194798d8f0ad5671f10fd39dee2fb8fc503a4fa0d9aa60548cde703ae696525eb6ad12bfb59782833cd630510a6406ece63271cb2d01fa154fcd51229001fa0ad19dc8f21a005c278720384ea8f8fa6ae871e1148ecf7a303175cfb865ba786a03fde558f1cf14c7df8c038260065711130c7530531f21159585a3b1ceaa15479b71e60e5004eb4d78225f6416c3e1c84434837a60927d5e6670c3eca634aef4c936e417d3b76cc3dd23dffd154fc7eb54cfd10d0ee7caa52709ddfb04a423781f8a003c4775e207db08c6d3a0350e538dd9e5fce65d67b79decbbd85c73d959c7cabf16906ff8e2bb4c15f2e602e36d93db2c2f53df000a9dd4489795d30e023a5be79c660f2c22187bb319aef69f085497d70fc0bd4df888d1fb1ebe722c3c9c2ea6160bcb28fcb8726b64821871fa7531570c159b5f048e87a998d8073f95d2727129d02046b35d26481dc4a6e375805de806cfccd634e55b17f3984d1f66da692de24112064137a5ed5ab1f1aa70df3ef2b47001288268c9add4ecb6d5c74cddd7c082163254effc2da56fc47a596f2d7ea7ad5abc89dc2d44af2633a26ebd3e39b1f466e9c74e451abff995cc95247ab8eca1d957d96bc64ecca1a1bdac5f8f5c0233e0381db2ab241847edfff5fd2343377de5afbf4ec9eaa02522e69ce0bd4e348d2741fa7904d4e073e1f44dfdddeb7e5d748956a444617b710b54a17a7d5c10c5140792a138af6ca52b1986a0ed80207d6b0289017f3365491c4c0bdf654d7074fe7f62627bca4270646efc6637de94a527c602b853c68db5120ab96d6af6004677315b479e524938f32d58d68cc6eb8f29720f7c504f45f21dd5bcbcb28685b8c53043182e15b0376d6c3535301c8c03ee93501693c7c94fafe19d29217f26eec1bab5f26982e02a8f78ffd7c0576a08fc20023d834e1130e6eaaa02332643eb4a634ddc67a0b4677aeddbe5eef1d92cd6bf6931520b6d15e13f487505bd1662f0f46395d3be9fc2898e454c2eff1730b912f1158b92e69be425879ee142b8a1611d734e1f3b6b449eb2c045e033c6b2da9a22e0557cfb94313dc6d331603d6da81910db272156614f4c377e87092b9fd56c062c0c7202611e8b28fd117364fa24b24265bc216e2724bd4d92844a4331e2daf0a83da7dde2005054dce06db53d79f03c91706ab9e543d5b8856cce0cf3c5f1bd685271cb59b6eb55059f1915b89d05901e1043574aaf190ebbf23640f0b862d051268f6e1694ba763c043a030ddff253043cb11d9c744da96f0a1aefb74b504dd31764c08e412f133bb3c04b82410e7e746310bf1bd415e5b349dd3dcb359314b6cb25a2ff609d3f49d4b78ddeb216ab99c5f4c485c4141a5e329d9a6c2ba2ff56ad1dc4f3c2a537caaf59fe95470a96299afa57060b47665eed4d37a6f259a06d622a9e8f45b93064a9f62e2a937a46"
    },
    {
      "name": "empty-document",
      "password": "correct horse battery staple",
      "plaintext_len": 0,
      "chunk_size": 4096,
      "kdf": {"memory": 65536, "time": 3, "parallelism": 4},
      "recovery_code": null,
      "encryption_xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<m:encryption xmlns:m=\"urn:moffice:core:1\" version=\"1\" inner-mime=\"application/vnd.moffice.write\">\n  <m:data cipher=\"AES-256-GCM\" stream=\"stream-v1\" chunk-size=\"4096\" chunks=\"1\" plain-size=\"0\" nonce-prefix=\"b64:MDEyMzQ1Ng==\" file-id=\"b64:ICEiIyQlJicoKSorLC0uLw==\" package-sha256=\"b64:xJqehEc248354QF2VM42wLZdG3GtNo4zTjlqmoW6+Jk=\"/>\n  <m:key-encryptors>\n    <m:password id=\"pw1\" kdf=\"argon2id\" kdf-version=\"19\" memory=\"65536\" time=\"3\" parallelism=\"4\" salt=\"b64:Nzg5Ojs8PT4/QEFCQ0RFRg==\" wrap-nonce=\"b64:R0hJSktMTU5PUFFS\" wrapped-key=\"b64:vvN0bYYyYo3cM6mqtk+z/5x6uoVJclDaSz3dW+Dd0Z/guR5eE+P1kYTBM8vJNLxh\"/>\n  </m:key-encryptors>\n  <m:mac alg=\"HMAC-SHA256\" value=\"b64:XM56PBmiBEwUT3oqa0PeQGVUCi3wPvnBr1NXy9o67is=\"/>\n</m:encryption>\n",
      "package_bin_hex": "50a9db798baba2d8b133b95432a54e97"
    },
    {
      "name": "exact-chunk-boundary",
      "password": "p\u00e4ssw\u00f6rd",
      "plaintext_len": 8192,
      "chunk_size": 4096,
      "kdf": {"memory": 65536, "time": 3, "parallelism": 4},
      "recovery_code": null,
      "encryption_xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<m:encryption xmlns:m=\"urn:moffice:core:1\" version=\"1\" inner-mime=\"application/vnd.moffice.write\">\n  <m:data cipher=\"AES-256-GCM\" stream=\"stream-v1\" chunk-size=\"4096\" chunks=\"2\" plain-size=\"8192\" nonce-prefix=\"b64:MDEyMzQ1Ng==\" file-id=\"b64:ICEiIyQlJicoKSorLC0uLw==\" package-sha256=\"b64:AZN3L/P/IIPCI+6VIXDezU5v8qyk8/TWfdvUs3ecfA0=\"/>\n  <m:key-encryptors>\n    <m:password id=\"pw1\" kdf=\"argon2id\" kdf-version=\"19\" memory=\"65536\" time=\"3\" parallelism=\"4\" salt=\"b64:Nzg5Ojs8PT4/QEFCQ0RFRg==\" wrap-nonce=\"b64:R0hJSktMTU5PUFFS\" wrapped-key=\"b64:x9sW9LC+TPDgTNkeu6TIXeZ5MNJp1ardYANwqKyRMtMEtI5QOKpzo4RWx/dNAzMG\"/>\n  </m:key-encryptors>\n  <m:mac alg=\"HMAC-SHA256\" value=\"b64:YIuEBaFjohU+LDe8wWwI0GIA5ckOkyNG2oc9eGixYfE=\"/>\n</m:encryption>\n",
      "package_bin_hex": "fc5261de167826c8eade5bedb58a5b8799809b95def15494838f5a6b841aed0f8dcfdddf1d4f87d6d375c83791f4c57a983ee2dbed335dfd311e54c87781ff3214f1a586a4bd0ea563c738115215101583f0100f4d2f5143dc87a2ae2cb0961a56e41ce17668133adb906259861fedb14595430fcb925bec48194b22cc5f28b1923f64225450e62728c5ac269dcaf9a584baffde4a3faa1622f7fb5ebb6109b3b130b40fd8103067cca6be7b658fd54a9ba1670c757547d39be495df3f7057832fbeaadd161f703070c3baac6cfd77fc9a676449d9e44a1dcf57ed23f8c586650a40a87feb2aba0d886aa095a450d98dab8952f87617f1b06bee05045fb2ae5fa1f50c4f49ce932da1004f39176deaf9077cf004fbd10b307ba49808c2ed23947bf96887463d11610e27bbf1735d4feb584287fba93a132a6bf079be575fa4fc47cf7e244851cbb4a6d3fdc90ac272ca5024e481984ca254eceb0c316b4ac6f2d0a77de3fde9248cedbd0d2a7f50db560d333678e828b2bec16b1cd219c7d5f1f062c9294ef9afdf0dffdcf76fd27e3e3c5d91d8e95dd5da49025605b3ec2d1e7042e588884643fc85a0279dfe3f1d7c5cb0d06b045f6b60ff0635f49252effe1051a1a081fcc14640177065d7219757470b0e1ab6601d628767b035e311ef497e5405e00b0f47033443ffd67742836c4536b7ae5f9fa7e6da5b2f43a3ae001e796b5e6c5381a1ce9a161aeb09c7fb59aa4dd184bb04f52bc26a680751a54ed4882bac443f3d71263d0ba4af6704c1fb96cd8daac5e47267ae938119b9d462c0ac4c966a5939695dfc95cc86bcfe068e01372582034a20f7dd5cc353e9f4c40aac1306ab1535091f1128b257712b64a645b285f7de99ac6a2cda4721cdcedaf8067c082e557ac71218a989113810dce8fa6127d2f2afb950542a0644a4bd26bfe4851fecd01436c34716cb79059e9d4faab1eb82457a81e7ecd2786982a20f6c8d4958877b1d3d25aa211cc9945e2f57bf04b4e6b47015767517d5ae20777f203d3e8de64073042a159a212510e60ac6e23429d8fa915e3fc8316c8ccfe2f17febe7c51ef5776cfa96f20eecb4356cadc1203714f4122cafab0b597e170f67b334d7c5122ab624edac845ae668c4b61dc62bea5d45a64ddbfa26560db1bb890a2709e405a6487d544e885f28b93058ecddde1dacd70654b40bfe764bfad0e7d6ca7e2929e60d587c3f7a1dc8a137771a5477688fdc36519868bb1bb4ef75dd8f466e272c3e25d1564ebfc1c2721c160a9876973b1c5facf20c13f657d00ff2dc0c6dedb4174c389012a578cadddafbee0c7e544a5aa8af97cb3d91078ee569643dcccb11a23c9225adfe17166bb9b8dd0a675b6e3eaea5749c8c8a3c90499b4ea293459ac27c937232ca1bb83cb1f4d70e956207522aac68810c512d7b9fab1e9898e1e22d178815ea92d5fcbb1fcdde1b2d564dc2a2b43942d9e6678708890a2e31fcf58bd7edb61b4c77c1a8b049237a197ec00e0d6a88977dc34f26213c87502c0ca18710498d9ab0da3eb8eaa9bd69eabe5490ed265465263606c3aaa95405336aee0fdc93ce06d706174925fce3326db8bef1000e3afb60f94dda58a4aebfaab998c9a6674dc3042a0a0ff07b0e9f01b5e53c17e52bb85eca703d05d8f21d50e40af1f1b63f1b56637d199ba82db425a5f13edab85c1851d8e8127ac9e84264c07565624f7d5e70d67cf00c1dc75b825469b0df3231311f6abb005cb965c926b3957c3d39665cad8b4f0246535bf61c5959cbbb6456d0cc52ff7141b24b3916248b8714a598de0b2ddd9980cd7edbd8ed5571825727525101da922d1d7f2645fb49198e9135e3b28229077bc8193df0765b61a71bce424aaf99c9dc4d1ae651511f598264bcc12701daa827e0fcc27a31e99acbc0c82d3574c8d132a634060d5f077ef97deb319361293316ab33f0cef1acb334483e3e73ad37051da5010f8cdb7c2f6d999b6329e554088500b21840bc072107ab22f4a540798f31786e474cd2632e3c7123f8adc9668692bb8c0721cda97b5db654eff60edcaa640e79f2fb8ea0720bf6e2123374a6f152825b5573de0195486040aa8b5e80bde95f391c5d06dd1555f1bdcb061b5ae268acafed0416fb7a831cfd4e24aab83f1bb89a13fd26b42da0403e036f208895d5a3681a71146a1c10333df4f3b1d4d628456566f293fa55d45afc8e54a7cedadcc264043ec1b0c170a69690cb9639ac3760c002c8963293be75afa0c459aac4fc8dfff001290be6a01b6c693733c30fcc71f1968ea45b7beb2d55f88d4df72dbbe2c36f8f1ffae4f604200b6036dc00db59b08f19845af01c2c54a6c21dd9516cf07649f0bde78a4cfd7642a9a3d7c63c63b9d7a0e4ac36c9ad9554608725cf2da7edba73d0d1d3279a700be61ea8d79295b76ff6bd45fff78f9d9f1f095569af4cf222ae64c633149de0d00190af7605ef627db4697f7770aeb02545b8035b36a694ede39557a4b661be37ef86fbdd04280588caa84ab90cf3d91b1c6b2b218289ff5025130d493e918df9152caafed1ad5879943c840eef4ef9d1a4e5eac7a0fcc9077ecf9ff90ea5fb8807602f5e38fc2468825c3fab012ea2b62c11033120a34a64db54b4f06d840f97bd2e40aae406e5e0df1666904a4e4f8b5c9d7dbc3345c3f42513b4c8139c518309e85b7b59bce4c9d00ad81bc71cc1adcee95ce3e4542ab1cd64b92fd024cbafc6f2ad2e7f887c12e6b580d004194e3ee3adc1491e02ca9d8408130aae3223963daef553e75e1bb51794dfb2906c3e051b7dea8ffb49b3d1a1fe12d28d97ea8db2b431b4bba14db3e0a7501eec3f926defc622aed999504e9d624d34928e399de1a319d8bdfda98cad3d3ee45fd1cf7f5cd74861cce8d98f0e5b3dabe4793577d6eaeb6898a1f1b567c011b31582764cacf68b90aac02c9afca87f95b075db6e0eb6ca03daaf29731473f22313d49d0dc69ee37a956785b2989262ec3de3fc590f2d9c48d3ad4bf55f8faf4447a60fbe71800daea8b4380fd368baaf4887b3cb22ed73f2906e89bbeaa28a42ad550f6eb6c46c99e3b3803a2c80eacad8f4abfa8207a95f5441ad6fdbceada5a8b247b7973754e1ca0d1c7ea980d78c55e9f73f8f4befb0cd37eab5b4a5a99ac8150923421df0794d65c0218059c1aff87629531a8c190f7b5e34e24a8d026404e80776f7371a4f1e000ec2e1dd3087984e165a61b1a6bb9a9134873afb3ca921bc3d7d474688fe120ab94b455fb6e13eb571813622bfb59933b217c2db33c7a81553c92e5b406545d895b896df3f2d1694cc4dcbfdfc4029725762d1b5a1a555c3c5a05ac781bd4a7234c0d9eab1b37105c37b85bc01fc48f3c70da9de5b5e360a8e86042707203ed4cf80a2d77000f94a7a1516641776348713f17c96a8d2627813d081de13f6120f88b8a017400566734c2ff26731bf3798ba6803ec4ee353ac55ea6af3d5ead46f3deee39e8775bb4553e00b8d3256385e78b2be7563951cdb9b5a905d05b4d598f24a769073d78526263a6de66d822dcd10f2fcadb255b4ce26ea422426e683b0aaa4fc6a279ca9429a356743addc72114d10d5a61b14d13b9038d8103ca108d45b4aa86a18a22631245a98c5c14aa3f8cf248de2a60eb4fe527b909c5885e0813336b0304b6b4aee3095d56cfd38c644530bcdbedd4dd6859402a688eea6c156911eeec8ea69e703b4fd7e18f9870359c6c2ca620f9a085a24dbc0e61bc89cad2bd227fb9ed135a15b3043e6edaef9d376e34b168377fc1d7840e3e902b272d5a72faf793224790384f2bd12f6a62dccdd384e59faf8322b80603b044a2a02e621602449857751ba0aa2f85251118ba0849bb3c3fdd2a103c01490c8d1e98d3230910d7c909d96e57c068fa75ca925beb0a4fb45fe7b6584139aff1fe7687dbd5a2ca9386f1a90ca698bdbff4d20e6dd8c46df8c3c7e4c398176473b4367db7bfaee4ac6f1447c88938fbd0dba0b1299393b51ca34afe4537d0969533fb6663b204de3ed00bc853b3a8723c0cf14c5e5f072cb083fdb5457027c397a3e7cc40122808fb2ac8effc3a57c39cb5bc49c272957ac2f92790ad031dc6734710aea6cea349adf6a661cae4d12f8b74ae55e7fd8192133fa94727e28acab520c3d8a03184547adb6d1f27efde8664a2efd6df2059dca020e81b9ece2ff7e6029b82cb19fdb4f582b58a688410f4d55976a848f50f377499ca1339483e15b66eb2b42504ef5e21c3618451f8c07cd276bacfd2b841197115b699c7c77b3f86d13f7faa8b7fd3ce2c78c5afab022530441072c3a15afc8e6d70d155accd60a92a027292c123039b7abb09d73b3ec3ee6ef952779588a335d19d5707b29fa24f8c91261814ea67d9e29c5917528dec901008a93395199cbe6f6fee87a6a1149282c1bc9a7bd4d9985ece6bc94ae99b93ffc1e025f341069701e75672a2e44ba2baafac8eed1d376cde6087aaebbe01bbc23839c1e26677782134e8ebde96bd27230c7078c13d4ba511fedcd3a45a905296796436e7b0f0599eeaedd2af33ba9a55f6ff1743fd0365feb04a2d48188694c10e316ca48d2e67cfd09cb3b23038eac96b70876c01c3eb97da6808cbdc375b68d6880e0836b7a92dd6ce092d8a783595523580e5384cf1c96ccba3bd829765daa4d2fc1716cae19c6adb7c432f13d3b5f33f221c28e0132fa8d725fa052ea608cf7df9aada00568ff67c24b6a11c2e5c74d4b9d7f6853947a3d7001148cc7fb7a7c316a28e2fc8a2632eeb8b858c61d6d3232f1ab837cecd5cb4aaf872640f9fa9a3e31340b786b8034f78c5e686aa0e13de166d61ede25e898e6a425545cbb6d5d613d766e1e0988e3ce06d5e18edf9a9833b9cb01cefb4563942fe60e65d763561d1c1cc8771f963b7dd8d115fa28d591b1efb7b6d479eee907bbc7567fa37afba2549552f377e9238fa1b18316258779fc98dfc684b1b60bb8f19ef3f608fc9502f827fc4551d37954475f12d174c22e220286da2b548264d418df6329717f29ff0c6057ef26dd959f11557444d06ca3978d732d27a1c6f097ae399e9d17e83ca217fec6febc71b8d3c2c324768717c573e50d4c0fac2c568531878d3834f67411631da3ca97dd5b4199085d3a4ecf37994e3b570bc351e96ff10efce8d751c1abd97e7d7c6b0c5d61589149d0f7cc580ddaeb3d9e35964bf25bed78cd0bea9a5151ea5e62dd8e90000cafaaed0416287cecf0f6c070289ad053d057ecad1d031569e0945f318e53b15e3beb3087199825ca03a3bf2724e7e8b9800ce7b5b16c2f77fcf937db6d08bc6c52e84c729202fb24632a0a29a3396b03e5ec09e475c038ed2de3a49ffa7e71637611aedfbf50bad640f5529fcc190a914ff93dfded76224a500220a5b1b86e3c220ddb107c041ddd495f683411b02b36f55364a74f9380b5deec41b91d984c5825ba25354cb1d3bdc4cf730cfc36facf5acda95773ccf94cd5c5d6717ecf44b42cfa112d8c76035c8ddcd1dc6743186a04015396adef5cd2047a11a836e1fb618a9dc52a608c7763fa657ef657f8d1f3b4993ce2c0db9cc53756e7a41cedadbe34281cc4071927c837c643c62d50aca32eb8392cfbf3ab56c1194798d8f0ad5671f10fd39dee2fb8fc503a4fa0d9aa60548cde703ae696525eb6ad12bfb59782833cd630510a6406ece63271cb2d01fa154fcd51229001fa0ad19dc8f21a005c278720384ea8f8fa6ae871e1148ecf7a303175cfb865ba786a03fde558f1cf14c7df8c038260065711130c7530531f21159585a3b1ceaa15479b71e60e5004eb4d78225f6416c3e1c84434837a60927d5e6670c3eca634aef4c936e417d3b76cc3dd23dffd154fc7eb54cfd10d0ee7caa52709ddfb04a423781f8a003c4775e207db08c6d3a0350e538dd9e5fce65d67b79decbbd85c73d959c7cabf16906ff8e2bb4c15f2e602e36d93db2c2f53df000a9dd4489795d30e023a5be79c660f2c22187bb319aef69f085497d70fc0bd4df888d1fb1ebe722c3c9c2ea6160bcb28fcb8726b64821871fa7531570c159b5f048e87a998d8073f95d2727129d02046b35d26481dc4a6e375805de806cfccd634e55b17f3984d1f66da692de24112064137a5ed5ab1f1aa70df3ef2b47001288268c9add4ecb6d5c74cddd7c082163254effc2da56fc47a596f2d7ea7ad5abc89dc2d44af2633a26ebd3e39b1f466e9c74e451abff995cc95247ab8eca1d957d96bc64ecca1a1bdac5f8f5c0233e0381db2ab241847edfff5fd2343377de5afbf4ec9eaa02522e69ce0bd4e348d2741fa7904d4e073e1f44dfdddeb7e5d748956a444617b710b54a17a7d5c10c5140792a138af6ca52b1986a0ed80207d6b0289017f3365491c4c0bdf654d7074fe7f62627bca4270646efc6637de94a527c602b853c68db5120ab96d6af6004677315b479e524938f32d58d68cc6eb8f29720f7c504f45f21dd5bcbcb28685b8c53043182e15b0376d6c3535301c8c03ee93501693c7c94fafe19d29217f26eec1bab5f26982e02a8f78ffd7c0576a08fc20023d834e1130e6eaaa02332643eb4a634ddc67a0b4677aeddbe5eef1d92cd6bf6931520b6d15e13f487505bd1662f0f46395d3be9fc2898e454c2eff1730b912f1158b92e69be425879ee142b8a1611d734e1f3b6b449eb2c045e033c6b2da9a22e0557cfb94313dc6d331603d6da81910db272156614f4c377e87092b9fd56c062c0c7202611e8b28fd117364fa24b24265bc216e2724bd4d92844a4331e2daf0a83da7dde2005054dce06db53d79f03c91706ab9e543d5b8856cce0cf3c5f1bd685271cb59b6eb55059f1915b89d05901e1043574aaf190ebbf23640f0b862d051268f6e1694ba763c043a030ddff253043cb11d9c744da96f0a1aefb74b504dd31764c08e412f133bb3c04b82410e7e746310bf1bd415e5b349dd3dcb359314b6cb25a2ff609d3f49d4b78ddeb216ab99c5f4c485c4141a5e329d9a6c2ba2ff56ad1dc4f3c2a537caaf59fe95470a96299afa57060b47665eed4d37a6f259a0a8b8f9bdf0ea59038660dcd47ce41cec0b8249dc8bf0ebc6fda633ad140a9d3f958bc1374c91df70d2600db4482b9a5ad9cdd458b5b659901b25849e5057ff54e51d44f6aa618d8d13d2d2cbda6cf02941337c571b9b325ccd7bfb2a22a3a8b425d07461f0f2bba793d3ed494d85b4de358ce9fa7bd322468583287c19fa4f6b719d8c53c46cc70b4aa2a95051d89a2cd810d043138046b2c0e58a4888dcc08fbff170b26d3959e15e8584227c4ce55ee20c2a8ad366ff89157647733c2a785a50e5b8783c1db6457dc85db4ea92438a5a364fb4edf89676531eab0400f29fd485f9282111a0f1b74c0346ac17007be08d0132a45ccca8b210569a215ab15388dbdcfca1d7978fd6aac6fe63ff350b848caf3201cdef17abb0c6041ff07532b1fbfcfddf096fd3b35ac5336aea47395e1df3c1aa74b6246e348eb108eac3b3dca60ee04062eaeb1351565991115f24fc068cef24bb99c422a377dfd05dfa887581beb9f683a5aeb3fde42e414940924cccd45c1b262b385b56c672a52dbf1bfa26aa3d98571cbe78882226a3db8a2b2bcc1eb51e67dbd32374d687cfcdb9abae90cdb569bae0b46b3408757e1caaa2947a4ea04a690a35b37b1f91841958ccf5034b43b73ecc128121cc19305aad498e7e85b206be0ec24b656f9c3b491d35e91aac25b9c1afc9f77345f607949a07147af4080a16f348130b4e855ba8cb2e72b7724e101174b24734fb485c02ae45fe645c82969e9ddde470ffac053b5460f4a5669cc7ebf176d7ad25d6dffab37804a8b79ab7cef60612819d88930655a2f25412f635047e865b4fc2c6d7fb67ac9fd32f22d19d282a32d022fa9f2b214fa4f285ca77242edc1e4350cc87e18010a873cf93a3e476d96d9bea7a93937e1bad271eff975733db3077af39351983773dd050ff2e11054a55b5c540652fd4f48445eb46b0b51e60e4e6e514b3bd6712163b5709d2d53df38c5b969b4afb7e892e11fa337480e251d8d72f4fd9fcc1f4e39f31a95e7f444330b3f5246f23c079b46e6e7b9b54d1bd578159185651f2840e3352268b615e0783be054ffac7747451aab62791c066179897d5c2c222e56ea5a971ef948fd39832a5dee53acc44a287b6d9e44a9f8864bce899dcb66bd17e611004472ed4fbf4678ca701b32ab486d1b51766a5f6cc824772dae4a256f69033e741ccae4fc63f3cee2e9190eed5f1b1d84c6c337afc128d201f1354b8addbef57020f1a10ea482094d2e3484c72b2c2fd51724876b71346e7e3e57424d141db0d70902ad2f99e501eed44a348449f989b2f2f27b77cd8a1f4b5804846ab46c27609e3fa90f82821bf6b948edd513bc51951d23b56cb45685cc6076b1aa77d329aef0d90bc3f778cfd5e62a0dc770f5d810fb194177f4bfaaa0d242fd5876f3f9f47474a3ec7ecc854328b6ed00e7bd0b181f5af1b80e18831b8239a63fa6b6b3358ca3702795babf6c5b7d07cc0e69fdf54357144ae36d892ccaee7f8748f12f76bd2b1cecab664a8c438f68c48458c1738fd1c757f709bc8e369561d18154a71f1795a67063fc7159e5ae1d7a6eec11e21a6ef465ec439ce92e61c3872d83a612ce8c860c010475fe1240de28d6b270ed4aaf5753196d2a2c9b325eb91fbc9de1def4e7cee5e9fc732d3b66220fe56770635bad7c778ef433e7777023eece0d0970d1b1cac234f4b3aac04ec2ae1192fc7213e4d36d8db23e87f4d06b7d8984307e96007b6a8fe84174b1c5fcacaaa1130e3a3af41b646d860ad758ab90443477db85ca2b5bf97f32e9eb44b24bcd59c3a06e524d61ab6b73b5e7a1a50b58d99cef59490de115fbd84915257e486b42ddd34a892d10445ab686a0eb39e15d6455c4d57b470707efae81087ad58670d419867d0c3724e74d66417b99d4d26f124383db6b1c724899a5e047dd92fbf7567ecd8f44d976845bcb597784d24ec385528f37cefd544f5d2b232a38d2a9dfada30eed3e0463bc13ab88104fb9ed9f6363be98f8a3ac449ff09dfd2e6f73fa96c54a1dd9b604f27e17644429254ca35fe2c383f95dbd211edce19310b25434ee797d51527a04240a2bfca1afecf99988922767ed7622ddadb0680a5b89fc815276b9838886ab41322bed5611cc69ee421fb3362edac0d6de610bc1cb034f8d893447ee65192040c2e9f523982fb6de61b82241dbbab962ebb3f07a04ebf21feb06deb208cb7480e37c91f41f47f24d8b735a6d20a02a1fa8147584a92ed07fc2c903a5baa8503c31885bb68238221504bfbd44b05341007901297c3d3d01dc5146e82f4f736cfa093186d3ba7092398e0c0c7d6df8931ed4e21342364cdac2a2a9ed45593a86c50b1106aea1b48d27a211d40b58e3876c0e9893aee44c7bde59b09e3a641b4bedc417e776f98e0623f0c8cb4e2fc14ffaa8f9d124899935a822e4d3e9ac8732127f884d2a815522ee732826184bbced073fc6180b2e246eef585354f7d50f28398bfc8f0802abc0563ff322a69b62556d11076b085c124a658a92d33eb17db5a20ef388c3ded30e210c005c260305f14bcc5e49e1fd8b66255ce1558af580aa2253b1c9adba04c792b838c089271ff2b5d6de48085cb0ed9edeca74c7bfadbd5fa142c58ab6749930f1e92bb1d671954c81773ba33152a5768d6f7bfdc483f3d3053150e9976335ec33926745d28300cffdcb69ffce2f962fc4c145a952877bbfdd6ed54f153936d9c24d36c0ad282213c09a260f081ba8ca9666ba4f01b5c5ac9fd4b1b4551ac24ddd0b2813265b1d4d23663c2833665fc1927dc541a3621a0305a6dd349bdd86d73920074f138e64d2d4119e294cf8f1d6d3e0b39cb6e365c977c0ccfa6f0b74ade901f3a2adff3bbb3500b4c58afb4aedd9465e21869ea50d257e5a8f6cc7d59ba13d39e7047ac3d8096e83d3338bf56a9028f5269e911ffa1a32ac27e03e0f836d715392743555838651c705a76c0c747f7fae9eedb119712bd5878a2aa68c3003a4e975efc9c5f240001fda62c895cf558b74368a542d70619dce87c943a729aebfb2b177ad0788e1155d0e3ffe2fa06f49bb2eceb05de253915c1eff74635a8898819ac1c72282b0d818bc98bbfab39726fcb4d68a43f938106f5e18d23099e4429830796ae8e9e6786ab16b53027adfe5ac8dbca119e947c004591de9fee6e614e9a572defb64c7ba71e117a5429fbb18c39bc1a0595128a1c51d10de0e08f4be7120442d42ae0f8e59a45587dc6ca8b79c8160b0afff05e03a04ecf2749e45d78c8825d3e09a6e80920489a976546c5952a5937d0779c875fcb5ad6ab15b093d650d3f507b7034d0f6d855a62a0d8b95bff73c703759ddbf99d29a75b1ff484c9d2e183196c24dd958755eed1727a78b2f027afe3415adf5ed56d829a2920494c49ea15e7e617a0ed68eaad84d53afe9c462e0eb9548b797fb956f5bd3074526b52f993483243410b3439564edef8a360e80c5b80147673f5509ece2e94aecfee511a11f89a1cff1e1bf9fa6e0468b3e55a469ad741b0462e47011a8257a721c3d0f26a6a3713c45a107f7ad7feb8cb993056cb8c63e177a49433774c258d98ab1af6dffc6aaf0cc5943923d6cb700ac5ed5600ce5d637e0b37d77cd467db9e485acc06762340803c916289662eb64ce40958ecb534b823c92f5dfb052a854b4970e14dafad3f03cf10891cfae1eb6d5ff65773c0304a91eab80043bdddf3f2a54c5d83f84a8445475c707f8a78558e814ca4c18030fe86dfc6f61392153c86791b092a16e3c0634078f0e77cf10d4ec1140a722b2d39e936f278fc0a0c05e09b2afd0a0fdf3d7f2e8cb12b017f505adc144bef45e6e554f24c60909533b5d9ba268d94cb369718ecf3de35e9aab1923bda313e3c8ac5be22e920f08226c48c4a31f1878d34021221a21158d3844ddc4edc88734bf1575d5649cce6019d7d4357c9affd9b938b6f24e7e117d430f33e6fd2e3b34f13ab9e5aec8abd61387d4a3737d601e7f8332118cbca9082d0141adbea02e7e0cc2b5efa201e5eb5a466ff49c33f3798bc5881a1776bcb09cdcae12478f17c77b53157081de0e1856999f9fbbf0c56caa9f1f8fa1f0cc2c156a4ff92481fe5188394df3eac09a861d6b732ba31bf058db416a40c75346d7287f929b7435408fcbc3994af780ac54b8e9c93ad81779cbe355ccf5e4f9951cbf4823c0ff4553952e8820b8b7cd49da31073be06cbbd245862905271a591a98f4aeab9f31dd9ea60b257d379bc9bb02e202d1dd00f8a8dbd3ade8d9a3b4352dbd593265ffabfc8fc02e9a26111837661103fa6f32193a4807cb8fd6835a229d6f3e037f6455e797d8cd8190a8def41f22cb7df5a26ce9d5d2475f221ed9919c679a127f92821afe0c2f4e5e9f51efa10573dbba62515010fe3257d5eb835b9b3c29851034f209bbeebd68fb966183c16e589fd2d08fc6d02d010fc85c2497e7c8e7e060db1f5131f7b6ba21d1326da676f63291ffc95c1d34c1dca0f6d80657cda2d4a48a80bcbce4b43"
    }
  ]
}
