python-2.7.18-150000.44.1<>,Jtc)p9|Ts{s2lň}ђ‚ gfPjW*|/}װfL)~3{ݼxX28yy7:cwl =:Kb]ʮn%XԏYa>qTՒ`T.`_BL!;Z#7'vJ0*~b 9~//)$MuƘ2ciANfpɻndԳ|O"a5&E~cNej=Hҁ(e>C?d   / $;AL    x . /,1477::P:<(=68=@W9>W:DzW>@.B=FxGHIXXYZ<[L\P]^ bcde f#l%u8v wx\yzCpython2.7.18150000.44.1Python InterpreterPython is an interpreted, object-oriented programming language, and is often compared to Tcl, Perl, Scheme, or Java. You can find an overview of Python in the documentation and tutorials included in the python-doc (HTML) or python-doc-pdf (PDF) packages. If you want to install third party modules using distutils, you need to install python-devel package.c)ibs-arm-5SUSE Linux Enterprise 15SUSE LLC Python-2.0https://www.suse.com/Development/Languages/Pythonhttp://www.python.org/linuxaarch64>t00 PP,CII-&22x__K [[L ``=IPPFF;&M"M"66U c c"R"RK#WW g g g-77;-- ""& w w D D `**@@  "/mmOD==BB>$;;>h%> v n -8<<7&& <JAJA:OO;`X`X~7~710AA큤A큤A큤A큤A큤A큤c)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)c)c)c)c)c)c)c)cc)c)cc)c)cc)c)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)cc)c)c)c)c)c)fd6c6e5b098ade0aa1b123b2963e56728eb3619754881baff7fb10fb165becdb9e936f9a785fe8c893673c904a0789827ffb5e2c57fc27f69d2ca097e507d3079e936f9a785fe8c893673c904a0789827ffb5e2c57fc27f69d2ca097e507d307abd3f646419f3a33f64814342bb894047bfda3ec695286aa2b07e340700f733f990727cda84445baa123eede74df3dc1b68d69186c89f75f15ca8fa6dc65f095990727cda84445baa123eede74df3dc1b68d69186c89f75f15ca8fa6dc65f095fa3f60506840cc9f608d660fcd6265dbb22b53362a4bfdd98cd9c988769273087f618f9911e84ab3bbf584620ca14da6d14f7c3bbb5c5ac9129e3d8969208b9f7f618f9911e84ab3bbf584620ca14da6d14f7c3bbb5c5ac9129e3d8969208b9f046a34799e33a47832a21f34ded777c64616710f52cc75e7116796442c05cd43ddfbcf396004bc7d61ba208c21beac10911a17135f0dfabf978b27bec5e18195ddfbcf396004bc7d61ba208c21beac10911a17135f0dfabf978b27bec5e18195228a008dd77f0bfe90718c9577fab61ef96b7adb4e608c5492385cea0c206e2df8e09e11dd2e91f8b93256d92dfa0121a2854f4fd6551ce19ba8d5ab7c544314f8e09e11dd2e91f8b93256d92dfa0121a2854f4fd6551ce19ba8d5ab7c544314b708a282a1e9d211cccbdcc194ec3c6f8894a7e9ae003806b933f2c0cbde5f232530ea59b529f2a07ad41177efc15e26a5bef8d2c6a4b6890d2ee480865b7be9722218c8fb11730051c8bab157fa95a43e57e4915b4ad38298e255922cfee77baf71194b97feb43ce6583f4f2fe8f894d8df89b2565bff32daecc7c42f7b0eeffb5cc9e946415a53356183b39b12ec300e6d9f356c54905a7a7c08ae773b9656fb5cc9e946415a53356183b39b12ec300e6d9f356c54905a7a7c08ae773b9656e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855b448b5c3dfdba473d14a4517ebb7caf33942ea5e2eb54833cb1c0f6397aab691b448b5c3dfdba473d14a4517ebb7caf33942ea5e2eb54833cb1c0f6397aab691df8c414bcf1679eec7aa0bff235cdf98829730da9b75ad50baa432b7ee87d2e4180751239950185feb149e8a93910fb7ed2a2df2bf8aeba167f2ad671f015f0c180751239950185feb149e8a93910fb7ed2a2df2bf8aeba167f2ad671f015f0cb379c1e0ea1bc3db50745e3700fbd617b58424ce07f96dae45ab79ddc56d7b308671ee66340081fb898260d3580ce36fb6252c7283737c0d818da89d1077ca328671ee66340081fb898260d3580ce36fb6252c7283737c0d818da89d1077ca327b22ab3d374af60bb0eb9693c736e502b0e530263916c416611fe5ee8790e3cc677f2c87801ad52bd7e0d6e8a1061372fa180f4cd4990ffe61cc9b4d75626f60677f2c87801ad52bd7e0d6e8a1061372fa180f4cd4990ffe61cc9b4d75626f602b29f5758fb7a2b3e876794c563b53aaebb88529ea40c6374975be54f83237b81d8fdcfaa539d24a3916fc7279fa5e167bb9052dc6a46226ee5be05aa19909211d8fdcfaa539d24a3916fc7279fa5e167bb9052dc6a46226ee5be05aa1990921cc530147bfd552b8ea9c2613f7956de578196a3129b01d73ff50925094af826b8869bbd36f1db53a3796067f0324c79ed58aea6cc86379ddcf0f8ed447c95b358869bbd36f1db53a3796067f0324c79ed58aea6cc86379ddcf0f8ed447c95b3589bbcb75081406a2dd0d728e09138a21f469634cf7aef1e5c55f2779a9a6b7637f7a9e44a1a1204163d8b67ce41154faa169f21bd2e5985ba841cf0d48e0821c7f7a9e44a1a1204163d8b67ce41154faa169f21bd2e5985ba841cf0d48e0821c08cca8469491cfead102a6bef69be1afab7529e129001a4ffb31433766a4335d4d9648fcaaf8591b7e79fcdca88244ae04055d9c4172b16c83431f58f9c2e9ad4d9648fcaaf8591b7e79fcdca88244ae04055d9c4172b16c83431f58f9c2e9ad3f207cd262365b5c64246a76caf4fe319255eb83493a0985976607440c2c19e594236b9ab9cf462cd66d2a061f66e860d5b35b61b2fa2d328b0c1c8cacc19acf94236b9ab9cf462cd66d2a061f66e860d5b35b61b2fa2d328b0c1c8cacc19acfef974db90bc549f14427a792ccfd7c6bdade19f281a679e2197cb18f3b13a81194b2217f1f3b03fd45a51a5f6c4902abe9a976dcc3e7a9d5e647cba5f875d16394b2217f1f3b03fd45a51a5f6c4902abe9a976dcc3e7a9d5e647cba5f875d163c6ddc76661905a142bb489e72a19bb3c4ec045b4193656518acd4430f8ecbbdce2a2a584d03de2c0766e1540767e44b53e05ac517e0882aaca69aa8bde9a6f3de2a2a584d03de2c0766e1540767e44b53e05ac517e0882aaca69aa8bde9a6f3d4e721a412fd4561c75485a1c4cf11262aa5d82bc68bd5d984629b62b398221d496922858f78901a8d2fe14e1fb28ccfd7b28601c43a9fa09bb45192c31306b7696922858f78901a8d2fe14e1fb28ccfd7b28601c43a9fa09bb45192c31306b76c622e4e53e332adaeb9a9ecd06f109c319be5146eb7de4b95c8bedc72cd819fa9e92a95fafaf420adaa3767d162979ec4fed54c543d8e412b6321efc40f589c19e92a95fafaf420adaa3767d162979ec4fed54c543d8e412b6321efc40f589c183f7d09faa6a85a2cfe48f30e75252019da7356c97f5ff8a50a3db246c55dcffaac5872566d39f1341d5b4d0c1d6e1f6edaad6feb3a05ac4e3c61b31fa0db2ebaac5872566d39f1341d5b4d0c1d6e1f6edaad6feb3a05ac4e3c61b31fa0db2eb832dd1a240df8ab4bb34d8f2597591f614a5312faa4a867e287ad4c7bf2998087503ee58bec632ba70a43d5843305f7292a1fcd4b1f173f4014871831176b3c37503ee58bec632ba70a43d5843305f7292a1fcd4b1f173f4014871831176b3c36ff2b127c2698dc1384dedb8b99c70d305bf7511cd9a51be1a98c8c97fd23d692db9bf339a56ea8309144d7a251324e6134e6a219ef4e68479ddc5e857e4f5352db9bf339a56ea8309144d7a251324e6134e6a219ef4e68479ddc5e857e4f5351c57c2ca2176e7d7b88e983a86cc904d22f480ccf5f124a213728b51a961e94386b553b9fad62bb57c1914fe9eef511afd25657365835fc8e59b14eda7df9c4d86b553b9fad62bb57c1914fe9eef511afd25657365835fc8e59b14eda7df9c4d20a74746b7619ff8dc09a2538bef118bfcf001908524d77d9dc8d831a19f03c9d171aeabbed0ce9cb605781ce7cea0214fa867a7d1e6cb0c8f8ac71dc6e0bb40d171aeabbed0ce9cb605781ce7cea0214fa867a7d1e6cb0c8f8ac71dc6e0bb4099be4f02902c038f1558b7cb9524bc4b42a6564fa6616f070b718b905ddfe62d021030c425c9095c8f444a99b6acbb7b9cc35e82b3bf07d9c580dbff650fd716021030c425c9095c8f444a99b6acbb7b9cc35e82b3bf07d9c580dbff650fd71665f3f64e35c9db4f85672bf2193f645ab2ea2d3649bb28eba5d83e6a3f804d4f4157a58ccdf1681aa20d2192334d4c1a071a19c67352f441c266fe808a6db0514157a58ccdf1681aa20d2192334d4c1a071a19c67352f441c266fe808a6db0515915ab9ffdfa1e5299c7512175011a7ced2bc924970de1eee645bc3943c482a0de9761785c9183f05e828a5a78195aa5268a6eb2e1cf9cc68bb0bf4d234f69b0de9761785c9183f05e828a5a78195aa5268a6eb2e1cf9cc68bb0bf4d234f69b0cb65b79ad7a67f67fc49cd170648d9e2a4dd7cd72cf4a013a032f680bc2cb738af6f0c379a69e885ba39e77a9a974b70f31a26e50af0a5502cbb2b9bfc08b5aeaf6f0c379a69e885ba39e77a9a974b70f31a26e50af0a5502cbb2b9bfc08b5aef97b0df5f745f51f764634e3c0965295f2d1643d12ad8a94ba0e1a32301d390faaa98b957186bddb28290f3ea069951b6c652ae094d43232f08230d9d28c4ad2aaa98b957186bddb28290f3ea069951b6c652ae094d43232f08230d9d28c4ad24f05568dd9fa927ef7f6e7b0189567e3d46b8a70a6f9eedee80d2eeab7fda7cef2a02802aa0fa66381c32f5d7eea069e40aeaf005567f45d1627ad50a8969d86f2a02802aa0fa66381c32f5d7eea069e40aeaf005567f45d1627ad50a8969d86e3850d1a493b6b958e2bd9f66ec8b62a0d72ebb7c3eafcb83cfddf4faf920dd2b3b94c7cd8c8f1f409f4a9abdf882cb18b71d1fd631995c97f04d738ad24c2c2b3b94c7cd8c8f1f409f4a9abdf882cb18b71d1fd631995c97f04d738ad24c2c2440bcc5ca369dc790fb6bd53484ef20fbfa31d9c46901361afed619949e21828ea12f5926a90ecae348a50b14dbe89f98e95fce1ef696ff40b9f2c631d8f6eb30e2d893caf2e2bd5b717597d4027c19889f833faa9ad75ae8c8507ef43cb0542f06c1c718f8c841eb2d324c57d9966dd11c3be6b2e374fa0b689bd9ccc815955ad44935fb73b7a57376327197637f65cc3c3d66e813e7634eba904cda5f3166fa57e80b8a0d16549b7a466ef3585bc8f13c1983dcf13845b22be1a748be3a0e682d49300ff1922f379e0969704f8e0b9ff15ecc18c47a8bbfabb785db3a3b89782d49300ff1922f379e0969704f8e0b9ff15ecc18c47a8bbfabb785db3a3b8975186810c169e033eae41c2010a89c982276999b94f1d4cebc5b9267f8e97ab7076f768ff9d8663f3fdee014cc2f24f8d3617b444ee128f5f5d33523ac49b70fe76f768ff9d8663f3fdee014cc2f24f8d3617b444ee128f5f5d33523ac49b70fe4268c68294b00b82adc2dba7e600310cb45c468e5780aff2455eb8103d21d282a4dee9c603fedbc89277d2c3d81c047f0eda8378bd848bce7f58851e975bff52a4dee9c603fedbc89277d2c3d81c047f0eda8378bd848bce7f58851e975bff52e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85562cea9c5e4c945155fe704de5cb78f7a99fcc6a6151fb7a718cb5aab6047643e62cea9c5e4c945155fe704de5cb78f7a99fcc6a6151fb7a718cb5aab6047643e47532d524864d6ad2aa109f05f7bf77b68d48772fe421efb29605e23bad8ddc0fa3473f7a8125115a4b0cc9585833aaa9e70363857c2614783e85f5587be61a8b619c1654bce94035b1cf8fb281a4a256fbd5bd39acd11ac8ba45d01f55c9200b86371d3fc23f7b32d2c4fd4728e91ad1dc0fa95f253ee27fad4ba9025cd8a9f09e23f0c8b8ce38185e0a41846095dbe4d997944c06dee3461e171fa5c62e3a109e23f0c8b8ce38185e0a41846095dbe4d997944c06dee3461e171fa5c62e3a137b4cb47babf65937b399f9dbc7fca98c3bf0528f3f0de63e3774c4326bf78751a85d3cb23cb8fb6ceb72ef329f977be3dceeaa89c863e563bb47f95d4d48c111a85d3cb23cb8fb6ceb72ef329f977be3dceeaa89c863e563bb47f95d4d48c117d9827fec848c29932e32465e761271475a0edca1ea0b4f2961e6d4521c632f3a656f3170647c9edba96acd3e48e9d60e87e1f92dc343fddf5d048b5368b4e2fa656f3170647c9edba96acd3e48e9d60e87e1f92dc343fddf5d048b5368b4e2fe10c9954f20298e5ba4d7a6628b9df60f8ae907e9a7336293330f2fbdc81e13789ff5bc401606074a26a3d8cb27463d646645a67d687e8f7107284d062f9419a89ff5bc401606074a26a3d8cb27463d646645a67d687e8f7107284d062f9419a00b137ea0cd5d5bced4ad9b4c0665a83efc3b3039756eb11dce285a65fd23b0f587a48340ed8bb985aa6e8f097a5810a474372c0b6e61fc1a94b31cddd8119c6587a48340ed8bb985aa6e8f097a5810a474372c0b6e61fc1a94b31cddd8119c67e90a937b6d21b59029d2b66b1276eed2451d5f5bdd115aa9b16175b581be43ad1e3bbeebb2d7f74e0284f9f315da3a5dc4f33a17d36629254c85d0c1dc01de4d1e3bbeebb2d7f74e0284f9f315da3a5dc4f33a17d36629254c85d0c1dc01de416da7063b627f6ba101642ee6a3e8814fa88b3ab1912bad182e72caf48e85d8721de775486ff16b8bdb3efd2de870d03d70f703c730b8e8add9da9b830eee1fc21de775486ff16b8bdb3efd2de870d03d70f703c730b8e8add9da9b830eee1fc1ae0959ef8161b6a63e22dd21b776af8a6c040135d4c7d3bc721dacb5c99d6c4bb1d7eb93b9b5a64da653d4710f053173e446d970420f2ee9b9031c1d396b9b7bb1d7eb93b9b5a64da653d4710f053173e446d970420f2ee9b9031c1d396b9b71b5ea00f59beda20d18f7c4b11155adfcd15e52454ecf0e2f1ae2b4222b4943de8192ffb7bb1a79349bb3a552436e9c92bec9f54df1a51f03e041e88852d5686e8192ffb7bb1a79349bb3a552436e9c92bec9f54df1a51f03e041e88852d5686de4d1f2d2ad5ad0cfd1657a106476b31cb5db5ef9d1ff842b237c0c81f0c8a239f47df778a81f7a6db680f44c1611a5b4c4c9c4ff840b09d3bcf6fea974cdf2ac1649ee90f8535de061b77e5db7a60bdd33daa50c5fbd48f54123fd1c2127854rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-2.7.18-150000.44.1.src.rpmpythonpythonpython(aarch-64)python2python2_split_startup@@@@@@@@@@@@@@@     /sbin/ldconfig/sbin/ldconfigld-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)libcrypto.so.1.1()(64bit)libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)libdb-4.8.so()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)libpython2.7.so.1.0()(64bit)libreadline.so.7()(64bit)libsqlite3.so.0()(64bit)libssl.so.1.1()(64bit)libssl.so.1.1(OPENSSL_1_1_0)(64bit)python(abi)python-baserpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.72.7.183.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1cbb@b@b@ba@a@a(@aim@aI@a'@a#aj@a`t`8`_T^J^@^@^>^>^;^8 @^.^g@^ @]f@]@]]]d@]d@]@]z@]V]y@]9]1]\t@\\7\7\\J@\J@\C@\2[[#@[6@[@[ @[Za@Z@ZxG@ZtRZp^@Z CVE-2021-3737-fix-HTTP-client-infinite-line-reading-after-a-HTTP-100-Continue.patch (boo#1189241, CVE-2021-3737)- Renamed patch for assigned CVE: * bpo43075-fix-ReDoS-in-request.patch -> CVE-2021-3733-fix-ReDoS-in-request.patch (boo#1189287, CVE-2021-3733) - Fix python-doc build (bpo#35293): * sphinx-update-removed-function.patch - Update documentation formatting for Sphinx 3.0 (bpo#40204).- Add bpo43075-fix-ReDoS-in-request.patch which fixes ReDoS in request (bpo#43075, boo#1189287). - Add missing security announcement to bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch.- Add bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch which fixes http client infinite line reading (DoS) after a http 100 (bpo#44022, boo#1189241).- Modify Lib/ensurepip/__init__.py to contain the same version numbers as are in reality the ones in the bundled wheels (bsc#1187668).- Add CVE-2021-23336-only-amp-as-query-sep.patch which forbids use of semicolon as a query string separator (bpo#42967, bsc#1182379, CVE-2021-23336).- Add CVE-2021-3177-buf_ovrfl_PyCArg_repr.patch fixing bsc#1181126 (CVE-2021-3177) buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution.- (bsc#1180125) We really don't Require python-rpm-macros package. Unnecessary dependency.- Add patch configure_PYTHON_FOR_REGEN.patch which makes configure.ac to consider the correct version of PYTHON_FO_REGEN (bsc#1078326).- Use python3-Sphinx on anything more recent than SLE-15 (inclusive).- Update to 2.7.18, final release of Python 2. Ever.: - Newline characters have been escaped when performing uu encoding to prevent them from overflowing into to content section of the encoded file. This prevents malicious or accidental modification of data during the decoding process. - Fixes a ReDoS vulnerability in `http.cookiejar`. Patch by Ben Caller. - Fixed line numbers and column offsets for AST nodes for calls without arguments in decorators. - bsc#1155094 (CVE-2019-18348) Disallow control characters in hostnames in http.client. Such potentially malicious header injection URLs now cause a InvalidURL to be raised. - Fix urllib.urlretrieve failing on subsequent ftp transfers from the same host. - Fix problems identified by GCC's -Wstringop-truncation warning. - AddRefActCtx() was needlessly being checked for failure in PC/dl_nt.c. - Prevent failure of test_relative_path in test_py_compile on macOS Catalina. - Fixed possible leak in `PyArg_Parse` and similar functions for format units "es#" and "et#" when the macro `PY_SSIZE_T_CLEAN` is not defined. - Remove upstreamed patches: - CVE-2019-18348-CRLF_injection_via_host_part.patch - python-2.7.14-CVE-2017-1000158.patch - CVE-2018-14647_XML_SetHashSalt-in_elementtree.patch - CVE-2018-1061-DOS-via-regexp-difflib.patch - CVE-2019-10160-netloc-port-regression.patch - CVE-2019-16056-email-parse-addr.patch- Add CVE-2019-9674-zip-bomb.patch to improve documentation warning about dangers of zip-bombs and other security problems with zipfile library. (bsc#1162825 CVE-2019-9674)- Change to Requires: libpython%{so_version} == %{version}-%{release} to python-base to keep both packages always synchronized (add %{so_version}) (bsc#1162224).- Add CVE-2020-8492-urllib-ReDoS.patch fixing the security bug "Python urrlib allowed an HTTP server to conduct Regular Expression Denial of Service (ReDoS)" (bsc#1162367)- Provide python-testsuite from devel subkg to ease py2->py3 dependencies- Add python-2.7.17-switch-off-failing-SSL-tests.patch to switch off tests coliding with the combination of modern Python and ancient OpenSSL on SLE-12.- libnsl is required only on more recent SLEs and openSUSE, older glibc supported NIS on its own.- Add provides in gdbm subpackage to provide dbm symbols. This allows us to use %%{python_module dbm} as a dependency and have it properly resolved for both python2 and python3- Drop appstream-glib BuildRequires and no longer call appstream-util validate-relax: eliminate a build cycle between as-glib and python. The only thing would would gain by calling as-uril is catching if upstream breaks the appdata.xml file in a future release. Considering py2 is dying, chances for a new release, let alone one breaking the xml file, are slim.- Unify packages among openSUSE:Factory and SLE versions. (bsc#1159035) ; add missing records to this changelog. - Add idle.desktop and idle.appdata.xml to provide IDLE in menus (bsc#1153830)- Add python2_split_startup Provide to make it possible to conflict older packages by shared-python-startup.- Move /etc/pythonstart script to shared-python-startup package.- Add bpo-36576-skip_tests_for_OpenSSL-111.patch (originally from bpo#36576) skipping tests failing with OpenSSL 1.1.1. Fixes bsc#1149792- Add adapted-from-F00251-change-user-install-location.patch fixing pip/distutils to install into /usr/local.- Update to 2.7.17: - a bug fix release in the Python 2.7.x series. It is expected to be the penultimate release for Python 2.7. - Removed patches included upstream: - CVE-2018-20852-cookie-domain-check.patch - CVE-2019-16935-xmlrpc-doc-server_title.patch - CVE-2019-9636-netloc-no-decompose-characters.patch - CVE-2019-9947-no-ctrl-char-http.patch - CVE-2019-9948-avoid_local-file.patch - python-2.7.14-CVE-2018-1000030-1.patch - python-2.7.14-CVE-2018-1000030-2.patch - Renamed remove-static-libpython.diff and python-bsddb6.diff to remove-static-libpython.patch and python-bsddb6.patch to unify filenames.- Add CVE-2019-16935-xmlrpc-doc-server_title.patch fixing bsc#1153238 (aka CVE-2019-16935) fixing a reflected XSS in python/Lib/DocXMLRPCServer.py- Add bpo36302-sort-module-sources.patch (boo#1041090)- Add CVE-2019-16056-email-parse-addr.patch fixing the email module wrongly parses email addresses [bsc#1149955, CVE-2019-16056]- boo#1141853 (CVE-2018-20852) add CVE-2018-20852-cookie-domain-check.patch fixing http.cookiejar.DefaultPolicy.domain_return_ok which did not correctly validate the domain: it could be tricked into sending cookies to the wrong server.- Skip test_urllib2_localnet that randomly fails in OBS- bsc#1138459: add CVE-2019-10160-netloc-port-regression.patch which fixes regression introduced by the previous patch. (CVE-2019-10160) Upstream gh#python/cpython#13812- Set _lto_cflags to nil as it will prevent to propage LTO for Python modules that are built in a separate package.- bsc#1130840 (CVE-2019-9947): add CVE-2019-9947-no-ctrl-char-http.patch Address the issue by disallowing URL paths with embedded whitespace or control characters through into the underlying http client request. Such potentially malicious header injection URLs now cause a ValueError to be raised.- bsc#1130847 (CVE-2019-9948) add CVE-2019-9948-avoid_local-file.patch removing unnecessary (and potentially harmful) URL scheme local-file://.- bsc#1129346: add CVE-2019-9636-netloc-no-decompose-characters.patch Characters in the netloc attribute that decompose under NFKC normalization (as used by the IDNA encoding) into any of ``/``, ``?``, ``#``, ``@``, or ``:`` will raise a ValueError. If the URL is decomposed before parsing, or is not a Unicode string, no error will be raised (CVE-2019-9636). Upstream commits e37ef41 and 507bd8c.- (bsc#1111793) Update to 2.7.16: * bugfix-only release: complete list of changes on https://github.com/python/cpython/blob/2.7/Misc/NEWS.d/2.7.16rc1.rst * Removed openssl-111.patch and CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch which are fully included in the tarball. * Updated patches to apply cleanly: CVE-2019-5010-null-defer-x509-cert-DOS.patch bpo36160-init-sysconfig_vars.patch do-not-use-non-ascii-in-test_ssl.patch openssl-111-middlebox-compat.patch openssl-111-ssl_options.patch python-2.5.1-sqlite.patch python-2.6-gettext-plurals.patch python-2.7-dirs.patch python-2.7.2-fix_date_time_compiler.patch python-2.7.4-canonicalize2.patch python-2.7.5-multilib.patch python-2.7.9-ssl_ca_path.patch python-bsddb6.diff remove-static-libpython.patch * Update python-2.7.5-multilib.patch to pass with new platlib regime.- bsc#1109847 (CVE-2018-14647): add CVE-2018-14647_XML_SetHashSalt-in_elementtree.patch fixing bpo-34623.- bsc#1073748: add bpo-29347-dereferencing-undefined-pointers.patch PyWeakref_NewProxy@Objects/weakrefobject.c creates new isntance of PyWeakReference struct and does not intialize wr_prev and wr_next of new isntance. These pointers can have garbage and point to random memory locations. Python should not crash while destroying the isntance created in the same interpreter function. As per my understanding, both wr_prev and wr_next of PyWeakReference instance should be initialized to NULL to avoid segfault.- bsc#1122191: add CVE-2019-5010-null-defer-x509-cert-DOS.patch fixing bpo-35746 (CVE-2019-5010). An exploitable denial-of-service vulnerability exists in the X509 certificate parser of Python.org Python 2.7.11 / 3.7.2. A specially crafted X509 certificate can cause a NULL pointer dereference, resulting in a denial of service. An attacker can initiate or accept TLS connections using crafted certificates to trigger this vulnerability.- Use upstream-recommended %{_rpmconfigdir}/macros.d directory for the rpm macros.- Add patch openssl-111.patch to work with openssl-1.1.1 (bsc#1113755)- Apply "CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch" which converts shutil._call_external_zip to use subprocess rather than distutils.spawn. [bsc#1109663, CVE-2018-1000802]- Apply "CVE-2018-1061-DOS-via-regexp-difflib.patch" to prevent low-grade poplib REDOS (CVE-2018-1060) and to prevent difflib REDOS (CVE-2018-1061). Prior to this patch mail server's timestamp was susceptible to catastrophic backtracking on long evil response from the server. Also, it was susceptible to catastrophic backtracking, which was a potential DOS vector. [bsc#1088004 and bsc#1088009, CVE-2018-1061 and CVE-2018-1060]- Apply "CVE-2017-18207.patch" to add a check to Lib/wave.py that verifies that at least one channel is provided. Prior to this check, attackers could cause a denial of service (divide-by-zero error and application crash) via a crafted wav format audio file. [bsc#1083507, CVE-2017-18207]- Apply "python-sorted_tar.patch" (bsc#1086001, boo#1081750) sort tarfile output directory listing- update to 2.7.15 * dozens of bugfixes, see NEWS for details - removed obsolete patches: * python-ncurses-6.0-accessors.patch * python-fix-shebang.patch * gcc8-miscompilation-fix.patch - add patch from upstream: * do-not-use-non-ascii-in-test_ssl.patch- Add gcc8-miscompilation-fix.patch (boo#1084650).- Apply "python-2.7.14-CVE-2017-1000158.patch" to prevent integer overflows in PyString_DecodeEscape that could have resulted in heap-based buffer overflow attacks and possible arbitrary code execution. [bsc#1068664, CVE-2017-1000158]- exclude test_socket & test_subprocess for PowerPC boo#1078485 (same ref as previous change)- Add python-skip_random_failing_tests.patch bypass boo#1078485 and exclude many tests for PowerPC- Add patch python-fix-shebang.patch to fix bsc#1078326- exclude test_regrtest for s390, where it does not segfault as it should (fixes bsc#1073269) - fix segfault while creating weakref - bsc#1073748, bpo#29347 (this is actually fixed by the 2.7.14 update; mentioning this for purposes of bugfix tracking)- update to 2.7.14 * dozens of bugfixes, see NEWS for details * fixed possible integer overflow in PyString_DecodeEscape (CVE-2017-1000158, bsc#1068664) * fixed segfaults with dict mutated during search * fixed possible free-after-use problems with buffer objects with custom indexing * fixed urllib.splithost to correctly parse fragments (bpo-30500) - drop upstreamed python-2.7.13-overflow_check.patch - drop unneeded python-2.7.12-makeopcode.patch - drop upstreamed 0001-2.7-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3094.patch - Apply "python-2.7.14-CVE-2018-1000030-1.patch" and "python-2.7.14-CVE-2018-1000030-2.patch" to remedy a bug that would crash the Python interpreter when multiple threads used the same I/O stream concurrently. This issue is not classified as a security vulnerability due to the fact that an attacker must be able to run code, however in some situations -- such as function as a service -- this vulnerability can potentially be used by an attacker to violate a trust boundary. [bsc#1079300, CVE-2018-1000030]- Call python2 instead of python in macros- Fix test broken with OpenSSL 1.1 (bsc#1042670) * add 0001-2.7-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3094.patch- drop SUSE_ASNEEDED=0 as it is not needed anymore- Add libnsl-devel build requires for glibc obsoleting libnsl- obsolete/provide python-argparse and provide python2-argparse, because the argparse module is available from python 2.7 up- SLE package update (bsc#1027282) - refresh python-2.7.5-multilib.patch - dropped upstreamed patches: python-fix-short-dh.patch python-2.7.7-mhlib-linkcount.patch python-2.7-urllib2-localnet-ssl.patch CVE-2016-0772-smtplib-starttls.patch CVE-2016-5699-http-header-injection.patch CVE-2016-5636-zipimporter-overflow.patch python-2.7-httpoxy.patch - Add python-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1. (dimstar@opensuse.org)- Add reproducible.patch to allow reproducible builds of various python packages like python-amqp Upstream: https://github.com/python/cpython/pull/296- update to 2.7.13 * dozens of bugfixes, see NEWS for details * updated cipher lists for openssl wrapper, support openssl >= 1.1.0 * properly fix HTTPoxy (CVE-2016-1000110) * profile-opt build now applies PGO to modules as well - update python-2.7.10-overflow_check.patch with python-2.7.13-overflow_check.patch, incorporating upstream changes (bnc#964182) - add "-fwrapv" to optflags explicitly because upstream code still relies on it in many places- provide python2-* symbols, for support of new packages built as python2-foo - rename macros.python to macros.python2 accordingly - require python-rpm-macros package, drop macro definitions from macros.python2- initial packaging of `python27` side-by-side variant (fate#321075, bsc#997436) - renamed `python` to `python27` in package names and requires - removed Provides and Obsoletes clauses - dropped SLE12-only patch python-2.7.9-sles-disable-verification-by-default.patch, companion sle_tls_checks_policy.py file and the python-strict-tls-checks subpackage - dropped profile files - removed /usr/bin/python and /usr/bin/python2, along with other unversioned aliases - rewrote macros file to enable stand-alone packages depending on py2.7 - re-included downloaded version of HTML documentation- update to 2.7.12 * dozens of bugfixes, see NEWS for details * fixes multiple security issues: CVE-2016-0772 TLS stripping attack on smtplib (bsc#984751) CVE-2016-5636 zipimporter heap overflow (bsc#985177) CVE-2016-5699 httplib header injection (bsc#985348) (this one is actually fixed since 2.7.10) - removed upstreamed python-2.7.7-mhlib-linkcount.patch - refreshed multilib patch - python-2.7.12-makeopcode.patch - run newly-built python interpreter to make opcodes, in order not to require pre-built python - update LD_LIBRARY_PATH to use $PWD instead of "." because the test process escapes to its own directory - modify shebang-fixing scriptlet to ignore makeopcodetargets.py- CVE-2016-0772-smtplib-starttls.patch: smtplib vulnerability opens startTLS stripping attack (CVE-2016-0772, bsc#984751) - CVE-2016-5636-zipimporter-overflow.patch: heap overflow when importing malformed zip files (CVE-2016-5636, bsc#985177) - CVE-2016-5699-http-header-injection.patch: incorrect validation of HTTP headers allow header injection (CVE-2016-5699, bsc#985348) - python-2.7-httpoxy.patch: HTTPoxy vulnerability in urllib, fixed by disregarding HTTP_PROXY when REQUEST_METHOD is also set (CVE-2016-1000110, bsc#989523)- Add python-2.7.10-overflow_check.patch to fix broken overflow checks. [bnc#964182]- copy strict-tls-checks subpackage from SLE to retain future compatibility (not built in openSUSE) - do this properly to fix bnc#945401 - update SLE check to exclude Leap which also has version 1315, just to be sure- Add python-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1.- add missing ssl.pyc and ssl.pyo to package - implement python-strict-tls-checks subpackage * when present, Python will perform TLS certificate checking by default. it is possible to remove the package to turn off the checks for compatibility with legacy scripts. * as discussed in fate#318300 * this is not built for openSUSE, but retained here in case we want to build the package for a SLE system- python-fix-short-dh.patch: Bump DH parameters to 2048 bit to fix logjam security issue. bsc#935856- add __python2 compatibility macro (used by Fedora) (fate#318838)- update to 2.7.10 - removed obsolete python-2.7-urllib2-localnet-ssl.patch- Reenable test_posix on aarch64- python-2.7.4-aarch64.patch: Remove obsolete patch - python-2.7-libffi-aarch64.patch: Fix argument passing in libffi for aarch64- update to 2.7.9 * contains full backport of ssl module from Python 3.4 (PEP466) * HTTPS certificate validation enabled by default (PEP476) * SSLv3 disabled by default (bnc#901715) * backported ensurepip module (PEP477) * fixes several missing CVEs from last release: CVE-2013-1752, CVE-2013-1753 * dozens of minor bugfixes - dropped upstreamed patches: python-2.7.6-poplib.patch, smtplib_maxline-2.7.patch, xmlrpc_gzip_27.patch - dropped patch python-2.7.3-ssl_ca_path.patch because we don't need it with ssl module from Python 3 - libffi was upgraded upstream, seems to contain our changes, so dropping libffi-ppc64le.diff as well - python-2.7-urllib2-localnet-ssl.patch - properly remove unconditional "import ssl" from test_urllib2_localnet that caused it to fail without ssl- skip test_thread in qemu_linux_user mode/sbin/ldconfig/sbin/ldconfigpython-elementtreepython-nothreadspython-sqlitepython21ibs-arm-5 1663676616  "##%&&())+,,.//122455788:;;=>>@AACDDFGGIJJLMMOPPRSSUVVXYY[\\^__abbdefghijkllnooqrrtuvvxyz{||~2.72.7.18-150000.44.12.7.18-150000.44.12.7.18python2.7bsddb__init__.py__init__.pyc__init__.pyodb.pydb.pycdb.pyodbobj.pydbobj.pycdbobj.pyodbrecio.pydbrecio.pycdbrecio.pyodbshelve.pydbshelve.pycdbshelve.pyodbtables.pydbtables.pycdbtables.pyodbutils.pydbutils.pycdbutils.pyotest__init__.py__init__.pyc__init__.pyotest_all.pytest_all.pyctest_all.pyotest_associate.pytest_associate.pyctest_associate.pyotest_basics.pytest_basics.pyctest_basics.pyotest_compare.pytest_compare.pyctest_compare.pyotest_compat.pytest_compat.pyctest_compat.pyotest_cursor_pget_bug.pytest_cursor_pget_bug.pyctest_cursor_pget_bug.pyotest_db.pytest_db.pyctest_db.pyotest_dbenv.pytest_dbenv.pyctest_dbenv.pyotest_dbobj.pytest_dbobj.pyctest_dbobj.pyotest_dbshelve.pytest_dbshelve.pyctest_dbshelve.pyotest_dbtables.pytest_dbtables.pyctest_dbtables.pyotest_distributed_transactions.pytest_distributed_transactions.pyctest_distributed_transactions.pyotest_early_close.pytest_early_close.pyctest_early_close.pyotest_fileid.pytest_fileid.pyctest_fileid.pyotest_get_none.pytest_get_none.pyctest_get_none.pyotest_join.pytest_join.pyctest_join.pyotest_lock.pytest_lock.pyctest_lock.pyotest_misc.pytest_misc.pyctest_misc.pyotest_pickle.pytest_pickle.pyctest_pickle.pyotest_queue.pytest_queue.pyctest_queue.pyotest_recno.pytest_recno.pyctest_recno.pyotest_replication.pytest_replication.pyctest_replication.pyotest_sequence.pytest_sequence.pyctest_sequence.pyotest_thread.pytest_thread.pyctest_thread.pyolib-dynload_bsddb.so_hashlib.so_sqlite3.so_ssl.soreadline.sosqlite3__init__.py__init__.pyc__init__.pyodbapi2.pydbapi2.pycdbapi2.pyodump.pydump.pycdump.pyotest__init__.py__init__.pyc__init__.pyodbapi.pydbapi.pycdbapi.pyodump.pydump.pycdump.pyofactory.pyfactory.pycfactory.pyohooks.pyhooks.pychooks.pyopy25tests.pypy25tests.pycpy25tests.pyoregression.pyregression.pycregression.pyotransactions.pytransactions.pyctransactions.pyotypes.pytypes.pyctypes.pyouserfunctions.pyuserfunctions.pycuserfunctions.pyossl.pyssl.pycssl.pyopythonLICENSEREADMEREADME.SUSE/usr/lib64//usr/lib64/python2.7//usr/lib64/python2.7/bsddb//usr/lib64/python2.7/bsddb/test//usr/lib64/python2.7/lib-dynload//usr/lib64/python2.7/sqlite3//usr/lib64/python2.7/sqlite3/test//usr/share/doc/packages//usr/share/doc/packages/python/-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:26006/SUSE_SLE-15_Update/3c4a72f70b5bfb44d756bab100f0b2b2-python.SUSE_SLE-15_Updatedrpmxz5aarch64-suse-linux          directoryPython script, ASCII text executablepython 2.7 byte-compiledASCII textemptyELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a6ce2298731dc5f8de4871753f49c18d5ea867e0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=baafe4c0df5c568e42b57bc8124cee330bca7449, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4aeb4e7262cd73604358d2b0b66591e8d5c65d9b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b1f33447c6f38155dcc096e09a8ad37f8d7b36e5, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e33c095020a44eaf96224f0f88d15dd4c6fd4e88, strippedPython script, ISO-8859 text executable  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`hqy  RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR R RRRRRRRR R RRRRRR R R RRRR RRRRRRR R RRRR RRR R R RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRN7ױ#~)lKutf-85120985ae39a5f463eaabc6ca1efd029ed779d0be6d488707753da3e13f8ff3f?7zXZ !t/܎]"k%UN) ӚGyޓRo=Ն6fy@}y6e^`ѿ^saŸXN{a} ;M6_?H/1u|Ć<$RQu>7V5D2 X;eR<LӴqdg6Ch"f'I: %|1cn5ߜȈ|HxsHhY(X٭0/V> ڔ#+2KUF4 걦'z:H^(r2cʊKK"l[9(Tb=idr 'T,`4`B ՙB{"fLZ4-W҉+`ĢwLF W\dosn[m)EcWbl~_rPцhuU6饟7qӆAbex#8#j:[sZWLkaSd.7{}9~: (6bU԰/Lu.܆3_&h_Z97s5 17$smiQ%1 RX{D4N$Tꟍ9bfjM9J ^Qؑ`j(ug~A\fS6-,3V䩁@SqƜSW"rD=tni?mED+$iiL{;;ФjHY~̺Cbwz 3Tt|bM3HO ˴0230_oe$8-E~~ζpfjU(ZA#q$_TqzXJ_S _6XR3ݩ"%"#)bAgfZg,9@}*E?FuBq4Ԕz mK AS` *8weVŌ18۷2zjӊO3+{hue(|C݁4~UEݎg6Qg=qg8*y$5ᄠITw6?e0|7.`(|=:>h<Áj݋q 0SX욂9Y'A<5grou)V{F:SH>l7l\Ƨм[ʯ Fm3f`5ݽ{O9R=D5(k}^u K9Ҙ vЕNq &A*1$ʃ}ǃ:Z@0:eIo=Am5j+>VW"| J7u,NU[*:߂N'1YI}#PX,g-Ʋ8@ *3rZN\9lDPtWQic5Jo-BzioSYȊ E7]<(UlwMuYR";+aH}섆v|1Q P|vSup'FGSgat龫Xs# _wb#Bt ]-Wx$H܉]t)#JK)g7jD MnZbufhrUAdM8 r.r^ YYt_/h"]?` c0(i}(f,V~0h<)ӱ%:3O<@9\e pZwh0R@{YnږKr|Tl{2ƭ8Qu0n!X"xvg4PFD"̊3/R6l2M[5,6nzju&Y&II8] w4yڱK܀iIH -W$G|$(}Sz+@Sq^s+] 7ZY@F$j 9wj'䍄?4뛰6{~ː۳i .SƅbPD&P$BU$wZXMӪa˅?#_j95R>G $0 hXA'ZlY;XR{7JڊZXb 񧙕A˴N5k$$~dwxk޽1!ȨR=zd"h %?.HL~Zk};B%DLӝ̛Ug.S5i9f,:RܗGR-Cq(D?}D#%؅ܲDbh$}p7%51(9Ef'xtaEs ׊ost6NO;D( 35^ R ٍ֞,*!KϬL8[20Pt՝nr4Iq?Z 2^] zb:"m%>2}f#þ7Os}TԭIIlIR 78Z #b|=3қBQd3h ԇyn([ti 68mJ4pH!PizF_ol^ɌSJ2܆iNϸ)3ql@ @ ǜ`+o|H/IG*n _ |Jӆ?=xFX@ fIFiG2Ӊ dU yYN7|;!3g (X5o~O kM܆Ejl 7SbWIL3;8VwTų䵣I3GPZi,M N Ob5HcCr/-S fT]P P&sצ`(q/|R2LjZ̀S`vJy*߹AJc]rtTP%.o:E ~ُB&RJ-(v$E6g^܋%I<x&t+ -1 Cp-+Y\}͓* BV3b>~S@-NkÖ_J%MA\)~{@$ebS؍@~4`rUVu5_K!pޒ}Tw10q_ttzmZZa˅gyw ')rOh6uEfo^}¸]=o!N2Jpj&a1s}\m%SǃDAUP}ȗ[p,Hq[S3UG@B=R|y[? BjyZF_%O|v*84 NpC9WѦL_"sӚ 0'\'8NGl`N2uX-kHڔsqbSM֌x)(FEClNL*3JuP<*@-p:W"?f~Lbvj3|bPa!ʳ &NsodT 9cNN!O;WW6_Ti(]9(YuO +~X/Gt!Nс #fdi#Y`0ymv 7q#D1ߟ>YϕcSQST4\: 6ފ^ҫDp]$'m|`ˤRfz9FK'ԛ 8zNރwoT8I8h6=*ҝ_#UR,rϷPR7l5d>vk o|Z$o7M!-a! O>lX+RC[X9d ȵ"2y:x~g^YnOtg_ך6;Ÿ.v4/ۯ}vQ2j#wCMTb3hM r ۺMiN Evmju{- R֊}P;#`u_BcNO.FU5;Q{+kw 2|j*(S AƳJ-\L>vZd+>'FP#NiגPNJVȆ4 o9Uh8X+qmwq>L L6釒O'7uR7^?̭czc~ TzP.rcJ0 >?t/p F@Na ?q H (U|EU+:S=) 7UIaD-Ebrېeu%M^ p^AsSqpMrc0촺kS—F=e=qZ)O#.{U X|5Sil܅vxڟQ{u&ρ_r8ּwGO4߬'y58WY3fj R".r.1u:K^~̀ꟗQDaVCJK#J"5ħ/6C|r@ Da^#'$gx] 0,iDDmID{Pa imWesk4 ΅6[q8z:VBCl4ه𰥢O0{V/v![4^T P;E,Nn1Ke|lYq@(nYI{QHXwU䒟&;!-70&WysrS-V+c' )Z(L6jm|;3WjE[|= F%x 6o1w҃)Haε3jMos3:{{;ģY2o=Ub%E\$攣u&?h.fz$.¡k![` Ί@%:T7qƾyŊWNX]+MIԳKfG2UJ/ Eͭ1Rq܎#JJCa7MHAO fq$W!0a4{v}B}h%̙R& ,|`-k /:gdR03ZzK,섞 'h:H.7>S)ya7sf?hrC ;)i޴mEB:zh=puH")ܼ3 B;dT&{ukdVI;kpt6: -0iVē$-z|Œiǩ IyPFZCRT+?2PC7lB(s.UKdc0[hEˤyM\x{6< Hד╟r&(bə2R1]@cWZ"j aIMF{Fd&HiZ*}_֪PJ95A**.)X;P]?\ _[cArQVOZ~М\qF7Yi2_u o]}fRJ_z]/A r!T*G༱ JAMGa]H[.t]kg@3ĉ?׹mL$M2p6tvY+,!ot3 Pk_Fځc_>ӧNKUO͵M" XjvBw}xR]2e. ɠ_5wN; = X;0mH'/zIHŃ0Ys59[> }C Ãx_ WeAZ [D< =6Hm;1nhjF1yC hjfaayZ,iU+Xo^'5/1xjȝruC>|:E$K>V.' Bơy _\[[ŋt"s"#'풆 O6ס d}'Q`nUS@h[Ja}XJgCe G68d9S (訞dh\"{Ɔ 7G[̲pTޙ+;m3-nw׉k{W7D!ּe0q״c W)Ct"Z`{ D6".!p䅧L:4?U)(0דӽ`rs&ҹHg0OڈΘ܋xݙEQC'v8yo*W2=`̫ym>&G82v7D~e56qfs9Dw7^^0 E*A.u|YSeX>u8)9 GR'#z) k}Q MWOJ]yOT)F1/*%Z8zmAI=@;W^0q),oUAԓ3G%5ax.LiŌV@y<sи斂qP3W_P4fA"*T ƺF v6{P<ԊU:_S>~[89cF4_Mu+A+˗U8E=Ȋ?Dq=nVaߐu]9ƗjV %6#(zBK@vd<V r<0엚;|U^Uz`"f+ꨁ  v]ETOϔ `߉0 &NfLR9?,Τ`8D=e$XY̴EAsZoM.O-VKzwxngl±.mʴ}_ݿhdl^rp3BNnd/vaiW1XwiKǣ/qY(I 5cLN,J)p!(Nh$O0 J&ZB׎*g(JVMvL]襮XuAdj¬p 6gMl1~0tZN1ȉJ{}4HJ<#)dX%Rh/G"C >iYT&3T'֓2@oϖXH Z~MF@V g'86DSyFn(v57)^m 01 amɷ&o)^ؤ([w+ Z3pov/M| 4%چV0gsX&=NڵйcV$ ,FVP+Z2M2ݥIБ1B\q5k\[gQۺ]\5V G;+BuQE̱R$[-T/d.)t\ݨ#"̒@!^ZC$mx]Ic-Ȗwѣ~۩N!{ 5(1zxK &j;'D_+^^K +0)oJ:\(3EyZi+ġۂV{:6P lK6q#ZFxG`$R:wϒY/aE@y>-~KSE۾.n [jQJm=ԧ>}`;XQUߣIi:?9!Xp&)N%YMUIɌU>&-U ?#Yᩘʩ"^Z^ 4p\5f}^HJԗϚ44gxU޻㰉\=ڊfvcC|g2\cu~fv69)?"*ӘllK 4bӛAPZyI 3G&dH!wC[m[G3i:2dE[|04mK1Z[f_pU ؿk ; T}g6b]Ь7Y'dFe#Ლ\t1"!4\jI-Jzw|oWZ:z v?BWGE/n|J /z32X% :ǘddPN(B+%n4t )TFZQuo i;SȵRZB@KHQ\]Dzq$jܻ8w4mw#Mυd'Ni/%߁ޑn;>FXƜƎZ'Ez$+}$lC{ 0փ;C^:YeӇ6uUvkBkҩyUnCjI;r|(M=?-T%k_j!M:<,:ܛ 3ɚ4{+{r>}Z0]5.B&"uSb9se>!=T8/׬YS܏?YnUD2Vڴn3QD]#sZ*h9\5ZplXfNGϲ,TRȮZpdL?HiaRJZ%&q6\pv) rg,.k]v + eKThᅣvu̼Tyv(v{̬lS*Tm7?)nتh*hIĚnu)n%>|DJ}~sqz&&V̰d3{#cN6Xh-!_ $DvuX ^#5P5Tya )DV?mtju-xVv+]_I[boAeAhӬ"OX)\-3baEQl#P$¢F{zX"Q_3%f.ϲj/s-ИͱBtVEh,RyqF;rlVaY{q"Ն9E淁`K L ٿO6R@Y+LV;\uZIf<ǼOk"*ܚk?OXMaߊ0S^&TZ3')#k64$^lC+LZ+CjtȀE^@4c[՘;M ̳s)HVMVnjM6g+¯waEmAw{ F+4NÔnoKPjerx3hҞK~1w?_Mo GD9Y'nPtGD0kH5tLgS͵l94ʀv.VT4$Mw}*`QD+#EVp.NmȂro;OX$TOlŨVL1+*'=J|& ؙEq{ kWfRBJc~:x2EK&*Uzm tiT,Ғrmi4{tʠdʳkYnM:\pj@FY%"()]]vДh)`]d_#5OsW)wfL݋͋,쳺Muϯ- >rW3>,rex: t]TsC,4% YɍA6FAA%E 5 ׭WT0dا:;:| Q*'4r[p֩PNa ^ݯ=I=/\šc[)+ '/f3J:Щżutt ྣ_FܟW6௷]s ?|dXVԦ9W(mc[ ^C|-e MNYșgiCΙR<"t%jhQ)ݷj5Z^Ϙ??A/WZk&.1lN l?".v街Fdfu0> VYpV(*D )ĖƉf^Z2,e& FmoyTd|d 4'S`%GT`CFْFM.!P59 ;¨˦𦧣~ZN@Vc{ q x  !\9Dl?q?us*f-*:]D6MQ#1a7 9Ti bZ0TFv ^>t'⨔,sYj[to1s6,lj87V $'|.:vI~-~M&0?4 !pԼZ0KŐ˗ҋHy8D"=w>^'N}@E 3-ZٞC_6 vO(r&.vg񟡖Vw>G|UTo=ш~|IhEBoe6 ((7`]KuZ9I)2u%\#?1 ώ ޴2G3SW"[%bE*zQ_IvD2꫼AMq#G/Ng)6*'zZ0) ItB\:T/~tjA )axxo(%ۙNoR+aŁBoN0ˠ7oc:4{}̧㓦\[Ֆlvי4 LJiAfФ;DV) @P91k[$oS&(ؗ :bӧČyyalBQ[a<642[~cABEFÈTg`;@y}\OPxpDJ0ŏ" <=t8.=QQFxw⊥-lmQF~C!^IHH3r85˅6aYU .lik'WG&&%Ya:~)x`;XRR%7"Ҋq]JNTKmU v )>R\4cu뜛feeb}2E1 ࿆,G?4x0~m >( q PxGR2=@E}X+- GT`_Ԟs^APIQzBm3\?hc rj*1uQqK/s&ܲ4}[ޖռO$`ɢX.藴ПWzߢYxe0ng %ÄZ{N6m! qY+j0Xkb5c7QJLm&(, Bڒ1T+w^zb&˱ ݿUؚh!-X9tó75w5;9hFy0qi3NZ ;:2͐Hm~2I٣u/75ri_16OCV؄(q94r=N2;gȼj֓BQq 6; ڠvhAO=j?C)ek@n.3WUC-`4%ѝґmURBgt*9i hC3E> $9Jϋq@(&]`g e^$oc=&q)(~- %w 4?yTcNKFiUOA$ RgF1u5*.Fo$"@1qS>,+}y͓z|aNm :gNw 90j=$mTOOg:xD<Z{:ۼ`9 OI GܡMTTAX*VԱ&L8A1A 0^O$G0YpK0JJ+@Ksg7_jWjH_ɼS8ẐK/$3`}/K$Ea%P<͉$W^{iļ(wr]dʲu+r^ṫZi@u=򹃩ꆠHrluoM fH 35",X욳;L<^D;LvM%P}Ù"V H~e=h$nG{ wmIWYV¼Tb"^/{!-tk&G'wd}nއpldNtšviY~B)OY;zφ ;-HGyѬz@B!k$mhI¶M҇0nLQpP6Q1 d DHiZ!6Vs;"O8M#d.U9si/def;ރ8d¸L.|Wۤ# 7)uxIc !~@2S%.Y0=7KR g #@:Ō#tMiu _G5,ߓr[X%^1If:#: tp85;3V,"Q8![$sW?GWp1~{/ߍ>2h``.Μ3 Oښ Ŷ b]F&Nƒ%mNV.|wFvJʞ ä֘uQ_d~ Ixfڀmu%02M]HĴ -H%~ɳ62ua%p^bC6>%$,mX8wt5k'Qz%jXۅKRT>>4&j|BgتgjHqoYb7?uީ}iᄼf+|~uh!NNk.O׉C#ϝ2p je7c `f%֑[ Dž/J)+"&( JsI{i.jS}y=)zUw1&i=WS;МmP߬.* eR`Q-|:&r|ص?*ػ {*u~8\XS@S$-(MK!o:Hl`Ǒ^nQUzѩ^w)҇j{uWХQz:5sABJ&G_312#qם8m"!]Q.A<vs %D~Ȭ6LB^\gki(}KzTO훸dY ~7lRȬx5йĕSR~l1G 6`mCeguqwrYBn1U )$1*Yߍ^R!KM@*5rJsvȑI*yf3-N%U,FL[`6ĩA㨪^n׃^H 0l9ݖG /5!ƒu&lIpynO;w:$Xk.Y4K/92nVa2hWbD vr҄/j"\^p^;*K4sFpmäl=)iZJAXYKBg\)KX07 ΑCJefouEN[%\Lڙ\iFxIq= F+c-+7ĺM L>$܎Eή 7kԥM2F(]3)HЄ38h-%))C)֣jybÑޕA.9`3qZbFh%G~X&RCgGtHWy?b~%y6A4۱GԾm!#֐ Cu䖺/`fYR/zA^,u2P3Q#C#TDk.+AEsL$bdv d^Dz0E4Cu>Нw5E3Lx4hjk7|=q›٭fyAXu<) .w) ɩ$|"qԋ#I_ ~B!OՍ;Å7o= cMv!"B9.XEl=#"t(ߨCW-mfSpĈKlJBѽx+ _ ;9=7$ԌI?C7 o3-X5:h۲\m c,fXai?: ^ƃrɕףJ鎕|&,L pՄ^# QSoG\//OFI(rP.+098-FĶ|Mo'a[ Q"C'ٗ$OwfI2/uoqW!([asH)fnov lfZj^3<-# gQ~, z{YnHfR[&)G=86\&yʟH_b/M< 3=`ս^~ѷWmΛ-'mujib2H*xS׼ا=b]ee!bp.k8ݸrtHhӮ;pSˁogLN+mb=XT9>@FSe USXӒك!k8r+Xr GVULagdK2Ig @kve M|`S|Ah|sAeM2GA}]s#h1y|GA  QPkoe*5v{}3j`i"{n&7.\qي~ GD -]p9 ` 8k&8=ҟoN?dۖ,(ȲQ2틸Ó^-ӯ)H܆btA$U Vՙw{) n]{XlIcc~/A)<LA p% ֱ(5_zo/e֪)AbzEIŕdĜߡt%D吨7yNA!*̃&P?:I˙: xJ^ f>2փMiƚJKm@[rBo^ b Wӹ޳<ۍ(a7UZOx j/H!; U.|hQ[L9B3ܜ7TNLnJdouf,9, 3=sPEzTad=1  JR%Vn*Xj=RѴ#ڭ囦qO_/k{B8Az;^( yc}z"ͷ %JYͦN1u1 W' VkYP]t*ӑ!E=39tLmr.NX ! YMFү@&Gc+YaF!3@+~KJ!gxkQeECӥw(&`ih)-IA#Ҭ?rvsƠOe;F?~=[Ƒ;{<ɓj';Ml5N)}&sL?M&^$ y*pI?گ#\70َu xoF*@tMoXrA?wCA4w-a ֦\)j . TO@.qcdU[XH+(S3+ʏR{ c6Hg0|l2{6y radž6%#!ۋPޯ= .vSC?i${z=Ir<+bn mxMeÃaDCaXM0bfpIREj?p"&c[u.@bҍRk@c#dKQ(#`FXx\2yL@+OiCrQ8*QQ-ASk$sL# Ôϛ_nM؟4@IƛpV [U7.`,N|<$>C;9B2Uizdnr>mudD.*!"[ձ1ǮE TwdO.ĐO|TKJnZsxEX@MRjh5Qʅ,$Tܒ[EL4WA-RN߹QR$i=C!ȁ&gkF5`-^ &k"a.}2`?CzzJqސǽx@Q!r̊~3@?i-Hm?!VP03|euB< )BEs)@7KeK%Ph[g2wmPw#/GZY97wF=Bw/SW 9uޞT6݅n(%%C.s +1ϏLlJ3&٫8lW:Y%#Q;qlȚ /xd_T H8=)%5ʦwX[Xas3H'c!I5c2wyg x( ) k]=l&ƞN+G[CIZ}E le[tT+nV攪"$d 8oNW4%7uhW!,Җr>$΄vzbP+\L=H?iI6lc7-qP:^&*NU)1O>:m?*dx"&3PڝCc֌ӝٹ>ʟ,g P4| o5ȤS  Ģ"w:(ګD]˟;u{y!?e(k"8maEݕ6r/2{crБnU ^L}%yֵ1׏"y*C0'u>h0~X*刹νvfS }d;+xz17/ TsǟB^HB>A/{4vɜg<]c!,# 6:h+!WVw5>j]=2/H#Ħb$EW>,| mr]IPΔ|) `.(K[;};hmA=Z:Soy% iTYkPFnH Bi XS9Wq9:ˢ <ev;׳UXMXa&F ħ ;'wkOf:!큢Mes'ؤД5u02|af7OLy{lFF ft(iT 6yu1/Ete{aA ³_(9]3']m*ʶ7ZJ ⴄɺ8ӗ]: ưvWr^?!}>%牁KmK EpQO+5H *O%`)8󇺝7ثl|i Puy_LLA|a mbD [flP5 BE%ۥa˝AtTO4\ڷ|icyz,Q6THG\(5nׂ?kp :Czc6)mtXN x'K@p\uX $ܥ EAUޝ\~u\%wl ^-[17]~ELdGizx> Hwl V[Lm6ϧ$|7 !ϔÖJ x[^cn l&T(DN`!LDp(u@"M-fA=;08*v$"̎Tmis3!3k 0ʻߍ:B%3zzWbdT)fLMiЎ^exfX\?W0y]/:!ZRy7mvcl?wsIhr#qEad?Ͱ LzH}MIҌFHݟcFnt.jY "= Е\#T̬m00(~W5A1H}ק ]SdIPF@ Gw@| 5->JkxpttBr{i!alӅ:N:L5o߉NZMu7̷?vj߇0U^cHXYq" a(p2P#"eYd.Tio&< )l@X8 v̡j)IPjt.7f:wm&Mc-T;1yݬDQsRNI\!bG3\ J 0u?3M*!Y1yҝ>Gn9'o]jI^٧p#]F,X(> `_+)`AP_a.%Gnt@=8 I-?s 2ȗBư"n^i8l-;Jx9ԛYK335!iCXF XlPcDUZ 57.t*&fO ڈ]T<'}'Xb)*2L*`wKix O&~|^wjdj(oE|&Q?jJ-`RxWAR# "hNWBrwfQX8sԇ?;O7/}cghjr5 p,dR ؉jw[vH L ;Q#btB~!oݎ})ܩsCZP7lSž-+Tp0\[lOK sy-Rn!L͇֒]AՂ7 \A3ĖfrOd'Yu '16=0Aۧh`]樆M[-=+1 'ǩImg?\[B$ fkɝ$`7wEз=l4Pd !"\:NIw!rJUlIzA/R]?xTyn0Iyg./-GD&tn@}XR{*Q#(nʯnX@+E/t`F/"ˑJ\")L3иO0ڨ"Eԟm"eO1 k-8 -4'=q[ʼn;W=̇qT,q?tHJaK/45uf ߙ!8#> ݲ F?e:+&L4)QUyR[~0JriVQ DjXuJ7;^^[K]}S=Bj0FkXWj po9HR Y"^Mq>(T&d(AS`"hSEoYejqLǂ5C$a(C0n7 qZQ?`,,sߑpYAPIDSJ}{:M'[F z;@{{VWqnTg>Q:>ŝ4O1WB9|01"I}< E?QE iDΗf̗Bfq)UCjȩ!;knG?l>4+ALٚT par-{;ģlEⴃvz Һ4_qQk~wי+M3VSmU%Z?bԁd|, 1(rDzċ6@ĂvE4r ˷h&O!G.([ %o+RfĿw^mFL_'I#hBer\ Իrs,qՋߥQآG0Bvo7dیRBakMɛ9vyC1H@Nibv 3\x蜔 %gsYxx?Ko܊P[EcJY60Ht 둘2XrӺ.nzff"$r, rߩ?xw4 s<}r96)N'w50~#vC)ܽk{< I{ ͪҗf@S:XS[|g9z?b aZ!1mvz"@)k{\:R!hcQZ @Trh"ڬfK\P"%=#b^5`Ý2*.eʉs1EAT7~~~H:@9Zza#LEQ[w[Pu, c$ SH_N/ _?H 0 Xk0φ/UUdA,+ъ`-=@! ~e:/%C,Ώ>uO\XRε;Gq*sG5DV%=LR-ʀ>3oZ!qV+>[! XM4qVKvXsc˵<@'@4o&1So3u bK(\Ԝ-tvHKX^)vܨ;do' Oclx# = )? ^fxf0 @ ɄJQHh+k%Z۸fw5&ܣUvK<;%kSix~1v`b a oZ 7 |sǍ']y,oy3O!D =%LPWPI_#@3/!}Uy0= gx]Qs05$?/j8*^{ѾRF5b1Vj>b=ѩd rOd?,տ [{;WghW1ethR6w~T A %eHk36OB!7vorp˼`xhI0Io:ÙV v){"/y?&k*Q;RҒ.O0H9zXw ,j[l'ԗ^fB:RR'r%FȠl= D 9Y'X>~RK%e5aˆ Vr'#[#E@_36f?,ӻC rReOT~Ͱh ` %X i[IARz c:`&<񮔙!h o+jB03d RhʡlB~2jשa1-DDqNv2Ltu2"d\9cLh᪒;3!#ZdmK4r~IX7c@B@ mͫ9vI)˽F璖B|AIݾ:(9U`f-eU=\m}v: NO||^;&b%D ^'y!+~A)ԖA3:^AswpK+(I%DK]x~_ @>$zHve E:Qb}kmj$ wPPF1l;UP%3R4BM Eg9Ȉfy/=dPE9lLE@}Dp!){@ɍ4F|.)Ov A-%*xp$W̼+auĶ))l" U77zۣ9ʜ']JRjsslPQUOb~zS<ƭs02zJ0!MYg!NÝ~J"  on" bEsի 9a*Ov u|t@A o '%[(Б;UEcybLKQ=J|j#3eLM=z vUN28ZsZ+Π ~9(3VRtB>q!f%Rc}~$* =Ru,*XҝֻGX}a :(S/\E±n&y!slr#.8vm*5+̘9 hDƄx{ eW#9ĘO*{,Evnܕ$n꥘@]M|zXV)$3պG4txT~cFofSx!!]|<O܊J M*Fd~aatLo7#BV˱Ne4 ;!{V?HG,d 4P0oz\c(l?Yϕ2pCo­Cb~jSyJ띄3pâL-+V"gVO$/dC̿g{G;LB~E䲋@0 3QCi%ᬞ|$ jNmo ٚU.W剿)8DlrG'7-rk c҇wߩ+oǿcN`iпf]:=?%y5V Qdeʿd&f%5 &J񰭦:#oQBaXe/⹥!ZrBE;+3TGq\"^2Z].k5<5RQ7fҠFv\ѣBdAY ҂ɐ:tBV qEn첸(}te^|V $,>/J#9T[ԍX @.Y-sLwkG?8ةf,\^*: 7.Y?ɴzmJ4y!oxV'w{%B߫oUC{y񣣗ASó<2ɄYTsYC+=(gJU, VCO=+z e~(Amx@F02?dmT4 ˖!eI9U-|Z@{rIrQENVHep+eBc ݊: #y|?&9YBBxW{` EoO.ѣ9eꘪ @/$g` y&jS kJk7Zh}y {# do2SmǗf˗P,!l""cf8T89nW S&Fظzn1ifZf#a0Bҳ7DǾ_k/5:BCpv9q-6Ns+xFJCQuʼn k~V4*"eբCSkݹ{S>|t>C6۪ Xh\W =mIGEs&&K>;IJ\k*H绤krg3qHǬا!ck^m*< 3V𕱕|.~|&d*'ܝܤTc0Aj5I1 ghoylAGNkQ?3h W(Ѿ@L;2!a`ܢVϥLc0&ujf?/*uI`QaNc,*IIZT Pg)U51yaF j-V>+zB n^OVGMG#퐨;MA'{0;kWbU $VfmEbWcE31/x*E pQBXKe ('^Z;ۦÜj?~m<+!E$h{+- "R_!/B(V*8*yEs+=sA,n7^1[pRR k6?agu> Uz؛06U Z/i7@Tjp%ȡaN/: ur[Cn+ l {)ib~{GUr4LEHrұl֭DgEO^uI3 9OA0흳4*񤟖weX҅b?F3whױY:@2 PiUFFFh114 P4GZ $'lȻwLMa2hל8084ùU)8r IjHҀ$ecC116+BD,D 0j[sZ*-%J.,`-y̅]zqlX6C]N8m#u录r13P T9mlI.T Dϛ+>3]@U~lMKRv+PSS= ;\yHhqo0O&8*:7FB[ܓi+2.JɫURGQ]uw,y@2GXAR^h /Y ]V|oWظJ "Q pE呄٣/VH"h%Z6c˹JGt\q'-ʁSo (%OxPR;D6>uQOLi YZ