python3-pycryptodomex-3.9.9-150300.3.3.1<>, ep9|g|S^( rN`9L ߓFF;*2$ΚG,ߝ"Sj.>9IzY@̟'FcaA2BuM>\nd\(xl#)5"mZ0z" L;Ѱ~,gD"qd*Pa4>7!~ǎ%3YF6iJEU=j`7}"xavT&t$GQ 0'?im^ޅOHҾSGΘvZa.[GVRCC:u_>A?d + L$(Abo      '8  7l  .9  2H B| V jk0 {d{ { | (|8|9} :~F G< Hp Iʤ XδYμ\ ] ^9EbLcLdM:eM?fMBlMDuMX v]2wv0 xd yz$48NPX^Cpython3-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.eibs-power9-13m9SUSE Linux Enterprise 15SUSE LLC BSD-2-Clausehttps://www.suse.com/Development/Languages/Pythonhttps://www.pycryptodome.orglinuxppc64le%akr0X*-),K ! G;`a H{{]]&&ZZ  [[ y yFF++//77BB9999.G.Gh*_@*E>0$8 TSM~(=,7(xPp$m$(pb . d 4n00_99??ss##dd00bb<<22   x</"?%)%)X,X7+-yeN,Q++,,  OO++XMg"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 ;Pd(P| 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큤eze}eemeemeemeemeemeemeemeemeemeemeemeeme~eeme~eeme{ezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezeze~eemeemeemeemeemeemeemeemeemeemeeme~ee~e~e~e~e~e~e~e~e~e~e~e~e~e}eemeemeemeemeemeemeemeemeemeemeemeemeemeemeemeemeemeemeemeemeemeeme~e~e~e~e~e~e~e~e~e~e~eeme{ezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezeze~e~e~eemezeemeemeemee{ezezezezezezezeze}eemeemeemeemeemeemee{ezezezezezezezezezezezezezeze~e}eemeemeeme{ezezezezezeze~e}eemeemeemeemeemezezezezezezezezezezezezeze~eemezeeme{ezezezezeemezezeezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezeeeeeeeeeeeeeeeeeeeeeeeezez_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_3ez_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_3ez_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_3ezee{ezeze{eze{eze{eze{eze{eze{eze{eze{eze{eze{eze{eze{eze{eze{eze{eze{eze{eze{eze{eze{ezeeeeeeeeeeeeeeeeeeeeezez_3_3_3ez_3_3_3ez_3ez_3_3_3ez_3_3_3_3_3_3ez_3_3_3_3_3_3_3_3_3_3_3_3_3ez_3ezee{e{eze{e{e{ezeeezee{e{eze{eze{eze{eze{ezeeeeezee{e{eze{eze{eze{e{eeeezez_3_3_3_3ezee{e{eze{eze{eze{eze{eze{eze{eze{ezeeeeeeeeze{_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_3ez_3_3_3_3_3_3_3_3ezee{e{eze{ezeezee{e{eze{eze{eze{ezeeeezez_3_3ez_3_3_3ez_3_3_3ez_3_3_3ez_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_3ezee{e{eze{e{e{eze{e{e{eze{eze{ezeeeeeeeee{e{e{e{eze{eze{ezeeezeemeemeemee{e{eze{eze{eze{e{e{e{e{ezeemeeme}eemeemeemee{e{e{e{eze{eze{eze{e{e{eze{eze{eze{eze{eze{e{eeme~eemeeme~eemeemeemeemeeme{e{ez_3e{e{e{e{e{e{e_3_3_3e_37db0ff87c0db005e0db052ab6e12b3e6c3059ea2985336b45ea4f893d7f54a91dda8449f8df0985bf7ef17669e589bce358e9910204927a2153a05308a0b55493703b8d8a581a6e4d74b94e1c7482c0d19b1cabbdf8ae771ecf29e775291d022ce031f518df9c3502e122d1aa6416e1e8fcd40e7f3b02c6e67d80dd6cde80218c7ff0bfca03fa4392878839209067254fc210f79dae3ec528643e478d4646b9fb0cc3bdf26477a89e61b1f41862c80effff83d0268714d3848c45c0e39f227662b9845ea76f6afc16c1e180b5f68ab77250caa0e0f0b0ac082eebc34d854d5a8903a286b3331635f7bdd232d3ee84d27d7faf0f4b870d5b29f261aec2a160b8fdd70e3b5506c89ada43ef76e701d7dfc511cdf333b8522bc24a2a62be6fc72f55e0564f703affd5efb2db4269b6e0ed91f8f0ecb3c2621dfc35d646ab6af2822bbb617d243bd301c15ec86edfc36f2cffa47abe4c6e4f3b1a119cd386cbd64fbfe5d7186d3b20666041cfec5b6693c11066929e817f69dcde6d7240bf3cfbded5b4b4e9819283737f0b7080f1bd4f0d1d526dec67c2158677a14db01cda346de8755398b1383cccf4dc0ba57f6868825d790d2e6d8783798f66eaeaf4e5d282779b8073aa3468c2625228161dd6e4a5d8d7b6909ef7248e1402f533c42aa3ee6b61359013c59d10faf3a1fd5ed0559bba27f112bebf66700ebb5a5415fe73f50aa621a80e2e13061b6db5b02ec1007f717b9967c64da2ca295b798a02de2b7876abbf8521bfb9528002f7e81fd5c790cbfacff5f0a73dfd37a33717ed329e07e488b9cbd3208940bcb5f66bc6576ba68b97a16b18907ea5a678cca0d156533195d1679ff4bfcc362d4603d381b3dc491ecbd3f16016499d497ed2b56fdaafe06360ccd9ffbecb8a86bed8ab7fef6e43f0baa6524707c612a6de2dbaec24b5d425f3cf14cbacf7c152a44e2ddfa1843b9ae30e98af323bc632e61eb40dfff5dc94aecda62105cfd0eefa0e0c3990dab0b320b9dd3e9985d67eaa8ad0cc9a4ee7ae2f8eafc737c34aed4f5575a687220b35efe7f25bc4913c365a1f2de329592daa2cc2e3e5e58bab8e28d8b544eadf803c4e76c2515981c079e2dc838b190f2cc7e2e9311e3746d77339c59322f3b1aa0bc4d9aef623d3f939a9dc22ef26c1340e898405ec4956c931895cb9da4dc123440c1f57e4d8e17d118fcd9bdc39cfc0b4c50e3a7b74074982cdcaec72a480086e587b467c81d7e94c67f97a19cfbc3db09d6aedc0fd9b26a8e14cf322b84360bf845795db18ddf7f7d4f35dbf7dead73e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855435767193a723275e6c00dab795e90773a28d684adddaddb62f6600d68422615d4e3bc1ef5da564820c3ea6267049f6fc5449bbe8ef7d25a910e138e91825e45ba75fddfdc3c152754e223272e81c69e0ccc24d0e7014ca0538aab5f55269c9cf38855514dcc246256bc59752010dfb93d90e55ea423964e804fc18df7654b80db5f926ba493f2e436977499ca076dfc1fec50d888ccda97726ce6ab6943854584a34cb453e487e53d2b53a5ac6cba159e42984a1ec94659fd308c688efd30434b81b9cceab4c38d6dc4aef6fa92c57b161d930988c72bc9e4aa7afb6c154d86246a038c1f5a7f61f1d2fe143a3e2a4edecbc15c1e5ee3ba7ba8d28578f3c2ca1efdfd1a4bb42dc4dbd51cebc613192f5bc916793c13da033c60c541af8081f2f386c7e15e74a5077ca8e90af63f52bf85ee4382016ea72e517478ad7b7adcf5621594832498311526be43fed6306668868ba81b8006fab6e3f3aa4f6a56cded278c2c7b9e71311bed956e7b70291a7cfe50440ec4829998ed2652ca574a710adbd0e06af61150506e11e5d374662e2f4ff370cca7c2a6eb88295ba27678fa2d6ae7a681000ab8e5ccb3f5dd4a80da7da15ae125a31d5c58101261a37d4c70351e1e562f4174590b009b9889fed5a77d2cd3cb68ac1f71d92842e19588a4ca740a547cebea848e238127175a9334adda8c8b4f53810d23b930f3b090417d6574158c685ee0702c81dcc51540b58d785065af781b88c3f51c7ca274614c0c3902bec5b47488fe16a65e014319f62f8b9dc84b5ed5b44ba46ab40dfb4699e7befa185edd14c86276f39246bb273080899ac8b2e596219f6f843218695dd0fd1f7e0b9d73d062622a28d19a9c47d5e3296343d2029692132cf150689d902e63d4ab65b3191ac7461d8656ea1d576e075f2f364414254a0c2b67c615dc6e1dc83ea765b3191ac7461d8656ea1d576e075f2f364414254a0c2b67c615dc6e1dc83ea7e13f77a41174b5c013fbf440cf3b350df238944ad50ab6ddb626e5eabc49b4563bce581706de08fa9f5ded87202b96ccdb9389df77ea23417cc25b2b2269e7a70d33871631ec4a7c51607cb8af6fd2e4da84b21ee734bb6a5b77bac45688d0f2dcf0d35e595261688e070f0e6ece99900e72753942310faa2e8f2538c9cdeccfc63eae2d3fa5ca257c73406a364e957d647e74493e9efe215e41772b9cb96627c63eae2d3fa5ca257c73406a364e957d647e74493e9efe215e41772b9cb966279bfae6e68eb447c91d5da7843aa3fecce12214403efd5daab5c6aab9649dbb8e9bfae6e68eb447c91d5da7843aa3fecce12214403efd5daab5c6aab9649dbb8e24a47a650a730974a2d37f10c6440d3635c9695a76eebe47c4de1151113148f7a791826b1d820df6fb7a92124f2865445c50df2a6b4c69da7b4a68e30790b093966530d910d206985c6e80b39fca5ffda5b25ef223680680bac7921908f29d0167d2fb2b3af02822e21c5cea4ce2a13de7c85e564a51a06d6a78c3dbd3098acd9474276f1642c1a837f55c881d905eca3f9af806bae0d7851062b8959b7cd935de60cabf8a01cc8dd94ffe11f2ab80525cf4a39300d9e73e7d3643f252256d115a15ca36645a41ef253df445f33fa9bb6bb4073e496403bac760b6ff12aaaa2aa17ec634f87bf19816a63d682029297c1fc06b0f81cba331159a444e47ae90a8b7ab43c7547a6529946056ea95665cfbed04f6f08eb170ffe2427e1d915295dfb7ab43c7547a6529946056ea95665cfbed04f6f08eb170ffe2427e1d915295df5a64ab38e7196645322d000ee4c9141ecd076e74c59f5b97eb498bca0819ff6247b40c9a286e6110fa229fbb98c4a4afa590f6b11117db5977ee1644f8ccac371aa8f652c92e07259827215d06ff5ff100a85834342ad7c5817b4d3cbc81f5e58a2dafeda9fbd877a0c36c0be5028de66b276256b29fe7fe2f3c04c9cddd2f095c6e17ebdfe2200b2585701d2e76b00118b37d7984418fe89bb928543300995f5c6e17ebdfe2200b2585701d2e76b00118b37d7984418fe89bb928543300995f0b3fa3fae96adc04d724322403be72ad8579ffd71d69320b101aba5711b0327f0b3fa3fae96adc04d724322403be72ad8579ffd71d69320b101aba5711b0327fc4e3dbaec27ffcee46db064af5be99331d1c027dfdf0eef03349e06bc283f29086e882f5032c5230742d77c17ed9ddc8e3aa60e0a28bebd60c22bdfb914fd394d7611abebdc5929f4fe4c9271433bf3dbffe3de7fb51b49b31a57f20d8d6b535d7611abebdc5929f4fe4c9271433bf3dbffe3de7fb51b49b31a57f20d8d6b5354f5c3986f589e8406e0bdd280fe20befcf6a76064b33f8f9040f28b94eb95a2c70369afb380d21ba2c2c7261c2c0edb7b60e4c4fa3cd1522e0e0df8fde5206c3a87e6911036e79f69b79157e5f3fba000f79dcc15dfd9db4cc67814f06bab74bceaabdd63011be674f5ece7cbb4b823fe0fc72dcec83ae4b7fc9d6f554187b3b652b3848e962bc81bf254c649c38d02ace196069a4c003bb2b60ca71bcffd78395f21e1f1266caa9815a4f38778cfdd37d0ea284d2057d607da548691a883f213ccd2c94105f59d03811cd098ccf8e2617a26640853d60000ef2ecbcaa4344263c58aa6d68dba1669e2efd0cd069c4e28f3fbefea1ec079dbf970dab9d55365551c675cce6655674d29646bd475c85a3b91a0e1ade88b2827bb014d3901c02e25d739cf8629b6768516a0af923916284a59a1a1f215cfd528b6918dc3f39fa5b5473ed4dd03ed9bb42bd113ee27a51b460ab02983bac1356a47499575a68f09d87cd45de6350734f1d56bfff88fdffe358b17ae974d0eb03c3d98223f061ec8f3e0cd43ec558d8344cef6c0cfa1ef8bc289c78d17fc9e681c4e03a6edfd97e60a003964d0d6aca73afec17eeb9e5e89041754e084447328e5c480728c8f9d308e6def6407412d200eaeb0b7361f695a93c668c1ce952fb10bc368fd83a8dbcb141e1e23ee9d41962ade221bc039d3181657d6f70bba96d2ec093d172d6b96c2f4973146b5b35758fb6ef6964b7148eb723a8a8b76d3ef7cd9115ea9978c1138ab1775bba601218df8aee9b3cf73edcfa49e73279d8b6e3bded7ef2f95619bf2098f219d9efd7f94464fbc2c136267269c7dc4b7122d6f813f18961c88fb40bc9c2121cf74aa2a2ac4c88bd910b2b39f97c1f0e7b439de558271e01afa5f7cc3e1682eb16a9efc497f417f9e91ce80f5117d4c864ade83c72229da29285e2f8229d1a862418eac662a2914a5504b80c3774c6c20d9fddba0236d52d19c9fdb845b326f79179f2ba1a1057a157be8cc88ee75609004269d39bd48d81b95fba022dd0da7fa210272fceddceaa81f875e1fc3f322fedede914881f7b8769105771eb1963085eab7db1dcc4a13e5f62087a2b06a222b4ff00e9c3e7977b2d9b7a24e4a3ad6d0e8455cbee5d438d42b390a3881c0b859638ba475d63a103d76c52de82025de85699e3d4fa7adb4ede5e749d468c67cd25f0b74da5ab5128599f86d97ecb81e08d680ef06c2158874d49f4e2e8cb1ec2ff56b6ac9e528c8864a6caf6d90a4287c18a0694a8db91c437df18d2a264a8c7c6e8225d329630d25537a8a56376d34ca6c58c4e4d38a4ad37a8dfe2aed073e1c5a4fb7294820ca19aa21a1d6c0fbad248106609c8520fb185e19c182a0c0742bc9ca6420123926bd08ab92d6d73d448b3d722937b8cc82f8b54c7b4d24493fda57b4810e66a81b976b90337e5e01c29ce8cdcccee489b547855b6767bb958e4db0f8ff4aaeb010d1e8ef6395b1dd97326310107a5c3a59edfb1193776566b43ee0927e7fa5752dddabe7c5f48e952262e446f18fdf5d40ea1291d6ab4e4c0045cafae1dae61ab62eeedd516e1f0c39c87c1d1b77c6cea4683711ea108ed7baedbff60896287ec2fa622586a8a72a657b49e7e187f6e3cf231290bf394bedf14b8852e93c20e85092c0b587383ab68cfce7c8b42f9f38b0f1c97e62a07f0323e8c7ce53dd4516f70c18af6f97658457cbb6726d7c4ff8fd0708c20cf69227a01aa69aa9c0ed6eee61c6e928279f45b2e6c62c79027fa68f039c591954a8a7c598e322c25a2dd5ab9ddc1a248dab81c586d60d995e0a6b0ebd21265515cfcb04d2d9333eaaade8c8de05269ebc7f63b0be232d0ab9fcc6fc58cf7d2cfbab1f50fe14bfa02c0799c817fc4225addd3a1f2a3bafb5c082494a5d6a7bb6db5389916a2914c620d8a0c641205a1e966f20c9b7a70298e8a1aacf6d521666885c3abba3d2d33266e5b9809beb2bf55a8a69e39d20090366c38bd47eb4002720d9fe1d68bf077ef302efa32a9df6de6157c0c870447f911ee8ba226184d9f4f66998846f8ad53a3ab88a19f8c550cff8799fb9c3515d8223f2239718a11718de13230c871e122095bd92712a30ca0e6d7c1aec6498529ccbdbbb28e18822244668d1d3b6d352b21caf3b436d0fbe6f9b3152198ee4f2b61ac91e8f13484da480914dad6e3622125718b1229682dbccf38ed9b594048090b022cc2779bd0d068bffb8bd3f4e882587d10f3272d5146ab0a09de70b59e0e056f8eeedbde6ef39bb1acbf8c8ead46da147c87e46c4d1aa8c4738302247bd84e2d982f8866a84bbd8af6d2be4049751f92da5754a84a732bcbc4449efec05a260ee304913cf3f4b78d6534b88bbc975f0d6908e6a25fee21e04d21a8b6d8ab2cf211ca2bd28d9b9c401eda3da61f86b5249fca28b7a3ab9a65d2845a1ae29c4d45537c1657666e4d64b400bf23db0218c1a60ccde4a7f66ba8f83cd993d3ad880644f84dbf3c2c85cf8a47437468ba82e5528dcd79a6dfdd271980e2052c3f0fb48238f03cd22de5de68d9b0fbe69a165255510d2b0914b3f9450f725f18c7d4149a5379b086c0a7f7eebb0b46bf05cbf730375a7d00a2b8fbd7e3b718529b9b586dda357b33da5d2aee86a400ac0929c044f1e59457054c0a4491e9e2fb95ff5f52b60138ab196721f0e5b60163c7e2fdaba1f4b6387e464da32cfd3dd1a06956bdd12e8ed4d3e17bb38fabb02f0db248b07ea92020e94cdebcdb41fdbe0ccad26af08a35c6e7dd38ee952fe9cc05c0a70cf220250b8d3c23450dc408e91526c9e1d9ae5f08f2fb0227a7a62db695ca6cb91354ca99167c1bf11b1bc88c087cef0573f7e95b0d4c9c5c34e19e27faa2f41b4d6a090670bf1fd9f85534f18aae27e3e3d0741316b1acc0ae6ed0d37108876abaf337424f5540ce774d123bfa0d939668ea6ea142ac0368538b627bfa824580e435d2c4919d71683bb935d0db202cab4addac8f43787c85b01aeac4bb4f16601e66322a9f5bb828859b0fe9416ddee5bd6805aae22a50031a8aca2f7b2d075743669aafa9bce67a85df9e3042363083f2737113cf92e2f47b5c9641635d577fa2e4fff7cdcd4f0efd9793aa3d4a6d6471431ea3cb1bbae3f7d87a90844a3f755f69f320327349cfd222899bd557f2771696e5f1cefe9a30cc07fabee47addc75b59a4dc4bcb8030bbeb658c6f449d25f53886ab66b18ecebaff5de9c795e5531fe5ba041357137468876478db794f9497bce3427a467d079b2d68e2c67540b4afe43cc3712056a5c8859f768c630db76373198406dff9ca97bb21c8948dbba80983a3ee95b4967ad1d5233327d7545f8da96718f187a84dc6ffb897c707dfae1dc687b8dae5fa1f1c5f31796c9d9e36650ff663159953b6817468433c4b404f810817bee44735ae64a77754646b63422263b47beb2e2dbcc017d1045eb6358a99e74bc4651be455f3331f1fb453879f0b2642ae0b3f68ecf5ed6f2dd191cbff7b91f33698cc25c0d55bb7354189eea373311f8e21a3b517e510f11e6168e2f028072b9a1a9397c0b855f2587c6185b38bb3e4840077fc9427fe139936f92265883e26388fa5fb7410b014656a6f2b61247e99cbbb46560b592a8e5609714ff4b55920212f1e38f54abf15a798c03c7fe9d2efdf7d56bf5b279c6c40d948457147442c793053d5c80bbf9c7f7faa9417827d9cbf406198c82baac4889eb6d9511c15a3f9e3e301529e667fcf97d5608957cb99b80a4eb7021de1b8f4ed6cb0b2f674496a4751bafd950f51e85a9f1dc6ee582dbab669e59b96be060f63b278dbfa80aa8f6424b1cd6be1a6f9bfbb2d37ea2893b9d0e87a7b7b7acd9d85feb5910cfc26d7732283b506c419010ecb04384f6dd8bd422d33ad69143dc265b3a03e179dc5e7b6f57e48a9fb5a6ef6da2c3339a745c876b91918d646033d071a12bea4b413faea4c27ae5162f6556d8c5c163491708bc9303387409bc84b9796102bbab659dbade0b11e002b246fbbb49431afe14cb31a5bb95b36146ccd418d982471b21ff48f385e4cafdbdca9a17f38df702e0cf7c8b60662d2d1b6e30680b00c6d3be576fd71465004b97c4c34abe0917f83d94056e953ecdba550f33d01e48b156c0a8a55f8bd1d8220238bf3002e3b03f696f8bfd3718d33e5cc061ba537eb74b461967e19e48f1b234076730a4a6103a0e429f576d3493953a8a90445dfd9823ffcf42e6bbbe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558aae24bb8a0f3c4c45e0b08acae223aba73007d37d59e2d99531de7baeb07444d812e2bb1345e82193e732f2b3e2727e4819a91fdb6a5f565383a703c9cb9970f2cd8b4f8cb9a509f37e5117c4bd1abb3edf029c991ef2d4ed9f1caff7ef65885672fafb2df77b772b199369b7ef54e47a4d47baa3c7079d3c793e736dc7ae07f00cbb8511e446f56e937724a45add7efb132c4b2394b5507a69d22d2f5033dd3a0b6414d267e9e206c74b0fa859029f68c10bd0f9ba3008af7db217c7f985289471d8a0d9d3443c10d5a93248fb94dbc16f934e3527ec62f334b4e035312438464e9a54d54afb8aee9426040a552f51a9b3353877a4512488786dfd42819dbb5d554573e36a9e74cf63ce6e94f62331b1ac39fe0b208b7523ce613bcabc45b30ceb827a4671129dc80958a42e8d25a980131b7e30985f92d30a35d2d6a49dc3c3c3ff6aba8f625c2ff95f6e23759fba34d3a2e7000d76ad879e026a6005e3a2d685d1958c318b8814518c7d1e7ec9387435d6114e4a17a1ef1884a7c9141a4111460ddb45b8a105f6875391096a7cea92f945de88db8f876128cdd023ad3a3e740694ca066ec641f4df4904e71b9f9a350de5e9ef97eef4416cadb62e2c05df56f23e9d5d525c52dd1777afc4e308e9b86e65ea71e84c5a2fff7a213a6deed3d9d982c52f14f3ba3ac84b9b6a8115d21408a6072ca28e747d940bb42b98ed19f31c1017d50cea686cd2581565d7ef4336356643004913ad9fa8c244c2fd1c48f31c1017d50cea686cd2581565d7ef4336356643004913ad9fa8c244c2fd1c48839c73802fd0ec3098868eca078c5d6dc17a2143f482ceabdaff0343b50d6f370e41585d1df60c800e0cad70d8bc531c136f2e1ac7ef114c62f8ec9fc7a3c1c3662b95e321a67d26753e45f4c0d9408b2cad4e38d201623094b021c1bc05bd79662b95e321a67d26753e45f4c0d9408b2cad4e38d201623094b021c1bc05bd7962e89369d2c5dda0b98e2950d860ed0c71da573e4b7acfd3e52ff8c460e12a61a5b215404248b75d3f8aa2af2031ed23ebb938221f6b41342c199158d4d49c77b82daf835e9f89552d06c2c4af1a0c9a65ecee33f244276521ba2eeeadc659b14869d5564c879e94e866136be72dd5832244fb27805e27b08c7e748da745bbdb7758e5f7b1818dcd49af378a04c0c1eba7ebc691843b63b366aa3943f7e1349454970ca79874cbfc38b83faca095bd685fa0c0acdf24a25ce099f93d07a78ef3e02a4b7b5ad38561097de721eab09a5f011d05420836466040efcff47ae4915126bdd3c43a34f1233ca98ab7404e76a32ac4206914e2c55b54603300ae472426b2e3b9a862f55f2a210aaf091fe75b39815482c8c79d437023e1ff0d139c6a0fb2e3b9a862f55f2a210aaf091fe75b39815482c8c79d437023e1ff0d139c6a0fe9def3dc89f0df3db677af50809ae7dac02d76600d4ae0c0606ec34336c7dff5e9def3dc89f0df3db677af50809ae7dac02d76600d4ae0c0606ec34336c7dff59d05e94bcd1438927dac297b9d5f50e3e6451481c4e620345fda2e70cb1a6da09d05e94bcd1438927dac297b9d5f50e3e6451481c4e620345fda2e70cb1a6da0d08b527ebabe24b5ae9de14b5024d006a0f254ede2e6c09e73a10a510339f5fcd08b527ebabe24b5ae9de14b5024d006a0f254ede2e6c09e73a10a510339f5fce15cb391157a399c845a14bc01045f5a19e85f20892f51a2eedccbbb7af48e88f11886c8928e5acb0032730ec82d807a6bce3a9cda0298f2b4d31bf1a827231e64b8d4818d699b50a9938f152139df16cef0e45bb8277eec965851d72e3c2a35c1be4ce0020632c5336fcc6cf35231f4c4dd50dfc0ce75ff0a4ec935aa146ba2ce0c612fc6cc40bb5290c9263d72bb0a5881e8f358cf4ee83089b8f984d2e02f1d0dd14b9fd3febb4f822cbeb6d03eba69efa7ca3066634d67d0d65d74e4a5cc9a8282dbe5e1b3680fd21be5d519a2f20eb5412fc9ac52e96b56db76d15f2bb22899628da498abf3b7093969c51cb6a83bd1467e2f25591dd266b0cd0455797fe285aac7df549a7ed53a916da7cb43246f836236a1db4d77cf858465d8096544e285aac7df549a7ed53a916da7cb43246f836236a1db4d77cf858465d80965447859df5a8b4198474b1ccd8d70452954caec46b961ecda18521f7f0e6457893109c5890e099b42bba7d6bda22529d863a9e75a32ac899f10c49af5311c83fef02a4d38e9f564788181a8973275b8a431aaacf984196cc1a22a4373ac9b5cf08c6babaa0d8680bde0cc93bdd900ae2ad83d469331f21269ce804f75162e419ec0a5701968d7dac9909733107b20316bd85f078b4ebf870141dc65e337363bb0134cf3dd5220872c46aec11008675634bb1b481b3cf9573e5e179119b0fddd19176b51b4ed142d66f12d5c79726f17437284cf3379ea31b74e34d8f3733e471ad1cfe5a2841aa071e6e186490aea372e5c4dfee22df84425c996a79f177a9a3a0d571943734e4310a6b50c9ea518f31bcae142f171d38e6fa9bef8b0f74a612e95640a258d1dffb1a6841af366bf566391ca7e529f76e6dea51f41876cf03364fe41624b6d887bcb0cb6c254569db5101bf86a96feb37e86c5e68e852a1eeb7960414be7a035a59ae386123c5787fb971cca129a83e2fe749e87e12decc4a87de8f4b8f5e2a50735c2fa41f9e3600a2622fea45fb743a75406faf4e395497c0554a6327d472a379500f32929bdb058047dd60bcb401bc9dec35974444c63254cf4fe2012e5b03656ad8e218ba6c73c8cb06ff1977c00210bebc4192e7a0ca650748565cb585f03663e9b58cfd547cf9ecf5b60448cbec688119ffa0d6d49d70381ef277e22810c84806395c24a228852c0caaecc74ba73d7e4228d9c720f4f6a170063c41e980c8ce00f8cf2c9229293ccf38d1f331794e6a1b7034792ecd4870f7a3fa488493bc932b1941c0bc250a8e83480f199687ec2c2d572407ed6ed32de7a3fa488493bc932b1941c0bc250a8e83480f199687ec2c2d572407ed6ed32ded9f411d0dc43878afcaf1186ac86a169d197439b2c41bda734fba10b53bd4b440c111d85e9767f98b4f7ba476b965371cc7219fd2b29f857b493f81a235b3ff474495c3d4d926f14eedc4e481a3fd2d7c5b8b445cc908d0024d133f1777c7f9e897018d20526722212fc5bc7e552708507cafb4b4399a1f6bdc0cb1c7172c4818d5fb36fd956428957700f72e40313550897899345fcdd618757ffde82f29612db66558e797a5b0c6042ea83c8b4a985b28746e9b4a5ae94c99cd8e31500d65e71bbc66a78bcbc2c3b56dfa08ecfbe33e3eacaf26ff881fc728fe34b363439efb3d5198a0044814bc74b820e76df235e1b19df73bd8f5f69ee589ea1bd51f846a987fb663998fbc4d4e201d82fbb7c81538f4da81a0750f035f13fc0877048dc51c24e18c613d5df86d0f8db0b90724a1165e68ca8ac547c877f1f16dd2e63db7041b536568b0a38c47fbe1b19e674c1d9a8c1fb632f45a82fd4d801e2464902a5968dd715e707cbbb55facc829ea3aa2fe309a278c78b7411cb3ba99ff6c7eee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8553599d7bdd8bb68923904c1e5de01d5fe8770f5ee88e9a3ff4de6f30ddfc5ba9312ae7eaf7712be76971150449f9c9b0c2e8b9a1b333beeebfbaf0adb64ccb3ba835f67b8450e0b8aea34c4a63663520812bdf103e8c8a772bb1cf17e467069788ae5f7911a6b8ff56e6ee1ecf80427670a522d684dd6075fefa0e1c92f3c510e634a81d126537911be4b38f6def08a722db9f2a5d38c41c76fc03c7307c4ef9ea356f85158f2e64fd5895ca034e773f941107d10ca9d58c5b94be3551fdc4d14146500f401a0e2e24694150fcd9ae117448f92ff8bcc7195156b3e77114ce34d97a20cee36ebfe0498b558b6b3b31da55d54440fd5b379ea00020a43e2ac660a63602e21cf297efcddc1679c57b79d26292b8df5b36398a8f7267d4cae8ee17e1e5a0501c0a3de3456c7b2ebcf52995a49631972cf19e7b1f83804a8d8232806f2adff1bff6bda19753eac334b542d44c4cd391750245462636f710e80c467ebc885fb29c8a4b335aa24c3c95791e432f702de0d7d710518680a4c248d1ab516b484311dbabc2992e668c4be6b2bb22f1b17cb2e0c3b1f06873a364768153883b484311dbabc2992e668c4be6b2bb22f1b17cb2e0c3b1f06873a36476815388338c372da650c3b5b4b89df24bd8159deb3587628ef475d1c8ccb6b36edb514469e6c036f5a938f97c735259974b57097f0b28e56ce8cceab5034a5f3034b714339fb806a30c32480c89f2fb332e1ac7e1a822d9af8c7c6d99d5e53a276e0d34164dc3f62156ce1362b27bd3be60e96c1a8a20894519b2d1fa53fcba04315dd6cfa512b57646f68d3ee380d33e1ce385a6352bbd8ab0b0fc30dbef03e0092d816797961e6725577a3685df52327e98d1a09b9a04f2be8c60304e2075d67734cfc44d76bc0c823b7d6fd2e672475191a6180b83c2ccd57ed478b64f707630781dbaca9b525116bcd88ad93979ab586664f188e71aea1e5b41d5568d05d48060b16cb156fdc996c835a56b9103a3927a6293df4e57ab91273de05b163dd07af92c1ed76a294a57f3bd52d88cf6782d527ce8d6ccf291c3b81b67f29c3b106611aad931ed68138e5b142f3155dead2b22970fa9c7fc123f7038380e5c488c7461373335ffa12fdeed62a4313fb0de60a1b433896f0430aaa2dcab985be019f43d65e335ffa12fdeed62a4313fb0de60a1b433896f0430aaa2dcab985be019f43d65e52526ccf99d5b19c2562d2f501314acfa3ea112b0f67537f649d964d14f69af6af7568e9fc825809e0c9f23c856b2b3a6b3d4ab8ff96fcc87e81dc765c053023438b3e640c79c55f2e7b69717d584eb5043362e6b0bb7aa10f3d0ee538682dd3eb679a4de365ffa55c1e3c32680dbcbdc8e658cf9610a32715dabedc63abf0b92a10cc62ba938a805c65ad0559e31d25e9495a6378eccd8a59f4bbcbbf082d5ca9ed495d944b0a73103bcbbcf7655903cd2ef762015e74eafab57409cbcc29affacdedcb4bffa3ef11abcfe7ad8877d95a3a8a1afc39a49675cfc7eff095182aa5a29c91eb1e47a4a115579d50c37bc1974da641bcf71714689063fe532ea19de771e064575ccc2cd5625f215502dacbd440d0aa9c5411adc8a1b4bb6af94befdb23f4a63917281af40b4400e714bc27177d9c7cfd553e6ea0d212e7d282e0ace3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85532f6fba8fa707793ecdd5a5b7a15cd1212ef773ea35936c07bb58b0f91a2ece3ba4d858a4a5226d49375a2cc4e744ff00a23fe1b691c9e777a36d3163caab88d40eb3dea38e61ac8b08192242a69656e4d679ea45a84332ed1e1d59e787f63f43b21278fb09e0301ec317c5f38ec9358a657706a3cb7dc68f4c84d3661f0f7884df598be3a4c259524752a66fe125d5f1b4b91838969014a547e81a078c2ed97a5c8fd9311dbdcd9c8983635d789566a2fd2a5fb75cfbf1ba90c625a775cf54d1393715ee81fe015fdc590b85f39b92ceacaaec6f7b3c0f7f6eff374180df8770fd04688e4c924a4a3d12ee6eb933b436b588e5d91fb69806553aa4c54c5d9f68f99bb49a1bcc2df07a421b41ff7ecacd655234feed133bfa6863dab047ee477cfab0b1839e41ee93541d661ec8c9cb77636c1a816ad1cae084150fd2d9f7a9d090a6a99e1d41d4e920f2424535f69d4b3fcc7cd2d68ea12e7335ab31a2960271f4bbdaa471208685f91bad213d228d77edc34805f10ce586847f042a568284cfc38dc404830f8cfb633dd0cd2bf57106583376bfc5209ee45a290ea580b21dfb7c67c7ce24387ae195e6aa9482aa576cf8e29bd82e459dc426a82b2d7c62263cb00b2f540eedbf01023ad02856c46c72a87899a18c0c282dd3557267fd954831099ddf654d7a39645be682b033bf6c075fc6fced234f3b7b03181dd4a1f55ed89e89f868301daf78abac451059590a7a8a03eb8b9d36ed5aea7dd74ee5bf9651d475d55e7665c660425710e133e85203d4975153b1fb130a7842464cf3bb45d1d475d55e7665c660425710e133e85203d4975153b1fb130a7842464cf3bb45d7f42f72179539b33788cc4fb716359335ffa8abf14c24bf39358c9fa7fdeec68b5abf121c46594cbc0ec22982e6787d4e37543a42bab547b86e02c1776026f67696703eef038796ad19a3224868f981b16eb542dda9c54f31dafcdffb49db3ae2e0a3587ac2dc940e112eae80d1cadf9e62f3c512040ea347f17c013af12d9c39c8d0c5b8f815501f00b062a816c5aecc84bf4ec589b0612209729e6a7bf9fd62f4b98a2557f21148f9cbf0cd642dc2464305e71aee0a0d7729bea9593bb8627e27f2af71c27d27a9a0a3f9105b66573567f09f67fed089c85fa1423d02ef8b467f7457b49b2e7da2707d8c1216a5d2801196ddaa98318f3ac2090d3587d0c28740b814ca1d1513348485967fd471a6db84f6ebe1db8bb44c319946da96e3f2875c1caec62d06909f385abf5f6b07aace0760549610f0a70b5f38e69e276b571009f9714eb720e1162baabcaa5276d8c43a6c9781ded7183d4f76e41a451d39dd510637f19471535ed100cae03698b93a7213c5fefc7f1e00e6875896a087f94b9ddb286da0e03a24209ef9bddede6f0507893421151a473768947c48198d1da750e8a61fcdc3ab7f98f01a73922d3203d4192cd86f1ac09a0899c073b440a858908b54e40fa9261de761c5603ad3ff3351f61cb589c0eef1743f42e3fa0f000595bb289742504e7131a1e3e9c776f9cb11e9b746db7545a2a1fb9345ad431cb7d79250d629046a03ccad7033f5f5316f646382693f186e1df45f13b1844a44b64b7108b1135db369b9dd72d429b5783bbb3748fd70fb1a8dab4f2516b83289e14077819c3632b90dbd893369cfa211e26a974b2943d87fabbbffb23c07f6705b325c2143c7e3973a39400c497ae0dbb9ef59cbbc5aaae24dbd69fa60db873b53337d461c17ab075d97ad17a0334a61cd3f7fafa4a0794ba0dbd13ac70a21850331c92f793e13ec6a7d7f0922334eba22fd653006a0c4e6d59f3c3410644c772612a66a84e7f82641c80fa4d828667c20bc5bc7cc8e27bd8a431102e71b1f57fb27c8194b4c41cdac582d6b8a20fa7b854e2f965fad5f896aa28383d019285fe91eb44aa9df8c2038b4df17bb8261213a9c42071fcaa59f398184b0caaedd00b1096202f45709bc0db87932f3c9a9dfef8dbd671dc2ea0d71bfaf730edfe845efecdb3f47731ec601a8f2c3994b076bc1101610855cc681f987eddd48ee8d865ccb687106fa7bc7586c27fbffe4f2db641a3243db30e606d7b951f07a19fc182b72c58fefed51a6b82a886eee836f6cfa8a52840a97f9eee16a9a4ff8be3a86918cdcb45c57a86d861731498d8136026f1976e00f07099b4097b6a181bf2786557fc29314e026a30e6462fc7704ee5490fc09a08cf4521341d77de35f38eaf1f9a259d282e0b171e6c843a93fa18ad5caccf380a4da87d2534669bcf583c740440fbd36f449b73421862a6834c00aa51a8653da3fcb44fd54c41b794398ebeff9d2be30d12808c9826d5b7edadd28a5e8ec30b8f09b321b43b9f22818c4aa241b93199552d1711d69e18ec1b064048627797ea866b7f3f80c92c86d21724a917995e09780c9b2c5efe6d1fe5505646f20ef4282fbd259814d1d474eb5d96000a283176d47d01ef4859bc971476e3e7a80803325546e5fcb3998ac770e19c0353f1ab560b5c511056962fdfc3192a795566db158062584db36a556fb61ecbcfa0732413292c0cc55441dd8abe0eb861fdf8cc3535ce5487d2258c2b2b51c0479150a41fed985baaf14d65222655a5fa60ff97a515dc0f70cf67f0db2911b4e24685eed77a540aa140df9e0ed35c9e1fb16c31c5d3ef5565b9682addcf47153c0fc816b4a738533251a0b9c922de8f36b04d3237a65f55900c65a33f2e0ab040729ac11141ada629064366f53e670b9108feaa973b833f9192369fbc6989364129ff6eec5d657243a622a836e78160e2e56a9a8d5dedfec4be29ef2c9d8673b1aee7db5c59e7cb13fcdf8237d1a6d4767e5ae6853233411d7944a9461fbcf7a6ed63f1561a6e316da334bbc1f097d1d07f6a29919cde075e0ab1b6fc8f52cc99fc48c65660577197a42ab0ab60fbdafb8ccaed7fafa2509c986ce3990277a860ac61e8c7a356af688584e2bd10d9002bb5e351323fe1c57b5adc0ad889bfcebb54c339d61f1b8324e1c8b4e0fb1b2bddae5018f19ba70cee80a23f2f83a0e16435ded2c78acfeb865290e7e6914f75e92720313db82a96a7d5f609e54db99e9a35c0ec1487985d5dde1c22fb3989dc4e0a3182d8c25097ae3f58e6b8c09a25f515cfcbca48c8ce5a7d1ad47fcbf62a5947b471c3c15466a3a4c23be15cd7d3ada9072433e24bd34fb50b8fe79b2606a8a4fbb346e28fe1e8d4b5bf83dcbd377ae11e9787f68b8ada6e6472b7dc6f4bd14b0daad4b7a1b2e89c41f1ae4f58e772583e900562aeac19bcddfad14d8befb7ecb2c3fa123f03a282c382790c1e67943a80e5d012ed0f046def0fb0ffb13ef2d00a9fad77c003853eaac6c0acd3ae8c12e588322088409f5fc26b9ab74a1d82c75c8bb1086b64aeadd1a41d015b5d09da7c2ead62a68acc2ba8ee022ac9e9cdb28c6f4be852c82f05024a9421a76bbffc5a3adb9ac1f26eb6af3b4a8f00b555c8146c9104e54627a686c87eb9de4cbf1576be72cde53e1da2e54c555a25e4639b9f6e66e2588dd42a16f1403e858d4838141d0497046aad635494e99e36ea76d470b63150b144e6eb4731bff14276595c58d9200d54d1d4169c6953e7543b1c75d2c591f01410d7c005d47a7a7bb80ad35f6774cb5664b50776f41c601267a20bce8e2141a056b97fe3574ebb12721d7dd008f8b49592c56f0b6e7e446d793d3f235b4c307dcc838ae3f6b8934f8d0584a4a8ac823a5859407a184f958fd53fc1d5b334602b0486131747d7c2f2a12974e671a4f8d18983889aa75f7598e26088da4b823677f10c2aff9a24b58cf9f1cb0e73c830cb007f637eca5d23ec920baf5186bc9373022dc0e10b22dcffb71c4e6feaa2ab3c7fc290540da435720c9b33957f12887f749b5edd3327e3eb854e97a7ee1318dbe38426361199751eb569c54e57d28ddc13805824fd36bb7c79f8c3fa5bccdd7452a2e5b6f5bd66ddb8619e8e1380a23d4d42360cac416df77574206ca70108b2f7f58233f31af46041b2496589c71cd0ea982644b66fd85c42c54a438ace094d1ac61ff3ed4e0c49419d6b7f67ba392d3e50546aa5557c4e64321b87f48fc3c61a399390e01c3b042466b3d2bba9b7d8e5bc83ccb6e2b032cdb5b0d40bb37982e99d886ecddaaa6dd91482e2296654fb91b6e93daacd605db6d10611845f5a3e0222f7246f7407b3e5082b61466ad1f16c2a6c75750ed5b49bbc77b3cfb60f6a6e1679a651c6d191c5eba3c875084e1c02160effcfeb6230a1c15d8d4d32fd18d973b45a7b845aef5259767b998ce558471029d4819ee1a61269b67e3bc066f539f52cdbfa31c848d5d2d9e270cb108d49f51466dba3e040412f7957d86961e3e2bf421d7fedbad66615a661c6b43155035d22c9df11fb1e1d2a9775ba6642f72066facfccd0423b11a7a8242e10ab8abcb39958ff040ae370f95e96be2fb652ffe20561c92548971834d64558df9d4da5335f86eb625cf2c435822442e95008edd37e85667f3b8500225786f0cf7ad79478d1d994ad901f6c33898e4f1854bfbb8d848f5861cfb212104df61bd6d114297892600aea3fba2f27642d35cba87fce0d6016e77cb65defdb7402cfc438d33a132dcaf025bed37ef46b23b1f79733215d44820a9e8c4d5f32d862b09f21e40a783b0e094d91579598bd8602a63720fba4925b141385f590bef33e10d2a61c2c93d7f30b0b808ccb27be9312bf816c965d9329b22c61f8d7f3e734e9c0e4410c4bc374787f5b2b3b6c12bdf4379ac9419d2e1e8cb20568611aa444e1f2b4ef7d3b9438afa436a97004b7086f2b66e48699d682a1f30f091bfe441956f02ca699235fe3dfecfc706cafd120ad66bc634b3e09c0c8d002b3746c5cf22d9116f844a726f596103d99339f53dc0cb380169f43a83c4aff86eeb146d5861a7e0247908106f8b6fd37902e97f836e20f93a14e2a7fc7caf0f478a6cc50431e94d5e7db4dea6642c5843c787ddd9b273848781343f47436c96434d06fc487a6266f32730b359add1fbe83ce5f7313c5b086c64c816e43ffc657b602cfe6a7231bea8297ebc9a96b0932d351f1553deb416b857d97cb59b9ca157669d3706db2c46997579ce080602ce818f226b3e292dcceee63e77fd910937741b1ad6fdb3504f7248b033e0785f2f4512699f7d94f2fc2f752db237950f180c4a707abb8c7c05ca68077c219b34dca0e67b211a3ced568e1956f6034bc11337fcc314dc80129d27bab2bf969334326b75b812968eaeb58f136d6476aba16f6f8d17b055fffc0987655f597c99db21287b3c0623ccd4a97d1644cbaa404f0172ae93fd218db8be92d9cbdb5619e94649e2868a4aacb12b4509add78bdfb1d11077638850517ab0d6f0305e71fe71cf2fb90a272baf16bdb7ef694678af430f84b5ba5c30a805eeb0491cdc0a24ed96eeebe58c1a6d2f3e4eb0fca45d0c7f8f8fc1c515f539647129b46c75fbc6146d218bab81a432b1377b9c035adbe698659b637929efaa37e49ac8816aca0c37516a9ac450c482b9bc7163e5f3dae242b03fcddc69b83dc1f47ff19fae3ef83a96abd2620950b6024897512ac394c03114a91a3f17430501f40a876de180d6008e13a3f1f7e94ca5ee9d7351364b50532b509226e6ec5c235473295cd49bb28f40a3657d2ff251c01af0343cb99e992c0e88b55308e72f8d2f19611e246edc7b333b129e74cadfc33d72bd7bd4e033766713643c5139c1a8d07111196ceefa9af3a8fc62ec450550db06687e4f0228e6449df0962df6d0ed2ee2c9a940cbf128b693afe694e6b9dac12cd529ff03508c0f5eaf0be9870c0c3f083d9d65c189a2501c142e3a5fc5441f6837943e2b25556cd32c9cb8a89cc0581557f1ec25ffad26fd2e6839a84c418d782f39681f7956696e566bfc3fc6b3e6602ff8fa692de736e3952c98d3c835877829193adb7fa403b735dde9045abc5bae189d64e4cd415582652c3d35546d6e1e69bd2fdd234ee4145d35c77a6c65f1699e2d864c4e7eae92ec3c3e595771c264825a4c7add87746fe15713c7500e53f727bbc3744db576d13aacf6675d7b6cbe40cdb67d730c7512fa03c0c8a1f8212198a1441c660b6c371d9332de3548b67fcb4874a9dcb37c75a1612933bb67bb4837acf274f31efa6f91d778d0f7c9ff4c18ac7bf013683781a43671c5c1ca3a7a706563f1b4c1fd3b1443f17310ba66c3b700d938e558ebab0e38390b8e2ca01ccc111798b00c2d7fed1a5d30f11c9f80981f33fbe2f2dcab7f8a7c1e2305151025d68015efba36886c3e64694fdb47ecbafd1faa19db7561be6221e20e9f2d34f8dd56e211737c22136d271b01aac14ddd332440eed96e5ec8fe7f2c9680f9db3c5e2e08aae73607e0ecb2fe0d39ce8b0123d61270fee746e8566e4ca266968584d86d08732c23f26c675da9af1c0992af4f76677d9ade4bde66536bba29f7cd67b6b48429aaa7d64de5cf2d352f7907783f8ba927c4fbe9a91639c61a479e9ea3926acf2cf88f3655fa70fe80a2889a99dde907e6543a6ac172c09b697c11ec123e8bd402339b5663daf8d8eb1f3322cd07a04f7f6e6b2d3e9bf53f7c2611a7649748d35bd7adb36f89bdc0f798dd9350b0d9f5458807919f668dbb4a56125020a9375a5208ea5ff6042f03cc5fb4e6f3b022314d7b96b441e5206581491f09032eac5859f14d605ddfc3336a9a156e846864dca883a5da0b1e3d9a4ad3f49ab43c96d60c0163dfd3d57bc8bc60543f6d2469000460de8d1cca95a05d5360e0b250129693f8cb9eb818bcd410beb6c6803835dc747ab06f58e0d6091bd167a351a20e192c0fb5ac6c49c62cd8673a011d9272c26f3e3d71a4761d0cf7696debdab55e57b3ea94f7ea35f232e9699940051a63007048e966f916b82d6100a0622a90279a40e4b8284bab2ffb09cee5954a10c80025a8530f592887ee3c6e1b065f5daaf674fe7595e5892f8016d2998c384d85769709398d0e513e8096e35b209998e329aab13af24418ff185f7f5531a8a18ed7020ff5243683a3825aca017678af79f3b0d12aca917faaef22c6b805b29ff6edd48ab24a51d0e9b2f4513a9d0c3d437662c09c1a75b2bfb684a6cd753c039d0d7fe9e69cd1f08acae282da19a97a3551d84ef8a61a1795d50df51d4937c2cf4a0a7b9be6156e7c2bc70e6eeb0bbdfe7dfd4f9bd09a578c650b44e4268c1e4c9d52215a0a76998f2135b4f3c59b30d7412d3033e770dab8dfb0341c8eafb10c1bfe995dadeeb16988ec313a4b1698842262647421aeb310668013c0440015a728f81bbecd8eb5009be5400e2d5a02dd7f200df65de26c36dd8fcf092dcfd15fe62ee5342bc7aa3983d696035020a3a6c1a83810df6e151e4268c28e8eec8d542963c641404bea53ca3956d241e71a4efe1e149a22846ae600e36b16c952e948f2e67d030fcdf9fe4e6628cf49c18afb503ad936c8d7d79a86eea5878ee2ffa0bff6cb28080857808debf278a1d5a7d75c44edba0bf108ed7eb44d9f2ddf24fa552b1af049be5ae03753c6f8619c68e5969c5321aae86f3dd0d1f98d0c9e176ede1f3e85484dd13de92c3436ca97df378ec3481e04c19a73230156236f768b0d81e58a3e5bd3bd79ce294cf9ef0ba0a84cf7b869c89ebd9fd8437819eab5dd7ce5c7fe325cccb00507b5340c4d00370165e547089e42efcd1c3dcda5c54a505491280e77d108bfeb898d931de4aab8082875330dfd11fe522d3593a6b0ef2d4fdd85353b5b4c189c5fcd4fe14134aff9cbbe6452f05283b42ff3b3f84784e1e4f11d23a9a9497d9bf95bd60b474259c28b979543556f80fbd268dcf9d3859652fc46e298d80084b67ff3ce6fd8260581448aacbcc89cabe97e7dd340a295ae483a8e55a540edac1f110d1b4e20f5acaeba13006b1ce2850b3da503c266444539d95a7d5f9a495906baacb08ccc66275038b9546e98af90980eaa1346c88a035f26c96b5500c659957b6245c11b7fa1c0e823b2e221cf242b74e90558595265f60b8b11a020d13af403b90bf98153a4d1a1719b5a69e9b7c0e98cc31d5b08eb70d00709aec631ae1981c9c5b807755a1ef7e03c61eb9e91cab05531bd7c326d478a7ded8078e7c6b7cf49be0fe18da6bdf87607d579672f577e99c0e299e448fc12b8df6449d63814f5f56813c79532aba8f46e2d50afa56ef44f2e158ad77e76dabb225200676e00a4e7bff20d211baad5d8d50672f124500c21c5abe004f51b786c120250eacb5c168042ccb50b3d3d01342d4cc5cdc06c60c246ba8a277704eec3d3779368bf4d2cccb07752c66f861208958c970a5863306d28824d30f3108ae4d151bd8656b1583df78c905bc6524a737d0723f6198aa891da97ded68d83eae5da5a1608c88d74e048b03284a1ff142f94009a9368dd7cb50616836a38492bab208bf5a80a98af9ee9c4710cf7b3f60fe92d1cc79718652e9c31e04e5920bb9497fbfadbc2bbbb09bd78afbd69ff9da61a0935780e1883f3f60b78620e7a661a4968d7562179b4aeb12e16044354913705245745707823949c069bd5757195491c1d1d21a593385b317868b9e46cfa2b60fb372de2e59e2acc395f0ab29282a8b379269649209b74c5eeef05aea6759823627d672d093883ed94ae8899259fa773c2bb3d0a6497b7a9ddfab9152b574e43b62fbaafa33e230fd68f9ca6ebf50bc2e9b073cf39da157927776af25e8506d94c805f1573ef747a332671024002f6b9a031d97d516d57c3df270702009f9566faef7553f83d02df7e3d857a441b03fc7ebcb0f23033a36cb19711d496878cc802eb172c4488e106c908aae9ceb2dc37cfd1029cb3e363795ee425771a46ec6629a08481629f64c024f0bf0acc202a0ad77ff2614f65f26264ff9379ffdd5ba8c166e7a6b0bb157d8732eba58e285713e2f7f2ff291abc4b7c7c53fee53cd435d47482ce6c61e6728ccd47d96a1a688d73223d42a008dc66ac2107e4b962ba2e6139d80d809924ae4f6a4333beb73007d18611e10b7219001fca2bbf250f2f22fd3e29cbc18a540b71688ad5bcc0af0e9ed1380e5c0dee2aae0c7f412d145fe6e06d6b79062ceeb398bf23b70b3653367acb04c7ffc07b836bb4f949dd6a370307d325ba5008980d9108dc1ff88f43977727e28b8f6b20341e696a6af872810ba27958d0ffec63f7a34d5f49be52f8f2f5a5c47750b418af304265869f77cd4bacb8e1d2f51c1e192a146f01149a2223a56507b3acb65d3d2b560c5915c19cc46c0b2a1e2fd4b5ef399f956214227da549c8a84d9d097538c00a3d131de5748ad8508105aec9372949fb80fde72de8c137fd63b156255ca9fea3689043343ea5964115590ba0c1f2c289b56ec2e8c8b107ac65f8b199a944f1191058c8e14d50001ece4be9e8289ac927ecb538b5b4f49facf70aa0cd808b86aeffe4df53b325c377806fdeeaa7d3d66f97123616d441d63ea792386df4f18b57702e47256ba7d4bd7cccdb706365d76a718a50c6e235583927289203aedf0c46df9651fe25d90a926dfeeb5a2ed04d31298be870882e78b3975c6549aaf266e5646c568163549184f54a035b2c819367f0beb7dd76860fc9812f596493b1e066b30d2a86365641e850ce597a42668192dd050f0db463b39f9ebe8fd8a7de6bf91241959a00fc4b7c13c20a7ae87ffd5b34ce490f61450084a984cc450faba94690e8e8c66704d426288f32d81df1c9d8b8996a40fd7c0e8a54e1a31a38eb69fcc42c96b76306d92cb664ebdcd8f1a45767b662c83b2e8b37a9ac5a1130dd8f9a9f45ac9cebb6a1f6befb70ad9e878f74568613823d1db6933d685215acdbed1f9f6cc43a273e2437499eb4b284afb5e356ece345d1b5a9f56305654611d5216369a0f730fa8dff50f153f2c58d231aa31509c408cfaad05a86047314f14a977df62e9eb803b56177cf561df5b93c5320301afb2eb7ed10c178d5e517b64e6039661368f773cb4af5cb831c4fa2b87780c3c56f2add0b1aa6ba752d7a295bce95b6487ed71a2aaa640f1d532320683311f8ccd9c71702a53b87909369aef1ac415fa050ecd54c3b2d351132d8cc877fc12ce233cd5d506546d6c5ee26370564987177d36bbac09922dd2213952879290a9d797ad3be75849fc6efce7a93c62191f307347d84031e5e150b05dd834f2f8eb25ba2ab632aaf39801eac40090e472b56b604c406a575b665d3fcf64831db1d1abc3115e850b8564208aa78d25dee64a1f959cbd752cb43bb192ed1782aca3a5e185c52fd576b96867e811e24a57bf48234bb9f713742b530394e9ba6e1329f569f9b61b19121b49d3f3cb64da97fb44991124d0d8899024d1c33e5d08bc07c01a6a81d0ff53f059fa54791dfd99585770ecdd64b75896bb213f1ea0778a99a45af525706854ad2dae9b0481a1381f51eb2853bb316759abc72a06acad9a8b49ce82b1a78935746a404219087ed726379d59e0e739f0b772b2b691187fb778c86ac5f5840a46f1b9def632fb05ee06848c88bc2f437ab4b83f41ace6147513958f5ac4af65ec402489f1071281ddcd94574ed7a7d31a42a081fecff87b94b1f0c1bb2dc6a16b222ece8cd3c3d26f46721f1195fe8d436b04032abd5a413369c5f30812e8217d0f1ebc0c099355e936b1e3654a87f7e7e80b0692dec5bd7c70286a936b6fba34da42e5be7e2dc5c718b7d4d2e1472b2b5d8691acae0d91a86ee8384e1a94846418bce53d4face0ca56d4ff75338d7e7bb0988c4302e2854b350a32f1d83aea351757494fca372392edd6750b2425a510f4661230d9b0a47da3e0ca24a31f6ee82493db9333c1e82a10ffd6785d75b28a8991f41432039bca18d26e1a0a54391fbc6f801cdab104ea4b47273412ab1f9011782abbe122cc045932acfe884fae841061fc36b82f5984344640a66be726ba3416a95da41452b4dd22c583dbc7a2178d067aefd597e83d7dbc3ecb61ccfb533b1de04034fc87b3f26bc46b1a28b0785597106415949d9a05361860056766f6af0669f19341d664223cc1aa013ee19e0f1fc2cf4b4a45750e5efad4dbc3f847db13a4dfe95fcb2b67b080d13b9203a10aad94879b228dea22bdc7ef2f7807c2f0d0ec36e9b4130cb1d819546b7b5a897bfb79a8fec22274e91af6a860e10038793eaa52cebe7ee7bc59e26f7dee82cefc24f8dfcaa62a50a083e9e713f3f3ef7f06a063e399f94641b7a23a49c9fa0d9f7e1ae5f4b29ee66e754b145c217220620100d4d76a30c548df3a4752d6dfa9fdd5cb3df96159db0dfebfe70603d814a2e437165fac13a3e6ae48366b993d289256ddf11090cbf76f64bd24ebdeaf0c66277b444154afaec98cfff201abde2044587dbc108bacfc7cb024702895452775ae05882bb102ad8f1379e65b0528a359ac29f47865bd132e89b7a670014c9ca1c33b1a5f42d9014de32a68a0ea1ba4991eeedf9f9a9cd81d487f012dc5c08b60e8df79c5c012fc97328ddae9c43d626a22b4329aea4cba9543447e360d5b29f1a8251f57b81cd4f674fabb82707be418fd136534a22c0439f9c33cd6cfdc2f468284962f6cc3089fd09a47877bc37d184af9caf129646a2727981d9f7f834d721d43a1ce2ff9e07eeff09f895153c8732e97d0529b98014329e8ecb40c2ff5ab06b659b6a71f32cb0378b26f3b8f8420c881bc88fda03660a7d9b2ee94973f54e2a8279a1b3405a30c72e52ee36fca3cb52acad0322da7e0eb6e05aa3509cde70cad9caa9336e359b60643a014d052f238e9fdef05f3d10a8d7f353dec8a2b8ec099bee67d83e7985b4cfb46aa30baf75dfb88ce446d489a5a4cd3d3f33f0848ddc5775aa1571301034469d2238f13ea58fa2b619fdc118d1294917f9e40f23e4bd53de33cd6dc1853bcae1c35cfa29545f6dee0f993de14a4c8fe65b1b23b645c6b640b4b9037e0389c2e79bea922ec9b0961fbf3e2ec950b9f94f7f8139ccf28ae8b2a6cfb19eed3fcc37ab13a2954dfce04537a54c8cddf90ee85d14c2d819f2bade1b0794fd5cbeb0dac6fdbc162a273dfa9a616369fced944495759f8cff5a77af6c46c147c453f1a556cf9683ff2890500decc200baf1afe8c8478d09eda9416367c35d4a5d4ddd4ada2423fc96d8cdc1e0d1f49b2d2b41f13370ffbda24cb174071975de191b4078c63360f9c0f87f293a6766e2a65ff0c02e00bcd9a98fab281b446e32e592bba1c74e7ae4fbd4ca565439644fb931a9a688fe139c29b71cfa80b68c5023444465eae08daf5d9bc114d38a08560d1a4d8b201b5d57dcfa24a5fbe93f149779a646228ea2a6b242012363bb3e295bc7a993580adc2d328238300b63eedf5aba0a8e368e77f596b1c57b8d18c4a180f312b3764d0e3e11241187b4bea011c9790e0cf317527eeab5223610077055a800c6c02e1a5e9a0500605cf1252b3374b4bdd4fb44de2d53f47bb23cb71b241d7480f18b3adda6232d6fc13f5214765c6c1dccd8086362d2be63dc34b5613f71d99ea3642b1ef9777fd4b85063e82e78f2ef1dcf477ea46c60ec96657b33d6b977c3fd30678fb40e246b71cdbf65322e6ad29c688d004c11909b40e270a9d731352a76ed670bb83aacd835d575abb606174c4a7b40de5d98409ad7388486db0ca844a6390d7cfb0d901faa10ab41673588278a9956ae3dee4aaab052e24b76a84d8e7307f7eb904e4e118f30f3eec44bba1f802595daac867b2f36b8654cbdb4d353e69512b009b943a031da66578af95a88c5666b55580205025d6e3b9e463bbc0c59709d13f2367bcec9debf84beeea197506001280b4813da662e650b8210b1def5e6f170585065de0134b73c12f626a89bcbe166ae3f127d4f4e1e820bea08029164fcc1b049ebd901a810233837be0bae6d61369b70e0d0688a5eb594ff4684414bd88cee4713f2e3188a5e162dc9a6bce4688d279cb40bdec9496cb624b011f3c6f064482dfa3b6d6674e69e6f9316891686b1b8fb59b85253671332a917f32053c4df3f52b81666674655e20274ac44ff89a6a607b08048e7ab3c43534fd962be6ab782ca3083bd77b92781bc50d47e879fee7192ff8aaaf51a5c96518d082f2bce82a998886cfed65dc4c29c65fe734ce8dc82e0361c19eb79815961653028196cbcfab2c3abf51e8361122567debeaf39a35c09a6a0688422c010aa74292169c9a9b0ccdba0246fdf8192acc149435b88b202d11be21d1772363479daba3340b27c41358349dc485e8dfb64607679c1a2051d65ff39a71335f5727dd2305a1bb317494bd4a2a9b9c7ecefebafaeed1fc7ad72437fa80a11bba053022d0e6bc108bf235a54c8a3bb0ee9df925af00c3b0ce332e2cd651f0ad9e6fb40b23338193a2fba26a9c83d9bfa33fedbc193b76bb578297a3016df77c161ee745d4ce40d7fd81587cf839c2be0991ddc5372932d55804b11713c9140d10435ef4b316a0773e3506eec79cdae53a36c03609e5a3e3cc4b6e117a499db7864c23ec825c6cec99503a45f407649b11fb25ff08d8c708e098a22d013c5d38c068d1e398eb573d2055c053bffe75d8d5008b73f90cb92a8f8d4d9af745809ceef47af4cbeb2ee245cc6b153f5223d5e2d63bed3e418e4a251b05558b8cb19c59254aa27797d076861feb64cad14546f140145e43cfbe314ed98e23eeab97074b9bd837aba4e8099092753c168e008b2a93f91ab4c8ee51e9e60c4279e51329f3358bd3d5f32311bd537adaee399ca489b3861b832a5a9d1efb296717647b83afca6f0281f770fb9810b678b80532f863ab24be7656290ba8eacd2e8fdd5babc0ba88a4ac8c2ffccf3213e702db47c1156cf7894889646aa615caa231b0a96c62fc18ed6cd393a19c2f2ee4f40bfe67c054d2767346284000044ad8957e81b64a0647843c5d6679195de283b224b5c0346b68a80847f05bfbebb7aa38110c8ff826e0d863793c0844635a57d770ed27568efc0b22ea31d090bbcdaaa417d1cb772239464a2fd7d9d2a2f3ce8f849cc425e282cc182908e28d33a74a8e987cc29b58dbbea7f467474f9629d476cf2d391033450633b731cb5b592241c29589a0e93850e6c515a5547e79139edac58ad0603e46844cc9aa1bcfe999b3147414061a1896b1d320de08ca3b022758e89095c7e442211c0af08358200fc6b2ed02354856da9fb47f62528852dfc0cc943467d6bd0585132c3f7639d036151d792e121ca92b4b067000652789a9fe9d820ae0605c161d6f2d2257628ee9f934471e71efa78dcd8323e05e357af4a6689730aa8fef678e1ac882f112b527993c272b03819ddb1646093d111f460e1dabda764e67ee933c483a51071057da86f0c3b8eb6b79b66149a19470d82052ff3fcb06dfedf7251f6e747a390042cf3cf14bbb5d98e25b408f19126ba1cf827decd3222b5ab7e6fabb87a4b5686a943ebf047192a82448ed68181095a42dc9adeffba5e0641c5fe115a5da5200d172c1e55f9eb512d3fa8e867c1414d65016504f4339eb697e364424f563eb458a0301bb5628c39cf4b4f9c8013a10dc2ceedefebb356f00baee79b1f72c9d7e97856145fe5e417de3413d03ba96a88b88ecdde302c8122c101997f17ee1337c839e5d3b67007ecb8a19f14b1d97896694d684199b63733d2039095f0808350ed994c44b1b319ed84d7bd27bf8758adf083455e99ad4733d2039095f0808350ed994c44b1b319ed84d7bd27bf8758adf083455e99ad4e6ca0a4e331211c0b453043bea51d0e5bb5550ba5172555d1071302ab5f765d1e60da3d6693b4e7dfb28fbb9a8e9971969ac606b384f599edf7cd125082062f5b023ad2587940ac498335351629c1e5b395482badcf16e2f4872c8762dacfda1442f0b0dce5bfbbd39e995a0a0934c3f169180de09f14cb382f40d13b2dfa14fe884c1e285d7071028c1a4535b20ddef1d2462b81f8026d34a5513e337b5b155f0e896284a1fc3df3892d34a965436fc0bb00b676c22eedb29686551ad97ac1c61ad4961c4c989c7be0e7b442e8d4b69c011d3c93ee4bf96f3fee7d45dd3e064457335db2c82e0e9666e3e08ba2136814ac85c35370c6a741f1f0660c711d47d47ced6b868c3bf8252cdc2145573c0989acaf0a3191122969d00824c8fcb299a922ba8b838415d556d6562d155fc2244c1adb0fabab0f15d8a675de9beedb5f2230898bf66f1695da8c9e045250a8ba6e26ff8e08277e18e9c1757a1cc0772547c1b361f1da89746f95e5f2ca4723d4262bdeb5a7522a96320fb1788a16be7f8eed3497e064374404ad603bdfd31ffd2ed069cbf42ae978287c98b39067abe027c868a3a06e2ba8c42585f0581a889c36e76f7b6ac9f79bfa08330818bbdf3b91f9488564336a511d90873f86dce03b5b295e052ca51acb91e30dac0a0646cc72abb3b4306f445bc6f28af91886acccefa72eede240a6a2dfac6968b68317a63d15fe0cdc056ca4d5215810172c12061568f7f0dfe519b5c5a5d1eb55fdb82f0aeca0af3a1bc8c350d3e2560e6ebb77374ba5d5378c33f5d97fb72d286a373024f6bb9ee96589a9adfdd954e53788767c7a478a8eace64a2dc8a464b7c9f0ab73364a1f4ebc357312aba9fff858622a6e02a5ef0701074a8a0f3f3e267810b2ac8c69a530b5a60b938cd99d0ff0604d96ac95952a14d6fd38ffa3df9cdac50a4c58de737ff2c044c92222398a931a603ed7c5364c8f5186700848e515415086afe7beaf0bdd853302cc5a33bb71902007e7057dc4e64a16fdb922ff3e06588bf31509a7884b9b809e15f41d1ae30c9b7fe25ab1d28efc61b86478effaa5e96e8becb85d44c12880b219241ee9fd94593d8a397191d18f0487413da3a516031fab5ec76afbfaba898fa9f18a2cd8e2e9ae5f509a10bb08d46966782010a1b0e5a749e6d1c1a93f20536d2949c07479ec6a02dcbeb58f755e4b19ef75dfa762a8c749e6d1c1a93f20536d2949c07479ec6a02dcbeb58f755e4b19ef75dfa762a8ca880ed943e2724e1cbd11960fb6ac0230f8f841691dd0f7a55b9f7931cead17207ae27a13ada70044c037a86214988ba4e4e6fe358c8895d9dd34af8a2559a48e90bb151413e34ff3fd6d40d8fd31a723b5ce78d339388fce59ec6d4dcb2d9c23bdc3b5f506430a9054d4ffa2c703e34ed6e31330b2abd0881148ee1295608fd8b41311d8d185d482d43a4c7f6cbd1de535ecd0d191d4fe6854fe1a63d267fb4882345846b047c1df0c2129f3a72a3ce10697ebcb809a6489409a0f26682f430533a00927abd57d66d3a8081e3c7b40b8568421e3fc977ac107e79e4ff1e7beb691436d917c372949e3442aef7c85fc484ea40c22848e086c021b55d342ecd5a573b5fb28a837b752f4e46232a5cc3febbb92e34c834a620eb5b04fe5258bc454038123c0fedd6c22c672e4db58660f9cbf2813a52ef06fde42eb6bac4ad5f232b4c633a5d67551351f258df040d669062709ba7af94f7a006c0e503b8ccf86dcf4dff2d9a43c07d23ad4eaedeb60b6dd90284ff7d9e46a8ec91d2e42fcfebd8576a76e554689ed8168f3f2e1d07a7dcb848f8e81ef2541a9d16667b1d80537a08db30195ea53523793f16523c35f91e1bd5cf7342dfc7c33fb838361d1d75bec41888f5348f7cf6112e212c2158e426dfbb6eb5a504a9bc819d3af232d7ba0824af5e0a5aa2bb9b422bbfd230b6ede73dd9fdb83d9e8402d189edd022e164716f735739d044d91ffb148ab1203915b7688fbd9826e7588756aa7e2996f7a38a01ea240eb20915409354bfc8d997630c730d975f13b97e53bb3fa7ed8986943900c3e788d82a262f1384087f2a271abdf4ae2874548eea4c81d8e8874bdc50f7f0548aeb417d935f35819a00e6dd2bd8b025ac06aeab296452d5c0e362930ca665d841351273da832fd5b8160412bb7ef7352591d233f1b3d2d89951211d2884b9bf22fedc65cc8b6235fab47dfb6472d107057b359ad3eb638a3e4efa3d979a9e2409e31f03f1bd67eaaa7bc6349db615cce1ccfe02145b68829c955228af5a6b7d51e280866dc34392ce5027ff08a574ae8c9663c35661c6656b0675825d50f15d71b98f4b5ac30bc452547db7f44a4258bb2d05d66448a6ba33ca7de47575696c0ba28b64a2362b448e9cc2db520f5492627084199d90886dae4a6a7c057e1617311f79e09ad6cf7b3c8b2d2da0d495d46fa46b7864d57cae9af114f9cb84552f08ff91dc1a1c8c747560147c2dd81c84337f13991c7ef150416196e1d90f576d1e8406217f9580726e66071bab37d60cdd9e7cbc07d363e8ab77313b03f6d1f6c7d3a27d7e4cf5004ae0bf4b92edd50649138e8d29f13569a9bf28f9fd08b93f14852692159eb0cc2a6933a6322275f21bc1bf0882ead703e61d282ebe1cc18becb72b64625630e35bd191e712fb3154e63445bea8dc935fc5b2506253dbeea94a391a1d05c927f8d1225e38e1bdd2b7de88fad791ec897da509d9ff1c76ca3074286270edc2b9f703860bdbdabf4d07b9aecefb8cb82a647e66f7d3205a5285a26a5f64cd7479fafa87f838a24ad17d2d0b91ec7696544cdad733baa063d30922a95b0f044cccd31b9d9371c9e3558a858229d5761be443227771c886394c92925a5e57bc9bbb8abf9b063fd8361ab0d73ad3dad269434b5a70b9cfb300c8c103626816973b49ba330e17dacc4bd2216b7e06057cae5d8a5880b5b1c7491a8b5c7510ef6e5f751ef5a55b5cf4d3d8ae5184d34a91b2e07ae6549fec0c295cec29e8a9c40035f0db7f556b9afdba056924e5a869941343e884f7d1a9ca1e682c40525b949e0464aa49538d7309d54f91d3abf24ed82f018f47262ca204cd5362cea9778597f2a9b818ed7ae14c548370a64872481407ade32c22c9807bc57da0deae812ec20fc8c7fe45e4d3e3adc2202f526cb954cef049644f4f4680be0ca9562a04f3ab9404a6eece7e70125b63f508ca6c4eb1d82c530cccffff48c5f0b89addfdcef3516eaf5f7796410f7ccbaac7124844ed94aa3a96a3f1c31c5e5e8193606e4bae3a2e2d3224213e1e14ec6de4dd551fb0186e1040d9a65bcca172799b228c085bccfa109d8d9f87a0ea3ca06cae45c7e4cf8c8b2bf515f9d22e690660bc4ae6c7a67227852d611ba4035ec67387903bbb9a883b02c01a8f174f7c6bfc5b752924c3176262769cf46b9a348f367c8e704f9f2357601ac035a96ad7c55b1cd647b2292396edf9b5e659079ff1fd58a66fb3652eedf14f020cb385c14c5cfeb4542926d5b96f579abdb2fbd8fa7d9a16532a7e7f790c1059d27155010f5f5b48975f06ff8007c482c64e15bbfcfc5f6b1e4acee455a41ba58be7ee95ecffeb6c7717120de8b512e8d770b86467e32659d15a9558921db320bb8ca615b707ae163b43b04ed27b7e028095316a8f3cb79bbcd07b74f354c811551ed2cd31a453039ea89a71673d8b72c96e67703fd1fff01eb30fcd1ec3177949edbcdf472ff6c7136214834d013b80d5de8a1a7b415156ddacdb04f7d2a9d21e2c1281d179c9074c236c3d375473d8e665d645c04b756376fbcee1e441344c1c8bcf956e05fa01c6f29967ac48f05ce0e53410d1d3adb8e04d85a9d356e91aca67499bc87ccd1f1447fb21cedc9e08bbf6111767f8f8f44593c8fe50e703ce04ccd58e30caa99ef50807a811ff6a74552b9b9a8c74bf522c1054480efb68709db2a63a4baff15033f938ccd483663b1fac7d920068d60436b91588b854e93b9be413abba0d90233dfb46557665cc4fe23fb9b77d0407947fb1405b0edac78e6751b0cefceafee9f432360eae26a2236ba7b23899c8e0d82da8e411984a97533e7c8861a4388f367f424ebcd1c1e8e03ee94a03ae18a2fec757a156b98db9a3fc5690c6db951a76f7e56e53be24c547e557e14026dbb8cfc3fa9a00a4f6cc645d379d5491b0d74f90511dcad35daa3394b4c6e96cc6a1cc0272cef648f267d014c80b1c0f42b5a142cfcdaea9a2561783db32b6bf5a605678686cfe83943c4e08e3a9bfe6daf3d4cc85caf061bf7d1704d34864633ef1c463f62d003fee1cdf4d5df6dbcbdae1d0d8ea8d014307a20019cbcd57765c91cfe9287591e963740e2f48c289035d3adef44f01006bc263b2565f535e2df5032e270e16238c69f5b3b56e83a7d93d932ae55c47562d3817efb942f84b118d1c89fdab6da0bc4fffbbbd001a3ff5eed745556da6e6c2cd546017b7e8001bd2bebb2a8a640a9557add01958190cb988e2119d96442df26b060162bc3c819e4b0963a6c6913dc6a9e3c96350f1e3482d87782c6be303ce9137a016f33547864fac36c541e7189afa3051cf3e9d2807740cd178970ecb0931071be790e40950c7ad727db212675e4ea169489b12970c5882ce279ab021dcccc0c065d59e9cdb18c52e215b65194400eb0d64778889a9c055b302fd151cfea916e7a66f78758d38df54902b711f344028d4e053762284b656c1fa333245aea91a13b754371f73a4f66295238aab05964f3c1dd6cb72c3ed10153256ab9e022bd504c10d2102ba7485b911e5733ae326ef87846eec1204f8cd71c2fe751d9693103ed54d54be8a77ce7e50d945bd6a578f764a2ec54b33226a72e22ccbdd33fba82a9ba8a25304af5e3dc5f8f166cd41333364dc4ee90ed08e63a0f47b4682fcdbaf522bf32fecf97d1526222d188a239c693fd7cf52ca32dc5459eb6d416bf3a7d1447c8ae4bc6b5741225897a0d56215e74e9f9357b6a2a88ea789016ddf78f47d1b928cb50b94079b2edaf3aa44ad066fadca72a797b1883e091c70ed2b48d595a8c8d0def7a41c155559a0d373b671a6436fe3f5cb7b4366d0e16ab0f92fc10aee933e94662e8571b80039522def351adc5f9e901399fe65ac8c692fb98efa2e8797096d3cce977a7bebf32fe3c2d80d64444f7e8dabc349283ea8dab4f06ca4e725118b952d5928fb02e09b14ec12aa0d263691503a0683d8ae53aa5b5b1c8f4b5d76631a78a7e7f8c4fbba722964296c4883b990b1644175df6e316e1f05b32782f9ee71593ba1d8923d4c748c62d6b79cd7b812d72c604e9c91cd86c9dfc62dff2c1cc442def367b76f03c5b5d1734506c520cbf141d9ab95485f22d0329acd6e9f53015044f15ce10b7696fbc2a839f1136e1a328e97ddaa19fcb71434d9e3a62b5b81a33ed8d854e3dea158bdff5eafa81af596f6df14c7acf5f94bbb3ba856020c5d239be0536795b0335ccb24bf6f5f9fc93fe2573c0e5243d63a85ce3f5015b214dae332253b99b74f013a31101da571dd00ba46c71678ff77585a6d1450699c6cb37404833b3aa6462f14580c8760df90d0a6e6ad195d84f76a2d4a9f09708e32b33060d80deaddad53895a031f312d8b1d58e7da059b4ff5e62fbb8864b69e47866bae88601324f39841836656ac3544ee6c7289985baa22104fc13cbd3d238ca16239d7543f6d450e6a5943e6364fc247ce14f35c2ef8073cb6b7d2427e95cc8b71600bf46f86a64d2b64b8eef58a5df5f5073302d92e6b6ee73f04b98109f0ba13c3b9573853ccfcfc5e471e048ef85c64a066e756f537ecdc4cb8ec8aab9506d76b42e2c79ba73a25a82c0c20b4e63f05e2f3ec3e79ad1a213a70127e9294e55212008fec9432a636e402c6bfa6bd9bce1a49b4e3076bd1c2213a0c72d76ebbd6f32b0161af4ea415df5a78894e9833b1c22acd8fc52e4e961f4cb51f492569bfe2267d94d76d2fd65a0ae0683445913417d46eae13350919bae48e400a7a55e1a69eb6c8a28fa50be41ed3e33445913417d46eae13350919bae48e400a7a55e1a69eb6c8a28fa50be41ed3e36022ff77d180d30a7f0788c7eb7805820959cfded00e2a506f72401b21a4d6242c7dc964f7fcda65fd9197cb0aeaf037a285c4024a7b473b767ff04e49b39d37b978183d3eee654e15484f03e287fef4c6e0156556c932d67a4a4fc2bc8a5a1a90a87c6d3aa1066bf308efab7a4dd31c3f127e189b6576fee4c28092e6bafbfd8386baf7a485c4eb4097d4daeb0110ec693b4b6c403980d6ff6a3076ce10446da7e1aa0be5ed69ca50b02869c6a07452e0f3189cf6e730d519cd572c3f50665c4ac72e6d7e50ff3bb5f77ff6d34aca10431c0ec03c51434c165daac29643efd7cfb84d6333654c70410f54e0cc87914f58cbe8ccfd58534d6e70751e38a15f6b7760109e638f56f53f162080f673e8dd003b4d09d12240ab54a8a204fed9bb2e6a45045a5cc790b43248bae2badedcd4bcfbfc0f14bfa1a6203d9afe74abbe005a4e61c8c969ec26ff4c082502198f11515e8d23cc63dedc4f3f6fa31860a781bd698a03ef885f3388b337f5e74c1b1aad7e393015053237b2a2278eeb4805691d55dccd1dc7fe73fa6a7460316f37e71da563486590167ca8c2b78dfe4da2a9382451c2a3c84a743faab2923682cec56b3a7467d5b0fa0e8fc79a9a2a7a87292a7a2423c226c2543cd0aef4485c6da324196535c96c19cdbcc1e700a0409eee39b950d20a390e386275225af5b1b9c853d051e97f1c331e5304cb5bc95833a656d6ed11774fffa11ac59fe144bdeb3fe1eb055044a9bfc034dee5f077e844530bee701419063aa4a6cb98f59633f61001ec4cf9b3e02a77925b2b5204da51526513b22814393e705f9a6a4964c0ccdc6993c3de3bf6c2fbf05570668c253d61cd22e91919e67c262609e5359db91aaa4b68961b3915ad58fc2f089d71d5675607c230575d371c08ff488edafcee3f34bd9b36f1b824b692f72e86a73e71b95e6d16610ae67f54807121fd786ed96097130501122ecf8c596cdc7c52637d47a3b06282f38791446367e894bd1c8647f18bf698f98dda83c87335390b622dd83d1834443737b177eda413c3601f3c17e628c4132af4d45873fd9076a7bc7472bad05c05fdc6d249116174d3a94ca412327d069ca7173b987d13f08f758a7fa4e0a8fc1f7a1c11eeec446d377d3c35f233b1f1ffb5d8f92d7c9b440f0406615daba4d14e52947f5cd4d15ba6186debe12f8ec91fe60ab8c4f84e7dbea2c26d2b2dac316e9fb03f5d4322aa4b30ea24e6ec725aa7ed59d70188362c21a12453f422727888145be7464ec9bc021fc991da80af1e9ae1973249701d82a7779c9efc030a06d41c96b8d8b485b8a873c87a883ab3a18dfb72d5411ba86ea66738301b8c5c0cc009a3d82ca627bb2de4f5e28c11a2cb62fe7df700d2f8fe3f58f73eb053fbd6be6e4dfc7cd18338be40d0cbafa0cbfff83183c97bfe1f2fe18bd94f55d57e647d080d00d0e0664e4d155ceddd2c5e89b96a5f6274e247419b289e3abbc7da64423e568265a10ab479d068d4f8532578cb8520a76ca6e37d6955694ee50badc289aa82339d9e13d67ec25a2405d48752fbe4ed1025e2253beef5cb88944646de7f2fccb5f89516e64b5bdb1c4fd456a09c9cc680dd64e0756e62ff5000ec78c4200604ee709d64ea5308f44f6be49356c9a6988c37688ccba0590cf83bfa3be501e600f8b2f624b7f0ed043b0f35e17eeca864445f835301e1bf7200968719c49b8fc7102cc12476e215854cd228f1f8c0d316f0ea2df6c183f167e9724a6f60381434ad60ff390e67913b4d072ee7c2564bd5763696ef1b299e1d967b33758f559cc68f6745588738f25d7bb80d46b93b23751ccf075d91486ad6b92a3f354cd350ebeaf0a5209e181b957ca5a3fc42d29ac352b0499ef1d3d8238c0e1687465f343fd54ca96b50bafa7ecaa15a2d4d3b04a40994182ce63593992ea3747eb9bd43d243e9bb5bf5a62b7de4abaaed498ac4e639cb0d311ebba116543e387e595423dea975860f4a6b4d9dfe707a782a92541c365d45bf9b6662019a8d10ad8a7748098d32a2393a27a4e28d89ada74ced8b02377b202539b7436d7dd4e50d2c168003551a723a977b534ff7fa217ee5775c7a4d642ad502ef9a49ff0260ad49fd14fad46df1516bd46d8bd980793d561fc4c28d7bd0f9290deb29b1ebf69bee8784d40100ed283fb1efbb9a8e9bbcb4fd1870a626af3781fb48f24a67deb2bc570e773cc341f23c2d5c146604ba6e6ef5695a162942336f7af601517f5c784779f5a335632ae6ab56a88cf64a2e0c918b1c7fb49d3e9f173fb25fd0f09462f83590a9e9e26a5d7359f863ed412aacd29eddf248f81759b09c3c4893f4edb5008e594fb04bca70ced73f410076bcad485e67e502f47dd561a995529f72da18ed012e1e7b04d6092b765cba23e30329cacc12de939cfd48fd4469c98e90852d31f986be44a9c8b077ae1374b88bf4e7d44e4d3f604545c985a2090c3ee0014db1f60d3d78a4ac0b41d9ea75cdcb26445a7f611c7641023d95f4aad50c1ea37cb8ed03f20d675642e092306e76d32d962f9af54dedc1e7e9cfec6d7efed6a640f75fd0ae931c110cf5a4a4977e6cea40e4877f922289ac8685fa6c4b70c5725b00927809ac9809c9b58a51771a53d4ce06327f5269b6e08912244958a3ec06965856e3275181a63f52aebadcb0d589e2cf3b3e8437e77fbea289ab556e3e3e6533b53be67f79311f5cc5d7fe067cb72af5a8751423129bfbc98e1ce9877dfbc9c59f42962f493046e81dd0dfe715a0a1b5ad46e5c40737ae273b43166b05bbcef35d9b3492b8d5267ff66eb164658d1c49b2982237f213858195766cea26119e2bf1d9ae07b80c1f684454c01b9364344422f7bcb86b2dbb4c0de59668042780bcad383999f03994253ad319b8345aebc6d701a6deeabec30661ccda661003d576f099abdb54f79f626589852ef1d5bcae7a22790c0cd39a8d9e421946fbb241aee4698d17a21aac8b1bb2f9ece40d22c6f3218bf0bf7c1ee6df8fd0c63acd6c3d2c3a8a7d0ca0f638805a24e053a8df6989353fd65aa4fa90695ef016e81565918f4fbfe822f6e0c0b14a3358857ca25e7c3e82f7e567b8ff1f80481af41c851ec4914bc2330b21b98416d650a1a5f409760c02b094e21001cad43ca357772d0f2e7f1a5cb6b8f6547399d88ed3056b8da53a735b7afd60eb0f71a0867d09d91918c26bc5a6e3f55c85934797cab21609ca27fb4ce6efcd8c65a5640b5cefc64c7c81c50b38477437d49f71e8414944012833abbf643e74399cdcc43634a9f28994a2deda243ba18206d41d8185d2a091ec33512e3bc8c27480197a825443b8e92c199731db1e00fc33e79c4d035e6235ebaacdb21a58f2859f9a53dc5a0b776c3e0b8f95dadef20835bddb2fd4304b5b49d4c9dd018e2ea3d0b3827189fc43539322bd7ae8e520e2e00c6d11ac5cfdff4f2f7043cc1e3a1660b12d06baf4d4036810a27a31cf7888a092f9ca8daa7871efd66c1c2cbd6bca5657c3e8a6c90478eb9587b15c2e6709bff0186353e5505161c2a153d6d4b84cdab8496904656ede03315a378fb1e044513997b9b4dda56febc519266ea0dfd926821f84b6be01db32a4ca8eebf1918a5d0b4411bbcee5890fcd041158c0de663ef4eaff024a850e05b3a650ccbe7942d3d0989518017ac13fb6d2ba46acf6b2f8f3685f94e01525d49694e7ca029f41b8722a883589279b0e31bacc5c5abfd1c89ca621787c66796a8f3f0315676c8d9bf8d070719ff8ee4ae223b28a2cb1361842c3e2b96c902fd3001a15a8b775268f30c6a77ee0d4c9542418591429053277ff5ffc8d89b585ed73af3de59c4dcf2feebf19d175608e1c2ea9936272dfdbe2e77dc366375ac34623c882de3c7602a1a81b34b830433d40327f2b2f9b8609aba30ad4b89f20d64d2b88710e48e0b880a63673ce502913a123058de596abd9a803a199d4200281e64f08e636184999f9063563579e5c4f86758fd655ace5c70c45bd6594c37d17655654acfebd410ea165dc1ef242f08a1904c1c1678369657507e9373e014568dbd65e564758552aea99d3d06e2ee067a568457268675d5afeafb222a70cd79f960d9a48da679814d9c5791a52680b6ec5aa6ccf3f0c91f47c7ac913bb91a7d7ae79d4bfcb02926110f44fcd249660e9cade76befb19cd15f00da4cf8a80ebde6acd7d0cddaf5e9f3d01a2dc372de8c470c40a43608c01305cb98d09cd4616fbcba7cb6739ea1e16377dd56f2c04e31b23be6c1e3e5f907fc34f643578607511cfb88f1abec4ca501440a7c7a3d95b335da9aea6232a622fd3cc379cd67a770161e000cf6e756cfb54fe3e71da8457c80538ad79c1474fe680ce593593818ffcb37467f8c4aeccd1bc4ffe21779fafa9f9c63b14a50957bea9b6d3000e5dd0ebf4807aa8f75351d1feb7f48cd0314f945f5a713a6f743c8fae51a38996ba6cdf4ce4740f95066e1cf8f84de5b4ca61d42d8d212ce5b726e9e7913f7824929382ff7e3dbe3829245110a1f595cc9f147b09d987e66780cce4f884c2a33e41f5260df9219c2bb928fceeaadb0ea7a045d30bf2b49cce26770dbcd5b60a00f0f5260df9219c2bb928fceeaadb0ea7a045d30bf2b49cce26770dbcd5b60a00f04b474bb917bf217716b32aa6ee94d4386e000e84706db2fe03d736b7811a84696c8cf5056633a51c407aa144800d6394cb9a5718a3dbdf58258c37d5812a31a095f4773180844886343a69407ea228f15624caf49f7733fb0d3a2ceef9eda2e495f4773180844886343a69407ea228f15624caf49f7733fb0d3a2ceef9eda2e40b88b3ab7b8e9faa857141469500ba9c10a24b4d58213a92f2a1c01fe967d0c744b00b5096b9a711ecb3a96b344f80e7670c13043b88c01048f1dd7494d94a6da4719d971741901dcb44289b8cf463606f9fcd96b175e531d8e239435a945311dbdb2103b0fde1ffefe408223f70e792b5a5c53a9a92037c4d575dd20b8c24dd1f6c8e09a6bd07b0c028b4fa18c519719eb895c699b986d29e488471f2a939f2f90dbd441ee5da368c3414ee9be90f9ac8b54b48b62f809d4963fe6c4ab51bb00293855d4e5423bbfa172b9deb1f433b1c7392732ce664617623f1ac46b278a1612e900a9020e303b57ffb85d728d109f963c4b57d7b14e3c73649133749bd091fc6d9794a9ddc8f32d5e5a147f5e03932df093be1808ab2bba1f109bec98ccf13802ea6182994224454af0d590ce109080eb546574039cb08acb15022908e6d891bbec4b2ec95bfe4b4d38f90ab384c058f963af10cc92c1674aaa36e6af5d008c3a8a28dd06a1534c31de7fa035d9a9aa2a3915a9c450ea2cb1ed177d2fe3a6ec6e8d5d19813e822ad9e0c73b25e31bb2029643e59c7073c094b033777d36f690031ed6eb6ced6f6bad1930a58374206fc883f734829d38618a5fdc21d2fce5da63d3d34cd8781bf501877127c0175955f8e9fa8d3f48be85540c785109c045da63d3d34cd8781bf501877127c0175955f8e9fa8d3f48be85540c785109c04211599c80c5983d603aa856189425b059a53b4dba76eb690a7e21db082dfa426e1d6151cfa40ce9ea7a517ace4107b5cec5e4d16fe5fe42d84795629457b519b8e674c4baf4534d4574e28ad52af3bed043c74ea3dce01fa8a214fc404564691ec5ad0b5d159dcc9f80827f3dfb4ee2fac40d6650e3b344607a9570d0c71be6e6f8a037c8e19a21677088f48bc15dc36e2e2ba93eca64b8f6f8032779c22c25cafd0195e85061b64a8b07387963b6335c07bf14fbf272250ed0f119e43ecee5fc4eebfd83129b7eed11fa083d58116bfc0232a34f142c6a52962cb6f400b6f0b5eca051e647f83294cc4685126b4077daacd9c84ff32ef2df6801e6d13d179c9186ed18ab8a1c2ba1f13c7738cc0dc6d07ce5648ade0c5e86da07fe79a8fd3d0cdacba2cd67734896ee3643adc8093de6644733fda546d6b5cb3a4276b5f6ac7a372b2f4317d888fb0a461c38b9bd9b3bb29cc54a500d60892a82abb4cc2900a7f3c39bd0bc77217c91ef94712bdb808c4d8d86c3cfe9aaccfbea33663140657684cf3b7571c14cef5a497c6e9daf0cc665e4c8fa7b4ce3e2cbc413f26855cb07aac1e08fbea6b29f6c623bd02abf805cdfc18a38b71c6ba3dacd3f53f3bb9f163b3bba65a9989b254208c910d33c7c5429804dbe5e1ba2d157be3114034cb40023db94ccfcc21ce401219a4e06753f55452a04ec51709dd963f79b0dd975a805fa2c8b9e1dabaf4717cc53458e9c1800dc7014f6bf80a23231bd4c99cd80980f82e7f39d44d428e345e27ae3da48aa588cd0f074e5afdc2134e5d1358a37d0d351f5b776bef64872787eec02e16602aefd24b68faa811a1ca802294c2f0fb297a653ebd6d151170df2bb1ac183417fb772f9ee5a6ac244d050a75cb034d152b0592d50961b9c5e86a4c3e41cbab6a690588496c751dcfc8bb0509756e70c52c7c6142f191af83ba73c3ad0bc7d8a0aeae75d50d2d239443b3e6c65c214e34fd7c6142f191af83ba73c3ad0bc7d8a0aeae75d50d2d239443b3e6c65c214e34fd21f355e2d91bec576b71c453cbd1917fdbff29d64a9981a92f6f8389edf4ea8d21f355e2d91bec576b71c453cbd1917fdbff29d64a9981a92f6f8389edf4ea8d4258783fdeaa9f38a3ee88feb521c1336b46a42de3176e320496197b3e7ed1d91f00a907b7519f533f9918df86f99976c7e16c6d266907dc495728f269614115e8c41aa901d4fd984520955a5f228b3321bdfc427a0706f8736eab61e610185293ca3be15569fd9c35d5599b84b0713e253a0b3cd39bb35b68dc0679678d9fd0395462c562fd029cbb1927a076fa7d88693e6a9a3e350d406fce01322d7697df3bfe9839efa2478ac72333679babc2cdcc3154d3c64607c05e1873a7537d8cf121689ddb6e16cbe926435531a91b2eb708930f326af9a8f1406c74af1fbf3371d89ad31c962adbadd7a2c4120bf3483f44ee7d4b13946ed652bfa546a8c90ae028cc2f94750beb344d03f5cc6bf497c1b9bb44120d0ffdec2b5e7935e4a8708fe3b4771f6904eba3ed28ef36793fd57397824a035ee2a38582a3883d1765a7d7cc70badc9c7e3ea650d9e6dc606521686eb6bdf9054a495073c31999aa44ed26078d8bbec13a1bbf3aacd12cae1b5afc100d6b382ba5bd16a1204fa8aca3b7987ec65646a197651da098cd23c6e8a880a5b75b0ce5ccab934515988b0b4e39ddb64ad9d1eaae2d2213862500f3ab9d07b39d742ba451878a5a70c503287431a8b64ad9d1eaae2d2213862500f3ab9d07b39d742ba451878a5a70c503287431a84ee8a9bf1e0ab917dd50b369aef7da35885061714e1bec1e775d0f0e0067aed1e0761bfed6c4af6109077900bdf8121f212b35319b18e98746303aa368595ccfe483862f7bf902ecdcb35e25ec62b0fcf7d774a74d0d00b764830e98bb99cf2b6b79d1dee6d03e4c50d9b60fffcd98966e7fad1ef3caab60e6c619a6e2ccb46e92f24d2d0732a9ac48fec12d64d195a4a416604f419f2811bec6b02a0233fee4a01b86ff73dd15c799b8a5a188304c12b0991eb9ab2ac7f52b6083c2a77d742b79b02d6783451740da05963f5bd3546f509c8e7cfb2d1f9f887734b43dbdfe2379b02d6783451740da05963f5bd3546f509c8e7cfb2d1f9f887734b43dbdfe23220abd6e7d1cf2d921dbfb695157d8746925bb2fd02259aa0645b7a239b40f2702beaa01ed15673ae0eb5cfd317c151042cf769d49e58353f3d15e0bc63e90396e5eac6d50e862c4e92bca0a670f5c61aa57dd4616fec16040339b486fcc14cff01895698faf217aa670b549cd3da6a2ab3d59054744e84545e55743cdfd8ed6907a57ddeeead620b01aaad1a552f386e0c782384c3cc3d1cd2a8fd05d7742a167f5f195da9d1e0d4be8495c7e89cab15f7e3959616d40aa14d58fa93f04790e8fa9a76e2bb0de131e890d38e1c4a58d11ffdc5c566608e55b292e09f4bb3b3b56a306a6a0265c8afc19d4a62605af508859a70018bc3d797f44891c5bf1cfcfd0dad9c61dbbf976b8149e74a52338ccf301bf9ab11b55d67566a55ff8a4e170cf523eabf6157f1dbfa642cce66cfbccbece7205a247333ebe553896bed27ecf32c065b403dc9c1e5b0426364c9516792c3fd22fe60326336b47be7662758e9832c065b403dc9c1e5b0426364c9516792c3fd22fe60326336b47be7662758e987ff26296ec33c619a5b4c6e9b4843ca80d3761476048d06bdd1c1cc97f73fb17df029767467c965736bb1003bdb873ddd1d5e982f246b0ee8ceb1a6d795f7c245d3e8543f3aca921695450373c59a628e68595c70fdb7466fbea97e3b0f62df99bb1ec3e02ae291b13423828bfa560d36767ed7b1ae76c6108b9aa2e33c8a198e50aee1163c4e2eacfb65093e4483cb41432855f5f7c17d92008e6328ef6edd3fd4cedff0435fe59b91a710d105fecd99c9af8b3827c6f94080dba10b0740cb83a1736aebe914be9e1b3a4f900bd58c90b5aaacc7a055ac96b4f760a2c00bcd3290941109a6e3a493a9e5e9b6c0c3b07c3874c7322dd105dd4cbd799754999f0b8e1688a83ad1f9928dc4e7da91ff31c7b1513623d6440c73e0e9c3262096a77c51e2840a05fe125e2cf4210fcad25c38dbb8efbe05fd4a21177a322ef5f755fc701f52c6aa456c8347ee7f1adb5a55fcf2954fc5b135d45bcedcbe0e737ce1b8b15f5052f04befb8f5cdd7ff1aa2c7581ca9ad5c607d36544d548f53f4c000f8756430894237409e13958a95324440bf3a5132b77cf9910d69aed5e3f5999af19e6573d47bb1ea013459f628ec0d1b77b155c48a83af8bf4fc7732eb50c04de48470149663cc6a4803c198f0364dd4e31499ea4ecf40e16a31557e15c8dbf663ae06fbae2bf7b3ab779a1d8d7427cf71a4447d210f70718cc523b8f5b69965da081e31540954ef832ba154eb8f2d2436f4f5e33a06f85cded4891753b3c19b57b911ae39272d9174eafa6e62c5f63892d81c3ae569d84c3d4d30b2656c601acbffa2739c2972f2298cc098d4498b1bef0ab3a210035c05977ed433f79b85e46cd1aefdceb37476c0a35b6978d36e65c8426cf6216e530c6deb22ab8f95e625de3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855d7df21eb1e8bb74d65ffd382a65bb43da1376200a82d438a89b4ded63cfa80a1ad3dc5e4a574a7faf49314776761510b1f1b1637369e50e3503ecf98e7194a0801ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b78753d6ac7ba8a7d5948112d4c3a65edfc083c838de369dba99d6e153c9c731be00791bcc3e1412ab065c5da89c5f752fe8ccf253df2037150d710b04e9788d8015aabf136bc8910f574b468371aedd1d0e65a8b958b21dcc196593e57647cd392be4816fb8b9646adb5454c96390580a1be8e3e310189b66d4b9a68d550a1b3d1af3fab2ef8cc53b6c7f48bdeb178ac874b04faf4ba0159a96b6109f1d393e2rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-pycryptodomex-3.9.9-150300.3.3.1.src.rpmpython3-pycryptodomexpython3-pycryptodomex(ppc-64)@@@@     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 versionibs-power9-13 1708332764  !"#$%&'()*+,-./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-powerpc64le-linux-gnu.so_EKSBlowfish.py_EKSBlowfish.pyi_Salsa20.cpython-36m-powerpc64le-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-powerpc64le-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-powerpc64le-linux-gnu.so_pkcs1_oaep_decode.py_raw_aes.cpython-36m-powerpc64le-linux-gnu.so_raw_arc2.cpython-36m-powerpc64le-linux-gnu.so_raw_blowfish.cpython-36m-powerpc64le-linux-gnu.so_raw_cast.cpython-36m-powerpc64le-linux-gnu.so_raw_cbc.cpython-36m-powerpc64le-linux-gnu.so_raw_cfb.cpython-36m-powerpc64le-linux-gnu.so_raw_ctr.cpython-36m-powerpc64le-linux-gnu.so_raw_des.cpython-36m-powerpc64le-linux-gnu.so_raw_des3.cpython-36m-powerpc64le-linux-gnu.so_raw_ecb.cpython-36m-powerpc64le-linux-gnu.so_raw_eksblowfish.cpython-36m-powerpc64le-linux-gnu.so_raw_ocb.cpython-36m-powerpc64le-linux-gnu.so_raw_ofb.cpython-36m-powerpc64le-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-powerpc64le-linux-gnu.so_BLAKE2s.cpython-36m-powerpc64le-linux-gnu.so_MD2.cpython-36m-powerpc64le-linux-gnu.so_MD4.cpython-36m-powerpc64le-linux-gnu.so_MD5.cpython-36m-powerpc64le-linux-gnu.so_RIPEMD160.cpython-36m-powerpc64le-linux-gnu.so_SHA1.cpython-36m-powerpc64le-linux-gnu.so_SHA224.cpython-36m-powerpc64le-linux-gnu.so_SHA256.cpython-36m-powerpc64le-linux-gnu.so_SHA384.cpython-36m-powerpc64le-linux-gnu.so_SHA512.cpython-36m-powerpc64le-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-powerpc64le-linux-gnu.so_keccak.cpython-36m-powerpc64le-linux-gnu.so_poly1305.cpython-36m-powerpc64le-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-powerpc64le-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-powerpc64le-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-powerpc64le-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-powerpc64le-linux-gnu.so_file_system.py_file_system.pyi_raw_api.py_raw_api.pyi_strxor.cpython-36m-powerpc64le-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_Updatedrpmxz5ppc64le-suse-linux  !"#$%&%'((((((((()))((((((((((((((()))((((((((((((((((((((((((((((((((()))((((((((((((((((((((((((((((((((((((((**************************((((******++++********,,,,%****,,------------------------------------------------....----,))))))))*****************************************,/01--+directoryPython script, ASCII text executableELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=85595ac211e6aef820f3b24654b64b61b7b58ce8, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=38bf1226518701275bd62d535f7584b34cc977d3, strippedemptypython 3.6 byte-compiledELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=4b5e514034537218ea978187da1eb8ee2ddbbbd4, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=8d1a0275fea1e9b9ccaf245e8cd374ea6128add5, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=894fa7778a870fa99c6ae6ce2cdcd7167ca70ddb, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=08816e113ae83007d47242e602860a1b9879542d, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=2bc09a6b336a802bf341398af56475e36cccc7a7, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=f285b800c11657b878d13053bbbea66161234c03, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=622074ca5c1630abc3b3fdabd262de3bb17603c3, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=4f3893c342664d2ac276573962e883e8a0479297, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=1a02b483eb079ff9d92573916f363ceb68399de7, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=6bfeedb4905feb6aa9d1ee33bf1dcab8af28d500, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=adbbafa93b296b4fc64da2a7c97295cf7ee1a412, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=c12f38f6bab8920836b9c977b71a204cf90e28b4, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=e5da59a958dfc4b4e001e8cec619a62d078dc024, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=ef7dad02ed62c34d05410f4928508c503dfeff57, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=f7b82244377ce86c54334238dc47a14fbc1b5fea, strippedASCII textELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=271b1b4c9343d2bd078ece5574351814b46e0c54, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=c3f4b2177500372aacbcbdce49d3ba6b2be10c60, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=71f74c73b89dddf2cdf75290db7fd224ec587029, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=4669fb4cc9fc98a7a7f030554f1fadd369305225, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=3f371800433fa8c825158025854b19f459de1209, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=734aa04471bb1f82598e9569247a80a48442442e, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=b420f3e16782b673e7cbdf71df70a5e9ad1240a9, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=711f971fccd3d99dcae18edb9f262ecdfadf782a, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=de38da216b1e8b81e0fe376f3f6bb10dd0bc1013, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=3130ba193b5e755735a34566aaf25a379e6f3ba6, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=23e3c6518af9b49511b7b58ceb0e2822200d77db, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=5a6c3ec36900b0393b04ab444a8fa7f553f5bc47, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=93feb334ebdd047244ee430642817fc6bb00fe98, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=54c782fc4c7bb08473dd179b144c270f8d708401, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=714ad19b1062b8f489f205cce88f65249b989c2b, strippedPython script, UTF-8 Unicode text executableELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=79cb8f52e3bde9b4a6902bbfa8d751d57730b218, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=d052720e93e5f226e955846ff3f1f03b34527b77, 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, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=5f9c5b776efb06f870ad56ce58800e1274531ae5, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=1239b70f685391e5e3546e5ba18ba45105fef230, stripped "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW[\]^_`abcdefghijklmnopquvz~      !"#$%&'()*+,-./0126:>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijnopqrstuvwxy}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRixrlibgmp10python3-cffiutf-8ac36e5c433eb38e4af789a1bc561a46b7d112b3a0441e9a7005f6ecb1d89c95a?7zXZ !t/ϵc]"k%pa Ch.vMm@:o=籂*ޗ`66ę WN b&0y,7 E}}Bl`m*}dÆZEFfG"%lg)̔>*)8EC]29E8c'k,FU%͈ &X.NcĞ1h(qgG$EvK/yqH_)KWGb#U"N0c qGt}bffd}DƊd H[8Nr}(aK1ik VyOL/ >Sn0, 9<{W#!m|b-W-\FE|tɔt^GB]r&C^':&ގޯOpofG1<'^!"ʶ)5˘4(71ڵ^)BW;ȅfMW޽J֤ͭxvMzbg.YRce-S$ AQ~<(4aR#xT bJtkC30uV(젝tXD)PdMCv.Z A~Eb 3ѹsqEu1X )yfd~ EiUYjt=p^ I? ul4 Bcot;/6UMx8cNG`l+pbt| ص \:/yrO F&m)m63,4s4 O$h_H@۱ R,<a2c76 c% \ئj*?ߎz:U*O{ʽP X!oBCQhN2.ƈ+9h{ Qތ%_`c֬*]KeUFס[`uBW1 .($$6;R&w,\>¹14e;RCv+@"!: A$!i{S̈OCbY˕)$ԏbwե; "u [G 07t[iχM-Rd;ƻ[aKh\[Y2Q-[I3_ӗ qc^ Ga&8suG`+7 .6)7X?{Q*OK_t JJ/v]kK)۔^>5=x5~Ю":`P6ONp)Kl0}nߊB ,\魂?dP! 1LjHJ\{ benu| X!v9t@f #X4㠃kk})uM$iz]e-P C퀈gPt(#VxzB8&HqQ5_.lKwwj,`r줸Tr;p~_)0fMA^L9Mc'&4'H ^D w d(@#j6wCdSk^M^IB210lÓG*x n~em^vٔ2ۼ/?eq,@rLAP[T%vA 0S%V|N91g9,o#uTRGkM2 2ùfF$ 35ꉌb:O__?w$RjcA@bSii;nwYw[JlS Ѳη: YHptxz8B!R xEc$#]:/U&3 {sG+}dI=_r=ɀ`m{|o* .<Iw^eYC4?>y**1_תDYZA6m%~j ((gޭ>kX:p&Tn<*>ܛ$[REa j<\ n!Y6+g%P?Oq+_Be'lD12 nJ-Α`7dCЛO٬l4Ҹ\K)CRb۾'r[KiRڧI Od,|zɞW5#**-<(*~H&?Z"{K/hj1wAV x6N߭ǹޙ=ǡġbr2@ t~&T{SЕtrc8͟^n"fv~ѧ¦9G Xc0Լt:UMuNvleL4u2k3H;WAZŊl1mK yYvio!莐<T}>WABsiQ=r -BPw4ԟ)U)oC[J4t&Zߎx&%+]CjodFO9XK/ z.f9RJJ^[)]L%m_UZhi2Z;S;3 ~d^ƒ<OB+e]][\ Tb"u8i` Mȉq!c)^I 48 m׋wֹmlDuѷL 8tVW4}KQC`V_ 9r$5b4m=,w"k|(Rs+Qo[bT}j\E,GM%)jxjq}8, M"c]9yw=44I;}&mWrAkHSǕBa33(θM+v~6Ns=,X1/@#(EZJ2?BU isj$hx>;RPlݟc)g~I~=}?z @/DiPoqp~5Bc˩Zm>xClЩ۳n傒8J_?9|Q.p-tB: /u:` ղ\~ %C,oSeh&9u?~-D,AmxɁwNca(Ѧͣ'_>)8Wn}Q|D3=Gk(N{,ؚl2!w$ gtg$+"H{+MTji~p`_|_~D'rp^O1.4(4@ X[x"o4XG|$8>B@&Ѵ5,6Xah2SN6ϯ5Mź {󾖔:ch̖EB>Wp("[ b^:bthVft8^VﴯڙD"u2\AV7ЧZ]:0H 0lS3`sH1xAyZ۟0,PU01 8Y4bXv~Z}-/Β1tiVp!yp(Q5H9\i$l;B#R]Ys8Xd0?EkVDY h+#oDޚ^Wx@3Q~% Żg;04L:_e|G4rWaWF2.>I.1od8sx#Zqi$ֵghX dOۛldoC IuP 4dGJl| Xwkⅷčin%aF4ӉBvH -J$T>#v)E4( =rDoA|.c' [ϼU{ٷn1/\?L=NwQKc-+:lD^炒C,b#Ci7RjN"А~v"gsFDԴSTsPVwMg|W}$yns0?,!V:HAI@d9aaYd5qnDHPCPMsh*IbxCEQ:9%M!I[\&:gd"y'2 0:gC7m>АD̠ޏW o]>O z Fo|l]D>nwgΑ\&A.kyoW\(~9*Kd۬[ [ sNjژ3m3bwUm!`獡(%Q ƃ'>!u?|~~ފ5d 㹗~X?W6S Դއ0*jM҈iXw(xF B6uQ9}|=z.5u)T>sN\9?J0 9=$54%ܾnas.\ƭ _8( y,yQXuxO&q1`V 6 řkFƾzyzY#e}o~[mOOa3'_vY>?962ܴ >`=ä+^[aE;Da-3@c9G7WqUZ&{r۟|bZ|pxjRd&L "Ý ~]鸺xb*e9+cu.le)7;_*_hM=q^4s74Nvr)8h*Q,Z(ۖ*vZi*Uot7.͒BIC,N%&Rj{ش[dn(woNU͍&:f~һHF4 7tPȔwvjP%)K[-/<֑;fXG t9ګV+C 3|X*4-i僒6y?Dт2)`GB-z#Aq|j>>W筆qYZ &ݬed5LCeࡂ2# ]DRy7:4Wf;< )vP\)E"&O 5^e;mWV7"pyEx:b?Ko6 5| ]UfBI%^un,}YP_ (`= F. 3YTcJ]͞McoʤiOŰ.> oN1(LW"~B6G*?m{Y)z߿WV8އ=b bPˑg[wSQ^\OLPۅ [7}v(c'|h?0i>HR3 2D MGXo"8a>!ƥь9FFsƟDLm,񱠻} C<"d@!F[+k.eqZX fV% A: R;g :O=G( y97;&Fsfdp9g>G׭0\݋ϷI^A|IJOp+簁쉚Hn414r|F_ھU6 f5y' d4ϾFb\G-P_z6N찇y3mȴRҹNdq?WB#еm 8,x@ [$H tR\-&vp__؎(81А2ٖ.weޠvW#j3r\c!7ǜk DD']| +ԼZGT/u*سwC?{U%A /p黡CUۅxm.-Vޘ!.. W')ϱG3ݽI.':DW.H3[cV^k KmӤGJ8c ȁE:"jJ/}PW8wܽΨĴXc&r0aV{6M^xNO#b2Jj@>s0ݽp%3b[0ݫm슌/O? q$W ·@+ Y2wGs\<,"ܐ$b礊 =#\LPщ~߫%xqfO/( \L Z 2;>Cz9vJrm!G. /oof-TDoYgԅ%]ϭ8ݏ*Z] jUȲ͘{. zS xNw Np< \:,6ƨm"]I s''"c7T2MäNkГ"m*تڳ¿nDɯՇVaf84 CP$YK\{{nq kh;+}pk6nIY5ano>n"3[z1^t |JxWśҳ{X^J<To$^ߓB\2i (b!~t;WBQ=7BslJ9CfQIF>uڤgU OQ9 xqlj߱XY9 ТrZ*[+DGKX3VCuiFKF"oLpc FPn>ܶ1c(T4\3ֺ;fûSX@m%سzJ?Cr,;cetETeewhA|Ԟx|pt]*@gqykprVhYDu|HهY]|0TwYI:" Cl&47wҨL^ ¡.&~A?% E5w]BqEZA78TC+I/ME݌<5U.9A|Cf֜ +֓R @4+mZ OZ/y+׫~.u営tod Xkr|)_2e>xxsΔ蹗ü6z/]ϞmH=h>p3LhSOW`w-eeVC@"8\ALjBfc .\ n-|a M5a0]8H8w{ 0̚"4$wFkl.%Nۭè֫,zO "mEG~"Q 4CyUٵPD8UDIщr;fFMښlK\OOcMN =~?+juj$/7oA7?5C jPjZ0=']eYE޷͚ۀYDZm}[X S-8w oL> =#mE$BĉCU:EzC ).DN^ԅvL9XMss/z 9~d7`>n5ک|pdŒdhYO/R[{OZr&emy _ [r b_2dͯ=;퓫N;m]Q2u PStI{$ݭH7p?2O0kɬ]rmQ_M{O|W _WGn" >'ƱՉ \P<Qց89gNMTG ,Qt=7zѩۘb 34Th1aE<fي4CWsCە`:[e;Nfr}`$mȧf1(n>Hހ6^UG5cGZ⦩Wߥ齺z*;WF?;#D"%.LtMS(MCO3(YyޟM?(Ofjk\3(9;L15%5Fz{LM`>I.ةvuG v5u%kXw8 JhcP70 N~B`4uO[G B;TœFc=``wčDԢ({xAqMlo~lX\'}Jo|Y4Ҟm =h瑨OɈ-;]Z+~qh0$,Tt+qr>e @2װH,*7c+5M AaZ?Cق,'k`Ncc-FZѐu;&;ئ]*VckSIy=7v^RXWQ"C6z%;j@foX\bt{C qzq|ĸa ^c4e(h;OZ`J(dj=jn%kszY[0L0H?*De!y d vK-ooBNӘZG^@u<)Gt3 UjwALϏs,ŔTL [3y*'ᾂS] |T7RRA-o֜hzejkϔ!ˠ38.B4,'MzAH2,f,5ZVK-$BLI0(I3ΜUQW `J҄;FGҊAOȣMhv ;z.+x%6/_਄͘_nPm$%KI߈[>I_kUpr*4kл]hho/A1 t]tE;z\뛁|67]^qRckV!0W;hrq*n1@"sPfO'K/]#q9&( ̰ K6CuXqѦBsz)5L\-u;z J ڮܼptڻ?58d W44+qry*qDZIF~jCݘ *F|19G}aʀTp [6J>aɮuKCwϠ2̩7'TV֑:'2lo"݊ߥd.>%GZZ*`%1q?I 30Lؐ)>Ju"L={[oҝ1Eд;$Jye&'n&VFu1% M\og$^Vw.-{5?C?g7z/J*@ԫ$$$cc ڣAO>L̹b*IO(w704E%#/%dkD>殕 ӉTvg1G̶8I{1C,gg^Lup23񞵵oY"+;ht/L~јmmaVcq?,yz?!ϰ}ARf ^k8maA\f5'i{ U"}(tj9I 9W^R)kQC=J9+ >y@j5|Z=jiA s;T3ɚr*z^ O18H.?-MTblOzq]UrZ1 i)rǖ['5P>ԁ3S3Wt5[9^`"Їe& IPSa[Op~.Q}ǘ[4$5B`/&unb;VO;f5 Nx:MZF+ps.Ws\+V#F o(;ZF!$IF<]ŰxqvږyWApSmB"_OE OԂ#ٔ= s^/DO5:sCO&o%^I } . "ycrBi'HЏq}3Mɘ$$ NB]U XIMFvr=E4hn{C& &7(<<ٵG4\" _&(%Y;[@AsAU,Oљ~Qο0#C.cZ5m(oд+UA@ׂb37 2lgA8TK>Kbd 2um8Y*8qvB'P_FazԵ/CsSfTCjnyȊ`01UJ_$d5 D&uJvDlšZQ"'~ 1eD%l SIȜ]ev#[7U袤K&x}F#;'jVh"zO,ɩKfxkqQoHq)X%g/A=31Jϯ>]U4ZQº5Zއa >dODDTMPR_k$TNK tN/PTxI凑=۝r=yoCg~*S-؟I|{xF'g}c4 %2nN}Ά͂-`­݅^s5AL A0_1wր8 #wb]]h^qqY 쁹Bz#w-\:K8*BF_,I> \k_å㋭A%Ux^o2dvyRO*訡O60AqDD;p/dC2t: ΒGW>֨ҩBJQQơɫX ٗ~ L\.٭ܥVgWfleW:>K۩iV@x6ĺ 3PN\AyN\;F q7"yb:GV lKs]c~?ufto5;RXWyiX$ pZ.X,`ԕނKm4~#SQ&γS[ޙ%X ŪlT4(9h}o*Vv> ]юNдls )G ϓ'0ۼV56 Py1I1XǕw&^K $hw{+^c92<lFW-v-CEoms;mSt½X+Xʼ5yK}diYϐVfT͑]7u [avE% +ُ> BI^9ze)/wD3t`ɑ ,XkX޷Q T&IYJ,WP'3azGumz ǵ/[at #Av6\@5(,Hf.jLHq0QRĎ/RMZ5#;ϸ&S$=.%A>v-0{ J!+c=k4ćV Os+"s.i c&{IyTKN\XjtQ~^eF iC=R{έ^ӕ:naЮfc]׮Nv:i{E<:~ݰA&{џf@:[E]VǼj'/+u=D~.gO'n{{]˒hzSF2kUh@…qinyCUFϷ> Cmͦk}IuAe!J thQe@?Ic74J&kT ̟J%d]w+ʿ(h%y dq='u|<)##:=~"uS dX}e0-6)yp<ҳVV~U@*1.dT$N.w'M+Se{s* Y/E}sWlk>4gJ>gœFe{'qe%@$mSIhqExעL:aBq WdzfcET@a!olzϣ.i|9\XEyc;=ƾV*4|'S5-ք7D 9](lDt>ăFBڦP⍙\-4Kt^Nt3*1M0@,@Љ4+Q"O#WՊYU EźPӸ1_lN6.U5GQWO7^e\_cOaX߲\7 g%~'|S־ 4߰HR-a ޱMƂ&֕n YTճ $$լN 4k9yo=v#Cp Y&2=ltQS]M3a}A!1F_PuW=a nNS2'6%kͺŢa`9G~p{4KWvQeRVbNBK'b[kP_pi1hL>h a%|.iBkÅPbCaKR[3{o|>ҭKĬpfdY!}j29qSM1@õ;= Ep`!+صG3q2EɕgMQ1Gw@-v%TV$'͞5 Mhaab=Ǧ]qo6Mh6̹JA! %mOiڸ_|E,^]'y!LwѦ:sLi i&6d8hj:!Zuvxςnh:|}i ä*R!yc$.:ʏdfwklɤ54Zl'Ȅhtii3W80GDYڜzDA0 c[^rs=4k2s hiBWpc˧a18WӪ'm*79u- r#A;|mR7Ku^f%IĘ^ofNK_~}JbP$ҟP(>_-U[,Ϧn{ߒ gRt.D83bVG{<9 ɜ|%g I6 uCE5M>{jhT9@iPve:o9.D_ArYci;m."@++OxsD]{ũ!$V 4}AҎ I^.2st?^'!e'j,m<(@a5MKhv\^h:ZAM&a˳qؽLQ _yUcԻ#8 ,q PK1bgATQ$bx|V3ϊ]!JA0^$xSrĬJo}L›$_W7jWP"(6RJi#ob; nur;dSk :DVN忊&؇.Q=4.{N4`eh*!d+kg)Ko;N`\[앗*&`5S ~WOT/o}JGX avF^OɄ5GA, }?=B@ن/c."gK#TآrݥM'/\"{_$h*-T–OvZg߽By↯"}rn'q)@!/:dHa-}X-_5P p}v19wg 3c޵sz/GQaͩΔ^r'Ypix סmUBl/(Ö@8֓g#x!mmsfc՝P#[yʡz9n$N;ױ8Gh=aeEpȝű5n0zqsIt:9pnԥvDx)p0"YREகƍj$b好fD4a0hL{!A LmT۽xFotYwE}Q 4\WKAb· $Fv\ VDFL+ߊe܏Bbfa=$Ն^@r۰Nn,r?.X&TjP |2d(ɑsT%zdu{EaD KBQ^ Ϭ5Q*3+HtOR}8.Y]@Uf nlEO@mcFN?9wTϭIJ2/(Šx.,TG"_*xs3 h%!ݴ6?ed.l/EtiEXûXWoxEcWљL^3F`sTH6Ys^Wivlbx9 8bccq^!gaq t@ mσ}eW$U(FB\\i.ݗ3, )rGʯͼn q4[ڊb<H8 fC(jn.s'E(v~@!G_mJ`bi6j_cg-L9J+YIN۫w`D[e6YhJGe6BZwdf ?P}ycyZcDTUn7ь#(`Fx6~Tb@U$G[XQ>VPG2w J>lû!Nw@0)þj~@D=-2" Ao~կFMdCmvLl҉s%\~IEj!9~Fw%w.ϑG6GrU\@Z/J&jpG<(%rFoːڗK!f-/ Y+B))H{U5YcҒq ,[(TVI޾CAlMH!:<s!ҝ#Ȱ]WT߬=pZpyur)@OlEc0Q=ۢX?&z49%6[0¬4`|0Txo :I`벢׮.8U{n +ydXeCd> ~]Z+RQBe1W:]S1p,='{KɅD)E@B$dag1s"Y~zgZEe kR"jٱ=3V_X ÇLghXEpYb-ľ6'i:wfKP{LSE5^{!]4UJOA!:(~oծ=}K~T}۰'bC pc۷ $["VF^S{kz1[Eq03%j5|?HS۶8{(&W*}VvrAP.).6qVd$s7eh(i3Xx?}D9|xp1Z}BUڏuitՌ%NY8FStUCE>mnSnKR3A^ F}6vf1S׌d0]h q h> " !\3;7Eϲ0I~ijuu_Q%|b W$sQGgY㮓B ,Sg=Y:ϓ22"U554GF6 h #HoH}/\),6g=#^8,”Ӆ5z-d KO̓g\p;O0Lqj0Ҷƀ 8]*4܄ݔDPm)z7&PY6Pk6Ɩa Lg41 E(LH˯p^Q}麶.<3 e\4uQձeM>7J% 3j-G S}4Pؿ1EBXB, WL@-ZoP\<5$̾ ";%xeP?Vϑ4uP}y%ly`ey֭n%s>ÿn} Ձ3vgȨN}n20Ԕn̂ s/[P{Y'9yU#gO6D{mLȔzy #u_ vc 6Gs 8 ꊾʼnGbH9h@ 2Cf߫HnѸ,Yt~KyJ].37E>F)0o _iu-["/(:J`b;|zX҅Eiq|i!*WP]rE'CFeaYy~A;6O #!1Cfz~uv~N#34+ӆ j/,9C܃ͷdaVRot4: א=l7EE15Y>{fm)F*QSR>"G j8{E'Txv^Y4J ~PvqT08RbŖzSMpkDbu+Q϶(Ed˞0&J`N 5[|A9ZL>$F<)ʘr7$Փ@^OzЋhGA˰9 s0!:YSVLTbv(\y{myxPG YXyM_w^ՈB`_iBSL pX&/f`j=wLD:c6J#>m UR.V{0$0ݏNh9 }&CRu'}ŖZsU(7`]8~ikhͷ.AtRE2F#étxbHrLkALJ>n{sDS@ÄW#DAYwmdg6mNž 2FzFdƢme{́e YZ