python3-cryptography-2.9.2-150200.13.1<>,܉cIzgp9|Baܶ` !QsFhEcUFg|˩: IF268P;LB~mo{:W=/_1pg>pRA@z ;|oc sO\A5D?54d ) k1Rm #`#  #  # x# S# T@#X#^{#d*dX#hii|k(l=8lDE9mXE:rEFG#H#I(#XLYT\x#]#^ b?cd ve {f ~l u #v% w'p#x+#y0 z444444450Cpython3-cryptography2.9.2150200.13.1Python library which exposes cryptographic recipes and primitivescryptography is a package designed to expose cryptographic recipes and primitives to Python developers. Our goal is for it to be your "cryptographic standard library". It supports Python 2.7, Python 3.4+, and PyPy-5.3+. cryptography includes both high level recipes, and low level interfaces to common cryptographic algorithms such as symmetric ciphers, message digests and key derivation functions.cIzgibs-power9-12//SUSE Linux Enterprise 15SUSE LLC Apache-2.0 OR BSD-3-Clausehttps://www.suse.com/Development/Languages/Pythonhttps://cryptography.io/en/latest/linuxppc64le.Lj.0 C C55vvd  >>U [??*Pff [&[&!!()()AA Y Y < <-f-f**..GGO'O'v|% '*>'1.\) | 6; 4D #ZNp`P+;+;+?yy77@@ff"o"o<< 2 2  '' p p N NN5 [ (rIIqq!!%^s>66  )(kV  = =py  $$\\ :^^__--%%66]]]W( 94*  `,`AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤cIucIucIucIucIucIucIucIu^^īcIucIucIucIucIucIucIucIucIucIucIu^ī^īcIu^īcIucIucIucIucIucIucIu^ī^īcIu^īcIucIucIucIucIu^īcIu^īcIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIu^ī^`E^ī^ī^^ī^ī^ī^ī^ī^ī^ī^ī^ī`E^ī^ī^ī^īcIu^īcIucIucIucIucIucIucIu^īcIucIucIucIucIucIucIu^^cIu^īcIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIu^īcIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIu^ī^ī^ī^ī^ī^^ī^ī^ī^īcIu^īcIucIucIucIucIucIucIucIucIucIucIu^ī^ī^ī^ī^ī^^ī^īcIu^īcIucIucIucIucIucIucIucIucIucIucIucIucIucIucIu^ī^ī^ī^ī^ī^ī^ī^ī^īcIu^īcIucIucIucIucIucIucIucIucIu^ī^ī^īcIu^īcIucIucIucIucIucIucIucIucIu^ī^ī^ī^cIu^īcIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIucIu^ī^ī^^ī^ī^ī^īcIz_^īcIt^ī^īcIz_^ī^ī^ī4f6088fa476071611b59f9c7372db7b858037d536c8e0a8fc3e68d1ab3a31bed4f9bb4c0a3cbb7430a3943aebc63440152d99d9a0e35d01ccb07dfe7d31c8b8301ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b58e9cd1a90d13bb3976c8e47e0bc05a1cf45b6dd16edd6cb83b6146f8004b019402918404e07241a6a22bf9a06a6ce67bd0d95f6de8ca9c313a3836cd814c30828dc5eefb4210a9993b276d4fd9f87b08a2c820591bc4669d17ae11199a950fb33b990adf08762e93b4e910fa5f63192173de5ca26ab13ade35c588cb6b9c2204202015fccba25556302be96bc2fc760d75d4ac3dc1b6837a06a481cbbd911822f2c5dcd8ac93a6c6caf564f9a068db7c8ab802ce466de8b0c54e60d887ee7183b71ad0090a36213848b655bc0a7316d0578fed8e23beba15270876d6a6ab59808ada7e2deca1ef685e29fdc9b9667f1eacdef8b3057feac8550d9af87a397082416f050f393521f3957f652ab0cf27a704abd78835ba2c219697616ebeeb622d997d7e8bbcc745842381e896f2b9c35b7a579fb74c18632af5268a9c6f34e48e7cb201bebbc153f3ca085167c5491853622dc8116942e352c4fdcf8cbb85df2ae3b2dfdc72d5254742c5599ccd9f64e2531a72c84f1f4a0a9ab6a1add05e4d00d78263bca56c16e9802100f782ebeacf25c5c8e3aa0227039fc0fef51de4829564bac6bb89f13a6c96cf67a72b2ef65f6d64e42d1dfedbf3cd4c965b3a008de34fb43a88ab596c43519bd415e48ec188bdb32b58c68a09a4fc7a9892822d35d080e22590bcf0de17d10dd085aaf31cae041a8cbdca44135ec88bc5466e2d7d68443cd430f1d82320f227e36a9a2f05cd44b0b24c6359792be441be7b0cf85bba9d76b7aecd3001a9aa7047bca6b6bdb39b43e9519f73250131c019ba329b0cb671b86ce135ba6339da0f4eb82fb21e027e9c043d7470383f3a884a8cfeb77853448c372c3f967ec1487c1ec4c34006db9c6c2f277dd7256e456d49e75462511439c27f5d9620e0be67a1cd96f567ce50a4e922d2d27b30badd07acfe7c7b4b51b0c99656096d5d3bcd3853de747038a83bc791ecf22ff026f883f134bebe81806c731a9889b4ffcf60ab0ace790620eb947c68a4a667e7e03c3e0b31640667ff7057bbacb2c03efc8931a34879b9510925c63ab916f0e148658232e15d8b24dbd3287968ade8c7c9265707b43d12325c73b23cceb8bb0f83c156dbc0deb5850f76519766a93c903ce600dae8b5eed92cca3c419d39a3d570ecc4308284bbf119ac7366ed95fd81394b94389a23af3263214fcf683de1c20514a94691d509803c16d1676c63fab39ba1a8089b3512b84d83aa1fc576c850db6ff5eb39a658641effbba3ad15b69f37cb01c5dcf9cc26de4a1c304e7f0df07c0a90a96dd53348b057bb73c3a52f97046a2b6218e4d4d1b12d4a9fb9482f817f173ad60f331af6632836b7dc68fe5ca43d3fc091f9bfabf21925c2f0eb1b0001e6e3ef53652214d9380cc7b6dbcfe14ee076918dcbc24eb625d23712609ded5915d35cc99b9ee9ba12b4a7ae8977ef4975410c5c338141ce1603bdf29cf6880ef4df48e628c08e729e919a0ff3e50dc37356e6f538a66039e65dc3abdd7c1e5efdefb5527cd2ad5324d2c9621248e2853a65c3580277031c8d6e0b14ba83ea8c74d7476ef4891a5d36a49411e1efcbd343b8943e44aa94804dfa204ba6870ac25822031af37f71a5d0c4dc6558edb039c43caa65c11bbcd62a560d23a096f8e13bcbef507267ddc2be2de9225863b041b5c0a81381ef353dcb42b3ad9d09752f36154cf0e461dc377f8c81c64c6e9615bc44d3f753b3e575a24241f477d732635bc075f1fbffcf6168bdbfcb47d1e549695fbc184e411cbb733dad84aa52c49d0db00be1323c259ac2c168f0eac6e849758efddbec82a33725485a8922d06e6f4eadb12d04de364727aad37160b0eab0253378e67f4ead335ddd08322f1312a80cbc11637fffe9a5eb619a647884b767fed9bd7cceed1b9f9adc6339fcaaf9bc6e87ad03c7661f88246d11a1ae16d5ddf372df17673ce95337ea9500b3f44fd700f817b6ce531646749db6ae1a6461fa141190e342825edb9d451fe3456929d58b94e1e1f36e76577d0e8016870fa8fc8a535800f7704fb65a7fba7d8fda7df6539e5e653d04c02966f2c39f83bfb7a8809d9ba9a21ebcf8b775ac3759faa50595af531501d8d86b0120bf7a78fa99bc499b476c343af29cd07644f9496a015962b9863a5f3d3368cb0f90dcf7ed7dc6ea5d14f64b5f6ccc6b0822cdae396acffdafa9f543b46496c56d1c30521e06cf5159c426acc694803494c17c9da764644036816a63d241ae9f9d73dc42d7b99d03cbf5def63c45b2b67e828828afc7273e2d157ee6471424391a9535252655ec062a2f520e9966f34f7c3db79cfab28b763c3c750f024b913b05f346491ae4937b3290a1ee5374083367e10c37af198a7370d04e6c034f27d3825dbecd3d2da07e2de3c7515f01d2db46d5282f8c78fd05217c7e72f82016bebff1bf55661ca69eb12b389cd4ea98e048abfbf6d1fbc18b3048872e1c6a2119a8be389c5258c2e51d41d0fcf5638f0e46953f330120e068f6a452d80f51582aa1066b6f8d96df69164556c8d11bbe6a580e3cf3e9d09978f8bc6d444909fa716df2e26c40b6268562fb6ad32198f053a446ff9c7c3ed0110420867df952e8e627a9a220c4f5e21b8eb719995637169d7ed9204bfe9c55aa102757485020a104fb01036134dbcce85a23ecc164fdb9656566bb9a71f6c11043f55903df2ea167fd88a32a880c343a362c27ce8b9bdea443ea53930320f62ef78b996e5e94771307c3bef2b3a0eaeabfddeb4239dc3debf9050b1c688333a96a22e93faba4dac8ceddd67c3d608143ec4172eae6d9e964504e5c436bff0afa2c379ddf94948e1508b68f49b2ef2ff8736134bece814708e94f643c5d7572247f0444d8b3709163a3825ef175aa0f3d3bd64f18d77f200c9199a9d8d358488f8c8798c034313e0ca16d3ffaae20526d64066fa6d3622a637aad116f3e46808ed69b0eb6dd6884c4f400aec6cacb77f8284c5565ab12d3ee49fce29b6830e250e92b9a93452fcaabbcb6cd6dceb70281e44e7ec01cf7ee8eeca0e98ecaff1b5c7ba34c79f5f6193aea2fa75283ce86733533ddff01d5cced878804bc73564859ff19f9dbb4fc7df00a117f18451a841bba4a45a6b2226abea23c452cebc83f3480a880e6f6be4abf5d1785af069be64954827ac66e67a4f3a98216664eae42e97eb6067b3979da8875f302a9c1e8bfbf0b6341f3ec9a580cd52be11a5a4e6c4e03e06744d00106480a114d27742a7057fc03f7908675419c54f878fdc5fb023b4856f7c81fd404e4482aec58cd6ae7bed726ca5926c2f55c7a397d49caa5c0d7ccad913373c0753435cc34cf8fa9a84591c49bbd1b36433d3be9f18056e461c579b7246852d3b5c53577e49b0cfa050d79c3d4dbe6f4eb493588f32ce9e5acd307dddc7ff001003f408fbe2bd88141682ea57f9c8995ec4c3508e7f509839040c67791da0afe8c310877df540105c5c9fa01330fcbb1c04c88d665632829d4d71c90a07947f8fd76e35a6a264cf78eab80ba851d6c7e77224bd4ed044d6af75b0a1823fb0a6a89171f42d72ec828ec52cd6a7e95e418a2752df4cd5916370696b9567e9fa528860e14cfe6976278aba4c8e7ea21f0cf513d2deed9d7145b14f9d58c5fa5bb3baa2467cec471a3894469a3114bc83ea0d5ec9a7ac5c932e2814f48de9f5db1abbeba76424f67a82f50225203444fc9d8b5fb44365a386201c2b0bc3d91e7d6737d96e8ac333d05cfbef91a359585c48fcbf2b20ff34be105c75955b2334b93266f1750e4dd1ab78e62f5a1895790b4bed756a941a4ffab9cbb83ae633b6c6e0b4fee61c2a3ad6cc289fcfdb8e34f14119b6bb402de8ebaf8acf191235fdae23f0fb932c36af7e03b22cfe752331dcf41673a9772dcc9e8c025aa0c618bebb87238a14715ecf9bc35eb4f714cb1545dea3a5011a5593b4292514bbc8a9ccf9710659a4372f2c4f0f69bd6aec92cb89b30cc3285b14d3e29c3fce1839e67d43e8682af8c7c0fd269a01051e15deb39befaea3691c4016bf60914b439c9062dd0ffb2eace831f2db3b7dfce61f89815f11896423d1bbed472efa2f38a646a8c84f64064a5d4b8909ca62ce7f87ecb36c151c01b9a1b481a22e88dcf4df1382edef2afaf3282092785f71dd0782eb5b1c6ad3fc69d2c0ccebd4ba54cfcff9daa27b6e26397eb09890bed98cf426e7442a86b376f17b27d6f93ac3b14017d06bc7aab3d301b0d8e17d47b7c75fb35610d0a6aec62281b5c7536a23827f8de11923b3d5431418cab69e9aadf88efe6c1ed23e8206d87d3d878a48924732d6ae4ec7a9b37e9d97221a97c6715a3c4129c38335581e52e71dc68b4d6a1a08c7e5fb59f0635f115f40a05a87ef86ae9136f85367b19e5400b88a1383b29ad3e1ad28fc82e3cc6a7af79003001c561d93233c7d12130a3e1dcdada6087513cf63512c0b5b4ac3e37d2f86a21aea40eaad8c81ff32a5a9b4e12bdb719722c4873cad3b291dd6d301b0d8e17d47b7c75fb35610d0a6aec62281b5c7536a23827f8de11923b3d55da817a098b956a36629915f0fff80241969f98e8b3150b1ef642d48597a066dbcd6b4edf4363ead59ab17c725ac45d49abe777c76440e63cb4b1c0af87100712e02ed58455c102073fb207b743cbdc3acf4b264f36c4ead68df7c4a7d17c722b86555b400d0ecd5c640d50ece518e4641663e49805ae8550f17e21da2cdb93b60927e4deed79221cf2aa6f904a08428f52ef5f7c58d5c09bee2604339eb5aa9fb6f48ee657c361cb912005b182d359859b532c2939162efdcdc49647e6fba22e013dd5541024ebe6a40011f17e2926bb2317247a06c90c6b3c08805c9d31ab64381f7f5045e300d4c79732fb24af87e3acd8aec51d3111b9d5fa371574a527bd301b0d8e17d47b7c75fb35610d0a6aec62281b5c7536a23827f8de11923b3d563dd8984c50354aafda7d6194552464e37b1eb6bf257b07bfdca97affe9a504fc69e6714a13dd944962d175ac7219bc047aab584a0c597d161831086a2cea166c9836e0eb63bf6d91294414f1669ae673cc7c310be09915d6f01c4218afbc853fe7176e612e6a352c493b5bf808ddd4b64d5626601f4410b754a4f410ec5d4373e10fba3a067d888b9296e51f692738ae2acad9537a2535c2a2f20c442ebaa932ed8c27cb0aefc4ab65c464ae9be69b53f17626b00d349846f2ac10a2bd2cfaec8d9ed7054732084ddcecf00909abc0ca0bd409d059cf7f1838d65a975d71c60430b19156f2bd7457616d3e07a03df93aeb5242ae0034c86540127dc37ceeea296b24e9cd68a042f742d8a8d93183f66a5e848d6497a8a2aadd9e39bf387ccf9f601ff4e2d77cc057ff5e5abdb3dde7da570a29f29c9e2ed49168c9a3c03ecefba1551a1750755e046439ca94d6b24b272fb480632e9f5545476f5f5a3e0031da2e6cc677295478398600ebfdbddfc6a240b14fed801f6f1315c20664ac4a7f0f4248df6e16b4b1578ffd300b61edd63eb8f7fbc040641f6ac18a83eeb8a671a0b552b5b376966678dfab57df04950b6cb723da829c405e9c7c461fbf3298e75fe6fd6ba3a5f61437661a687b65972fc3434e47be934131d15f21e471b5794cc683686fc42fca5ddbaaecf4cb7ef2c14698a0fb7fef7c9f92ef69869eb347d465a1527ded1b1a0b031180b191c4949d9a3882d74a1e790198b4e0c06e7589900022cee27bc0ec2c386fb0f1d065296d8f6df7e4866f3a2949f00c8bd38a80858cffecc9646ebe55967cd543c0ab999ca95e83fecec01686cd9a44ec98f38fbe82aed6dc878173bdae2d2e798dd303b8a5087cbd94ff5b51ba7039f92b28f0637c110ba5f1eac20cacfbd28e88d34f575a90fd047f2afee6e1e44a84b18e797f6cc0cd0f96afd27b76f0c1ef22efa87435bc91d46026824446a5758689fc11b7823aa29888949003437d8afd99130e05ec0215034d0e317f6e387974c6769961f629f23a9ddb07390ee864f54d38e032d36bdf1e7a5008f57287dd2948f18402f26c47aafa8652ee85df3ab81b182304a5c3e7261e0b1d1a44448c4648a6fba16eb13c306d2f6061fa5fd71a5181bea4abb910ca32473213bf9d12c2d48c2cba9c164c6c3e15e8bd969da76be78b3b2e8d91b46e1f833698875427dd8b0025c9eec06b3f7dcb348abb66e50a8e21b3703f1a528a8acb6b9961edbaeb3733edc4333cd36ed433aa8c0ea3ec1d7698a9ed04c6be5676708c6e3dc920a1657137beaa36d894704a9b203d82c0af1d7035bdae07845b6fb39d7d41da70b3f0e3a813f1b47b5bd5fe42b1bcfb4dec8caeb41711b2dfbb2d94ed45b5a0d6df467945490dcd85d98d0f36069bc1b2f2fcd2817de0b97987a854647b739a8b07d6312e522e2f940272ea94250023b63e45019cc8aa69646968ab59d57e578a40ddd18efd0ec69f2073a7d30061205b3583d4b64280c50889db4067e0433704607ffb20f5360e4c93a862b644c103512242a07bc2b4dfedb3057c739f8b11e6952a98cb3af8e90ff56ee0a47ba80fdf77ff04ac37f319cdf754bb16734f36a994487bc22f99cd146a775f032fe8b55ac8ce8e3f8ca4dfc2a9513e4c491dca05ef39bd2b4f06e284503ecc931d17efebda07a618f2781bdfe3f55f89f933bb0c48295ab7d0fc138f4a5818054b52b27cd9f05d25f931af96640149858a18aed6dbe2c099215e97974d5b8d354714271d26bdcf876710ee1c6461879daa6f927a4669c679ed6bb32bbaa97b406da8792054b4ab346b6c91ad70dc949437fb99a7a5c00392cc6c45cae0dee77622e0c61d2f11d6a37d90fdbf9486d6b30f7a836005080dcddfc2bb7461c43431263b4912d1fa9e4fa75c98c468f486ca2eeb36e9601f0c386337a8467880e723777e04f456eb6ea3e8fa8b5c9e88a10a03ffb8684ac93dd97ac68265ab54e7eabf596e6f6b305678a3c5f1965ad0023c856cdb25a551377456283bca042211c846c8c3d76bc02790fc8caec063038bf9b22584d56948fd24ce63a0e63671628084f4131bddd9aab8c4da9ed8ec8f3974cf69aaa1cf6cfb4e7cfe905fc4b0115ee1e32d2ac0001806aec87eddf5191ff7cd8e6ffbd16320a098b81b67f51d548a3379957b15f769239aa9e2ddf59d61945e22b07e0318ac5da264316b17a37857f3e823e123573888dabfec3b22078d58fd0fae2dfccec7b7eff19399f98e517d2a8f4c4a7ee054858c5875edb4e2759b003eedc84a27290ff13ada0d006231ae11542042b5a1a71d230f63ca4abfee88d64730a5e8e5fb3b45dfdbb4ea6f38a9d873d53b63ef7067206dbf3985b6fa1b88e510034c94334ad9e6a47fcccb63d06f639bab35f8e506796929f51c259bf8097abe97d16ee084c003eda01bb31b5cea6ea4d6c912edcb6abfb8557e6dab76be9292380a06fefed4fa4bd5192c884e0afe1f2f5f3a5c4ad381e272ec17869d7a9818a741e02da8ea2169a42b0ed7c0de3b39005be31f0434841768abe5b24988eaf4645b27df5b5c8fc8f4ccfe3f358fc299853c66779f4875227b6c15f12c8e00860c428d4b8af2d94c55568328136116aef82d225a4bb079db111e4896e25d7a04b55ae98108c39f405c7b89732eb53e47ab8550fe2bfaa42a7f039a5c3a13b1789cef6e63d88859b51723515e2668d2a07d20f96ad7c3850605558cbb12578f7c2226379cba05d2171948fe49154ac877c3772a94911915772489e6cf6a8c87ac8c577e1086f028547b930f55e581fb6d5a928ebfc95188ec604d0a744e9244b9df3cbca123bea9d41de43d234008b37d0d8b6c3d4dc53dc3e01022978e03ac0b75f03ece44e6242039700292f6bb4546d562f4aadebcb0d917592ce38982dff383208a066245e4d81524649d6bca973ebcac2c1f74cc3ddf0d09cb5fb707917d3d0cf11f431b286a00e8d2bb897b64e1b453b909427d24487805b88e7ba399dbe284d0eef1a71306b15ac4fe0865656d07507ef4b1e578bc25a5219352520074bfd9f4e6f70689e87791e33ecc2366bf30169e93b2ee9e9fd6e51d8177921817239474cc87273c9be2fd6545d35d4074eb40a7f151688f46faa9c00b0d1cbcb2c7a1cb3e88684d8ddc04bad46008007cb92cb14b296654e098e29298f02f8aaad3b52541d66f1e9a38c6251d08c32558814c14a74f84a9db240be9c4183b03e408f4b2d7f4fab2c62370c5c8148a322345c7fe213dee9fb2c9780a7cfbdd5a06a248ffc1f515f6a3cb6be5042848bd40aa1c5443293a6f6c22233f499e848a8902dac35365bb048584a1b983a66fe1ac53a8728a0104d8e99a457783e10fd9f3786994692b6cb6b3b59181ad71262d7c6e69056fea4f5abafae3897697728f742e42b9cda54fe1aac9eac4a762e596c8bb4d624a7f60ab0903e889a34441c93f2b0b55eff967d7de2753a93acdfe86bd1349605835faf41630c04e7829fccff6684de2c077b226a064d9774d1b74d562cf38b59820662cf757534e2e35af1a0c66b8ba0ae1554e2efc659b5936ab056b82f3a37c04a928742eea87dbcc16516ad9354b24571ab40e21a0a318be71712649795ac627697a59857a6c986e3eafe43619eec6534fbb50ea4ff67283ff612c588f71888bccd0d8a0838f48b571890d720290c56aeb3b02f51c96d61329043b7ad87817163ee3dbac3d7d602c245bead34de36881d183126f869b17c8eb202835bfd352af441031f435af6dd10e85245345fcad0ae1195ca94d292371c52940bd2f92e93b88313d246c112fb1d6578f0dfaf2bb9538c11678b14f20d1a5e748644898f7cfad96c1e3e9cd18aa18ca359ca9bb6add7f810adf10c3f98dbd0cb26e9508c7ada5abc17ee9b2a096b3b370493b68e18471bd81ac6c1bca4dd5bd8e2ccd0636101bd931a7fc0183d6957f386928fe4d72d7960bf3c20ba3878160ffcb86525c1202a732aa6eb643a607e1410accba299d9102ea8e4548b3bb9be48e60c266126fd21ad1575732a5961e69ca49d43b1ce18400ad2818f69d1e749b8657140a273b10dcca65bc2648f403dc71b7b10c2dba4969fb09b2171f71771f00ec5c869a1c9182f91b123d4b8b646d4c25e6f516a06ff47ee3051bfd4329dd687fb569fc9c80495d6551ecea346518609b5c043c23231da286f0e6ab8827877caf1f72c4ec0c0d9b91754d28d1548ae5d1723f9531b07956c4cec8f985d2d064161d9f118faeea52ee49ceb91eed9c38d6890289d7c03d9c07568ab52089d093f8b2b14a6bea8ab66554eabe176c5e64ae3a7617cd780e6c96c236f3ca2d77d8c44b63697d0c82af5362ba84e8a9fd758a6e2448a29a92e7774ec2ec94821c6c7a3c20db1bda3ad63892a5cf563a542a39938e75596c0669f70b530f1d9574c0257809f88fa886ff5047b2311a791be2fd81e0be1c1da5a1b8eabcb25511527a0a6906fafd5b56e944feec10102c3c74b1c963a89db2a87dfa1eb9195c3498de269d73e6b08ffa50b07aaab35bacd72d3417914e07163098f1ddd38d0db03e8b47a50a6467e9325640305bde72e93170d0937d2a96c532d6200e9254cc5ce279c0b528afb3cad3a701ba172de9a527c744388919d254c53de1c387238d819608aa4570e5b0fa2a51ae42fd6c3fbaebb6363afddddd5f0056ae6dc3283a006b6f3513b53f9f3cfcbf8e0e9808979a523270572c7a1c1f1b60bb175dfbe569439d01a50f97c263d7229414f0d1164a0799fc153067812d63104fcd06b8fced64b86a816ebf810d56603050589d754d7e498185297a9cc34c5d932a543e73931438024a315aaf825ceeb77cb050e93f50cb58e0f5be20229942d524fe294b751c215ccfa5dd609de01e7afa42c1b132b3557f2010df1e1349d257e90445a4704f85fe14dc7decb332dbc1944a0e3a846f7680831066d2a44a0c92bf9ebd493e199cac1a75634375a8c0230fd21e2174d64d8dfcf3e6f8e9600066e893424bfa313e7505f5882a41819d170d962fb8c80bb4d86ca2a5543727f95382c56c9c95f6b4ada871bcb8a38986e7ae6b76526c4ba0120f47d42c956ebf1272a5fb346cd32097b87c5086cd931241daa6b5b16677c91ab423b39448828bdc0e1b8e9a9aab29d061df617cf564bece6f615a9fd49569b9c117eff75d3ef5817d5b25e3fd4d06be1db48fcde514270558efc00b61036fbaeb249d43b855f31987aa84c4aefa5782fabc80a44e4d21730cb216e5a3a72f1502b85a43e16174d5930769e7e0b2f31e4ad8454046b5833feaef9e772cc6bf22a3aaf2d0fbc108fea5c2b842d8348c426c1bfa36c4110a984446ea47954e3ef5a2ccb7630c0d14c3954eade95adec60def3c036d35db0d3103df23432d6f785ad98f4fcca618784077d1e7fff911d043e735abd96d97bc5223bce2d9057a7acfae6e3c9b695a09bd5add7f521e0740f76de397d07342af937a54a236ea1efd12ee52745d5dcfe1296285c15fad1c0f3a85717f0564068fdf7bf5328682fc9093af803c27cec2e5f60f67aa9e5b75bfb7568ea07960df235e488a9ed624c42e92cb2a7905f397c1c4714d2e042c1f6b9cb1afd3f082d983e7d1e85e666b7d39ca262ded76b6483b24a56eff63b9193353864801a46fac8259cbdbc1df25c2cf4f5751363361fa66786719e2ee0aee1467f14cab6452b31d210fd9aace115675bc8b20cccb568ffe765e18839f4999efe3e0f3e588cb8ce7881f91fe21c61394fe08ca6956a6df6931824c53c5a26f8f00d40b95a0a6e5c00d4bf8c0a36f6130dd83d0671605f7d556d21b2372cada40648f6879a952388a6f9785f495483b4bd34b456c3e331ed3def4869d047fc32440d688a7d3f5318b666e0bc0b1229f8c0404086ce8113b343e19fe1abf03dfef6d0edada246c543840f45cf1668ff8d9081a902b34091d8f1e8dce7929503b2837da04d24833092c77efa06e34ec0704ab4292c568dc6240364a35ad9ca2754ed1c8278688db7911803323a72e0abf7857bb53c1ba0b31e59c340c0a93aa66efc045ccac93ace350dba530f3fb9ee433e7b2fc6d6f873789f65ac84ddc8c9f85ecadc55dad3685548fd147b997fd5ccc67289a1296e9bb7c86a391a013bd0f7f2a16e6781bd512c626bf9d0b902b6ae1d77d2c1f937df730708d587b3d4af4e11d1b4c2e9035867d2fdbeb1376d5e1cec8f682aa3ac662383e2a1b95b1317dcc7a0d52ff762743660da0da2bde15bf774f36e5999d0b0603ccb4fda9bfb370315ad794200382b2cc0cdd204ef522327f4af5ad95a652a88dd532ed0ae2358fe59e6ef2de40cff29e2f94bbdd2760e82518901708261aa32829394feb23a69cb0bf2976ab1d540fd2c22d064d7576d67b2f3574561341d107234b214d7154440ed264b5dbd93ebe5eaa37d701844981b351a12d6400465742a857005c7fa4b6ef4d5d4a1fd32726732140e9b086e95ba43a53b749649a0e1a46fc7b43aa9b1df999a14c49ff2df5e040567f85767b841b96fbcd96a7d1535452b557fab0efb1e80d7edb9c4e5118b9384082adaa051dde342102cb9de8daac73b3148f6d1d7111dbca32099f68d26c644c6813ae1e4f05f6579aa2663fe602c4c7482de6479dd2e9793cda275e5e63d773dacd1eca689232ab7008fb4fbrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-cryptography-2.9.2-150200.13.1.src.rpmpython3-cryptographypython3-cryptography(ppc-64)@@@@@@@@@@@@@       libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libcrypto.so.1.1()(64bit)libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)libcrypto.so.1.1(OPENSSL_1_1_0j)(64bit)libcrypto.so.1.1(OPENSSL_1_1_1)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)libpython3.6m.so.1.0()(64bit)libssl.so.1.1()(64bit)libssl.so.1.1(OPENSSL_1_1_0)(64bit)libssl.so.1.1(OPENSSL_1_1_1)(64bit)python(abi)python3python3-asn1cryptopython3-cffipython3-packagingpython3-pyasn1python3-setuptoolspython3-sixrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.60.21.01.13.20.1.811.31.4.13.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1`E`Ȗ@`6?_S_^@]W]@\ \t@\w@\J@\-@\ @\ @[h@[{[O+[ZZ@Z` . * Correctly allow passing a SubjectKeyIdentifier to :meth:`~cryptography.x509.AuthorityKeyIdentifier.from_issuer_subject_key_identifier` and deprecate passing an Extension object.- Simplify the test execution to be more understandable- update to 2.6.1: * BACKWARDS INCOMPATIBLE: Removedcryptography.hazmat.primitives.asymmetric.utils.encode_rfc6979_signature andcryptography.hazmat.primitives.asymmetric.utils.decode_rfc6979_signature, which had been deprecated for nearly 4 years. Use encode_dss_signature() and decode_dss_signature()instead. * BACKWARDS INCOMPATIBLE: Removed cryptography.x509.Certificate.serial, which had been deprecated for nearly 3 years. Use serial_number instead. * Updated Windows, macOS, and manylinux1 wheels to be compiled with OpenSSL 1.1.1b. * Added support for Ed448 signing when using OpenSSL 1.1.1b or newer. * Added support for Ed25519 signing when using OpenSSL 1.1.1b or newer. * load_ssh_public_key() can now load ed25519 public keys. * Add support for easily mapping an object identifier to its elliptic curve class viaget_curve_for_oid(). * Add support for OpenSSL when compiled with the no-engine (OPENSSL_NO_ENGINE) flag.- Dependency on python-idna changed to "Recommends" aligned with change in upstream source (see below) - update to 2.5: * BACKWARDS INCOMPATIBLE: U-label strings were deprecated in version 2.1, but this version removes the default idna dependency as well. If you still need this deprecated path please install cryptography with the idna extra: pip install cryptography[idna]. * BACKWARDS INCOMPATIBLE: The minimum supported PyPy version is now 5.4. * Numerous classes and functions have been updated to allow bytes-like types for keying material and passwords, including symmetric algorithms, AEAD ciphers, KDFs, loading asymmetric keys, and one time password classes. * Updated Windows, macOS, and manylinux1 wheels to be compiled with OpenSSL 1.1.1a. * Added support for SHA512_224 and SHA512_256 when using OpenSSL 1.1.1. * Added support for SHA3_224, SHA3_256, SHA3_384, and SHA3_512 when using OpenSSL 1.1.1. * Added support for X448 key exchange when using OpenSSL 1.1.1. * Added support for SHAKE128 and SHAKE256 when using OpenSSL 1.1.1. * Added initial support for parsing PKCS12 files with load_key_and_certificates(). * Added support for IssuingDistributionPoint. * Added rfc4514_string() method to x509.Name, x509.RelativeDistinguishedName, and x509.NameAttribute to format the name or component an RFC 4514 Distinguished Name string. * Added from_encoded_point(), which immediately checks if the point is on the curve and supports compressed points. Deprecated the previous method from_encoded_point(). * Added signature_hash_algorithm to OCSPResponse. * Updated X25519 key exchange support to allow additional serialization methods. Calling public_bytes() with no arguments has been deprecated. * Added support for encoding compressed and uncompressed points via public_bytes(). Deprecated the previous method encode_point().- Update to version 2.4.2: * Updated Windows, macOS, and manylinux1 wheels to be compiled with OpenSSL 1.1.0j.- Update to 2.4.1: * Dropped support for LibreSSL 2.4.x. * Deprecated OpenSSL 1.0.1 support. OpenSSL 1.0.1 is no longer supported by the OpenSSL project. At this time there is no time table for dropping support, however we strongly encourage all users to upgrade or install cryptography from a wheel. * Added initial :doc:`OCSP ` support. * Added support for cryptography.x509.PrecertPoison.- Fix fdupes call- bsc#1101820 CVE-2018-10903 GCM tag forgery via truncated tag in finalize_with_tag API * add disallow_implicit_tag_truncation.patch from https://github.com/pyca/cryptography/commit/688e0f673bfb.patch- Update to 2.3.1: * updated tests for upstream wycheproof changes * many other tiny test tweaks- update to 2.3: * SECURITY ISSUE: finalize_with_tag() allowed tag truncation by default which can allow tag forgery in some cases. The method now enforces the min_tag_length provided to the GCM constructor. * Added support for Python 3.7. * Added extract_timestamp() to get the authenticated timestamp of a Fernet token. * Support for Python 2.7.x without hmac.compare_digest has been deprecated. We will require Python 2.7.7 or higher (or 2.7.6 on Ubuntu) in the next cryptography release. * Fixed multiple issues preventing cryptography from compiling against LibreSSL 2.7.x. * Added get_revoked_certificate_by_serial_number for quick serial number searches in CRLs. * The RelativeDistinguishedName class now preserves the order of attributes. Duplicate attributes now raise an error instead of silently discarding duplicates. * aes_key_unwrap() and aes_key_unwrap_with_padding() now raise InvalidUnwrap if the wrapped key is an invalid length, instead of ValueError.- update to 2.2.2 * fix build on some systems with openssl 1.1.0h- Cleanup with spec-cleaner - Use %setup to unpack all archives do not rely on tar calls- Update to upstream release 2.2.1: * Reverted a change to GeneralNames which prohibited having zero elements, due to breakages. * Fixed a bug in :func:`~cryptography.hazmat.primitives.keywrap.aes_key_unwrap_with_padding` that caused it to raise InvalidUnwrap when key length modulo 8 was zero. * BACKWARDS INCOMPATIBLE: Support for Python 2.6 has been dropped. * Resolved a bug in HKDF that incorrectly constrained output size. * Added :class:`~cryptography.hazmat.primitives.asymmetric.ec.BrainpoolP256R1`, :class:`~cryptography.hazmat.primitives.asymmetric.ec.BrainpoolP384R1`, and :class:`~cryptography.hazmat.primitives.asymmetric.ec.BrainpoolP512R1` to support inter-operating with systems like German smart meters. * Added token rotation support to :doc:`Fernet ` with :meth:`~cryptography.fernet.MultiFernet.rotate`. * Fixed a memory leak in :func:`~cryptography.hazmat.primitives.asymmetric.ec.derive_private_key`. * Added support for AES key wrapping with padding via :func:`~cryptography.hazmat.primitives.keywrap.aes_key_wrap_with_padding` and :func:`~cryptography.hazmat.primitives.keywrap.aes_key_unwrap_with_padding` . * Allow loading DSA keys with 224 bit q.- fix deps for hypothesis, pytest- Fix previous change and explicitly require python2 instead of python because python itself is also provided by python3. This fixes: ImportError: No module named _ssl when using python-cryptography in a python2 build environment- Fix the previous change to not pull in py2 on py3 enviroment- fix requires on python ssl once more after the last change- Add proper conditional for the python2, the ifpython works only for the requires/etc- add missing dependency on python ssl- update to version 2.1.4: * Added X509_up_ref for an upcoming pyOpenSSL release.- update to version 2.1.3: * Updated Windows, macOS, and manylinux1 wheels to be compiled with OpenSSL 1.1.0g.- update to version 2.1.2: * Corrected a bug with the manylinux1 wheels where OpenSSL’s stack was marked executable.- fix BuildRequires conditions for python3- update to 2.1.1- Fix cffi version requirement.- Disable memleak tests to fix build with OpenSSL 1.1 (bsc#1055478) * add skip_openssl_memleak_test.patch- update to 2.0.3- update to 2.0.2- update to 2.0- update to 1.9- add python-packaging to requirements explicitly instead of relying on setuptools to pull it in- Switch to singlespec approach- update to 1.8.1 - Adust Requires and BuildRequires- update to 1.7.2- update to 1.7.1 which contains regression fix for 1.7- update to 1.7 * support for OpenSSL 1.0.0 has been removed. * Added support for Diffie-Hellman key exchange * The OS random engine for OpenSSL has been rewritten- update to 1.6- update to 1.5.3 - python-cryptography-enable-gost.patch is obsolete- python-cryptography-enable-gost.patch: temporary patch to run tests against 1.0.2i, GOST cert extraction now works.- Introduce requirement setuptools >= 11.3 to follow egg-info/requires.txt content- fix download urls- update to upstream release 1.3.4 * Added new OpenSSL functions to the bindings to support an upcoming ``pyOpenSSL`` release.- correct source urls- update to upstream release 1.3.2 * Updated Windows and OS X wheels to be compiled against OpenSSL 1.0.2h. * Fixed an issue preventing ``cryptography`` from compiling against LibreSSL 2.3.x.- removed obsolete cryptography-new-bio-new-type.patch - update to upstream release 1.3.1 * Fixed a bug that caused an AttributeError when using mock to patch some cryptography modules. * Added support for padding ANSI X.923 with ANSIX923. * Deprecated support for OpenSSL 0.9.8. Support will be removed in cryptography 1.4. * Added support for the PolicyConstraints X.509 extension including both parsing and generation using CertificateBuilder and CertificateSigningRequestBuilder. * Added is_signature_valid to CertificateSigningRequest. * Fixed an intermittent AssertionError when performing an RSA decryption on an invalid ciphertext, ValueError is now correctly raised in all cases. * Added from_issuer_subject_key_identifier().- fix license- Add pkg-config BuildRequires: in order for the last introduced condition to apply the patch to work, pkg-config has to be present.- cryptography-new-bio-new-type.patch: openssl 1.0.2g changed the type of BIO_new_mem_buf() (added a const).- update to upstream release 1.2.1 1.2.1 - 2016-01-08 * Reverts a change to an OpenSSL EVP_PKEY object that caused errors with pyOpenSSL. 1.2 - 2016-01-08 * BACKWARDS INCOMPATIBLE: RevokedCertificate extensions now uses extension classes rather than returning raw values inside the Extension value. The new classes are: o CertificateIssuer o CRLReason o InvalidityDate * Deprecated support for OpenSSL 0.9.8 and 1.0.0. At this time there is no time table for actually dropping support, however we strongly encourage all users to upgrade, as those versions no longer receive support from the OpenSSL project. * The Certificate class now has signature and tbs_certificate_bytes attributes. * The CertificateSigningRequest class now has signature and tbs_certrequest_bytes attributes. * The CertificateRevocationList class now has signature and tbs_certlist_bytes attributes. * NameConstraints are now supported in the CertificateBuilder and CertificateSigningRequestBuilder. * Support serialization of certificate revocation lists using the public_bytes() method of CertificateRevocationList. * Add support for parsing CertificateRevocationList extensions () in the OpenSSL backend. The following extensions are currently supported: o AuthorityInformationAccess o AuthorityKeyIdentifier o CRLNumber o IssuerAlternativeName * Added CertificateRevocationListBuilder and RevokedCertificateBuilder to allow creation of CRLs. * Unrecognized non-critical X.509 extensions are now parsed into an UnrecognizedExtension object.- update to 1.1.2: * Fixed a SIGBUS crash with the OS X wheels caused by redefinition of a method. * Fixed a runtime error ``undefined symbol EC_GFp_nistp224_method`` that occurred with some OpenSSL installations. * Updated Windows and OS X wheels to be compiled against OpenSSL 1.0.2e.- update to 1.1.1: * Fixed several small bugs related to compiling the OpenSSL bindings with unusual OpenSSL configurations. * Resolved an issue where, depending on the method of installation and which Python interpreter they were using, users on El Capitan (OS X 10.11) may have seen an ``InternalError`` on import.- fix build for sle11 (disable testsuite as it depends on python-hypothesis which is not available for sle11 anymore)- update to 1.1: * Added support for Elliptic Curve Diffie-Hellman with :class:`~cryptography.hazmat.primitives.asymmetric.ec.ECDH`. * Added :class:`~cryptography.hazmat.primitives.kdf.x963kdf.X963KDF`. * Added support for parsing certificate revocation lists (CRLs) using :func:`~cryptography.x509.load_pem_x509_crl` and :func:`~cryptography.x509.load_der_x509_crl`. * Add support for AES key wrapping with :func:`~cryptography.hazmat.primitives.keywrap.aes_key_wrap` and :func:`~cryptography.hazmat.primitives.keywrap.aes_key_unwrap`. * Added a ``__hash__`` method to :class:`~cryptography.x509.Name`. * Add support for encoding and decoding elliptic curve points to a byte string form using :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers.encode_point` and :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers.from_encoded_point`. * Added :meth:`~cryptography.x509.Extensions.get_extension_for_class`. * :class:`~cryptography.x509.CertificatePolicies` are now supported in the :class:`~cryptography.x509.CertificateBuilder`. * ``countryName`` is now encoded as a ``PrintableString`` when creating subject and issuer distinguished names with the Certificate and CSR builder classes. * **SECURITY ISSUE**: The OpenSSL backend prior to 1.0.2 made extensive use of assertions to check response codes where our tests could not trigger a failure. However, when Python is run with ``-O`` these asserts are optimized away. If a user ran Python with this flag and got an invalid response code this could result in undefined behavior or worse. Accordingly, all response checks from the OpenSSL backend have been converted from ``assert`` to a true function call. Credit **Emilia Käsper (Google Security Team)** for the report. * We now ship OS X wheels that statically link OpenSSL by default. When installing a wheel on OS X 10.10+ (and using a Python compiled against the 10.10 SDK) users will no longer need to compile. See :doc:`/installation` for alternate installation methods if required. * Set the default string mask to UTF-8 in the OpenSSL backend to resolve character encoding issues with older versions of OpenSSL. * Several new OpenSSL bindings have been added to support a future pyOpenSSL release. * Raise an error during install on PyPy < 2.6. 1.0+ requires PyPy 2.6+. - Remove 2293.patch . Applied in a different way upstream. - Add BuildRequires for python-hypothesis and python-pyasn1-modules for running unittests- require the cffi version it was built against to avoid (bsc#948198)- Add 2293.patch for "osrandom engine already registered" (bnc#947679)- Add disable-uneven-sizes-tests.patch (bnc#944204) openssl in SLE12SP1 doesn't allow uneven bit sizes for rsa keys- update to 1.0 (fate#318838): * Switched to the new `cffi`_ ``set_source`` out-of-line API mode for compilation. This results in significantly faster imports and lowered memory consumption. Due to this change we no longer support PyPy releases older than 2.6 nor do we support any released version of PyPy3 (until a version supporting cffi 1.0 comes out). * Fix parsing of OpenSSH public keys that have spaces in comments. * Support serialization of certificate signing requests using the ``public_bytes`` method of :class:`~cryptography.x509.CertificateSigningRequest`. * Support serialization of certificates using the ``public_bytes`` method of :class:`~cryptography.x509.Certificate`. * Add ``get_provisioning_uri`` method to :class:`~cryptography.hazmat.primitives.twofactor.hotp.HOTP` and :class:`~cryptography.hazmat.primitives.twofactor.totp.TOTP` for generating provisioning URIs. * Add :class:`~cryptography.hazmat.primitives.kdf.concatkdf.ConcatKDFHash` and :class:`~cryptography.hazmat.primitives.kdf.concatkdf.ConcatKDFHMAC`. * Raise a ``TypeError`` when passing objects that are not text as the value to :class:`~cryptography.x509.NameAttribute`. * Add support for :class:`~cryptography.x509.OtherName` as a general name type. * Added new X.509 extension support in :class:`~cryptography.x509.Certificate` The following new extensions are now supported: * :class:`~cryptography.x509.OCSPNoCheck` * :class:`~cryptography.x509.InhibitAnyPolicy` * :class:`~cryptography.x509.IssuerAlternativeName` * :class:`~cryptography.x509.NameConstraints` * Extension support was added to :class:`~cryptography.x509.CertificateSigningRequest`. * Add support for creating signed certificates with :class:`~cryptography.x509.CertificateBuilder`. This includes support for the following extensions: * :class:`~cryptography.x509.BasicConstraints` * :class:`~cryptography.x509.SubjectAlternativeName` * :class:`~cryptography.x509.KeyUsage` * :class:`~cryptography.x509.ExtendedKeyUsage` * :class:`~cryptography.x509.SubjectKeyIdentifier` * :class:`~cryptography.x509.AuthorityKeyIdentifier` * :class:`~cryptography.x509.AuthorityInformationAccess` * :class:`~cryptography.x509.CRLDistributionPoints` * :class:`~cryptography.x509.InhibitAnyPolicy` * :class:`~cryptography.x509.IssuerAlternativeName` * :class:`~cryptography.x509.OCSPNoCheck` * Add support for creating certificate signing requests with :class:`~cryptography.x509.CertificateSigningRequestBuilder`. This includes support for the same extensions supported in the ``CertificateBuilder``. * Deprecate ``encode_rfc6979_signature`` and ``decode_rfc6979_signature`` in favor of :func:`~cryptography.hazmat.primitives.asymmetric.utils.encode_dss_signature` and :func:`~cryptography.hazmat.primitives.asymmetric.utils.decode_dss_signature`. - Adjust Requires according to requires.txt- update to 0.9.3: * Updated Windows wheels to be compiled against OpenSSL 1.0.2d. * Updated Windows wheels to be compiled against OpenSSL 1.0.2c. * **SECURITY ISSUE**: Fixed a double free in the OpenSSL backend when using DSA to verify signatures. Note that this only affects PyPy 2.6.0 and (presently unreleased) CFFI versions greater than 1.1.0. * Removed support for Python 3.2. This version of Python is rarely used and caused support headaches. Users affected by this should upgrade to 3.3+. * Deprecated support for Python 2.6. At the time there is no time table for actually dropping support, however we strongly encourage all users to upgrade their Python, as Python 2.6 no longer receives support from the Python core team. * Add support for the :class:`~cryptography.hazmat.primitives.asymmetric.ec.SECP256K1` elliptic curve. * Fixed compilation when using an OpenSSL which was compiled with the ``no-comp`` (``OPENSSL_NO_COMP``) option. * Support :attr:`~cryptography.hazmat.primitives.serialization.Encoding.DER` serialization of public keys using the ``public_bytes`` method of :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`, and :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`. * Support :attr:`~cryptography.hazmat.primitives.serialization.Encoding.DER` serialization of private keys using the ``private_bytes`` method of :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization`, and :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization`. * Add support for parsing X.509 certificate signing requests (CSRs) with :func:`~cryptography.x509.load_pem_x509_csr` and :func:`~cryptography.x509.load_der_x509_csr`. * Moved ``cryptography.exceptions.InvalidToken`` to :class:`cryptography.hazmat.primitives.twofactor.InvalidToken` and deprecated the old location. This was moved to minimize confusion between this exception and :class:`cryptography.fernet.InvalidToken`. * Added support for X.509 extensions in :class:`~cryptography.x509.Certificate` objects. The following extensions are supported as of this release: * :class:`~cryptography.x509.BasicConstraints` * :class:`~cryptography.x509.AuthorityKeyIdentifier` * :class:`~cryptography.x509.SubjectKeyIdentifier` * :class:`~cryptography.x509.KeyUsage` * :class:`~cryptography.x509.SubjectAlternativeName` * :class:`~cryptography.x509.ExtendedKeyUsage` * :class:`~cryptography.x509.CRLDistributionPoints` * :class:`~cryptography.x509.AuthorityInformationAccess` * :class:`~cryptography.x509.CertificatePolicies` Note that unsupported extensions with the critical flag raise :class:`~cryptography.x509.UnsupportedExtension` while unsupported extensions set to non-critical are silently ignored. Read the :doc:`X.509 documentation` for more information. - add python-pyasn1, python-ipaddress and python-idna as Requires/BuildRequires- Update to 0.8.2: * Fixed a race condition when initializing the OpenSSL or CommonCrypto backends in a multi-threaded scenario.- update to 0.8.1: * Updated Windows wheels to be compiled against OpenSSL 1.0.2a. * func:`~cryptography.hazmat.primitives.serialization.load_ssh_public_key` can now load elliptic curve public keys. * Added :attr:`~cryptography.x509.Certificate.signature_hash_algorithm` support to :class:`~cryptography.x509.Certificate`. * Added :func:`~cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factor s` * :class:`~cryptography.hazmat.primitives.kdf.KeyDerivationFunction` was moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.kdf`. * Added support for parsing X.509 names. See the :doc:`X.509 documentation` for more information. * Added :func:`~cryptography.hazmat.primitives.serialization.load_der_private_key` to support loading of DER encoded private keys and :func:`~cryptography.hazmat.primitives.serialization.load_der_public_key` to support loading DER encoded public keys. * Fixed building against LibreSSL, a compile-time substitute for OpenSSL. * FreeBSD 9.2 was removed from the continuous integration system. * Updated Windows wheels to be compiled against OpenSSL 1.0.2. * :func:`~cryptography.hazmat.primitives.serialization.load_pem_public_key` and :func:`~cryptography.hazmat.primitives.serialization.load_der_public_key` now support PKCS1 RSA public keys (in addition to the previous support for SubjectPublicKeyInfo format for RSA, EC, and DSA). * Added :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization.private_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization`. * Added :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization.private_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization`. * Added :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization.private_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization`. * Added :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization.public_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`. * Added :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization.public_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`. * Added :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization.public_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`. * :class:`~cryptography.hazmat.primitives.hashes.HashAlgorithm` and :class:`~cryptography.hazmat.primitives.hashes.HashContext` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.hashes`. * :class:`~cryptography.hazmat.primitives.ciphers.CipherContext`, :class:`~cryptography.hazmat.primitives.ciphers.AEADCipherContext`, :class:`~cryptography.hazmat.primitives.ciphers.AEADEncryptionContext`, :class:`~cryptography.hazmat.primitives.ciphers.CipherAlgorithm`, and :class:`~cryptography.hazmat.primitives.ciphers.BlockCipherAlgorithm` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.ciphers`. * :class:`~cryptography.hazmat.primitives.ciphers.modes.Mode`, :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithInitializationVector`, :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithNonce`, and :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithAuthenticationTag` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.ciphers.modes`. * :class:`~cryptography.hazmat.primitives.padding.PaddingContext` was moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.padding`. * :class:`~cryptography.hazmat.primitives.asymmetric.padding.AsymmetricPadding` was moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.asymmetric.padding`. * :class:`~cryptography.hazmat.primitives.asymmetric.AsymmetricSignatureContext` and :class:`~cryptography.hazmat.primitives.asymmetric.AsymmetricVerificationContext` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.asymmetric`. * :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAParameters`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAParametersWithNumbers`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithNumbers`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey` and :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithNumbers` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.asymmetric.dsa` * :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurve`, :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurveSignatureAlgorithm`, :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey`, :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithNumbers`, :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey`, and :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithNumbers` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.asymmetric.ec`. * :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`, :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithNumbers`, :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey` and :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithNumbers` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.asymmetric.rsa`. * Updated Windows wheels to be compiled against OpenSSL 1.0.1l. * ``enum34`` is no longer installed on Python 3.4, where it is included in the standard library. * Added a new function to the OpenSSL bindings to support additional functionality in pyOpenSSL.- update to 0.7.1 * backwards-incompatible change: GCM module doesn't truncate tags by default anymore * removed deprecated arguments to MFG1 constructor * ECC support * added PEM and openssh key loading convenience methods * support for many new ciphers and new features of existing ones see CHANGELOG.rst for details - spec cleanup - reworked %check section - added changelog to docsibs-power9-12 1665759847  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstmvwxyz{|}~m      !"#2.9.2-150200.13.12.9.2-150200.13.1  cryptographycryptography-2.9.2-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtnot-zip-saferequires.txttop_level.txt__about__.py__init__.py__pycache____about__.cpython-36.opt-1.pyc__about__.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pycexceptions.cpython-36.opt-1.pycexceptions.cpython-36.pycfernet.cpython-36.opt-1.pycfernet.cpython-36.pycutils.cpython-36.opt-1.pycutils.cpython-36.pycexceptions.pyfernet.pyhazmat__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_der.cpython-36.opt-1.pyc_der.cpython-36.pyc_oid.cpython-36.opt-1.pyc_oid.cpython-36.pyc_der.py_oid.pybackends__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycinterfaces.cpython-36.opt-1.pycinterfaces.cpython-36.pycinterfaces.pyopenssl__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycaead.cpython-36.opt-1.pycaead.cpython-36.pycbackend.cpython-36.opt-1.pycbackend.cpython-36.pycciphers.cpython-36.opt-1.pycciphers.cpython-36.pyccmac.cpython-36.opt-1.pyccmac.cpython-36.pycdecode_asn1.cpython-36.opt-1.pycdecode_asn1.cpython-36.pycdh.cpython-36.opt-1.pycdh.cpython-36.pycdsa.cpython-36.opt-1.pycdsa.cpython-36.pycec.cpython-36.opt-1.pycec.cpython-36.pyced25519.cpython-36.opt-1.pyced25519.cpython-36.pyced448.cpython-36.opt-1.pyced448.cpython-36.pycencode_asn1.cpython-36.opt-1.pycencode_asn1.cpython-36.pychashes.cpython-36.opt-1.pychashes.cpython-36.pychmac.cpython-36.opt-1.pychmac.cpython-36.pycocsp.cpython-36.opt-1.pycocsp.cpython-36.pycpoly1305.cpython-36.opt-1.pycpoly1305.cpython-36.pycrsa.cpython-36.opt-1.pycrsa.cpython-36.pycutils.cpython-36.opt-1.pycutils.cpython-36.pycx25519.cpython-36.opt-1.pycx25519.cpython-36.pycx448.cpython-36.opt-1.pycx448.cpython-36.pycx509.cpython-36.opt-1.pycx509.cpython-36.pycaead.pybackend.pyciphers.pycmac.pydecode_asn1.pydh.pydsa.pyec.pyed25519.pyed448.pyencode_asn1.pyhashes.pyhmac.pyocsp.pypoly1305.pyrsa.pyutils.pyx25519.pyx448.pyx509.pybindings__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_constant_time.abi3.so_openssl.abi3.so_padding.abi3.soopenssl__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_conditional.cpython-36.opt-1.pyc_conditional.cpython-36.pycbinding.cpython-36.opt-1.pycbinding.cpython-36.pyc_conditional.pybinding.pyprimitives__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyccmac.cpython-36.opt-1.pyccmac.cpython-36.pycconstant_time.cpython-36.opt-1.pycconstant_time.cpython-36.pychashes.cpython-36.opt-1.pychashes.cpython-36.pychmac.cpython-36.opt-1.pychmac.cpython-36.pyckeywrap.cpython-36.opt-1.pyckeywrap.cpython-36.pycpadding.cpython-36.opt-1.pycpadding.cpython-36.pycpoly1305.cpython-36.opt-1.pycpoly1305.cpython-36.pycasymmetric__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycdh.cpython-36.opt-1.pycdh.cpython-36.pycdsa.cpython-36.opt-1.pycdsa.cpython-36.pycec.cpython-36.opt-1.pycec.cpython-36.pyced25519.cpython-36.opt-1.pyced25519.cpython-36.pyced448.cpython-36.opt-1.pyced448.cpython-36.pycpadding.cpython-36.opt-1.pycpadding.cpython-36.pycrsa.cpython-36.opt-1.pycrsa.cpython-36.pycutils.cpython-36.opt-1.pycutils.cpython-36.pycx25519.cpython-36.opt-1.pycx25519.cpython-36.pycx448.cpython-36.opt-1.pycx448.cpython-36.pycdh.pydsa.pyec.pyed25519.pyed448.pypadding.pyrsa.pyutils.pyx25519.pyx448.pyciphers__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycaead.cpython-36.opt-1.pycaead.cpython-36.pycalgorithms.cpython-36.opt-1.pycalgorithms.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycmodes.cpython-36.opt-1.pycmodes.cpython-36.pycaead.pyalgorithms.pybase.pymodes.pycmac.pyconstant_time.pyhashes.pyhmac.pykdf__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycconcatkdf.cpython-36.opt-1.pycconcatkdf.cpython-36.pychkdf.cpython-36.opt-1.pychkdf.cpython-36.pyckbkdf.cpython-36.opt-1.pyckbkdf.cpython-36.pycpbkdf2.cpython-36.opt-1.pycpbkdf2.cpython-36.pycscrypt.cpython-36.opt-1.pycscrypt.cpython-36.pycx963kdf.cpython-36.opt-1.pycx963kdf.cpython-36.pycconcatkdf.pyhkdf.pykbkdf.pypbkdf2.pyscrypt.pyx963kdf.pykeywrap.pypadding.pypoly1305.pyserialization__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycpkcs12.cpython-36.opt-1.pycpkcs12.cpython-36.pycssh.cpython-36.opt-1.pycssh.cpython-36.pycbase.pypkcs12.pyssh.pytwofactor__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pychotp.cpython-36.opt-1.pychotp.cpython-36.pyctotp.cpython-36.opt-1.pyctotp.cpython-36.pycutils.cpython-36.opt-1.pycutils.cpython-36.pychotp.pytotp.pyutils.pyutils.pyx509__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pyccertificate_transparency.cpython-36.opt-1.pyccertificate_transparency.cpython-36.pycextensions.cpython-36.opt-1.pycextensions.cpython-36.pycgeneral_name.cpython-36.opt-1.pycgeneral_name.cpython-36.pycname.cpython-36.opt-1.pycname.cpython-36.pycocsp.cpython-36.opt-1.pycocsp.cpython-36.pycoid.cpython-36.opt-1.pycoid.cpython-36.pycbase.pycertificate_transparency.pyextensions.pygeneral_name.pyname.pyocsp.pyoid.pypython3-cryptographyAUTHORS.rstCHANGELOG.rstCONTRIBUTING.rstREADME.rstpython3-cryptographyLICENSELICENSE.APACHELICENSE.BSD/usr/lib64/python3.6/site-packages//usr/lib64/python3.6/site-packages/cryptography-2.9.2-py3.6.egg-info//usr/lib64/python3.6/site-packages/cryptography//usr/lib64/python3.6/site-packages/cryptography/__pycache__//usr/lib64/python3.6/site-packages/cryptography/hazmat//usr/lib64/python3.6/site-packages/cryptography/hazmat/__pycache__//usr/lib64/python3.6/site-packages/cryptography/hazmat/backends//usr/lib64/python3.6/site-packages/cryptography/hazmat/backends/__pycache__//usr/lib64/python3.6/site-packages/cryptography/hazmat/backends/openssl//usr/lib64/python3.6/site-packages/cryptography/hazmat/backends/openssl/__pycache__//usr/lib64/python3.6/site-packages/cryptography/hazmat/bindings//usr/lib64/python3.6/site-packages/cryptography/hazmat/bindings/__pycache__//usr/lib64/python3.6/site-packages/cryptography/hazmat/bindings/openssl//usr/lib64/python3.6/site-packages/cryptography/hazmat/bindings/openssl/__pycache__//usr/lib64/python3.6/site-packages/cryptography/hazmat/primitives//usr/lib64/python3.6/site-packages/cryptography/hazmat/primitives/__pycache__//usr/lib64/python3.6/site-packages/cryptography/hazmat/primitives/asymmetric//usr/lib64/python3.6/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__//usr/lib64/python3.6/site-packages/cryptography/hazmat/primitives/ciphers//usr/lib64/python3.6/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__//usr/lib64/python3.6/site-packages/cryptography/hazmat/primitives/kdf//usr/lib64/python3.6/site-packages/cryptography/hazmat/primitives/kdf/__pycache__//usr/lib64/python3.6/site-packages/cryptography/hazmat/primitives/serialization//usr/lib64/python3.6/site-packages/cryptography/hazmat/primitives/serialization/__pycache__//usr/lib64/python3.6/site-packages/cryptography/hazmat/primitives/twofactor//usr/lib64/python3.6/site-packages/cryptography/hazmat/primitives/twofactor/__pycache__//usr/lib64/python3.6/site-packages/cryptography/x509//usr/lib64/python3.6/site-packages/cryptography/x509/__pycache__//usr/share/doc/packages//usr/share/doc/packages/python3-cryptography//usr/share/licenses//usr/share/licenses/python3-cryptography/-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:26408/SUSE_SLE-15-SP2_Update/36108ee61e5682e7085405a59332f549-python-cryptography.SUSE_SLE-15-SP2_Updatedrpmxz5ppc64le-suse-linuxdirectoryASCII textPython script, ASCII text executablepython 3.6 byte-compiledELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=f8a699e809896ce984662de3ab86fc38d5ce010e, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=e92aa1161281fbcb51dd41c50923791b6c4f4827, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=0640f580582e94555eb148905e6eb0994cd7661d, strippedUTF-8 Unicode text  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_dqvwxyz{|}~     R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R RRRRR RRR R RRRR RRRRR RRRRR R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R EWTވpython3-idna2.1 utf-810742d9c10bc91734d60a2cc46deacb4417e60793e661cd96108fb238c67ad0d?7zXZ !t/]"k%Ӆ) `=tw<,J$LլYO!t~ Sޑ\D:N XpUb?*h;^NVaI ;9t[1@X+̦q?Mrx ~ 5qm+L _X, |[]-r9_BUR,ȳi$@wG$L?'[7^LBW@V:o,qhop:oYEW,6<z(dG}S$hXUfZ5@dHYdHl8:޳jd=E3GKe> Gґ Y MƦOiHCɏRD>?m]""s%[Xc4vD{hE4{Y,J)vTˁ2 Y5KnD.STbyg"͏4aG7o?pg)?^DVrp_L&dS>߼KPjW))ee^`(҈ʦc!0,$w3,'jR~Ԩ.X[^{8e6N}<<ĞļFW(Mn0:)Yzۏ_{Ic*%{ݸc׋w^/xia-u+#};9veGM֫a(u2DY!0` ˣ §8F)r@q~,a$9iϹ'H>ܳ[鲔bTבdp!fW: }&)4uv:1 ޿+[6` SZ4YN]󛇈6v!76w᛭½*\%P~%["Y ^եP!{wLDɒG=xĦy#)61h@N 0;2+nw)'gg?fb0yGNq=4`Zf}0z7 #kBTHI{ ^bGۀ-RjO/P 3G<IނEI\[B A IH׬jVV?cy)9ŲkIľ {,HgQ>BciTNkP6Ͱܑ.[qͶfCWvJOi**(|Q p8wS@W47m}?">6m D,eB\+ Zmϓj6(o0gTZ"bErX!>*c֌e)h2Q -Ռ`?1]=pBU )~+w4<˃h'Et|yAx .U6E}?}ڕnG"\T Ӫ]O1b*oH IsPbg~ltCI%}#zߐ81hቮƞ]VcVEZd5=[B EwF2O]pkpSfNVcO"~T˄x]2"eh"nsbY"ܲ"E^Fh"p"@u:$vHVӈfFJt3U͖ݻ/S-E`'- @؋] ><ވ3v%BR*ޘ9֒(SP,(pFIY("3Qx#8 jM%9C[ƥe35/B~p*ec-&5Aps'~n( o;g*alv`5Z T '_:plBs+ab})2v :#Mbd9=$w0}ZsPZCa&Е仔w6pZ8\!%2_h\c64um3rFjbZ4dh/1nRvHg8|=˓z8i[$¡9<=Vu6!;҂ʔŤxE!죷dDW"hyqMo%RtZ6h5,6Q̯^::USъ}q?5M)-GP\E8=!. xNdh:+օI"{ǵ'dõCJr*u +*G[ۚhb9WK˱>˳Fy! u `?,s8|:/Eut]kVXRԔߓ˳/AckUJ,XB+X*čW9|pq`z0i@Ԓ `yuUrOaT_7hX2㺘SZ2ˌ`Pz /I@ʡ'@GM:A,N&Gqa;Y]jv` /|z}`K`Dhc]K 92@f=x#'D?5h4;v.W-O,d Ʈ v$&K u׸m߁zbcAmֻ">ie=RLM̷%=헂jn6Zw`Xպ+v'q_CvRl)f%NV V$Jlvmc5F¼`zrK<.u5\fcn# ዗Zzzc'IC:vaG@w#@=y'ӞoŪZ3ϧ1S"af;bG‘CGؾ~=y:)4}7XV`Hyo .޳j ڀ"%lj@Rbj>N$hOâRZ<";GM[kRV5Vh?iS3dtKЋp6G4Cz(²UһLtd,UAD4eR@hݲ*evjfЦS]Zx u!©p}; ܧ&*Xn|1hlՊx=O>o(EGr`pDyHd.(̀cݙ_YTQ\jGb7l21Ckm(;mKfm 8 =X02qLM`"VkR, \K7~$w+ep c^ΪvkU8iMՐC̱˪jj0Pyó|:&28B=A Mu.]mkr-U+ ׂ0`NXJZB1OZ# D.y"0H\P,OiO8Uj:?003XeYy-i?'"%R;wM$n*zՊfLg1x3/ϡnjHIO{NpmMf NwSkxJEÏ zr"$(F!7/np;4¢~,0fhBq;وK1䟪zgp&܌% y8d"2k_,8M敄'Mu]ټQ ~)s.So;#Ǟ HR;W"j'AxH|?!S+G< f{f ̝v5Ei=ܣVbpOct<=i0 ލy&yIs1]T ja :]3[PkoM!Dʵ$HJ-~A L\? 13n4Tf cMdcK ;g)OAֆEt.>3Q6*X<[VƘ|Q Xu߱2n`z1謝/BsHpq=u3ʬs'A%BvAH3` |3xTi@Hc,8ʐJiH?w EVFè@Bߞ9j%Jq0N[&7 BTYyPɎ`J7(;F\0jۋ '| Yvv9w  za].Xǟ;NٞET=C8V-{5Gv:Uƀv䂯lfL3nYgvLO2ǓnXMWH0-.fb$ox$^7=~tHsw]'ȕ@d(x~FagUbXxksts}Omfk̅TZ69hooUh{`结^FB>Ȕ(8+oQ͢'"(d)L6},Eqf?GQTbdӓS~Idb<ɼUvwn]xCMa-~~ Anȅ਍y7TIdVlfQ@#D&reI[r-G#v\6+;Ī7'N\onj,7"ak̠SO`}^\BLOXi I{_Z&qH'a#tAt ⴦ܹإ7J8T0QvQM!¿RqUmmW Q8M_/>?[;!3eQt+rKt +Oh_b nyj}C@ɼ'OΡu(E?hc-Y' d$ ,q= a5~rALCR2[D5^f-aL0p$7Z]#WMDzM+)b%]ZՃ ^’Tl^H<6Wg6ļtCY|Iؖo8>UW*狯g'O/ }QTX4awxlDSB˫[SYh^IˏLlH.^V.eDV5)bS ۼ*؏qY;WkH.E!':ԉiO0IRbqC8rꅣ ih+T#Q7SK(d-Rqz.3J#龟A%N/ub~]t΋ijByhv]|SIq_$KYEyhFQ}[_Hb5}cOͽkI,[Y)"a ;@?D5 Ǩv0 0Bzbj2}WsU!zJ 儹鹗hwP%Q9Ȝl 2$쑼MocR)7@r(⧄mA5j4K dFd*6A[ |plLau8IKP_e!% r@?Qce'x^=4bȚ\\rByBjuG^ /Ī!}a-cB":xTdl,Xuer+&A@v.)dDXՠ[iq̘qպg ZכmR%D8f-G,n'&#p spwy2Q*{"\P n/Y.~ s!1x;|{Xe;[ݰ?6E&v![Ds UTAoMٷ{RGWBSR5+TNR\Ħ?R {}r qOn'?x/'F+.gS;¼8l@XyzIYxՀW[cZ4}ࡐ^elucKݭ4" w`2gVܬߘקӗZ1Ċt&X<bߪ bqYҚ+bAOR{V)uӧ}Z>9 އ ҟY4FvXkUIc4yU}”ڦߧ/wbJ'~aL$4S/QMtz_%(G[oOqQ*L_7Eqf2k qhq#Xġ}ul 8M =Xׯ-kCڭ$dzO,!)E-mw8 8g Bk+I42] %g@\~pp|E$.F_!z=S5>VOAų"#*L UiagMB4[ɒ&}T& {?[ Y Y($E1шI$+4sG |+M4|zW]sg@~oޮg ~aTNKA hcs_IźIn` 2ip[N.N\S_Dŗa$F,:6 =[}XXfpToPڟԓ\yO⃃d#!}Vys2r?dFco& Ȇ\ Jlw> 1RHy?om=D)Ё`k`=JɢBtiZe5wt+' j;SD=cV7xUsLaP.CPLO*Ǹ %s0pF0pdF2; &}A]϶.mֻ:n1T_0OϻФ@64:Rw9z륲%CWJ,.067Ug$YƺgR"Ham׺q…:{۵{yYڵF~|6g@ gEO/e覓^TȑI-f 8^o[OF@k6 )(QxrTMsدr |j ؒq ?-J.E{q _Ӧ2R/??1B>_P$RcM>` ZT[k%tOA-Ѩ@bɢ u3|aSweAⶶ* gfuThL#|vz6NjJ%hRM4oU&+:C71PNwM@l8'pO Y{s|\^+CJ䉋\T1oK| j5 Us{OT-6ZcG(^*#IRWe5tJ^T:,@*[`VT>^ݭ ɾhpTȀw$)͸X6\5?5jڐ̜}:kV 4b*PV07{}4K߮y"5ec@ܶVXZ-hsVgUROl@rȚ`]L0xsٛ> 5h[NP3RFh]S".eJqSc g9?sǏ<>Cwͣ x?|4!G_'/fdr =?% 'oK9*ӯWȪCMMw/g9$!M28,+%׼eIMnjɆ$P!6t!ʼ~Bdl}dxHs( `.La}oj7zu46c Kc;/N'3hNj>xeQ`˨7eT)$Jx`|nmq_;iD]ЊW|.ka4l|bD5r8Ɔ;%)s!r]/;)Uo-m&D A9Aȧq]Ñ{N̿%)F)*o,,Fǰb'Թu]M @~=`f4B[ILqZ0]M.W功of;L9Pu]炴W,h$p&˖+=$ZD V6n* Hl_YCwyѦ+1E3\PҦ_n6'l[f4-unu?ugi?+s#Lc?Vi·ԍǍ}ՅY޴V'_ǻU}N I$nd*^53:sE-?_ΛRʞ O20TE h=q2 nz<`{#&A,Ys2b <%AlWQJ4r}haeO:DQS :hJoPVn'v41FtwDDf8cDQ~J=o/K5fƔ87$M_Tz+ [NH5)`iulKKb(1,N'񠌀U}UT'c.s4ݍlV~cyM̙`,C>"}j/`n&}/q2j.0ba];>-Eiii'мo>zNx~ ,A[-܅hA:1.J qNƒ7>:ko|ևHorS[LGX1ePG^ofA?EU=Nޔ,(6&sX3A\,M˳QBnL/reOrxEj#,%0(W(FoZ(S^N`8뭋maƚEfޤ@ÊRvks};EuBasMشK2n o_Z,銋k"!EZMۣ2 Ejh>+6¦Bn-H:OOzm(Nʡ2yz] T1 DO(Dcp;*^N{Vdޝ| ܊o{PMoD=]2Y}V:)*sH=?ntQh\Gsg2|k4[vk 7T֘@``Q*Ӣв6G0#A ?]zFts|ܒ܋IR7/DA*_g}8kK NʉlF`p#%-WGO Ybm'r}xOgp90j q?3yP>G\[ms ٷ;-6!CB;?"a u_<ρFm]`ݚbr(R:+Ey\ {D9PӷFCz˭R ʕ@U3Lc>ᕭ=-#فyⲃa՛; Zv Oб=se{LIYn*V 4:r)vc9K+)?UGi٫QJxoIRa Lf;FCC?n D>>쟡H3hxN@jFf2,X_p1<}$CR2D_Ǔ2Mivb_Șdlrt^h]`߂bl>5>xN[eF?6C!y1 Gn¹=lb>!kybZXڭ&7Z9QݵsXGj9U-VMG rZ 2t!m5-2Q.d ǙČX,zr|y W؄4)7 b#ͨ|aw2u碮_njs!ufA ضo]Zk|j>2lXBfKEr@(;8wK4mAEu  T!l=iPb-Rk%U TN87N,_ j#Cd Jw?3N˘=G[o[x!f&0"U0(g~z;x է3#l|k4-*[p j|`*5m"6TnXSkDh=ZbnGǴjwPjQsU0YEh~ kK 3gkXG6 teB ZǦײ)9~6#H5D6؞!ƽ yH)vPAMs]K@L>En]_wD<3@B^MmfF7%h sg[Qu't` $ݶW (}:q)-4jSELu**u!4rpmoR7qX#:[8n;d z15P8Rr)V0>0;2yiאC)t$twP_9Ta[+&QNK^f䲖kC/VQ [dk*ɧJSzu|ߌ 2;>e jQ75)KJƙjRž$ϕnIG&HT၂_nI(ߞf=B/wo{ho. 7?+ⱋ(NWYt>,7r^':4l1W+3ϭ)QL|EH|ofAūRtc?v ̭s7Ցe \vqszz9 }c u ;VqǸ1&oFW74Pajh~@k|n>v_BMŧzؠTb)]ڟpt0ZrG+ RO0\aL٤YrP#߿=}dEJ^=]l@a5pviƵE @ג p6:1No0 >z Ǘ:t> "6~au _Jـ)lm)C=q1!] ;|7^ /"qY1eT55פ-Ќ+3*F>b_ hd8Ѿ867]bbx !&NR2EwgP8 lkCRy۷,Hwb5%Ͳ\8JE3@o5҆@yRGM]M*dyVFr;Jd9Zt@J|Q7L %Ɣ>wI\fnCt<\X a[Ry}Ø ڟ! \;]JaZm3_GST(WkCZ A﨧>fe+%,u5&gR'lC@r_웅QaQy.pW\rU*V [mf:A\7x?'/ӫKѧjM+( 1rH5k巈`B\A;>c: @L:qhxyz758oHoaB-9&Aa%#hq'V6A|0jƨ- i w0l ^}8+b]Xnfzv'{*X8O*kX̧p|b@*ӸFzg9[R 4y~~$B ~ʻT78CU2M{R*E5nޖU#j j#ѽ-ir͂1'(2k2-R^ ͥ#Mus-*&^_b,T߸se#6"n/uy 3K20/U,@>9_;CJh"N,Gaʼ'64ǻ>aɰoFFNxvb+P|XbEl/y8?(hR_텦 3q^أ`F0HM,~NXI9/>ε7Hb%S\ϗP5ᡓyٴ*D#g#y~$Sd03`of ٤ܗpA 7K\7[N]XkF}̅=Q|  5s7]H F\ȖA v89洅 r$v M 6,JMI 3bkUL"L=&OR3{6aeI& )Xӕ#(s:w˂gt!ΨAWPtLwBAR}"}*Ku3e%$qn 2VŅ]hqO S%  uۘ=T :6~;%hzv4jqGo>BawdZV(O@l:>_ !u8#B4pWC9a2[ZdOw̾6N8u=oQ291䆑NkIÁ|oXju||WɝCW PʛZIcTȖsӋϪ?KgRڡ!V əwzW-4My\fYU"Z7!4L+FpƠr)Ӭڂf~jY?tSS@9Y6 ֬UrRdKkH.#'B8Q#_bfՠrޠm֔FٶcV@I =dI=aUӊm6H}ߢlϺx~ dcE9CF'lQfuGY7h= /ҩ5xŸ|SdIj=ty-:@hǷ)]Z=S֎Pvې]txH<;O+˜ű[ _F6βPd@j9{G?s993P@@6r5#de6{ ͝ 8M2Uc_4KǬ;ЧKBy|v.w-s_bgG.rX%%°KZ1e-A7GML@|Js@pFȏM_0^٧ qB|(Yz!cTXw)$cXp[ڧ]0m0u@n컖aꓶZuKcohWoRݐt~U[P\:v y8%=ej3; 8nĞz 6Ž-*ZMA+ Fڑ#='yw=)T>$L':UGȷKMi滞ʸ~gv6hK'C(e^&k4`s2{@{L޵"3џ4&奺Hq4CCaY7w$ 65v(? U:Sv 3Ia,';fWU'#Ռ}5.vk%^_ \(쌗ymc@lI~ᥡuEgԵ|E_c}W)`u M̎Uz{J1PŤlp,Xk]P #l#?w+|lxE׌EYm ]d7U-KɬvTDuH%>`~[.ɂP9;@.Rxl[ T( ea1?ۣ۽ʂ[]j? _:B)!KlupZZ]>=`5r?y>pqur1LXf* @+dᑓ`ܮF/?:|^lS{q<f*->vHcO @"eyʰ_٘ Y楲&nP-JQ[p~_' W0]yrAR.T\t/ޕk씞ZƣZw9G0K+o<턎ѓ BƍkXd-P8-c@MȉC#=Lϥ, 8XK/kq}ʨE:F. ipj^l,hs<`VcTey{y ˤyh7r3L#GS?(iT6(=xc4ǹ)Z>@Ev@lb3ԅ4DoL҃=q>M|ܭk[$AU&ӒHޤ}Jޘ[ XW=U 38_9e{Oc4'X:д_*1i`0V9*qkw] 'ڸ8B!f*yOڣjhNt::xGݬ?}G@=`Wo mzB^YJJ547+LT1D8Lkg&4W'ϙyjtQևt[o"Aj 9 n{#|[5-e`I|z⏗h2ӀMSvWsY [^y)2H{%|S:}QVuL\{Nq`f9U(7@dkBD`U:g [`KB|48ɿʾ j(ywf2'tA *u 'tTU ̂cxO?C,'n Se; ֕c'}S*:4a,d/Y^^%Rk^aNoKXB(F8Ђ $hO+X5@޼YE_"mZRSTigV/`7d2AvG.Ѩ-(-.Yy Z7O}{c諀b9pJS;GH gğ%P; )ʗdwD-dAHu3Nnbh$`k[9d[}Cg2Ip<^P8CBe`U׆izM% WuB0l2Kx0{C /D]soaPÅD^=WM)PJey-| b= 4Vί"16<`R9Zo8d^VMg,#6FJH1OԊv ITH rA I|K~ȶm3_V(*2 &[rՆe>ꉚo2oH! Do`CM1>C#}Ә~7n_ M#)mdISlxLtr~ M5?r( NTοN.ܹbg S7cV:#2S`jȹ'=8(g,~o~wt hn쳤#IB[@Y,L+*[=<Q]S1(Vˬjڍ-2&ƾo?%_ڳ QOJ_^4 }TF6vw"" ,G=Q|67ElJzj fsx!6=<9# mO4\4 .z!|ҎIBrK?148aʾU!rXI vq OE0iꮣNƹmgY¾RK?tWʯHӹ`׌Z#Fc=]g]pY+ jkHI[Džĩ=+\6{/ WMgIFryn*![oģ%vwxVs"z)tI}UjXv$71pB˦ ΪAʍf{QZXRF OnyM9m'*SS/$G?q (b=H, 2n\{ \GxvObpɜm}3~Tץ]>]o@; Y,{Ş?]mJYvCEFni*JBo[V&{Q$˭ӃiI#}=:yHJͷ2yR(1"Mbgjifvc k+Obډ}Գ&)|óEi\%hxFs#Bg$X]!?סR@$B'.)AZpY8`ȜQ?Y `v{,ZtHl&7w8dOuV-sGDc۲O<+`=CԹ0laR0"/3}.&>Mi6C7F8׏it/Z.ЯaxU:rC!Xs LjBO9 XҍtƏc9/!;j^zZ'Mx/2,^RHw[js pmDC'Z.7\`lfkkaTnܱ -fUbaa(!<\ȍ_{֡S3 *p51 bTv+ZX^ LS -Y7+ ._JĒ m*/ޛO-?u G."sd[=<=6X2%4wd:ݙiFF=tr#)}(e?u%lDƴ1l:Ь{ΔV0Vcf5JnJK}{7Ҵ|\HP?KZ3m(u\-Q@N@䚙6IN1$^Qv-|G3m~lz@a@IQ[{8Ѩ}'Sh|Ce?|YUQ|PªeGZ"8k\ xќל5Vuʵy fh _T~G-~GN2mw'K%m~7mS%ӑ --<^7:iJK_6SXDh-dX[`jvWJq^PǧqK o+f ,E.zvتgA!( C`NEp3* ltnlEMak 6TRzLտ34l5^ ?H6g*ؒuJjX|Hl]a4QjED@8FL(= 5`TNgyS?PU}îη:1=A[)nk+TZPݨ@ifbݒ*]L kv5^ W귵N0ctPCp| ~M `:Aw_R h^'"_NɎjf%?6ц&iVv0mXL0mϺMc!#\m0e(a-xm$q^Bo1avYv %Cf퉔ZwC?GCpXuDbCU֘&W2Ulp]-#0)1BEMp.w(Tb>%:] \$b}] `^&{I bPj;ӉSna@:̯xjo:ÅT}G YV;-*!j3 SnnAp Yx[T刉RCKSf Z_'"yDL78&2>4P蒛b>AX'g LL(@ܝDbMlR#`/񙡧{ziqAfZs6'Ϡ9< ;zÑi.Oλkל2h|*㜑tHpSbʹ\>Tze5hԻBXzm#$f\,gG<J$-TN'nMtO~}b?ƒ"֥,[[3P>h>c/ܧMKI2s+i\.Iߙxױ'HnմF~5f"WU^ ś7{G*m =%:ѫn08E/甉#z.f6e&g-[:+sIgiVÓr+^hݣq]A;S![{HnϬ0{(S(4[^6d^h1x4|v;'Y @!nT\X$y 6L RåX6Nc\xqR}1zXCO:(p0F~k@1ѷކlTԏC#@j9ggQ1*u[\VuW5E:YZ}OaDޜq8T~/;`1I6/&ͩ= =s8(fU\'R5Z "wOMo6;3f DL(z}O*M;BFQ?M"0В=Zb䗙i-})9iqR4LW$FpuAւm첻3qUX(YY&+zNiΪ; /YoR^7)VqXۧ{~ k(&G«nL{BSEqTlrE+!B>0rDim@H?]0݃tc$pn` T@0Uˬ/sgQ~@4Cn13X\2eu?X P&p-)BTmd,Q*޲s6ONGՙ@z$9]%gT5agmYAskۈD'!h3n_E%7sª-`L"=m_Q+%n|z#YrW^ǘNf)+AZv(DVw4PkC)/C.-X\)͟($Jb-g+ Oeo4̴s2WR+KīNgEYCǐj@Yn:h #mkfjxWuyye~g{\:>9 N<됦}d6$3k{1rT Q#JwhU]/b{^?qQ^~.#/VJ. oL(Ǘ5EZV7kJʄRȅO!M`競;.4GאTH@XKk*K|ia\4ߡs"$7ܣ̀W}>ic䈖OnS"P{#Y@Nl-p sM0Ű)"y{1]"\)! hJLd++il vb0$/o es q'rB̞Mĉ2fe6Bj4y1#vIVNo6ޱ` &6(w_BI:j >-J߭:7ؾG:[<.Έ,+g!JCB t(EH-fJn6Hr܁=pbm5t 2$z+M)twf쾄=3R/SIFSI\ ǨD }!q؝N#C EE[J5[8F*S0⤣E:ۮvfhTR_!+PJ3y&-[o#@zRE )XA ,R=m.@M4kbvKUq~JC#&w_& a NIb^t@b?t u^;f2*~?o*4iXCn7;oQ˒ޒH&,,j0Z.>ߥǟZ¯);!mDpH? 0z?Ow. "&o(yO˷#0w$)VW0Qթg%AڐUڄ BDQ6+]m\֦k`du^B:;캠M"{:],5#6HxK¸zdoOT4WkR6X#c)73\51icK)GLBD>3KhUݎ:] p/CNd]zTl/je"F",P`jsB0{b_ާGTȭ>J>e,*Hf6(}^5;?R OT(cLwtGdt u30M⫷]bL"8'[JZb#ɶO%MͶwGaG6z"mחn+Wev,d+md֛<'hlhr a6Kǻ|H<@N#&fTNSO.eB螂2A@j1U b;KdhOS>>dL0 wWׅ.HzA8L3"P4)Oqz*d$f2{GZhy  3&+N ȕHgEeg k {[5@zV/dpL",707Ȯ.~LHw5=-K;QcUirػ_}Kmd=be`dJg'mtQtOM,Y©xWz gSGFx-=A)#r>7xِg pLcuK#&_GGnF\JIATqmy.=s % ax%/D MM{O c;~~hgmxLk3]%0ݾ6]S;r6U6+ ")| J/@4eR ܭ|ʋTd:'NKh{@N p)-F\#xd2}KOa?礘80^͢K5QQ_,.ה.H st~pvR yT!qb}XSe6 b (؟_fJԤ蔆 .̞&JZ2m-@-= 5ZDOr gK0Ge,+FEk1@E*{\:׺KWݽ 7MQ&эLɳRΧڞ A{xȴŅdJPF`ߏ<FR.!s !Т aR% L%%=9Cm̾Z0f .0,P9ASZX[7 AWΈg0dgtpB9 ,A&hAG9Z,ЈCNDPj-fxi_\w]m2A#:/19 +ZC tf .5? h .E!>c\ Lߴ/rPܑQ3{; Wq Gߞu g/ӏymtiVz i>$A, H,2?y|0tp(qFKiF+)/sV}Lg׾NEu.?\u 2I׬s.GIK6FZor?@l8dD~K[[/w^6Une7ݴ_隦cOP6p>^Óʇ :,˗1s6]?]r!<fKҫO3UuoO^>/_|E]}_`:Ï*VRu}cZvљNٳi;Ƒcbv;vv ޸ OӠ>#צ> [9˂R.#s1aI{nbN۪%#-7or>M.:}+!Fl% uWks"b<a;U{8T.؟*8_-1M2Yv태C^riNAud?F_ϡWGoe)n{<]y_T>{$DM&~=(?~CO%;5qZR a? ,ՅzN,@v x/T>UG[8cuZlr׈;|46W!-Ɉv9KH/ z&w8N,]X_Nx7tPDfJF I4Թ)F,UD aIsxIk $3{… )h,rYb5>ѓ ػ6YG J `"RPF{[KwU=@/씐ƺd't>̵/F&X`<ܶ?$m{&Q'[_jtk&,e*\!os=ci[v7[Ӧ/kY2b؞%hiNQ] - ɽcY]fJV` UhoCb;!<K B`3'H]ECP=7/y[hHϗFYBOD=n y{xS~rb=$F[[\1ٵjXGݸ[yTBi=GH)asA&xv*micJyC)fu-Ct3N̸on8?yMXMnmōs&'M!uL?{ x DYaL.Z&* F bcG#I5>''=CbCEWH)/P7$aa_K,V@B= |[i)kck m\l6G7@o^^3^H4*b]V`IUȳբ>nQ9^ LK ?G7}f!bQ}+N.\"!848|^.8 Z zwU\⼀m_Usޗ^(Wߐɟ z' 5gS0FOodk=k[=%FJD\E-hyZ<=K]=@m3HՍD02t.׾)C=90d=oln"4-8CfTHfg:Xe!(!wtZ3tTC O[AiU ~uDW54o3:\\”LSc͢W `[X>)S3wŚBwv)qQ7BMAEN8*ZދV1 ҝW-J\e%Jjpa)ae-o84Pff2sV=\Sa,]HxTG VdNڷ/4-Q2UH8zY)R*\䵲jp$ rWQ7K2 8`WÖWX.2fʦ{ZSG4'dX!AL),LU3'8W{1 8.["ۗq Lњ Wݕn=-yiv-R0w41uSQoAɝgȩy!ZCRl$npԬb] gX2eo?8nyɐ098p b|~$a|] Ws^72$-J9\?m?ȮT ш)&J_u2+:{XhCn -V ۈKBi!@ɸPĕ/KuY>O)w^x{(ǾQ2,"bwmy\HK21lQ$MMIà. bblg"X8Yx9ɏ8a׃WsbpA7]qL W/emP( aWTĐj_1FNZ68S|`'on47"Dxa0WӑF5fBA* W!#֑ C(ٴ0בrEש4ڥ=1;1;ELbvԏ7=%NU".ϓvk';|/}UIMe;OgT[q/lVmiVqH M:KE}r (N ^\W: %=et /ƅruTER#*L>U =;8VFɎ,TI#[ɲ9B7~TX-/ q5樄GD`'.]}C7pHeb H&D7/& \Wk*s-KCuP(UyjZȏXq?~٫s>`"L/NTF7wt/O'ע4:Lɏ돍H#ifӿ= bv3yA6#LClm,0!Ec|$e31ei5Rfn +c~:+Jx=7DTL%:yqBwngķ j*'2NqԒBL;i}rg Z)Fj6]l_4n%j;|#JU{"1t[еRq0`/`Ŗ2/ez9p*5 ?vKy|7=a,+)A$1'_Pcwr_>>W {g_u@8Aru07R p5=Qҏ13+'Y)aLf(ŵ韋/ nm Z {ù[pbeErlW4  ل1vf4RZY*z` ہKɁR 3'M[ 4Q=Z@L\3猲Q\%=!s[]43o]ѡ|0:R/{Nl\m 78,vo  m\Cg4:ߢڍ`QE+ړp>ߚy8(/2i y@d UQ<_,b`w}r:ؾ)QtJmցIx٨,q}T[Ɲ0+9h6+U#66|eݬ Fe키,,?ٻp|ۂ_=!3>s # '8dp)>`uEg) :~*K+w8_f/]iԲ('2 `LEZ$ѾP$ݒlƽt2OW˾حuj?sޫzRqaHL J*X|}."ҥ6=:LS}'s*Ӧiz"Ĺ 7g˱pM>PIvbcm@^"!-*>FQ)?j`cAM!Ӛ>`t ~q0eC~^Ef[jܻz$~ZǟE,]GP5s<+ת`ߠl hc(!(7Z]]&T.4zo4p I?WD~tegBVOk[eӲC;MFk"N)Ig Wg}W7ܹ>G[V$栿qr19;37Y5}NO 7·&q{`Ýμf/&GHN/nSwz#pԦED>Z// 2ALVά ϟ;߂䦍֓9 3BV+rَs4EʏӀ,0'ϗEQßw[cZȣ\Tޜ6S̓S 'fsvH Ӫ90jMjk1d ]UR$|B+]Eڬ i(,+$1_C)9}KzLn/uҀ Uűh{JS8Sx3ú<, @XQ[ٽ/"\)Vatx\LIW^;^v&T'jHaCQ-y3Sbܙ;;i#o#k?B `I TsmBON7 Xi؂saXknuZB8&}Ok%57 o=kZa0?gpsc:ܳ MI*CĆ4a)%JCj#u[‰].iھ\3<4Ŭ}2ڪup2o/mR%h艃5ԫhRFǃo/u ݐ_"59l]R'[# ڻQOΡtd4TӽkNʼnJ> Բ`h%io%a[hKSQ֍u>DX[o3Fj9gZ8bw%f++51Dc<8YW[[ކ.ѕ΢5Z S D j79IL~`9&'WRCwP$6X/EKkЍnFϧax ٖw;UT*]ۑsjJdW|AKD䦐kMfj'IDN24PgAמ@E1u5L @u4wv=`Um&p:=X_!s/"oMépscH8\ޓ7CrP$$8~ȕET' z#| *88ޟ_DZ`"(۪LnheWU&Z%Z|jRR('w)FC[/$̃vÑu=#nV5\X+&5k #ȇ1tc{%4R_FF5}ӫ YjבB9K:ytgkIIOi8ߐ0sRCABVWIPIofб!ޔқE9VkVBDYtW Հ=9E.1 *j6X)RFpmȍ%)`tɶ%:-T݌w`4>$xMz2BҐMϘ&VxtYa+w_SLl0+m7Ɏ1 9֛ -zYۉ3䘣3F.RM>:H@{/۸xj*̃D&D#G#mQWV3?D:?d*cRue܊\b3p6>F1߰3*3<llIC: }N8 [s7/t| {:~2OsqD/[ [KL8b69B@'^"oȧ.,oEylf䰊QegԮ@ߠy7,ՃNh) l|I!q{L8 a%;22AKAO~Dy_Ȍo9ezc{2gRX7 {pQ<۾+xN^UIu55QS}OӍnՄo.{S=_&BQ`>*6E=M5)c=OGyh𼚩5miMU?Ttk A4Q7PLvo6.ar[;X\`C^g4Jb!}qS,Qo2 ; bvP]6U_9G{[-<|+R{y.7ƜĥAK'RR{d1'DEvƦsYoWɟM^^-یT}mRt׾x+EZb/ =_<}S!$eY/ IKy]ٕ9=@{2 ) y)t} u{TǙ*`C/L tI4(]WgJeP 5{{߷>* y&}X-;~;)Q(bud͘(X5SwpuZ ҡ!f.}*zuXYWIqTݖ82uY2KH3'566T?!zN& GZAq$Ņ$-oHKՙl>14ERʑtELuq睚G5?V, I'8R5+̎j~42\}u_4m](Ѭ2{@\djrEFlҨ0D껇]rL :~ഏ3L`]̿AYf4$YkT5$tSv/h1nf`:?eh[(ƥoAG$Rs!:{s-Mh¯V \03ǔ_9eҹyU LXݔ+SsQbA-n\=+$_~rW:MLMd!rafUG4| ۙAܖ No Iza41Y,@ZeSm g^&IЏX(EljTv$:ꐩؘڡ}*@+H5tФ cĮ:&}qC)TG m:$V\-Mo8}2#jl~jjBktpwZ%mḴ@Y$xҐsLR8ߙ1,fI gn8Sʆ% 9h=*uV H7 y!NDj$u"EFJ? ci'!_iekWZ),;wbvL')`!5PATL˜kb $uu %w"l4 r8z_Z‡Ie;0pne1lZt`Q2bAXT5)%[](u.w-M ">ćD"ԗq,aЦ@Dx0đ;5i8N@5vwi@0ȣ +Rdr݉Ϟ'.1+ۚ@gGC"Ds2YA~kfVu$‡гl#KE@p|Ό-2#;^I?ESၩQs !?gNBγT bvY@d@Et;ز|JHADWMlGZ#jYX Njc C2Y$4TM6Ĵsސ#2fNV? ^R.fbPm*c*GlfqSˣJ!ߴ~- Ձ4AckyeAF朁Qe羛3[%yhB" }iJ)-pTs1÷6n4GP3Tl\hǤ'j5 P[i0pEtڑW!f9ߣ"`R,t`jajt؏w7D@滽C܅2}ѩFí)wcCiR4g;di/1x@Ym:mE%]Sw;_7} f2y~oɩ$G꡸50 EЖo&nJ!M#^^T)-ٸ74u${v_SCL՜Xoa.g0T&4 f2k)e 3UЏ7nY '~rEse}#]Q &ꞣv;ӨkhG_70ON2bzR* / B8ACS˘c N1VĔA处9>%^l1I*ha_0ICn6اFlA{Nh!\ҕ.C9J6=}/!Mw~f獓iD].CRt;ce_2V A2OZbĩ)^odZ T"p*8Q +}s"{YԂgcEnFw#U{45£ >R ^4$~ ۈOr|'tN鈣 yî 䕺3܆G,!pne:YDOhxw*'"\YϬOV_ &_o`PsA2*yeG?vQjZ-`h#l jGGyud=_9Z,? y*8HKGU>8Gxs2-!6 Rv_Xy O17 ʢ}dE5Pv$E'0߿#UGZQ|$.Tº֮#;yb^{;Ň8jg楙{!Ù+=7_~YYh|M֒ >18sˏ ֡vp Џģ9JbM4v~-Ą¹fl֫USg>&'m*$U;`H+")>Wc6s{Ш8W扝 @~ym'("v9]_y?ܕܗr<;fzzD.d%h$tUVWXp4T$|6gIxJK#h@P դ[(޲P:v7u=U .lO/$zgun8a J yjfEIaoC!J޹,TX X$+5#cs75K T?vyQSKLIɒ< 䧈._OkWR?whqQ'3x!IsZ塆9:ϒ;qnVdlwl@/R[Hvw.(;W(H 񹀓b?^9b6LDI^Xz;oD(|vZv ZIyȻD3/ 5_F} Bq7 X}0J&0gᢻw&{ տ9}\Z  ֊ q5椡w@ЄM?!2S܌L=GXurS$'.,Apav(e]B7`y6%f.⸎11k Vk{<߬"Ap|2@WDW즊Z}?n.&qIi $),x=0sEqb2d˂BX[qyn6flOe@@S4Wmء_X˚Ȃ&ɅwlA42K?3 '~g :3bRU/{y2x^#$~ y覢blΤAӕ$-ļvqA71$o0YWd[#S~.+@V {t1MԬ`lf'$ո19kOr-GxfFRQm]|%Ee{6hDp'f8搪['Տ둂v6N\״Ywp|eBGIyOUgY-3AW^y z`9=Mec@ jQjeC[Mw lI g֚ZٍkG&{9~?ڟu32&̔_9ǻ=YA"PNya]C|/2*6E{GZݼ_:@ƀMӢݴa^DkB/̊AUHQ BFr%jq&{>Iy&S>ͪߴfyL=.{ke]#4c{`d)bpn?)=͍0w6aMT XYt.º;Zl3F540Mj髸NahIbLSpf<ΜU6L>{,_,WUk,dsuC~h}zRG(#ӾfdϋEv<$^ s !8"%/$>Fgԫ`q;NS_ol*qĬ$\X! )%h$zU|6[?*l_lh^眯 FŖ|uXmU`h7SGg-prpȺ)6Mq'9cKK*-{!Vn80l| eʠLZ2j lچL xSAV8iV@8Uh|uL~?b_{*8֦gqz/6las >l~ E99_=}UM'=Ԑ%!M]'l_*%LQ }s# {`0A>t]M.'; EWC ΗPaQcOfy.N⨒K/tvšZ$z\(W=vLw~+,DVW:d`H>a'd  ԂUyb]!\\Ђ^T!4nTu!{V>W1 VNmĠZeQ@,v?F8d~d,Ι1(0'2(y" <=Ah) 0b'o:{HAX:ʍ4B臚v[_+9tvev**a‡ءO5z+Ř1oslWm&e\SPGRC pKf;XX a!wi4ϯ+a'2.9oJD59?;.Z) _̉8խ~o?癁eCs/nƐ*3&83}<̼^& <ĸ[6N>Pz:JWLK>xңg{'!tע-\A'yh #TN Zy5Zf+fz' }ۏrSZ5\i4amab 5 SH9m'+PoC  ݁ sKb&?c/L{kTn4ÄJ6cGB+CۃlJHR͐e7MJvFpy}>UppBacNb|OUko&Ih yQ&6&ZZj+Ԫ>b-*8`w$U6tYp@H ݰһܔTꙢzJ["+Y Z!TW$*{8N92@X"xaѽt*H?1-M J :O7wce'':۠+ M$"mUoNN`=->.N%++hFc{8Bm=:rM@$k/{IX1TG4T]m\{ `BDi>ߵ/%CKpR>ls7x )y*t{XTrV+heYcDx8H?PLffIz]F3o>iAr蚷+pskD.uzۜO 0l@Wߧ]x.< 8D3T;7򓤢H]ݛ_HX,D(K w+! ; s3ǣO@J|n\|"l0pV " Fێm=9 hx%0M70pM\]9nP;=񒒪B6v2^w.d#s]!m@#!k9C:qUqm (M^,?1[(i\ܧoʻso$W_bHj ۆFSӹKNZyQ$k^Q 4b36dTlEUvofḆyx6-m=fD!vqK8=\vmY"Nu4Fc9'0l^7t =aiwBe]\,nZR@UU+0,t*ME Ƅ}ٞSY8_ (/R]Z<ϫ9#L%~X2das,y84fw:(-?Ƥ](&C!\\M} +tr(L%̹Eً6j7 xUUVŹ]C6{$u݀do7K@[єNqGl|cVT\4Gڴ[uy&Gɏ>$C@%20MG3΃$8nCfXucF$\ !wPvN$֕I (>AV1U\Ɲ59]m&mM5^ BJP 9K;(#ΤeVJ)9WwJxoz4 .1ԏ2ZuD%RPr}%3@r!͍欇;9f R{U 5b fJ}xd>S {c WՅ~}@gzxL(;]y٤ZqAuݘz(ɝX8C9MK >)8tu#glzNEw6504'=U]H+SǕlra'n=J@#Gz89Ft$pwFvLZѲ-HH/IjϞ~1ƣSe1!$TݬXh T yK9e؋6VF,[׸AxiWFx}yTHWx9Rg^1@$gВSגD/ҹ~a!>rB\PO!։\Ӛٕܶ YZ