python311-ecdsa-0.18.0-150400.12.6.1<>,@i˳Up9|s!s*GPj^BxmIՒ$<ωT])7{xJp^"4,ɼT+Z>@z085Ys-\ ~XҨ%̟'#VF9 EfBcb_Yʈ!- s֩ (YyFhr}  ~C2S2!s΀5bxL/O֒T8! ũW2~}{V=[cV/,-q?@5Mg)p=1'#3>AZ?Zd ' [:> T`d(d d d Hd ld d!`d#Td%H%td'''0'('8(9(8:)DFCYGCpdHEdIFdXFYF\Gd]Hd^QPbRcS6dSeSfSlSuSdvUlwUdxWddyXWzZPZ`ZdZZZZZCpython311-ecdsa0.18.0150400.12.6.1ECDSA cryptographic signature library (pure python)This is an easy-to-use implementation of ECDSA cryptography (Elliptic Curve Digital Signature Algorithm), implemented purely in Python, released under the MIT license. With this library, you can quickly create keypairs (signing key and verifying key), sign messages, and verify the signatures. The keys and signatures are very short, making them easy to handle and incorporate into other protocols.i˳Uh01-ch3dSUSE Linux Enterprise 15SUSE LLC MIThttps://www.suse.com/Unspecifiedhttps://github.com/tlsfuzzer/python-ecdsalinuxnoarchs'e{{66CDNO 6|6|qSqn,,GInnab5l[n^puP.".uu͓EFHN7X..FVH !867+adbdD0 "39;]sgGA*i-cCEm 9=o{AA큤A큤A큤A큤i˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Fi˳Tb|bJi˳TT0d8b676204efce55b3b090475e07932d60f5d5bb6f043c9f6ce1f77efac797383581637f8fff43e9a1b0ead56b982f97645a4d24de724d81613f1abbd63dc9a101ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546bde115e2d1ce704a40d6b4d10426909a83935dee01b9a5bfe5f7236de1b516361ee8bcf1df00fc93a2ed7d7fc80e49b1e6e81f5d1a34e26d6a2570207b663a2fb9bc8d615c67d13e8a20ea55a4f2ec006dbc4c93265179f2d678e5400a8f7516a88b0fec5bf9db214e59d33789e09955c004696e5b5fb9230c52008b4feb75b0588b0fec5bf9db214e59d33789e09955c004696e5b5fb9230c52008b4feb75b056a37f122094e8fa2716c3d5fe92b352a619b99f22f25fc2b5d02827cfc2bd48f6a37f122094e8fa2716c3d5fe92b352a619b99f22f25fc2b5d02827cfc2bd48f32807fd9ee5089b06731832c19ab679d8b6abe148a6df9fad929e352f9b06f9f32807fd9ee5089b06731832c19ab679d8b6abe148a6df9fad929e352f9b06f9f4e13d06015fe0cdfb588180f0c7a08720ec767e3bc580ce418869838a9e0d31d4e13d06015fe0cdfb588180f0c7a08720ec767e3bc580ce418869838a9e0d31d15e41c8f90ef3b6ff7d3f2793141ba430174a4d35a36dc3ab18d278670ad323b15e41c8f90ef3b6ff7d3f2793141ba430174a4d35a36dc3ab18d278670ad323bc3c4ef5b63d9c0bb77091378eaf4eaad26730c55cb8d9062445005c122634e9266004ab961f8fedd3c0a8734976173ed489784093620b6340dffd7abfe92707f7b769aa41e38c2fe66199cc25cd501d56596147d9f8f6dd08cca360aaa33a9237a6685c71bdd5bf59e4fe7aef4c82d94413c7c01d2af2b71868a0818cea80e8775ddaa8c145de78d6414fbf71f64dfeef6d2dca20a404d92608e9ceb94ba60ba75ddaa8c145de78d6414fbf71f64dfeef6d2dca20a404d92608e9ceb94ba60bac6df9d63f8817882aebf1e72b216901809dad72388bf37bc89b2d7de16232e21c8ca2394d184a3b55d3a267a13699a1000a1863ef6579061d9219828e6c74389ceb2585340cee7bfa497d9287ccc832ef08f8885cfd7c3c2b9a50393d2d57589ceb2585340cee7bfa497d9287ccc832ef08f8885cfd7c3c2b9a50393d2d575898afc18ad393e46f64e6b7ecc8f7f675066bd971a39a5ed036847599231dcbf48a86660a8f87bcae391e14d3e4b685eb0ea7317fe524ac63daa66bab4fb25d8af848477a988c8bfc198461d3b5fe979a6ef175e79be925f42bf3687a0548c91f5848477a988c8bfc198461d3b5fe979a6ef175e79be925f42bf3687a0548c91f5a4be18b9a55237868cf915aa2cbf44ced13922d10691da1e63b8570980d9802820a067cdf3b31c04d989e9b15f3eb83df164eef95b048753c58c4fca633bdb7338a902a0dbefc8045da066075655a2971d90e950c1316b692eed1e24cfe0d78f68f0fce40a8466d3eb6de9aa6e7fd3a4723288bcded1d9532559b39b72800e944e3e00a3f87ad066622becf603a46bb727340de76dc14ced889f7fcbb551fa894e3e00a3f87ad066622becf603a46bb727340de76dc14ced889f7fcbb551fa89a2dd076104f7c371ae9ccce582d36372d7edc4e06e73de2c3ca1a360703ba484b73d07585529997bcd71d1982a204c6def136c9ecd2cc2d69d85db9adfaa56f1ed0fbe0e0b066240e1af22d9065245dae62232bcbe5d54dfdfa08dfba26fa02f4878e7c6d0f15b1ff2abbbfef9c3500ae2841bb627e6b7f206105140591eb3b4c50026de93ce220eda6104694c3de945fa701f1a3624c736f0fbe3ff95a904459464c736d9c949d8115db75799c02f3e32d6cc6c51d4566680061b17bff990caaeed4ba699946adc7dcca9b72490f0630f1d331cc9cf0f9547bb97701a7baf4d4649e667df0ede4e09deffe95af9f8f8df873c50c077067577ef38cf4d503ff721467778442e5f0f0ea0b85f52029a5af714e191c6953f01d849d035ed61d47212c9a3c70eebb67027d925c1da61200b68659b13f345635e9c8359292d8aa8183a6b6cdd908e429a0088b36ef8bba93f2f68b711481a168fe6e593e32d6b5af48d673f72edb923a05b77082de4bc2b9f3fa7f006baa33da2b082008990293ea3c3d3176e9fac1592e0914338418ba41b69b3965a75d3244f0746dd08647125edc3d3176e9fac1592e0914338418ba41b69b3965a75d3244f0746dd08647125ed4514a9edb2f671db1db0bdd8f7ffe3b83b2075647cd0517e878d97bd78069fdb79aaebb6259ca1f9fddad88fe79bfbb2ef5e01632daa2edd82dbeea5d5332251b00cc299b06d00d14442b89d23fb3f841ee2eeebf39b106c130c837c526d7de7a1b013b7f4e7632495a311efd1aaaf00ecf3ec067e29929c1729fe2fe4b11ef12a29430ddc0fb0bd788def5c031abb82244b6d42c8c0b95413db4c9f59cc679ff40c669dcf811158a2990beebc28eeca044f880e1ae729aabed3a8b6f314d6a22e05525acef458c5fa2f3cd8b1ce78975c2c43e2efe58488124d74f7bd9522de8839fe174de19639366fba3c8bff6931250ba36d0c7c40c86d0c2c74218dc4baa29cbf9f676799d2c161a722442c2291e51204b60603a3b8d55848523535c00fa29cbf9f676799d2c161a722442c2291e51204b60603a3b8d55848523535c00f43f8ce5f2b362a08795ae988eea52e73b5b4100db3e54d3e2803dab7139d763c74828e80cd5746e806849df326ceaa8b2aa5e4216e563b50069c1cccb85047130c653405a069ed089344727049d7f7eff8c6ec3f225e4af925c98281681c12a28471979e73e7fdcb470ecfd0657859f1058d907b93e941fea5773008870a18f4121505f3eb05bb574a2860e26e4988b5b626fe72a89254880609086eead4a008080c07a7657ae64b08f01d54a98ec471c2bd2da513a22bfaa432d5ce6e3879a80c9b3b40b99d910314df9965c83f0741e01736f7f9b0c72e8ceea815d49c22a2619dc118e1ebd4bb6c7b82df5fb17cd09eaa98a140f8d4be1b679852ec365a7535ae6ba67b800cdbd69024e55066ecf71c15a2063a565dbfdee373a551a0c6d141b7f731f14846ed784997c465b3a87e032f7ca55c407facb22c598837ea76514e28ab6b0b79c5e8150eb63d792f804efbdf9932339d4cafe5fcb693b567cd390b0f4b7683746b725558a5a2154145ff27858c8aabffa21043223a47c98b23e1233b06ce818079f72862317b0d58c5917e5926a88ad8b4ce98031eeb0c9fe145d97406f25832854b1c9bf21793388e049aa79d158e59dbb108830f8f41bb86db6f89a19e622946711d1f36de72d1c003917b3bd32d49a23e7d8a1cd77fef0714a65b289911d8acddd9de28a052a28ce409fcffa4c39359c936916ffdc3c602f390fb0696ce891a7a32fa2a81ae6d806b378b8f4f91ef856e03ef1b9dd53ac961cf0ce8df796c64903daf67527fb1c296223fc886f0e5c274124f6d2dd4513b8d97937e9b8628e48032e1af1a24cb016a669294b01f4a862362a0a3d470c45695d40bc5614393fb9cfd1dd55a002201ec85e8101ab462fe8e507319d0f53f664d8542574e8fc2afd8e2f7e1293efa507fbf93801f7b5948f6b5673053e2ea0977d5c9417c3b40d33745fb5dc1a0a5ec25f7cbe4afa216eb65320a2fd24986ae8d565bf92740b8ccd26ee73cebef9eaaa66d00266011a7304a096ae11da17f6d1e2ba5bf110ba739f13e4554aec7a7753bb2d7cd2b80b1593d1757a5c3263ead8024341e33f24ac0f7f0581778220aad3a9d6b6e879035420f3c0df7e1bfa798b49ff2182f11b82700fce1d60b0e646357603e36ab12aeb4753f45c124e099b042862576bf0cc5ac874d202fa29d850920a6e8c80030d932802155ed15a772a23883a862ecd6452ae3120312520185b9b1633b8af4828b0f20e7e3dea03ca8c20659e46e8c42a9919cc7bc47973679e133541d307d0bc68bbb065e2ef115d8fa336f2bf4fc54ccf7471bb873c223afff2de4099072ffcd811e5582013bc7b62cb7a0a50bcb928e4da5e3a4b5d2cae1eb075c233e2403c41e88369ed37f5114f0aa70e10ddff73ca7bf4373c6be2dc5103f672d22c624cb7e6385259cf612cfd6a722faa9c1d89ebfa6fc06b15baad3a23f226d50702ea7275e08f9f4c0411362a061dad02c48aec1af4137be97b3ca92c31fe97300e190b8cc404d9cad406154cc3eca9845773d2e5b8cc9d8c119d345f00a4806e4bd660d4a3d6cdf9c0e9d8bb2rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-ecdsa-0.18.0-150400.12.6.1.src.rpmpython311-ecdsa@      python(abi)python311-sixrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.111.9.03.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3iedBzd7cV~@a._<_cO^S]c@\ڭ\l@[@Y.Ts@mmachova@suse.comdmueller@suse.commcepl@suse.comcode@bnavigator.deadrian.glaubitz@suse.comdmueller@suse.comdmueller@suse.commimi.vx@gmail.comrjschwei@suse.commimi.vx@gmail.commcepl@suse.comadrian.glaubitz@suse.compousaduarte@gmail.comprusnak@opensuse.org- CVE-2026-33936: python-ecdsa: Prior to version 0.19.2, an issue in the low-level DER parsing functions can cause unexpected exceptions to be raised from the public API functions (bsc#1261009) * CVE-2026-33936.patch - Add upstream tests.patch to fix test execution- add sle15_python_module_pythons (jsc#PED-68)- Make calling of %{sle15modernpython} optional.- Update to 0.18.0 * New features: + Support for EdDSA (Ed25519, Ed448) signature creation and verification. + Support for Ed25519 and Ed448 in PKCS#8 and public key files. + Support for point precomputation for EdDSA. * New API: + CurveEdTw class to represent the Twisted Edwards curve parameters. + PointEdwards class to represent points on Twisted Edwards curve and provide point arithmetic on it. + curve_by_name in curves module to get a Curve object by providing curve name. * Bug fix: + Accept private EdDSA keys that include public key in the ASN.1 structure. + Fix incompatibility with Python 3.3 in handling of memoryviews of empty strings. + Make the VerifyingKey encoded with explicit parameters use the same kind of point encoding for public key and curve generator. + Better handling of malformed curve parameters (as in CVE-2022-0778); make python-ecdsa raise MalformedPointError instead of AssertionError. - Also remove the conditional definition of python_module.- Update to 0.17.0 * Keys that use explicit curve parameters can now be read and written. Reading of explicit curves can be disabled by using the `valid_curve_encodings` keyword argument in `VerifyingKey.from_pem()`, `VerifyingKey.from_der()`, `SigningKey.from_pem()`, and `SigningKey.from_der()`. * Keys can now be written with use of explicit curve parameters, use `curve_parameters_encoding` keyword argument of `VerifyingKey.to_pem()`, `VerifyingKey.to_der()`, `SigningKey.to_pem(), or `SigningKey.to_der()` to specify the format. By default `named_curve` will be used, unless the curve doesn't have an associated OID (as will be the case for an unsupported curve), then `explicit` encoding will be used. * Allow specifying acceptable point formats when loading public keys (this also fixes a minor bug where python-ecdsa would accept raw encoding for points in PKCS#8 files). Set of accepted encodings is controlled by `valid_encodings` keyword argument in `ECDH.load_received_public_key_bytes()`, `VerifyingKey.from_string()`, `VerifyingKey.from_pem()`, VerifyingKey.from_der()`. * `PointJacobi` and `Point` now inherit from `AbstractPoint` that implements the methods for parsing points. That added `from_bytes()` and `to_bytes()` methods to both of them. * Curve parameters can now be read and written to PEM and DER files. The `Curve` class supports new `to_der()`, `from_der()`, `to_pem()`, and `from_pem()` methods. * Describe in detail which methods can raise `RSZeroError`, and that `SigningKey.sign_deterministic()` won't raise it. * Correctly truncate hash values larger than the curve order (only impacted custom curves and the curves added in this release). * Correctly handle curves for which the order is larger than the prime (only impacted custom curves and the secp160r1 curve added in this release). * Fix the handling of `==` and `!=` for `Public_key`, `Private_key`, `Point`, `PointJacobi`, `VerifyingKey`, and `SigningKey` so that it behaves consistently and in the expected way both in Python 2 and Python 3. * Implement lock-less algorithm inside PointJacobi for keeping shared state so that when a calculation is aborted with KeyboardInterrupt, the state doesn't become corrupted (this fixes the occasional breakage of ecdsa in interactive shells). * The `speed.py` script now provides performance for signature verification without the use of precomputation. * New curves supported: secp112r1, secp112r2, secp128r1, secp160r1. * Use 2-ary Non-Adjacent Form for the combined multiply-add. This speeds up single-shot verify (i.e. without precomputation) by about 4 to 5%. * Use native Python 3.8 support for calculating multiplicative inverses. * Include Python 3.9 in PyPI keywords. * More realistic branch coverage counting (ignore Python version-specific branches). * Additional test coverage to many parts of the library. * Migrate to Github Actions for Continuous Testing.- update to to 0.16.1: * `VerifyingKey.precompute()` supports `lazy` argument to delay precomputation to the first time the key is used to verify a signature. * Make created signatures correct when the hash used is bigger than the curve order bit size and the curve order is not a multiple of 8 * Speed up library load time by calculating the generator point multiplication tables the first time the points are used, not when they are initialised.- update to 0.16.0: * Support for reading and writing private keys in PKCS#8 format. * `to_pem` and `to_der` now accept new parameter, `format`, to specify * the format of the encoded files, either the dafault, legacy "ssleay", or * the new `pkcs8` to use PKCS#8. Note that only unencrypted PKCS#8 files are * supported. * Add `allow_truncate` to `verify` in `VerifyingKey`, it defaults to True, * when specified as False, use of large hashes smaller than curves will be * disallowed (as it was in 0.14.1 and earlier). * Correctly calculate signatures for private keys equal to n-1. * Make `PointJacobi` and thus `SigningKey` and `VerifyingKey` pickleable.- update to 0.15 - fix fdupes usage * extra long changelog - see NEWS file- updated to 0.13.3 (bsc#1153165) + CVE-2019-14853 DOS atack during signature decoding + CVE-2019-14859 signature malleability caused by insufficient checks of DER encoding- update to 0.13.2 - enable tests - fix requires * python packaging fixes- Remove superfluous devel dependency for noarch package- Include in SLE-12 (fate#323875, bsc#1054413)- Convert to singlespec - Use "download_files" in _service file to automate source fetching- update to 0.13 (bsc#962291) Fix the argument order for Curve constructor (put openssl_name= at the end, with a default value) to unbreak compatibility with external callers who used the 0.11 convention. * update to 0.12 Switch to Versioneer for version-string management (fixing the broken `ecdsa.__version__` attribute). Add Curve.openssl_name property. Mention secp256k1 in README, test against OpenSSL. Produce "wheel" distributions. Add py3.4 and pypy3 compatibility testing. Other minor fixes.h01-ch3d 1774957397  "#$%&&()*+,-./0123446789:;<=>>@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd0.18.0-150400.12.6.1ecdsaecdsa-0.18.0-py3.11.egg-infoPKG-INFOSOURCES.txtdependency_links.txtrequires.txttop_level.txt__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_compat.cpython-311.opt-1.pyc_compat.cpython-311.pyc_rwlock.cpython-311.opt-1.pyc_rwlock.cpython-311.pyc_sha3.cpython-311.opt-1.pyc_sha3.cpython-311.pyc_version.cpython-311.opt-1.pyc_version.cpython-311.pyccurves.cpython-311.opt-1.pyccurves.cpython-311.pycder.cpython-311.opt-1.pycder.cpython-311.pycecdh.cpython-311.opt-1.pycecdh.cpython-311.pycecdsa.cpython-311.opt-1.pycecdsa.cpython-311.pyceddsa.cpython-311.opt-1.pyceddsa.cpython-311.pycellipticcurve.cpython-311.opt-1.pycellipticcurve.cpython-311.pycerrors.cpython-311.opt-1.pycerrors.cpython-311.pyckeys.cpython-311.opt-1.pyckeys.cpython-311.pycnumbertheory.cpython-311.opt-1.pycnumbertheory.cpython-311.pycrfc6979.cpython-311.opt-1.pycrfc6979.cpython-311.pyctest_curves.cpython-311.opt-1.pyctest_curves.cpython-311.pyctest_der.cpython-311.opt-1.pyctest_der.cpython-311.pyctest_ecdh.cpython-311.opt-1.pyctest_ecdh.cpython-311.pyctest_ecdsa.cpython-311.opt-1.pyctest_ecdsa.cpython-311.pyctest_eddsa.cpython-311.opt-1.pyctest_eddsa.cpython-311.pyctest_ellipticcurve.cpython-311.opt-1.pyctest_ellipticcurve.cpython-311.pyctest_jacobi.cpython-311.opt-1.pyctest_jacobi.cpython-311.pyctest_keys.cpython-311.opt-1.pyctest_keys.cpython-311.pyctest_malformed_sigs.cpython-311.opt-1.pyctest_malformed_sigs.cpython-311.pyctest_numbertheory.cpython-311.opt-1.pyctest_numbertheory.cpython-311.pyctest_pyecdsa.cpython-311.opt-1.pyctest_pyecdsa.cpython-311.pyctest_rw_lock.cpython-311.opt-1.pyctest_rw_lock.cpython-311.pyctest_sha3.cpython-311.opt-1.pyctest_sha3.cpython-311.pycutil.cpython-311.opt-1.pycutil.cpython-311.pyc_compat.py_rwlock.py_sha3.py_version.pycurves.pyder.pyecdh.pyecdsa.pyeddsa.pyellipticcurve.pyerrors.pykeys.pynumbertheory.pyrfc6979.pytest_curves.pytest_der.pytest_ecdh.pytest_ecdsa.pytest_eddsa.pytest_ellipticcurve.pytest_jacobi.pytest_keys.pytest_malformed_sigs.pytest_numbertheory.pytest_pyecdsa.pytest_rw_lock.pytest_sha3.pyutil.pypython311-ecdsaNEWSREADME.mdpython311-ecdsaLICENSE/usr/lib/python3.11/site-packages//usr/lib/python3.11/site-packages/ecdsa-0.18.0-py3.11.egg-info//usr/lib/python3.11/site-packages/ecdsa//usr/lib/python3.11/site-packages/ecdsa/__pycache__//usr/share/doc/packages//usr/share/doc/packages/python311-ecdsa//usr/share/licenses//usr/share/licenses/python311-ecdsa/-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:43455/SUSE_SLE-15-SP4_Update/3a6055738b5181e60fa8a1da65ec0802-python-ecdsa.SUSE_SLE-15-SP4_Updatedrpmxz5noarch-suse-linuxdirectoryASCII textPython script, ASCII text executablePython script, UTF-8 Unicode text executable  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR -ϭ +'vpython311-gmpypython311-gmpy2utf-8b340f7dda6e09466a7c93f3538947d959dc51d6b1dc072f48f74fc6a4030b2ee?7zXZ !t/m7]"k%na JrcLYK#i! .Y@F4V=-ڳ?`L,TBHqGSom6'-J>wQwCfLðO97?"hbswW1s—/SM!f:y4Hʦvb3"cJ2iI6".Xw3IWfm'޲!JD[j](NRGf 5^I nwS .:e$s(wԓAbLp~@0DEt]EjћxQ:uQ k[0΍8')wR0T ڧ *0-(~WRX+t-Zհ J-ixWY+86/:'=KɚS^mLRzhe5oȐ;(mBc};,|DV* Cz7hd].g/2>773vKznsWca:DQJq7Ar`BŮuRd;VVS8r_E2X?jLsI#tX I|$Kս0ol1.,͏%=(٥^\/]Uq/0CJ@N];Z>esKk\Qs)׷ kR FVwD,8=6%IV[of<x| DATr!$r-]e *S(#X|'PV>U]@GJ{v[js&0Β*T5E,cª+Yzu5նZN bK][[hk3<7?p2ݕ c3(EɥjKcZLi!򚫨[)? ujÚx ha,Qb`VU /iN7WtΣ$Ʊq%dcdfeve\AgSeQaM-E_·^x=#]O8 cC~QQe;ߦ?M?Ȗ ؾD/Cag_gZ: eln]wrqJ pwʜ؜h,2uFRӹ-$<"%*Co*'D` Kwsה/2#y4;S|6I|;OO G{Ë ݷbEoRU[}=YrHC `a~u[E! C-+skΥ?J[4aQϓQ"ۢ;N+>S%!ڥY#XEygZǟUb)L1+{Y}<#2K UH*[TA͞<=n]GJwV}&%Su6uД|2 Th@dme'vraC>#k ĉt^ 5LzY|2@Q?sσ'׷}t z))9ļgܠ Y=mAwk3iݺD\H~\e$R$ܵEwZ/*c!ͥ6S)RzT̽2ܲVx1n{++ rnJ.K)@e( 1mb5S,zI!YΟ໙ٹE+ۊ@ |t|vkp{Z//UkE4!1t)&M!q|kJ \,ܐfWd_R{. _=-xqtSy;ѵO4cx-k=X3~P]LMd˺9TgzFlc~9,Qy:tqf%0 sL]$npc\>8ҷ& g#W WN3uꕘR7| &̪AL]1TuKm}8g۴",-KC45Y $7t*p:zMg FGB-xUifj0-%jqUWss׊d(X>TUΨ_nWgSҽl. c/(M9d'Y |e4馝R8J!7+Vm N)СT!2_z)k΅fcH#upSR &!5C5"O9+}B$6MD(|@iq<j1݀1hNSd][6 ~^O>UD3/Kw%*[x+f8Ku|. .v̹?ϵ=_0VJog_BWܯ{SWDvq70#m᱀=[.`|^yuiê-0ֆg$@+`ь`$$I@t-E2*My ɒ [dk'FIknVf|DtChg%Xj=AVJ*UźR\~pm!,GI\#u$ 7C{_ѱBBQ`(/ק;VPoS IF r.awA(2} ֞(હ8MZqa#2\$HϦ+8v]B B{z} =o¢ho`4d &3?WvTxC+xOhx\Zɂf^eƹAt56ӯW8PvaD.ZZ^Q gWNty恞(~Hpng#i,.VJ#1?}tU$-Z}#vrR⭧[VZ2ߦƙv5l_wڶu18j*|ȭ[+ kRwMΉ l9lLktNaVZ zM8Z.] [w¶vlWm-Rn}T20\`|U!6;gr@s࢛fjBz4 QXQԉW%.(C|/nE:6 D>=!!FAw5XPkjl0Tl.FGt i>'O4sHAX4~cIA-b'ž˘HjpϹpŵY3;ƶ F%ڱKki8g;+Z/s@YC}m?Z&GV j#A޷i B(O%PGgbXEּerƑNേtbïӰJڼtԼcgʯ`#k`͝ٵF#pSg]Ih'H6 JѵF{)܂3 EKo4.'iu/[eb%RAY7E&)W,0eJ &'q =4ezTF _l9PLGsL^`[ߙ=db7^(18MoWEjf[.Q} C-ʀE|Z fL M%XOlc\;q GN$Pr'T$4w3!Nv /O k3hHi?jw.w'q70< F-SyajbEwAeȏ.J;J/閾vH0m}KMjpf3IW} 0Lix K$vU [EDk/ӓfDWRA^c]즅r5Z\v~#kN_ѦU&7dkQϔ1HDvƧ7 SP%x :2TQ9n@b .yVyOʧ= \w޻Dy`8I-hչ=M\9 9|\ϫ]yDaBC$A 9783ӛkq\R;yBh<d髆QFD|4e&PΕ{!Ҫ& D ٍrd=uW\g>|Ltm~**(,箹ݑTeͦveymG *չTTvyqV G Jr?W Oݾ ů}k|ˤxb*)MGBewOhՕѰ4ҐŲQlj94SְN|!!4z]yYK=&KuAO:;{NWt6Pq@>t7g"XJ6xA M"^NKO!`5(zG'1:mt_/DnLv ə_;vP+i9umW@&>AQ;ߠi`RIIr)E%>5ʯ Y a9sSp ?r({OW_' exnj`B̸O)~oEI-O^AݷK!>or$C<ܚH%W;Wys@±s ۮRdb+XLRB fb |Eհ2F *h٣& BLOqLYuO;E]ZrZhBެQUkiGoDoR~%p5[RC mNf\<9:֓&mP//]H D)-W:[rhOm/}*,WPĭ/! Y F 4 1Gpfy1"H[ Kqfe_򱌥QRK Db6F>9Lu vKp Z?Tn֤ħ\|5S 41dCnp9uK_Fwo R˨>cMѥa{K/s! ZQєFV \ 9VMGIg)P~FϘl4cTF }G&k\wu ޽\|ڃ =a\߬{)PcnT> 5ƆGz6O 7m(֊ 4=3`f:"}S>A(C߳.0(6!E6l !"֞Xz~ raVdu-0mm/up$v DnĤx"fWHfm+p2mR.}D{M%It߈[=(8˵j1۟156OafNɭׅ篱:b Ķ}tBhMf/?:!R^dG㿞~v/dAkMa=-)Kxʧ=Fu ګ2]ubz:Q/1 צ>funskA22W^x{c02M$!N>_h) @zn%[Q׊N+Zu3vj*|+`ʙ2Nx4zE0\UY?٫Tq`U|Hb&6,-%vG0m>J_퐎0gVudFQ-U7}f%)^R Hv &t#Bw'&^2ӊ.p^St8pM;m6;B4]V#-(s0A70Ub[1%X`*jnY7!ղ5# qdN 1S+Q'9vB)Wԛ.ԋơivT4yg-w0x񄪃҅$.޾~c6,~nx;.C= #{6Cm ~ ZX;؎W1dSKpFȯ*RX_VB_8f 9;K"4,ѣ$ƙzghKbA|^E*_,8c'E~נדOE-YGQMAQ J')7> f#-8@{+? K:-}='C>*Z>1lh)'@GݬY6$<'ȸ1JGj.8^lb$9|SϷ:a=~ < ZĶY=/*mmQ_"]#s-{(*(œe2{ &V1HVRÑRW699ɢ yEV,q⧋aSZYS!@pAnAb%3c'+ : gu)Up/{F[3HvC^ 'cӡry7GR#ڋԨq\{5IݮŅCJ +ɛ2cEV(ʄ f "/l旴o2.=WbοZ#K<)2*=;ƛpm "{<2ybF.W&qI&i<%=FJ=9vYGkv+jQ&{I>ͣA_&!:G33Ph7G'W/8)ώqem; [.CEg6f !`s*RJ#rKVO/[_{%bjaSCWPJcp,krR껏NJ<saiޑ @ u.ՍRnnMn)ey^\C.'X;:íV 'Gwj59p-JB/L_ho{;5^wOz9K%@8$v|%˞/ PЁE|*O5O*9ǖ,^vԈg&# T ~87K6M"ivJwĖ,1 #ro`X>է" 8ʓ3լ=kpnHEsHƿqQR"o6 _ ,lR.=:8"AB:盈9Zz+G iWm?9=6x ?J#ِ̣52Sȑڷ?AA7J}TqOPcXJނ[CS } /0Q|Qڄ^V ≽?պYvGނnQ3#:n*b7q'4yldQwٹcmӖ "t*e[JYf[♐%}1( ja"P:X$_ͥCֻ/̡3V|1Jjyᙴ I:6I S0 O=}Mp~f^A؍IχYgÂ]!NMݲin tOu>aI|q aq Z+>wV8@Q_h5"UNǏ󐝞e$P+Sۄڧ耕8WŏM-B_ Q|9Ơ5@6e`:O=f5gV FO!,4s#LQtaJ~tW="YxyQ3m_ĚD,ОɬS 聂>"%ʹCF*D8A1kWn˨{e\qv2#3zJ{gjcL\}B;$9`V gt>PͰNqWZͬ!/Q]b84zԞI;ۨ`4㤂G6ֳ+ܯJ6PGx 82 -/P:"|w1taEoחUׯ*ɷmiB߿ HPm)3X.Hs2=vp2kCodž2[\E`}f5Eqki/EinǮw#&жFp-5$zY8~AeYjtL"O`1%qgʷ:Ҙc7NǍ#|2!NpKvobgx_x@0&GbAFmpqe-JI bn+: HV+?I / JF$1m aƦ%4߸sxBX;IC31l>Er' ns<Pc+6gqx-gSl,Ds8nT,Og^u#smb٦w]?Q_t^9doPX2PB hʫf9p^¢. 2LyC餖#THGfn<DrFP!fdg6_LAYY%Dx|/iAJVW8oWՍPm+V'fsϏXr{O:tMB,lE4` 0L|yrzهpyXhzo_{W/fP3/$ p:rd(3%١ In}"dbBSoݺ"Ȕzo `b2fgWfHT&vgO]r6}eS֙v_2Ylep» ._$G[. G:;-u!iO,?Uij.E[Ɗ(LHȗ#9P E]IOv2(Պަ-+ O;wF.qb)%' :KIO+sJjHTL΂+w< CLvCAX_,uH#*#wAf4FLJm>L<-WcS;lFUe]=! Y U%q:S|шl(6~UMŗ0cx0t).3L ķlNſ6xv:Nc^fDUMĒ2ޥhnT'|6GQ? ;%?C{x~Ho+뺃rC*“/-5Q[ИRU8HpaWmqXM#ÀUc3EWv#L%l]zh/̍`̽#ݦҜ AŁ-m6d{Iϱ``Gf c06?aBTccMxlܚ\:i}z:O" a[|yã8;B/] ߁e> /'adN7Fbl_eea>&NOO쇷mK\f;pR o|%R7SG `?2 ^qz2]μ#햦t.{FH1IGؕ6f kn=Sa<)])(9}YО?Jye%pЃKX4p _ YZ