libopenssl1_1-1.1.1w-150600.5.9.1<>,*g-p9|v !)DpidmͰc-G pbw/iY)`Y@仝!K; !0H)+*n[QY*>F 0gLà>5(qlTUھR8C=X KFN8^ {r+([T&H47Y*9atIP3M}*c k0"j+1hrQ8)7N7wő"!)XZ5W4maBcsE:-xTZ֢>Ib<?b,d $ P\`lp  4  F  X  |  E  P t        ( 8 9p:>Y@YBYFZ9GZP HZt IZ XZY[ Z[`[[p\[ ][ ^\+b\c]0d]e]f]l]u] v]w`X x`| y`Czaaaaaaab(Clibopenssl1_11.1.1w150600.5.9.1Secure Sockets and Transport Layer SecurityOpenSSL is a software library to be used in applications that need to secure communications over computer networks against eavesdropping or need to ascertain the identity of the party at the other end. OpenSSL contains an implementation of the SSL and TLS protocols.g-h04-armsrv28SUSE Linux Enterprise 15SUSE LLC OpenSSLhttps://www.suse.com/Productivity/Networking/Securityhttps://www.openssl.org/linuxaarch64AA-;H >遤AA큤g`g`g5g5g5g5g5g'dK46c770b4eac633bc06a7b48f55f43162538d5ce2b930429b203a9ea9b0e9e5471b7b25b75aa2f24d34116c692879f272161d7b102f7bcf29280d1602b33d145f6847ea6c3d9d47b902398d9180ba1aea8546037d4fa6d3b9e7f4f2047e318283e02f795246266e6d04eb5b862a7240783544c59100f65f3120f9df06aeb3415c3b60b6f55c1b2eb324a5e8e6756fbcf502c1adf2023e032899010eac914c718d8742839b4ffeac40d1df60427453433d69cbfd8370dcd53df0b6684c99ee06c6c32913b33252e71190af2066f08115c69bc9fddadf3bf29296e20c835389841crootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenssl-1_1-1.1.1w-150600.5.9.1.src.rpmlibcrypto.so.1.1()(64bit)libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)libcrypto.so.1.1(OPENSSL_1_1_0a)(64bit)libcrypto.so.1.1(OPENSSL_1_1_0c)(64bit)libcrypto.so.1.1(OPENSSL_1_1_0d)(64bit)libcrypto.so.1.1(OPENSSL_1_1_0f)(64bit)libcrypto.so.1.1(OPENSSL_1_1_0g)(64bit)libcrypto.so.1.1(OPENSSL_1_1_0h)(64bit)libcrypto.so.1.1(OPENSSL_1_1_0i)(64bit)libcrypto.so.1.1(OPENSSL_1_1_0j)(64bit)libcrypto.so.1.1(OPENSSL_1_1_1)(64bit)libcrypto.so.1.1(OPENSSL_1_1_1b)(64bit)libcrypto.so.1.1(OPENSSL_1_1_1c)(64bit)libcrypto.so.1.1(OPENSSL_1_1_1d)(64bit)libcrypto.so.1.1(OPENSSL_1_1_1e)(64bit)libcrypto.so.1.1(OPENSSL_1_1_1h)(64bit)libcrypto.so.1.1(OPENSSL_1_1_1l)(64bit)libcrypto.so.1.1(OPENSSL_1_1_1w)(64bit)libopenssl1_1libopenssl1_1(aarch-64)libopenssl1_1-hmaclibssl.so.1.1()(64bit)libssl.so.1.1(OPENSSL_1_1_0)(64bit)libssl.so.1.1(OPENSSL_1_1_0d)(64bit)libssl.so.1.1(OPENSSL_1_1_1)(64bit)libssl.so.1.1(OPENSSL_1_1_1a)(64bit)@@@@@@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfigcrypto-policiesld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.38)(64bit)libcrypto.so.1.1()(64bit)libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)libcrypto.so.1.1(OPENSSL_1_1_0d)(64bit)libcrypto.so.1.1(OPENSSL_1_1_0f)(64bit)libcrypto.so.1.1(OPENSSL_1_1_0i)(64bit)libcrypto.so.1.1(OPENSSL_1_1_1)(64bit)libcrypto.so.1.1(OPENSSL_1_1_1w)(64bit)libjitterentropy.so.3()(64bit)libz.so.1()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-1openssl-1_11.1.1w-150600.5.9.14.14.3g@g dfff)@f@f?@f?@f?@f?@f?@fIfIf~f~f~f~f|fuk@ftfqvfaf8@e@epeeeXepb@e_>eRe1@eSeRd.@ddgd!ddw6dw6dtdkY@d*dd'@cc=@cccccc{h@ctctcb[c[@c=qc$e@c*c@c@cc b?b?bbbUblb@b@bbobaG@b4t@b0b0b)@b!@b b bOa@aaar@ar@aa@a@a*@a)@aapa=a+va@`m`Y@`?z@`>(_j_~@_Wr@_G@^^t@^_@^V]^O@^E:@^C^0"@^)^(9@^&^&]]]]n]x]v>]g@\@\\ac\G\G\A\@[0[ @[u[u[r@[b@[Xf@[Xf@[2*Z4@Z4@ZZ2@ZH@ZZv@Ze@ZTZOZOYYKY@YV@Y@Ym@Ym@YOY, @YYY i@Y @Y @Y @Y @YtYYX@XXXXXh@Xh@Xh@Xh@Xh@Xh@XXXXX@X6@WSWSW_@W@WW(WWV޾VՄ@VVa@Ub@U'U@U>UzUyx@Ua@U @T TTk4Ti@T\@TFJpmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.commjambor@suse.compsimons@suse.comotto.hollmann@suse.comotto.hollmann@suse.compmonreal@suse.comotto.hollmann@suse.comotto.hollmann@suse.comotto.hollmann@suse.comotto.hollmann@suse.comotto.hollmann@suse.comotto.hollmann@suse.comotto.hollmann@suse.comotto.hollmann@suse.comotto.hollmann@suse.comotto.hollmann@suse.compmonreal@suse.comotto.hollmann@suse.compmonreal@suse.comotto.hollmann@suse.comotto.hollmann@suse.comotto.hollmann@suse.compmonreal@suse.comotto.hollmann@suse.comotto.hollmann@suse.comotto.hollmann@suse.comotto.hollmann@suse.comotto.hollmann@suse.comotto.hollmann@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.comotto.hollmann@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.comotto.hollmann@suse.compmonreal@suse.comotto.hollmann@suse.compmonreal@suse.comotto.hollmann@suse.compmonreal@suse.compmonreal@suse.comotto.hollmann@suse.comotto.hollmann@suse.compmonreal@suse.compmonreal@suse.comjsikes@suse.comjsikes@suse.comjsikes@suse.comjsikes@suse.comjsikes@suse.comjsikes@suse.comjsikes@suse.comjsikes@suse.comjsikes@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.comjsikes@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.compmonreal@suse.comdcermak@suse.comjsikes@suse.comjsikes@suse.comjsikes@suse.comjsikes@suse.comjsikes@suse.comjsikes@suse.compmonreal@suse.compmonreal@suse.comvcizek@suse.compmonreal@suse.comvcizek@suse.compmonreal@suse.compmonrealgonzalez@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comjsikes@suse.compmonrealgonzalez@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.compmonrealgonzalez@suse.comvcizek@suse.compmonrealgonzalez@suse.comjsikes@suse.comvcizek@suse.comjsikes@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comsflees@suse.devcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comdimstar@opensuse.orgvcizek@suse.comtchvatal@suse.comschwab@suse.devcizek@suse.comdimstar@opensuse.orgdimstar@opensuse.orgvcizek@suse.comvcizek@suse.commeissner@suse.comjengelh@inai.detchvatal@suse.comvcizek@suse.comjimmy@boombatower.comtchvatal@suse.comvcizek@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comvcizek@suse.comvcizek@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comvcizek@suse.comtchvatal@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comvcizek@suse.commeissner@suse.comvcizek@suse.comvcizek@suse.commichael@stroeder.comvcizek@suse.comvcizek@suse.comvcizek@suse.comdvaleev@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.comdvaleev@suse.comnormand@linux.vnet.ibm.comcrrodriguez@opensuse.orgvcizek@suse.comvcizek@suse.comvcizek@suse.comvcizek@suse.commeissner@suse.commeissner@suse.combrian@aljex.commeissner@suse.combrian@aljex.comcrrodriguez@opensuse.org- Security fix: [bsc#1220262, CVE-2023-50782] * Implicit rejection in PKCS#1 v1.5 * Add openssl-CVE-2023-50782.patch- FIPS: AES GCM external IV implementation [bsc#1228618] * Mark the standalone AES-GCM encryption with external IV as non-approved in the SLI. * Add openssl-1_1-ossl-sli-021-AES-GCM-external-IV.patch- FIPS: Mark PBKDF2 and HKDF HMAC input keys with size >= 112 bits as approved in the SLI. [bsc#1228623] * openssl-1_1-ossl-sli-020-PBKDF2-HMAC-size-SLI.patch- FIPS: Enforce KDF in FIPS style [bsc#1224270] * Add openssl-1_1-ossl-sli-019-Enforce-KDF.patch- FIPS: Mark HKDF and TLSv1.3 KDF as approved in the SLI [bsc#1228619] * Add openssl-1_1-ossl-sli-018-TLS13-HKDF.patch- FIPS: The X9.31 scheme is not approved for RSA signature operations in FIPS 186-5. [bsc#1224269] * Add openssl-1_1-ossl-sli-017-X9.31-sign.patch- FIPS: Differentiate the PSS length requirements [bsc#1224275] * Add openssl-1_1-ossl-sli-016-PSS-length.patch- FIPS: Mark sigGen and sigVer primitives as non-approved [bsc#1224272] * Add openssl-1_1-ossl-sli-015-sigver-hashing.patch- FIPS: Disable PKCSv1.5 and shake in FIPS mode [bsc#1224271] * FIPS 186-5 Section 5.4 disallows RSA PKCSv1.5 signature operations with XOF. * Add openssl-1_1-ossl-sli-014-PKCSv1.5-and-shake.patch- FIPS: Mark SHA1 as non-approved in the SLI [bsc#1224266] * Add openssl-1_1-ossl-sli-013-Mark-SHA1-unapproved.patch- FIPS: DH FIPS selftest and safe prime group [bsc#1224264] * Add openssl-1_1-ossl-sli-012-DH-selftest-and-safe-prime-group.patch- Build with no-afalgeng [bsc#1226463]- Security fix: [bsc#1227138, CVE-2024-5535] * SSL_select_next_proto buffer overread * Add openssl-CVE-2024-5535.patch- FIPS: Remove not needed FIPS DRBG files [bsc#1224268]- FIPS: Add Pair-wise Consistency Test when generating DH key [bsc#1224265] * Add PCT in function crypto/dh/dh_key.c:generate_key() to meet assurance 5.6.2.1.4 of SP 800-56Arev3. * Add openssl-fips-DH-Pair-wise-Consistency.patch- FIPS: Disallow non-approved KDF types [bsc#1224267] * Add openssl-1_1-ossl-sli-011-SSHKDF.patch- FIPS: Disallow RSA sigVer with 1024 and ECDSA sigVer/keyVer P-192 [bsc#1224273] * Add openssl-1_1-ossl-sli-009-RSA-sigver.patch * Add openssl-1_1-ossl-sli-010-ECDSA-sigver-keyver.patch- FIPS: DRBG component chaining [bsc#1224258] * Add prediction resistance and oversampling of the noise source. * Allow setting the FIPS error state if jitterentropy fails the health-tests. * Add patches: - openssl-1_1-FIPS-140-3-DRBG-prediction-resistance.patch - openssl-1_1-FIPS-140-3-DRBG-oversampling.patch - openssl-1_1-jitterentropy-error-state.patch- FIPS: Align CRNGT_BUFSIZ with Jitter RNG output size [bsc#1224260] * Add openssl-1_1-FIPS-CRNGT_BUFSIZ.patch- FIPS: Fix build warnings. * Rebase patches: - openssl-1.1.1-fips.patch - openssl-fips_selftest_upstream_drbg.patch- Fixed C99 violations in patches bsc1185319-FIPS-KAT-for-ECDSA.patch (need to for explicity typecast) and openssl-1_1-fips-list-only-approved-digest-and-pubkey-algorithms.patch (missing include) to allow the package to build with GCC 14. [boo#1225907]- Apply "openssl-CVE-2024-4741.patch" to fix a use-after-free security vulnerability. Calling the function SSL_free_buffers() potentially caused memory to be accessed that was previously freed in some situations and a malicious attacker could attempt to engineer a stituation where this occurs to facilitate a denial-of-service attack. [CVE-2024-4741, bsc#1225551]- Security fix: [bsc#1222548, CVE-2024-2511] * Fix unconstrained session cache growth in TLSv1.3 * Add openssl-CVE-2024-2511.patch- openssl-riscv64-config.patch: backport of riscv64 config support- Enable running the regression tests in FIPS mode.- Security fix: [bsc#1219243, CVE-2024-0727] * Add NULL checks where ContentInfo data can be NULL * Add openssl-CVE-2024-0727.patch- Remove "Provides: openssl(cli)" because the executable has been renamed to openssl-1_1.- Because OpenSSL 1.1.1 is no longer default, let's rename engine directories to contain version of OpenSSL and let unversioned for the default OpenSSL. [bsc#1194187, bsc#1207472, bsc#1218933] * /etc/ssl/engines.d -> /etc/ssl/engines1.1.d * /etc/ssl/engdef.d -> /etc/ssl/engdef1.1.d * Update patches: - openssl-1_1-ossl-sli-002-ran-make-update.patch - openssl-1_1-use-include-directive.patch- Set OpenSSL 3.0 as the default openssl [jsc#PED-6570] * For compatibility with OpenSSL 3.0, the OpenSSL master configuration file openssl.cnf has been renamed to openssl-1_1.cnf. The executables openssl, c_rehash, CA.pl and tsget.pl have been also renamed to openssl-1_1, c_rehash-1_1, CA-1_1.pl and tsget-1_1.pl, respectively. * Add openssl-1_1-devel as conflicting with libopenssl-3-devel * Add openssl-1_1-openssl-config.patch- Skip SHA1 test in 20-test_dgst.t when in FIPS mode * Add openssl-Skip_SHA1-test-in-FIPS-mode.patch- Security fix: [bsc#1216922, CVE-2023-5678] * Fix excessive time spent in DH check / generation with large Q parameter value. * Applications that use the functions DH_generate_key() to generate an X9.42 DH key may experience long delays. Likewise, applications that use DH_check_pub_key(), DH_check_pub_key_ex () or EVP_PKEY_public_check() to check an X9.42 DH key or X9.42 DH parameters may experience long delays. Where the key or parameters that are being checked have been obtained from an untrusted source this may lead to a Denial of Service. * Add openssl-CVE-2023-5678.patch- Performance enhancements for cryptography from OpenSSL 3.x [jsc#PED-5086, jsc#PED-3514] * Add patches: - openssl-ec-Use-static-linkage-on-nistp521-felem_-square-mul-.patch - openssl-ec-56-bit-Limb-Solinas-Strategy-for-secp384r1.patch - openssl-ec-powerpc64le-Add-asm-implementation-of-felem_-squa.patch - openssl-ecc-Remove-extraneous-parentheses-in-secp384r1.patch - openssl-powerpc-ecc-Fix-stack-allocation-secp384r1-asm.patch - openssl-Improve-performance-for-6x-unrolling-with-vpermxor-i.patch- Displays "fips" in the version string (bsc#1215215) * Add openssl-1_1-fips-bsc1215215_fips_in_version_string.patch- Update to 1.1.1w: (jsc#PED-6559) * Fix POLY1305 MAC implementation corrupting XMM registers on Windows. The POLY1305 MAC (message authentication code) implementation in OpenSSL does not save the contents of non-volatile XMM registers on Windows 64 platform when calculating the MAC of data larger than 64 bytes. Before returning to the caller all the XMM registers are set to zero rather than restoring their previous content. The vulnerable code is used only on newer x86_64 processors supporting the AVX512-IFMA instructions. The consequences of this kind of internal application state corruption can be various - from no consequences, if the calling application does not depend on the contents of non-volatile XMM registers at all, to the worst consequences, where the attacker could get complete control of the application process. However given the contents of the registers are just zeroized so the attacker cannot put arbitrary values inside, the most likely consequence, if any, would be an incorrect result of some application dependent calculations or a crash leading to a denial of service. (CVE-2023-4807) - Removed patches, already upstream * openssl-1_1-Fix-file-operations-in-c_rehash.patch * openssl-CVE-2022-0778-tests.patch * openssl-CVE-2022-0778.patch * openssl-CVE-2022-1292.patch * openssl-CVE-2022-2097.patch * openssl-CVE-2022-4304.patch * openssl-CVE-2022-4450-1of2.patch * openssl-CVE-2022-4450-2of2.patch * openssl-CVE-2023-0215-1of4.patch * openssl-CVE-2023-0215-2of4.patch * openssl-CVE-2023-0215-3of4.patch * openssl-CVE-2023-0215-4of4.patch * openssl-CVE-2023-0286.patch * openssl-CVE-2023-2650.patch * openssl-1_1-CVE-2023-3817.patch * openssl-Update-further-expiring-certificates.patch - Renamed openssl-1_1-FIPS-default-RFC7919.patch to openssl-1_1-paramgen-default_to_rfc7919.patch- Add missing FIPS patches from SLE: * Add patches: - bsc1185319-FIPS-KAT-for-ECDSA.patch - bsc1198207-FIPS-add-hash_hmac-drbg-kat.patch - openssl-1.1.1-fips-fix-memory-leaks.patch - openssl-1_1-FIPS-PBKDF2-KAT-requirements.patch - openssl-1_1-FIPS_drbg-rewire.patch - openssl-1_1-Zeroization.patch - openssl-1_1-fips-drbg-selftest.patch - openssl-1_1-fips-list-only-approved-digest-and-pubkey-algorithms.patch - openssl-1_1-jitterentropy-3.4.0.patch - openssl-1_1-ossl-sli-000-fix-build-error.patch - openssl-1_1-ossl-sli-001-fix-faults-preventing-make-update.patch - openssl-1_1-ossl-sli-002-ran-make-update.patch - openssl-1_1-ossl-sli-003-add-sli.patch - openssl-1_1-ossl-sli-004-allow-aes-xts-256.patch - openssl-1_1-ossl-sli-005-EC_group_order_bits.patch - openssl-1_1-ossl-sli-006-rsa_pkcs1_padding.patch - openssl-1_1-ossl-sli-007-pbkdf2-keylen.patch - openssl-1_1-ossl-sli-008-pbkdf2-salt_pass_iteration.patch - openssl-1_1-serialize-jitterentropy-calls.patch - openssl-1_1-shortcut-test_afalg_aes_cbc.patch - openssl-DH.patch - openssl-FIPS-KAT-before-integrity-tests.patch - openssl-fips-DH_selftest_shared_secret_KAT.patch - openssl-fips-kdf-hkdf-selftest.patch - openssl-kdf-selftest.patch - openssl-kdf-ssh-selftest.patch - openssl-kdf-tls-selftest.patch - openssl-s_client-check-ocsp-status.patch * Modify patches: - openssl-1.1.1-fips.patch - openssl-1_1-FIPS-fix-error-reason-codes.patch * Remove patches: - openssl-add_rfc3526_rfc7919.patch - openssl-fips-dont_run_FIPS_module_installed.patch - openssl-fips_fix_selftests_return_value.patch * Add build and runtime dependency on jitterentropy - Pass over with spec-cleaner- Security fix: (bsc#1213853, CVE-2023-3817) * Fix excessive time spent checking DH q parameter value (bsc#1213853, CVE-2023-3817). The function DH_check() performs various checks on DH parameters. After fixing CVE-2023-3446 it was discovered that a large q parameter value can also trigger an overly long computation during some of these checks. A correct q value, if present, cannot be larger than the modulus p parameter, thus it is unnecessary to perform these checks if q is larger than p. If DH_check() is called with such q parameter value, DH_CHECK_INVALID_Q_VALUE return flag is set and the computationally intensive checks are skipped. * Add openssl-1_1-CVE-2023-3817.patch - Update to 1.1.1v: * Fix DH_check() excessive time with over sized modulus (bsc#1213487, CVE-2023-3446). The function DH_check() performs various checks on DH parameters. One of those checks confirms that the modulus ("p" parameter) is not too large. Trying to use a very large modulus is slow and OpenSSL will not normally use a modulus which is over 10,000 bits in length. However the DH_check() function checks numerous aspects of the key or parameters that have been supplied. Some of those checks use the supplied modulus value even if it has already been found to be too large. A new limit has been added to DH_check of 32,768 bits. Supplying a key/parameters with a modulus over this size will simply cause DH_check() to fail. * Update openssl.keyring with the OTC members that sign releases * Rebase openssl-1_1-openssl-config.patch * Remove security patches fixed upstream: - openssl-CVE-2023-3446.patch - openssl-CVE-2023-3446-test.patch- Dont pass zero length input to EVP_Cipher because assembler optimized AES cannot handle zero size. [bsc#1213517] * Add openssl-dont-pass-zero-length-input-to-EVP_Cipher.patch- Security fix: [bsc#1213487, CVE-2023-3446] * Fix DH_check() excessive time with over sized modulus. * The function DH_check() performs various checks on DH parameters. One of those checks confirms that the modulus ("p" parameter) is not too large. Trying to use a very large modulus is slow and OpenSSL will not normally use a modulus which is over 10,000 bits in length. However the DH_check() function checks numerous aspects of the key or parameters that have been supplied. Some of those checks use the supplied modulus value even if it has already been found to be too large. A new limit has been added to DH_check of 32,768 bits. Supplying a key/parameters with a modulus over this size will simply cause DH_check() to fail. * Add openssl-CVE-2023-3446.patch openssl-CVE-2023-3446-test.patch- Security Fix: [bsc#1207534, CVE-2022-4304] * Reworked the Fix for the Timing Oracle in RSA Decryption The previous fix for this timing side channel turned out to cause a severe 2-3x performance regression in the typical use case compared to 1.1.1s. * Add openssl-CVE-2022-4304.patch * Removed patches: - openssl-CVE-2022-4304-1of2.patch - openssl-CVE-2022-4304-2of2.patch * Refreshed patches: - openssl-CVE-2023-0464.patch - openssl-CVE-2023-0465.patch- Update to 1.1.1u: * Mitigate for the time it takes for `OBJ_obj2txt` to translate gigantic OBJECT IDENTIFIER sub-identifiers to canonical numeric text form. OBJ_obj2txt() would translate any size OBJECT IDENTIFIER to canonical numeric text form. For gigantic sub-identifiers, this would take a very long time, the time complexity being O(n^2) where n is the size of that sub-identifier. (CVE-2023-2650, bsc#1211430) To mitigitate this, `OBJ_obj2txt()` will only translate an OBJECT IDENTIFIER to canonical numeric text form if the size of that OBJECT IDENTIFIER is 586 bytes or less, and fail otherwise. The basis for this restriction is RFC 2578 (STD 58), section 3.5. OBJECT IDENTIFIER values, which stipulates that OBJECT IDENTIFIERS may have at most 128 sub-identifiers, and that the maximum value that each sub- identifier may have is 2^32-1 (4294967295 decimal). For each byte of every sub-identifier, only the 7 lower bits are part of the value, so the maximum amount of bytes that an OBJECT IDENTIFIER with these restrictions may occupy is 32 * 128 / 7, which is approximately 586 bytes. Ref: https://datatracker.ietf.org/doc/html/rfc2578#section-3.5 * Reworked the Fix for the Timing Oracle in RSA Decryption (CVE-2022-4304, bsc#1207534). The previous fix for this timing side channel turned out to cause a severe 2-3x performance regression in the typical use case compared to 1.1.1s. The new fix uses existing constant time code paths, and restores the previous performance level while fully eliminating all existing timing side channels. The fix was developed by Bernd Edlinger with testing support by Hubert Kario. * Corrected documentation of X509_VERIFY_PARAM_add0_policy() to mention that it does not enable policy checking. Thanks to David Benjamin for discovering this issue. (CVE-2023-0466, bsc#1209873) * Corrected documentation of X509_VERIFY_PARAM_add0_policy() to mention that it does not enable policy checking. Thanks to David Benjamin for discovering this issue. (CVE-2023-0466, bsc#1209873) * Fixed an issue where invalid certificate policies in leaf certificates are silently ignored by OpenSSL and other certificate policy checks are skipped for that certificate. A malicious CA could use this to deliberately assert invalid certificate policies in order to circumvent policy checking on the certificate altogether. (CVE-2023-0465, bsc#1209878) * Limited the number of nodes created in a policy tree to mitigate against CVE-2023-0464. The default limit is set to 1000 nodes, which should be sufficient for most installations. If required, the limit can be adjusted by setting the OPENSSL_POLICY_TREE_NODES_MAX build time define to a desired maximum number of nodes or zero to allow unlimited growth. (CVE-2023-0464, bsc#1209624) * Rebased patch openssl-1_1-openssl-config.patch * Removed patches: - openssl-CVE-2023-0464.patch - openssl-CVE-2023-0465.patch - openssl-CVE-2023-0466.patch * Update openssl.keyring with key A21F AB74 B008 8AA3 6115 2586 B8EF 1A6B A9DA 2D5C (Tomas Mraz)- Update further expiring certificates that affect tests [bsc#1201627] * Add openssl-Update-further-expiring-certificates.patch- FIPS: Merge libopenssl1_1-hmac package into the library [bsc#1185116]- Security Fix: [CVE-2023-2650, bsc#1211430] * Possible DoS translating ASN.1 object identifiers * Add openssl-CVE-2023-2650.patch- Security Fix: [CVE-2023-0465, bsc#1209878] * Invalid certificate policies in leaf certificates are silently ignored * Add openssl-CVE-2023-0465.patch - Security Fix: [CVE-2023-0466, bsc#1209873] * Certificate policy check not enabled * Add openssl-CVE-2023-0466.patch- Security Fix: [CVE-2023-0464, bsc#1209624] * Excessive Resource Usage Verifying X.509 Policy Constraints * Add openssl-CVE-2023-0464.patch- FIPS: Service-level indicator [bsc#1208998] * Add additional check required by FIPS 140-3. Minimum values for PBKDF2 are: 112 bits for key, 128 bits for salt, 1000 for iteration count and 20 characters for password. * Add openssl-1_1-ossl-sli-008-pbkdf2-salt_pass_iteration.patch- FIPS: Serialize jitterentropy calls [bsc#1207994] * Add openssl-1_1-serialize-jitterentropy-calls.patch- Update to 1.1.1t: * Fixed X.400 address type confusion in X.509 GeneralName. There is a type confusion vulnerability relating to X.400 address processing inside an X.509 GeneralName. X.400 addresses were parsed as an ASN1_STRING but subsequently interpreted by GENERAL_NAME_cmp as an ASN1_TYPE. This vulnerability may allow an attacker who can provide a certificate chain and CRL (neither of which need have a valid signature) to pass arbitrary pointers to a memcmp call, creating a possible read primitive, subject to some constraints. Refer to the advisory for more information. Thanks to David Benjamin for discovering this issue. [bsc#1207533, CVE-2023-0286] This issue has been fixed by changing the public header file definition of GENERAL_NAME so that x400Address reflects the implementation. It was not possible for any existing application to successfully use the existing definition; however, if any application references the x400Address field (e.g. in dead code), note that the type of this field has changed. There is no ABI change. * Fixed Use-after-free following BIO_new_NDEF. The public API function BIO_new_NDEF is a helper function used for streaming ASN.1 data via a BIO. It is primarily used internally to OpenSSL to support the SMIME, CMS and PKCS7 streaming capabilities, but may also be called directly by end user applications. The function receives a BIO from the caller, prepends a new BIO_f_asn1 filter BIO onto the front of it to form a BIO chain, and then returns the new head of the BIO chain to the caller. Under certain conditions, for example if a CMS recipient public key is invalid, the new filter BIO is freed and the function returns a NULL result indicating a failure. However, in this case, the BIO chain is not properly cleaned up and the BIO passed by the caller still retains internal pointers to the previously freed filter BIO. If the caller then goes on to call BIO_pop() on the BIO then a use-after-free will occur. This will most likely result in a crash. [bsc#1207536, CVE-2023-0215] * Fixed Double free after calling PEM_read_bio_ex. The function PEM_read_bio_ex() reads a PEM file from a BIO and parses and decodes the "name" (e.g. "CERTIFICATE"), any header data and the payload data. If the function succeeds then the "name_out", "header" and "data" arguments are populated with pointers to buffers containing the relevant decoded data. The caller is responsible for freeing those buffers. It is possible to construct a PEM file that results in 0 bytes of payload data. In this case PEM_read_bio_ex() will return a failure code but will populate the header argument with a pointer to a buffer that has already been freed. If the caller also frees this buffer then a double free will occur. This will most likely lead to a crash. The functions PEM_read_bio() and PEM_read() are simple wrappers around PEM_read_bio_ex() and therefore these functions are also directly affected. These functions are also called indirectly by a number of other OpenSSL functions including PEM_X509_INFO_read_bio_ex() and SSL_CTX_use_serverinfo_file() which are also vulnerable. Some OpenSSL internal uses of these functions are not vulnerable because the caller does not free the header argument if PEM_read_bio_ex() returns a failure code. [bsc#1207538, CVE-2022-4450] [Kurt Roeckx, Matt Caswell] * Fixed Timing Oracle in RSA Decryption. A timing based side channel exists in the OpenSSL RSA Decryption implementation which could be sufficient to recover a plaintext across a network in a Bleichenbacher style attack. To achieve a successful decryption an attacker would have to be able to send a very large number of trial messages for decryption. The vulnerability affects all RSA padding modes: PKCS#1 v1.5, RSA-OEAP and RSASVE. [bsc#1207534, CVE-2022-4304] * Rebased openssl-1_1-openssl-config.patch * Update openssl.keyring with key 7953 AC1F BC3D C8B3 B292 393E D5E9 E43F 7DF9 EE8C (Richard Levitte)- Security Fix: [bsc#1207533, CVE-2023-0286] * Fix X.400 address type confusion in X.509 GENERAL_NAME_cmp for x400Address * Add openssl-CVE-2023-0286.patch- Security Fix: [bsc#1207536, CVE-2023-0215] * Use-after-free following BIO_new_NDEF() * Add patches: - openssl-CVE-2023-0215-1of4.patch - openssl-CVE-2023-0215-2of4.patch - openssl-CVE-2023-0215-3of4.patch - openssl-CVE-2023-0215-4of4.patch- Security Fix: [bsc#1207538, CVE-2022-4450] * Double free after calling PEM_read_bio_ex() * Add patches: - openssl-CVE-2022-4450-1of2.patch - openssl-CVE-2022-4450-2of2.patch- Security Fix: [bsc#1207534, CVE-2022-4304] * Timing Oracle in RSA Decryption * Add patches: - openssl-CVE-2022-4304-1of2.patch - openssl-CVE-2022-4304-2of2.patch- POWER10 performance enhancements for cryptography [jsc#PED-512] * openssl-1_1-AES-GCM-performance-optimzation-with-stitched-method.patch * openssl-1_1-Fixed-counter-overflow.patch * openssl-1_1-chacha20-performance-optimizations-for-ppc64le-with-.patch * openssl-1_1-Fixed-conditional-statement-testing-64-and-256-bytes.patch * openssl-1_1-Fix-AES-GCM-on-Power-8-CPUs.patch- FIPS: Service-level indicator [bsc#1190651] * Mark PBKDF2 with key shorter than 112 bits as non-approved * Add openssl-1_1-ossl-sli-007-pbkdf2-keylen.patch- FIPS: Service-level indicator [bsc#1190651] * Consider RSA siggen/sigver with PKCS1 padding also approved * Add openssl-1_1-ossl-sli-006-rsa_pkcs1_padding.patch- FIPS: Service-level indicator [bsc#1190651] * Return the correct indicator for a given EC group order bits * Add openssl-1_1-ossl-sli-005-EC_group_order_bits.patch- Updated openssl.keyring with key A21FAB74B0088AA361152586B8EF1A6BA9DA2D5C - Update to 1.1.1s: * Fixed a regression introduced in 1.1.1r version not refreshing the certificate data to be signed before signing the certificate. - Update to 1.1.1r: * Fixed the linux-mips64 Configure target which was missing the SIXTY_FOUR_BIT bn_ops flag. This was causing heap corruption on that platform. * Fixed a strict aliasing problem in bn_nist. Clang-14 optimisation was causing incorrect results in some cases as a result. * Fixed SSL_pending() and SSL_has_pending() with DTLS which were failing to report correct results in some cases * Fixed a regression introduced in 1.1.1o for re-signing certificates with different key sizes * Added the loongarch64 target * Fixed a DRBG seed propagation thread safety issue * Fixed a memory leak in tls13_generate_secret * Fixed reported performance degradation on aarch64. Restored the implementation prior to commit 2621751 ("aes/asm/aesv8-armx.pl: avoid 32-bit lane assignment in CTR mode") for 64bit targets only, since it is reportedly 2-17% slower and the silicon errata only affects 32bit targets. The new algorithm is still used for 32 bit targets. * Added a missing header for memcmp that caused compilation failure on some platforms- FIPS: Add a missing dependency on jitterentropy-devel for libopenssl-1_1-devel [bsc#1202148]- FIPS: OpenSSL service-level indicator - Allow AES XTS 256 [bsc#1190651] * Add patches: openssl-1_1-ossl-sli-004-allow-aes-xts-256.patch- FIPS: Default to RFC-7919 groups for genparam and dhparam * Add openssl-1_1-FIPS-default-RFC7919.patch [bsc#1180995]- FIPS: list only FIPS approved digest and public key algorithms [bsc#1121365, bsc#1190888, bsc#1193859, bsc#1198471, bsc#1198472] * Add openssl-1_1-fips-list-only-approved-digest-and-pubkey-algorithms.patch * Disabled test 15-test_ec.t in FIPS mode- FIPS: Add KAT for the RAND_DRBG implementation [bsc#1203069] * Add openssl-1_1-fips-drbg-selftest.patch- FIPS: openssl: RAND api should call into FIPS DRBG [bsc#1201293] * The FIPS_drbg implementation is not FIPS validated anymore. To provide backwards compatibility for applications that need FIPS compliant RNG number generation and use FIPS_drbg_generate, this function was re-wired to call the FIPS validated DRBG instance instead through the RAND_bytes() call. * Add openssl-1_1-FIPS_drbg-rewire.patch- Fix memory leaks introduced by openssl-1.1.1-fips.patch [bsc#1203046] * Add patch openssl-1.1.1-fips-fix-memory-leaks.patch- FIPS: OpenSSL: Port openssl to use jitterentropy [bsc#1202148, jsc#SLE-24941] * Add openssl-1_1-jitterentropy-3.4.0.patch * Add build dependency on jitterentropy-devel >= 3.4.0 and libjitterentropy3 >= 3.4.0- FIPS: OpenSSL Provide a service-level indicator [bsc#1190651] * Add patches: - openssl-1_1-ossl-sli-000-fix-build-error.patch - openssl-1_1-ossl-sli-001-fix-faults-preventing-make-update.patch - openssl-1_1-ossl-sli-002-ran-make-update.patch - openssl-1_1-ossl-sli-003-add-sli.patch- FIPS: Add zeroization of temporary variables to the hmac integrity function FIPSCHECK_verify(). [bsc#1190653] * Add openssl-1_1-Zeroization.patch- update to 1.1.1q: * [CVE-2022-2097, bsc#1201099] * Addresses situations where AES OCB fails to encrypt some bytes- Encrypt the sixteen bytes that were unencrypted in some circumstances on 32-bit x86 platforms. * [bsc#1201099, CVE-2022-2097] * added openssl-CVE-2022-2097.patch- Update to 1.1.1p: * bsc#1185637 - updated certificates required for testing that failed when date is later than 1 June 2022 - removed openssl-update_expired_certificates.patch * [bsc#1200550, CVE-2022-2068] - more shell code injection issues in c_rehash- Added openssl-1_1-Fix-file-operations-in-c_rehash.patch * bsc#1200550 * CVE-2022-2068 * Fixed more shell code injection issues in c_rehash- Update to 1.1.1o: [CVE-2022-1292, bsc#1199166] * Fixed a bug in the c_rehash script which was not properly sanitising shell metacharacters to prevent command injection. * Rebased openssl-s390x-assembly-pack-add-OPENSSL_s390xcap-environment.patch * Rebased openssl-s390x-assembly-pack-add-support-for-pcc-and-kma-inst.patch - Added openssl-update_expired_certificates.patch * Openssl failed tests because of expired certificates. * bsc#1185637 * Sourced from https://github.com/openssl/openssl/pull/18446/commits- Added openssl-update_expired_certificates.patch * Openssl failed tests because of expired certificates. * bsc#1185637 * Sourced from https://github.com/openssl/openssl/pull/18446/commits- Security fix: [bsc#1199166, CVE-2022-1292] * Added: openssl-CVE-2022-1292.patch * properly sanitise shell metacharacters in c_rehash script.- FIPS: Added signature verification test to bsc1185319-FIPS-KAT-for-ECDSA.patch- FIPS: add bsc1185319-FIPS-KAT-for-ECDSA.patch * Known answer test for ECDSA * bsc#1185319 - FIPS: add bsc1198207-FIPS-add-hash_hmac-drbg-kat.patch * Enable tests for Deterministic Random Bit Generator * bsc#1198207 - Bypass a regression test that fails in FIPS mode. * [openssl-1_1-shortcut-test_afalg_aes_cbc.patch]- FIPS: Additional PBKDF2 requirements for KAT [bsc#1197280] * The IG 10.3.A and SP800-132 require some minimum parameters for the salt length, password length and iteration count. These parameters should be also used in the KAT. * Add openssl-1_1-FIPS-PBKDF2-KAT-requirements.patch- Security Fix: [bsc#1196877, CVE-2022-0778] * Infinite loop in BN_mod_sqrt() reachable when parsing certificates * Add openssl-CVE-2022-0778.patch openssl-CVE-2022-0778-tests.patch- Added openssl-1_1-use-include-directive.patch so that the default /etc/ssl/openssl.cnf file will include any configuration files that other packages might place into /etc/ssl/engines.d/ and /etc/ssl/engdef.d/ This is a fix for bsc#1004463 where scripting was being used to modify the openssl.cnf file. The scripting would fail if either the default openssl.cnf file, or the sample openssl-ibmca configuration file would be changed by upstream. - Updated spec file to create the two new necessary directores for the above patch. [bsc#1194187, bsc#1004463]- FIPS: add openssl-1_1-fips-bsc1190652_release_num_in_version_string.patch * bsc#1190652 - Provide a service to output module name/identifier and version- Security fix: [bsc#1192820, CVE-2002-20001] * Fix DHEATER: The Diffie-Hellman Key Agreement Protocol allows remote attackers (from the client side) to send arbitrary numbers that are actually not public keys, and trigger expensive server-side DHE calculation. * Stop recommending the DHE in SSL_DEFAULT_SUSE_CIPHER_LIST * Rebase openssl-DEFAULT_SUSE_cipher.patch- FIPS: Reintroduce the FFC and ECC checks in openssl-DH.patch that were removed in the update to 1.1.1l [bsc#1185313]- FIPS: Fix sn_objs and ln_objs in crypto/objects/obj_mac.num * Rebase openssl-DH.patch [bsc#1194327] - Merge openssl-keep_EVP_KDF_functions_version.patch into openssl-1.1.1-evp-kdf.patch - Add function codes for pbkdf2, hkdf, tls and ssh selftests. Rebase patches: * openssl-fips-kdf-hkdf-selftest.patch * openssl-kdf-selftest.patch * openssl-kdf-ssh-selftest.patch * openssl-kdf-tls-selftest.patch- Pull libopenssl-1_1 when updating openssl-1_1 with the same version. [bsc#1195792]- FIPS: Fix function and reason error codes [bsc#1182959] * Add openssl-1_1-FIPS-fix-error-reason-codes.patch- Enable zlib compression support [bsc#1195149]- Remove the openssl-has-RSA_get0_pss_params provides as it is now fixed in the nodejs16 side [bsc#1192489]- FIPS: Move the HMAC-SHA2-256 used for integrity test [bsc#1185320] * Add openssl-FIPS-KAT-before-integrity-tests.patch- FIPS: Add missing KAT for HKDF/TLS 1.3/IPSEC IKEv2 [bsc#1192442] * Add openssl-fips-kdf-hkdf-selftest.patch- Add a provides for openssl-has-RSA_get0_pss_params as required by nodejs16. [bsc#1192489]- Backport cryptographic improvements from OpenSSL 3 [jsc#SLE-19742] * Optimize RSA on armv8: openssl-1_1-Optimize-RSA-armv8.patch * Optimize AES-XTS mode for aarch64: openssl-1_1-Optimize-AES-XTS-aarch64.patch * Optimize AES-GCM for uarchs with unroll and new instructions: openssl-1_1-Optimize-AES-GCM-uarchs.patch- Update to 1.1.1m: * Avoid loading of a dynamic engine twice. * Prioritise DANE TLSA issuer certs over peer certs - Rebased patches: * openssl-1.1.1-evp-kdf.patch * openssl-1.1.1-system-cipherlist.patch- Add support for livepatches (jsc#SLE-20049). - Generate ipa-clones tarball artifact when livepatching is enabled.- POWER10 performance enhancements for cryptography [jsc#SLE-18136] * openssl-1_1-Optimize-ppc64.patch- Drop openssl-no-date.patch Upstream added support for reproducible builds via SOURCE_DATE_EPOCH in https://github.com/openssl/openssl/commit/8a8d9e190533ee41e8b231b18c7837f98f1ae231 thereby making this patch obsolete as builds *should* still be reproducible.- Import centralized crypto policy profile from Factory [jsc#SLE-15832] * openssl-1.1.1-system-cipherlist.patch * openssl-1_1-disable-test_srp-sslapi.patch * openssl-1_1-seclevel.patch * openssl-1_1-use-seclevel2-in-tests.patch- Update to openssl-1.1.1l ('L' as in 'Lima') for SUSE-SLE-15-SP4 * jsc#SLE-19640, jsc#PM-2816 - Changes in 1.1.1l: * [bsc#1189520, CVE-2021-3711] Fixed an SM2 Decryption Buffer Overflow. * [bsc#1189521, CVE-2021-3712] Fixed various read buffer overruns processing ASN.1 strings - Changes in 1.1.1k * Fixed a problem with verifying a certificate chain when using the X509_V_FLAG_X509_STRICT flag. This flag enables additional security checks of the certificates present in a certificate chain. It is not set by default. ([CVE-2021-3450]) [bsc#1183851] * Fixed an issue where an OpenSSL TLS server may crash if sent a maliciously crafted renegotiation ClientHello message from a client. If a TLSv1.2 renegotiation ClientHello omits the signature_algorithms extension (where it was present in the initial ClientHello), but includes a signature_algorithms_cert extension then a NULL pointer dereference will result, leading to a crash and a denial of service attack. A server is only vulnerable if it has TLSv1.2 and renegotiation enabled (which is the default configuration). OpenSSL TLS clients are not impacted by this issue. ([CVE-2021-3449]) [bsc#1183852] - Changes in 1.1.1j * Fixed the X509_issuer_and_serial_hash() function. It attempts to create a unique hash value based on the issuer and serial number data contained within an X509 certificate. However it was failing to correctly handle any errors that may occur while parsing the issuer field [bsc#1182331, CVE-2021-23841] * Fixed the RSA_padding_check_SSLv23() function and the RSA_SSLV23_PADDING padding mode to correctly check for rollback attacks. * Fixed the EVP_CipherUpdate, EVP_EncryptUpdate and EVP_DecryptUpdate functions. Previously they could overflow the output length argument in some cases where the input length is close to the maximum permissable length for an integer on the platform. In such cases the return value from the function call would be 1 (indicating success), but the output length value would be negative. This could cause applications to behave incorrectly or crash. [bsc#1182333, CVE-2021-23840] * Fixed SRP_Calc_client_key so that it runs in constant time. The previous implementation called BN_mod_exp without setting BN_FLG_CONSTTIME. This could be exploited in a side channel attack to recover the password. Since the attack is local host only this is outside of the current OpenSSL threat model and therefore no CVE is assigned. - Changes in 1.1.1i * Fixed NULL pointer deref in GENERAL_NAME_cmp * bsc#1179491, CVE-2020-1971 - Changes in 1.1.1h * Disallow explicit curve parameters in verifications chains when X509_V_FLAG_X509_STRICT is used * Enable 'MinProtocol' and 'MaxProtocol' to configure both TLS and DTLS contexts - Changes in 1.1.1g * Fixed segmentation fault in SSL_check_chain (CVE-2020-1967, bsc#1169407) Server or client applications that call the SSL_check_chain() function during or after a TLS 1.3 handshake may crash due to a NULL pointer dereference as a result of incorrect handling of the "signature_algorithms_cert" TLS extension. The crash occurs if an invalid or unrecognised signature algorithm is received from the peer. This could be exploited by a malicious peer in a Denial of Service attack. * Added AES consttime code for no-asm configurations an optional constant time support for AES was added when building openssl for no-asm. - Changes in 1.1.1f * Revert the unexpected EOF reporting via SSL_ERROR_SSL - Changes in 1.1.1e * Properly detect EOF while reading in libssl. Previously if we hit an EOF while reading in libssl then we would report an error back to the application (SSL_ERROR_SYSCALL) but errno would be 0. We now add an error to the stack (which means we instead return SSL_ERROR_SSL) and therefore give a hint as to what went wrong. * Check that ed25519 and ed448 are allowed by the security level. Previously signature algorithms not using an MD were not being checked that they were allowed by the security level. * Fixed SSL_get_servername() behaviour. The behaviour of SSL_get_servername() was not quite right. The behaviour was not consistent between resumption and normal handshakes, and also not quite consistent with historical behaviour. The behaviour in various scenarios has been clarified and it has been updated to make it match historical behaviour as closely as possible. * Corrected the documentation of the return values from the EVP_DigestSign* set of functions. The documentation mentioned negative values for some errors, but this was never the case, so the mention of negative values was removed. * Added a new method to gather entropy on VMS, based on SYS$GET_ENTROPY. The presence of this system service is determined at run-time. * Added newline escaping functionality to a filename when using openssl dgst. This output format is to replicate the output format found in the '*sum' checksum programs. This aims to preserve backward compatibility. * Print all values for a PKCS#12 attribute with 'openssl pkcs12', not just the first value. - Dropped the following patches: * openssl-1_1-CVE-2019-1551.patch * openssl-fips-dont_run_FIPS_module_installed.patch * openssl-fips_fix_selftests_return_value.patch * openssl-CVE-2020-1967.patch * openssl-CVE-2020-1967-test1.patch * openssl-CVE-2020-1967-test2.patch * openssl-CVE-2020-1967-test3.patch * openssl-CVE-2020-1971.patch * openssl-CVE-2021-23840.patch * openssl-CVE-2021-23841.patch * openssl-1_1-CVE-2021-3449-NULL_pointer_deref_in_signature_algorithms.patch * openssl-1.1.1-fips_list_ciphers.patch * CVE-2021-3711-1-Correctly-calculate-the-length-of-SM2-plaintext-give.patch * CVE-2021-3711-2-Extend-tests-for-SM2-decryption.patch * CVE-2021-3711-3-Check-the-plaintext-buffer-is-large-enough-when-decr.patch * CVE-2021-3712-Fix-read-buffer-overrun-in-X509_aux_print.patch * CVE-2021-3712-other-ASN1_STRING-issues.patch - Rebased the following patches: * 0002-crypto-chacha-asm-chacha-s390x.pl-add-vx-code-path.patch * 0003-crypto-poly1305-asm-poly1305-s390x.pl-add-vx-code-pa.patch * openssl-1.1.0-issuer-hash.patch * openssl-1.1.0-no-html.patch * openssl-1.1.1-evp-kdf.patch * openssl-1.1.1-fips-crng-test.patch * openssl-1.1.1-fips-post-rand.patch * openssl-1.1.1-fips.patch * openssl-1.1.1-ssh-kdf.patch * openssl-DH.patch * openssl-Enable-curve-spefific-ECDSA-implementations-via-EC_M.patch * openssl-assembly-pack-accelerate-scalar-multiplication.patch * openssl-fips_selftest_upstream_drbg.patch * openssl-kdf-selftest.patch * openssl-kdf-ssh-selftest.patch * openssl-kdf-tls-selftest.patch * openssl-s390x-assembly-pack-accelerate-ECDSA.patch * openssl-s390x-assembly-pack-accelerate-X25519-X448-Ed25519-and-Ed448.patch * openssl-s390x-assembly-pack-add-OPENSSL_s390xcap-environment.patch * openssl-s390x-fix-x448-and-x448-test-vector-ctime-for-x25519-and-x448.patch- Other OpenSSL functions that print ASN.1 data have been found to assume that the ASN1_STRING byte array will be NUL terminated, even though this is not guaranteed for strings that have been directly constructed. Where an application requests an ASN.1 structure to be printed, and where that ASN.1 structure contains ASN1_STRINGs that have been directly constructed by the application without NUL terminating the "data" field, then a read buffer overrun can occur. * CVE-2021-3712 continued * bsc#1189521 * Add CVE-2021-3712-other-ASN1_STRING-issues.patch * Sourced from openssl-CVE-2021-3712.tar.bz2 posted on bsc-1189521 2021-08-24 00:47 PDT by Marcus Meissner- A bug in the implementation of the SM2 decryption code means that the calculation of the buffer size required to hold the plaintext returned by the first call to EVP_PKEY_decrypt() can be smaller than the actual size required by the second call. This can lead to a buffer overflow when EVP_PKEY_decrypt() is called by the application a second time with a buffer that is too small. * CVE-2021-3711 * bsc#1189520 * Add: CVE-2021-3711-1-Correctly-calculate-the-length-of-SM2-plaintext-give.patch CVE-2021-3711-2-Extend-tests-for-SM2-decryption.patch CVE-2021-3711-3-Check-the-plaintext-buffer-is-large-enough-when-decr.patch - The function X509_aux_print() has a bug which may cause a read buffer overrun when printing certificate details. A malicious actor could construct a certificate to deliberately hit this bug, which may result in a crash of the application (causing a Denial of Service attack). * CVE-2021-3712 * bsc#1189521 * Add CVE-2021-3712-Fix-read-buffer-overrun-in-X509_aux_print.patch- Don't list disapproved cipher algorithms while in FIPS mode * openssl-1.1.1-fips_list_ciphers.patch * bsc#1161276- Fix NULL pointer deref in signature_algorithms * CVE-2021-3449 * bsc#1183852 * Add openssl-1_1-CVE-2021-3449-NULL_pointer_deref_in_signature_algorithms.patch- Security fixes: * Integer overflow in CipherUpdate: Incorrect SSLv2 rollback protection [bsc#1182333, CVE-2021-23840] * Null pointer deref in X509_issuer_and_serial_hash() [bsc#1182331, CVE-2021-23841] - Add openssl-CVE-2021-23840.patch openssl-CVE-2021-23841.patch- Fix unresolved error codes [bsc#1182959] - Update openssl-1.1.1-fips.patch- Fix EDIPARTYNAME NULL pointer dereference (CVE-2020-1971, bsc#1179491) * add openssl-CVE-2020-1971.patch- Restore private key check in EC_KEY_check_key [bsc#1177479] * Update openssl-DH.patch- Add shared secret KAT to FIPS DH selftest [bsc#1175844] * add openssl-fips-DH_selftest_shared_secret_KAT.patch- Include ECDH/DH Requirements from SP800-56Arev3 [bsc#1175844, bsc#1173470] - Add patches: * openssl-DH.patch * openssl-kdf-selftest.patch * openssl-kdf-tls-selftest.patch * openssl-kdf-ssh-selftest.patch- Security fix: [bsc#1169407, CVE-2020-1967] * Segmentation fault in SSL_check_chain: Server applications that call the SSL_check_chain() function during or after a TLS handshake may crash due to a NULL pointer dereference as a result of incorrect handling of the signature_algorithms_cert TLS extension. - Add patches: * openssl-CVE-2020-1967.patch * openssl-CVE-2020-1967-test1.patch * openssl-CVE-2020-1967-test2.patch * openssl-CVE-2020-1967-test3.patch- openssl dgst: default to SHA256 only when called without a digest, not when it couldn't be found (bsc#1166189) * add openssl-unknown_dgst.patch- Limit the DRBG selftests to not deplete entropy (bsc#1165274) * update openssl-fips_selftest_upstream_drbg.patch- Run FIPS DRBG selftests against the crypto/rand DRBG implementation (bsc#1164557) * add openssl-fips_selftest_upstream_drbg.patch- Use the newly build libcrypto shared library when computing the hmac checksums in order to avoid a bootstrapping issue by BuildRequiring libopenssl1_1 (bsc#1164102)- Fix wrong return values of FIPS DSA and ECDH selftests (bsc#1163569) * add openssl-fips_fix_selftests_return_value.patch- Added SHA3 FIPS self-tests bsc#1155345 * openssl-fips-add-SHA3-selftest.patch- Support for CPACF enhancements - part 2 (crypto) [jsc#SLE-7403] - Add patches: * openssl-s390x-assembly-pack-accelerate-X25519-X448-Ed25519-and-Ed448.patch * openssl-s390x-fix-x448-and-x448-test-vector-ctime-for-x25519-and-x448.patch- Temporarily ignore broken OPENSSL_INIT_NO_ATEXIT due to our layered FIPS initialization (bsc#1161789) * openssl-fips-ignore_broken_atexit_test.patch- Import FIPS patches from SLE-15 * openssl-fips-dont_run_FIPS_module_installed.patch * openssl-fips_mode.patch * openssl-ship_fips_standalone_hmac.patch * openssl-fips-clearerror.patch * openssl-fips-selftests_in_nonfips_mode.patch- Don't run FIPS power-up self-tests when the checksum files aren't installed (bsc#1042392) * add openssl-fips-run_selftests_only_when_module_is_complete.patch- Import FIPS patches from Fedora (bsc#1157702, jsc#SLE-9553) * openssl-1.1.1-fips-crng-test.patch * openssl-1.1.1-fips-post-rand.patch * openssl-1.1.1-fips.patch * openssl-1.1.0-issuer-hash.patch * openssl-1.1.1-evp-kdf.patch * openssl-1.1.1-ssh-kdf.patch replaces openssl-jsc-SLE-8789-backport_KDF.patch - keep EVP_KDF functions at version 1.1.1d for backward compatibility * add openssl-keep_EVP_KDF_functions_version.patch- Support for CPACF enhancements - part 1 (crypto) [bsc#1152695, jsc#SLE-7861] - Add patches: * openssl-s390x-assembly-pack-add-OPENSSL_s390xcap-environment.patch * openssl-s390x-assembly-pack-add-support-for-pcc-and-kma-inst.patch * openssl-s390x-assembly-pack-add-OPENSSL_s390xcap-man-page.patch * openssl-s390x-assembly-pack-update-OPENSSL_s390xcap-3.patch * openssl-s390xcpuid.pl-fix-comment.patch * openssl-assembly-pack-accelerate-scalar-multiplication.patch * openssl-Enable-curve-spefific-ECDSA-implementations-via-EC_M.patch * openssl-s390x-assembly-pack-accelerate-ECDSA.patch * openssl-OPENSSL_s390xcap.pod-list-msa9-facility-bit-155.patch * openssl-s390x-assembly-pack-cleanse-only-sensitive-fields.patch * openssl-s390x-assembly-pack-fix-OPENSSL_s390xcap-z15-cpu-mas.patch * openssl-s390x-assembly-pack-fix-msa3-stfle-bit-detection.patch * openssl-Fix-9bf682f-which-broke-nistp224_method.patch- Obsolete libopenssl-1_0_0-devel and libopenssl-1_0_0-hmac in order to avoid conflict upon upgrade from SLE-12 (bsc#1158499)- Security fix: [bsc#1158809, CVE-2019-1551] * Overflow bug in the x64_64 Montgomery squaring procedure used in exponentiation with 512-bit moduli - Add openssl-1_1-CVE-2019-1551.patch- Fixed EVP_PBE_scrypt() to allow NULL salt values. * Revealed by nodejs12 during bsc#1149572. * Modified openssl-jsc-SLE-8789-backport_KDF.patch- Update to 1.1.1d (bsc#1133925, jsc#SLE-6430) * Fixed a fork protection issue. OpenSSL 1.1.1 introduced a rewritten random number generator (RNG). This was intended to include protection in the event of a fork() system call in order to ensure that the parent and child processes did not share the same RNG state. However this protection was not being used in the default case. (bsc#1150247, CVE-2019-1549) * Compute ECC cofactors if not provided during EC_GROUP construction. Before this change, EC_GROUP_set_generator would accept order and/or cofactor as NULL. After this change, only the cofactor parameter can be NULL. (bsc#1150003, CVE-2019-1547) * Fixed a padding oracle in PKCS7_dataDecode and CMS_decrypt_set1_pkey. (bsc#1150250, CVE-2019-1563) * For built-in EC curves, ensure an EC_GROUP built from the curve name is used even when parsing explicit parameters, when loading a serialized key or calling EC_GROUP_new_from_ecpkparameters()/EC_GROUP_new_from_ecparameters(). * Early start up entropy quality from the DEVRANDOM seed source has been improved for older Linux systems. * Changed DH_check to accept parameters with order q and 2q subgroups. With order 2q subgroups the bit 0 of the private key is not secret but DH_generate_key works around that by clearing bit 0 of the private key for those. This avoids leaking bit 0 of the private key. * Significantly reduce secure memory usage by the randomness pools. * Revert the DEVRANDOM_WAIT feature for Linux systems - drop 0001-build_SYS_str_reasons-Fix-a-crash-caused-by-overlong.patch (upstream) - refresh patches * openssl-1.1.0-no-html.patch * openssl-jsc-SLE-8789-backport_KDF.patch- To avoid seperate certification of openssh server / client move the SSH KDF (Key Derivation Function) into openssl. * jsc#SLE-8789 * Sourced from commit 8d76481b189b7195ef932e0fb8f0e23ab0120771#diff-a9562bc75317360a2e6b8b0748956e34 in openssl master (introduce the SSH KDF) and commit 5a285addbf39f91d567f95f04b2b41764127950d in openssl master (backport EVP/KDF API framework) * added openssl-jsc-SLE-8789-backport_KDF.patch- Upgrade to 1.1.1c (jsc#SLE-9135, bsc#1148799) * Support for TLSv1.3 added * Allow GNU style "make variables" to be used with Configure. * Add a STORE module (OSSL_STORE) * Claim the namespaces OSSL and OPENSSL, represented as symbol prefixes * Add multi-prime RSA (RFC 8017) support * Add SM3 implemented according to GB/T 32905-2016 * Add SM4 implemented according to GB/T 32907-2016. * Add 'Maximum Fragment Length' TLS extension negotiation and support * Add ARIA support * Add SHA3 * Rewrite of devcrypto engine * Add support for SipHash * Grand redesign of the OpenSSL random generator - drop FIPS support * don't build with FIPS mode (not supported in 1.1.1) - drop FIPS patches * openssl-fips-clearerror.patch * openssl-fips_disallow_ENGINE_loading.patch * openssl-fips-dont-fall-back-to-default-digest.patch * openssl-fips-dont_run_FIPS_module_installed.patch * openssl-fips-fix-odd-rsakeybits.patch * openssl-fips-rsagen-d-bits.patch * openssl-fips-selftests_in_nonfips_mode.patch * openssl-rsakeygen-minimum-distance.patch * openssl-1.1.0-fips.patch - add TLS 1.3 ciphers to DEFAULT_SUSE - merge openssl-1.0.1e-add-suse-default-cipher.patch and openssl-1.0.1e-add-test-suse-default-cipher-suite.patch to openssl-DEFAULT_SUSE_cipher.patch - Use upstream patch for the locale crash (bsc#1135550) * https://github.com/openssl/openssl/pull/8966 * add 0001-build_SYS_str_reasons-Fix-a-crash-caused-by-overlong.patch - drop patches (upstream): * openssl-Bleichenbachers_CAT.patch * openssl-CVE-2018-0734.patch * openssl-CVE-2018-0735.patch * openssl-CVE-2019-1543.patch * openssl-disable_rsa_keygen_tests_with_small_modulus.patch * openssl-dsa_paramgen2_check.patch * openssl-One_and_Done.patch * openssl-speed_skip_binary_curves_NO_EC2M.patch * openssl-static-deps.patch * openssl-urandom-reseeding.patch * 0001-Add-a-constant-time-flag-to-one-of-the-bignums-to-av.patch * 0001-Axe-builtin-printf-implementation-use-glibc-instead.patch * 0001-DSA-mod-inverse-fix.patch * 0001-Resume-reading-from-randfile-when-interrupted-by-a-s.patch * 0001-apps-speed-fix-segfault-while-looking-up-algorithm-n.patch - drop s390x patches (rebased): * 0002-s390x-assembly-pack-add-KMA-code-path-for-aes-ctr.patch * 0003-crypto-aes-asm-aes-s390x.pl-replace-decrypt-flag-by-.patch * 0004-s390x-assembly-pack-add-KMA-code-path-for-aes-gcm.patch * 0005-s390x-assembly-pack-add-KMAC-code-path-for-aes-ccm.patch * 0006-s390x-assembly-pack-add-KM-code-path-for-aes-ecb.patch * 0007-s390x-assembly-pack-add-KMO-code-path-for-aes-ofb.patch * 0008-s390x-assembly-pack-add-KMF-code-path-for-aes-cfb-cf.patch * 0009-Fix-undefined-behavior-in-s390x-aes-gcm-ccm.patch * 0001-crypto-poly1305-asm-poly1305-s390x.pl-add-vx-code-pa.patch * 0001-s390x-assembly-pack-extend-s390x-capability-vector.patch - add s390x patches: * 0001-s390x-assembly-pack-perlasm-support.patch * 0002-crypto-chacha-asm-chacha-s390x.pl-add-vx-code-path.patch * 0003-crypto-poly1305-asm-poly1305-s390x.pl-add-vx-code-pa.patch * 0004-s390x-assembly-pack-fix-formal-interface-bug-in-chac.patch * 0005-s390x-assembly-pack-import-chacha-from-cryptogams-re.patch * 0006-s390x-assembly-pack-import-poly-from-cryptogams-repo.patch- Fix segfault in openssl speed when an unknown algorithm is passed (bsc#1125494) * add 0001-apps-speed-fix-segfault-while-looking-up-algorithm-n.patch - Correctly skip binary curves in openssl speed to avoid spitting errors (bsc#1116833) * add openssl-speed_skip_binary_curves_NO_EC2M.patch- OpenSSL Security Advisory [6 March 2019] * Prevent long nonces in ChaCha20-Poly1305 (bsc#1128189, CVE-2019-1543) * add openssl-CVE-2019-1543.patch- Add s390x poly1305 vectorized implementation (fate#326351) * https://github.com/openssl/openssl/pull/7991 - add 0001-crypto-poly1305-asm-poly1305-s390x.pl-add-vx-code-pa.patch- Add vectorized chacha20 implementation for s390x (fate#326561) * https://github.com/openssl/openssl/pull/6919 - add patches: 0001-s390x-assembly-pack-perlasm-support.patch 0002-crypto-chacha-asm-chacha-s390x.pl-add-vx-code-path.patch- Replace fate#321518 s390x patches from closed pull request https://github.com/openssl/openssl/pull/2859 with patches from openssl git master (bsc#1122984) - add patches: 0001-s390x-assembly-pack-extend-s390x-capability-vector.patch 0002-s390x-assembly-pack-add-KMA-code-path-for-aes-ctr.patch 0003-crypto-aes-asm-aes-s390x.pl-replace-decrypt-flag-by-.patch 0004-s390x-assembly-pack-add-KMA-code-path-for-aes-gcm.patch 0005-s390x-assembly-pack-add-KMAC-code-path-for-aes-ccm.patch 0006-s390x-assembly-pack-add-KM-code-path-for-aes-ecb.patch 0007-s390x-assembly-pack-add-KMO-code-path-for-aes-ofb.patch 0008-s390x-assembly-pack-add-KMF-code-path-for-aes-cfb-cf.patch 0009-Fix-undefined-behavior-in-s390x-aes-gcm-ccm.patch - drop patches: 0002-crypto-modes-asm-ghash-s390x.pl-fix-gcm_gmult_4bit-K.patch 0004-s390x-assembly-pack-add-OPENSSL_s390xcap-environment.patch 0005-s390x-assembly-pack-add-OPENSSL_s390xcap-man-page.patch 0006-s390x-assembly-pack-extended-s390x-capability-vector.patch 0007-crypto-evp-e_aes.c-add-foundations-for-extended-s390.patch 0008-s390x-assembly-pack-extended-s390x-capability-vector.patch 0009-crypto-aes-asm-aes-s390x.pl-add-KMA-code-path.patch 0010-doc-man3-OPENSSL_s390xcap.pod-update-KMA.patch 0011-crypto-aes-asm-aes-s390x.pl-add-CFI-annotations-KMA-.patch 0012-s390x-assembly-pack-add-KMA-code-path-for-aes-gcm.patch 0013-crypto-aes-asm-aes-s390x.pl-add-CFI-annotations-KMA-.patch- Fix FIPS RSA generator (bsc#1118913) * import fixed openssl-1.1.0-fips.patch from Fedora * drop openssl-CVE-2018-0737-fips.patch which got merged into openssl-1.1.0-fips.patch * refresh openssl-fips-rsagen-d-bits.patch- The 9 Lives of Bleichenbacher's CAT: Cache ATtacks on TLS Implementations (bsc#1117951) * https://github.com/openssl/openssl/issues/7739 * add patch openssl-Bleichenbachers_CAT.patch- OpenSSL Security Advisory [30 October 2018] * Timing vulnerability in ECDSA signature generation (bsc#1113651, CVE-2018-0735) * Timing vulnerability in DSA signature generation (bsc#1113652, CVE-2018-0734) * And more timing fixes - Add patches: * openssl-CVE-2018-0734.patch * openssl-CVE-2018-0735.patch * 0001-DSA-mod-inverse-fix.patch * 0001-Add-a-constant-time-flag-to-one-of-the-bignums-to-av.patch- Obsolete libopenssl-1_0_0-devel by libopenssl-1_1-devel to avoid conflicts when updating from older distributions (bsc#1106180)- Fix infinite loop in DSA generation with incorrect parameters (bsc#1112209) * add openssl-dsa_paramgen2_check.patch- Fix One&Done side-channel attack on RSA (bsc#1104789) * add openssl-One_and_Done.patch- Update to 1.1.0i - Align with SLE-12-SP4 OpenSSL Security Advisory [12 June 2018] * Reject excessively large primes in DH key generation (bsc#1097158, CVE-2018-0732) * Make EVP_PKEY_asn1_new() a bit stricter about its input * Revert blinding in ECDSA sign and instead make problematic addition length-invariant. Switch even to fixed-length Montgomery multiplication. * Change generating and checking of primes so that the error rate of not being prime depends on the intended use based on the size of the input. * Increase the number of Miller-Rabin rounds for DSA key generating to 64. * Add blinding to ECDSA and DSA signatures to protect against side channel attacks * When unlocking a pass phrase protected PEM file or PKCS#8 container, we now allow empty (zero character) pass phrases. * Certificate time validation (X509_cmp_time) enforces stricter compliance with RFC 5280. Fractional seconds and timezone offsets are no longer allowed. * Fixed a text canonicalisation bug in CMS - drop patches (upstream): * 0001-Limit-scope-of-CN-name-constraints.patch * 0001-Revert-util-dofile.pl-only-quote-stuff-that-actually.patch * 0001-Tolerate-a-Certificate-using-a-non-supported-group-o.patch * 0002-Skip-CN-DNS-name-constraint-checks-when-not-needed.patch * openssl-add-blinding-to-dsa.patch * openssl-add-blinding-to-ecdsa.patch * openssl-CVE-2018-0732.patch - refresh patches: * openssl-1.1.0-fips.patch * openssl-disable_rsa_keygen_tests_with_small_modulus.patch - rename openssl-CVE-2018-0737.patch to openssl-CVE-2018-0737-fips.patch as it now only includes changes to the fips code- Add openssl(cli) Provide so the packages that require the openssl binary can require this instead of the new openssl meta package (bsc#1101470) - Don't Require openssl-1_1 from the devel package, just Recommend it- Suggest libopenssl1_1-hmac from libopenssl1_1 package to avoid dependency issues during updates (bsc#1090765)- Relax CN name restrictions (bsc#1084011) * added patches: 0001-Limit-scope-of-CN-name-constraints.patch 0002-Skip-CN-DNS-name-constraint-checks-when-not-needed.patch- Reject excessively large primes in DH key generation (bsc#1097158, CVE-2018-0732) * openssl-CVE-2018-0732.patch - blinding enhancements for ECDSA and DSA (bsc#1097624, bsc#1098592) * openssl-add-blinding-to-ecdsa.patch * openssl-add-blinding-to-dsa.patch- OpenSSL Security Advisory [16 Apr 2018] * Cache timing vulnerability in RSA Key Generation (CVE-2018-0737, bsc#1089039) * add openssl-CVE-2018-0737.patch- Fix escaping in c_rehash (boo#1091961, bsc#1091963) * add 0001-Revert-util-dofile.pl-only-quote-stuff-that-actually.patch- Tolerate a Certificate using a non-supported group on server side (boo#1084651) * https://github.com/openssl/openssl/pull/5607 * add 0001-Tolerate-a-Certificate-using-a-non-supported-group-o.patch- Update to 1.1.0h OpenSSL Security Advisory [27 Mar 2018] * Constructed ASN.1 types with a recursive definition could exceed the stack (CVE-2018-0739) (bsc#1087102) * rsaz_1024_mul_avx2 overflow bug on x86_64 (CVE-2017-3738) (bsc#1071906) - refresh patches: * 0001-Axe-builtin-printf-implementation-use-glibc-instead.patch * openssl-1.1.0-fips.patch * openssl-pkgconfig.patch * openssl-rsakeygen-minimum-distance.patch * openssl-static-deps.patch- Move the libopenssl1_1_0-32bit obsoletes in baselibs.conf to the new libopenssl1_1-32bit: it does not belong to the devel package.- Renamed from openssl-1_1_0 (bsc#1081335) * All the minor versions of the 1.1.x openssl branch have the same sonum and keep ABI compatibility * obsolete the 1_1_0 packages - update baselibs.conf with the new version names- Remove bit obsolete syntax - Use %license macro- Don't disable afalgeng on aarch64- Add support for s390x CPACF enhancements (fate#321518) patches taken from https://github.com/openssl/openssl/pull/2859: * 0002-crypto-modes-asm-ghash-s390x.pl-fix-gcm_gmult_4bit-K.patch * 0004-s390x-assembly-pack-add-OPENSSL_s390xcap-environment.patch * 0005-s390x-assembly-pack-add-OPENSSL_s390xcap-man-page.patch * 0006-s390x-assembly-pack-extended-s390x-capability-vector.patch * 0007-crypto-evp-e_aes.c-add-foundations-for-extended-s390.patch * 0008-s390x-assembly-pack-extended-s390x-capability-vector.patch * 0009-crypto-aes-asm-aes-s390x.pl-add-KMA-code-path.patch * 0010-doc-man3-OPENSSL_s390xcap.pod-update-KMA.patch * 0011-crypto-aes-asm-aes-s390x.pl-add-CFI-annotations-KMA-.patch * 0012-s390x-assembly-pack-add-KMA-code-path-for-aes-gcm.patch * 0013-crypto-aes-asm-aes-s390x.pl-add-CFI-annotations-KMA-.patch- Do not filter pkgconfig() provides/requires.- Obsolete openssl-1_0_0 by openssl-1_1_0: this is required for a clean upgrade path as an aid to zypp (boo#1070003).- Update to 1.1.0g OpenSSL Security Advisory [02 Nov 2017] * bn_sqrx8x_internal carry bug on x86_64 (CVE-2017-3736) (bsc#1066242) * Malformed X.509 IPAddressFamily could cause OOB read (CVE-2017-3735) (bsc#1056058) - drop 0001-Fix-a-TLSProxy-race-condition.patch (upstream) - refresh 0001-Axe-builtin-printf-implementation-use-glibc-instead.patch- update DEFAULT_SUSE cipher list (bsc#1055825) * add CHACHA20-POLY1305 * add ECDSA ciphers * remove 3DES - modified openssl-1.0.1e-add-suse-default-cipher.patch- do not require openssl1_1_0-targettype in devel-targettype, as it is not built (it has no libraries)- The description is supposed to describe the package, not the development process or history. (Synchronize with the already-updates descriptions in openssl-1_0_0.) - Update historic copypasted boilerplate summaries ("include files mandatory for development")- Disable the verbosity of the tests as we expose yet another race condition in that- Fix a race condition in tests to make the package build reliably * https://github.com/openssl/openssl/issues/3562 * 0001-Fix-a-TLSProxy-race-condition.patch- Add Provides and Conflicts for -devel package in baselibs.conf.- Add patch openssl-no-date.patch to disable date inclusion in most of the binaries - Use autopatch to make things smaller - Enable verbose output on the tests - Paralelize depmod- update to 1.1.0f * bugfix only release - disable RSA keygen tests, because they use too small modulus, which is rejected by our CC/FIPS hardening patches * added openssl-disable_rsa_keygen_tests_with_small_modulus.patch - refreshed openssl-rsakeygen-minimum-distance.patch and 0001-Axe-builtin-printf-implementation-use-glibc-instead.patch- Add conflict for any libopenssl-devel that is not in our version- Avoid the requires conflict between 1.1 and 1.0 openssl- Add conflict on docu packages- drop unnecessary README.SUSE- add openssl-1.1-fix-ppc64.patch from Marcus Meissner to fix build on ppc64- Fix build on aarch64- Remove libpadlock conditional, no longer present- Update baselibs.conf to contain all the renamed packages- re-enable tests on SLE-12 and below despite current failure, so they are automatically run once the issue is resolved- Filter out the pkgconfig provides to force usage of the main openssl package provides- disable tests on SLE-12 and its derivates * they fail because of glibc bug bsc#1035445 - remove README-FIPS.txt (outdated)- drop openssl-fipslocking.patch The locking in 1.1.0 has been rewritten and converted to the new threading API. The fips deadlock (at least bsc#991193) can't be reproduced anymore. - don't ship useless INSTALL* files- simplify openssl-fips-dont-fall-back-to-default-digest.patch The -non-fips-allow option was dropped in OpenSSL 1.1.0 - drop openssl-no-egd.patch as OpenSSL 1.1.0 disables EGD at compile time by default - renumber the patches so the numbers are consequent- Update showciphers.c to work with new openssl- Add patch openssl-static-deps.patch to allow dependencies on statically build libraries - Refresh openssl-1-1.0-fips.patch to take in use the above approach - Silence the install manpage rename phase- Start update to 1.1.0e basing of the 1.0.0 split release - Drop patch merge_from_0.9.8k.patch the ppc64 should work out of the box - Drop patch openssl-engines-path.patch converted to configure option - Drop patch openssl-1.0.2a-padlock64.patch code behind was redone does not apply at all - Drop patch openssl-fix-pod-syntax.diff mostly merged upstream or not applicable - Drop patch compression_methods_switch.patch as we do not need to keep the compat on this release anymore - Drop patch openssl-1.0.2a-ipv6-apps.patch which was upstreamed - Drop upstreamed patch openssl-1.0.2a-default-paths.patch - Drop obsolete patch openssl-1.0.0-c_rehash-compat.diff - Drop obsolete patch openssl-missing_FIPS_ec_group_new_by_curve_name.patch - Drop obsolete patch openssl-print_notice-NULL_crash.patch - Drop obsolete patch openssl-randfile_fread_interrupt.patch - Refresh patch openssl-truststore.patch - Refresh baselibs.conf to correctly reflect soname - Add patch openssl-1.1.0-fips.patch obsoleting bunch of older: * openssl-1.0.2i-fips.patch * openssl-1.0.2a-fips-ec.patch * openssl-1.0.2a-fips-ctor.patch * openssl-1.0.2i-new-fips-reqs.patch * openssl-fips_disallow_x931_rand_method.patch - Add new patch for upstream: * 0001-Resume-reading-from-randfile-when-interrupted-by-a-s.patch - Refresh patch openssl-pkgconfig.patch - Drop patch openssl-gcc-attributes.patch as the code was redone - Rebase patch 0001-Axe-builtin-printf-implementation-use-glibc-instead.patch - Rebase patch openssl-no-egd.patch - Rebase patch openssl-1.0.1e-add-suse-default-cipher.patch and openssl-1.0.1e-add-test-suse-default-cipher-suite.patch - Rebase patch openssl-fips_disallow_ENGINE_loading.patch - Rebase patch openssl-urandom-reseeding.patch - Rebase patch openssl-fips-rsagen-d-bits.patch - Rebase patch openssl-fips-selftests_in_nonfips_mode.patch - Remove switch for ssl2 - no longer present - Remve the buildinf.h parsing, should no longer be needed - Drop the rehash in build, no longer needed - Drop openssl-fips-hidden.patch as it is not really needed - Do not sed in secure_getenv upstream does it in code on their own - Do not install html converted manpages * openssl-1.1.0-no-html.patch- Drop the symbol hiding patches to ease maintenance updates: * 0005-libssl-Hide-library-private-symbols.patch * 0001-libcrypto-Hide-library-private-symbols.patch- Add new patch for engines folders to allow co-installation * openssl-engines-path.patch- Drop openssl-ocloexec.patch as it causes additional maintenance burden we would like to avoid- Drop bug610223.patch as we moved to libdir- Move check to %check phase - Split showciphers to separate file- Move openssl to /usr/lib64 from /lib64- Remove some of the DSO setting code that is not needed - Fix the showciphers binary- Rename to openssl-1_0_0 to allow instalation of multiple versions- Remove O3 from optflags, no need to not rely on distro wide settings - Remove conditions for sle10 and sle11, we care only about sle12+ - USE SUSE instead of SuSE in readme - Pass over with spec-cleaner- fix X509_CERT_FILE path (bsc#1022271) and rename updated openssl-1.0.1e-truststore.diff to openssl-truststore.patch- Updated to openssl 1.0.2k - bsc#1009528 / CVE-2016-7055: openssl: Montgomery multiplication may produce incorrect results - bsc#1019334 / CVE-2016-7056: openssl: ECSDA P-256 timing attack key recovery - bsc#1022085 / CVE-2017-3731: openssl: Truncated packet could crash via OOB read - bsc#1022086 / CVE-2017-3732: openssl: BN_mod_exp may produce incorrect results on x86_64- resume reading from /dev/urandom when interrupted by a signal (bsc#995075) * add openssl-randfile_fread_interrupt.patch- add FIPS changes from SP2: - fix problems with locking in FIPS mode (bsc#992120) * duplicates: bsc#991877, bsc#991193, bsc#990392, bsc#990428 and bsc#990207 * bring back openssl-fipslocking.patch - drop openssl-fips_RSA_compute_d_with_lcm.patch (upstream) (bsc#984323) - don't check for /etc/system-fips (bsc#982268) * add openssl-fips-dont_run_FIPS_module_installed.patch - refresh openssl-fips-rsagen-d-bits.patch- update to openssl-1.0.2j * Missing CRL sanity check (CVE-2016-7052 bsc#1001148)- OpenSSL Security Advisory [22 Sep 2016] (bsc#999665) Severity: High * OCSP Status Request extension unbounded memory growth (CVE-2016-6304) (bsc#999666) Severity: Low * Pointer arithmetic undefined behaviour (CVE-2016-2177) (bsc#982575) * Constant time flag not preserved in DSA signing (CVE-2016-2178) (bsc#983249) * DTLS buffered message DoS (CVE-2016-2179) (bsc#994844) * OOB read in TS_OBJ_print_bio() (CVE-2016-2180) (bsc#990419) * DTLS replay protection DoS (CVE-2016-2181) (bsc#994749) * OOB write in BN_bn2dec() (CVE-2016-2182) (bsc#993819) * Birthday attack against 64-bit block ciphers (SWEET32) (CVE-2016-2183) (bsc#995359) * Malformed SHA512 ticket DoS (CVE-2016-6302) (bsc#995324) * OOB write in MDC2_Update() (CVE-2016-6303) (bsc#995377) * Certificate message OOB reads (CVE-2016-6306) (bsc#999668) - update to openssl-1.0.2i * remove patches: openssl-1.0.2a-new-fips-reqs.patch openssl-1.0.2e-fips.patch * add patches: openssl-1.0.2i-fips.patch openssl-1.0.2i-new-fips-reqs.patch- fix crash in print_notice (bsc#998190) * add openssl-print_notice-NULL_crash.patch- OpenSSL Security Advisory [3rd May 2016] - update to 1.0.2h (boo#977584, boo#977663) * Prevent padding oracle in AES-NI CBC MAC check A MITM attacker can use a padding oracle attack to decrypt traffic when the connection uses an AES CBC cipher and the server support AES-NI. (CVE-2016-2107, boo#977616) * Fix EVP_EncodeUpdate overflow An overflow can occur in the EVP_EncodeUpdate() function which is used for Base64 encoding of binary data. If an attacker is able to supply very large amounts of input data then a length check can overflow resulting in a heap corruption. (CVE-2016-2105, boo#977614) * Fix EVP_EncryptUpdate overflow An overflow can occur in the EVP_EncryptUpdate() function. If an attacker is able to supply very large amounts of input data after a previous call to EVP_EncryptUpdate() with a partial block then a length check can overflow resulting in a heap corruption. (CVE-2016-2106, boo#977615) * Prevent ASN.1 BIO excessive memory allocation When ASN.1 data is read from a BIO using functions such as d2i_CMS_bio() a short invalid encoding can casuse allocation of large amounts of memory potentially consuming excessive resources or exhausting memory. (CVE-2016-2109, boo#976942) * EBCDIC overread ASN1 Strings that are over 1024 bytes can cause an overread in applications using the X509_NAME_oneline() function on EBCDIC systems. This could result in arbitrary stack data being returned in the buffer. (CVE-2016-2176, boo#978224) * Modify behavior of ALPN to invoke callback after SNI/servername callback, such that updates to the SSL_CTX affect ALPN. * Remove LOW from the DEFAULT cipher list. This removes singles DES from the default. * Only remove the SSLv2 methods with the no-ssl2-method option. When the methods are enabled and ssl2 is disabled the methods return NULL.- Remove a hack for bsc#936563 - Drop bsc936563_hack.patch- import fips patches from SLE-12 * openssl-fips-clearerror.patch * openssl-fips-dont-fall-back-to-default-digest.patch * openssl-fips-fix-odd-rsakeybits.patch * openssl-fips-rsagen-d-bits.patch * openssl-fips-selftests_in_nonfips_mode.patch * openssl-fips_RSA_compute_d_with_lcm.patch * openssl-fips_disallow_ENGINE_loading.patch * openssl-fips_disallow_x931_rand_method.patch * openssl-rsakeygen-minimum-distance.patch * openssl-urandom-reseeding.patch- add support for "ciphers" providing no encryption (bsc#937085) * don't build with -DSSL_FORBID_ENULL- update to 1.0.2g (bsc#968044) * Disable weak ciphers in SSLv3 and up in default builds of OpenSSL. Builds that are not configured with "enable-weak-ssl-ciphers" will not provide any "EXPORT" or "LOW" strength ciphers. * Disable SSLv2 default build, default negotiation and weak ciphers. SSLv2 is by default disabled at build-time. Builds that are not configured with "enable-ssl2" will not support SSLv2. Even if "enable-ssl2" is used, users who want to negotiate SSLv2 via the version-flexible SSLv23_method() will need to explicitly call either of: SSL_CTX_clear_options(ctx, SSL_OP_NO_SSLv2); or SSL_clear_options(ssl, SSL_OP_NO_SSLv2); (CVE-2016-0800) * Fix a double-free in DSA code (CVE-2016-0705) * Disable SRP fake user seed to address a server memory leak. Add a new method SRP_VBASE_get1_by_user that handles the seed properly. (CVE-2016-0798) * Fix BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption (CVE-2016-0797) * ) Side channel attack on modular exponentiation http://cachebleed.info. (CVE-2016-0702) * ) Change the req app to generate a 2048-bit RSA/DSA key by default, if no keysize is specified with default_bits. This fixes an omission in an earlier change that changed all RSA/DSA key generation apps to use 2048 bits by default.- update to 1.0.2f (boo#963410) * ) DH small subgroups (boo#963413) Historically OpenSSL only ever generated DH parameters based on "safe" primes. More recently (in version 1.0.2) support was provided for generating X9.42 style parameter files such as those required for RFC 5114 support. The primes used in such files may not be "safe". Where an application is using DH configured with parameters based on primes that are not "safe" then an attacker could use this fact to find a peer's private DH exponent. This attack requires that the attacker complete multiple handshakes in which the peer uses the same private DH exponent. For example this could be used to discover a TLS server's private DH exponent if it's reusing the private DH exponent or it's using a static DH ciphersuite. (CVE-2016-0701) * ) SSLv2 doesn't block disabled ciphers (boo#963415) A malicious client can negotiate SSLv2 ciphers that have been disabled on the server and complete SSLv2 handshakes even if all SSLv2 ciphers have been disabled, provided that the SSLv2 protocol was not also disabled via SSL_OP_NO_SSLv2. (CVE-2015-3197) * ) Reject DH handshakes with parameters shorter than 1024 bits.- update to 1.0.2e * fixes five security vulnerabilities * Anon DH ServerKeyExchange with 0 p parameter (CVE-2015-1794) (bsc#957984) * BN_mod_exp may produce incorrect results on x86_64 (CVE-2015-3193) (bsc#957814) * Certificate verify crash with missing PSS parameter (CVE-2015-3194) (bsc#957815) * X509_ATTRIBUTE memory leak (CVE-2015-3195) (bsc#957812) * Race condition handling PSK identify hint (CVE-2015-3196) (bsc#957813) - pulled a refreshed fips patch from Fedora * openssl-1.0.2a-fips.patch was replaced by openssl-1.0.2e-fips.patch - refresh openssl-ocloexec.patch- update to 1.0.2d * fixes CVE-2015-1793 (bsc#936746) Alternate chains certificate forgery During certificate verfification, OpenSSL will attempt to find an alternative certificate chain if the first attempt to build such a chain fails. An error in the implementation of this logic can mean that an attacker could cause certain checks on untrusted certificates to be bypassed, such as the CA flag, enabling them to use a valid leaf certificate to act as a CA and "issue" an invalid certificate. - drop openssl-fix_invalid_manpage_name.patch (upstream)- Workaround debugit crash on ppc64le with gcc5 bsc936563_hack.patch (bsc#936563)- update merge_from_0.9.8k.patch replacing __LP64__ by __LP64 this is a change versus previous request 309611 required to avoid build error for ppc64- Build with no-ssl3, for details on why this is needed read rfc7568. Contrary to the "no-ssl2" option, this does not require us to patch dependant packages as the relevant functions are still available (SSLv3_(client|server)_method) but will fail to negotiate. if removing SSL3 methods is desired at a later time, option "no-ssl3-method" needs to be used.- update to 1.0.2c * Fix HMAC ABI incompatibility - refreshed openssl-1.0.2a-fips.patch- update to 1.0.2b * Malformed ECParameters causes infinite loop (CVE-2015-1788) * Exploitable out-of-bounds read in X509_cmp_time (CVE-2015-1789) * PKCS7 crash with missing EnvelopedContent (CVE-2015-1790) * CMS verify infinite loop with unknown hash function (CVE-2015-1792) * Race condition handling NewSessionTicket (CVE-2015-1791) - refreshed patches: * 0001-Axe-builtin-printf-implementation-use-glibc-instead.patch * 0001-libcrypto-Hide-library-private-symbols.patch * openssl-1.0.2a-default-paths.patch * openssl-1.0.2a-fips.patch * compression_methods_switch.patch * openssl-1.0.1e-add-test-suse-default-cipher-suite.patch- update to 1.0.2a * Major changes since 1.0.1: - Suite B support for TLS 1.2 and DTLS 1.2 - Support for DTLS 1.2 - TLS automatic EC curve selection. - API to set TLS supported signature algorithms and curves - SSL_CONF configuration API. - TLS Brainpool support. - ALPN support. - CMS support for RSA-PSS, RSA-OAEP, ECDH and X9.42 DH. - packaging changes: * merged patches modifying CIPHER_LIST into one, dropping: - openssl-1.0.1e-add-suse-default-cipher-header.patch - openssl-libssl-noweakciphers.patch * fix a manpage with invalid name - added openssl-fix_invalid_manpage_name.patch * remove a missing fips function - openssl-missing_FIPS_ec_group_new_by_curve_name.patch * reimported patches from Fedora dropped patches: - openssl-1.0.1c-default-paths.patch - openssl-1.0.1c-ipv6-apps.patch - openssl-1.0.1e-fips-ctor.patch - openssl-1.0.1e-fips-ec.patch - openssl-1.0.1e-fips.patch - openssl-1.0.1e-new-fips-reqs.patch - VIA_padlock_support_on_64systems.patch added patches: - openssl-1.0.2a-default-paths.patch - openssl-1.0.2a-fips-ctor.patch - openssl-1.0.2a-fips-ec.patch - openssl-1.0.2a-fips.patch - openssl-1.0.2a-ipv6-apps.patch - openssl-1.0.2a-new-fips-reqs.patch - openssl-1.0.2a-padlock64.patch * dropped security fixes (upstream) - openssl-CVE-2015-0209.patch - openssl-CVE-2015-0286.patch - openssl-CVE-2015-0287.patch - openssl-CVE-2015-0288.patch - openssl-CVE-2015-0289.patch - openssl-CVE-2015-0293.patch * upstream reformatted the sources, so all the patches have to be refreshed- security update: * CVE-2015-0209 (bnc#919648) - Fix a failure to NULL a pointer freed on error * CVE-2015-0286 (bnc#922496) - Segmentation fault in ASN1_TYPE_cmp * CVE-2015-0287 (bnc#922499) - ASN.1 structure reuse memory corruption * CVE-2015-0288 x509: (bnc#920236) - added missing public key is not NULL check * CVE-2015-0289 (bnc#922500) - PKCS7 NULL pointer dereferences * CVE-2015-0293 (bnc#922488) - Fix reachable assert in SSLv2 servers * added patches: openssl-CVE-2015-0209.patch openssl-CVE-2015-0286.patch openssl-CVE-2015-0287.patch openssl-CVE-2015-0288.patch openssl-CVE-2015-0289.patch openssl-CVE-2015-0293.patch- The DATE stamp moved from crypto/Makefile to crypto/buildinf.h, replace it there (bsc#915947)- openssl 1.0.1k release bsc#912294 CVE-2014-3571: Fix DTLS segmentation fault in dtls1_get_record. bsc#912292 CVE-2015-0206: Fix DTLS memory leak in dtls1_buffer_record. bsc#911399 CVE-2014-3569: Fix issue where no-ssl3 configuration sets method to NULL. bsc#912015 CVE-2014-3572: Abort handshake if server key exchange message is omitted for ephemeral ECDH ciphersuites. bsc#912014 CVE-2015-0204: Remove non-export ephemeral RSA code on client and server. bsc#912293 CVE-2015-0205: Fixed issue where DH client certificates are accepted without verification. bsc#912018 CVE-2014-8275: Fix various certificate fingerprint issues. bsc#912296 CVE-2014-3570: Correct Bignum squaring. and other bugfixes. - openssl.keyring: use Matt Caswells current key. pub 2048R/0E604491 2013-04-30 uid Matt Caswell uid Matt Caswell sub 2048R/E3C21B70 2013-04-30 - openssl-1.0.1e-fips.patch: rediffed - openssl-1.0.1i-noec2m-fix.patch: removed (upstream) - openssl-ocloexec.patch: rediffed- suse_version 10.1 & 10.2 x86_64 can not enable-ec_nistp_64_gcc_128- openssl-1.0.1i-noec2m-fix.patch: only report the Elliptic Curves we actually support (not the binary ones) (bnc#905037)- openSUSE < 11.2 doesn't have accept4()- openSSL 1.0.1j * Fix SRTP Memory Leak (CVE-2014-3513) * Session Ticket Memory Leak (CVE-2014-3567) * Add SSL 3.0 Fallback protection (TLS_FALLBACK_SCSV) * Build option no-ssl3 is incomplete (CVE-2014-3568)/sbin/ldconfig/sbin/ldconfiglibopenssl-1_0_0-hmaclibopenssl1_1-hmaclibopenssl1_1_0libopenssl1_1_0-hmach04-armsrv2 1729697837 1.1.1w-150600.5.9.11.1.1w-150600.5.9.11.1.1w-150600.5.9.11.1.1w-150600.5.9.1.libcrypto.so.1.1.hmac.libssl.so.1.1.hmacengines-1.1capi.sopadlock.solibcrypto.so.1.1libssl.so.1.1libopenssl1_1LICENSE/usr/lib64//usr/lib64/engines-1.1//usr/share/licenses//usr/share/licenses/libopenssl1_1/-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:36134/SUSE_SLE-15-SP6_Update/c640da1f81a3a527bbf09d3badd8b4ae-openssl-1_1.SUSE_SLE-15-SP6_Updatedrpmxz5aarch64-suse-linuxASCII textdirectoryELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=fb4df06f819069557e23435728ccb47e2cc379cf, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=82d1ed2d4f1d11265366dd14d661b19130e62a46, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ae0df217961b931b420c82332740850e4a0568a7, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2a62888eae00978590d695949f841b9f94c457d0, stripped/+RRRRPPPPPPPPPPPPPPPP P P P P P P P P P PPPPPPPPPRR RRRRRRRPPPPPPPPRR RR RRR RR R RRwLkڵ[ꉕca-certificates-mozillautf-8717ee4203420de5ec5d972e714ce4819b0059a34a7df1d2dafc0e1e5ee99aa0b?p7zXZ !t/j]"k%{4"c /zClŝo~a_&0nRgۇU^:+0NU} S vImq ^e@nXH+WI|pӶf_Amgp 1*HOJM BFo .(-WT\x$DꃱƩ?MD60j-\zŗɡK20>27H>)X!̍9$g3Q`)OZMpmck#QbiLjLZY7̺.Q.\MK!,^44٨D%. az'KIWN!Ƚ}#9Iw+Pqڲ@ }"@ױ$:svtp]n/L_N}ְgM 6a -}y¤kN'SP!wct6-d_V E?tocmZnpO(14zGtʞ o*FjSPB-~Lյ&V:#_h=Wp yceW l I˓~8y,Xx KOl?;ȵ˄UOu=ƹрQ|94˜=_`:QV~&CXG׸ |^neOo |];Sl;[%.YXEej_}E|E`]_Γ3EE\f^<{j_ma%\~dDMX9gF*J%߸7;ISEwI^ Zd3do~Fk6 {~nڨ,q}3Bt^dPpքG| 9B~Z5;Q-~J m$ Tt>/ʧX8k?9%9{ΎӋ9Vwd*ͩ4O;b7Ԅ/dbAVoxǪ> L-F&'ZbυMٮ5A/uNxYm$)*->PařU7 .ЕqN 쁯t|BS`Y|'EZX%{IU+Z~DKtO2?-%N%N;TdIڻ!#uyYWN>/h~VbIxYxAEn2kq*/r>%/C鞬dH)=F۽kאa4{ ;? -GZmӒX`f.CHusQ'# W?hTxscf+yXŇR$dë tQMcŹ}0֑?PtA/#] џWHe(h - KhMO*9b̮Z4$&ņLG-JBb̹C3X:Z۹q_M&F셏3.UCӌMfM= _3nOI5z 1ɜZ*-!jt~J75{;>JjH/_!6tRЙJJKUUqxs .S խ=ޗwlFAJr cdtq6\s]}\I@̓69@ʑ{dY:Ds'o4ĚG~QGm=O*q7jýl(K|2'Z1U;dz! @1$3U|{P6]Xnw4'g?PA +_=o%!{0/AP M}$Q|⠇=0N&p}' V1yF!,Y8s)l|kl5ss\nLiP2@_r1Қ$řPH+L&&"SGMMpG31y]fa:/(`ӎ[WTzKI,nܽ1;r_[; -Aa;4d3#TUț㽾B?8 EDAx9/F4hDrscv/pUߘPB:tq9ԝ%)I7ڐU:;R Es"K"V*p|65aL2l[g:S *wĨxSyӣ;Qq,N4ǣٴmE 0b 1K)㞊5ؑQv`,B2@<(]#$㢦+;I\ *U6!ZBgp;b&N {Q4b2w%+  nV}z6]챘Rׯ{08ɺQX0aKȘ}Dlg4qڲܐn^5SLEy,| "LeTG&OYɌZ3s%1 Ba,Q̜ٸY\|+HcA(r9%%4 Ha܎vZ^cֱ}xhC /˲慩x< {%PB"eK }c<%/7fJFo?F>yZ$eM9DD--dFu\6ij}Ia`֙F]6 ugTxl<oiI {2epoUa7Qn`]9EJLmIi[ܩQ ]B5w*AlM ͗:S<Mx 4h;HF쥙Tr 7kEw3\u<¾M8CgCBz1@ f/cxYU1MV̈́xؒte/ik_z,\byv~ #&@RuAgގ1ndܱKBexvĢY1ȴWe>h7Bj|O#ڪ0~h,uOzL]ʴkqgp'HQvu5u[MF>.$r/:N_ܻшcE? 5T U\S#ꤪhױՄh%_m\LOFb> 'XQOa^jVkCP9O?ctI4lZ"9 ScSA䷪4,$Hhg! =B}w]F6%wA.qbY |s-Fgjg̒Ie}В螰7 X0i$v>cLg$wG$7`BxllyPr'CS)ԝhBޞL"FoBuz=+:f{c C՞?H扔OF݉eJ @*# 6u7Qt`- +oM>D#N+ dVKMha1u?J('FNW/YL뺿ކ\0"G̐78lOBV#g#j loF "*5#ޘ-!VB94׉, ݕSg&B$xޅ3cϗ8]J>m~Cw9}*"b Iϔ,Fͷm}F'MTwb2A}  LAI\[ȶ&sRJւgK_fуjn7 Wl@J۟\&Dkᜡ{F<'dUQ[h:·ڝ;J!YEI]]Fp.gEiځj@ϜK}puO1~iIh/0/֭;X@(h57 $T@!2BR~ח]!V)jaNl4貗bWwE>?vK99$5r2p1傦mHؐ^t?C; MҚ AgK:EAG/+'Uh=E֜7z<0C)=R"dnb\ٝsYb.,kUx>+Bјa]pJJȥԴўGp( Ms\yx,C 4[&ϟSQ6OLh5}9&wՌĩ6.{Y"KV^5XSI2Sʅpά<0V{{ѴߛȤXC?EyU~TۻYX-5>{v ;q?#B?#O6xmZB2N.€Ms?W!ÊXɒ M2l%/I:9/ =;ZTQ~kŇ2Սt'MqC\zgt@`k2Q ?ب,e) !w '&cG]lK[t8- vb/>d+[S$isT#}?%ĶxRb8LbY|)F3E՝{kΜAC2Kݫ2?"Qchaޑ瞊+Α~S72!kQӚ~lsKHE?rPUEUMpUb70:t!AM:`pz-α}s!sN9 FUY>71YjYOSHR?];\NPKjYCx1Jg/솞|u3Z"R:r=z+MPaԠwpNq#x KXT0R9L\e:FT@ Ūk;-;-mra:wK$VAX{=l&̉:q\4~콷܍DV9q \6vm@27VEt )YWouX&P5B){y*>@$t*Qp4 ]`SZ ⑫8? #"GPN{4b[ Ú"-:1wAt n){ڕ0'xjrBcSۏ `ug|!XeXDe_+]nbc/ɜ~aP>&S#0×ytB 5z=ߘpDk_PrfCM+] aj"W~ňSc^؉,Yے̘t rv* 27$u|V!9kq`ddOaz's뿉~.G*<(r-*9~VP%", '9iHJ⴦D |=\mO_qOX Yzӈ\%Og:BTQBeǤ|˗jrUj dC͙gG5l*~yZrX@ohEXGNtdU&-~Xut`Np[C:pk'ވ-|RMThF1#?`W@pCٹc nW`OCy۔m ct֝f9GS/]qHw(ό6'|- Zt-zq>~mWPHW)%u_q o$ȅ>(hk )|Kw{~l>13m{wp%ƣa54tډC3*&I?j[KFUѢdy\Crw%|RG Hqm7W,>~'cй{WψQS^yOΜ[u  .-ljŶ5zgY:(zAcE.RasdYS2ըX5:țhhOgCK_P1anmx4G##6n{|jVpvYVY RVu}R2L)Wֵ64AGWSBkxaH?@X0a^drzި0)Wi̙f4I`@!7@j>/Dc4b[n" B  LJlo- DuiJv4i݀$N@L$HvʟάV\ODM| ;RdӍn|]ց:u6Y![fzx\;gA/WB |f&3/e@gL6Ĩ 64/ {I_âHtt AEiOp՟z* B<!=Y[ӷ= JYTyiboY{#MoF wB:2lʹ) {#&%uǴ\r, c鋭nPXYjBb2AUN0h?UT"!/_/TG oۘ΀\:*,; C$'"+giU"$kư+y1q\x  i;9һp:}qSaYpk`.42: ̐ )8bHB3\?YaY' 9#Kӊ&(jLgocWH:?r7]W"`=Cr']:1*&>Y0,s1v,p r(/:57y}t%"[CDD4dWSKc.7}Y(]Df?-v sY-%RZx3à#C̙yX`5BzT$`ZϔyCB'ݺ2KFPVF\0NJZ8vEZؾ7r-l׬?#gA$x̹)7t<1+-(׊VNJJ!шX$WC ;=0\` 0s.5y6c=aǀTvḢ#4C"y X~gy&Xyx2Fξ-+fNJ@d({&s=b5=҅H"շBeU>%Jyfb̔"^g'QX{2Û~]qBbyR BD`䝒(v5+n]LT;^*|iplѓ{  hJ}1Z k?ДiCn?!g+ʧc B疂gPlKi1FxA#7+:Tőp,e/"ֵ1>%\>^(gvy6UG7f/ S beQ@IT;U_ lGL=n*rT8yU? D/TN~8Qj 4-,C P,bM((Cam3+!NkhJ=kX5,=jkְk;,m'EۼK2QY~w# zM9bxE5IWGhh4Q3agضUlqeSbEZ~Azm6 (?tSF,Mfmܫn {Hgetddɶ9HHy&һpjSbva%=pUї<N;7X6@, iz[P<>venm0vmP5pY2`*ns \t<ԍa&Er19.þ+-ݑcm2,YGxWeoYMWwM6 HPx-"l6ɦ}qjYaW'4JeԈqCNը)EWznF}A#1Ajg&gɺSc>/ dªo1PQE{U1Wrkft2 %8Ҳޏt%-؟ /FԒ= %k` {#BXw%dĭ  |o4Fz؝P܋\/q{9#ZNz@OXraĜ瓿5de6< yA&lyu (Q<^ʴnz6j<:Խ'e|X 1 !Xc#&7IE" KuDۚÇה<**փIpix@W)^OJ7ބe€^6C~nБ} CIU5H>=l7ꚉt&!U0w+"ocLP6wLK,ٶMUfCU-j _9!TA9#]Vc9R /ŕp~>}FJ:HUh$0]xN#Ÿ31 h5.⇌HICŰ0"` Zir]8r/64lޭvt9Vtt2eE!omu '?s"+r9s`#Q1ld7!Cs`|֓$ڨՁSi WB-uD҉ͫ2%ZҥNΊZjԷ4UMY e;|jOS!;.y(H}Dc_+*hJ c} ɉ^l,E~q"fnjf ˜I1૵іF@M `:0#RFp".U3v!X_F ϵG%kUHǴ} rJd^opg"d y,БJdDpɀ-sKHW&j!;t\QjWC}3Sص5"n=ֹimE#ooj2.J$ȏku"RNTkguJ.257it 2!~7.jtJWD:XtyX(P lkU h.ē(+a* .4L';7}4Լ,Iձ,v-5FYu#"Y~[aH ^zOEMʪ;OTzPbiEiKWr <%> /{]C/wz3&T (Lc\"MepZl0UP0ae *,JAj&w>P[AG`}.wN DWۡ %LdѪJʼ3(D<FC>nuj^rA Jpd_08e1`gc\벺y3ǚ(i|y;}tZrÃJG? -ano@siZq ؁^s>%n=Q1f.qPkK 3kLPvn:vDn毯M8|+#F! I֎-~}p7@*Œn{'g'NOCnj*9-uFÙ!9MdȴGWI1O J7[Wm3'Pjj3k*NF,`A*{^# x[τ>(4=$X&C}*VsI_@Jx$!Τ`7fl^ny6plFCcM- y'yRzdmƿd{K$S9x SP'^x+­W5vԪ0:ٿu-jw3V[jc>> Hvi# DZD 9,ŊuO@?W)z0?jĒt-N~?}jfLNqxɩJ3j.ۥ˘ <%Y&GR1J6ϗH0kcq4lBޣtK|9C u>/HϾDa!,|rshe@@іoYX"yq5#1ixitm[~>)KA$f1T9Рe,O niy]֦'9D 3_u!N]wGWJv؝Z*1 z&ZiJW'ּW_-@xoMx61W/u_]Wd|.=2|렋 ,Ec(ˍu9LgsjwujSDx(0$_)<٭A6!EE4#YGSABeǎ^WL} g]cu _s=8,Ɍy>V wt4~lMXʪ5ߩ*YPʹgc)T,5Th雷^+=i aw>+ߺ]*(j@j.k#8l2C+\q-X^Bm E9I+@`<ӽ^\?1?2g͜fG>JFDf-h 2[-ֺ4Rro 1GtF"ш]`ұs/%k]Fݲ+ K`W;^xv@LV v}zaòQ ˌT_X:k'dgC*l级vyQ׭3SNmB;Τ[Co$#2kܠWcĖF |k2Gm8f& ^0i-"\${ Za@Ҭ Zp#|u0nͮ -z+E@*fxI~Fu-|k+jV"ǠtElFƛjN.! wsy\ZH|~Fo6G%C䬑/is8?Cj+}C`{I KM"w-\ouROtxKfjZ[40N[x[cXuyOU>'q)A\I x1yp3m!"+b7rK9t,\y~&)K& ҹn9{yǻ) ^%M$:y0j>1 _|:;f:w2ݢvnHKGQ2if8Xl5pd@a:O%Y1@').`-IR{ ᑙݾP{ [am>(>3^.ǖG 4[cpP2^G\3~M~!%2d,~1+;OxVj5K`^Gj )|S&wY6, A38oB]#ȚX}kf# leO'BU^vsTK_]S`P,VDl뾈Ns֔M+ĵd6*W%|I_ MOp<YXf`EbL JW V|pCj1u"b^_Mo1l :uAsKm i߹`Ϸ?#=!3 "O$ Xc4<ڬHPl1-Or$yʗxq=~f/ط0]ZZYXjgE2e _W8}b#ABvD2BQ~("dݽ.s${{OYp2yU]q' L4Z7w3^]2l'.++ўZS, aomku+"sFRpgLO5rvmK9b^M;_c{$UҁlR=NFLIA+DE9$Zz9>ޯǓbq쌒[>]~ơ0 0i3j9d )VGG^3V`m"G gȜ ):dHl'$N:嘷:s2s `Z12/c ^HQPwNP5݌[ZL,!wi.=|P#LSn'Qs<8dWDEҶQ"ţ3bU8WS[=P:d%Vd?[`Dۼ?d:~0^?e#tj˘!&ξb5S!f=YwlϱnNHiYr)! mԔY\Y/aQ5%{eLeO&nӻqhHPJ](9D}h묉!so7*NyFED]GD:6uG]o%9()Ak:ʽ{kˇt_Kc#FW)@k13v wmb$XC$ DCfԼ*V@h?ea{KQ@Q)p\GNr"mzJDBa͉஢u0 P|OE+(/R#W qPa G<4v3No7S〳5ĔV|X</~sT˞s? Eb=ju[)L0pYffdzJ5EGne fh21cA#r]W-ܻHA2E A%x@%YޡQ Ɩ=]bOyk.o~s9 C1EI%6pY_ P."z`_-IVؤX ]WKsAWG[Bl mxz#L5v1G( y=m/\ V^ClFHbÜA GajJ 7q PLǀד3L|,d4f9~s?PN֕u J"A/!+<&d8<"f|{CބyKa=$Gw%n,`ɝV^ s㡛*YLz2uqHM*Q=i&_n0)]*9*8:KC?@nX'8Upxwkzp&31o{u[D1ԱKy:{>3pz xhZ=bۥkcdsLcBbG/t_`=X^v' ,i@C:4Tԭ\լg R0CF4 K8M E'0O3`?֛'J=t >D 9$NG{*gW.^xqC$lh s`p+N`w!hMPuak|95$zk3+zM jm-D Mء̪_gٔap`@ f,pPyUU%2Q;cN5_Fyƒ+icR HVJܦ+ zavt|ѕSF A0\9Q0lJ+HGz:=XĈG>.^/(yY :GI/^) 뻈r7$5@O)4@?HH !^r(B R9He+HdE"ȑ)E}Yrw{( =Y4>&}o}:m?h$\q{N\sIݞ4 yxP|GlĐߟRq2~FMxya85g/^ ;&  0E?UW4qz0]1ntpNlx#e ȧՉ@Y5tb$UrBZ=ga"BRa<Hr2G{`\(EX^=E]L tNy[{{{C`6ȉ@)^[A}{!0%at>MuV0IMu>JF S}Gk+ث )mq [dÍ$SƠJ^J$m=st6h̺ȵ䗿mĔY 1qZ}ojVS=[X3Zew*r(?a-Ұt6bwfRpO}gA.8IE^I臡% Kk= U^&fy׊" v)F%iuAH=o( Bƭ9m/-117Rq+Ǟfɲ N].$T\CƭYcOsjyc&thMaE:#3.#0NC,o\nI*,rȗtkȓDA A hY~!Iqo2DJ+HoxI3!5&zޮ<8Y_g^;++EP&ݬa# hM j 䍢L4'DLg@psj\O2{%]?<]@1u`п #@;B1Hn]jFCHY4gc`B' *t ho%3 $ *pM dm"-Ox'<'ͣTPzR  #~v 9V9^6t_HV3Slxޤ4(gݽaQVUco%fvjWۃ3'HER>/g ߡc@*==ƇjBTuYYȂ*XϯFm<ʳ;Io.-^GrfG/7i[vE H V wA])qXmC< 6BZQ5x ;eY^vzWWir-T;Ȇ]*=E_3 Uo[_ik;+o$l GBPI+oaZT;pb6 @ 3A Ҩ]s5oFMQО 8x*3'ni~'f>!4{4P[v*dMbU2oau@F z"PzbC!]Kevp&Ky B<%ԩܫZ2fc*aE+dSVApCI vѥHE5Eۄi.JnEHJ"D gf[?2ԟ'k(YPd ϴ@} ^T)be7$BLj33J>8hZz֮>Z*:[DzA K @XStyrxL$gB3(Q<:} \׸w$T/|$)Xgg'D"u ,GDD;OZCY׵=|7f3esh/)Q4UU\)zwC(4XzA]Ǡk _ "Z'(ioy:V )'.rԨN7MpFApѳ)3ы z,6F43v XKo Jݳma'YF*Xq{=-\e,dlyu:2 }B|Ο!UeF9_~b$`qY3:BB@PH(zku\PV 4a(ܘqž l5=qݱjgm3K+ vcLn ="ǦAr :w?h-ItUR]2z%xOd(a?~Hk$EFZD1jUTJU~7y:DӀ;9U5Q]/B_kMMh+d|n^V 8 ƈR .T)Sro mɛ"x U}tďqٰqNCVb3?W̳Ėq }v㭖-aqwUGp1_!˛IK;LhHTg+凑0⥟^as% l#Q`1c=GU2 ΃÷,r`Sw(ʇk3jkn \RkM LCc,M&!QR+s$E1p{{K3ZZC:˚ŝ1NZB s9bDzZr% T۩KzW "NI5 dzL.zP]Ia֩{ZvG斅o6i bȃ/K+KOrVI~{DۖBQ^|{JN}EDY=y0;Ѽ9n_ ={Ok'J Ld=mϔ"oW^\K._ ;W2.G0*nR(hPRęhYkK 0BJǷ78mz1%HhxaiEXW~J?56aDQB2L` t63*ufѿk}4%xa5sq~C~H(x_?"2ł9p$'U$'oem iC0TYefNs/f~希zd1V?] o u,+5;!ßz%Lf=^R5"0]~.b燤.dX99Λ8tDۑ[P_&m]H;;>>S9ޝ{ ii#?鎂(RYBO5H)͍A&UKkzm >kh'wb9Gps X܃!,P%NmC&Pe6Pr ʹ ON0Ri" s)cJR"rGנam]Eju8:@iϱYpݭ搜|2./ieU+V=W8 aVEAoGe`TsH$ {0.1e"~uĿgeW1˓ߧ iQQG!W%vvM뵶t쌚m^V5p _mllQC8&6COKkbyut$Z1#2#__+> e.$N7J'cpXEՒƳ;l[Y;'Z-pIvZ& P M6.kS^֯9F "q!6jÀꀣxTG OWٵc蒧MDwf |ܰ*2C{hZ@>ݻɇs5gʋ4d.Vp YrOK WAd`/c>%cXlt/ȝ)LIuaa3 Y#_ukeY'lT ØILTE*H*=?YFӍ, 4gvyȔ ?qx&3:yY{5*bMOgd}WߨJtۊ;̊i ɣQæ(;aJ:l?cobaZW@p;ƮV\lh k3{>/P;C52⹺#Eڤ"j@=d{05^a_NN&vT>9({8DiJD=,%Pn=jb o.l99O.XJiA1sL҂h4yO?) 6Ʋ@l1pv=. JeGYw_XsepIJ 65vO'2B/eS+wQb?5e1o$~:U#Z#!%LkqSM?)Gn] [N)T{ @){S/:אKUd MKWǭGA0W3;oqZVbȾtmY XJ"[2Jf8󁧁JD:cㆦ" ִʩMxNv0$JT]y0x|7 ~twCۄsnX@ZO!d;SMKC\H EiƠX,|vR)GT ߋM姲hIn W1tЎu>\llFP(K1/3$)yyBX-6TuK:(z9mw9;{vݕOF/C/_IV<.yDvVw$ Z^[ԫ|b? <])_`flQXuDv} f zE2d"dZl\[! xmdj v@2Y8X#(`oևW$M<5;o]tRas+Z:@&W~s"uu5xj4ئ:=]UfgJ"KRxz 67ѓ2`SPM2sFF炽ŔQBo) 1B"%f%}4 )S@},>\|ue `جw,`HwTܜ+.<*#^~uS!uC]>x%M>W $Juw$=sٛ6H r4Xp#_:~K:~ 7[GݖnHS$Vh`%m*&\¤mТu,6gQ3)rEh!lgN`I?zM_E۫\Xn0-gq'mMvТܺ<ecMcLqЈ/t߇'Lӫ#rsb$kizwƩa+[Y$50!{/¤`s4+o~)GMmTp[j9ٜ،fiǫccwq/="zv43] ЙF +fc40væL/+bJXm>,6|hapM{x!:pǽuł7̻7VS!ɚL|\I7wĄ"*-C$|p䩹 [;ObzUXdwed@ዞz3^ W&L9_̐1)ZEoC 9v #uPFxBn5d%6Y/tUo1=E5Z~LC~ J@7^7 }e ,*[ID4jꁸ! .))kiKilKgT81d%dcn"h15mMP~=൸5nۦSAY+p.BCG#u9)hA:i'Vܥ8\9x fBh:AĞb<0𫱝UK`/@oA)_s=,0KE tZqI wh{ >DǍGA HKqH ƖK:f`df2:"[E7lW`lDFٱY " HD4>].03 f9jӈ f V]$7ZkL z1;I#uk΋ Wh]q㇅ P!;ԚiwEdi/ rLq :B:8T/彭?r@R[ochru yϜ>B56^:zo i(g#>{3+0(nH坳1̭4#ݝ؎ 4bp0@xGie?5\+8x` Ƃ?Na]|X35Kf9 6z!0cFE6Z&ŷG[$969tl)DF6ܭ=eUon]+~[*Ygӽ]i~[ڰE(RM~: | ʸHY6ky_W&oɍԜy"z*eĎ\E:A!n4˪ջ ,I's$[;Z`UrC2mHl>sq`Z쿵5Ellb泃G'8CcXojzVF͜xFĞnP@A,.jN)׬'}AC@A{/5ОoÜR ;Z]0+,;-I4[rw/# NZ5q'#Xlq .Ƨ@= :қ EeLmOgW+T-Vʫ-\P"4jNKO=.T<C ׹p@Ev]4"唈j j͓T>Q|â$ٷ{A}*jlhs5_:WjSSO0)3s,K&1awl/bdXk{h7(pܘJ< a^- |ю?a:}[[};yG腧ZME*R Wir4ots @7\**ͶTD%$7=1dk 82;a+l%*(*d$ڤ3`?dwR) (.f>IPzB](<57R&V>)࿠z,&$"p#=;VW3]ASi#=5eП)Сp2ģ`L+V,r y%>h :98ʩs}\ב6Y1uW%M>X0%`r!aIԚCh4_SNAڊ-Gi.ƶHn4p0Dmf[O!?$识bV0\^:l A115&tMW<5Vш/V:8k.4:,:+dzȶc&t)qdvf6In ])t-_;xi`Tj!%GɞR51y%ecd\V Q"YsPQl)eYd,kq}D@^Fϛݬgb!}ks Cۼ~Ul$O. bg;GoL?'td ЌgIyd ==4+,٤J Ju1.a@a`bhJ ̭!vg!x&CucYC.F rҼ iJz?B&zҢtIFWbHѓ 5d9* >USٍ#kw]dI o6Vg{ %YNjz-XhMBi 6e8 J$ (K o䅌RjpMT>?I[M0אd+3Yu0oo'/nA刼kl9۲T )Dr$GzB%-ǸB 5hyB32ᕥ\G&蚹aGV#+'|M2@0Hِg, ?$ޖfm t#RQ| 'p&Ҩ1*VNIh+G^)pIt{ ['C2NJ7n u(F1OLb/<1p]}E?N֞ww }I!FSikǪN6(5@gwu8p|ڵlϞ\P`֡*X0FaJ7I Bk18 WHT22-ӘV,o,*kdu~&{7/s:CWno'8R7tK{X?0p/yY8p;!op#C} QsDнP+3!Y2m8Wq X;CjP",w}GR"Lksĺ"=4ZÕ Yweki%@+w%̂D5b<~{I!;VEmcx99 AKq{K.*}׭0Eqy]5KT&fsu% v !#fdTc:}Wp,3rp Z->Xz#x:WЩid гAXa0n`=ڀ$/zm@ٕ4{=36$X"(/ XQŝ_~KQ#Au]v 5AǗsH /[|ԓwPз@tu+7sH?\qA(t,ŪhijU'pp &.+ƕ<:trr{:3{w@^9P~a:ujPVJVLáU/K$á!Ѭ/5,@@ FCb a:Qp*EBϚg=HhH|IZ(r̥Lж2ZߗѠۺmk%+-3vR9ϾMg\P[sDw9 #L Ro$s[I j T.kFmK3g twσ.5̿ [Ќ|fhd!md9^ S߱,R<`Fe Uy"3ZxrӎvjdRHY͈)'^fn蚺_n7t,h2t:+b:'GoJ1%l!>ZE#RE-;lF` LU?do :{/5X_}C>79%S3L1:J=o][D.hzaA؄$8A@$:GLz đi\P ٗ7"{:"\ri/!5lkFM礝sXHuF ;'~B耭a1poh@ J04ǣ5[G#L. U6{ {fXث>rŠUF1Vw5\0k!wPD uB1=5}i4Iz h6@36$W-9ҟQaUYN#,#p!6'Fz( [[я/PȰ"KT 7ض14 Rv N;ɴ9fѐGT+2ռV_3rM~~?j# bꬩ@\L{^ȱ)VQàԶ,10T:sP(8z愥T;]Bw-6oo^b?.}LHY0be\ [9\ӝ[]Ra! 2͝ -AхD$ԖMC9wz!J -vе>- @Ljfhx;=VSZY`l۱wq >NCx&mL)`eQ]+]ڣZR.&~'of$AjW3B=?7N`?5}r 06{P mûIBԶw; ݡ)gRCԤeS=?dAWe0-?%Su|ӊ*?PZkom2@̘i\c@%CpNՔ>\ m7J7\+`X.BVArs.BRE6J3NOп6+q܌ `6(]_En'RNV: Փ3o Jهzm2д)Ӣ4zPX,y>| ˜}1WB1ϺڀѾbr4.ɚRDUm- Bݫ. #*h(\44xe.r4+!.pm^4ܱnK;cs? ̱ՅDϸYX6 4Wm:{uΚw[^4S3||ou iQs:Qv ɐb3Z uN\ ҄fo2'F#X* $fh8 ޘ71zZӪGW(Va@; ֑XB'ldv=LA߾ D.pj|^Ҭr7 l*~ "8" d;kl-3RkXv[Z뚔=hD8ޅ;T$7~&r+ ͓ SȜ¿hBo^V ʏO䡤Jsz8VYK/V}@V_SgJљ딷>A^VU4j$HBKgY2^s<;2mݠRxnđ%`nv}ԏ^B=*|U2Nf;8GLc qD\96ڡܵoM4G\fcȂyhBPVa5b t vCM?=E^ΐN{2SԷb}͞%J8rP5]B_q-ZC݋f?}*eD F:ԃ2H߰ uY0lvtv}a+g p`ؼNQpڿ^{W0}c`newQX4Pj]%i5Yz2}H$0/[k>(ư[ޓIZQs5X>Y9m-S2ysG S6u^S}c= j }lk1'1'Ox Z!@QOX3-0yPx >4M;a ȗDfUx*woHoesU>k4uKo} ;F,<ХHګ){mwQ>M3:\mavx.QG]EȉN*idfQy š 3I=Y 4g,㘸fjZ\ugd[%>NC<mOEi(tm'/kRPk$"c$joѯŒ9ϫDPHlQ7#~1w7fNa;ɨ}T !ow좼 m7,>61gEFQp#_1\L)e(^ DknMh#t;u㫧Q.tvt !H1zS irt}4zپ/ 4t9]k CdPcJ*|^32z@"i7%M Tk7W~n[ jUo*"Rxskao` yt󵞩.Ggtx &t397*$N;arQwZ4xTub-]˯##Gs0lq!r,^_W\x}]OqTeG w2|Ch1Z:gր8F1.jl ˜+A+1|=wyͭ Aτ~߻CTC=Eg2Mܮf2")x"5_):}zR/b?m4!0CDHEyO]iS\ #e8%b.)'\Wd!o /@[t78a?heks,OՄD@(N}ϯiDTG2nșqmYNyv?:. {:`?߫7}#NĤ|$2?/"8]̙kK0Gi dHfC'Pk7 ޒ?' c ngW &}!ïܟlq!tk}IM?:'Ϫ! mb?yuzoBd.L>\ h)axC<<)(%w[Ex@ٛg5GLWO|,w5l:$I10iq  >֓!ԁh 8[1HO\H(d鰜cP&ȠtFH'AqcR2q辝^3MZpz4LW&*S~Y "6|ފ}0Rl''o;a]{6#qiYDN D0zjrrVd?7k&piA0k:60CKpXū*˅ /Nl,\9j%+hyuPh$!L.Sy$[w) D^)w\nEzurWB:JKi/+ufS?n_9΀r'έ@=6f:"Yyőr\uLg6!+));s\೼ݔHV|fHAϢ:RϘ)<$8Xzh鮊V㏳0-!)cLSwpdl@C"0 wo4`ʲ3um,ϔ횶M(8 r&t;/{'.RNH3``,Ee4e$eAr"{Ie],ӷ^lXVV7;,ĨMJr,Wgo PV:=&[6 ˅kv 1ۂFiex]#m? $*}/z/w`Xf9'N5,6 zÒz2K)Qe=uv `Ma?`_k|l5Ztbnwl!ղP!,*?T1nbȱ?<0:h #}΄^ghX;?r44y9F$8ϬޏXPw;_qލr=OV{Z $#IUw;y!3p{& ta\k L|v%@]G i#wtKiHyfMRM7i|DhVh_q]ꞯ.٦Sٌ./|R>+L_77/Kؘ%ԓо!2j~3-ˤdpKv4tEX*,i=s 6QTqoϯA/(Ϊ4_Wقπ5,LUsZ ='l<|N;9,6mLm>crμf "/|]%DcBEσ#A̅ ' >U&=1|_7vItNlr7P,FOJJP1\FZMD+מV~!8DV!w&cXY8ONYJp57}E[jc#={yfuJuÂӝL3#bCO8V| ٬3\loU;D!䢯AFڜ~bǑ5Vױc!YF5lB[Ֆ`_F)聍[ީ_)[|(Le0x)zCW[x}ƤS@^զ"%yKéH*9M:{FOaݽL /ޅa>G%Gl\"PT Sp祳e2:ЈslKk<×td_C_#S'K"][!_Dqu,a1vf0\ ~ o'c?Ͱ?s5M.cNO;ʖ;xnsdy-k<5cs *ڞ!D$l(f<)N%F3,3^ +#Y=bXwbEc~/!m1WQgxlmSF.(hLDhd+vQF=b{ླྀ0f78!9=;rV:C["Uϡ8,>Y2="25@eg(v~w>£qU]*B/t RSc^yAr6SŌZVCl{oD GIuƊ?Q+hi06>: _vx<&ڽB)kOQ1DbZ?7K_~[K虿MQrt$^,Zں$ ׽0iCUd& L ~I|Pע\'P%ʳ̜ } ^,6h5}xA)RTvGFK]ZUpQ)- 26P{XCq%%'IsuNhXO:p3dٚ1wB|?sǨp%xg`SJmY@fw7/\8&O׹L\.5lj^?ӹ0 |cht&n}~0L\*ܜ:hL>̒$ZOZB!y!#{~[3ǘ^6.vλa!Ѐ;ѕ!xasw0utRjAE)!}E̩]儩53 P2ؠX#LL(y|u/ J7n.h4l-ۆJ,W?eݜx;i.QWF <23شcSCmZT2.K)^\eӠYh1 $3ҥ-%p69=oZ$b6o@nܣ0kh ^ে4'ݣ3Pc 4chŞm9!q扏ZJ>4.kofo 1*}kJ:*heԞ.-X !~-gsBWE/*`/i|oR$ ̬"1 u\n)KW@N^!q+S Dl0qź@ TMl+`דBiCe{vPҟq*-q pwOhRoD;_H]J@+lhA&Ff-ZT @!e0iKr * 1 } J\W'*~T, ǙϲSBe3SHT n d>E# $2+=9Vv dk(oYt,Id#H(0n˜ I\ɇ𜬲C'qNy yU-ۛwUoM`4kߘCHXVnB<~)EM޹^rI!昃%+,$:ȉMekFI|v j8E\}Qݹx۵Ӝ~L/t4)j/u1Nt/zG(lAϧt{xUW&[{VZ,N%j HT~: \fwZȗ5`.M5B6gGr(ha Z1踈ژ:֮7FEzq$Ȁy6[=6Pf;+H{_}+C=:osKL&†~?'NC"?٤>TTGW^&El]8x^B6BhbTXnlX )f {5d۫WL+&zǕ t*ӘoƒK] aqR٘p܇.Z5aލ>&'1aly6T`845T/;'7H9d:hmbPHJt-A)2b>BusD` >s[po }CT Dc`ꎟ=owbE>7JF~=j+d:)*2&?'[& dW ʙC23WR>Զ?i<"WS#h3Y!&٥`[ear28O+ElifVi3h Ly 2&W%M"X9YIezfc~%R tCXq1iz tz>hxWBGA3uT9'5uU~jҿw#c\ɥz8dw|2f7 $ɹ6Yei?p.z#j%*zbF.&jND$rD^zqw՞{WwZ UgBԼIîF=0ϥwMr%E-1YCraKA8Qg[8zҋ<Uj6@V@6g[(Ԗjy&ץA$ Kx2Ň˾vI:/:I@@]Vfy#6^1P:n@s2ڲ}Q U/~K yUᣲrL~8ᥡ| Tݖ/rrY(,Eg:ŽGj۵&PϞ4/+6Td@8w6f;:k]t(k9A&(~{MtpR'y z F)Ui3vX)WdR=Sc.$tb;vG:^hY0=RIk.ZU7]}f£zXBϬ\unY45ƀTFC6*q fT#OrTK(Kf!#6,9^5rz+1QwEC-^T9ϑ$P E,M +^u/EZ¸TpAE<`Ň^G7t6 f덮QgV DN|"F*͜+*mthΗ@hue*bpǡKL aosϮw*5AI֝ #a@dWo#/VFm^>+ ʂ(o40Irː F (_@uOyFΛA%-ʁa?7v ӁG[<gCioedtuu\SzP@_|L͉>p&%Tb3X=٘b<ӺqȭsHE+sU&/'x-2ȱ#o};dvkpeY~@ HѺ>,_ԯlJㄛNY=fB$aK6+UTzǕZx`EoK 9j>4/X=֥xD[ m͈+HvӁhȿXo /LX?(oc-H3c)N0D 4{I]S^u*eɁg 4F6' d*ր c=>)fʖU M*>/\v/s X`e$|+_|˔|/}FZ(u0HZgxfMeoʰg(BM9S*8Qa0S}Y3=͞%S2 tٳt)ja>1=e!ĕlX܄5];9+./byv.X}XQ~=Z,j.-|4$S%B^7tTH.4&a/ݔ_9On֬}4e$rNf&%^''ԨElxFxgAY(/ y ͦMq!D!Q_=Dp2hALTua/[vd28nj1K*M?[B,h"2v7JYYCV]g|Lz51իE} QSqs>hd9-9`]U{4 FFZNSSvS"ͅm_._yA%|,T#Cׂ=X#W=Q`Ph¡w>je\`mnHCQr監ìeETvhOߩM$90'h\u;$]>ƦwElr%Ც`O-u ujfwՃJ[Ķ N[;mMt#pp%0LHO$l 2%;s BK)'IjilI#V dgQcC3㱤MZ LEgә*Lw V+>=YtńUug?ae'2IyxsQ $Ksڧȸv,Qa7WfGWըJn<Y^8pEjWFR옕m O>+wb/p8. Z<`jqYyHʙaݑOayo?(`GqʏJ _|EsU 4KCg\ZDouLEh9L.g:_mx.5鶵(>63kU/nZML<f$gQO|gM,)w;`*ݺRVK|P<ɱhh ڍ_w %#@jnpZ^?Qʠ~l%MR)׍.]]=Vɑ:]-ik(N˚ MA^d8$=V Y2 (M106ܦ+Z8Fq[-N +})``K :uyzm(E:ۍD ZB \6A`?& UiUcjpTK r2gKnɪn;*'p[ewJk_)4ކґ6e&iyS`?ԋ<#'C~'ūu-.{>X0OOx ?hϟtin$@L)q)u%ܢ e c%Rg-}& Tj<_$)6-띔mwtE2Ra"P${d - 7l粙ܑiB|{ɟ )7 n*)O_L#Zq}^x\͞@5_k%Q뙮L &%ۮݮa<3r"|)(TK0s8C-dC{{3#\\z13/:rs*UJKN_)k:L/G,6ʽH!du}7>RYŇ .m_XIFw袣J%FV2f?ԧV+D8ʫu%eGsi9mj aUv- UWOsOE2[l(#w}g^ ~|(:!iLC ϑ&> #o~ *ttхgr 6EA[ڏK)9S>H1BiP"xQ/"\>YtRdg֕%%'q?= MѕEBryYvvw3݊5Cij ejkUxr1>6]W w|4ِ()%g"_#tZJdI='|ϵV*|8T[jooW3~*+nu*5t9a?! agIb:oPE̙HjmQ= O5ߧ#TrHuNTD0@rY'fqxSG]mNSX@GA!җ:]y1߽r+i y(T|ex_[v_П).?Lupm$'&:?FHpeWd!.l=hSs ؒB7s,H.mvA]vy_E79TT;dJ B3A ׭`:AN3i]|?\S6"(P #!n6!%Rs|IP{ɳM^'$ H\VOzA_ecy=.0DS ą Fv:l1~/G y6 k{!#EDHyю@51w_B@bC{7gmA, N+}8xWګrTDY~>_Fp=m ne}؝He0mDTGlc?Wgl .سcϼNEsE\+$B&^9݆OGvDWrP}]^(Z5A. ~͎璊xO].).:msK#?|Cę|OQYfkK< wSWMaUlVr 0~gٕn,__w펛 MB)^S{.}Lx:'pܳog,^sп1uXDeWѪo$TIG(Zܳtq׉ h0,I& Ix=ǗƊWEXô܋_{t}rEBۼEhinQɸmDnc 6:zF3A[Aph6m4U[ƽSڤR1s~#@W*ki>GEO@`G<9A)TvE;kzu]ց YCt7 rD+;ku0NMXE&O;Rdwnپ["'Cg^IuZu%[moݡc?ʚd@sdìib%mh>+女q(mD Zhu$Ҋq,P۴TF/D\auR 02Sԯˊt+׺&sS9U><`<*ZڧӚ1ӌz)6Bw3݌-n&UcNTJ+Z-0X 0{r"__jD<\o"]TCM?#Jd=ZɫQ< IY.G),aғ7}X-Dpڼf"qS xnZY`3A~*;NƲ.Iq=GgƯ/ւEC꾅㯯S ~o¤0Zm$|D{ CgWN<Ξ}Bx0[[z=Ďs.238{<;~REGI5+>2h\+o48ŭ昼OYoBb!JyHwZXӇv1"? #Euh;V )zs"׋u1ڌ2g, ѕՄKҲ' J K+1]\$B;/ԑEJP ofPP!r5sQv0~DP ao㟃5xKtj2ؖ za:?=dK^ \Sf& 6CUE# Ԙ/ gѹŻ apTx~ V+ZK%ΌwQ6=Unba)b0C6D A`-ŧ`)\0ήa%:-q!RWj0:)70ʗ._l.rڨ$-/S_ŻETXv~%z߰d}A^:dK:Tօ8 q xs~j%TE s M" (KcM]ڇ PMa]EwYם]xq_9CmZ2yP 9"ѥ)$IELgVAe ;XؤAr1svO'hs eŴ9^ֳc]]DXQ#E#NɎFKBjfx~"hl7GڙM9ŭ`HX^TIQt+M8)a5H> dPQ@鉟O<[IWc9 Io6Sc_TR\lGK '?iB|(:[f hIAǠ!b(B%Dlf`R HɱdnfP8͸ۭYhD)ɰN2i~g{5* &XF dZOd©drB6}ej hhI ִ]]k@# S& u & Ya //C>]: p., ,uXa\rJ q5t.)b2r#=Ah L6&!UT>M=!h<ql = ;w'*0tiʺ ,Qmr^R?%.J,Y2 t&%|SnEu:Mtdy/1ȟA6y7Af|!]ʙ>w-3F9?ZTyfU]fkHf<(4vԬ9BBzUC6],62+6J;Nʛ02*[;}[NB86 ~F/4e@1 q!Y{?bO)Xo\*aVۋDZRMA?7aq]}2ȔʜłNU!L}^z|Gk29Ҵ? 5nn9env=sY V rp?L{ l̠ Fi}v,{/@KZ&2=+Iʖ0Zza^6gEׇ~,ֻEo:e=ɲH(9| ҝcIjw {<DWFYȣ.t1[=\'S?It.Ѵ%7NQ_4LQFI<9[-legU8ʠjoR88 JIω^#f8-ƲiYl~x"jX4^) ۻ w[,B),T䰱>vPDc+YBԃ` u6BmɆ'R5f9{y=ufd Z`.mݴ4 ~ r - [1g%jk O.95ͅEN~BdVI,?ٰ #(?n{BwdhWf,61鳘 Q;+KdЕ:``Zj_ sF#M׸&*F^y ~ ӇSR{,D!/D}nvh챏Nf'52]e}$s;zX\J̳>q0c5:&X*<,e74Ou&xȺ#>MM6DM}CH)Vٚ A. LDx7Ӂ1?*?ڼ(D(S 9ɤfK{CT~'} (ΰZ”Gy &itÿ$4& fz%5=dmg#~zkp-J6\Mo4͌' w3pݩ)\&se+F:vL΂vE?RxÙ*.yfEZqRb%X0*ǜ*'`Ha͹Cd~WϒI#|fpSk!"{t;N5|Wue3E:U'`SBzfs^&G- <ΡTG5S~!=̴G(8fg07+O)FED96n-:-\2[01Ɍg[.y>Js(36,Ӂ*Ԡ)=yHE RJ_5SPe Xr vTb}poN_ |7 |_,R֭fjZ+oA]RW>H f4k#6}VbpN Z(̬$ѲBJ39jyH]m,~٣s V[W4җxIe_H4`O@l'{&V 2XV ^sbprcjyT%d?ap$szU-r+ k"qV1w.=3E9|&"9J2{ƒZF̓|;kKA6xgI$p[L5Z=>? ̆bqI9Wm$ula$b76[ړ =z *O \X^;6Eʨ*KD,&\dqWuUDzx1wa$盤ԺWFq/3 xK\ή oPa5IB/rJf#Jp'f 9Of4ZM~$ ݩ[liyf+^oH8U~o2b$/͛C7QX9%nnl`#SL`nF~;c$BTr%a^}ޑU*s+D"Ǿb{,^l+rאki-D&PHꑼHC!YKf [†!,{#&B=z/ <ƹ GJwΖ+wϹYXaC|Mt66@A aPp~wjT̜k)ץp8g0/$f3:>e{z+TT^"40(8y0ZjJ4v=ؗpX)TtD)_ d[J\TY,x+9ϡ)*XIhIl\:7Gv;x^ۺY`3й`AcG#eۃYMeKqb㫢N+/ʙ$ݼ%N~RHZG-Cw6Eb1%VA7TWôXWA2ʌ%;‚S5St7Q b,O?(Fڙ$o"Ʃ /|'U@ ˁ*+'Mvc% Y u27WQ 'h ׻{S S<;ջs8m)jL(|('9^":-&=dv8G{=5U <[Xn2;-(~~iÒQ6j]N8Iccyr~mnnn-vT7uf6#r-{~XSݿ#DPYq"Ksn_'HBCvY o'ZJS:p ) qI(Id8j#샔9 mz3d>)vnsJqN;`O_߽Cel𙟤wEM%˕*[7e2KUt>4ɰ{33ɣ9tg(*n0\׭RG=czhYK(UtEթ'v}wy%RbYhz:XL!E.ZgRQ8-4s!X_w&K)RmȔV`' {pYp{^O$_d7Ug~`idH8qu#* MxjEJzH< 9]%YkL'{p@2]?xIxdֺ* +agyL[T.\!V3UC餂1pqme"Byp#kYkĞ=c[V5;\Vݭq^AAWN͉|q)sY Vdyx&<{XH<(j'ʤmlOF?ʿNKi[b$vH5^ qeB?~7"izp {HKj=Q2E?w^  ~RNl+9]{1814X"q#jvUImc?꒸9h?OvDR[opu%~tYd 6<Fxݔ` D3q/]1Kѝ~Srnj3cªχyleV B8hu6pY(sJed9}0._CIkt:+|Ga:u;|M][KeQ&nNPMڎEWxLROy4c(I\7i낖goyλ~Pè-I|ҬWh B9*0_{}`i"Ip>pOg G^bbbʭ90ʖJEY[m>(Om <=ȍ:f2dƳu PΠ}E#JB:ND VT>!]Uj ?1dVyDը I9Ϲֽ㵙@ԇ5苌/ l3 V.+-XO72 SbvR)'C1Ԙ`@mEU,Ss}Y &Pآm塛ZTTV1 `VasPf6 PF칧,V{#L,Ù{8Gx!#׋<:q;WT3G A*uGٗfH!$?CwJ&UejmHk/`>ׂ ~ZX/fhIJ:K);ivG MJ.֥ޱxC $(gNS:gk?EgٺgH)6~ ?Ճ!ZƩ47{?_T1v}աG` hf< zT]wGdB%F(Q49%;%6\](~.ɧ-@Y[!*4> ֪ю[DP &j[$T)LXfT^=m.7^xrv_^ bkÎg{`G޸$wKfsەDª y|Ǐ|~,J~$[%ՋeK[~" 0y}NYztHC;ϲjŕClytm6U͏B ǜ=|o"u"Z߮fyf78FopM&Q#$NĶ:Fm08xz4Bl\z#\ԕZg;ҥb[ P G@_cᏞV\MQxiW1M,!yTvjklÁG &qwYTx\l2lɔ`LDWL>RSN60;;PˋTh=D,! \8X@HoY=;&ޡzO9żn b3P!HdWq`7*g}? FEiG Y·NSz1¦ ` tDK2!B$qO7)J"DẆF"U"Hd|=] ZC|Ȇ\|Ǒ&} M*麦J\Fπ([ .ZIl e^M>kD-b|Z+B3_g2O*?\ ip[^IXje׶؈{byVx^gU~8sƊiq+fS!k*kGΎVe1-19/g \M5wA-wo6u12Ceن7*)aSCD8>n<ӌh *zY-m738/$,DYd h2˜w;~ݐy0)Đxܐ1זݟ9.#{ gh@#GfG-lB\>~)mEULd3aqkxŒ脩Qe먂*zwl']¬UH&ˏB%a-Zn"˷[L/ߵ=*ҜKK 2:|40؈*M* 4\ZPȋ2㒏_yZǠ9 <.3Om+ɬ5cΌ– ŷ pm<}C,Ei9׉N%إTW,8c.,.ϣ mz#XaW%] q}Czq{4Uɬx*wٸU m{; g<,R|&J){*^ }~zFrt˘0'[f/"46V&*b,2WRs|  8m{9 xHD]_b@ӃdlO,"&i\8_/%M k?#diHw,Ez*TmP+m.?o% X->`-cOj5ɠtyoH;DۛB9RU Htn>=81"z9$ȦnBs]"l=trH+eyZlb5k!yQahe}A]SblpMto35AҴ*$B4ĚrV&Wł^em M3׼7D 9BEABzƯ"oktd0x_thgSzg9;w_ ;jTu+WBr ŞAjf8%/l^>Jt89!o0MF 'Jϡ.J 4a8Wc0*&ao7V_&BS!o䧿>i0!l! \DHhaٷv#' qtE( /aqZQ-$Ӟf)-rCmĐg|qY\s@1vrҒ?KD+jsj4U9*2"E\,iƁ߃>^L6LC?kiUW, վFUjn:΋}?2ۿ1Mn@^"9xosF \.=~:`aD(K|yx'kzhX)yx|25I-4lFPaې]p}2T_5؆ģ`$l$2,!c&Z D&Af>V0Z7.>xtw}8Rv@І}*]Oe;_,,Oerة/\lLQo`_qNXy;gm(⴬BD6bB'AQMOaQR,EnGG 9.|P¼#cł39zf7X:,H\gx}*acr~ 'MO4Z$z3[C0)Y6\3{݉i٥ niS3G(bN:mPp>LTl@O;j P}a ^ƙaҺ^{ "%84:x(_}n;7XNTȑE]TX^D}I?ѺmKpTn'y6زҭ7Η`|e8n%]H1 NxlJ'_"o rS^CFo;7-ɡy&ƨ,O&yJh3#Ʉd6{lʳ~YbPgy| 0UvXR4I0u8>"HM;63Zs "Sw <9d3[1(XG p tG?ekl$̕Z~{X`d3 :ӡ>}}l MU!( 3c]x(H'VBSN{2^a 6aBC:LG"mDžc^`.?`=Bga;/Aܹ Q}?x$0p^ ))mQ#|IqӌLis b@ T96ZջZ/y/?틸GFj~VDflZ>7;K+Ff2=e ~h$Ocm4 :REi幆5,; }a9 f)a.QM[E(^Tb||NQ$H8\\ QOQ:'n5,A18Ac4)m.Md5[{ljz7}rI:_ Y1ʤܖipكA%gcԇ̛H+zl@C/lߌJ76PH%I TVݔN40!ޫˮK<ᙚV"2ZF[K/O~ ap"jw[hbߪ| ""|ΙP. I9ixg{T6͊m38@ #MT c b2$[H @#*aE"? sߧzސ*_UvIP^t 亪 56)d7Ng^Bw2B4rH'STyūגҬTk"RMs!յj[Pmҷ߬.sUJN瞑?֑cB" '=vL*9|$U=JI^TBCr!!^ k!p-qsd]ӄ!HT ״@1zhNHPNeJnpehuhj% C#R~9bNǽ/Xcw@ݕ250]"q:%!֖|X!KU^󫒍ߓuI((bÓ &[j>ǿ>{dD|sra/vXj`4mQ}#a,w?.|5W2V ǹV|e.+ S_v1Q%RA$ȃ1JvS.̓iv;y=ϸra 'W Х>t~@[A!K0tZ @ di6y'Fy@‰;XOiXQ+u^weH20nu,LLv1H.{ظv@@}')Y8a1"*>PWs{Rqu8,䪎7:,U O¡.w.퐍I I=Cفn>Iu$sU##S0̔5O-)WTogOHq2ca pV){ @yMo?yۉ"C?-<7պil& 0tG"bXdܠ(cSv͗^Kb#Pb"TeFǻvM6} ɌGN"(pg7?~PɰU;6ZЕ7>r}2s>vpb }ژ7l,S;V+8x14hPMlt$YXU`]=Y4u a)>>BY=$]Ah-H# +r7y.yZ|e~i 3>7'Xn'X=Iϼ7 >^:vxv6Y'#iIa(VJL3VAsdMԉ0n9 [F-U~Qo[D.'X`ƒ̓x3(bi~&azOkZa{2:u T][Qdp,35:e& CT>PkqOmN" ZD7]FX5ЂHGg'$[·g@Ē?,i`M`nI_Rh^9wO]:hRN6Z.l+xph>aUUsKU؅O40jEK%yG6kR`];~6 nXWԏf4n?8p2֨|c-I.=>QT!Y4s*`X02׈9"Hs& ^ERЮvR)i%fgt"ѡW&\д89 )7qen]dq  NۤRŒ ?XCr#;t xvؕ@nE%|?勻|id('F{[S\}$B+n}roҦ#PX{i"X@2-?] s`T8/)qMnjnnK`ѽ. 7f6陼|#;Gz.}P]e򮷻֌ӇUU-)J/g9?jy}8BJ2y o˴EGkf&M.@ث +ڤ^rUpP'4y,q@&?IնϵN# f[ۊ@ ''!G4?OTk x} ;UCNBlᓝ))|1+˛*!7 =U֨U_Ⲙ+^Ypꤝ i y7uJe9/շ1͚k7'OZ2;pB1.Ke_Ɇ 'ˇ `UvEDN@T޿h#%m;腌CYǠl˕#bj>urX*+G\ZMWw\Y] XʙK&]H!ҏ*!Fs"E;G ~6}W-vC%ĒxDU|'E ΒmVOl\̆'Kz^]G6uX= BjpTCg[ ݑg9V2.K'i9l jQvjUF_]+Dl4u@+i,\@GƤݺ9Z>sI_"NVҝ?gיMh N"_DT\n蓫B *wK\/0'evϢ,s:evLGCRAƸdh ,j+"2!i榸"uĚoZcq#=9bϧ\/+?{t+ᅁQ%Qr07R1I֙&<3s&_q{~c?azf}_,jل2fx0Z@zǓm]R@A|MLyS9|? DZp3kO&B1(T]Ȁ+~CuA0SK |Tyd*=ҁ‹9:wT}䰩PÌjm`xOi}{`lOPHЙ8xKzs4i\6{Ej I`d?lz;B".ޣCy,T;:I6IE]%Y_`úPAXW;@:2d+j5O4`[5v\/|kKzI0ֲ<^Kc2/]-+~,s A«юȫE%+ >HO@S97.peO秧q Wr℟'rt5 UP|%z6LvS(Z}/Eqb5uqdzH:F-,?M:,YG!!OX'R3l6H!A6^Ď) Wyŋ5@oihAY7g.N/-B!%Jqw۠;G>E5TAzAP;]J=PC4;9eyg[ iȔ(V@:n:+k+CKuz@?,"1#,4ݏ39^TTo+Jf+@bP̮dI+-;0,ׂlBן!'ְ6pa ;#qS;j͛*D[Yc U.;`]КM~f/].@2{d5R%\lM()2L[cE_gZ1]dLI2=֪K4+׿5] kHl?H)!' ^)&6P^SZ}i凌vzsko% ѻwTyf—茷v pS˗t+AG;4;Ub ➪W J/fqkiRR<cs`#x]q QYa.> S^ɔ9aY 8)/u+ g…+;&ֽxv\S1. ϐ:,"gJm"f2~Yx;3)c۩Tc/O;i]^6)"-M6<8<*ύT k`H2m86IUWM7@h8'5ύ<8m *y֋G !߄MBA aNZb3%P-UcL+YM%~*AJӣ;j } rb:CKV{a!lvwLn0s[ł A7ÁG_MhCFNjQ:zH=TG@[`? M#A/}Q-+_Q}ZV-B{>*\&Di`=ifd'jr5rN^i!tgu+ ~Ui4,& AıU;Hojc' E.ⴽTrK2Ws)g o0E/+9{g(Hm8%渂}+?pf*8&?,h*gLwq31^WVObם\rWyL |r@sءv_˽iRHܒJ]jPDRiTxMxbG :XV54#M_d7}HlZe)(((oA0 ZH-Z0 !@4.'}*$=꬯| ]L 'ф{;.%&n1/,ˤ½}oA|oα'ZP,P f˞R &tOeiׅHb&5uB1\c1WT0 + 1\2LGYv(҉0:q{WFJ1\2@E.4، bqjM o D6F *t jZ6asmv eaIpǟgʋ$C%Hf~l5Bj`&m@{F`iz;#IE?izZ|);Q#ds"c6 ܝVN?1a-S gR#]12L8[b+Wgދ@MZ16%Kd\&5]H_rcR+e$d@0'{fQ3z7kӏvkcɂP0w/ Ǯ~D 0?V )Şay2+ kސx1 řh-%tkefL^< -N)@%<~1R1-ٯ6 s@7/$/ɬQSc 5 ܫp _.S }4kh-(ۺfi^vEٸE%4ɁA{vߥ. m Z?p g;aE5&:ԛÎei౦Av[T6 `FTOEvhf{,o)yxS?%K&lAŵbUE3Yrr˺5,+PFc$~%\ qwjL }ԜA5W*'2h|. H7qxl7CɂP8"+U_`ҟ ==z8/-r TɇPa!-\0x*OabDtoUc$.xu- \3=*nDlf>d=d檯,+M/mqY"I_͌">+0rG 6 2xN =B#߶aIzj*$*\?XkOwWĢۉHa\àWH֬h/IK G"zJsgP*\\KCwɠ;#LTa,RYGѢC5eoU=܅u?90z Z~לtVlqw\b@6Hi %BQhA6N{9e?!ZnUaAX~7ҕm2ˮmxI8 HMׇqjh"q~WbfCQ|!L{)Bvii K#Gf"upsG:p1 ПORt7 (_ B]-2Yu|kYKm&õOCdz'\QF;)q҈:qoġCА/>z$O=`D@\+/2?01:h/=GQDBKSI̽'Y$=`U92 #v/vF !Ox8$#HulOԅCY&?~B gSu `!X+ x9"%ُIiI0J݄+(!#O 6ޏ_ly2|,Ic1 ׽/^#)!\7)SyaUErYU|)uad3Qw狶bIĈzFB {;+'Nה3j@f{k)+0M_Z!E"!s-MXhճۻj^M6,g{'Ju>=>hl1^2pS5wEx^O6 y{pZ.IWmkt 평ЫB !=-`5޲Alk /tԠOw,~;Vd;Y(tA uHDYuopDׂ‚eaXeUEMv|b]LkΥa1ÄHBN"x͓JFْ猸 e ܇=Ao#F8Ig4rbSQH(ulbF(Ȯ)vXzZ4TeMYl:==HGAhnd:Y6eTpɏtfg(禀2NIa@CŸg%mMS.g}FD-E㬾H@^Lk IBly)T{Rn ̨Ӽ椱J"L\$zlq=֓&.wZڑBV8\pV Ďsy"+L䧟 wcDUOu;x/{6 JyqMX&vm~lEvmq8 MN/>5(PH?g9B;Z,=hRe8ӽ'̕OJt{KAկ,xȘp#]eKxg5'h`]qUN7oQ[yF+72 ^_A 1gk4둔ͷ+4"xZ v|~.$VI9߁U>ANX71j(^7 ;Mkv) aXB&JG>~WE(֜E}Sw]sf \8ɥQ C^tfceP@3FrȻP!ǙTNHㄢ( 7/p^2<@c8 ױhedc8HUUÛ=~oœ(ވ`V;[Z5_! CQCRȫ`nu'~7>`)67+`Nvw8^qCr)WSMs4,3NʩWїT5ف>fQawCWh⮥z~{oN%tM'I $Rhk˧A;m,ǒ#Fʮv.^Gt[Z OyS)ĦX72Y[q2?Т5B?19h2 Qev7)̖猌9ϛioX2r ;C0yu='@y_t<,He4zs 7ӼWޠj0dCmusssRg17ڦCg *iKݓ_+|߲y*0 ja}{q>|ƻB[*iN.pKVQQ5,gY#!%~%0a3,UEǭ|10oa%9O򰴃=~K{HuD<-W%|R`f2{`KŲZq:o#,Yf3$RT Eqqb:ϛg kٻS־.v,#|70 @ ՛T:˔-n_>jMmz9u2/v6ldz&tzZQOO>sd &\ᩛ dy;=9@:)I"r 5ɡ/įE%턳6,u tofqdЁ:|A)F,PgTaR_E?-0ޥ%IсT (p);Hf`[6EvHۏV/R7m X2r 4%}f{sh2(\jF]BdAE嚴{ qCSLn 7n}w\@ϖթs1^\BQR&uHš1*G'4xx~wPgL*djrχ"F.i71[TZ>(3(y Y!0X'"rN$<*dJ~=S>r@:Ԍ$4lDQ ҩPH8Ʉ\L6.Λib#},ˀcN`aȓSdL%D^sQ6PSV3[xvQjBA=a} WJ 4KR+2)aZ쥧DS~/pven+RnnPE_S>QʕOHhJCt6 z+]M(t]F MT!}ÁDY!3~Coy:v:]"v^rLp?n ` jFiKB*pS 閨*rڃa[-9#lSC\Rg3yrfP}Y)yӽaB2B^Rfh1RuVO bAktgq;ܹ' QxJ'yҠiG>pE//$jbP`#1rZCR袻N7Áuhd {׺;ؙbWANܑ ʨ7|P >+{̿BWKU4,6T}eT[Zj22[#vx'3-X)] XI=&i I~1ܬR˯OwBzQyR:F+<̛P 0e0N5ip鯈Ey^¯O9e8݂_ּ6W'"twp]"m*.J%ga G>3u )Rָ]@hJan*m3(^D^ڤ?# a_9w䂯w;`E=A#~|' 1 t鐝YܶJrHeX̐,q ז:@z"圠ࢢ؎;ToYIa~WG osL/#[@иh *Ђ1!|"8Z"J6vJMfhJPW2_D ˱ѠTW <NCqGbai[(P.ļBͮܵ]#OaoVd1\N;OUL_]E2R׾Xpkeg#;5#n.L0d;m2]S Msf͵hRFzXMHo9_iy$ky/C<Uπc؝/0PkQj\l k-m" h4p!lC2Z `w%0V3/0>RIQ$VBz){iA(bqG'mDD=017.]NQUk#5tE*p+ B'ɆCvj '=KoCio<Iy{u!z 8[ !"+*r+ښrwN h 9IWL+!qd>={bȺN^yj{//i,tv0% P,TS:O1WLoĜ^q ydE=)򪖤"&ݾ(,+r%k;϶c]}ȓȟ$q3W exbbm㙎hfUG \#7`l$ -o$o>%%u0b\v[Ӵsy;Vqt8㔹jzlRhb(  Hڱml01Nu]@WT\ b5g9U_o"B{גmPQș~룵 }lAɠ6yU%RD-a[4#|-UK>g2Dyzzx7=2!-{ @*E^&9H~-:ePѪ8J1_zQΟo't].*.q.Vz9/~ oӌ.>mP$A-d]$ 6wv nOE'S5*oH)uRʢ8$Zd>Iy\ Xe-H.>T5d4uHx(Md/H9>cxpÄ:"f`Ҩu1jhwZ,3< աDZ׌lޏ,)h0&b2YDۅƇXǚ_V&$vHkpWP\^ogw=bS[Pٗ0漣#o^3lő ŘuFf۵bw;}}5ͽbǪ$pҧ/ai4~%0%8 -Jl`S^F./Mk1hz@q05snj,`Tahˠ%!p\ 3g^1\L|3{HpY=o\ ~ ̤cZ}&(K}t Bgȋ.F`[ 'DhURR9%ڝ)zEHܨCti, ))Wou8B3d^B%u1v3y\MÈ Ĝ]Zjh d:+t`ҪU>s;tDg{s!fQ0͖iX A>84%Y䠥#kf$,׸̂'<)4JhZ n2Ag^jw2mÁj^6F.FGP6!ZƲΞ6~seCl79,^ÖFЅxW pqVxu-0jmM)XgJ\ۊ3m[uHҏ<#4fa|b?,4 U#Ƥzy>е9퍢cXޕ"V/Vt`Q;CKޘ}kwS%]4(5m =ۈ~ I(>k`0TSb[4fAG5~qVӎ eBid1Ovq8$YF HBNyA22/$D.9mIY2(\%aUuuq9<_k-~5kvTgsC[1e)!qt򉘈 _$#Ѫf]v oߛ +Ы!1̟e=e̊r]O]E5Wx橳/R^?ٖ{1\y&^w)¿:f9RHGoMttgxΎeK7;@$zb-E&Y=GFA d2e0.'|MH~D Ծmp}!=USɂ :yg$NK/*3p&iZ18G@9m,yCѾl Mc4ӜQչuv$8*ZR4' Xf/:YoA_xl-n^5|?V)PP|O/pD@aPAOtHv8xtX1k"]IQC<'z1Z4Q)fcr]B)Lw;scWy˔'6s2=̀:tZI^|?'r|6dQ7耞sn*ޭXp-M`n&fihe,~ SnhBPxL3iD#MfܪdxlT˼7]Reu?;ҩYL~`Q>#Xyރ{ /1}C,~z(p 0=z#ٛmݱ^^Eg1[tҳэ?9 w_<!mb ڙ+w@W~D.#̼[l [^MZ&E2*XH:#KpJɑAwqN? OsydK TϿyrͶxVke)&k'"TDqX.8j+S'j`/K3b0ꚞc׵q_kQ4+Le_]͞Mp5i=6Dpnpmn!?:,KU|Z Nvp2UA4̓D3jbh8P:!\%)%%wg9+z8A2ɂҙOy-a񛿰=Q_!z͕丈'~9e\C2B۹7.N[:e*m{BـU8ق摎<r<f)@aLA~gt8#R^~EUqhC.ȯOt\\.C]:{wm֊r u)4;.r..D5C|͓Vq,e#Mr K]D_O4BDA6H6~@8O5Zм`3HP.(Lj2!LA<~ɏM(geB"g*Up8%L\vocAn:m>A0.d,{5T BjҀPꛍ6%6pGC߸jg߼k:88ވJ?`NCyF6< Nz,ǯEN2 ,BtI9=+u1'-UKm w_oY@5c@Xx]DMBZbiIUrl'+ɨ%>SVZQ-F>cE&}u;Mēϼ7 S$NePHICы7aKnU=!Ch@)F DWlr`)3T!\M gz/@bOϔ5 LOog~ ' &"US`J45 27""CvI޽.]]YtYtCba2eQCHX+B#Ց9cP@?bG1ėspN@bW@4΁&M7abYi z)Um|N*!ƴlc7<,9̠;<X;3ܤFZѫ`f?.zڍԌaM2C3C` =N/ >eG ;tg@GeD,7'2NwV =\p-$ԎqJ~oOj [S>H3X2ԜQ0T&qYv+Go?/5XJcRggSch i$ǣл;W]!DO+GKRc~T kdoH΂4 ]Hb@<{4g̒HRڷ.U~}MrI5Hi dg¹;>G6)ƭ[D#e@}ߌ{ M8&3:V?lR6Ra nyR04MWv 2y<'ݮ ĭ@rtÑ@gړ!kO҅ lam]="x#}yHk*=q}Z=~'R%n Yaܨ4ePWE߭z:bNqwj@>c2(0gn+# ߎl'?k@'C>|ԥljKh;^ X=ha֨!U =f ظŦБ<>R?->m}LQ;,;4E?R3BUbiӸ/V&B{ߥN5X_eP#O8G 9r8_k !l$(W;cȳ+}@{]e\ZaJ gK21ow:iÃ#mB2\^pVcg [V1|ukγ^c:tʶwFeuW"+Ws[ r;yE1sBm!Mb S u$Hj)i,? !z 2D2ر 1yRFZ>ei'dB uP itiJI}?A耸^ mnӼKGyI?l/+-#!-"ĢIR `ވ{T"41{Was5}eń,9Նo;{E] +ԏbAw ]b!Fn5ktY3?eE2`[Һ >WZ$P~Nޖ +fupBHc7Gt[7<MԞ"G:}x@ ^Z +D\ȢFKď܉]({W fx-]!DAP /m)/Y3>%\iI F۴:FZx7 @_َ^N#0 Fm%hDp-qyH!5RlvPԆwJH?lr9-БB6bqjXۊ= 9$ JY,)5"iXɖ_ Utchx?X?0n8U1۩=ʈDtCD+5y?ʹ(Ga jv4rYX<9BRj]UP:9 gx" Jqc8ýLN,F#*:Cz0kq3֢:%e65Wژl(w_;N=OxPklLf~ lB?v')L.b^)G t"qB-U6cc% nX3#$gObCk'X;;1|4s %(Oq4:GNRb$/SN҇Ly' )hs'\"bra.گvH3~۬3HK[2JhHK,5)Kgb2'}OE:r馬a0 iHW"aŚث6q/}K^ Vj7> Pqw!NO4V䜟 :@!:;ն,:gf@&)R:keWMur÷9SWwKη /v=j2XbWt\b:e,x\ޤ2˴ I2=Znͅ2ǯ6rKP֠}Нs2Q@/x; Ch6l;RV9'v{C竪J:exl>e0xe(>m/$IQ˔؄ǐ`:d$J-ڃS.<çP)oF*#6 YL kIh6H]Avń/=`TQ쨎<ԨQD;tB<{ TJ6zx-i18ۊf)kMm%""s 1h@PDtp$eB`hEH0*ЕYeNGȲ `n@#du;&qD2*%8AwWxΚJs$bmϭJՌ.cQ&%}`e 0ϵ1;^#.^%8=F|~]b1VhrT{ MTvneNg8ؖ&cm Fːﯓiu,IEDPԵpu+I{* 1^Ȟj$_€/>FPCq+ v4]vOwHWQlͯ֬41I%b32Ykw19.Oc% 3 ۊAՄl$1ɑWCvm9PkbIJ䠢bM+VR D3G5 tHf0mIf?#IXg=rn+?3QB]!.ye9!:^fN3HP1ZiӺzS2׾ $Ph H \ nyqZ뾵LO“d9?L~ hG ߀Op醜Z^0}3oͥW| q_Km0~BdSW AvI"%&YkvU/;L X[R F tz=~_/uR LE !/W4֭Q՜%61K :ƸmeB;U2e/JL10ٯ r#z`PX/?xvXdz?A׎djiiKuI`-FfA_ p6>M!9^ SXl9BwdJv9(#怘b:Ekx2k7j9sGib_GQCjt\#f$X' k5KwS]|I1bakniTmGTI ;[:tL^ T%|eB9]dӳѮ)8e$;ơc^&& DXVOۣ.-Rb@y[ 8‰t J0}AC1WY<ܬz.O %\W:w~^ TDRE)>XO'(l?a=k/<7HIW%݆h(fC:i*_IgLzL3{UF6X-!%Io0 r|RW7vgL=ՉTfu-j&56۴' /5m , @@n2h=8 uLq#)<\XoXm LP OJ+u' wUذՅAtncwϽ К)$/]:0Dt@;dx&qbz ȣs?J-ļ0ݕoGxWmQNG>0ȞK/.:iŰm.Н@=jF5ф1tyUmg IZ7mLHܓVBw;2qf$Uv/ PQ&c$B^]Uar0_uA'j" W6cs;@XY>*L>\!aNS UJ"gزZ7EUe(<@ypqqP}֑= dwŎXVbg2$ᕜ;E<yJxEyQ*_mi=wC39|1x${ue7G\/GE_9/NaaSz~JyP!g0؝-ֲB͋AC@X:e0"AJq-!,il0Ta@cPh5f=bĄJ|ԁMqj42r>\_$ߓ iٖVFƈܒC5,Eҷ')kW]nD ?|I0瓳Jb/y|M4.RO\ڑك?*Lbcǐ РЉ6R*6N{66?=d'n¤*lzvPcS| G(DOmK;FDFDo@ߛGI,Oo0dIy\ԅ0`Lom{A PzYYU{1CY벵8%Qzqgj#9}`; J8qʚ4R3g-5dQ"du>OJ{pcŴPm#H(Ř䍓,T-<Ÿx8iD;OM<0sI+궖=r~!̻_rnu}5D"ސ[<䎂ĕ꧵wW}1>NY|؏)Th}ek8պi*-bs͌{%yE- G)c`b[>譞v<[Uu,5dL\MdoPtC "ٯM_eC(=PzJLv,es"8d{oA%P!÷JuG.Z?M d ӕp j>+,73Ԩ<XlաcUbwc<w(k ")ǻ{T{3MNƃ@pSrԑUƁjg7q[)k"C#7$;T >pRוwr&f)3^"g(~sk;l9U4і#D{D}#N[.zmH\f s ]* DKhCFzHh2_KfZH1BXr#ZnJ43+[`͌ҋgD(=c6FJHIGY/Ngδ\cUE4 [֎SM kn5@/a4HK J\MN8^ul)6NU%a1d[d;4lkԺXikgٟ)UlG0k|m?˓F| ( n{a hYߪi:Q8E/9ծHаQa8xUJ4Н+t=cq62ּkjߨz-Y 4;Ee+ug2Ss![c٢,z@-YvӼtdL^QZ\nm h4!H'jȗ}X≱%;0z&L}[X#܈1f/6"O|դ'~9\ eOwy7AEr&~x Gm12ooA4eۜ @0y}(Logzr7>{6,TPa aWFŸ|Jq&c |h68qavezG M)/RK]f"o;_9Q/1nB0>FR)\Cs.<{V dԤW}o¾'i`#d&'- %v'yl}yjO.XnBNe(i $pj ^<]RVkvGhMY.I!VW pwPHp(r6.ydj Ya6yNOm06rIu>4D2RB>$Ѩ2GM_KNy>1Pj*$ KpXbe@Q@( ␗cX3յP"y7ќ6ԔunG앪~^Q!nڞ4حSVb8`PƊ'N<2C y(m9†lq\oه(J#.#BP%$oC h~uՀGs˿ESjy\EFY[zdrJn"'QWⶍm%.Pc7ÐeRX&"Nef濌J7:ETЕM$y[4EIT>:kGy<=q`/ms1"ܘFx Fi-%sn_qZA m`H< ƨ%@qBRur^VZNS7 v/&0@UmJHJңػd9Lu<497o3tۯTl@@7ՅO2J*;*$0}Zs%D   *ӵ JQ[!_\/rɋH]dž#=?A J]ѿ6'GM;;/ϖ.'`@>u tujy`~g9ӵfUcg+Qڮ4#lS?[IǢ2eF$`| eT6wGYf3_0+]/eney\"CmOt"WnO{uTGi91: /IG/'?QU_MK#~;A{ˈJJuL\Ec( 2vV#S$S!T~_c T/<%?nkUWQ Kwڴ28P5 s ?EDSe2TLc̓لžN_Zf[nvqfSdϗeyl2f+|h,!3{e0䆊k[\BmV@ÛR0m.s<2NT˶jNۍC\ E{c FiGcٓw%mo~G^X[ݱiBӯ ªCŗ< w6qSuzXk6?+_^s6O*$!=^a .QERD@)8ݬO(O̪&Ǒ丩":xXmH~e HOw>Ex>o}CH,!FEoxu"˄%' ?iX} L%]#Nѵ)_,U fey9įq&B@cFvG] B SFW]FG7oϠ>5SK-੻aPcyG1A}>νmVv16; qKGT&zfWZN\n编@}3#Gk˛Wv,[h{7O;i]A$K{OӅPam @`'Wy9b1~W}"1sK!o#5ء m2-԰y"JN%\KS 9MnG @ _# |v)8ZW#,c'c; "-Ύ,0YDd,< ;#B8)Pq4.֗.L?x;(L\R᳗\ͲЈF@ɱyX>Tn?f)!W@kd-C2`ɊOد0*%&!|-v !s`~ƿͬ9-"O6u Ӕ#1YW!b %Phjyԗ£?׃,:w) ޹{)$i'=}pg\٢_U+ltN+G(%ØFA$`ؤ b)OOCVڋEOQAIP #*aѶWGF>W,|b ^^VVIDm&lrKIj\'zfg+e-Os流Tfec`l/o3d韞̘ m")iY(70t !/}2 A G!'"%==JunW$ rԂUZIԸu|ia,. *+>4l[RĤ!:k@}PPB}Csڸ$S'A (ae˜A9yn˪Mbv2憭vn"WR(yr=`gXUHsRʬ؏ b$iV/.`.l?smg tMěBY/?oq/5fe̹7%yx#fׯaNkFF&сs&9p4SaG`mīA-T%C*RҨϮȧ@j?;au41݉]$JV(GkC]2ik,b.AX~֠g| ) FG5$-{JxN}vp!v3&d[lܐ60DSJ(Â}}I@NAL' XYF;ic##sa=4i}`pNIL)*.%- =Kv$=OUׯO]0,M{1e5BeC k\{5.PT bA&'S/X1Ll%Ws?I= CmGJTk~ 0!L#g#d!w `.87f?z鳷0nV=dnXU>" rX³5cc}e) !(dkY.c2W W2xC?;׶3T*<2Iݿ26NF1v%$Aq\1KJXNzMyj=OWl׸>/"Tx7LJ4Dæ Q[\-6rTXQ2w?xveJ۠$N?+8kDW0&)O|\θ)咒 Sst8Hׅ⍼+Z`j/%xAcݧJu .1ߒfm5ٸPh3<R9ksG 6H=уGC.:( U\q:92p𲗗S'Hqҋ Ylgx:j8/kdwIN;#ư<<NlV(S0kU=ST7(بn֍~V)l{P_˜Cj#X0Aj3CQ" ?Uܚa#|GFE,f07ϭ }ҵx[߾pc3W&P"h糥R/)}G*W?{400e琦T 9Nftkz~c.[ڭSiQvQ \)H@eJ8@\?I 88RM %}Z"b22F#h =U> i҈Kvby?eMțQxOi$9_VWDC`ģ&Tq}F8/`5 EpNmA> h k-<Iz-N䍤C˺>L;9a1)F"q{JWX4Ҋ;&QǦj:0\aN. %kuijpan̚=L<88)n])rVs n-;%C{QO![;E`@:kAɏ_!J?&Fi u:Oj_ DxxGp0ȍq:@gKܽ@f y Sj[vUmaڸsY26˩;K͏V$=#hN "滭6jAS֥Ǻ JCE;DG}:r28;Cc z_:'*M]偕Q&j$Q!x p3Jjڐy#ޫ[]~o{rJt/ӝeH#\tz@0;ɐ$ig uu\ );yɶKKDǿnr#1(zC0ּN++᱋zDj$q{ٴYsMg~q(?G D$! e`NR Bݥ`ZPF]{w0 9pU\P9Gb9_0d hDB!VRlAVV@dz C,XTcy} 9BWX2 {J>&E q !1GLТO9AC+2dN(Eal@ЄyxV duHUWPwWJ=i̒͠ez/v$WZ8:rYQhlepЇ1B͒ IБƐd{$TD($*NpqMMmYini,zyQ 1Uٙ4 bgJF{.mb{d@˹?f4Αq=Y:i ʢbz nހSovYB.0/njJy*KnFYH<Aꐹ;b4O5BhzV}WO=[׫.~ y8&uqkucHĉ!S2dw^Օ#I_Hq=c6ktI2S茮ffFؾdgԅ6E`AectD?cl&{ KП`U ]ۙS4jDmj| O׸J#PҢ?p7;v(@VѴ#PM׎CfǞ3)ݨAzX`6\(>?dzjb4gj1~S> Š9-AEʹ$,?1{6՘\fKb1SJ?Rr؟9usE kBRч-pgI1t犈0(53G5~|i?B٘-xTCkq~{/Tq ͱ 2mqdum ^9s֋$T"tJu3sOOUIMvs#yjӏ g ;ޗA':`p͆ƾH'Er 2#rF'f|"&% ,.m𐖲_>#W/.x]!`lk M6g Y\-m"Y8Q,f'#)`4j 4,ЦH!b-੣㇣s^;A5p$7Tֺ% = K#TQ,LՎ2o?Fҧ<-'PcKDk[7n~, 벲Һ dX4o(F,4u[✯*w*b O]Tv%vUFP>ihxsi"s;rH|Eg\جd!Rp>[{3բWIȣ9p%0bU`Ӆ/g=fwU7 6 $,6MpIVc'[)цl*=G hH)0pywLm,e˴{ٗ* Grҗ !HkpQj9֋^l}l\0*Yǔk-iQ|C9*z6(a%VӛʹcIC^lYr@豣vdk (X#CA\f,6I7F$(ADˋ7nH)yK$yh,j*p'`Yi[73f@|`2f͑NYfha(7լ@~f46)jݒC-̨G0!u;N^d8g1I)}X(?r-OPdخwOi:ccJkLw(5GAK,PlKuZ0⮸hF4 q.ǛX$bBMME as!qy NRR@WT|8}Np ph1xUhJa;O\=0>.2"z巰uΥ/ZgzVXF:(hްxHZiu[I݁bX *#_絡xy&8&&IR*'|сrX}tg9qX#|-#D!֚i:ߍ_Rwg~?p;MOD5-$Y`'%S_0>9O2 h`{.߯Ys[e 0G;TIzWŋ=Hy$5EAjy!c[!Y O8>mNRzhs3>6+. Ɂ3R HY}{!lL?(r ZPx7vXIMpYoN^9>4Dy\nӓ$P3Y&Ƃwb+,kK#oW^pjl&ǿn=q} NO%`/p˥n?$):T 'T)eU񹴫sך;@v`X?\JRѝF9? @{OdJ gv,mh"<ľ)s <^{㎝B#;fzLЛ!$NE?9dD~Pvb"O6wd]ARpXw`j:"LAYq?m)Dάh3P7a3Wr}P;?埻Z*g5YN`iN!9\/Ŀuُa}Qxb'Y9(}57QqĎDrBpQ{YUX]y=W*JoԔ:24?NN#QَoJp@6 ө>kuC1H+ ZgN#2A9 \)ɕS=}4f(l?8\桻H#m G~/soE`XߋA`wEż"q Rr;u~$̠HxM;'77X1Cf)@"Cֈm alW]q:1DYC,PITMjCNyZ ծq{\ yüW=LPjU}WUzGx7F:\O>.]˹.*"q'"*-g `wHQ;'D"B\0B9I2lxQ(qA!.^#iԝ kU2i[ [C0ۮDwrqCN ]*i{,`}+) Q PUyr]RnDTʍffȊ6jC;dNly jE[cF+;\[OKԩOcOAi0WKy<,1)?LĚkw7ӱ#>&QV~!yqo{05ڮhBj'c H(?|+D.C"Wbb[jm5Lv ɡ7sYE*'\{"/P'3V9>'{+{%l%i|&Gc@)^[^ftܥL7|}Jdl|&%x V;C݈"[EԹ b|  sBsdzړ+oj?”3%VV4yZSB;e~iڴj pI/VP*H%8 E1z˜c`gémDH[H⸠K$m ApђOsgŘpp\զs2{DKM &$j/e;?Sg5D>v|g=S%t+tEM7Ogo&u鈇|GH)[3}\xx6Yg@;߾Qʱf6c jwUM`u.ʴ?6(n?@o&|hL),Coib& J>#Ζ)y*ZEJC 43 7n,֒hAˑ& g?K歐|AQ8B0`6m~N3eĚ:!vφx Ĭ6sRB)~R5X+.Js@AopbjthEXު^,}RWtS,5kvQAyafz*pԝѳwHD_q sЅlCڎP_` RaVиN\A ^gT:'SY) VaϪ7# Z6LîNz89S R>dh '{}n9E%>JdupV=<*iD/ -pNc <`)5Z`4!?GT M]"[]H$9](_~.^Sy A4wFn9i=iɕ PCȘ]^mQny2Ѩ۷W 1i%7b,7Y˷֣`&0mn^"B,Pi`{f[")FZ/Px1H.Ԓr0puf{|{rM?[$ZaLipJmjDټWOCy0ؗ'Dx۲._%U1-Ps-p*.eĘCY5 cænfq#6]=gA;Uǔ}6OKϔi!f2TC'/|ib)fK62T! rU4tTg3QW=F կB|!v,_V'<&͜ӑc[*q~<%EU RJQ7cġ˔'E](P, wjY^}~Dr0d;̃Նs,|QOX@sq( HtLO۰lpeKWEEtK LpFYd[Q0=MP_W ٥ _$0a>GH9F2He[A1Amewa/#z$loEDkJh6Q,4зiӲ&+/@`off1WA+ JW-3ԶTA}5 oJG!j$|3ZVo]#bR,z t_:r45u'T(mEK}s.]{eGLzˤ7lBNr#N<6@{oD-7G"-r UeQ"2'^PݘHC犄 ƻ5Lk2(t7?+i͕fXb6-$: p`| nׇ=푍u5iȊOzCe;'~µ2/!F y\#X]F +.+G2Zbow$e2e  ox_?[mLYuJLVqodu|ÀUl@(ۆ17i2B5\B}lLC@Y]X%PivhR2_JY|ctJ2CpJɧٷυ6ӽQ2q} tf+/|y^{U\^+ 6RF.(?^qJX^Lb45/'O=rj˷5׶KNTҾ/H+d-[y%#MhUj52kwޮ5'h{,!C5XaiD(6w=Ѽ߮9a hEs0={X\L+>)"o%t]>:?ї HIcϼTOp Vg}׭9:&ApQԤy}.Lnb|RUVaeZHY 1 .Wͤ)0~k,iYFM2z*cPGk4bP&d{@ç+  t);Yng}.*NtLʵYVK_JXปqpL!ug ا 3F!PIߘ5=?Æ+ a7D`vp7亭C ӷRVz1:~T1.'D sN߹wP1"<~=\ͩG̬CI Bv*ʞt 9x,`ߎi;{N$?U8̿e/JyYuͶ@ag-s|zÖCgH̫}ˠ `go\*JK*lY!K[0y=bxZѨ4w+$1}8p> 2^z3/C x1?kY_<)ԅ}/ =v$+ %"xզ&FP9uƈR>o|r30i=vRt,s$ A,`2Ae3D&q=8OR*faiA˰ʧYV$siEE*E=eK Jbn&.J u`BOj ݼ #C49 k!N-$%#6gqւhSTD{հBB='D'Ĕ8#-f%RlhrWC@ύs8Rq ah%o1wgju1&{dQ~vl1|نmhKoƪQIJ 8R>W򯭛ғ9$,q8h \8S%vA*Ya-KsDWdsa2 ]3>ʹokݷa$"{m灷>ĠaV,;#$'({%  Ƶ Wڛ\" VZ">T3wLԕqTO)> rWW6K{?2g!n. F=I0'D7=(>R,m2hE=",m9_ ӲMu(bHTA*::"#Rlp?1͎FF +6-"ߌ4 ZV4li-uV0Qmo~XX"S'Ǜ[jpXsW*ðQi|HN'cm\́"N2؄@%7wi_J|ON qoeͮ2/7( lɸh@ΎlЎ Ȣ Y+YM{15{A ymi3rR7l~qSor(x'Y[afIySаd[!6Gd[Nܣb""p? -fcv HZwI$;րJ_gc'J[8\  ׇCE<96<"Jl*RlVxM 6dO\+"z݇>s) bvT>k^Rg/\c q֧tȹ+i6NH`0Ϙz~(þ(^NIX &a(^+hpMxSD_,\RG?J#bu9uyߋ/8Wosp 2^_lC5|o)XGPe<}rvIÇl8&<39 ^ujMeV%$0>h}u* a []'-P^Tn ^tÿ+&HT*??](`YJ{LWce6'¾Yb+u,'_[ix2J>omO3SynGA%!ԼyOC.Nwʝ`Ѩ *'>$ is'ǣ[\9:Fڳ]ѼZ E^{(6p#HU]]r*e c%KsKAņo#-H=g!K=ƿ=tO/AU)hiBX`t/=DhH/]ZyOC\,F*Qk5AA ~kQ A.6TcHbhasF2;d]!asp(gaG$D[&3ZfLSf 9@P12 "f  ؔ_ REm]BOc@V,wfy펁{v~[{,}΢4!VjQ]#oN M`o-c8Bh ɮ|J'-L|#6Ž- Jf&ݜv%m1;T4M1єh`pWxH9aSO:/y{VMC ui?~0z60 FgFeTDZ;gm y WZ!ܻWN&^a'dKW<|rދЊ_o1cY00~\#ܶd ~DﰄW{CSjkЉ"dkxLH]+* ~o 7-&Յϙ=w݋#pʟٸ v0?v% ;L#yQn_sk|A2R^Q7 Ai |+Ep ؆7rqOג r@ *X}3x{~*e'x T^:4C!9 {|xZUE#9 8EL݇'Ϭb3LYN?jg5e?&LgD{1'qd>vdO5ӡDs,J3'ɉ.h R)acX6 k0 3~\a][N}( w CIjxo's wkxF5ƕ$.مPwhĄj/G;O^acD1(sp8QU+aG^""t9ܖUZm}fhuݧZ;px=WdDNiXn'zwh˺aEW{I cO}mNJf'爫@JǓ;q&K;ـI0,qΠDE8M T! "r_Dw¦^cIl!"{ |LdʹKU_gaj#noQEbcЦڐω vl+׹VwXg}E;5E88wb*{y!T_)ޭSgքSt3qf8q_GF6σФ?)c|1O69ʰthGaHJQ.R<[-=Yrm<ުD Ө[a Vh>y`PHY.UsB+KO:a[dP@$1N 5}OccS;?W,WcY߶uݏ24+H ĝSK.9|sEϞO~W xm"{c=ӣv"DtTL!)^Rl#Һӑ5"+Gu:tF=o QS8zcI.iO 1?-da3!)#%iӁ\<_z+UN6Z|Jgǧ4ѓSGvdSO'Mx%[h1uF%ʬh͋ҞD8)EE)`10a6'ea;!3cK$Jh*mN+$uJ%E{?\R:Ih0[C]hKJׂClR2Teez=kgd д_h$fM}Frq*5G SPts6K[63I?=!xW"C^T Qi5 0GO5ٮ ΎQ !xnQzcJ跰<nl*HUޡQ M$ ݒVV"V GFsfv\. W勅_LւPp >3އ6eжM΋tȏ]w[g;@yD!U .LZ,2f;Rmx;t\_>mȇU@yb\ۃuM{*RPE<9:ƣ?;hF;2.6/ÎfRHJݤydsU&t_ v~Ƴ|a-j6Duabs-i%#6̀NYSr0Nuj`&șu=;  mJbB7b.22QLhƹ]j k&ATIF*epYT^:ԯ[$2P, VU~3d]!vN'~cjC8HۓcS/6]u  MzFdϭt 9Lj1.#\T9Nj~s]3PW<#.(: .p,n#$zB8Lhx(UFv)-SߚGim:4YpHɯB/CO.j ⎵dQhc!kd_B&,wk- >L%[nJkDCn]2˾Q׿ q%WτZ|Lh䧈Ef