python3-pycryptodomex-3.9.9-150300.3.3.1<>,ae,p9|r'=I̷t|718p>"eZJTkf|C2YvqXJe`XVY]lNd bߺB\'L>},2(Q yq*2U_C|YwШ"-LZF@DMS uЂE=4xngԙ5D]׌o_Am-A.I[8}<$U?TJVg#&#j,>A?d + L $=^k      '4  7h  .5  2D Bx V jk, {`{ { | (} 8}9}p:~FpG H I XY\0 ]d ^9vEbKcLgdLeLfLlMuM v]H2ws x yz\lpCpython3-pycryptodomex3.9.9150300.3.3.1Cryptographic library for PythonPyCryptodomex is a self-contained Python package of low-level cryptographic primitives. Unlike PyCryptodome, it resides in its own namespace `Cryptodome`. PyCryptodome is a fork of PyCrypto. It brings several enhancements with respect to the last official version of PyCrypto (2.6.1), for instance: * Authenticated encryption modes (GCM, CCM, EAX, SIV, OCB) * Accelerated AES on Intel platforms via AES-NI * First class support for PyPy * Elliptic curves cryptography (NIST P-256 curve only) * Better and more compact API (`nonce` and `iv` attributes for ciphers, automatic generation of random nonces and IVs, simplified CTR cipher mode, and more) * SHA-3 (including SHAKE XOFs), SHA-512/t and BLAKE2 hash algorithms * Salsa20 and ChaCha20 stream ciphers * Poly1305 MAC * ChaCha20-Poly1305 authenticated cipher * scrypt and HKDF * Deterministic (EC)DSA * Password-protected PKCS#8 key containers * Shamir's Secret Sharing scheme * Random numbers get sourced directly from the OS (and not from a CSPRNG in userspace) * Simplified install process, including better support for Windows * Cleaner RSA and DSA key generation (largely based on FIPS 186-4) * Major clean ups and simplification of the code base PyCryptodomex is not a wrapper to a separate C library like *OpenSSL*. To the largest possible extent, algorithms are implemented in pure Python. Only the pieces that are extremely critical to performance (e.g. block ciphers) are implemented as C extensions.e,h04-armsrv2m$SUSE Linux Enterprise 15SUSE LLC BSD-2-Clausehttps://www.suse.com/Development/Languages/Pythonhttps://www.pycryptodome.orglinuxaarch64%akr0X*-),K ! G;a H{{]]&&ZZ  [[ y yFF++//77BB9999.G.G*_@*E>0$8 TSM~(=,7($m$(pb . d 4n00_99??ss##dd00bb<<22   </"?%)%)X,X7+-yeN,Q++,,  OO++Mg"Z +GGJJW[IE 6!p- 3LLww))WW Do-- + +~'|22--m1m1SS BBjj00@@::Z[Z[/4/4Y5Y5vvJJmmFF@@$$KKBx` 'O?"SN1y^>Ds3fn$o!1RA)Y 1 ?6&%&(60i 4 B9&%&(90lb_Ssc!o|! /o~j=~ 1 ?6&%&(60ih),\\>T6[>^^>V6]> U U0U*0\\>T6[>0KP O,X lk;kz4k}sjk!8BxWuZjŷ <<dd,,(()) d d44%%22}},,&:i6z5 7 G s 5 : ; : ;#F#dG "koPXxhh<Dd OWwSa 88 D?? ~ ~xn% }}[[\\%9>?"y"ykk&&GG**ZZ%P|,!/c ]vy.:::,+ B>[;WP {{{i`z22 2xHNm!a* Z [ ' 8wK!3h}  f1+1+996=qJ p|2XnkɴqO=iiH2]=oWr!Q n iVXLU$G[ 9<ċdšdd.n`JƐd##UUUURR$x$x r(a)zf ##OO~~;N7//KK*c*c"85B "RZZ__II" " kkkk ;d(| r8cb ^ 9]AA큤큤큤A큤큤큤A큤큤A큤큤A큤A큤A큤A큤A큤A큤A큤A큤큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤큤A큤A큤A큤A큤eReSeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeTeeIeTeeIeSeReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReTeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeTeeTeTeTeTeTeTeTeTeTeTeTeTeTeTeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeeIeTeTeTeTeTeTeTeTeTeTeTeeIeSeReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReTeTeTeeIeReeIeeIeeIeeSeReReReReReReReReTeeIeeIeeIeeIeeIeeIeeSeReReReReReReReReReReReReReReTeTeeIeeIeeIeSeReReReReReReTeTeeIeeIeeIeeIeeIeReReReReReReReReReReReReReTeeIeReeIeSeReReReReeIeReReeReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReeeeeeeeeeeeeeeeeeeeeeeeReR_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3eR_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3eR_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3eReeReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReeeeeeeeeeeeeeeeeeeeeReR_3_3_3eR_3_3_3eR_3eR_3_3_3eR_3_3_3_3_3_3eR_3_3_3_3_3_3_3_3_3_3_3_3_3eR_3eReeSeReReReReReReeeReeReReReReReReReReReReReeeeeReeSeReReReReReReReReeeeReR_3_3_3_3eReeReReReReReReReReReReReReReReReReReeeeeeeeReS_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3eR_3_3_3_3_3_3_3_3eReeReReReReReeReeReReReReReReReReReeeeReR_3_3eR_3_3_3eR_3_3_3eR_3_3_3eR_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3eReeSeReReReReReReReReReReReReReReeeeeeeeeSeReReReReReReReReeeReeIeeIeeIeeSeReReReReReReReReReReReReeIeeIeTeeIeeIeeIeeSeReReReReReReReReReReReReReReReReReReReReReReeIeTeeIeeIeTeeIeeIeeIeeIeeIeReReR_3eSeReSeReReRe$_3_3_3e$_37db0ff87c0db005e0db052ab6e12b3e6c3059ea2985336b45ea4f893d7f54a91dda8449f8df0985bf7ef17669e589bce358e9910204927a2153a05308a0b55493703b8d8a581a6e4d74b94e1c7482c0d19b1cabbdf8ae771ecf29e775291d022ce031f518df9c3502e122d1aa6416e1e8fcd40e7f3b02c6e67d80dd6cde80218c7ff0bfca03fa4392878839209067254fc210f79dae3ec528643e478d4646b9fb0cc3bdf26477a89e61b1f41862c80effff83d0268714d3848c45c0e39f227662b9845ea76f6afc16c1e180b5f68ab77250caa0e0f0b0ac082eebc34d854d5a8903a286b3331635f7bdd232d3ee84d27d7faf0f4b870d5b29f261aec2a160b8fdd70e3b5506c89ada43ef76e701d7dfc511cdf333b8522bc24a2a62be6fc72f55e0564f703affd5efb2db4269b6e0ed91f8f0ecb3c2621dfc35d646ab6af2822bbb617d243bd301c15ec86edfc36f2cffa47abe4c6e4f3b1a119cd386cbd64fbfe5d7186d3b20666041cfec5b6693c11066929e817f69dcde6d7240bf3cfbded5b4b4e9819283737f0b7080f1bd4f0d1d526dec67c2158677a14db01cda346de8755398b1383cccf4dc0ba57f6868825d790d2e6d8783798f66eaeaf4e5d282779b8073aa3468c2625228161dd6e4a5d8d7b6909ef7248e1402f533c42aa3ee6b61359013c59d10faf3a1fd5ed0559bba27f112bebf66700ebb5a5415fe73f50aa621a80e2e13061b6db5b02ec1007f717b9967c64da2ca295b798a02de2b7876abbf8521bfb9528002f7e81fd5c790cbfacff5f0a73dfd37a33717ed329e07e488b9cbd3208940bcb5f66bc6576ba68b97a16b18907ea5a678cca0d156533195d1679ff4bfcc362d4603d381b3dc491ecbd3f16016499d497ed2b56fdaafe06360ccd9ffbecb8a86bed8ab7fef6e43f0baa6524707c612a6de2dbaec24b5d425f3cf14cbacf7c152a44e2ddfa1843b9ae30e98af323bc632e61eb40dfff5dc94aecda62105cfd0eefa0e0c3990dab0b320b9dd3e9985d67eaa8ad0cc9a4ee7ae2f8eafc737c34aed4f5575a687220b35efe7f25bc4913c365a1f2de329592da35715c23a5e5d28284c1be933e7858b7f55140e511556c4020c13a03c45c97127e2e9311e3746d77339c59322f3b1aa0bc4d9aef623d3f939a9dc22ef26c1340e898405ec4956c931895cb9da4dc123440c1f57e4d8e17d118fcd9bdc39cfc0b4b68dfff52fa11db6d8b21ba498e290dcdc04f6adb5c8bf4981e78530c11c94709d6aedc0fd9b26a8e14cf322b84360bf845795db18ddf7f7d4f35dbf7dead73e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855435767193a723275e6c00dab795e90773a28d684adddaddb62f6600d68422615d4e3bc1ef5da564820c3ea6267049f6fc5449bbe8ef7d25a910e138e91825e45ba75fddfdc3c152754e223272e81c69e0ccc24d0e7014ca0538aab5f55269c9cf38855514dcc246256bc59752010dfb93d90e55ea423964e804fc18df7654b80db5f926ba493f2e436977499ca076dfc1fec50d888ccda97726ce6ab6943854584a34cb453e487e53d2b53a5ac6cba159e42984a1ec94659fd308c688efd30434b81b9cceab4c38d6dc4aef6fa92c57b161d930988c72bc9e4aa7afb6c154d86246a038c1f5a7f61f1d2fe143a3e2a4edecbc15c1e5ee3ba7ba8d28578f3c2ca1efdfd1a4bb42dc4dbd51cebc613192f5bc916793c13da033c60c541af8081f2f386c7e15e74a5077ca8e90af63f52bf85ee4382016ea72e517478ad7b7adcf5621594832498311526be43fed6306668868ba81b8006fab6e3f3aa4f6a56cded278c2c7b9e71311bed956e7b70291a7cfe50440ec4829998ed2652ca574a710adbd0e06af61150506e11e5d374662e2f4ff370cca7c2a6eb88295ba27678fa2d6ae7a681000ab8e5ccb3f5dd4a80da7da15ae125a31d5c58101261a37d4c70351e1e562f4174590b009b9889fed5a77d2cd3cb68ac1f71d92842e19588a4ca740a547cebea848e238127175a9334adda8c8b4f53810d23b930f3b090417d6574158c685ee0702c81dcc51540b58d785065af781b88c3f51c7ca274614c0c3902bec5b47488fe16a65e014319f62f8b9dc84b5ed5b44ba46ab40dfb4699e7befa185edd14c86276f39246bb273080899ac8b2e596219f6f843218695dd0fd1f7e0b9d73d062622a28d19a9c47d5e3296343d2029692132cf150689d902e63d4ab65b3191ac7461d8656ea1d576e075f2f364414254a0c2b67c615dc6e1dc83ea765b3191ac7461d8656ea1d576e075f2f364414254a0c2b67c615dc6e1dc83ea7e13f77a41174b5c013fbf440cf3b350df238944ad50ab6ddb626e5eabc49b4563bce581706de08fa9f5ded87202b96ccdb9389df77ea23417cc25b2b2269e7a70d33871631ec4a7c51607cb8af6fd2e4da84b21ee734bb6a5b77bac45688d0f2dcf0d35e595261688e070f0e6ece99900e72753942310faa2e8f2538c9cdeccfc63eae2d3fa5ca257c73406a364e957d647e74493e9efe215e41772b9cb96627c63eae2d3fa5ca257c73406a364e957d647e74493e9efe215e41772b9cb966279bfae6e68eb447c91d5da7843aa3fecce12214403efd5daab5c6aab9649dbb8e9bfae6e68eb447c91d5da7843aa3fecce12214403efd5daab5c6aab9649dbb8e24a47a650a730974a2d37f10c6440d3635c9695a76eebe47c4de1151113148f7a791826b1d820df6fb7a92124f2865445c50df2a6b4c69da7b4a68e30790b093966530d910d206985c6e80b39fca5ffda5b25ef223680680bac7921908f29d0167d2fb2b3af02822e21c5cea4ce2a13de7c85e564a51a06d6a78c3dbd3098acd9474276f1642c1a837f55c881d905eca3f9af806bae0d7851062b8959b7cd935de60cabf8a01cc8dd94ffe11f2ab80525cf4a39300d9e73e7d3643f252256d115a15ca36645a41ef253df445f33fa9bb6bb4073e496403bac760b6ff12aaaa2aa17ec634f87bf19816a63d682029297c1fc06b0f81cba331159a444e47ae90a8b7ab43c7547a6529946056ea95665cfbed04f6f08eb170ffe2427e1d915295dfb7ab43c7547a6529946056ea95665cfbed04f6f08eb170ffe2427e1d915295df5a64ab38e7196645322d000ee4c9141ecd076e74c59f5b97eb498bca0819ff6247b40c9a286e6110fa229fbb98c4a4afa590f6b11117db5977ee1644f8ccac371aa8f652c92e07259827215d06ff5ff100a85834342ad7c5817b4d3cbc81f5e58a2dafeda9fbd877a0c36c0be5028de66b276256b29fe7fe2f3c04c9cddd2f095c6e17ebdfe2200b2585701d2e76b00118b37d7984418fe89bb928543300995f5c6e17ebdfe2200b2585701d2e76b00118b37d7984418fe89bb928543300995f0b3fa3fae96adc04d724322403be72ad8579ffd71d69320b101aba5711b0327f0b3fa3fae96adc04d724322403be72ad8579ffd71d69320b101aba5711b0327fc4e3dbaec27ffcee46db064af5be99331d1c027dfdf0eef03349e06bc283f29086e882f5032c5230742d77c17ed9ddc8e3aa60e0a28bebd60c22bdfb914fd394d7611abebdc5929f4fe4c9271433bf3dbffe3de7fb51b49b31a57f20d8d6b535d7611abebdc5929f4fe4c9271433bf3dbffe3de7fb51b49b31a57f20d8d6b5352601526e2dfac2068845090e684e861c68b0ec7c219a6cd286aabad34089925970369afb380d21ba2c2c7261c2c0edb7b60e4c4fa3cd1522e0e0df8fde5206c3a87e6911036e79f69b79157e5f3fba000f79dcc15dfd9db4cc67814f06bab74bceaabdd63011be674f5ece7cbb4b823fe0fc72dcec83ae4b7fc9d6f554187b3b652b3848e962bc81bf254c649c38d02ace196069a4c003bb2b60ca71bcffd78395f21e1f1266caa9815a4f38778cfdd37d0ea284d2057d607da548691a883f213ccd2c94105f59d03811cd098ccf8e2617a26640853d60000ef2ecbcaa4344263c58aa6d68dba1669e2efd0cd069c4e28f3fbefea1ec079dbf970dab9d55365551c675cce6655674d29646bd475c85a3b91a0e1ade88b2827bb014d3901c02e25d739cf8629b6768516a0af923916284a59a1a1f215cfd528b6918dc3f39fa5b5473ed4dd03ed9bb42bd113ee27a51b460ab02983bac1356a47499575a68f09d87cd45de6350734f1d56bfff88fdffe358b17ae974d0eb03c3d98223f061ec8f3e0cd43ec558d8344cef6c0cfa1ef8bc289c78d17fc9e681c4e03a6edfd97e60a003964d0d6aca73afec17eeb9e5e89041754e084447328e5c480728c8f9d308e6def6407412d200eaeb0b7361f695a93c668c1ce952fb10bc368fd83a8dbcb141e1e23ee9d41962ade221bc039d3181657d6f70bba96d2ec093d172d6b96c2f4973146b5b35758fb6ef6964b7148eb723a8a8b76d3ef7cd9115ea9978c1138ab1775bba601218df8aee9b3cf73edcfa49e73279d8b6e3bded7ef2f95619bf2098f219d9efd7f94464fbc2c136267269c7dc4b7122d6f813f18961c88fb40bc9c2121cf74aa2a2ac4c88bd910b2b39f97c1f0e7b439de558271e01afa5f7cc3e1682eb16a9efc497f417f9e91ce80f5117d4c864ade83c72229da29285e2f8229d1a862418eac662a2914a5504b80c3774c6c20d9fddba0236d52d19c9fdb845b326f79179f2ba1a1057a157be8cc88ee75609004269d39bd48d81b95fba022dfa940c139adf4d728dd839744a734f032cb5ec8de9ecbc58c79a78bebe6753241963085eab7db1dcc4a13e5f62087a2b06a222b4ff00e9c3e7977b2d9b7a24e44fec390628c6407921b3e3ddc80beb3cda356b88b05fb0e076538b946085a374128e86d002da5ed60d6bc4696b821acf1b2bbdfdbf66177026e86785dc110eddb7dc53ceaf3393ea2105e28e733ddc28d81f0f428296377c9563007585ff3584c21153a3a5e79ebc93830d3ec39a6e7a77b2ae793ab871dd4ceb732658746e04355a47bad57ce1f0c84c88a51e1f67e155ff9a32236b7f89e282eab145ba8911e2c150c3af5a59a67d8b12897b0b86c5c714addb1d24b224b1d2355574e306ffc3057d48a9a1330a049fe6f63139da8a040b4ebce8925be7e69e4b5b86fdbb1641d6c527c5318ea7c423473189ef1dc72b610a5a10b652e1c50fa08d837e09e404461d33b9ab1797857f6c6caeb2e4ca4ad61604de31dae80a34160194b40cdb616dfa5e3caf8ee63c10a421a4bf0dabdbf94ffe221b6f69e19bb1251d4c650ce9282d09cd3cd726a5af636ee817c71dbae5bb607cf64e293e4ed40a4c337fdf1ccc4b2fd112b965290586e2b87d814e5c935dd732c88205c66eccebd03b6907469c1e4aedd10935f27500bd87c7492a35676576f7fe15c6d7101fb3210d898558457cbb6726d7c4ff8fd0708c20cf69227a01aa69aa9c0ed6eee61c6e928279f45b2e6c62c79027fa68f039c591954a8a7c598e322c25a2dd5ab9ddc1a248dab81c586d60d995e0a6b0ebd21265515cfcb04d2d9333eaaade8c8de05269ebc7f63b0be232d0ab9fcc6fc58cf7d2cfbab1f50fe14bfa02c0799c817fc4225addd3a1f2a3bafb5c082494a5d6a7bb6db5389916a2914c620d8a0c641205a1e966f20c9b7a70298e8a1aacf6d521666885c3abba3d2d33266e5b9809beb2bf55a8a69e39d20090366c38bd47eb4002720d9fe1d68bf077ef302efa32a9df6de6157c0c870447f911ee8ba226184d9f4f66998846f8ad53a3ab88a19f8c550cff8799fb9c3515d8223f2239718a11718de13230c871e122095bd92712a30ca0e6d7c1aec6498529ccbdbbb28e18822244668d1d3b6d352b21caf3b436d0fbe6f9b3152198ee4f2b61ac91e8f13484da480914dad6e3622125718b1229682dbccf38ed9b594048090b022cc2779bd0d068bffb8bd3f4e882587d10f3272d5146ab0a09de70b59e0e056f8eeedbde6ef39bb1acbf8c8ead46da147c87e46c4d1aa8c4738302247bd84e2d982f8866a84bbd8af6d2be4049751f92da5754a84a732bcbc4449efec05a260ee304913cf3f4b78d6534b88bbc975f0d6908e6a25fee21e04d21a8b6d8ab2cf211ca2bd28d9b9c401eda3da61f86b5249fca28b7a3ab9a65d2845a1ae29c4d45537c1657666e4d64b400bf23db0218c1a60ccde4a7f66ba8f83cd993d3ad880644f84dbf3c2c85cf8a47437468ba82e5528dcd79a6dfdd271980e2052c3f0fb48238f03cd22de5de68d9b0fbe69a165255510d2b0914b3f9450f725f18c7d4149a5379b086c0a7f7eebb0b46bf05cbf730375a7d00a2b8fbd7e3b718529b9b586dda357b33da5d2aee86a400ac0929c044f1e59457054c0a4491e9e2fb95ff5f52b60138ab196721f0e5b60163c7e2fdaba1f4b6387e464da32cfd3dd1a06956bdd12e8ed4d3e17bb38fabb02f0db248b07ea92020e94cdebcdb41fdbe0ccad26af08a35c6e7dd38ee952fe9cc05c0a70cf220250b8d3c23450dc408e91526c9e1d9ae5f08f2fb0227a7a62db695ca6cb91354ca99167c1bf11b1bc88c087cef0573f7e95b0d4c9c5c34e19e27faa2f41b4d6a090670bf1fd9f85534f18aae27e3e3d0741316b1acc0ae6ed0d37108876abaf337424f5540ce774d123bfa0d939668ea6ea142ac0368538b627bfa824580e435d2c4919d71683bb935d0db202cab4addac8f43787c85b01aeac4bb4f16601e66322a9f5bb828859b0fe9416ddee5bd6805aae22a50031a8aca2f7b2d075743669aafa9bce67a85df9e3042363083f2737113cf92e2f47b5c9641635d577fa2e4fff7cdcd4f0efd9793aa3d4a6d6471431ea3cb1bbae3f7d87a90844a3f755f69f320327349cfd222899bd557f2771696e5f1cefe9a30cc07fabee47addc75b59a4dc4bcb8030bbeb658c6f449d25f53886ab66b18ecebaff5de9c795e5531fe5ba041357137468876478db794f9497bce3427a467d079b2d68e2c67540b4afe43cc3712056a5c8859f768c630db76373198406dff9ca97bb21c8948dbba80983a3ee95b4967ad1d5233327d7545f8da96718f187a84dc6ffb897c707dfae1dc687b8dae5fa1f1c5f31796c9d9e36650ff663159953b6817468433c4b404f810817bee44735ae64a77754646b63422263b47beb2e2dbcc017d1045eb6358a99e74bc4651be455f3331f1fb453879f0b2642ae0b3f68ecf5ed6f2dd191cbff7b91f33698cc25c0d55bb7354189eea373311f8e21a3b517e510f11e6168e2f028072b9a1a9397c0b855f2587c6185b38bb3e4840077fc9427fe139936f92265883e26388fa5fb7410b014656a6f2b61247e99cbbb46560b592a8e5609714ff4b55920212f1e38f54abf15a798c03c7fe9d2efdf7d56bf5b279c6c40d948457147442c793053d56607a9343165cff6a5e6cd52501a5d617501e3dc15cd67a546647e872bc9640540ed5b9a89cb9dcf6829bbff948cec7e02aaf65802d3168d7441d1497049e75700ed035e300663334aec416fb643a516ec971973edb81ba7dff2a5d80f42a36cb8819203308912dc8cb0ae28395db96fa4f40e8291510177debf2ac15ad7bba13e35eb26f0ae351f99a17c478bdb883aa12c5627a8ee7e2b47ad94b3c912abed437a62965fc2ed5604000e88cdfb7ecc77db8d5a133bd74777a5411c1df0a1e680b7e5c804e3569d953133ddd1b1db3df92903b0405bd611e31fd77a00bae3a94277456af151acaa62e3751ed51cfbc7f9f498f9c6bdf3f119f4327356f63cbb677da6d75877e2e754e417fbe344606c23558f09b190d5a8ab9996c9dacfd2b00be6bdb081f5fc06f9af9a062413402b309c48d57d8b07eceeb98685e0df8e1b6065ea9a171b1a824d833a77ea253562024d1cfb0d6a574b27f370e12d9a160c8f1b234076730a4a6103a0e429f576d3493953a8a90445dfd9823ffcf42e6bbbe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558aae24bb8a0f3c4c45e0b08acae223aba73007d37d59e2d99531de7baeb07444d812e2bb1345e82193e732f2b3e2727e4819a91fdb6a5f565383a703c9cb9970f2cd8b4f8cb9a509f37e5117c4bd1abb3edf029c991ef2d4ed9f1caff7ef65885672fafb2df77b772b199369b7ef54e47a4d47baa3c7079d3c793e736dc7ae07f00cbb8511e446f56e937724a45add7efb132c4b2394b5507a69d22d2f5033dd3a0b6414d267e9e206c74b0fa859029f68c10bd0f9ba3008af7db217c7f985289471d8a0d9d3443c10d5a93248fb94dbc16f934e3527ec62f334b4e035312438464e9a54d54afb8aee9426040a552f51a9b3353877a4512488786dfd42819dbb5d554573e36a9e74cf63ce6e94f62331b1ac39fe0b208b7523ce613bcabc45b30ceb827a4671129dc80958a42e8d25a980131b7e30985f92d30a35d2d6a49dc3c3c3ff6aba8f625c2ff95f6e23759fba34d3a2e7000d76ad879e026a6005e3a2d685d1958c318b8814518c7d1e7ec9387435d6114e4a17a1ef1884a7c9141a4111460ddb45b8a105f6875391096a7cea92f945de88db8f876128cdd023ad3a3e740694ca066ec641f4df4904e71b9f9a350de5e9ef97eef4416cadb62e2c05df56f23e9d5d525c52dd1777afc4e308e9b86e65ea71e84c5a2fff7a213a6deed3d9d982c52f14f3ba3ac84b9b6a8115d21408a6072ca28e747d940bb42b98ed19f31c1017d50cea686cd2581565d7ef4336356643004913ad9fa8c244c2fd1c48f31c1017d50cea686cd2581565d7ef4336356643004913ad9fa8c244c2fd1c48839c73802fd0ec3098868eca078c5d6dc17a2143f482ceabdaff0343b50d6f370e41585d1df60c800e0cad70d8bc531c136f2e1ac7ef114c62f8ec9fc7a3c1c3662b95e321a67d26753e45f4c0d9408b2cad4e38d201623094b021c1bc05bd79662b95e321a67d26753e45f4c0d9408b2cad4e38d201623094b021c1bc05bd7962e89369d2c5dda0b98e2950d860ed0c71da573e4b7acfd3e52ff8c460e12a61a5b215404248b75d3f8aa2af2031ed23ebb938221f6b41342c199158d4d49c77b82daf835e9f89552d06c2c4af1a0c9a65ecee33f244276521ba2eeeadc659b14869d5564c879e94e866136be72dd5832244fb27805e27b08c7e748da745bbdb7758e5f7b1818dcd49af378a04c0c1eba7ebc691843b63b366aa3943f7e1349454970ca79874cbfc38b83faca095bd685fa0c0acdf24a25ce099f93d07a78ef3e02a4b7b5ad38561097de721eab09a5f011d05420836466040efcff47ae4915126bdd3c43a34f1233ca98ab7404e76a32ac4206914e2c55b54603300ae472426b2e3b9a862f55f2a210aaf091fe75b39815482c8c79d437023e1ff0d139c6a0fb2e3b9a862f55f2a210aaf091fe75b39815482c8c79d437023e1ff0d139c6a0fe9def3dc89f0df3db677af50809ae7dac02d76600d4ae0c0606ec34336c7dff5e9def3dc89f0df3db677af50809ae7dac02d76600d4ae0c0606ec34336c7dff59d05e94bcd1438927dac297b9d5f50e3e6451481c4e620345fda2e70cb1a6da09d05e94bcd1438927dac297b9d5f50e3e6451481c4e620345fda2e70cb1a6da0d08b527ebabe24b5ae9de14b5024d006a0f254ede2e6c09e73a10a510339f5fcd08b527ebabe24b5ae9de14b5024d006a0f254ede2e6c09e73a10a510339f5fce15cb391157a399c845a14bc01045f5a19e85f20892f51a2eedccbbb7af48e88f11886c8928e5acb0032730ec82d807a6bce3a9cda0298f2b4d31bf1a827231e64b8d4818d699b50a9938f152139df16cef0e45bb8277eec965851d72e3c2a35c1be4ce0020632c5336fcc6cf35231f4c4dd50dfc0ce75ff0a4ec935aa146ba2ce0c612fc6cc40bb5290c9263d72bb0a5881e8f358cf4ee83089b8f984d2e02f1d0dd14b9fd3febb4f822cbeb6d03eba69efa7ca3066634d67d0d65d74e4a5cc9a8282dbe5e1b3680fd21be5d519a2f20eb5412fc9ac52e96b56db76d15f2bb22899628da498abf3b7093969c51cb6a83bd1467e2f25591dd266b0cd0455797fe285aac7df549a7ed53a916da7cb43246f836236a1db4d77cf858465d8096544e285aac7df549a7ed53a916da7cb43246f836236a1db4d77cf858465d8096544874de9960f9fba7472c811bf0ee4ea2a69f10e6653e2f45245643a7184fb9296780b96215170cbc3a1b02aef5eaa0bf3bfdc4083219dc68d191bd687da3b761877894e479ab712b4388d74fc05d8e0b359e4fc04c75c8235cdb2cf0f5cc2472b6babaa0d8680bde0cc93bdd900ae2ad83d469331f21269ce804f75162e419ec0a5701968d7dac9909733107b20316bd85f078b4ebf870141dc65e337363bb0134cf3dd5220872c46aec11008675634bb1b481b3cf9573e5e179119b0fddd19176b51b4ed142d66f12d5c79726f17437284cf3379ea31b74e34d8f3733e471ad1cfe5a2841aa071e6e186490aea372e5c4dfee22df84425c996a79f177a9a3a0d571943734e4310a6b50c9ea518f31bcae142f171d38e6fa9bef8b0f74a612e95640a258d1dffb1a6841af366bf566391ca7e529f76e6dea51f41876cf03364fe41624b6d887bcb0cb6c254569db5101bf86a96feb37e86c5e68e852a1eeb7960414be7a035a59ae386123c5787fb971cca129a83e2fe749e87e12decc4a87de8f4b8f5e2a50735c2fa41f9e3600a2622fea45fb743a75406faf4e395497c0554a6327d472a379500f32929bdb058047dd60bcb401bc9dec35974444c63254cf4fe2012e5b03656ad8e218ba6c73c8cb06ff1977c00210bebc4192e7a0ca650748565cb585f03663e9b58cfd547cf9ecf5b60448cbec688119ffa0d6d49d70381ef277e22810c84806395c24a228852c0caaecc74ba73d7e4228d9c720f4f6a170063c41e980c8ce00f8cf2c9229293ccf38d1f331794e6a1b7034792ecd4870f7a3fa488493bc932b1941c0bc250a8e83480f199687ec2c2d572407ed6ed32de7a3fa488493bc932b1941c0bc250a8e83480f199687ec2c2d572407ed6ed32ded9f411d0dc43878afcaf1186ac86a169d197439b2c41bda734fba10b53bd4b440c111d85e9767f98b4f7ba476b965371cc7219fd2b29f857b493f81a235b3ff474495c3d4d926f14eedc4e481a3fd2d7c5b8b445cc908d0024d133f1777c7f9e897018d20526722212fc5bc7e552708507cafb4b4399a1f6bdc0cb1c7172c4818d5fb36fd956428957700f72e40313550897899345fcdd618757ffde82f29612db66558e797a5b0c6042ea83c8b4a985b28746e9b4a5ae94c99cd8e31500d65e71bbc66a78bcbc2c3b56dfa08ecfbe33e3eacaf26ff881fc728fe34b363439efb3d5198a0044814bc74b820e76df235e1b19df73bd8f5f69ee589ea1bd51f846a987fb663998fbc4d4e201d82fbb7c81538f4da81a0750f035f13fc0877048dc51c24e18c613d5df86d0f8db0b90724a1165e68ca8ac547c877f1f16dd2e63db7041b536568b0a38c47fbe1b19e674c1d9a8c1fb632f45a82fd4d801e2464902a5968dd715e707cbbb55facc829ea3aa2fe309a278c78b7411cb3ba99ff6c7eee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8553599d7bdd8bb68923904c1e5de01d5fe8770f5ee88e9a3ff4de6f30ddfc5ba9312ae7eaf7712be76971150449f9c9b0c2e8b9a1b333beeebfbaf0adb64ccb3ba835f67b8450e0b8aea34c4a63663520812bdf103e8c8a772bb1cf17e467069788ae5f7911a6b8ff56e6ee1ecf80427670a522d684dd6075fefa0e1c92f3c510e634a81d126537911be4b38f6def08a722db9f2a5d38c41c76fc03c7307c4ef9ea356f85158f2e64fd5895ca034e773f941107d10ca9d58c5b94be3551fdc4d14146500f401a0e2e24694150fcd9ae117448f92ff8bcc7195156b3e77114ce34d97a20cee36ebfe0498b558b6b3b31da55d54440fd5b379ea00020a43e2ac660a63602e21cf297efcddc1679c57b79d26292b8df5b36398a8f7267d4cae8ee17e1e5a0501c0a3de3456c7b2ebcf52995a49631972cf19e7b1f83804a8d8232806f2adff1bff6bda19753eac334b542d44c4cd391750245462636f710e80c467ebc885fb29c8a4b335aa24c3c95791e432f702de0d7d710518680a4c248d1ab516b484311dbabc2992e668c4be6b2bb22f1b17cb2e0c3b1f06873a364768153883b484311dbabc2992e668c4be6b2bb22f1b17cb2e0c3b1f06873a3647681538837b9ae8cb2ab77dcc1e53e7af70c799db8a79d76e1281992de24c4ededb74a0009e6c036f5a938f97c735259974b57097f0b28e56ce8cceab5034a5f3034b714339fb806a30c32480c89f2fb332e1ac7e1a822d9af8c7c6d99d5e53a276e0d34164dc3f62156ce1362b27bd3be60e96c1a8a20894519b2d1fa53fcba04315dd6cfa512b57646f68d3ee380d33e1ce385a6352bbd8ab0b0fc30dbef03e0092d816797961e6725577a3685df52327e98d1a09b9a04f2be8c60304e2075d67734cfc44d76bc0c823b7d6fd2e672475191a6180b83c2ccd57ed478b64f707630781dbaca9b525116bcd88ad93979ab586664f188e71aea1e5b41d5568d05d48060b16cb156fdc996c835a56b9103a3927a6293df4e57ab91273de05b163dd07af92c1ed76a294a57f3bd52d88cf6782d527ce8d6ccf291c3b81b67f29c3b106611aad931ed68138e5b142f3155dead2b22970fa9c7fc123f7038380e5c488c7461373335ffa12fdeed62a4313fb0de60a1b433896f0430aaa2dcab985be019f43d65e335ffa12fdeed62a4313fb0de60a1b433896f0430aaa2dcab985be019f43d65e70a665656925e97444d6f91f9c668c882138fa23fa07cbad65ecc558a5930e5baf7568e9fc825809e0c9f23c856b2b3a6b3d4ab8ff96fcc87e81dc765c053023438b3e640c79c55f2e7b69717d584eb5043362e6b0bb7aa10f3d0ee538682dd3eb679a4de365ffa55c1e3c32680dbcbdc8e658cf9610a32715dabedc63abf0b92a10cc62ba938a805c65ad0559e31d25e9495a6378eccd8a59f4bbcbbf082d5ca9ed495d944b0a73103bcbbcf7655903cd2ef762015e74eafab57409cbcc29affacdedcb4bffa3ef11abcfe7ad8877d95a3a8a1afc39a49675cfc7eff095182aa5a29c91eb1e47a4a115579d50c37bc1974da641bcf71714689063fe532ea19de771e064575ccc2cd5625f215502dacbd440d0aa9c5411adc8a1b4bb6af94befdb23f4a63917281af40b4400e714bc27177d9c7cfd553e6ea0d212e7d282e0ace3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85532f6fba8fa707793ecdd5a5b7a15cd1212ef773ea35936c07bb58b0f91a2ece3ba4d858a4a5226d49375a2cc4e744ff00a23fe1b691c9e777a36d3163caab88d40eb3dea38e61ac8b08192242a69656e4d679ea45a84332ed1e1d59e787f63f43b21278fb09e0301ec317c5f38ec9358a657706a3cb7dc68f4c84d3661f0f7884df598be3a4c259524752a66fe125d5f1b4b91838969014a547e81a078c2ed97a5c8fd9311dbdcd9c8983635d789566a2fd2a5fb75cfbf1ba90c625a775cf54d1393715ee81fe015fdc590b85f39b92ceacaaec6f7b3c0f7f6eff374180df8770fd04688e4c924a4a3d12ee6eb933b436b588e5d91fb69806553aa4c54c5d9f68f99bb49a1bcc2df07a421b41ff7ecacd655234feed133bfa6863dab047ee477cfab0b1839e41ee93541d661ec8c9cb77636c1a816ad1cae084150fd2d9f7a9d090a6a99e1d41d4e920f2424535f69d4b3fcc7cd2d68ea12e7335ab31a2960271f4bbdaa471208685f91bad213d228d77edc34805f10ce586847f042a568284cecfe1f232856af22d593a514f0038ed56e266232e0b100946101004d990dee6bb7c67c7ce24387ae195e6aa9482aa576cf8e29bd82e459dc426a82b2d7c62263cb00b2f540eedbf01023ad02856c46c72a87899a18c0c282dd3557267fd954831099ddf654d7a39645be682b033bf6c075fc6fced234f3b7b03181dd4a1f55ed89e89f868301daf78abac451059590a7a8a03eb8b9d36ed5aea7dd74ee5bf9651d475d55e7665c660425710e133e85203d4975153b1fb130a7842464cf3bb45d1d475d55e7665c660425710e133e85203d4975153b1fb130a7842464cf3bb45d7f42f72179539b33788cc4fb716359335ffa8abf14c24bf39358c9fa7fdeec68b5abf121c46594cbc0ec22982e6787d4e37543a42bab547b86e02c1776026f67696703eef038796ad19a3224868f981b16eb542dda9c54f31dafcdffb49db3ae2e0a3587ac2dc940e112eae80d1cadf9e62f3c512040ea347f17c013af12d9c39c8d0c5b8f815501f00b062a816c5aecc84bf4ec589b0612209729e6a7bf9fd62f4b98a2557f21148f9cbf0cd642dc2464305e71aee0a0d7729bea9593bb8627e27f2af71c27d27a9a0a3f9105b66573567f09f67fed089c85fa1423d02ef8b467f7457b49b2e7da2707d8c1216a5d2801196ddaa98318f3ac2090d3587d0c28740b814ca1d1513348485967fd471a6db84f6ebe1db8bb44c319946da96e3f2875c1caec62d06909f385abf5f6b07aace0760549610f0a70b5f38e69e276b571009f9714eb720e1162baabcaa5276d8c43a6c9781ded7183d4f76e41a451d39dd510637f19471535ed100cae03698b93a7213c5fefc7f1e00e6875896a087f94b9ddb286da0e03a24209ef9bddede6f0507893421151a473768947c48198d1da750e8a61fcdc3ab7f98f01a73922d3203d4192cd86f1ac09a0899c073b440a858908b54e40fa9261de761c5603ad3ff3351f61cb589c0eef1743f42e3fa0f000595bb289742504e7131a1e3e9c776f9cb11e9b746db7545a2a1fb9345ad431cb7d79250d629046a03ccad7033f5f5316f646382693f186e1df45f13b1844a44b64b7108b1135db369b9dd72d429b5783bbb3748fd70fb1a8dab4f2516b83289e14077819c3632b90dbd893369cfa211e26a974b2943d87fabbbffb23c07f6705b325c2143c7e3973a39400c497ae0dbb9ef59cbbc5aaae24dbd69fa60db873b53337d461c17ab075d97ad17a0334a61cd3f7fafa4a0794ba0dbd13ac70a21850331c92f793e13ec6a7d7f0922334eba22fd653006a0c4e6d59f3c3410644c772612a66a84e7f82641c80fa4d828667c20bc5bc7cc8e27bd8a431102e71b1f57fb27c8194b4c41cdac582d6b8a20fa7b854e2f965fad5f896aa28383d019285fe91eb44aa9df8c2038b4df17bb8261213a9c42071fcaa59f398184b0caaedd00b1096202f45709bc0db87932f3c9a9dfef8dbd671dc2ea0d71bfaf730edfe845efecdb3f47731ec601a8f2c3994b076bc1101610855cc681f987eddd48ee8d865ccb687106fa7bc7586c27fbffe4f2db641a3243db30e606d7b951f07a19fc182b72c58fefed51a6b82a886eee836f6cfa8a52840a97f9eee16a9a4ff8be3a86918cdcb45c57a86d861731498d8136026f1976e00f07099b4097b6a181bf2786557fc29314e026a30e6462fc7704ee5490fc09a08cf4521341d77de35f38eaf1f9a259d282e0b171e6c843a93fa18ad5caccf380a4da87d2534669bcf583c740440fbd36f449b73421862a6834c00aa51a8653da3fcb44fd54c41b794398ebeff9d2be30d12808c9826d5b7edadd28a5e8ec30b8f09b321b43b9f22818c4aa241b93199552d1711d69e18ec1b064048627797ea866b7f3f80c92c86d21724a917995e09780c9b2c5efe6d1fe5505646f20ef4282fbd259814d1d474eb5d96000a283176d47d01ef4859bc971476e3e7a80803325546e5fcb3998ac770e19c0353f1ab560b5c511056962fdfc3192a795566db158062584db36a556fb61ecbcfa0732413292c0cc55441dd8abe0eb861fdf8cc3535ce5487d2258c2b2b51c0479150a41fed985baaf14d65222655a5fa60ff97a515dc0f70cf67f0db2911b4e24685eed77a540aa140df9e0ed35c9e1fb16c31c5d3ef5565b9682addcf47153c0fc816b4a738533251a0b9c922de8f36b04d3237a65f55900c65a33f2e0ab040729ac11141ada629064366f53e670b9108feaa973b833f9192369fbc6989364129ff6eec5d657243a622a836e78160e2e56a9a8d5dedfec4be29ef2c9d8673b1aee7db5c59e7cb13fcdf8237d1a6d4767e5ae6853233411d7944a9461fbcf7a6ed63f1561a6e316da334bbc1f097d1d07f6a29919cde075e0ab1b6fc8f52cc99fc48c65660577197a42ab0ab60fbdafb8ccaed7fafa2509c986ce3990277a860ac61e8c7a356af688584e2bd10d9002bb5e351323fe1c57b5adc0ad889bfcebb54c339d61f1b8324e1c8b4e0fb1b2bddae5018f19ba70cee80a23f2f83a0e16435ded2c78acfeb865290e7e6914f75e92720313db82a96a7d5f609e54db99e9a35c0ec1487985d5dde1c22fb3989dc4e0a3182d8c25097ae3f58e6b8c09a25f515cfcbca48c8ce5a7d1ad47fcbf62a5947b471c3c15466a3a4c23be15cd7d3ada9072433e24bd34fb50b8fe79b2606a8a4fbb346e28fe1e8d4b5bf83dcbd377ae11e9787f68b8ada6e6472b7dc6f4bd14b0daad4b7a1b2e89c41f1ae4f58e772583e900562aeac19bcddfad14d8befb7ecb2c3fa123f03a282c382790c1e67943a80e5d012ed0f046def0fb0ffb13ef2d00a9fad77c003853eaac6c0acd3ae8c12e588322088409f5fc26b9ab74a1d82c75c8bb1086b64aeadd1a41d015b5d09da7c2ead62a68acc2ba8ee022ac9e9cdb28c6f4be852c82f05024a9421a76bbffc5a3adb9ac1f26eb6af3b4a8f00b555c8146c9104e54627a686c87eb9de4cbf1576be72cde53e1da2e54c555a25e4639b9f6e66e2588dd42a16f1403e858d4838141d0497046aad635494e99e36ea76d470b63150b144e6eb4731bff14276595c58d9200d54d1d4169c6953e7543b1c75d2c591f01410d7c005d47a7a7bb80ad35f6774cb5664b50776f41c601267a20bce8e2141a056b97fe3574ebb12721d7dd008f8b49592c56f0b6e7e446d793d3f235b4c307dcc838ae3f6b8934f8d0584a4a8ac823a5859407a184f958fd53fc1d5b334602b0486131747d7c2f2a12974e671a4f8d18983889aa75f7598e26088da4b823677f10c2aff9a24b58cf9f1cb0e73c830cb007f637eca5d23ec920baf5186bc9373022dc0e10b22dcffb71c4e6feaa2ab3c7fc290540da435720c9b33957f12887f749b5edd3327e3eb854e97a7ee1318dbe38426361199751eb569c54e57d28ddc13805824fd36bb7c79f8c3fa5bccdd7452a2e5b6f5bd66ddb8619e8e1380a23d4d42360cac416df77574206ca70108b2f7f58233f31af46041b2496589c71cd0ea982644b66fd85c42c54a438ace094d1ac61ff3ed4e0c49419d6b7f67ba392d3e50546aa5557c4e64321b87f48fc3c61a399390e01c3b042466b3d2bba9b7d8e5bc83ccb6e2b032cdb5b0d40bb37982e99d886ecddaaa6dd91482e2296654fb91b6e93daacd605db6d10611845f5a3e0222f7246f7407b3e5082b61466ad1f16c2a6c75750ed5b49bbc77b3cfb60f6a6e1679a651c6d191c5eba3c875084e1c02160effcfeb6230a1c15d8d4d32fd18d973b45a7b845aef5259767b998ce558471029d4819ee1a61269b67e3bc066f539f52cdbfa31c848d5d2d9e270cb108d49f51466dba3e040412f7957d86961e3e2bf421d7fedbad66615a661c6b43155035d22c9df11fb1e1d2a9775ba6642f72066facfccd0423b11a7a8242e10ab8abcb39958ff040ae370f95e96be2fb652ffe20561c92548971834d64558df9d4da5335f86eb625cf2c435822442e95008edd37e85667f3b8500225786f0cf7ad79478d1d994ad901f6c33898e4f1854bfbb8d848f5861cfb212104df61bd6d114297892600aea3fba2f27642d35cba87fce0d6016e77cb65defdb7402cfc438d33a132dcaf025bed37ef46b23b1f79733215d44820a9e8c4d5f32d862b09f21e40a783b0e094d91579598bd8602a63720fba4925b141385f590bef33e10d2a61c2c93d7f30b0b808ccb27be9312bf816c965d9329b22c61f8d7f3e734e9c0e4410c4bc374787f5b2b3b6c12bdf4379ac9419d2e1e8cb20568611aa444e1f2b4ef7d3b9438afa436a97004b7086f2b66e48699d682a1f30f091bfe441956f02ca699235fe3dfecfc706cafd120ad66bc634b3e09c0c8d002b3746c5cf22d9116f844a726f596103d99339f53dc0cb380169f43a83c4aff86eeb146d5861a7e0247908106f8b6fd37902e97f836e20f93a14e2a7fc7caf0f478a6cc50431e94d5e7db4dea6642c5843c787ddd9b273848781343f47436c96434d06fc487a6266f32730b359add1fbe83ce5f7313c5b086c64c816e43ffc657b602cfe6a7231bea8297ebc9a96b0932d351f1553deb416b857d97cb59b9ca157669d3706db2c46997579ce080602ce818f226b3e292dcceee63e77fd910937741b1ad6fdb3504f7248b033e0785f2f4512699f7d94f2fc2f752db237950f180c4a707abb8c7c05ca68077c219b34dca0e67b211a3ced568e1956f6034bc11337fcc314dc80129d27bab2bf969334326b75b812968eaeb58f136d6476aba16f6f8d17b055fffc0987655f597c99db21287b3c0623ccd4a97d1644cbaa404f0172ae93fd218db8be92d9cbdb5619e94649e2868a4aacb12b4509add78bdfb1d11077638850517ab0d6f0305e71fe71cf2fb90a272baf16bdb7ef694678af430f84b5ba5c30a805eeb0491cdc0a24ed96eeebe58c1a6d2f3e4eb0fca45d0c7f8f8fc1c515f539647129b46c75fbc6146d218bab81a432b1377b9c035adbe698659b637929efaa37e49ac8816aca0c37516a9ac450c482b9bc7163e5f3dae242b03fcddc69b83dc1f47ff19fae3ef83a96abd2620950b6024897512ac394c03114a91a3f17430501f40a876de180d6008e13a3f1f7e94ca5ee9d7351364b50532b509226e6ec5c235473295cd49bb28f40a3657d2ff251c01af0343cb99e992c0e88b55308e72f8d2f19611e246edc7b333b129e74cadfc33d72bd7bd4e033766713643c5139c1a8d07111196ceefa9af3a8fc62ec450550db06687e4f0228e6449df0962df6d0ed2ee2c9a940cbf128b693afe694e6b9dac12cd529ff03508c0f5eaf0be9870c0c3f083d9d65c189a2501c142e3a5fc5441f6837943e2b25556cd32c9cb8a89cc0581557f1ec25ffad26fd2e6839a84c418d782f39681f7956696e566bfc3fc6b3e6602ff8fa692de736e3952c98d3c835877829193adb7fa403b735dde9045abc5bae189d64e4cd415582652c3d35546d6e1e69bd2fdd234ee4145d35c77a6c65f1699e2d864c4e7eae92ec3c3e595771c264825a4c7add87746fe15713c7500e53f727bbc3744db576d13aacf6675d7b6cbe40cdb67d730c7512fa03c0c8a1f8212198a1441c660b6c371d9332de3548b67fcb4874a9dcb37c75a1612933bb67bb4837acf274f31efa6f91d778d0f7c9ff4c18ac7bf013683781a43671c5c1ca3a7a706563f1b4c1fd3b1443f17310ba66c3b700d938e558ebab0e38390b8e2ca01ccc111798b00c2d7fed1a5d30f11c9f80981f33fbe2f2dcab7f8a7c1e2305151025d68015efba36886c3e64694fdb47ecbafd1faa19db7561be6221e20e9f2d34f8dd56e211737c22136d271b01aac14ddd332440eed96e5ec8fe7f2c9680f9db3c5e2e08aae73607e0ecb2fe0d39ce8b0123d61270fee746e8566e4ca266968584d86d08732c23f26c675da9af1c0992af4f76677d9ade4bde66536bba29f7cd67b6b48429aaa7d64de5cf2d352f7907783f8ba927c4fbe9a91639c61a479e9ea3926acf2cf88f3655fa70fe80a2889a99dde907e6543a6ac172c09b697c11ec123e8bd402339b5663daf8d8eb1f3322cd07a04f7f6e6b2d3e9bf53f7c2611a7649748d35bd7adb36f89bdc0f798dd9350b0d9f5458807919f668dbb4a56125020a9375a5208ea5ff6042f03cc5fb4e6f3b022314d7b96b441e5206581491f09032eac5859f14d605ddfc3336a9a156e846864dca883a5da0b1e3d9a4ad3f49ab43c96d60c0163dfd3d57bc8bc60543f6d2469000460de8d1cca95a05d5360e0b250129693f8cb9eb818bcd410beb6c6803835dc747ab06f58e0d6091bd167a351a20e192c0fb5ac6c49c62cd8673a011d9272c26f3e3d71a4761d0cf7696debdab55e57b3ea94f7ea35f232e9699940051a63007048e966f916b82d6100a0622a90279a40e4b8284bab2ffb09cee5954a10c80025a8530f592887ee3c6e1b065f5daaf674fe7595e5892f8016d2998c384d85769709398d0e513e8096e35b209998e329aab13af24418ff185f7f5531a8a18ed7020ff5243683a3825aca017678af79f3b0d12aca917faaef22c6b805b29ff6edd48ab24a51d0e9b2f4513a9d0c3d437662c09c1a75b2bfb684a6cd753c039d0d7fe9e69cd1f08acae282da19a97a3551d84ef8a61a1795d50df51d4937c2cf4a0a7b9be6156e7c2bc70e6eeb0bbdfe7dfd4f9bd09a578c650b44e4268c1e4c9d52215a0a76998f2135b4f3c59b30d7412d3033e770dab8dfb0341c8eafb10c1bfe995dadeeb16988ec313a4b1698842262647421aeb310668013c0440015a728f81bbecd8eb5009be5400e2d5a02dd7f200df65de26c36dd8fcf092dcfd15fe62ee5342bc7aa3983d696035020a3a6c1a83810df6e151e4268c28e8eec8d542963c641404bea53ca3956d241e71a4efe1e149a22846ae600e36b16c952e948f2e67d030fcdf9fe4e6628cf49c18afb503ad936c8d7d79a86eea5878ee2ffa0bff6cb28080857808debf278a1d5a7d75c44edba0bf108ed7eb44d9f2ddf24fa552b1af049be5ae03753c6f8619c68e5969c5321aae86f3dd0d1f98d0c9e176ede1f3e85484dd13de92c3436ca97df378ec3481e04c19a73230156236f768b0d81e58a3e5bd3bd79ce294cf9ef0ba0a84cf7b869c89ebd9fd8437819eab5dd7ce5c7fe325cccb00507b5340c4d00370165e547089e42efcd1c3dcda5c54a505491280e77d108bfeb898d931de4aab8082875330dfd11fe522d3593a6b0ef2d4fdd85353b5b4c189c5fcd4fe14134aff9cbbe6452f05283b42ff3b3f84784e1e4f11d23a9a9497d9bf95bd60b474259c28b979543556f80fbd268dcf9d3859652fc46e298d80084b67ff3ce6fd8260581448aacbcc89cabe97e7dd340a295ae483a8e55a540edac1f110d1b4e20f5acaeba13006b1ce2850b3da503c266444539d95a7d5f9a495906baacb08ccc66275038b9546e98af90980eaa1346c88a035f26c96b5500c659957b6245c11b7fa1c0e823b2e221cf242b74e90558595265f60b8b11a020d13af403b90bf98153a4d1a1719b5a69e9b7c0e98cc31d5b08eb70d00709aec631ae1981c9c5b807755a1ef7e03c61eb9e91cab05531bd7c326d478a7ded8078e7c6b7cf49be0fe18da6bdf87607d579672f577e99c0e299e448fc12b8df6449d63814f5f56813c79532aba8f46e2d50afa56ef44f2e158ad77e76dabb225200676e00a4e7bff20d211baad5d8d50672f124500c21c5abe004f51b786c120250eacb5c168042ccb50b3d3d01342d4cc5cdc06c60c246ba8a277704eec3d3779368bf4d2cccb07752c66f861208958c970a5863306d28824d30f3108ae4d151bd8656b1583df78c905bc6524a737d0723f6198aa891da97ded68d83eae5da5a1608c88d74e048b03284a1ff142f94009a9368dd7cb50616836a38492bab208bf5a80a98af9ee9c4710cf7b3f60fe92d1cc79718652e9c31e04e5920bb9497fbfadbc2bbbb09bd78afbd69ff9da61a0935780e1883f3f60b78620e7a661a4968d7562179b4aeb12e16044354913705245745707823949c069bd5757195491c1d1d21a593385b317868b9e46cfa2b60fb372de2e59e2acc395f0ab29282a8b379269649209b74c5eeef05aea6759823627d672d093883ed94ae8899259fa773c2bb3d0a6497b7a9ddfab9152b574e43b62fbaafa33e230fd68f9ca6ebf50bc2e9b073cf39da157927776af25e8506d94c805f1573ef747a332671024002f6b9a031d97d516d57c3df270702009f9566faef7553f83d02df7e3d857a441b03fc7ebcb0f23033a36cb19711d496878cc802eb172c4488e106c908aae9ceb2dc37cfd1029cb3e363795ee425771a46ec6629a08481629f64c024f0bf0acc202a0ad77ff2614f65f26264ff9379ffdd5ba8c166e7a6b0bb157d8732eba58e285713e2f7f2ff291abc4b7c7c53fee53cd435d47482ce6c61e6728ccd47d96a1a688d73223d42a008dc66ac2107e4b962ba2e6139d80d809924ae4f6a4333beb73007d18611e10b7219001fca2bbf250f2f22fd3e29cbc18a540b71688ad5bcc0af0e9ed1380e5c0dee2aae0c7f412d145fe6e06d6b79062ceeb398bf23b70b3653367acb04c7ffc07b836bb4f949dd6a370307d325ba5008980d9108dc1ff88f43977727e28b8f6b20341e696a6af872810ba27958d0ffec63f7a34d5f49be52f8f2f5a5c47750b418af304265869f77cd4bacb8e1d2f51c1e192a146f01149a2223a56507b3acb65d3d2b560c5915c19cc46c0b2a1e2fd4b5ef399f956214227da549c8a84d9d097538c00a3d131de5748ad8508105aec9372949fb80fde72de8c137fd63b156255ca9fea3689043343ea5964115590ba0c1f2c289b56ec2e8c8b107ac65f8b199a944f1191058c8e14d50001ece4be9e8289ac927ecb538b5b4f49facf70aa0cd808b86aeffe4df53b325c377806fdeeaa7d3d66f97123616d441d63ea792386df4f18b57702e47256ba7d4bd7cccdb706365d76a718a50c6e235583927289203aedf0c46df9651fe25d90a926dfeeb5a2ed04d31298be870882e78b3975c6549aaf266e5646c568163549184f54a035b2c819367f0beb7dd76860fc9812f596493b1e066b30d2a86365641e850ce597a42668192dd050f0db463b39f9ebe8fd8a7de6bf91241959a00fc4b7c13c20a7ae87ffd5b34ce490f61450084a984cc450faba94690e8e8c66704d426288f32d81df1c9d8b8996a40fd7c0e8a54e1a31a38eb69fcc42c96b76306d92cb664ebdcd8f1a45767b662c83b2e8b37a9ac5a1130dd8f9a9f45ac9cebb6a1f6befb70ad9e878f74568613823d1db6933d685215acdbed1f9f6cc43a273e2437499eb4b284afb5e356ece345d1b5a9f56305654611d5216369a0f730fa8dff50f153f2c58d231aa31509c408cfaad05a86047314f14a977df62e9eb803b56177cf561df5b93c5320301afb2eb7ed10c178d5e517b64e6039661368f773cb4af5cb831c4fa2b87780c3c56f2add0b1aa6ba752d7a295bce95b6487ed71a2aaa640f1d532320683311f8ccd9c71702a53b87909369aef1ac415fa050ecd54c3b2d351132d8cc877fc12ce233cd5d506546d6c5ee26370564987177d36bbac09922dd2213952879290a9d797ad3be75849fc6efce7a93c62191f307347d84031e5e150b05dd834f2f8eb25ba2ab632aaf39801eac40090e472b56b604c406a575b665d3fcf64831db1d1abc3115e850b8564208aa78d25dee64a1f959cbd752cb43bb192ed1782aca3a5e185c52fd576b96867e811e24a57bf48234bb9f713742b530394e9ba6e1329f569f9b61b19121b49d3f3cb64da97fb44991124d0d8899024d1c33e5d08bc07c01a6a81d0ff53f059fa54791dfd99585770ecdd64b75896bb213f1ea0778a99a45af525706854ad2dae9b0481a1381f51eb2853bb316759abc72a06acad9a8b49ce82b1a78935746a404219087ed726379d59e0e739f0b772b2b691187fb778c86ac5f5840a46f1b9def632fb05ee06848c88bc2f437ab4b83f41ace6147513958f5ac4af65ec402489f1071281ddcd94574ed7a7d31a42a081fecff87b94b1f0c1bb2dc6a16b222ece8cd3c3d26f46721f1195fe8d436b04032abd5a413369c5f30812e8217d0f1ebc0c099355e936b1e3654a87f7e7e80b0692dec5bd7c70286a936b6fba34da42e5be7e2dc5c718b7d4d2e1472b2b5d8691acae0d91a86ee8384e1a94846418bce53d4face0ca56d4ff75338d7e7bb0988c4302e2854b350a32f1d83aea351757494fca372392edd6750b2425a510f4661230d9b0a47da3e0ca24a31f6ee82493db9333c1e82a10ffd6785d75b28a8991f41432039bca18d26e1a0a54391fbc6f801cdab104ea4b47273412ab1f9011782abbe122cc045932acfe884fae841061fc36b82f5984344640a66be726ba3416a95da41452b4dd22c583dbc7a2178d067aefd597e83d7dbc3ecb61ccfb533b1de04034fc87b3f26bc46b1a28b0785597106415949d9a05361860056766f6af0669f19341d664223cc1aa013ee19e0f1fc2cf4b4a45750e5efad4dbc3f847db13a4dfe95fcb2b67b080d13b9203a10aad94879b228dea22bdc7ef2f7807c2f0d0ec36e9b4130cb1d819546b7b5a897bfb79a8fec22274e91af6a860e10038793eaa52cebe7ee7bc59e26f7dee82cefc24f8dfcaa62a50a083e9e713f3f3ef7f06a063e399f94641b7a23a49c9fa0d9f7e1ae5f4b29ee66e754b145c217220620100d4d76a30c548df3a4752d6dfa9fdd5cb3df96159db0dfebfe70603d814a2e437165fac13a3e6ae48366b993d289256ddf11090cbf76f64bd24ebdeaf0c66277b444154afaec98cfff201abde2044587dbc108bacfc7cb024702895452775ae05882bb102ad8f1379e65b0528a359ac29f47865bd132e89b7a670014c9ca1c33b1a5f42d9014de32a68a0ea1ba4991eeedf9f9a9cd81d487f012dc5c08b60e8df79c5c012fc97328ddae9c43d626a22b4329aea4cba9543447e360d5b29f1a8251f57b81cd4f674fabb82707be418fd136534a22c0439f9c33cd6cfdc2f468284962f6cc3089fd09a47877bc37d184af9caf129646a2727981d9f7f834d721d43a1ce2ff9e07eeff09f895153c8732e97d0529b98014329e8ecb40c2ff5ab06b659b6a71f32cb0378b26f3b8f8420c881bc88fda03660a7d9b2ee94973f54e2a8279a1b3405a30c72e52ee36fca3cb52acad0322da7e0eb6e05aa3509cde70cad9caa9336e359b60643a014d052f238e9fdef05f3d10a8d7f353dec8a2b8ec099bee67d83e7985b4cfb46aa30baf75dfb88ce446d489a5a4cd3d3f33f0848ddc5775aa1571301034469d2238f13ea58fa2b619fdc118d1294917f9e40f23e4bd53de33cd6dc1853bcae1c35cfa29545f6dee0f993de14a4c8fe65b1b23b645c6b640b4b9037e0389c2e79bea922ec9b0961fbf3e2ec950b9f94f7f8139ccf28ae8b2a6cfb19eed3fcc37ab13a2954dfce04537a54c8cddf90ee85d14c2d819f2bade1b0794fd5cbeb0dac6fdbc162a273dfa9a616369fced944495759f8cff5a77af6c46c147c453f1a556cf9683ff2890500decc200baf1afe8c8478d09eda9416367c35d4a5d4ddd4ada2423fc96d8cdc1e0d1f49b2d2b41f13370ffbda24cb174071975de191b4078c63360f9c0f87f293a6766e2a65ff0c02e00bcd9a98fab281b446e32e592bba1c74e7ae4fbd4ca565439644fb931a9a688fe139c29b71cfa80b68c5023444465eae08daf5d9bc114d38a08560d1a4d8b201b5d57dcfa24a5fbe93f149779a646228ea2a6b242012363bb3e295bc7a993580adc2d328238300b63eedf5aba0a8e368e77f596b1c57b8d18c4a180f312b3764d0e3e11241187b4bea011c9790e0cf317527eeab5223610077055a800c6c02e1a5e9a0500605cf1252b3374b4bdd4fb44de2d53f47bb23cb71b241d7480f18b3adda6232d6fc13f5214765c6c1dccd8086362d2be63dc34b5613f71d99ea3642b1ef9777fd4b85063e82e78f2ef1dcf477ea46c60ec96657b33d6b977c3fd30678fb40e246b71cdbf65322e6ad29c688d004c11909b40e270a9d731352a76ed670bb83aacd835d575abb606174c4a7b40de5d98409ad7388486db0ca844a6390d7cfb0d901faa10ab41673588278a9956ae3dee4aaab052e24b76a84d8e7307f7eb904e4e118f30f3eec44bba1f802595daac867b2f36b8654cbdb4d353e69512b009b943a031da66578af95a88c5666b55580205025d6e3b9e463bbc0c59709d13f2367bcec9debf84beeea197506001280b4813da662e650b8210b1def5e6f170585065de0134b73c12f626a89bcbe166ae3f127d4f4e1e820bea08029164fcc1b049ebd901a810233837be0bae6d61369b70e0d0688a5eb594ff4684414bd88cee4713f2e3188a5e162dc9a6bce4688d279cb40bdec9496cb624b011f3c6f064482dfa3b6d6674e69e6f9316891686b1b8fb59b85253671332a917f32053c4df3f52b81666674655e20274ac44ff89a6a607b08048e7ab3c43534fd962be6ab782ca3083bd77b92781bc50d47e879fee7192ff8aaaf51a5c96518d082f2bce82a998886cfed65dc4c29c65fe734ce8dc82e0361c19eb79815961653028196cbcfab2c3abf51e8361122567debeaf39a35c09a6a0688422c010aa74292169c9a9b0ccdba0246fdf8192acc149435b88b202d11be21d1772363479daba3340b27c41358349dc485e8dfb64607679c1a2051d65ff39a71335f5727dd2305a1bb317494bd4a2a9b9c7ecefebafaeed1fc7ad72437fa80a11bba053022d0e6bc108bf235a54c8a3bb0ee9df925af00c3b0ce332e2cd651f0ad9e6fb40b23338193a2fba26a9c83d9bfa33fedbc193b76bb578297a3016df77c161ee745d4ce40d7fd81587cf839c2be0991ddc5372932d55804b11713c9140d10435ef4b316a0773e3506eec79cdae53a36c03609e5a3e3cc4b6e117a499db7864c23ec825c6cec99503a45f407649b11fb25ff08d8c708e098a22d013c5d38c068d1e398eb573d2055c053bffe75d8d5008b73f90cb92a8f8d4d9af745809ceef47af4cbeb2ee245cc6b153f5223d5e2d63bed3e418e4a251b05558b8cb19c59254aa27797d076861feb64cad14546f140145e43cfbe314ed98e23eeab97074b9bd837aba4e8099092753c168e008b2a93f91ab4c8ee51e9e60c4279e51329f3358bd3d5f32311bd537adaee399ca489b3861b832a5a9d1efb296717647b83afca6f0281f770fb9810b678b80532f863ab24be7656290ba8eacd2e8fdd5babc0ba88a4ac8c2ffccf3213e702db47c1156cf7894889646aa615caa231b0a96c62fc18ed6cd393a19c2f2ee4f40bfe67c054d2767346284000044ad8957e81b64a0647843c5d6679195de283b224b5c0346b68a80847f05bfbebb7aa38110c8ff826e0d863793c0844635a57d770ed27568efc0b22ea31d090bbcdaaa417d1cb772239464a2fd7d9d2a2f3ce8f849cc425e282cc182908e28d33a74a8e987cc29b58dbbea7f467474f9629d476cf2d391033450633b731cb5b592241c29589a0e93850e6c515a5547e79139edac58ad0603e46844cc9aa1bcfe999b3147414061a1896b1d320de08ca3b022758e89095c7e442211c0af08358200fc6b2ed02354856da9fb47f62528852dfc0cc943467d6bd0585132c3f7639d036151d792e121ca92b4b067000652789a9fe9d820ae0605c161d6f2d2257628ee9f934471e71efa78dcd8323e05e357af4a6689730aa8fef678e1ac882f112b527993c272b03819ddb1646093d111f460e1dabda764e67ee933c483a51071057da86f0c3b8eb6b79b66149a19470d82052ff3fcb06dfedf7251f6e747a390042cf3cf14bbb5d98e25b408f19126ba1cf827decd3222b5ab7e6fabb87a4b5686a943ebf047192a82448ed68181095a42dc9adeffba5e0641c5fe115a5da5200d172c1e55f9eb512d3fa8e867c1414d65016504f4339eb697e364424f563eb458a0301bb5628c39cf4b4f9c8013a10dc2ceedefebb356f00baee79b1f72c9d7e97856145fe5e417de3413d03ba96a88b88ecdde302c8122c101997f17ee1337c839e5d3b67007ecb8a19f14b1d97896694d684199b63733d2039095f0808350ed994c44b1b319ed84d7bd27bf8758adf083455e99ad4733d2039095f0808350ed994c44b1b319ed84d7bd27bf8758adf083455e99ad4e6ca0a4e331211c0b453043bea51d0e5bb5550ba5172555d1071302ab5f765d1e60da3d6693b4e7dfb28fbb9a8e9971969ac606b384f599edf7cd125082062f5b023ad2587940ac498335351629c1e5b395482badcf16e2f4872c8762dacfda1442f0b0dce5bfbbd39e995a0a0934c3f169180de09f14cb382f40d13b2dfa14fe884c1e285d7071028c1a4535b20ddef1d2462b81f8026d34a5513e337b5b155f0e896284a1fc3df3892d34a965436fc0bb00b676c22eedb29686551ad97ac1c61ad4961c4c989c7be0e7b442e8d4b69c011d3c93ee4bf96f3fee7d45dd3e064457335db2c82e0e9666e3e08ba2136814ac85c35370c6a741f1f0660c711d47d47ced6b868c3bf8252cdc2145573c0989acaf0a3191122969d00824c8fcb299a922ba8b838415d556d6562d155fc2244c1adb0fabab0f15d8a675de9beedb5f2230898bf66f1695da8c9e045250a8ba6e26ff8e08277e18e9c1757a1cc0772547c1b361f1da89746f95e5f2ca4723d4262bdeb5a7522a96320fb1788a16be7f8eed3497e064374404ad603bdfd31ffd2ed069cbf42ae978287c98b39067abe027c868a3a06e2ba8c42585f0581a889c36e76f7b6ac9f79bfa08330818bbdf3b91f9488564336a511d90873f86dce03b5b295e052ca51acb91e30dac0a0646cc72abb3b4306f445bc6f28af91886acccefa72eede240a6a2dfac6968b68317a63d15fe0cdc056ca4d5215810172c12061568f7f0dfe519b5c5a5d1eb55fdb82f0aeca0af3a1bc8c350d3e2560e6ebb77374ba5d5378c33f5d97fb72d286a373024f6bb9ee96589a9adfdd954e53788767c7a478a8eace64a2dc8a464b7c9f0ab73364a1f4ebc357312aba9fff858622a6e02a5ef0701074a8a0f3f3e267810b2ac8c69a530b5a60b938cd99d0ff0604d96ac95952a14d6fd38ffa3df9cdac50a4c58de737ff2c044c92222398a931a603ed7c5364c8f5186700848e515415086afe7beaf0bdd853302cc5a33bb71902007e7057dc4e64a16fdb922ff3e06588bf31509a7884b9b809e15f41d1ae30c9b7fe25ab1d28efc61b86478effaa5e96e8becb85d44c12880b219241ee9fd94593d8a397191d18f0487413da3a516031fab5ec76afbfaba898fa9f18a2cd8e2e9ae5f509a10bb08d46966782010a1b0e5a749e6d1c1a93f20536d2949c07479ec6a02dcbeb58f755e4b19ef75dfa762a8c749e6d1c1a93f20536d2949c07479ec6a02dcbeb58f755e4b19ef75dfa762a8ca880ed943e2724e1cbd11960fb6ac0230f8f841691dd0f7a55b9f7931cead17207ae27a13ada70044c037a86214988ba4e4e6fe358c8895d9dd34af8a2559a48e90bb151413e34ff3fd6d40d8fd31a723b5ce78d339388fce59ec6d4dcb2d9c23bdc3b5f506430a9054d4ffa2c703e34ed6e31330b2abd0881148ee1295608fd8b41311d8d185d482d43a4c7f6cbd1de535ecd0d191d4fe6854fe1a63d267fb4882345846b047c1df0c2129f3a72a3ce10697ebcb809a6489409a0f26682f430533a00927abd57d66d3a8081e3c7b40b8568421e3fc977ac107e79e4ff1e7beb691436d917c372949e3442aef7c85fc484ea40c22848e086c021b55d342ecd5a573b5fb28a837b752f4e46232a5cc3febbb92e34c834a620eb5b04fe5258bc454038123c0fedd6c22c672e4db58660f9cbf2813a52ef06fde42eb6bac4ad5f232b4c633a5d67551351f258df040d669062709ba7af94f7a006c0e503b8ccf86dcf4dff2d9a43c07d23ad4eaedeb60b6dd90284ff7d9e46a8ec91d2e42fcfebd8576a76e554689ed8168f3f2e1d07a7dcb848f8e81ef2541a9d16667b1d80537a08db30195ea53523793f16523c35f91e1bd5cf7342dfc7c33fb838361d1d75bec41888f5348f7cf6112e212c2158e426dfbb6eb5a504a9bc819d3af232d7ba0824af5e0a5aa2bb9b422bbfd230b6ede73dd9fdb83d9e8402d189edd022e164716f735739d044d91ffb148ab1203915b7688fbd9826e7588756aa7e2996f7a38a01ea240eb20915409354bfc8d997630c730d975f13b97e53bb3fa7ed8986943900c3e788d82a262f1384087f2a271abdf4ae2874548eea4c81d8e8874bdc50f7f0548aeb417d935f35819a00e6dd2bd8b025ac06aeab296452d5c0e362930ca665d841351273da832fd5b8160412bb7ef7352591d233f1b3d2d89951211d2884b9bf22fedc65cc8b6235fab47dfb6472d107057b359ad3eb638a3e4efa3d979a9e2409e31f03f1bd67eaaa7bc6349db615cce1ccfe02145b68829c955228af5a6b7d51e280866dc34392ce5027ff08a574ae8c9663c35661c6656b0675825d50f15d71b98f4b5ac30bc452547db7f44a4258bb2d05d66448a6ba33ca7de47575696c0ba28b64a2362b448e9cc2db520f5492627084199d90886dae4a6a7c057e1617311f79e09ad6cf7b3c8b2d2da0d495d46fa46b7864d57cae9af114f9cb84552f08ff91dc1a1c8c747560147c2dd81c84337f13991c7ef150416196e1d90f576d1e8406217f9580726e66071bab37d60cdd9e7cbc07d363e8ab77313b03f6d1f6c7d3a27d7e4cf5004ae0bf4b92edd50649138e8d29f13569a9bf28f9fd08b93f14852692159eb0cc2a6933a6322275f21bc1bf0882ead703e61d282ebe1cc18becb72b64625630e35bd191e712fb3154e63445bea8dc935fc5b2506253dbeea94a391a1d05c927f8d1225e38e1bdd2b7de88fad791ec897da509d9ff1c76ca3074286270edc2b9f703860bdbdabf4d07b9aecefb8cb82a647e66f7d3205a5285a26a5f64cd7479fafa87f838a24ad17d2d0b91ec7696544cdad733baa063d30922a95b0f044cccd31b9d9371c9e3558a858229d5761be443227771c886394c92925a5e57bc9bbb8abf9b063fd8361ab0d73ad3dad269434b5a70b9cfb300c8c103626816973b49ba330e17dacc4bd2216b7e06057cae5d8a5880b5b1c7491a8b5c7510ef6e5f751ef5a55b5cf4d3d8ae5184d34a91b2e07ae6549fec0c295cec29e8a9c40035f0db7f556b9afdba056924e5a869941343e884f7d1a9ca1e682c40525b949e0464aa49538d7309d54f91d3abf24ed82f018f47262ca204cd5362cea9778597f2a9b818ed7ae14c548370a64872481407ade32c22c9807bc57da0deae812ec20fc8c7fe45e4d3e3adc2202f526cb954cef049644f4f4680be0ca9562a04f3ab9404a6eece7e70125b63f508ca6c4eb1d82c530cccffff48c5f0b89addfdcef3516eaf5f7796410f7ccbaac7124844ed94aa3a96a3f1c31c5e5e8193606e4bae3a2e2d3224213e1e14ec6de4dd551fb0186e1040d9a65bcca172799b228c085bccfa109d8d9f87a0ea3ca06cae45c7e4cf8c8b2bf515f9d22e690660bc4ae6c7a67227852d611ba4035ec67387903bbb9a883b02c01a8f174f7c6bfc5b752924c3176262769cf46b9a348f367c8e704f9f2357601ac035a96ad7c55b1cd647b2292396edf9b5e659079ff1fd58a66fb3652eedf14f020cb385c14c5cfeb4542926d5b96f579abdb2fbd8fa7d9a16532a7e7f790c1059d27155010f5f5b48975f06ff8007c482c64e15bbfcfc5f6b1e4acee455a41ba58be7ee95ecffeb6c7717120de8b512e8d770b86467e32659d15a9558921db320bb8ca615b707ae163b43b04ed27b7e028095316a8f3cb79bbcd07b74f354c811551ed2cd31a453039ea89a71673d8b72c96e67703fd1fff01eb30fcd1ec3177949edbcdf472ff6c7136214834d013b80d5de8a1a7b415156ddacdb04f7d2a9d21e2c1281d179c9074c236c3d375473d8e665d645c04b756376fbcee1e441344c1c8bcf956e05fa01c6f29967ac48f05ce0e53410d1d3adb8e04d85a9d356e91aca67499bc87ccd1f1447fb21cedc9e08bbf6111767f8f8f44593c8fe50e703ce04ccd58e30caa99ef50807a811ff6a74552b9b9a8c74bf522c1054480efb68709db2a63a4baff15033f938ccd483663b1fac7d920068d60436b91588b854e93b9be413abba0d90233dfb46557665cc4fe23fb9b77d0407947fb1405b0edac78e6751b0cefceafee9f432360eae26a2236ba7b23899c8e0d82da8e411984a97533e7c8861a4388f367f424ebcd1c1e8e03ee94a03ae18a2fec757a156b98db9a3fc5690c6db951a76f7e56e53be24c547e557e14026dbb8cfc3fa9a00a4f6cc645d379d5491b0d74f90511dcad35daa3394b4c6e96cc6a1cc0272cef648f267d014c80b1c0f42b5a142cfcdaea9a2561783db32b6bf5a605678686cfe83943c4e08e3a9bfe6daf3d4cc85caf061bf7d1704d34864633ef1c463f62d003fee1cdf4d5df6dbcbdae1d0d8ea8d014307a20019cbcd57765c91cfe9287591e963740e2f48c289035d3adef44f01006bc263b2565f535e2df5032e270e16238c69f5b3b56e83a7d93d932ae55c47562d3817efb942f84b118d1c89fdab6da0bc4fffbbbd001a3ff5eed745556da6e6c2cd546017b7e8001bd2bebb2a8a640a9557add01958190cb988e2119d96442df26b060162bc3c819e4b0963a6c6913dc6a9e3c96350f1e3482d87782c6be303ce9137a016f33547864fac36c541e7189afa3051cf3e9d2807740cd178970ecb0931071be790e40950c7ad727db212675e4ea169489b12970c5882ce279ab021dcccc0c065d59e9cdb18c52e215b65194400eb0d64778889a9c055b302fd151cfea916e7a66f78758d38df54902b711f344028d4e053762284b656c1fa333245aea91a13b754371f73a4f66295238aab05964f3c1dd6cb72c3ed10153256ab9e022bd504c10d2102ba7485b911e5733ae326ef87846eec1204f8cd71c2fe751d9693103ed54d54be8a77ce7e50d945bd6a578f764a2ec54b33226a72e22ccbdd33fba82a9ba8a25304af5e3dc5f8f166cd41333364dc4ee90ed08e63a0f47b4682fcdbaf522bf32fecf97d1526222d188a239c693fd7cf52ca32dc5459eb6d416bf3a7d1447c8ae4bc6b5741225897a0d56215e74e9f9357b6a2a88ea789016ddf78f47d1b928cb50b94079b2edaf3aa44ad066fadca72a797b1883e091c70ed2b48d595a8c8d0def7a41c155559a0d373b671a6436fe3f5cb7b4366d0e16ab0f92fc10aee933e94662e8571b80039522def351adc5f9e901399fe65ac8c692fb98efa2e8797096d3cce977a7bebf32fe3c2d80d64444f7e8dabc349283ea8dab4f06ca4e725118b952d5928fb02e09b14ec12aa0d263691503a0683d8ae53aa5b5b1c8f4b5d76631a78a7e7f8c4fbba722964296c4883b990b1644175df6e316e1f05b32782f9ee71593ba1d8923d4c748c62d6b79cd7b812d72c604e9c91cd86c9dfc62dff2c1cc442def367b76f03c5b5d1734506c520cbf141d9ab95485f22d0329acd6e9f53015044f15ce10b7696fbc2a839f1136e1a328e97ddaa19fcb71434d9e3a62b5b81a33ed8d854e3dea158bdff5eafa81af596f6df14c7acf5f94bbb3ba856020c5d239be0536795b0335ccb24bf6f5f9fc93fe2573c0e5243d63a85ce3f5015b214dae332253b99b74f013a31101da571dd00ba46c71678ff77585a6d1450699c6cb37404833b3aa6462f14580c8760df90d0a6e6ad195d84f76a2d4a9f09708e32b33060d80deaddad53895a031f312d8b1d58e7da059b4ff5e62fbb8864b69e47866bae88601324f39841836656ac3544ee6c7289985baa22104fc13cbd3d238ca16239d7543f6d450e6a5943e6364fc247ce14f35c2ef8073cb6b7d2427e95cc8b71600bf46f86a64d2b64b8eef58a5df5f5073302d92e6b6ee73f04b98109f0ba13c3b9573853ccfcfc5e471e048ef85c64a066e756f537ecdc4cb8ec8aab9506d76b42e2c79ba73a25a82c0c20b4e63f05e2f3ec3e79ad1a213a70127e9294e55212008fec9432a636e402c6bfa6bd9bce1a49b4e3076bd1c2213a0c72d76ebbd6f32b0161af4ea415df5a78894e9833b1c22acd8fc52e4e961f4cb51f492569bfe2267d94d76d2fd65a0ae0683445913417d46eae13350919bae48e400a7a55e1a69eb6c8a28fa50be41ed3e33445913417d46eae13350919bae48e400a7a55e1a69eb6c8a28fa50be41ed3e36022ff77d180d30a7f0788c7eb7805820959cfded00e2a506f72401b21a4d6242c7dc964f7fcda65fd9197cb0aeaf037a285c4024a7b473b767ff04e49b39d37b978183d3eee654e15484f03e287fef4c6e0156556c932d67a4a4fc2bc8a5a1a90a87c6d3aa1066bf308efab7a4dd31c3f127e189b6576fee4c28092e6bafbfd8386baf7a485c4eb4097d4daeb0110ec693b4b6c403980d6ff6a3076ce10446da7e1aa0be5ed69ca50b02869c6a07452e0f3189cf6e730d519cd572c3f50665c4ac72e6d7e50ff3bb5f77ff6d34aca10431c0ec03c51434c165daac29643efd7cfb84d6333654c70410f54e0cc87914f58cbe8ccfd58534d6e70751e38a15f6b7760109e638f56f53f162080f673e8dd003b4d09d12240ab54a8a204fed9bb2e6a45045a5cc790b43248bae2badedcd4bcfbfc0f14bfa1a6203d9afe74abbe005a4e61c8c969ec26ff4c082502198f11515e8d23cc63dedc4f3f6fa31860a781bd698a03ef885f3388b337f5e74c1b1aad7e393015053237b2a2278eeb4805691d55dccd1dc7fe73fa6a7460316f37e71da563486590167ca8c2b78dfe4da2a9382451c2a3c84a743faab2923682cec56b3a7467d5b0fa0e8fc79a9a2a7a87292a7a2423c226c2543cd0aef4485c6da324196535c96c19cdbcc1e700a0409eee39b950d20a390e386275225af5b1b9c853d051e97f1c331e5304cb5bc95833a656d6ed11774fffa11ac59fe144bdeb3fe1eb055044a9bfc034dee5f077e844530bee701419063aa4a6cb98f59633f61001ec4cf9b3e02a77925b2b5204da51526513b22814393e705f9a6a4964c0ccdc6993c3de3bf6c2fbf05570668c253d61cd22e91919e67c262609e5359db91aaa4b68961b3915ad58fc2f089d71d5675607c230575d371c08ff488edafcee3f34bd9b36f1b824b692f72e86a73e71b95e6d16610ae67f54807121fd786ed96097130501122ecf8c596cdc7c52637d47a3b06282f38791446367e894bd1c8647f18bf698f98dda83c87335390b622dd83d1834443737b177eda413c3601f3c17e628c4132af4d45873fd9076a7bc7472bad05c05fdc6d249116174d3a94ca412327d069ca7173b987d13f08f758a7fa4e0a8fc1f7a1c11eeec446d377d3c35f233b1f1ffb5d8f92d7c9b440f0406615daba4d14e52947f5cd4d15ba6186debe12f8ec91fe60ab8c4f84e7dbea2c26d2b2dac316e9fb03f5d4322aa4b30ea24e6ec725aa7ed59d70188362c21a12453f422727888145be7464ec9bc021fc991da80af1e9ae1973249701d82a7779c9efc030a06d41c96b8d8b485b8a873c87a883ab3a18dfb72d5411ba86ea66738301b8c5c0cc009a3d82ca627bb2de4f5e28c11a2cb62fe7df700d2f8fe3f58f73eb053fbd6be6e4dfc7cd18338be40d0cbafa0cbfff83183c97bfe1f2fe18bd94f55d57e647d080d00d0e0664e4d155ceddd2c5e89b96a5f6274e247419b289e3abbc7da64423e568265a10ab479d068d4f8532578cb8520a76ca6e37d6955694ee50badc289aa82339d9e13d67ec25a2405d48752fbe4ed1025e2253beef5cb88944646de7f2fccb5f89516e64b5bdb1c4fd456a09c9cc680dd64e0756e62ff5000ec78c4200604ee709d64ea5308f44f6be49356c9a6988c37688ccba0590cf83bfa3be501e600f8b2f624b7f0ed043b0f35e17eeca864445f835301e1bf7200968719c49b8fc7102cc12476e215854cd228f1f8c0d316f0ea2df6c183f167e9724a6f60381434ad60ff390e67913b4d072ee7c2564bd5763696ef1b299e1d967b33758f559cc68f6745588738f25d7bb80d46b93b23751ccf075d91486ad6b92a3f354cd350ebeaf0a5209e181b957ca5a3fc42d29ac352b0499ef1d3d8238c0e1687465f343fd54ca96b50bafa7ecaa15a2d4d3b04a40994182ce63593992ea3747eb9bd43d243e9bb5bf5a62b7de4abaaed498ac4e639cb0d311ebba116543e387e595423dea975860f4a6b4d9dfe707a782a92541c365d45bf9b6662019a8d10ad8a7748098d32a2393a27a4e28d89ada74ced8b02377b202539b7436d7dd4e50d2c168003551a723a977b534ff7fa217ee5775c7a4d642ad502ef9a49ff0260ad49fd14fad46df1516bd46d8bd980793d561fc4c28d7bd0f9290deb29b1ebf69bee8784d40100ed283fb1efbb9a8e9bbcb4fd1870a626af3781fb48f24a67deb2bc570e773cc341f23c2d5c146604ba6e6ef5695a162942336f7af601517f5c784779f5a335632ae6ab56a88cf64a2e0c918b1c7fb49d3e9f173fb25fd0f09462f83590a9e9e26a5d7359f863ed412aacd29eddf248f81759b09c3c4893f4edb5008e594fb04bca70ced73f410076bcad485e67e502f47dd561a995529f72da18ed012e1e7b04d6092b765cba23e30329cacc12de939cfd48fd4469c98e90852d31f986be44a9c8b077ae1374b88bf4e7d44e4d3f604545c985a2090c3ee0014db1f60d3d78a4ac0b41d9ea75cdcb26445a7f611c7641023d95f4aad50c1ea37cb8ed03f20d675642e092306e76d32d962f9af54dedc1e7e9cfec6d7efed6a640f75fd0ae931c110cf5a4a4977e6cea40e4877f922289ac8685fa6c4b70c5725b00927809ac9809c9b58a51771a53d4ce06327f5269b6e08912244958a3ec06965856e3275181a63f52aebadcb0d589e2cf3b3e8437e77fbea289ab556e3e3e6533b53be67f79311f5cc5d7fe067cb72af5a8751423129bfbc98e1ce9877dfbc9c59f42962f493046e81dd0dfe715a0a1b5ad46e5c40737ae273b43166b05bbcef35d9b3492b8d5267ff66eb164658d1c49b2982237f213858195766cea26119e2bf1d9ae07b80c1f684454c01b9364344422f7bcb86b2dbb4c0de59668042780bcad383999f03994253ad319b8345aebc6d701a6deeabec30661ccda661003d576f099abdb54f79f626589852ef1d5bcae7a22790c0cd39a8d9e421946fbb241aee4698d17a21aac8b1bb2f9ece40d22c6f3218bf0bf7c1ee6df8fd0c63acd6c3d2c3a8a7d0ca0f638805a24e053a8df6989353fd65aa4fa90695ef016e81565918f4fbfe822f6e0c0b14a3358857ca25e7c3e82f7e567b8ff1f80481af41c851ec4914bc2330b21b98416d650a1a5f409760c02b094e21001cad43ca357772d0f2e7f1a5cb6b8f6547399d88ed3056b8da53a735b7afd60eb0f71a0867d09d91918c26bc5a6e3f55c85934797cab21609ca27fb4ce6efcd8c65a5640b5cefc64c7c81c50b38477437d49f71e8414944012833abbf643e74399cdcc43634a9f28994a2deda243ba18206d41d8185d2a091ec33512e3bc8c27480197a825443b8e92c199731db1e00fc33e79c4d035e6235ebaacdb21a58f2859f9a53dc5a0b776c3e0b8f95dadef20835bddb2fd4304b5b49d4c9dd018e2ea3d0b3827189fc43539322bd7ae8e520e2e00c6d11ac5cfdff4f2f7043cc1e3a1660b12d06baf4d4036810a27a31cf7888a092f9ca8daa7871efd66c1c2cbd6bca5657c3e8a6c90478eb9587b15c2e6709bff0186353e5505161c2a153d6d4b84cdab8496904656ede03315a378fb1e044513997b9b4dda56febc519266ea0dfd926821f84b6be01db32a4ca8eebf1918a5d0b4411bbcee5890fcd041158c0de663ef4eaff024a850e05b3a650ccbe7942d3d0989518017ac13fb6d2ba46acf6b2f8f3685f94e01525d49694e7ca029f41b8722a883589279b0e31bacc5c5abfd1c89ca621787c66796a8f3f0315676c8d9bf8d070719ff8ee4ae223b28a2cb1361842c3e2b96c902fd3001a15a8b775268f30c6a77ee0d4c9542418591429053277ff5ffc8d89b585ed73af3de59c4dcf2feebf19d175608e1c2ea9936272dfdbe2e77dc366375ac34623c882de3c7602a1a81b34b830433d40327f2b2f9b8609aba30ad4b89f20d64d2b88710e48e0b880a63673ce502913a123058de596abd9a803a199d4200281e64f08e636184999f9063563579e5c4f86758fd655ace5c70c45bd6594c37d17655654acfebd410ea165dc1ef242f08a1904c1c1678369657507e9373e014568dbd65e564758552aea99d3d06e2ee067a568457268675d5afeafb222a70cd79f960d9a48da679814d9c5791a52680b6ec5aa6ccf3f0c91f47c7ac913bb91a7d7ae79d4bfcb02926110f44fcd249660e9cade76befb19cd15f00da4cf8a80ebde6acd7d0cddaf5e9f3d01a2dc372de8c470c40a43608c01305cb98d09cd4616fbcba7cb6739ea1e16377dd56f2c04e31b23be6c1e3e5f907fc34f643578607511cfb88f1abec4ca501440a7c7a3d95b335da9aea6232a622fd3cc379cd67a770161e000cf6e756cfb54fe3e71da8457c80538ad79c1474fe680ce593593818ffcb37467f8c4aeccd1bc4ffe21779fafa9f9c63b14a50957bea9b6d3000e5dd0ebf4807aa8f75351d1feb7f48cd0314f945f5a713a6f743c8fae51a38996ba6cdf4ce4740f95066e1cf8f84de5b4ca61d42d8d212ce5b726e9e7913f7824929382ff7e3dbe3829245110a1f595cc9f147b09d987e66780cce4f884c2a33e41f5260df9219c2bb928fceeaadb0ea7a045d30bf2b49cce26770dbcd5b60a00f0f5260df9219c2bb928fceeaadb0ea7a045d30bf2b49cce26770dbcd5b60a00f04b474bb917bf217716b32aa6ee94d4386e000e84706db2fe03d736b7811a84696c8cf5056633a51c407aa144800d6394cb9a5718a3dbdf58258c37d5812a31a095f4773180844886343a69407ea228f15624caf49f7733fb0d3a2ceef9eda2e495f4773180844886343a69407ea228f15624caf49f7733fb0d3a2ceef9eda2e40b88b3ab7b8e9faa857141469500ba9c10a24b4d58213a92f2a1c01fe967d0c744b00b5096b9a711ecb3a96b344f80e7670c13043b88c01048f1dd7494d94a6da4719d971741901dcb44289b8cf463606f9fcd96b175e531d8e239435a945311dbdb2103b0fde1ffefe408223f70e792b5a5c53a9a92037c4d575dd20b8c24dd1f6c8e09a6bd07b0c028b4fa18c519719eb895c699b986d29e488471f2a939f2f90dbd441ee5da368c3414ee9be90f9ac8b54b48b62f809d4963fe6c4ab51bb00293855d4e5423bbfa172b9deb1f433b1c7392732ce664617623f1ac46b278a1612e900a9020e303b57ffb85d728d109f963c4b57d7b14e3c73649133749bd091fc6d9794a9ddc8f32d5e5a147f5e03932df093be1808ab2bba1f109bec98ccf13802ea6182994224454af0d590ce109080eb546574039cb08acb15022908e6d891bbec4b2ec95bfe4b4d38f90ab384c058f963af10cc92c1674aaa36e6af5d008c3a8a28dd06a1534c31de7fa035d9a9aa2a3915a9c450ea2cb1ed177d2fe3a6ec6e8d5d19813e822ad9e0c73b25e31bb2029643e59c7073c094b033777d36f690031ed6eb6ced6f6bad1930a58374206fc883f734829d38618a5fdc21d2fce5da63d3d34cd8781bf501877127c0175955f8e9fa8d3f48be85540c785109c045da63d3d34cd8781bf501877127c0175955f8e9fa8d3f48be85540c785109c04211599c80c5983d603aa856189425b059a53b4dba76eb690a7e21db082dfa426e1d6151cfa40ce9ea7a517ace4107b5cec5e4d16fe5fe42d84795629457b519b8e674c4baf4534d4574e28ad52af3bed043c74ea3dce01fa8a214fc404564691ec5ad0b5d159dcc9f80827f3dfb4ee2fac40d6650e3b344607a9570d0c71be6e6f8a037c8e19a21677088f48bc15dc36e2e2ba93eca64b8f6f8032779c22c25cafd0195e85061b64a8b07387963b6335c07bf14fbf272250ed0f119e43ecee5fc4eebfd83129b7eed11fa083d58116bfc0232a34f142c6a52962cb6f400b6f0b5eca051e647f83294cc4685126b4077daacd9c84ff32ef2df6801e6d13d179c9186ed18ab8a1c2ba1f13c7738cc0dc6d07ce5648ade0c5e86da07fe79a8fd3d0cdacba2cd67734896ee3643adc8093de6644733fda546d6b5cb3a4276b5f6ac7a372b2f4317d888fb0a461c38b9bd9b3bb29cc54a500d60892a82abb4cc2900a7f3c39bd0bc77217c91ef94712bdb808c4d8d86c3cfe9aaccfbea33663140657684cf3b7571c14cef5a497c6e9daf0cc665e4c8fa7b4ce3e2cbc413f26855cb07aac1e08fbea6b29f6c623bd02abf805cdfc18a38b71c6ba3dacd3f53f3bb9f163b3bba65a9989b254208c910d33c7c5429804dbe5e1ba2d157be3114034cb40023db94ccfcc21ce401219a4e06753f55452a04ec51709dd963f79b0dd975a805fa2c8b9e1dabaf4717cc53458e9c1800dc7014f6bf80a23231bd4c99cd80980f82e7f39d44d428e345e27ae3da48aa588cd0f074e5afdc2134e5d1358a37d0d351f5b776bef64872787eec02e16602aefd24b68faa811a1ca802294c2f0fb297a653ebd6d151170df2bb1ac183417fb772f9ee5a6ac244d050a75cb034d152b0592d50961b9c5e86a4c3e41cbab6a690588496c751dcfc8bb0509756e70c52c7c6142f191af83ba73c3ad0bc7d8a0aeae75d50d2d239443b3e6c65c214e34fd7c6142f191af83ba73c3ad0bc7d8a0aeae75d50d2d239443b3e6c65c214e34fd21f355e2d91bec576b71c453cbd1917fdbff29d64a9981a92f6f8389edf4ea8d21f355e2d91bec576b71c453cbd1917fdbff29d64a9981a92f6f8389edf4ea8d4258783fdeaa9f38a3ee88feb521c1336b46a42de3176e320496197b3e7ed1d91f00a907b7519f533f9918df86f99976c7e16c6d266907dc495728f269614115e8c41aa901d4fd984520955a5f228b3321bdfc427a0706f8736eab61e610185293ca3be15569fd9c35d5599b84b0713e253a0b3cd39bb35b68dc0679678d9fd0395462c562fd029cbb1927a076fa7d88693e6a9a3e350d406fce01322d7697df3bfe9839efa2478ac72333679babc2cdcc3154d3c64607c05e1873a7537d8cf121689ddb6e16cbe926435531a91b2eb708930f326af9a8f1406c74af1fbf3371d89ad31c962adbadd7a2c4120bf3483f44ee7d4b13946ed652bfa546a8c90ae028cc2f94750beb344d03f5cc6bf497c1b9bb44120d0ffdec2b5e7935e4a8708fe3b4771f6904eba3ed28ef36793fd57397824a035ee2a38582a3883d1765a7d7cc70badc9c7e3ea650d9e6dc606521686eb6bdf9054a495073c31999aa44ed26078d8bbec13a1bbf3aacd12cae1b5afc100d6b382ba5bd16a1204fa8aca3b7987ec65646a197651da098cd23c6e8a880a5b75b0ce5ccab934515988b0b4e39ddb64ad9d1eaae2d2213862500f3ab9d07b39d742ba451878a5a70c503287431a8b64ad9d1eaae2d2213862500f3ab9d07b39d742ba451878a5a70c503287431a84ee8a9bf1e0ab917dd50b369aef7da35885061714e1bec1e775d0f0e0067aed1e0761bfed6c4af6109077900bdf8121f212b35319b18e98746303aa368595ccfe483862f7bf902ecdcb35e25ec62b0fcf7d774a74d0d00b764830e98bb99cf2b6b79d1dee6d03e4c50d9b60fffcd98966e7fad1ef3caab60e6c619a6e2ccb46e92f24d2d0732a9ac48fec12d64d195a4a416604f419f2811bec6b02a0233fee4a01b86ff73dd15c799b8a5a188304c12b0991eb9ab2ac7f52b6083c2a77d742b79b02d6783451740da05963f5bd3546f509c8e7cfb2d1f9f887734b43dbdfe2379b02d6783451740da05963f5bd3546f509c8e7cfb2d1f9f887734b43dbdfe23220abd6e7d1cf2d921dbfb695157d8746925bb2fd02259aa0645b7a239b40f2702beaa01ed15673ae0eb5cfd317c151042cf769d49e58353f3d15e0bc63e90396e5eac6d50e862c4e92bca0a670f5c61aa57dd4616fec16040339b486fcc14cff01895698faf217aa670b549cd3da6a2ab3d59054744e84545e55743cdfd8ed6907a57ddeeead620b01aaad1a552f386e0c782384c3cc3d1cd2a8fd05d7742a167f5f195da9d1e0d4be8495c7e89cab15f7e3959616d40aa14d58fa93f04790e8fa9a76e2bb0de131e890d38e1c4a58d11ffdc5c566608e55b292e09f4bb3b3b56a306a6a0265c8afc19d4a62605af508859a70018bc3d797f44891c5bf1cfcfd0dad9c61dbbf976b8149e74a52338ccf301bf9ab11b55d67566a55ff8a4e170cf523eabf6157f1dbfa642cce66cfbccbece7205a247333ebe553896bed27ecf32c065b403dc9c1e5b0426364c9516792c3fd22fe60326336b47be7662758e9832c065b403dc9c1e5b0426364c9516792c3fd22fe60326336b47be7662758e987ff26296ec33c619a5b4c6e9b4843ca80d3761476048d06bdd1c1cc97f73fb17df029767467c965736bb1003bdb873ddd1d5e982f246b0ee8ceb1a6d795f7c2451c9aa579a354b63f9b4c8be56629c9e35a1fa649c5e83a8df73659e696741cb9bb1ec3e02ae291b13423828bfa560d36767ed7b1ae76c6108b9aa2e33c8a198e50aee1163c4e2eacfb65093e4483cb41432855f5f7c17d92008e6328ef6edd3fd4cedff0435fe59b91a710d105fecd99c9af8b3827c6f94080dba10b0740cb83a1736aebe914be9e1b3a4f900bd58c90b5aaacc7a055ac96b4f760a2c00bcd3985784b035fa5d8a911b60732f456a8a7830df0d14397980db2cc13f982adfd3b8e1688a83ad1f9928dc4e7da91ff31c7b1513623d6440c73e0e9c3262096a77c51e2840a05fe125e2cf4210fcad25c38dbb8efbe05fd4a21177a322ef5f755fc701f52c6aa456c8347ee7f1adb5a55fcf2954fc5b135d45bcedcbe0e737ce1b8b15f5052f04befb8f5cdd7ff1aa2c7581ca9ad5c607d36544d548f53f4c000f8756430894237409e13958a95324440bf3a5132b77cf9910d69aed5e3f5999af19e6573d47bb1ea013459f628ec0d1b77b155c48a83af8bf4fc7732eb50c04de48470149663cc6a4803c198f0364dd4e31499ea4ecf40e16a31557e15c8dbf663ae06fbae2bf7b3ab779a1d8d7427cf71a4447d210f70718cc523b8f5b69965da081e31540954ef832ba154eb8f2d2436f4f5e33a06f85cded4891753b3c19b57b911ae39272d9174eafa6e62c5f63892d81c3ae569d84c3d4d30b2656c601acbffa2739c2972f2298cc098d4498b1bef0ab3a210035c05977ed433f79b85e46cd1aefdceb37476c0a35b6978d36e65c8426cf6216e530c6deb22ab8f95e625de3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855d7df21eb1e8bb74d65ffd382a65bb43da1376200a82d438a89b4ded63cfa80a1ad3dc5e4a574a7faf49314776761510b1f1b1637369e50e3503ecf98e7194a0801ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b78753d6ac7ba8a7d5948112d4c3a65edfc083c838de369dba99d6e153c9c731be00791bcc3e1412ab065c5da89c5f752fe8ccf253df2037150d710b04e9788d8015aabf136bc8910f574b468371aedd1d0e65a8b958b21dcc196593e57647cd392be4816fb8b9646adb5454c96390580a1be8e3e310189b66d4b9a68d550a1b3d1af3fab2ef8cc53b6c7f48bdeb178ac874b04faf4ba0159a96b6109f1d393e2rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-pycryptodomex-3.9.9-150300.3.3.1.src.rpmpython3-pycryptodomexpython3-pycryptodomex(aarch-64)@@@@@@     ld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libpthread.so.0()(64bit)python(abi)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.63.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3e_0@_)M^Y]M@]]x]w@\ \ڭ\1[[[[[@["@[;e@Z@Z?ZK@Y@Y@mcepl@suse.comhpj@urpla.netdmueller@suse.comdmueller@suse.comhpj@urpla.nethpj@urpla.nettbechtold@suse.comtchvatal@suse.comtchvatal@suse.commcalabkova@suse.comhpj@urpla.nethpj@urpla.nethpj@urpla.nethpj@urpla.nethpj@urpla.netdmueller@suse.commcalabkova@suse.comhpj@urpla.nettchvatal@suse.comhpj@urpla.nethpj@urpla.nethpj@urpla.nettoddrme2178@gmail.com- Add CVE-2023-52323-side_channel-RSA_decrypt.patch (bsc#1218564, CVE-2023-52323) fixing side-channel leakage in RSA decryption. - Add CVE-2023-52323-const_time-decoding.patch (bsc#1218564, CVE-2023-52323) using constant-time (faster) padding decoding also for OAEP.- update to 3.9.9: * GH#435: Fixed Crypto.Util.number.size for negative numbers- update to 3.9.8: * GH#426: The Shamir's secret sharing implementation is not actually compatible with ``ssss``. Added an optional parameter to enable interoperability. * GH#427: Skip altogether loading of ``gmp.dll`` on Windows. * GH#420: Fix incorrect CFB decryption when the input and the output are the same buffer. * Speed up Shamir's secret sharing routines. Thanks to ncarve.- update to 3.9.7: * GH#381: Make notarization possible again on OS X when using wheels. Thanks to Colin Atkinson. * RSA OAEP decryption was not verifying that all ``PS`` bytes are zero. * GH#372: fixed memory leak for operations that use memoryviews when `cffi` is not installed. * Fixed wrong ASN.1 OID for HMAC-SHA512 in PBE2. * GH#341: Prevent ``key_to_english`` from creating invalid data when fed with keys of length not multiple of 8. Thanks to vstoykovbg. * GH#347: Fix blocking RSA signing/decryption when key has very small factor. Thanks to Martijn Pieters. * GH#308: Align stack of functions using SSE2 intrinsics to avoid crashes, when compiled with gcc on 32-bit x86 platforms.- Use the pycryptodome tarball- Update to 3.9.2 (10 November 2019): + New features * Add Python 3.8 wheels for Mac. + Resolved issues * GH#308: Avoid allocating arrays of __m128i on the stack, to cope with buggy compilers. * GH#322: Remove blanket -O3 optimization for gcc and clang, to cope with buggy compilers. * GH#337: Fix typing stubs for signatures. * GH#338: Deal with gcc installations that don't have x86intrin.h. - Update to version 3.9.1 (1 November 2019): + New features * Add Python 3.8 wheels for Linux and Windows. + Resolved issues * GH#328: minor speed-up when importing RSA. - sync spec file with python-pycryptodome- Add export LC_ALL=en_US.UTF-8 to %build, %install and %check to fix the build on older distros- Update to 3.9.0: * Add support for loading PEM files encrypted with AES256-CBC. * Add support for XChaCha20 and XChaCha20-Poly1305 ciphers. * Add support for bcrypt key derivation function (Crypto.Protocol.KDF.bcrypt). * Add support for left multiplication of an EC point by a scalar. * Add support for importing ECC and RSA keys in the new OpenSSH format.- Update to 3.8.2: * GH#291: fix strict aliasing problem, emerged with GCC 9.1.- Update to 3.8.1 * Add support for loading PEM files encrypted with AES192-CBC, AES256-CBC, and AES256-GCM. * When importing ECC keys, ignore EC PARAMS section that was included by some openssl commands. * repr() did not work for ECC.EccKey. * Minimal length for Blowfish cipher is 32 bits, not 40 bits. 3.8.0 * Speed-up ECC performance. ECDSA is 33 times faster on the NIST P-256 curve. * Added support for NIST P-384 and P-521 curves. * EccKey has new methods size_in_bits() and size_in_bytes(). * Support HMAC-SHA224, HMAC-SHA256, HMAC-SHA384, and HMAC-SHA512 in PBE2/PBKDF2. * DER objects were not rejected if their length field had a leading zero. * Allow legacy RC2 ciphers to have 40-bit keys. * point_at_infinity() becomes an instance method for Crypto.PublicKey.ECC.EccKey, from a static one. 3.7.3 * GH#258: False positive on PSS signatures when externally provided salt is too long.- fix tarball: use the one from PyPI...- Update to 3.7.2 - Resolved issues * GH#242: Fixed compilation problem on ARM platforms. - Update to 3.7.1 - New features * Added type stubs to enable static type checking with mypy. Thanks to Michael Nix. * New ``update_after_digest`` flag for CMAC. - Resolved issues * GH#232: Fixed problem with gcc 4.x when compiling ``ghash_clmul.c``. * GH#238: Incorrect digest value produced by CMAC after cloning the object. * Method ``update()`` of an EAX cipher object was returning the underlying CMAC object, instead of the EAX object itself. * Method ``update()`` of a CMAC object was not throwing an exception after the digest was computed (with ``digest()`` or ``verify()``).- checked in python-pycrytodomex as separate package on request of Dirk Müller- fixed source url- Update to 3.7.0 - New features * Added support for Poly1305 MAC (with AES and ChaCha20 ciphers for key derivation). * Added support for ChaCha20-Poly1305 AEAD cipher. * New parameter output for Crypto.Util.strxor.strxor, Crypto.Util.strxor.strxor_c, encrypt and decrypt methods in symmetric ciphers (Crypto.Cipher package). output is a pre-allocated buffer (a bytearray or a writeable memoryview) where the result must be stored. This requires less memory for very large payloads; it is also more efficient when encrypting (or decrypting) several small payloads. - Resolved issues * GH#266: AES-GCM hangs when processing more than 4GB at a time on x86 with PCLMULQDQ instruction. - Breaks in compatibility * Drop support for Python 3.3. * Remove Crypto.Util.py3compat.unhexlify and Crypto.Util.py3compat.hexlify. * With the old Python 2.6, use only ctypes (and not cffi) to interface to native code. - Clean up spec - pycryptodomex package spec added- remove pycryptodomex copy in this package container- Update to 3.6.6 - Resolved issues: * Fix vulnerability on AESNI ECB with payloads smaller than 16 bytes. - Update to 3.5.5 - Resolved issues * Fixed incorrect AES encryption/decryption with AES acceleration on x86 due to gcc’s optimization and strict aliasing rules. * More prime number candidates than necessary where discarded as composite due to the limited way D values were searched in the Lucas test. * Fixed ResouceWarnings and DeprecationWarnings. - Update to 3.5.4 - New features: * Build Python 3.7 wheels on Linux, Windows and Mac. - Resolved issues: * More meaningful exceptions in case of mismatch in IV length (CBC/OFB/CFB modes).- Update to 3.6.3 (21 June 2018) - Resolved issues * GH#175: Fixed incorrect results for CTR encryption/decryption with more than 8 blocks. - Update to 3.6.2 (19 June 2018) - New features * ChaCha20 accepts 96 bit nonces (in addition to 64 bit nonces) as defined in RFC7539. * Accelerate AES-GCM on x86 using PCLMULQDQ instruction. * Accelerate AES-ECB and AES-CTR on x86 by pipelining AESNI instructions. * As result of the two improvements above, on x86 (Broadwell): - AES-ECB and AES-CTR are 3x faster - AES-GCM is 9x faster - Resolved issues * On Windows, MPIR library was stilled pulled in if renamed to ``gmp.dll``. - Breaks in compatibility * In ``Crypto.Util.number``, functions ``floor_div`` and ``exact_div`` have been removed. Also, ``ceil_div`` is limited to non-negative terms only. - suggesting libgmp10 and python-cffi - add license file tag- Provide/obsolete also python-crypto for py2 package- fix condition to act as drop in replacement for python-pycrypto- Update to 3.6.1 (15 April 2018) - New features * Added Google Wycheproof tests (https://github.com/google/wycheproof) for RSA, DSA, ECDSA, GCM, SIV, EAX, CMAC. * New parameter ``mac_len`` (length of MAC tag) for CMAC. - Resolved issues * In certain circumstances (at counter wrapping, which happens on average after 32 GBi) AES GCM produced wrong ciphertexts. * Method ``encrypt()`` of AES SIV cipher could be still called, whereas only ``encrypt_and_digest()`` should be allowed. - Update to 3.6.0 (8 April 2018) - New features * Introduced ``export_key`` and deprecated ``exportKey`` for DSA and RSA key objects. * Ciphers and hash functions accept ``memoryview`` objects in input. * Added support for SHA-512/224 and SHA-512/256. - Resolved issues * Reintroduced `Crypto.__version__` variable as in PyCrypto. * Fixed compilation problem with MinGW. - Update to 3.5.1 (8 March 2018) - Resolved issues * GH#142. Fix mismatch with declaration and definition of addmul128. - Update to 3.5.0 (7 March 2018) - New features * Import and export of ECC curves in compressed form. * The initial counter for a cipher in CTR mode can be a byte string (in addition to an integer). * Faster PBKDF2 for HMAC-based PRFs (at least 20x for short passwords, more for longer passwords). Thanks to Christian Heimes for pointing out the implementation was under-optimized. * The salt for PBKDF2 can be either a string or bytes (GH#67). * Ciphers and hash functions accept data as `bytearray`, not just binary strings. * The old SHA-1 and MD5 hash functions are available even when Python's own `hashlib` does not include them. - Resolved issues * Without libgmp, modular exponentiation (since v3.4.8) crashed on 32-bit big-endian systems. - Breaks in compatibility * Removed support for Python < 2.6. - Update to 3.4.12 (5 February 2018) - Resolved issues * GH#129. pycryptodomex could only be installed via wheels. - Update to 3.4.11 (5 February 2018) - Resolved issues * GH#121. the record list was still not correct due to PEP3147 and __pycache__ directories. Thanks again to John O'Brien. - Update to 3.4.10 (2 February 2018) - Resolved issues * When creating ElGamal keys, the generator wasn't a square residue: ElGamal encryption done with those keys cannot be secure under the DDH assumption. Thanks to Weikeng Chen. - Update to 3.4.9 (1 February 2018) - New features * More meaningful error messages while importing an ECC key. - Resolved issues * GH#123 and #125. The SSE2 command line switch was not always passed on 32-bit x86 platforms. * GH#121. The record list (--record) was not always correctly filled for the pycryptodomex package. Thanks to John W. O'Brien. - Update to 3.4.8 (27 January 2018) - New features * Added a native extension in pure C for modular exponentiation, optimized for SSE2 on x86. In the process, we drop support for the arbitrary arithmetic library MPIR on Windows, which is painful to compile and deploy. The custom modular exponentiation is 130% (160%) slower on an Intel CPU in 32-bit (64-bit) mode, compared to MPIR. Still, that is much faster that CPython's own `pow()` function which is 900% (855%) slower than MPIR. Support for the GMP library on Unix remains. * Added support for *manylinux* wheels. * Support for Python 3.7. - Resolved issues * The DSA parameter 'p' prime was created with 255 bits cleared (but still with the correct strength). * GH#106. Not all docs were included in the tar ball. Thanks to Christopher Hoskin. * GH#109. ECDSA verification failed for DER encoded signatures. Thanks to Alastair Houghton. * Human-friendly messages for padding errors with ECB and CBC.- provide python-crypto 2.6.1- Initial versionh04-armsrv2 1708332588  !"#$%&'()*+,-./0123456689:;<<>>@ABCDEFGHHJKLMNNPPRSTTVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'')*+,-./0123456789:;<=>?@ABCDEFGHIIKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !!#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     3.9.9-150300.3.3.13.9.9-150300.3.3.1    !!""""""!!##$$$$$$$$$$####%%&&&&&&&&%%%%'(((())****************))))))))+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+--------..////.00111111110000233244425552666277777777777777777777777777777777777777777777777777777777778899999999999999888888::::::::;;;;;;;;<<<<<<<<<<<<;;;;========>>>>>>>>>>>>>>>>>>>>>>================??@@@@@ABBBCDCryptodomeCipherAES.pyAES.pyiARC2.pyARC2.pyiARC4.pyARC4.pyiBlowfish.pyBlowfish.pyiCAST.pyCAST.pyiChaCha20.pyChaCha20.pyiChaCha20_Poly1305.pyChaCha20_Poly1305.pyiDES.pyDES.pyiDES3.pyDES3.pyiPKCS1_OAEP.pyPKCS1_OAEP.pyiPKCS1_v1_5.pyPKCS1_v1_5.pyiSalsa20.pySalsa20.pyi_ARC4.cpython-36m-aarch64-linux-gnu.so_EKSBlowfish.py_EKSBlowfish.pyi_Salsa20.cpython-36m-aarch64-linux-gnu.so__init__.py__init__.pyi__pycache__AES.cpython-36.opt-1.pycAES.cpython-36.pycARC2.cpython-36.opt-1.pycARC2.cpython-36.pycARC4.cpython-36.opt-1.pycARC4.cpython-36.pycBlowfish.cpython-36.opt-1.pycBlowfish.cpython-36.pycCAST.cpython-36.opt-1.pycCAST.cpython-36.pycChaCha20.cpython-36.opt-1.pycChaCha20.cpython-36.pycChaCha20_Poly1305.cpython-36.opt-1.pycChaCha20_Poly1305.cpython-36.pycDES.cpython-36.opt-1.pycDES.cpython-36.pycDES3.cpython-36.opt-1.pycDES3.cpython-36.pycPKCS1_OAEP.cpython-36.opt-1.pycPKCS1_OAEP.cpython-36.pycPKCS1_v1_5.cpython-36.opt-1.pycPKCS1_v1_5.cpython-36.pycSalsa20.cpython-36.opt-1.pycSalsa20.cpython-36.pyc_EKSBlowfish.cpython-36.opt-1.pyc_EKSBlowfish.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_mode_cbc.cpython-36.opt-1.pyc_mode_cbc.cpython-36.pyc_mode_ccm.cpython-36.opt-1.pyc_mode_ccm.cpython-36.pyc_mode_cfb.cpython-36.opt-1.pyc_mode_cfb.cpython-36.pyc_mode_ctr.cpython-36.opt-1.pyc_mode_ctr.cpython-36.pyc_mode_eax.cpython-36.opt-1.pyc_mode_eax.cpython-36.pyc_mode_ecb.cpython-36.opt-1.pyc_mode_ecb.cpython-36.pyc_mode_gcm.cpython-36.opt-1.pyc_mode_gcm.cpython-36.pyc_mode_ocb.cpython-36.opt-1.pyc_mode_ocb.cpython-36.pyc_mode_ofb.cpython-36.opt-1.pyc_mode_ofb.cpython-36.pyc_mode_openpgp.cpython-36.opt-1.pyc_mode_openpgp.cpython-36.pyc_mode_siv.cpython-36.opt-1.pyc_mode_siv.cpython-36.pyc_pkcs1_oaep_decode.cpython-36.opt-1.pyc_pkcs1_oaep_decode.cpython-36.pyc_chacha20.cpython-36m-aarch64-linux-gnu.so_mode_cbc.py_mode_cbc.pyi_mode_ccm.py_mode_ccm.pyi_mode_cfb.py_mode_cfb.pyi_mode_ctr.py_mode_ctr.pyi_mode_eax.py_mode_eax.pyi_mode_ecb.py_mode_ecb.pyi_mode_gcm.py_mode_gcm.pyi_mode_ocb.py_mode_ocb.pyi_mode_ofb.py_mode_ofb.pyi_mode_openpgp.py_mode_openpgp.pyi_mode_siv.py_mode_siv.pyi_pkcs1_decode.cpython-36m-aarch64-linux-gnu.so_pkcs1_oaep_decode.py_raw_aes.cpython-36m-aarch64-linux-gnu.so_raw_arc2.cpython-36m-aarch64-linux-gnu.so_raw_blowfish.cpython-36m-aarch64-linux-gnu.so_raw_cast.cpython-36m-aarch64-linux-gnu.so_raw_cbc.cpython-36m-aarch64-linux-gnu.so_raw_cfb.cpython-36m-aarch64-linux-gnu.so_raw_ctr.cpython-36m-aarch64-linux-gnu.so_raw_des.cpython-36m-aarch64-linux-gnu.so_raw_des3.cpython-36m-aarch64-linux-gnu.so_raw_ecb.cpython-36m-aarch64-linux-gnu.so_raw_eksblowfish.cpython-36m-aarch64-linux-gnu.so_raw_ocb.cpython-36m-aarch64-linux-gnu.so_raw_ofb.cpython-36m-aarch64-linux-gnu.soHashBLAKE2b.pyBLAKE2b.pyiBLAKE2s.pyBLAKE2s.pyiCMAC.pyCMAC.pyiHMAC.pyHMAC.pyiMD2.pyMD2.pyiMD4.pyMD4.pyiMD5.pyMD5.pyiPoly1305.pyPoly1305.pyiRIPEMD.pyRIPEMD.pyiRIPEMD160.pyRIPEMD160.pyiSHA.pySHA.pyiSHA1.pySHA1.pyiSHA224.pySHA224.pyiSHA256.pySHA256.pyiSHA384.pySHA384.pyiSHA3_224.pySHA3_224.pyiSHA3_256.pySHA3_256.pyiSHA3_384.pySHA3_384.pyiSHA3_512.pySHA3_512.pyiSHA512.pySHA512.pyiSHAKE128.pySHAKE128.pyiSHAKE256.pySHAKE256.pyi_BLAKE2b.cpython-36m-aarch64-linux-gnu.so_BLAKE2s.cpython-36m-aarch64-linux-gnu.so_MD2.cpython-36m-aarch64-linux-gnu.so_MD4.cpython-36m-aarch64-linux-gnu.so_MD5.cpython-36m-aarch64-linux-gnu.so_RIPEMD160.cpython-36m-aarch64-linux-gnu.so_SHA1.cpython-36m-aarch64-linux-gnu.so_SHA224.cpython-36m-aarch64-linux-gnu.so_SHA256.cpython-36m-aarch64-linux-gnu.so_SHA384.cpython-36m-aarch64-linux-gnu.so_SHA512.cpython-36m-aarch64-linux-gnu.so__init__.py__init__.pyi__pycache__BLAKE2b.cpython-36.opt-1.pycBLAKE2b.cpython-36.pycBLAKE2s.cpython-36.opt-1.pycBLAKE2s.cpython-36.pycCMAC.cpython-36.opt-1.pycCMAC.cpython-36.pycHMAC.cpython-36.opt-1.pycHMAC.cpython-36.pycMD2.cpython-36.opt-1.pycMD2.cpython-36.pycMD4.cpython-36.opt-1.pycMD4.cpython-36.pycMD5.cpython-36.opt-1.pycMD5.cpython-36.pycPoly1305.cpython-36.opt-1.pycPoly1305.cpython-36.pycRIPEMD.cpython-36.opt-1.pycRIPEMD.cpython-36.pycRIPEMD160.cpython-36.opt-1.pycRIPEMD160.cpython-36.pycSHA.cpython-36.opt-1.pycSHA.cpython-36.pycSHA1.cpython-36.opt-1.pycSHA1.cpython-36.pycSHA224.cpython-36.opt-1.pycSHA224.cpython-36.pycSHA256.cpython-36.opt-1.pycSHA256.cpython-36.pycSHA384.cpython-36.opt-1.pycSHA384.cpython-36.pycSHA3_224.cpython-36.opt-1.pycSHA3_224.cpython-36.pycSHA3_256.cpython-36.opt-1.pycSHA3_256.cpython-36.pycSHA3_384.cpython-36.opt-1.pycSHA3_384.cpython-36.pycSHA3_512.cpython-36.opt-1.pycSHA3_512.cpython-36.pycSHA512.cpython-36.opt-1.pycSHA512.cpython-36.pycSHAKE128.cpython-36.opt-1.pycSHAKE128.cpython-36.pycSHAKE256.cpython-36.opt-1.pycSHAKE256.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pyckeccak.cpython-36.opt-1.pyckeccak.cpython-36.pyc_ghash_portable.cpython-36m-aarch64-linux-gnu.so_keccak.cpython-36m-aarch64-linux-gnu.so_poly1305.cpython-36m-aarch64-linux-gnu.sokeccak.pykeccak.pyiIOPEM.pyPEM.pyiPKCS8.pyPKCS8.pyi_PBES.py_PBES.pyi__init__.py__pycache__PEM.cpython-36.opt-1.pycPEM.cpython-36.pycPKCS8.cpython-36.opt-1.pycPKCS8.cpython-36.pyc_PBES.cpython-36.opt-1.pyc_PBES.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pycMathNumbers.pyNumbers.pyiPrimality.pyPrimality.pyi_IntegerBase.py_IntegerBase.pyi_IntegerCustom.py_IntegerCustom.pyi_IntegerGMP.py_IntegerGMP.pyi_IntegerNative.py_IntegerNative.pyi__init__.py__pycache__Numbers.cpython-36.opt-1.pycNumbers.cpython-36.pycPrimality.cpython-36.opt-1.pycPrimality.cpython-36.pyc_IntegerBase.cpython-36.opt-1.pyc_IntegerBase.cpython-36.pyc_IntegerCustom.cpython-36.opt-1.pyc_IntegerCustom.cpython-36.pyc_IntegerGMP.cpython-36.opt-1.pyc_IntegerGMP.cpython-36.pyc_IntegerNative.cpython-36.opt-1.pyc_IntegerNative.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_modexp.cpython-36m-aarch64-linux-gnu.soProtocolKDF.pyKDF.pyiSecretSharing.pySecretSharing.pyi__init__.py__init__.pyi__pycache__KDF.cpython-36.opt-1.pycKDF.cpython-36.pycSecretSharing.cpython-36.opt-1.pycSecretSharing.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_scrypt.cpython-36m-aarch64-linux-gnu.soPublicKeyDSA.pyDSA.pyiECC.pyECC.pyiElGamal.pyElGamal.pyiRSA.pyRSA.pyi__init__.py__init__.pyi__pycache__DSA.cpython-36.opt-1.pycDSA.cpython-36.pycECC.cpython-36.opt-1.pycECC.cpython-36.pycElGamal.cpython-36.opt-1.pycElGamal.cpython-36.pycRSA.cpython-36.opt-1.pycRSA.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_openssh.cpython-36.opt-1.pyc_openssh.cpython-36.pyc_ec_ws.cpython-36m-aarch64-linux-gnu.so_openssh.py_openssh.pyiRandom__init__.py__init__.pyi__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycrandom.cpython-36.opt-1.pycrandom.cpython-36.pycrandom.pyrandom.pyiSelfTestCipher__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyccommon.cpython-36.opt-1.pyccommon.cpython-36.pyctest_AES.cpython-36.opt-1.pyctest_AES.cpython-36.pyctest_ARC2.cpython-36.opt-1.pyctest_ARC2.cpython-36.pyctest_ARC4.cpython-36.opt-1.pyctest_ARC4.cpython-36.pyctest_Blowfish.cpython-36.opt-1.pyctest_Blowfish.cpython-36.pyctest_CAST.cpython-36.opt-1.pyctest_CAST.cpython-36.pyctest_CBC.cpython-36.opt-1.pyctest_CBC.cpython-36.pyctest_CCM.cpython-36.opt-1.pyctest_CCM.cpython-36.pyctest_CFB.cpython-36.opt-1.pyctest_CFB.cpython-36.pyctest_CTR.cpython-36.opt-1.pyctest_CTR.cpython-36.pyctest_ChaCha20.cpython-36.opt-1.pyctest_ChaCha20.cpython-36.pyctest_ChaCha20_Poly1305.cpython-36.opt-1.pyctest_ChaCha20_Poly1305.cpython-36.pyctest_DES.cpython-36.opt-1.pyctest_DES.cpython-36.pyctest_DES3.cpython-36.opt-1.pyctest_DES3.cpython-36.pyctest_EAX.cpython-36.opt-1.pyctest_EAX.cpython-36.pyctest_GCM.cpython-36.opt-1.pyctest_GCM.cpython-36.pyctest_OCB.cpython-36.opt-1.pyctest_OCB.cpython-36.pyctest_OFB.cpython-36.opt-1.pyctest_OFB.cpython-36.pyctest_OpenPGP.cpython-36.opt-1.pyctest_OpenPGP.cpython-36.pyctest_SIV.cpython-36.opt-1.pyctest_SIV.cpython-36.pyctest_Salsa20.cpython-36.opt-1.pyctest_Salsa20.cpython-36.pyctest_pkcs1_15.cpython-36.opt-1.pyctest_pkcs1_15.cpython-36.pyctest_pkcs1_oaep.cpython-36.opt-1.pyctest_pkcs1_oaep.cpython-36.pyccommon.pytest_AES.pytest_ARC2.pytest_ARC4.pytest_Blowfish.pytest_CAST.pytest_CBC.pytest_CCM.pytest_CFB.pytest_CTR.pytest_ChaCha20.pytest_ChaCha20_Poly1305.pytest_DES.pytest_DES3.pytest_EAX.pytest_GCM.pytest_OCB.pytest_OFB.pytest_OpenPGP.pytest_SIV.pytest_Salsa20.pytest_pkcs1_15.pytest_pkcs1_oaep.pytest_vectorsAESCBCGFSbox128.rspCBCGFSbox192.rspCBCGFSbox256.rspCBCKeySbox128.rspCBCKeySbox192.rspCBCKeySbox256.rspCBCMCT128.rspCBCMCT192.rspCBCMCT256.rspCBCMMT128.rspCBCMMT192.rspCBCMMT256.rspCBCVarKey128.rspCBCVarKey192.rspCBCVarKey256.rspCBCVarTxt128.rspCBCVarTxt192.rspCBCVarTxt256.rspCFB128GFSbox128.rspCFB128GFSbox192.rspCFB128GFSbox256.rspCFB128KeySbox128.rspCFB128KeySbox192.rspCFB128KeySbox256.rspCFB128MCT128.rspCFB128MCT192.rspCFB128MCT256.rspCFB128MMT128.rspCFB128MMT192.rspCFB128MMT256.rspCFB128VarKey128.rspCFB128VarKey192.rspCFB128VarKey256.rspCFB128VarTxt128.rspCFB128VarTxt192.rspCFB128VarTxt256.rspCFB8GFSbox128.rspCFB8GFSbox192.rspCFB8GFSbox256.rspCFB8KeySbox128.rspCFB8KeySbox192.rspCFB8KeySbox256.rspCFB8MCT128.rspCFB8MCT192.rspCFB8MCT256.rspCFB8MMT128.rspCFB8MMT192.rspCFB8MMT256.rspCFB8VarKey128.rspCFB8VarKey192.rspCFB8VarKey256.rspCFB8VarTxt128.rspCFB8VarTxt192.rspCFB8VarTxt256.rspOFBGFSbox128.rspOFBGFSbox192.rspOFBGFSbox256.rspOFBKeySbox128.rspOFBKeySbox192.rspOFBKeySbox256.rspOFBMCT128.rspOFBMCT192.rspOFBMCT256.rspOFBMMT128.rspOFBMMT192.rspOFBMMT256.rspOFBVarKey128.rspOFBVarKey192.rspOFBVarKey256.rspOFBVarTxt128.rspOFBVarTxt192.rspOFBVarTxt256.rspREADME.txtgcmDecrypt128.rspgcmEncryptExtIV128.rspTDESREADME.txtTCBCMMT2.rspTCBCMMT3.rspTCBCinvperm.rspTCBCpermop.rspTCBCsubtab.rspTCBCvarkey.rspTCBCvartext.rspTCFB64MMT2.rspTCFB64MMT3.rspTCFB64invperm.rspTCFB64permop.rspTCFB64subtab.rspTCFB64varkey.rspTCFB64vartext.rspTCFB8MMT2.rspTCFB8MMT3.rspTCFB8invperm.rspTCFB8permop.rspTCFB8subtab.rspTCFB8varkey.rspTCFB8vartext.rspTECBMMT2.rspTECBMMT3.rspTOFBMMT2.rspTOFBMMT3.rspTOFBinvperm.rspTOFBpermop.rspTOFBsubtab.rspTOFBvarkey.rspTOFBvartext.rspwycheproofaead_aes_siv_cmac_test.jsonaes_ccm_test.jsonaes_eax_test.jsonaes_gcm_test.jsonaes_siv_cmac_test.jsonchacha20_poly1305_test.jsonrsa_oaep_2048_sha1_mgf1sha1_test.jsonrsa_oaep_2048_sha224_mgf1sha1_test.jsonrsa_oaep_2048_sha224_mgf1sha224_test.jsonrsa_oaep_2048_sha256_mgf1sha1_test.jsonrsa_oaep_2048_sha256_mgf1sha256_test.jsonrsa_oaep_2048_sha384_mgf1sha1_test.jsonrsa_oaep_2048_sha384_mgf1sha384_test.jsonrsa_oaep_2048_sha512_mgf1sha1_test.jsonrsa_oaep_2048_sha512_mgf1sha512_test.jsonrsa_oaep_3072_sha256_mgf1sha1_test.jsonrsa_oaep_3072_sha256_mgf1sha256_test.jsonrsa_oaep_3072_sha512_mgf1sha1_test.jsonrsa_oaep_3072_sha512_mgf1sha512_test.jsonrsa_oaep_4096_sha256_mgf1sha1_test.jsonrsa_oaep_4096_sha256_mgf1sha256_test.jsonrsa_oaep_4096_sha512_mgf1sha1_test.jsonrsa_oaep_4096_sha512_mgf1sha512_test.jsonrsa_oaep_misc_test.jsonrsa_pkcs1_2048_test.jsonrsa_pkcs1_3072_test.jsonrsa_pkcs1_4096_test.jsonxchacha20_poly1305_test.jsonHash__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyccommon.cpython-36.opt-1.pyccommon.cpython-36.pyctest_BLAKE2.cpython-36.opt-1.pyctest_BLAKE2.cpython-36.pyctest_CMAC.cpython-36.opt-1.pyctest_CMAC.cpython-36.pyctest_HMAC.cpython-36.opt-1.pyctest_HMAC.cpython-36.pyctest_MD2.cpython-36.opt-1.pyctest_MD2.cpython-36.pyctest_MD4.cpython-36.opt-1.pyctest_MD4.cpython-36.pyctest_MD5.cpython-36.opt-1.pyctest_MD5.cpython-36.pyctest_Poly1305.cpython-36.opt-1.pyctest_Poly1305.cpython-36.pyctest_RIPEMD160.cpython-36.opt-1.pyctest_RIPEMD160.cpython-36.pyctest_SHA1.cpython-36.opt-1.pyctest_SHA1.cpython-36.pyctest_SHA224.cpython-36.opt-1.pyctest_SHA224.cpython-36.pyctest_SHA256.cpython-36.opt-1.pyctest_SHA256.cpython-36.pyctest_SHA384.cpython-36.opt-1.pyctest_SHA384.cpython-36.pyctest_SHA3_224.cpython-36.opt-1.pyctest_SHA3_224.cpython-36.pyctest_SHA3_256.cpython-36.opt-1.pyctest_SHA3_256.cpython-36.pyctest_SHA3_384.cpython-36.opt-1.pyctest_SHA3_384.cpython-36.pyctest_SHA3_512.cpython-36.opt-1.pyctest_SHA3_512.cpython-36.pyctest_SHA512.cpython-36.opt-1.pyctest_SHA512.cpython-36.pyctest_SHAKE.cpython-36.opt-1.pyctest_SHAKE.cpython-36.pyctest_keccak.cpython-36.opt-1.pyctest_keccak.cpython-36.pyccommon.pytest_BLAKE2.pytest_CMAC.pytest_HMAC.pytest_MD2.pytest_MD4.pytest_MD5.pytest_Poly1305.pytest_RIPEMD160.pytest_SHA1.pytest_SHA224.pytest_SHA256.pytest_SHA384.pytest_SHA3_224.pytest_SHA3_256.pytest_SHA3_384.pytest_SHA3_512.pytest_SHA512.pytest_SHAKE.pytest_keccak.pytest_vectorsBLAKE2bblake2b-test.txttv1.txttv2.txtBLAKE2sblake2s-test.txttv1.txttv2.txtSHA1SHA1ShortMsg.rspSHA2SHA512ShortMsg.rspSHA512_224ShortMsg.rspSHA512_256ShortMsg.rspSHA3ShortMsgKAT_SHA3-224.txtShortMsgKAT_SHA3-256.txtShortMsgKAT_SHA3-384.txtShortMsgKAT_SHA3-512.txtShortMsgKAT_SHAKE128.txtShortMsgKAT_SHAKE256.txtkeccakExtremelyLongMsgKAT_224.txtExtremelyLongMsgKAT_256.txtExtremelyLongMsgKAT_384.txtExtremelyLongMsgKAT_512.txtLongMsgKAT_224.txtLongMsgKAT_256.txtLongMsgKAT_384.txtLongMsgKAT_512.txtShortMsgKAT_224.txtShortMsgKAT_256.txtShortMsgKAT_384.txtShortMsgKAT_512.txtreadme.txtwycheproofaes_cmac_test.jsonIO__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_PBES.cpython-36.opt-1.pyctest_PBES.cpython-36.pyctest_PKCS8.cpython-36.opt-1.pyctest_PKCS8.cpython-36.pyctest_PBES.pytest_PKCS8.pyMath__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_Numbers.cpython-36.opt-1.pyctest_Numbers.cpython-36.pyctest_Primality.cpython-36.opt-1.pyctest_Primality.cpython-36.pyctest_modexp.cpython-36.opt-1.pyctest_modexp.cpython-36.pyctest_modmult.cpython-36.opt-1.pyctest_modmult.cpython-36.pyctest_Numbers.pytest_Primality.pytest_modexp.pytest_modmult.pyProtocol__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_KDF.cpython-36.opt-1.pyctest_KDF.cpython-36.pyctest_SecretSharing.cpython-36.opt-1.pyctest_SecretSharing.cpython-36.pyctest_rfc1751.cpython-36.opt-1.pyctest_rfc1751.cpython-36.pyctest_KDF.pytest_SecretSharing.pytest_rfc1751.pytest_vectorswycheproofhkdf_sha1_test.jsonhkdf_sha256_test.jsonhkdf_sha384_test.jsonhkdf_sha512_test.jsonPublicKey__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_DSA.cpython-36.opt-1.pyctest_DSA.cpython-36.pyctest_ECC.cpython-36.opt-1.pyctest_ECC.cpython-36.pyctest_ElGamal.cpython-36.opt-1.pyctest_ElGamal.cpython-36.pyctest_RSA.cpython-36.opt-1.pyctest_RSA.cpython-36.pyctest_import_DSA.cpython-36.opt-1.pyctest_import_DSA.cpython-36.pyctest_import_ECC.cpython-36.opt-1.pyctest_import_ECC.cpython-36.pyctest_import_RSA.cpython-36.opt-1.pyctest_import_RSA.cpython-36.pyctest_DSA.pytest_ECC.pytest_ElGamal.pytest_RSA.pytest_import_DSA.pytest_import_ECC.pytest_import_RSA.pytest_vectorsECCecc_p256.txtecc_p256_private.derecc_p256_private.pemecc_p256_private_ecparams.pemecc_p256_private_enc_aes128.pemecc_p256_private_enc_aes192.pemecc_p256_private_enc_aes256.pemecc_p256_private_enc_aes256_gcm.pemecc_p256_private_enc_des3.pemecc_p256_private_openssh.pemecc_p256_private_openssh_old.pemecc_p256_private_openssh_pwd.pemecc_p256_private_openssh_pwd_old.pemecc_p256_private_p8.derecc_p256_private_p8.pemecc_p256_private_p8_clear.derecc_p256_private_p8_clear.pemecc_p256_public.derecc_p256_public.pemecc_p256_public_compressed.derecc_p256_public_compressed.pemecc_p256_public_openssh.txtecc_p256_x509.derecc_p256_x509.pemecc_p384.txtecc_p384_private.derecc_p384_private.pemecc_p384_private_enc_aes128.pemecc_p384_private_enc_aes192.pemecc_p384_private_enc_aes256.pemecc_p384_private_enc_aes256_gcm.pemecc_p384_private_enc_des3.pemecc_p384_private_openssh.pemecc_p384_private_openssh_old.pemecc_p384_private_openssh_pwd.pemecc_p384_private_openssh_pwd_old.pemecc_p384_private_p8.derecc_p384_private_p8.pemecc_p384_private_p8_clear.derecc_p384_private_p8_clear.pemecc_p384_public.derecc_p384_public.pemecc_p384_public_compressed.derecc_p384_public_compressed.pemecc_p384_public_openssh.txtecc_p384_x509.derecc_p384_x509.pemecc_p521.txtecc_p521_private.derecc_p521_private.pemecc_p521_private_enc_aes128.pemecc_p521_private_enc_aes192.pemecc_p521_private_enc_aes256.pemecc_p521_private_enc_aes256_gcm.pemecc_p521_private_enc_des3.pemecc_p521_private_openssh.pemecc_p521_private_openssh_old.pemecc_p521_private_openssh_pwd.pemecc_p521_private_openssh_pwd_old.pemecc_p521_private_p8.derecc_p521_private_p8.pemecc_p521_private_p8_clear.derecc_p521_private_p8_clear.pemecc_p521_public.derecc_p521_public.pemecc_p521_public_compressed.derecc_p521_public_compressed.pemecc_p521_public_openssh.txtecc_p521_x509.derecc_p521_x509.pemgen_ecc_p256.shgen_ecc_p384.shgen_ecc_p521.shopenssl_version.txtopenssl_version_p384.txtopenssl_version_p521.txtpoint-at-infinity.org-P256.txtpoint-at-infinity.org-P384.txtpoint-at-infinity.org-P521.txtRSAgen_rsa_2048.shopenssl_version.txtrsa2048_private.pemrsa2048_private_openssh.pemrsa2048_private_openssh_old.pemrsa2048_private_openssh_pwd.pemrsa2048_private_openssh_pwd_old.pemrsa2048_public_openssh.txtRandom__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_random.cpython-36.opt-1.pyctest_random.cpython-36.pyctest_random.pySignature__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_dss.cpython-36.opt-1.pyctest_dss.cpython-36.pyctest_pkcs1_15.cpython-36.opt-1.pyctest_pkcs1_15.cpython-36.pyctest_pss.cpython-36.opt-1.pyctest_pss.cpython-36.pyctest_dss.pytest_pkcs1_15.pytest_pss.pytest_vectorsDSAFIPS_186_3_SigGen.txtFIPS_186_3_SigVer.rspECDSAREADME.txtSigGen.txtSigVer.rspPKCS1-PSSSigGenPSS_186-2.txtSigGenPSS_186-3.txtSigVerPSS_186-3.rspPKCS1-v1.5SigGen15_186-2.txtSigGen15_186-3.txtSigVer15_186-3.rspwycheproofdsa_test.jsonecdsa_secp224r1_sha224_p1363_test.jsonecdsa_secp224r1_sha224_test.jsonecdsa_secp224r1_sha256_p1363_test.jsonecdsa_secp224r1_sha256_test.jsonecdsa_secp224r1_sha3_224_test.jsonecdsa_secp224r1_sha3_256_test.jsonecdsa_secp224r1_sha3_512_test.jsonecdsa_secp224r1_sha512_p1363_test.jsonecdsa_secp224r1_sha512_test.jsonecdsa_secp256r1_sha256_p1363_test.jsonecdsa_secp256r1_sha256_test.jsonecdsa_secp256r1_sha3_256_test.jsonecdsa_secp256r1_sha3_512_test.jsonecdsa_secp256r1_sha512_p1363_test.jsonecdsa_secp256r1_sha512_test.jsonecdsa_secp384r1_sha384_p1363_test.jsonecdsa_secp384r1_sha384_test.jsonecdsa_secp384r1_sha3_384_test.jsonecdsa_secp384r1_sha3_512_test.jsonecdsa_secp384r1_sha512_p1363_test.jsonecdsa_secp384r1_sha512_test.jsonecdsa_secp521r1_sha3_512_test.jsonecdsa_secp521r1_sha512_p1363_test.jsonecdsa_secp521r1_sha512_test.jsonecdsa_test.jsonecdsa_webcrypto_test.jsonrsa_pss_2048_sha1_mgf1_20_test.jsonrsa_pss_2048_sha256_mgf1_0_test.jsonrsa_pss_2048_sha256_mgf1_32_test.jsonrsa_pss_2048_sha512_256_mgf1_28_test.jsonrsa_pss_2048_sha512_256_mgf1_32_test.jsonrsa_pss_3072_sha256_mgf1_32_test.jsonrsa_pss_4096_sha256_mgf1_32_test.jsonrsa_pss_4096_sha512_mgf1_32_test.jsonrsa_pss_misc_test.jsonrsa_sig_gen_misc_test.jsonrsa_signature_2048_sha224_test.jsonrsa_signature_2048_sha256_test.jsonrsa_signature_2048_sha384_test.jsonrsa_signature_2048_sha3_224_test.jsonrsa_signature_2048_sha3_256_test.jsonrsa_signature_2048_sha3_384_test.jsonrsa_signature_2048_sha3_512_test.jsonrsa_signature_2048_sha512_224_test.jsonrsa_signature_2048_sha512_256_test.jsonrsa_signature_2048_sha512_test.jsonrsa_signature_3072_sha256_test.jsonrsa_signature_3072_sha384_test.jsonrsa_signature_3072_sha3_256_test.jsonrsa_signature_3072_sha3_384_test.jsonrsa_signature_3072_sha3_512_test.jsonrsa_signature_3072_sha512_256_test.jsonrsa_signature_3072_sha512_test.jsonrsa_signature_4096_sha384_test.jsonrsa_signature_4096_sha512_256_test.jsonrsa_signature_4096_sha512_test.jsonrsa_signature_test.jsonUtil__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_Counter.cpython-36.opt-1.pyctest_Counter.cpython-36.pyctest_Padding.cpython-36.opt-1.pyctest_Padding.cpython-36.pyctest_asn1.cpython-36.opt-1.pyctest_asn1.cpython-36.pyctest_number.cpython-36.opt-1.pyctest_number.cpython-36.pyctest_rfc1751.cpython-36.opt-1.pyctest_rfc1751.cpython-36.pyctest_strxor.cpython-36.opt-1.pyctest_strxor.cpython-36.pyctest_Counter.pytest_Padding.pytest_asn1.pytest_number.pytest_rfc1751.pytest_strxor.py__init__.py__main__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc__main__.cpython-36.opt-1.pyc__main__.cpython-36.pycloader.cpython-36.opt-1.pycloader.cpython-36.pycst_common.cpython-36.opt-1.pycst_common.cpython-36.pycloader.pyst_common.pySignatureDSS.pyDSS.pyiPKCS1_PSS.pyPKCS1_PSS.pyiPKCS1_v1_5.pyPKCS1_v1_5.pyi__init__.py__pycache__DSS.cpython-36.opt-1.pycDSS.cpython-36.pycPKCS1_PSS.cpython-36.opt-1.pycPKCS1_PSS.cpython-36.pycPKCS1_v1_5.cpython-36.opt-1.pycPKCS1_v1_5.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pycpkcs1_15.cpython-36.opt-1.pycpkcs1_15.cpython-36.pycpss.cpython-36.opt-1.pycpss.cpython-36.pycpkcs1_15.pypkcs1_15.pyipss.pypss.pyiUtilCounter.pyCounter.pyiPadding.pyPadding.pyiRFC1751.pyRFC1751.pyi__init__.py__pycache__Counter.cpython-36.opt-1.pycCounter.cpython-36.pycPadding.cpython-36.opt-1.pycPadding.cpython-36.pycRFC1751.cpython-36.opt-1.pycRFC1751.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_cpu_features.cpython-36.opt-1.pyc_cpu_features.cpython-36.pyc_file_system.cpython-36.opt-1.pyc_file_system.cpython-36.pyc_raw_api.cpython-36.opt-1.pyc_raw_api.cpython-36.pycasn1.cpython-36.opt-1.pycasn1.cpython-36.pycnumber.cpython-36.opt-1.pycnumber.cpython-36.pycpy3compat.cpython-36.opt-1.pycpy3compat.cpython-36.pycstrxor.cpython-36.opt-1.pycstrxor.cpython-36.pyc_cpu_features.py_cpu_features.pyi_cpuid_c.cpython-36m-aarch64-linux-gnu.so_file_system.py_file_system.pyi_raw_api.py_raw_api.pyi_strxor.cpython-36m-aarch64-linux-gnu.soasn1.pyasn1.pyinumber.pynumber.pyipy3compat.pypy3compat.pyistrxor.pystrxor.pyi__init__.py__init__.pyi__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycpy.typedpycryptodomex-3.9.9-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtnot-zip-safetop_level.txtpython3-pycryptodomexAUTHORS.rstChangelog.rstREADME.rstpython3-pycryptodomexLICENSE.rst/usr/lib64/python3.6/site-packages//usr/lib64/python3.6/site-packages/Cryptodome//usr/lib64/python3.6/site-packages/Cryptodome/Cipher//usr/lib64/python3.6/site-packages/Cryptodome/Cipher/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/Hash//usr/lib64/python3.6/site-packages/Cryptodome/Hash/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/IO//usr/lib64/python3.6/site-packages/Cryptodome/IO/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/Math//usr/lib64/python3.6/site-packages/Cryptodome/Math/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/Protocol//usr/lib64/python3.6/site-packages/Cryptodome/Protocol/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/PublicKey//usr/lib64/python3.6/site-packages/Cryptodome/PublicKey/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/Random//usr/lib64/python3.6/site-packages/Cryptodome/Random/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Cipher//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Cipher/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Cipher/test_vectors//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Cipher/test_vectors/AES//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Cipher/test_vectors/TDES//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Cipher/test_vectors/wycheproof//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/test_vectors//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/test_vectors/BLAKE2b//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/test_vectors/BLAKE2s//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/test_vectors/SHA1//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/test_vectors/SHA2//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/test_vectors/SHA3//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/test_vectors/keccak//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/test_vectors/wycheproof//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/IO//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/IO/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Math//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Math/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Protocol//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Protocol/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Protocol/test_vectors//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Protocol/test_vectors/wycheproof//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/PublicKey//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/PublicKey/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/PublicKey/test_vectors//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/PublicKey/test_vectors/ECC//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/PublicKey/test_vectors/RSA//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Random//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Random/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Signature//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Signature/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Signature/test_vectors//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Signature/test_vectors/DSA//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Signature/test_vectors/ECDSA//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Signature/test_vectors/PKCS1-PSS//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Signature/test_vectors/PKCS1-v1.5//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Signature/test_vectors/wycheproof//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Util//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Util/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/Signature//usr/lib64/python3.6/site-packages/Cryptodome/Signature/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/Util//usr/lib64/python3.6/site-packages/Cryptodome/Util/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/__pycache__//usr/lib64/python3.6/site-packages/pycryptodomex-3.9.9-py3.6.egg-info//usr/share/doc/packages//usr/share/doc/packages/python3-pycryptodomex//usr/share/licenses//usr/share/licenses/python3-pycryptodomex/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:32629/SUSE_SLE-15-SP3_Update/c0a089ff2434467f0b883b21e402be14-python-pycryptodomex.SUSE_SLE-15-SP3_Updatedrpmxz5aarch64-suse-linux  !"#$%&%'((((((((()))((((((((((((((()))((((((((((((((((((((((((((((((((()))((((((((((((((((((((((((((((((((((((((**************************((((******++++********,,,,%****,,------------------------------------------------....----,))))))))*****************************************,/01--+directoryPython script, ASCII text executableELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a95aae53424ac961ffb832357b6155c914ebc0b2, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b23af7e490b1ada4ae144f0d7e672fa90da29ce2, strippedemptypython 3.6 byte-compiledELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1d54f23943e7a10a52133fb1a0bd7be9b1a0a92e, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=70246ac6818ea317de6eb2103df7ecb1347fdc75, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=666a1b49a487131542d64b6ebb0e5d0d14e47df3, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=54f6ea392db76bafbc1147fb4c212bab864ea8a0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2b5a795c4d41971efe7510af3603e1e1cc2694c2, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=22656356b235a507cabb88e76508ad792b4af231, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=cc1d4e0b85ad4be959a6888954d8d4ad7e109b7b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=722f4da87cb4aa18425bf12da79da7cf927a0a4a, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=770b24e71e1863566e8dc88a4d3e1ceac0387185, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ca93dac07960a46af96559ff9a7a4afea9561657, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ec23f352ff851b2f8ef9d7db04e2c7c3d9b2ff48, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c31ce412eb512e5db3fa9db527b609e557bb09de, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=527c734e08143dc2378d7ede9575d3e77e9b6e3a, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4f2e6079889285b256cb32a98242828233af9110, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=020f65ee6c4fecd3aa41d5950a47ae4fda43688f, strippedASCII textELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=488707f18f4ad2da86f4c2e5d63b36144cb9baa2, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5fae717948f1cf6b09b4e4b8ae2ebbe580a7eb02, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f516129cc4e7543e8aade5476dac527e4a0e0f35, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d1c34cc04002aea0eaf1522b29ccd6ac9eaf26af, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1046ef66965f3cd2388600942262c75c3493482a, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=9bc408b6a47307611e9408364ed7d7b3833ca327, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b63a4071fadeb03f1465c349fcd5f91212c0deec, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=52d93326055053914e4e52e490c7e43d5115a2a1, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=93bbf347c7b4cfe484864cc81e4984ead2f9c34a, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=73b954d431632fda87f6c01bc9b5bb576f88be30, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=dedbecaea3cae6abb1d1efcab23e00ad87c9f5a8, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4d2ef783ddc60364747065c6cc4e157bb269d06c, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=39a4d9cb38af2bcfcaf2b09dbcf916a89df3ce83, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7801b62e80f91b736602c7645bbfc36c7fc06fa9, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c2bfad7024e0ab5ecd742724297104850abde8dc, strippedPython script, UTF-8 Unicode text executableELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=115e85a623b1bb6fce1ec0f8ad8db1a0558295ce, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=442ad1052dd148a27662fb0f8c84cf0fc78b23af, strippedASCII text, with CRLF line terminatorsASCII text, with very long lines, with CRLF line terminatorsASCII text, with very long linesUTF-8 Unicode textPython script, ASCII text executable, with very long linesPOSIX shell script, ASCII text executablea /usr/bin/env python script, ASCII text executableELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6adc4c762513d9c08391481b51b3f95c451a3ab4, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f6433d1bad7db9dfd31f2d2f8b1febe0dbc81197, stripped $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY_`abcdefghijklmnopqrstuyz~ #)/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`flrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR@fAY#$0+olibgmp10python3-cffiutf-8ce689db2c76177b75ed31d5bedf8c77325e68ec77915c712972f4d6fa7ce915a?7zXZ !t/qD]"k%pa Ch.vMm@:o=籂2Q{ cwRcP:bZ&3(`1?Blp(vN(ڬ}HSH~x=*o/UDq-F/@#*$2L;Bwe}gLݐ52; W TSl<`Y1[^I(Tcp9ŁZ[S(ny0uEmO4on ɗ;H`mlѵ6G>QcfTZ&)MR þvKF=[mFk'%!XkU=NqZh<'QÀN4q gR+_ۃ~ڵb/w?<1F&i4s_ E0Q{m+Y".=_Mo',wD,RHPDN`Uhz!q"5P(#D̷1JoZ]2wcק%&k-%cR+Ynnb|-zofo_ѱ]z*ѿoN}a[;8Kb~5B-9vV^v ~ϱPsRNi@B EJCn/X -jH ֭0a&YE"Yf&Uy`@CcWc xW좐!MMF'O% 2$D$Sc((*D;M=65~u06KDTՃi;(I=xa){}\mj7kjzV.NB?a;scEo}f)sO0_)3IRejX(S_H1Ղ9!6OSc=X6 #}lmyb{d))|,@zk;vnLDJk=ק)_Iڕ17FB +2je'ď墸JfZH@ͧΘ:Nݵiߜ@ ~D37OOl|R}J1.+-0п5?E.z9FZVR23yewo>HmBZʒUix!Vʻ3Ό*  ()8ND6Ҫ' |=<2Zƹ0C.{ >X qӪ)$U[ir@ pP'x*L\D}P OT>>=bVl%< 6M2IoG͋;k ۙIZHKUJP ҵTvRu5)lXW'%[G;`$,n_FcEN*{GDT լt=?U hok_hu"9f;&LAP3>qi|&v昌jLM<SS$i. !mW@/'jfB\s::9/9, {CqNoH imT<1f:?뿓;JQ]EKߦ)hi3jIʚL_*Sve'ˮ/_ Qf$pPc][7#KF wYF=so+l4Wqyv`B*i"RҎ_OOQJ'zG=iu(waݮ}kU݋ 7ZtlgOIeiUA&QIUutvOG"/O^S EPH~myy=Ei!ấb<)edg}$RzNXl*GS z3J'<8(=}PPSo$%aI$xyn0N3$bvY{8zP"r25כI%yZ(d"B9=%TVp/c$H:#Ut0MТ Cr#\GHA<彯OqK)'GŌ*u,伹Y%*[>r <]{*Hb:mUS(4wfƩO2LҤ8WK)1`m7 LؑXKJD C*pF`Y+[_Ph~B.W\̊ Pl:2` Vɦ"n")IR)ks gzp>WW'$!;D)kimA5ʅͦCP\xn =mA;R:DQ!*f!cR3mĺQܥb~&ZۣjRH:-=T4= \!iOڐ.Mݧi?wSsR,ӭf*(jY̎*9GYa-;6CbhTyЄ ?Q/wF|?v0A@$:; CH󺰵iLɵmȎ"U|Fl|xdw>ֈ8;DNXXdݢ /\l=SpS3(sRߖ$ҜHMm#'m溦,z0N۠3ϗ3%&zd~JOohߨ帔0U|.+BxETkr*~U琸#ۥ08t00DTL3ɶLj֜׋EԐI,*3 Hw>$)V: 7GڵQLRO&M݁5uX0d#+}+< U/RwniכkeJ-=tɻփgU2:R\@ HHQf'V=hTQK&D#:iADHQVYͮ< wd)c*49Y܋BYLl ]!: ]^?4Hgv~Eb3TL@k֘glM$::Nn[ㆅ rMfխ_Ac.$Mv]z}|΃{s $1Ɗvт/,Z){E`b$@ \tW qBImBտpfi(OS϶Ѝ hF2L垇{h`#tH MH/YFN3 f?%oG{S4H!/!S/˟g[\XP 94G-xUb08j2?Ipg0$eP5eϊ~+9*Yą𾬻rc{5xX&s#G&mOUTECFvB\I!pJ@Cb\JWFr Fi-i}y8(Hu&3֮:4Hc7z&0h%GqA JHkZ0"爏t87`++=_KZS}r?F(@wN4v??GSfﻲFôp1jvd1Do"@xz)b74"wgeڰ>Ә$.yޢ:a~Zr|Ҋm+AN{#􅇺A~ʐyd%=Mʧoq[{ ]`rjPڼU-l0i )ZDeWW$a}?!_U\LƳ%5 4LKMe]f GL['̞MQ5y\ U=:Oω2kHsv*,̡7BTmm,TPwpG^w,M7Kb%C)-gXwE ZU69iF-YP~}N*j+zWNy̗4,PՌ] 6db~(q7x6c'MQEWhY$ cBN]Pm改GSFy 귨C˽WOם 0%H3"`LeSmYfc]i,'MSCEb_w/yz1#jj}sgJI:됤P&7ha˪6Z2o%s5kʣRkOf5To;URԼ m C_Z5w)l1=bF27ni&\eBRh4Yw_Mi>5b^5'*~E>/& s1IkRrCjc(Wl ,J0kx36\Z4Vw mI@䗨lbȠ5Yu*nT"&~Ɯ<WDŽ hpy]@-Ju!4P0KcPE5Mnr'6K*MLF+/:cK O0zj1iDV0e ) Az `&RDi]5Z^:h5r8˝:w6"#֗ HB-}bM8/Be@qb6<x/UNǕ?q/%aO&ÏMlL'OȞKMmv]ŞJ1O8$H>")d:T$Ju~)'a!̉w6 M:ϋvU5nMB2iԤd2Iau<^R6^k>V<])WTԂ[^/#6UsERFkxCH\IZ*s׃YOZPCj7\k`9|i:C~J1SV; X8OIe~19@36 g7Ò2=aGkX5-XOG£髡aX85%xFw9q3Nox)q L_&HZ ZE9N  & %޻ʳ3u&ʕu aPNyY8L=inp6[^ .Ӽь{~[=huhw=泡^J''GW23 Lm̮$jː}r%E/~0,|\馽.`ƫ'z씨*sEPFtҽ8EnV?Cjߍpr\x L LRc9=vG܊Xuhzw`!ıJ?qgc5 1x˦ Xm҆43#nE4B:R{°!#=3>&rTș( N$`{=)L|òGc,#&0 1 u&7C[/jx͕D}F;kZ3<־7 Ŝ+7M0{׃aH _5&tH*;vWCWMP7O^+ 5O W|U2\>6doO_ ~8j|KC`l0k!v&DhB{:(NI<1K3wonkǬ_Wn*Ej:i<d:K<*21oKֈi&[[| u'4,wK_͘x܊_p!T)`ģUTjѸ@̈́owvd/H K! ьdyH.1~2 qak;l\ S|Ͳ3CRX׾r/[+h.]y%J'2F%# J 끞eC }3|q1Cv*w=(io˟U3a0k d{L=92v4%P`<3Wr[0b)N4wv^(.Y>(%LߠAX(5nv2յx~f5|x f?|en$3o~$5lt_DhHA%#B8rV5԰55)ATf],WbtМةJ733StT~ѡF)y8Q_NzЧJ>. c:w_特Km8XB)7YVҴdnQ Ud^1>ꘀ޾IvˡǣnP.BI1EQP%kIO1'bM4gefH&+vޅrQ63_AL,}홫ָނu`PcօgcT6"hvFU\Y7/ k_5i9wgf-bF&A WʃժNח4Q';J}W1ZHd3 x|q-{zD4s*fi /@oB&\Ez2"g4-AҸ , sm|v8 ZxiSaߩnT֢噋*1:uxW8ҡ1G#o=f҈CI is\c3'z1A=A:g~8dmo:=" qAeec`ח[}̺n|2]=ЮgHsBJ;N ],Ǡ֐%JtQRS]U:?q[8vM;ht'3sh[OPO -lO%\- jzky5J">k!c)^ߍPj 1FB1ںt.ӦEY(lI W/5T6Ύ,pޖ(!"|T^2vʹ,\S4ڤ0+*r:'-D b.-n- *wB 0SjP*[1p2+Dgڊx6HkyA$CvOR|orZ] o!u{m'dU>@iSi'T*/c qaU ͯ{+X>Rϋ[ z tI\ԅW;wc 5顎ށ|,Iq)0PZ8ƓBoW")p^ 3/=4yMQ˔1H7^C 1|>4_)n?:Zv RŰW ̠t'\NNFݗay`T>d?dBDSxNqڴ5Tל*xb42Q} =qvL/q"tnnFtWpfLO(v2ìX%[򸿄9Wh$QDSm \6)rQ_Oy<޾~x*ԘZ, y='cBLU:] @Li`+$K""KևLXծS^˅秩4:R0*l"]W.\Tq_eAj5i0 8ijJ3WO.CKΥ8=/S@D;fgs]:pb*J?/% T ־9qq*C^({coVDMTWz_v!xnyJ]7+ =A~՘0g_lŗ6#0~SzʶIT q|`8eQ/xc9.%䖾ߣjdBqv~O\(`g׹K({{,SR!(/~U 5pK.ߍX )+ģUv*M&H( ⿁oL 9mu3K81]yYJ`΋Q9:ؤL5j_Lj!W:,5JvK_qIbe_*{gb;Ί%]U YPT\ušAmz-HXn^ba|BvHNJۿ۾D-TVXc 'u\I9Ou 3i[iDOǩb=k7;w '⺊Υ-m g,̲5%O< F]x[ So+RGBk[vԨ:GO1EGhGyEJm\#ѬA}i h=A`$!zZh4Rac"bguC"hVpuWypxrdY[1@k7`7N[ϐ5޽A\D)ŰU><|/13~M vCDޮEwS63b 7/s%gܱԉ遭<"o`lI:va_M4_'"e<|1غBsY{ =Z-g^.tzioo*G!ȴ1w_NFbإejxU`]ѵ}<%X5 ޑ?a~Gebf^CF$y盤H,$/3`D/6<: >.a> X;| TWh+*Ԯb~e/fj%^m~7/P;EUT@$=%rgg]hMRo֧ Iп!b!qh,W_XI#\`;*@T.cB ^. H"cQ9|GRZgFR$CU+!Vm&aG0]RX@~rh]|wm2s< 3QAZX.z_7u<-gz S7j 5lD|/xMG` ?6- 6çqY\u1'bk֞  15zg#>wnW`>$ R0f.Y0+6#MDTZZOhsctdSB6=6daFPyׯcȌ>n&W%L^pya;vK< ~ADiZ9嶡lo Qv٘)Ƞ{aRb.r+~gK^7Ńi0Jb@کW5q _3.`' q7ϖ7Bp`(h,mVɔ?V |9t,Tecj=Љ@:E#!{ÎCEK՘pc 由'Wz;&)f7Kf&ӿWZC sg[P~I4E `@0%jRLz= tLf2;:i35^ d =:YG|_ӄGZH -֒$%8h9vPpǡ:z),6AUS: XF0C%1(h5~!X/&Z6B"X H8zෞv%{&*4i ZwKȒ hqb)a쬘JەZs J#$ZY4f}/*ײCwGu.@hLx&B'O#%A\d%Xkw,jåj}nULUcT +8:}](~4{ lV!({=X{A%1LɚLHi LTwjO|hQC:t_HQ+^N^,%k7P*fՕ|ր U437'qIxP(4Ot}*ӲۮnAh_W! ]@GStru}O'e K5aFܙnjvEr!@LdSe=Րux>o/[XRmBK۔m$p\tjb͑`?'&dQ$C䈶9sg{$4lhQف F~rCvev~J+ RF%Z-w"#pa10MEMcDcѧZ0泥A}zKz_K6=<`X {)"͗=D2$V="k Ur/ٽY̞#>aejSv`VTY̷C˗ 5p+6l 6,cO+,^nS9WM|'}I)=P+!a<{I'0A^gue%kDHD3y ñ#9'Nħ- '"t'py:HXXH3I/Si:&۰CA)r+TuׅDfS2pOj4KQٌ䀼PX޿k9S7B1Ė1FI>V^YU 𽻸ctIkj}FSg > Nm|מ9Z>{ )ƣunK[KP>4KZ>v" [ޤ6xYtfa) lEϱ 'ۿ+qS_3BDzêۇp C.j<*ͨw㱒iRIE*{<,  qR0s_ϫD)7RpXMfIX#܍*χCպv,J ^2l %PP:|D;sxC*ȨmE)ӫaL|JS<ĊlC^AP3M3"*"Ê'gcW#$i2 \6]'9Po-%Q0j`I4{6*\rю^ds$J]_sY[s.q[,63.AvyO#'U/TÈ_'3TLL}w"]OX1DFp|.2KʼU脿K8 #RѷϺ^H^wHD ({|;G#T ='jbtQǪD 6Qa9pR*zJ6  늆I9cz˕&HUJBYw.l1Ɓ%Z%[cSh5/vnw4 eo[岪X;]?ӌLA=pJ @p;ZJS`N(joPT{)I5"$$'ivg jV| A6Ç3::DPQQ1c&צJrx.%smhIez^=d264Ⱥ'f57 PMDP4_ؑycNX߸2>ЧxT ԈglMr@vv5esל)83F$>q\Ej!(`@ג $RιJ uLf%Li/4PV}(` M3X$tlN=*,sg ++@#H2ցA!~vM\xá Ƙ$<- #ٜ'=bDFhS<lV &@1!iXp`oڽ,4- *Q<@c1ёTR3,"՝"<qH}^kH{sL5?儘h#`!`(=CYHgNimtm˂,myҏL3R3 Yl_|hB4Pu i;S.'#FA$y{o!lV+I4ɻnH;E% pIHoocGx; [XebOf&pS1LOP`Pi7 [ڐkpKoۊopuU^g_]qB#7JmG/[1E6ApIl_IoFfKtijAvȐZ!Vn}b%KY8QCiů_ͦnݡ ~gLE&y/S.IK).L#|>V^6$G_h8YPN-bcAf1ZHikJaU`Ǿ7y`&bp]<N2c].E葖+l<QӀ*+%$Go f/ CﭱDṞqG[mdQi_^sNR;'U>dI qH7#'jbJ1`"|^*ʥ%P~)`E>&9Wn#*bb^YˀLOV z5=BRjNd^Hж3^ D3v]?8=uyN-<9+L7}pkS.\;b,"N ,  Oԯf~_Ck)9;TkD##Oړf%O!Ή%@s bbyB[y/X.EšP4L7f*OٛӯBߘ"7[ l7L=Xf ›zcpT>owhاIm[޸;mj +b3 "N1DZc~Q&Ws~^bhK"f'h<8IF[3lq5{{Z~L.3VTO{|5}8_V04|X<% %F 3}]BN kELlCXN,,Vޱv#J7?(Hj̮\fr9,͆+H3kbeš ZN ]vYVsMlM&N v*ZJjxeDLdHZY'a_'!1,Z"Slԟ]I⾨;t*a3!R)$6ZY5ymQ9 #PtZ# D9E@fW.4J zDBdm06դsvE覕a)3eQȃѥ`I֤M@5~rCPT"@}MYafIF D0Z ψ~1UsZ]S#mfݲD6aQ򦢴yۄGS{Q;v`%|-;דPuQhFS;ڇ 048,)n%QKm~>gIKq{{Kl\kq0J#@;fߠEhFո߻bЈ*]4>oόRFW0ˇ.zl3p6,V3Dծ0$%*ӧToJJ;ϙZSo7 YBܴ{֯q>@|mwDFF_=@gr]AFy)0:jRW JtMrPۛ]/6% U22'U$)Y11'GGz%rtfXVC$hK"JhXԒD\=BeEI `:eDz`la!UG$(m'{bψM4(BiHD) INͧܥ me)~ \pWvXZRMk%r?ٲsbp nxkUPA5LETS,?ف7~%&7y)co2ؙf%]y(cv#-vvE/A1_ݴ!o="]?)B`d:vzç?aq}9ʒ&9ls7@z Ue b7"YQXo_LF EcJf{6+MB6Cl27 P ^yZ$ A$$`% Q1Y^q%UN|kƋyPF{JgwZW \ns*'ɛƏQe I(Pg@ /I@P,I(N.6▱MP=v NF zQll79Eԙtm3U]%~ ~3Q>PUY}Ō3'GnDgh9PyΖR;M S;r$6<x]%M¾|k)oӶ#x&`(Aj`򟢏s97wǿB:l)4m+zjؾK MhFIUjV^@H +J<~:5Ţ7Tn#0ˏ{{lm`o> epNz(A&e=O#vjat)  iG/5+Eh^'sɆ:1dm-i0@U{:9|G&e ;n ?˪+Uw/|t\Z+xHdBuQQb&vzzuG'̴3*@5B+G>dԾ)F̌ ]<۲ 9R{mo~C.ѾG;1JiS,b8k*#kM>58+$ eݐ,a["Kغpvт͝IÀ6'U VvFHlZIfO9 )5>:#iK, H_[9P2XT6u_ʸ-NdzDL86cL 'Nzv? ]2cĴ| ױ͛Ӆ;Jɵo_>ښ.w _#P]-%ӥIXM0\)fFU']g˽X?{Ҽ=N(]MbZF)cΤ(84a /|ZVi?v>-2Tv<'Gk37Vj!zf??X5UPj&4(ڔjc3qxP`Z%،G2yU\yGGn`j$7G5,SkY.H{[ySh@=dqq2c7m8\|:m%a.*acX=6z\Ȁ%)ZYiFk_d5j?.\͖,/h-maH4qXx=$DoϽ3mCyݢdzy;*FݞH̝{ӛLl_Pl7C=bRUNt0uFN:3j.]{{C26V2Y ~Sd)n3wTKI4sԎYEɻid@Wu9<`k,2I뿯*Q,Fp΂{z-~SUD)MHNJqee29<҆Y dXz\436*R"|U>#mp@Hqw PN}K~wwHuj9эzʞ of=찅.e$QNceW'Q;S](B|P2F SQ-s"փ7=.VW2zK+ A؊B\LNH g}4yQxk,td \$%#f}݆39kM^:UȮGlwlqP m^p˸^sSdC8>d(!w/8.ȋ]D9ݗE}:O$%#(V`44 N֖/ ihj&,߁R)r&[u6HRt(aAg Gj=x>K3+5oأDX2F@VٺjX21t'_=2oMT8g߄lH6s3Q\˰0p7>=řwpз#&tZW| ]UjbyJEk B7 j>ԉt5 +/b@'W%NZ1X蠎E}5Z/cTc/ $^v8wE>fP3X<،jm\`K n.hʐ~>u') U1{yzR2(BEď9B|N*e{nOQjA/䘞*U%,P[ut'LBrR*Їa"Һ@~ Ro=mˆ;MvmirSpA)Oڔ3z27la RPmiLm'6fƷ6)hnZ\RDԧU9fpqc@Yxя`=Ep-'.k`[o8eԐfp=L+ OB,4or2gFMeU ϵ">P_jZ{$b|[EpstGޭDA 3e%lz^:BwϢT8( ayL]L΋<{ۤ` k-kEȐ#)FK% ~1AJ߹:5W9޿j;}~FL!|BDǶ%5|? F쨊sQ=p'\S8q|m-b%K,!xŮ;O U@=|CPCh>(^X=^2ʅ","AԞ@JڏJC|^rqnVQuEZ`40e$fJUlB2*otԸmٕpQ H%6.q]*hj:9RVdvzk5f昶!975!S4s9@]'7nx =tt+_Koee&, L]ꀌ bVJcCDi.0@4䤷B.n>enp!߇a@qqOO,@f٘ώ1# ȕznFʃ<ټ'˨VWu x"ֽe@#߆%lS+ou~Lqjj \e!Mdp2XO7F~R4JI֎Kj#8r6qu #jWN;'DҌa+&  9!rX[etf/W,@vGMֽdN0m{ObfSrC̄osL{_hԌuʮ7AֽZx!YKah5W x @Я!jˏK|\bm*Fֽ(*r_@ 0hu((%u+rbmM6E{HTԆj$/&RtWnjM+Pn]}^gm@e6K'xEHMS+K|F2J 0v|_çi-M)~?Lֵ³؇jgWaTT6_X;ߞUUGtPqjyM?PUiy 3~ (%_'$ID/cjqωQk]GBsM]Zg%ƇEsIfpIZppMbPK1^kcYBH0 쭣,2Y˼0M| κ-A #7L/o(,F}>0@Z#lΔ8U'_DDddYS k ?c<G6uC|n(`lm3+VE&Pv"dLuU WDiBub>,FŵUΡ% tRS@5W@E$?*duZYUAٓNba%9S<:g]D̖d9j ،6LrQ| N[!j(XBȌ2[sP[1\ ]\T즋9(7X%@͘(zPa'ƽd3 {0ϩ,1ě3>4k36(gX o\}Z0ނ) Gtknkĸ  Vt5G09Sb. d=disFMWE#o:}Z|Xa2VUʵaϑ}BL7^A,nd@<>ZQ\R^U캫 փ01[@K4]ѹ҉FhhéC\ϐV4 Wک jc(L|y~I bҮɡfj Fi/Dk9]3b}L q#*l[&XQ*?mJ?unk%f#.$0m7qBz̸,]wAU13.W8gs^QNַofcwu=&:{tR`A|Zpu[ȽOs8pp)_H}ks:O'n]RBgHa*Ӊ3Z8u OaS6!؂h mJClRs_9'N5u՘9s+z]"Q.Bs.ol@G"5޸6$|i715:JasX]D[t$3 Ghvz O=Cu`s F SEg'ŊdegV>rl Qm5JW~c]`;J]%}i" 4ȗ 8]u h2 'ֶnzn˃-)@e/fQh;Ͻ Vqܱ#1.`z[-z}b"-%U C,uf Xw_m{ ] !~H>꧜ks="Xe{L-¨|OoCu$`a[":fz}XP"˲b wd}#~L6T}{:N+!Zu*rvs$ `yB&@LK wӜ$_9W!}6(2^,eatbǛVDu> 5Q%;9*\?]ˇ{kZ)n@nʫS|G^Cs0skͯBS:#3 8*)NaFuMW*v )2mO@ֽbꠉ59X4ZR"W&j{%clz _n1~~c1A 2Z 0xUJ(8/>~q1xf"'ZK$=Rƺ4wWC$V)$^FT|dC\]AҺ]XD)gGo(H62 J c`Hf/Lj>[PZxR]-[AÆ^̑e@4.^hCNRɎ# ;Zؓ;7sw(W%-ha&z*,&H߈,(M/~F&?Z?kzSs1hrZ>p3||Cc 44zG UfvB͠/z b]5kk $Y'XrW# Y&txh[}f*tեA5DN(o=B>/:5n=m0KNeXɾGg'l<L/zL>t`h7ʣ>roS\w[_\j~t/Iz?F%ÅSv× S|5Wbёr|TќA;zy<@*,VJH-,} < D೦؃ۭVQMVz}$*R:~F%t0Bb'D_Xz;4GXjtdhJ%6hwΘOI9]lnH_9䈣ړBLgjF. v, H}MzZhzR\#r$:j)V@|&*e]<bG6 1<3:w12$feۋ5Q^yV|iI)1ao7M~/8xUn~Ҙ&_+?]w2>H 9?pʆJ1^7讵9b&n`](cV53l?4^L@P2lj69wp)+\'YPO26S.V>?R]dx vs1mʶ9mly6]Mo3.Wˉpz䱕ymn(0;~sZUhxokX8S(!"cNT?`7Ip)t#RqHNd,xeHp"|5A^tB4p7R\mPEy22 !=o [.‰DžRJ- yot@?b7^oZP% g~ ! 4jvсSXڥI]iR9-J"UG:G;f[oSjAcCʳ)zwG 7+"ڥ)U tS4}9Mp{{n} ߐ.WmY9:g8ޏ4T[.OS+hOqbxrVƺ>hԻL-~"M,/!tο⎉u8yo*ŪU'cW"6e/ޭ#RV͐C]]GhY3r~ :0(f C /m2QܩJx"6KSR-H }q7'#B,ס~s}{SiK>C7:ro_ |G.ܢ};H~[&F3vz&=lif>FuڡxuN4K*=ԔT2mN#־ %5e5dUY6N֑+ş4V;C\s) 5 ;}ӱ"1B]^K$%=XZ\NG(C'SY83UaB5 n\8rWٹ5)cZtŝKޡԡ|fC}Vj{.̧ݲl]SJN4MeDK e~[WS}MKg3u`:ٵ+ʲ y¤e7z6b.x. FjZ~W}M3bm/%I̊4+#,Vy ]n4L$zoWi}3hRJ!r+T;@1aT994İ޿o eSƧHߛ^ 0$9&Z?3"/=tt[IL^TQzqka~DӅ!ԕ4lȤ]Xta4=Zw% J)qg@t?.~X ݱna.-1xʭQJ8BHC$wv-"˟{mqwDnؖVɴqը0g_0:x?~BZO$ݘ FN6e"^XLn8;WJLzx8sNn 33my߳PSHzOVphRnTܙIaFztnEH |)Ȣ ]J"=*R%9dA;hpEK?ؤ6^cCY' ~W{Hj6u.2k煋 2T "REx]dl ȟkE?ay ju@(Z\DuK z MFSXUsyaKv i]C:]ʛœ0oZEa Yg6fAgշHV,%f*%,ɇ^ } , &7%C$˅&,芍cwC\G bo}F31O?j7.+G'e[{v3ۺ$K8F`ɱ6`-_5t+T%?nKXy{DA_oEOZ0Y$g^sҥF@xn.`T_,7(5Efptvvp(L )a#'!k+ɉQMPi%Z*]~JN=p@/ 5yTKg@dfH%-"n>0<Pz\$mZ֦{g(qa]B;筕tƁnU!w]Vpe"Gm].-6_I(>Q.l%Tgxs޻;ȡY>؏V{gx) 38oQN$)y1NӘ=s )oʆPC5,bG݅ɀp"6U/)>JLwY9janI:ؙ+,#aKK.勔 sUVl0椤z}/?: (,W櫱@CO8G_H {Һ(6<=Þh[PԌK 1X5__Np~1౻(A94/z6xS1n}%Q͘hR :iR:GZWWnNP-k :#QM8>UO8'T^ާT߶s(K!${ { 8,f2*ħM9!H~idtɶ@Xjj9'O!},q:>ٜ AeP_n SBQ-'eBiB/؃G9[=/@ᢻEUS'SJ 9`ն }t뛛#QeJDOj>Pu@?1\wϚhm/Ŏ={qBъJH(9F-٤Vzץ)xV I9/;gZr-y?UvotWWEaۘX2I=tnȉV qZssPQȍ28lIz:R8oy_,*\S >.i ~=*ni$i洨J 2klP'oH$թwQ|{tI{0I $(]($'9%ü%ˬZZaQo?O 4@{{$XueҒѬ0o慉zőB`us)xCGujƲH^zL{j+O ^zu@3Bb$е17 (=xR7 Y!M 8X!}ZŅBhk[)!Gt-~OMG%I9-\tx8bhX9i \>rjDzQ @ ?'KҼ9j9=Y'+z[8ulM0!J4)z, {`rgGPÍ9$tQ̇8v-:d/:KK {O]==ͱze>3D$q=C'DbX /՘erI%op6SeφD:1}rwZɚO?_bm{A]EWQ} d𫘜rPC7~'q,ܘ-zxZ!A _{(Q/s_ܔsf Z9D;R|dB5QddAs9oITNg"q0w%K;pn&7ɣ퍳Մ3aBJ}"'ȣcKdz4ņx1ropĶdS.?sE>1+?qlZI]nǺGqC`&~%r/EO _L@lX7D]s3C{0^'=ȅ:~'\2r!f*eX=ȥ$m[Ho;Vkz@όKc/Iwl1R1XtvW6{֝I;}'fe˒`8מޞm~}>yEIh3ͤv/Sc*u`%l+*ܵa]̭PL_+Q-DwxfL1Yt yO'j1sJyHNK+"$ȣr O}N@FRG 7,/~"l\ U闹\v bCN#i?à/$=,nC[Oa.k7L+֢tYAӭ3"蠪UPm J&rx|Yf4>BC:i3A 3lZvgcb嘅Fw9l$4A]ww%A3KD/,3חl>p陗UF+>5-* _ ~ExDE uQ?j[;I%<<Ӿ|1,dE}5||4XZ 'lJǕix݂@/35 jbOن ʳ(7A'BrRܲ& *T"g.\?TƄFȢEFUT-wS i>4ّٚ8IA=!,v?:B2i8Kͅ6aK 11pE+9xpgu]w;<* \'aTjS.kWڵR;[DZ(Mbk`{w2$lܩ퉲[?nbcHixF5Œ)E_lG6R QB͹vN;\O]1šG?ZP H]VSE__]7yDtDmII Ii_as(_ 0Z~ Ʋ1;%U*ەy D:{wKD_*v6WAwup t6J@Va ? ߢKѝጐSe#yXR_tI'HhT%dS+> nuzx ޫdI$jC#[KԌLυ<.iJoFٷ"$v"Q+h*LSw:-+qgZJ3Ì?%2? 6bjS*؝l` P͍Gv,R$vķ7[qz1.) c ϋJPP~{(zqMn'BZv mSy39­ep)`۝ it$`o'#>L"IopB,$L&C$j FCwIJ C 7* o mY߰m I9{aOvDi84l@m@7_A6ZBBN5A|TvpFxGMTB" $(B븘\쨛Ǣ9VB%nOe7BY;)0&+gWPc!HRȲi~XG=?!/C=Aᐻ[cc` 757RD61Gr*eub>d43(hR8^B)Z]_r:UnN5CtsZvfc] [Q߾r~ك }}.pWY^LIUƵH }U)*PB~wX.CT鋪w7K}OAL١f'nrgoCClgzӊ qWiaKb'0&(En0X.sqE_glE%Lp"<-)9Pe6>lQ_(_S}n3.[z>Fo z%EŰ."^,Z_ JztԲ4㐭IO)pT_%&+3gv\3F\m/N7ՙ xrԮwP DECΫ4l PQd8- G׈2'^)>٘(FVPTq\5/tpib2tS>)p+dq[{J ܝG|5P{CǎC&u!C&ԞkXJRyt%y c!P۬c|$%9`8+G (j̀t2IvlT h╻cy6M%Xjwmv *GI;sSvLDaܮ/* FKHo uǂpgqbS1Dv+8fMmXv5uQ@Z]2y0VC83W4 ϵYDI)7}n<5rzĺ1]~_xy9s1ZƟFtF] qZGS1F* C ;CH mha|Q@C­m;@R'#ѻ/̳N_#9Ug~@C.4L78Z@ hNDx{*0Qn|ߍje rYݠ\WS:_V]9;豋66V/`nMFMY2u}H¬OC!ܲ&l~jl_4{a}uXo?b5O:jCbq09ivZ L*eaWoND +ft*J5?Yx@%Һ#(K@tofitƗ$pt`jxuݭC # mT?4;[bkQ,nQt?U ǿ#CDeu5Pu[1(L]$2u Θpp ]d@jLSI|gRJ\`!ǔG!L + P1\3`bu0jUS>jtz"ڭ(i5.6yDbalg!C`>8(a(UpKH[k?`|?QT(mP=WP *$z1w,]_"uiQyRՋ#LIKXh-M8(éS@'>`Vm{ uwJ'į(yX2SL혞9J{PK?əyl)*\ Hi{p8(]*|YC/s)eCp@EG*ea^(QZ\;EVIi&iYt:x|US¬5:Ǚ~I[GIxg1W?ɬ(58?hєxD[?zcn۵Ck rGsV.\ܸ*n!yjLoqx,7E(O0 i׏f' (¢I.(Cd9KG~Rx)ZDGT:7Ű ?X[ or a^1!b.8cYzaBU$H}з3Q kĖD8?G}ƶ,[ &/#X6]C\i>Βw 2H_&V>RUnDw^硞]cTu +MK:`:؍e}V5h=?!ew ٞٔdd+0`7|<;y ˨BRz)uj:IOl}&E8mP=zA|W,IYCj/P&ݛ1{[/\Tt:r;|(^Lo3aAKxX`kTasZ0: tе>Xy5"N\Yq`p{Vp4 K _Ѣ1hq4v% kFpݰVޫxG.\D05rzɽaƁGGys1Xtor:xMdH#8|fY\0xdS,ű$5z;һU8ͷ8o(rWD_[z8+%=:yi  UW>Xސ 8Pdۑ;[1/ 27'CϾ_<|d>6F!@;g:0eUf0 Έ/ka'Ʈ~ J& QՊ4iFZ, 7ѯ#VS>\xzHRKXI0uMbtN7jNR.pEs-ë̸@{ަ5517oW]Ж||"[ShWM9F$61IDئDz]fI .UV#FĤhm~T0L<E F.8vr)Ed` J#f#$sk.Qr{u+H8vpew|s--HA)9׀9X{ IWT>)#\t`*P10 -ӯ/\LRu&Oz6q-WhEa ? ko/-SAi҆J(zE?o x6H3KR< yVfwК3gh_Jcyv/5g^ wdewD+7cb栳8KG/4 .\x6Ӿ@( FrZ]>*E{\L uTW(#2ߚkznW \_a!YC !UU |`=1'TKc3g'ZrNqJʪd,K_cD_s05|c"D<>*)9L0/9^3 `D3kW&Żk|8rfOCHK1C:Pd9rtzZa;I)@将?]Rϲ} (wS-j.ԦJݎ@`ti5m-1϶S7bv}䘚Dfc|C8 pnPXw!@6uNE –j #GE t^IW1j)^8F2N y0t8"CCKFեgʸPU@uRW ?dmE\=i-1 ϱ5#<λB2x)):ǵM'p:"@LhL29`+5DPUo$eK82ѯ0YJ+KJJ`8F- xFkG!z%cJaU!]hv"1.5e‡yHMOf/#1S%9lq;jjr7H1ΉSU5`J*{2}8?퉥P4$E^79h@ޜ jS40|y-pLA Ϊ)FB-13i2@qYrlL=f%O# o: Y*2l8Y~%0{} .i3 Yg0f7I,me#(H0!ȢRE~?]*4mKqFy!ix5ژ>,v:Rғ}| PhX0,mǽnŎr2#8^&ws:xrUV5HI+N`&|iF暨AD9Xg M-qlxn0^.Pp|͖!x#-b*)R*^bV~ЪfMp]QJ0wGSUǞwO(%}wZh}q\:ɈNּ`[*Ku&w߶5)]@Uj&vˊ&3|If+C&6sg^_VwQ(N8Kq~!Y>DVʘLTdQT#(T857C򷊇X`;k:[ 薍:B7[V `6KDMɷ^4sw,xJm3܍J@94Uؗgem%ٗ8-UG B NYh b166bet`'<&:f.T vEnw8Hs@i4/J̓{ȝdDdv\|]]n['Qi` jBl',^24iBh&JT'QD_4xT=ٶchInwQY/&[;-EAjm Z|v`W'hLxe8#Gfxےr֤MςlA \}1nД97%ۺPMNïJxr[q+6%>tT9mJd_" olD|Z0rx*G=i߇E9 #PޖEؾbfKZ#_`CoGKy7_22ag=&t rXǘ%~VՕ% Z+[^/㽬64ѐc(%m{2+y5[\Ri;{6/#x8s3wa2#i\#Lo7%y_TKDPS[TcYC@fR"sv-z_YNjx5BC+[Uem8z,EX]iQNGkҼs,q "$3۝Ľ9ӹqG*D&qR uF*Hc/7jS)G9N3m,sH ؾ;=.e\^L[:N6g* 6'aʘ7ǐ}@E)w,k- €$uETWՔym*3YϸucDryqH&e[$$"GL]oEbFK掋,oa)v< W&i*XM#5r3@(MF 'ۻ;_#d]nf*3we?^ 44:,ľ0דɳPD6drEr铸;cRc# ]a]t_c#Lr4ŁcV=`qX [ݬM!V*0儇e2L:Bqj:؅ &$Eҿ{Tmlu;3r&'iz Sdzt<*%m`BЁH>WvS%W")L#zAHΏh8`z\Გ7tXi!P֎9]EҚWEއ|8-|~]MA~0 AUk=cTZ*gnx@{֜7U,r~`4v:c{L[?vW<џ" _'/kLLt;! ;II֖ps^ )[Z4 LCJi \(exhe]/l&x+R.0R*YlRaIjVGѥ4DXAY(iY`8 ^fEν?J) ,Cm^8xd/f[Oa3je>E1|S0Tjde=Smsu@( GNk&1E٠'@øޙ.hg5\jtmk>7-&j 2$+%+N<3"U[6+Mtg)(nRG?f-2N"COI{HAZ$:^U)&NJzqO|C"c[ nfh)* CH 9} -D,ȽZ8HN)g :eS2V:BL.!u&-cğ:H(DR ԱGbDzMʤXXytKى e]jW @eOHӸˌ?/;s_K,+ h+V1 EXHe}AqWij7M2eJ)Sff\y}`$EU0%-N)49ƵeF]S'D<p;V.Q|AۉH1#lYya99" HM@ccI@@)n,} Q`Yyv skX;ұ8zY_dž]L`~Rw9^)LGX;97h1*1ȨP]_d>*vh7}WפUQ7[#z[` Ie8g"\myHJ\s!I٪Pisw;!NCf/ύ[uSW)>9AJعv/";q%wT32 ݼbjK+IWQ$-ЗSG c/^OzB~<~h$e#6_)il?]C.[Y.9n?)-PBh=2M}#He>r6 Nwα4$Cɣk_y q@ޅ xbdp$[ yhgՈXf!f7;dk8 /p0?|e_-g鶐l. /P֖X Ud vD޴w v .1׎7c|nѲG.z.Na-,3ЄFb6V5{S0?[*Ot.r`旰 ~NN% ;biA_+a%diR6R؆Iմ%e*B8N!NجA~(YaUX YZ