python-aiohttp-doc-3.6.0-150100.3.9.1<>,bp9|^7#5/blrБcC~jv`Ÿ :l%`NøPf<0EX/g)*X{aFE:Q46"`&6>CKO(roSf8[8ctz(/+x &'Qžޞ*,4 KEbztGG)jLdmzL;od>#-4>ZQ@մ9ZhaӡϑIQA{VN!:>;}p?}`d ( O 6<Dnn n n ln !n !n#@n%fn''n)p))*(*/8*89*:,aFhGhnHjpnIl(nXlYl\ln]nn^ubwcwdxJexOfxRlxTuxhnvz z|}}}}\Cpython-aiohttp-doc3.6.0150100.3.9.1Documentation files for python-aiohttpHTML documentation on the API and examples for python-aiohttp.bs390zp33*?5SUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Documentation/HTMLhttps://github.com/aio-libs/aiohttplinuxs390xAr./CO,M6!$b7 [/.q -r]~ / }^ Yc@5 +)=*$RZZci`/lc [Gh< ZoQ v%Bp L0Tf@H#(Ghc0 0!W#V-IJ99jb>FAP(AAA큤A큤A큤bb0b.b-b.b-b/]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW b0]rW b0[KMb0[KM[KM[KMZ}fb0b/[KM[KM]rW [KM[LPU_+[KM[KMb/b0[KM[KM[KM[KM[LPUb*b*b+b+b+b+b,b,b,b,b,b,b/b,b,b,b,b,b,b,b,b0b,b/b/b0b,b,b-b-b-b.b.b.b.b.b.b/b/b/b/0f10aa9ce512bb1fef8bbc51a0324b2978d2bf51051f10bce8f0e860eb4f8ad6b1bc56588d5ce39d3857378406f782212481c94b318ff368aaaf3785ca802778c392bd4911222bc71b3ab2f08201149e04fa99a213e871af8cd5457ec030db32fb7cb7d7cbdfcff0bb3789433ada26fe41b24bb8b9097635f2fff1de7bb7cd4d4bc8ac06bd24400a17fad67ce818879613749ab083f44750a3e7d6f7b3ed79d8c8f85fb4c92b102a163c9a58e1af6a60a2c00090a51293991c2ec98267bd6c2984baee842d955a08c93f98f7243e370a4fe680f224c55f1c2f96c2e393ddda13af65ea256a0ff26725c58bae51ef9cd91daea9f49e77bfac44a48aa21e70162ccba256580df5c2c3b5196107dec305927f7b4365ac6af13dcd7adbc7b1a3a848beba4bfa4dc13d40af461b4d738e476b161a86c54af942a6f92424b3021284477326bc859ab7d94db66db44be23531c039b0e186056f1e360075ddc0ede8330c0787c0e43ad2cadac9732fa8c05911366b4daab0387750bbd1a12c8bd546cab190e25f4b6ee9777d0ba9be8cd753b45338014dd34ceb8ecbb38f84510712297e54cf7cd3b6b3c92c86408a558c521a82a186eb664543c9c01e49b9989dafdce826806ac9215c6b1b18abc60677f2ff1f871a59a9ce1caa55b084336cab921acc89fa793e3328d19baf74f1483f485131dd41501661494787c4a4f2473434ffa8462d921bb2ab79374cea12ade58cbee90139a887734b42c8158ed9d9addff44523a0e6d5f9cc6f64fa3e8f84439ee0f8e011765c528b72b18b86edc39d86836e2a70223310cc6af79210eba4f03ce5bc6b6d3bc3e21dc02377df59186ec3a1b26982b2006827987bbd1d0ff806cd08034650acdd7e8ee8ece1e2ea26506a2a3d767e3bd5a768505b5454280e07a164cb29b20494b8baec48c36cbbd9bf7a343b615b9988d83669c655dabc366a1583f9d70175aa5dd269b94358ae9884fe268e985457a3e96eab96d1d7c550c72eb29ffcf1fed68bc38dc7374ab76942afffad1149fe6803b2f7349b4debe68e58a33ed5906f73e7d293baaf0d4c01b413789221ab2d60b0941473ea10334136da14f8f96f713d31ce7aeb32188ba5f10fbddd1a6c6679676d4dbbfba128db4457fffe590e99114551c8e0fe01040ea4f4719180a739ea2384e91946f8927ce14004d56a09fd63ce42840f91d5742e58d2fe867d89613bfbaa9d605484e3b2a8c145b176ffdf3ecd220fe9b174e94d7994fa70f1fde54c8ec4efd0061a5b230c93f09d048382350bdb3832d444c1657be04e1d43af1e20fa6f67b65f842ec7ad117865cc715834e78a546b4185f0e983de0e25521b8ae70db02c7ea069e3ca645d3be366c959991758ead66088890d11fc31d5d0c37d71276a3d177aa2b756fcc5db4210c1662a0074ab1c328e34f53d58b3e492baf6f9b91202086066a5ebc3ea9f3f31ebfcd6784865c1f21448ef050242a958c1cfbc8a4e1444105f13f7f45dd0bef7aa5837d13e5c9aa3aeb8fef56aa22e4c8e0ef95ead9e39296ca52bb9b78ae916fc7d3c894e9c7d63e410f54a6bb9b59275892f20c6c930275bbeb8fe36583cb03e36f08c5957e8039f2306bffb8628a6abdb2ffc7961294a3fa16843c1ab1cb40736caef77ecc4b015dd3136ab714e8cecee848edb98dd131e2d719d321562ec0bddeab40cbb3d21583e361f9fb581ad7cef26c46756cead1afb1a9d583588f594ea2dbeb55721b4cb1d6d3d4aa1c8fdc8fc8504b36711870f5adc084e27f92d6de4ae92802089d586bd7243636c88ccfd2efcbfb629775e110441ed058d192fd65e8219fefd002614232b262fe2325d045fd991ddf2b208dd9bf39a591f50e6ec793416e2867f54e8c6c7e89b68c2b61fc4383784ca3ff8589a1bb48d19d06fddc78d6120cbc9ad31f275f62f4cce0737b92f8825f5ed0740482819f3fba7826297908bbd44ff00b64ee95d262d60866319c7cf09c3d5b2926ea9d9f068801c8ee0724dac66604b03ac50b18295775fb8b0b215a51fc05bc152a12ab32d44cda758721c5df53f2aeab1b1e3490aa539f23a6561786e3cb4e33e4a96562a1305a8b74c0d45dc215a64018692cd5d4cba5080dd83bfbc09c8440ecc3e163b7352073f7428a92facb9dfcd04ba29188b8a36ac68c17b2b11d6ecd0ac6d27fcc3716aa124a5aba62820c762a7c8a75765c89ca40639d0bb71502306afdbc8646f6ef362b79c54a8f9211aa290ad8b363575fc30ab04aa494f8ab239fba636663b950ccff763bd3b95a3c214ee2344ec891d96c5bc59d8e36c030e18377d7efa1c64ff920eb8a60a575e63725fe60417cd5c4bc9a16aebf38c4b950f59b8e501ca36495328cb9eb622218bce9064a35e3e0d9027289ffa5d9f6c8b4e0782bb31bbff2cef5ee3708ccbcb7a22df9128bb2187083882cc6015984eb0411a99d3981817f5dc5c90ba24f0940420c5548d82de47e7fc50db3699f1ca41ce9a2ffa202c00c5d1d5180c55f62ba859b1bd6cc00854115199b96a130cba02147c47c0deb43dcc9b9f08b5162bba8642b34980ac6387303dd58f316b31eecde1e8d682523be591c97026c0f57f6f30e9e44a7c402be8d039d87d8f443d02abb76df25715de53a329a7a35cb58d4767c08a574fbe00f808f0aa32fbe90fb9c9c846917faff3fdd4e236c284b76c02dd33753dc9017742d8fad13bc28fc726775196ec9ab953febf9bde175c5845128361c953fa17f4cfe678a4446900f4081ab8d74ef3d1f8b1002edbf8cae3db292fcca0637310ed108f280badfe5ec5168738c4f70a59bc6ea9d1e9243ff2b951386fb668e935023e61ad44de4625bdd7aa3b1ac8ddad355c919de8a23bd16fb36053901ff23cb9ed2cc44bb02b75974d19e00c82fb76e2bd4b5f4c06e7a141454f6a4e780321ee4e5dd97b7d9154fa0f18c09e4d26849bc2a62140b792b329c7154a7c5da3b983c692a9314047e888bedd4ab8d2db3fbe46cd7515bcec38d1b2c7c6809fc9ef832f1f717596d7dc6a589520d98b10145a2b6867c5fd21e8cccdede00e4679a06c7fc1ccec1cd43ea9567b7084da6775922b83971c0ef5e266433007435991a550b1db2d0b698479d67e98ebfddb9f3aaffbdc64dcc13d2392bd587392dfa5ecb0764c3e8f27b58dde35ca09399e53be51183c724d909293f39259d69e354251f98e019cc12aecf55f993a38deb107488ad27985178805cdadfe3822c04bce584a1cc994a32da37d171b3a5e4d9b63486d0edf89b88f3137ba997ab3abeb1ebff714fec13684be8c3240b85290dfe62e9bcd9a74de1701dcedcecbd635807b53b757d60166c29f1c95d07a2902cf1aebb9409a53dad7dc5dbeb4f75c1fb2156de390335be5ec291849dbc43940ad8827a787f647552f57863e5578132b7b73cce56e139c5433c90d45510c3199c67dc2de36c4e567aa1006cc068f54fdae68b900dac7eb609ef3fe0377f4598c839dee19812126daea20e3b65218105845ea7c0ae653fc8043e8fc70f35b4c52e73d3f361da5bcc14d7719816f64b837e8024b48fd3e8ef22b68477c8065900dc2fd938f065495c64e26a5bc661d5c17da7051ec8d5be1e1825047a8b1f40375414015d7f4a86ebfc87fc319ed2df6245c69fcf126243511c05f5b7ba82dea4aa612c22390efe918ab80b393f20e08dae05bfe35c4e41474870e33a529de66dfefb78f80ff4be421f3a97d33fc47d3b15bc8c3d2988ca2f16a600169799b7f9aa9f1dd2bdde3229db5450a12175db1dd326cd81826266b19082b115f92c5d672af4f8ae4062f70cc4e4507b4a4211009258f6b6bc0ca52a81cb887e3b4f52f3f992f8e873123d0afbc335ef6b1698b21fa7fdd271c4c57ea95e7b441cc625413a7df213b20f7838ca99f725e8236599e23fd5b71e426350ef85c107c74ad9abe436a85097126a037e627f7a1afea0d89413908762e16c8dddb4b06f7d979d6615f34140250d295c0491dc89bd0fe8724bfaa076bddcb7c4b3479e95fd705332f04d61b245f8c929a70801a9aeb75b43159ca8ce64642a493850a66e41a3e6abd4a8150702fe3b1788a4606afc126c0c7b4408eb73f9455c26e824e1d0dba8d9ffa20e33cb41eae7e20c8333ced25915e4ed44195defb2db09186471f0face490ccb963993d77dd3dcfb761a2cb0f849f515471bd421bbe9b2a57ba9aa4625a95ebc99ee0a7afdda0cea9bbe60623f2a438ecee5e99ce47cda6aeced9528682e0a3a44d53ea038d43ba6b7af75878c57754a8e4e9f6d86e7ca78cfaee0a3c720d8e5968c04849987d1dc618dfea257f7731f7921531f27a6323287fa87c4185ab37dd5d36e8434c943f2fc638d48d1aba7770444f5b60d0d61b822636d31307a39da1b03a732cd69f7955f91999ba3ef062e9a28aac6a29bef66f5fdbd6f7c50a7f8441d7952e00ecd68ab5b49c2494c047b2054350d3698669f11dd2149eeff58918a1930125b43a6d923092dad0eb1dca45e4340e8676b718603307a2f7c3e30719d4c91777d4c0d7d27301c0512b0f5dbb0ea61a347884af0bb779f9a3df837af207a7bc507a8f6525104009e4014961a99758a880095dcff97c66585e5bf1764870c459a0d4bcb5a51dee0675b38dbed5e26ff2f3cfc883c9b43c1a361e025a58fd0e7a72485b4aead8f81eb05553b5317968bcf0481b3c996a91ea40698137d3687555af850496cad8fc240f46858c626e5drootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-aiohttp-3.6.0-150100.3.9.1.src.rpmpython-aiohttp-docpython-aiohttp-doc(s390-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1brj`e@`!']{]^\]@\v{\=@[@[[-[-[0@Z@ZJ@Z@Z@ZH@Z-!Z'Z#@Zr@ZC@YX@YzYadrian.glaubitz@suse.comadrian.glaubitz@suse.comadrian.glaubitz@suse.comtchvatal@suse.comtchvatal@suse.commimi.vx@gmail.commimi.vx@gmail.comaplanas@suse.comadrian.glaubitz@suse.commcepl@suse.comtchvatal@suse.comadrian@suse.deadrian@suse.dearun@gmx.dearun@gmx.detbechtold@suse.comalarrosa@suse.comadrian@suse.deadrian@suse.dearun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.dealoisio@gmx.comjengelh@inai.desebix+novell.com@sebix.at- Update in SLE-15 (bsc#1197831) - Refresh patches for new version + CVE-2021-21330.patch- Add patch to fix how pure-Python HTTP parser interprets `//` + CVE-2021-21330.patch (bsc#1184745, CVE-2021-21330)- Include in SLE-15 (bsc#1176785, jsc#ECO-3105, jsc#PM-2352)- Update to 3.6.0: * Add support for Named Pipes * Removed Transfer-Encoding: chunked header * Accept non-GET request for starting websocket handshake on server side - Drop merged patch pytest5.patch- Add patch to work well with pytest 5: * pytest5.patch- Fix Requires and BuildRequires- update to 3.5.4 - drop invalid-escapes-in-tests.patch and rename-request-fixture.patch * big list of changes from 3.4.4 - https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst- Remove version dependency from Cython (boo#1121578).- Add patch to address name collision issue with pytest fixtures + rename-request-fixture.patch- Upgrade to 3.4.4: - Multiple small bugfixes - Remove remove-failing-tests-due-to-pytest-timeout-issues.patch - Add invalid-escapes-in-tests.patch to fix invalid escapes in non-raw regexp strings.- Match up requirements to the setup.py- update to version 3.4.0: * please check the longer list in CHANGES.rst- update to version 3.3.2: * Raise ``ConnectionResetError`` instead of ``CancelledError`` on trying to write to a closed stream. (`#2499 `_) * Implement ``ClientTimeout`` class and support socket read timeout. (`#2768 `_) * Enable logging when ``aiohttp.web`` is used as a program (`#2956 `_) * Add canonical property to resources (`#2968 `_) * Forbid reading response BODY after release (`#2983 `_) * Implement base protocol class to avoid a dependency from internal ``asyncio.streams.FlowControlMixin`` (`#2986 `_) * Cythonize ``@helpers.reify``, 5% boost on macro benchmark (`#2995 `_) * Optimize HTTP parser (`#3015 `_) * Implement ``runner.addresses`` property. (`#3036 `_) * Use ``bytearray`` instead of a list of ``bytes`` in websocket reader. It improves websocket message reading a little. (`#3039 `_) * Remove heartbeat on closing connection on keepalive timeout. The used hack violates HTTP protocol. (`#3041 `_) * Limit websocket message size on reading to 4 MB by default. (`#3045 `_)- update to version 3.1.3: * Fix cancellation broadcast during DNS resolve (#2910)- update to version 3.1.2: * Make LineTooLong exception more detailed about actual data size (#2863) * Call on_chunk_sent when write_eof takes as a param the last chunk (#2909) - changes from version 3.1.1: * Support asynchronous iterators (and asynchronous generators as well) in both client and server API as request / response BODY payloads. (#2802)- update to 3.1.0: - Relax JSON content-type checking in the ``ClientResponse.json()`` to allow "application/xxx+json" instead of strict "application/json". (#2206) - Bump C HTTP parser to version 2.8 (#2730) - Accept a coroutine as an application factory in ``web.run_app`` and gunicorn worker. (#2739) - Implement application cleanup context (``app.cleanup_ctx`` property). (#2747) - Make ``writer.write_headers`` a coroutine. (#2762) - Add tracking signals for getting request/response bodies. (#2767) - Deprecate ClientResponseError.code in favor of .status to keep similarity with response classes. (#2781) - Implement ``app.add_routes()`` method. (#2787) - Implement ``web.static()`` and ``RouteTableDef.static()`` API. (#2795) - Install a test event loop as default by ``asyncio.set_event_loop()``. The change affects aiohttp test utils but backward compatibility is not broken for 99.99% of use cases. (#2804) - Refactor ``ClientResponse`` constructor: make logically required constructor arguments mandatory, drop ``_post_init()`` method. (#2820) - Use ``app.add_routes()`` in server docs everywhere (#2830) - Websockets refactoring, all websocket writer methods are converted into coroutines. (#2836) - Provide ``Content-Range`` header for ``Range`` requests (#2844) - Fix websocket client return EofStream. (#2784) - Fix websocket demo. (#2789) - Property ``BaseRequest.http_range`` now returns a python-like slice when requesting the tail of the range. It's now indicated by a negative value in ``range.start`` rather then in ``range.stop`` (#2805) - Close a connection if an unexpected exception occurs while sending a request - Fix firing DNS tracing events. (#2841) - Change ``ClientResponse.json()`` documentation to reflect that it now allows "application/xxx+json" content-types (#2206) - Document behavior when cchardet detects encodings that are unknown to Python. - Add diagrams for tracing request life style. (#2748) - Drop removed functionality for passing ``StreamReader`` as data at client side. (#2793)- update to version 3.0.1 * async/await everywhere. The minimal supported Python version is 3.5.3 now. * Application Runners. * Client Tracing. Now it is possible by registering special signal handlers on every request processing stage. * HTTPS support * Dropped obsolete API. The release dropped a lot of already deprecated features. * The full changelog can be read at https://aiohttp.readthedocs.io/en/stable/changes.html - Add python3-idna_ssl, python3-Pygments and python3-aiohttp-theme to BuildRequires. - Add Requires: python3-idna_ssl - Fix tests by removing a file and adding a patch to remove another failing test due to a DeprecationWarning being issued by pytest because of a problem in python-pytest-timeout. * remove-failing-tests-due-to-pytest-timeout-issues.patch- update to version 2.3.7- add MarkupSafe as build depdency to fix documentaion generation- update to version 2.3.6: * Correct request.app context (for handlers not just middlewares). (#2577)- specfile: * require pluggy - update to version 2.3.5: * Fix compatibility with pytest 3.3+ (#2565) - changes from version 2.3.4: * Make request.app point to proper application instance when using nested applications (with middlewares). (#2550) * Change base class of ClientConnectorSSLError to ClientSSLError from ClientConnectorError. (#2563) * Return client connection back to free pool on error in connector.connect(). (#2567)- update to version 2.3.3: * Having a ; in Response content type does not assume it contains a charset anymore. (#2197) * Use getattr(asyncio, ‘async’) for keeping compatibility with Python 3.7. (#2476) * Ignore NotImplementedError raised by set_child_watcher from uvloop. (#2491) * Fix warning in ClientSession.__del__ by stopping to try to close it. (#2523) * Fixed typo’s in Third-party libraries page. And added async-v20 to the list (#2510)- specfile: * updated requirements according to requirement/ci-wheel.txt in tar-ball * removed 'changes' from %doc - update to version 2.3.2: * Fix passing client max size on cloning request obj. (#2385) * Fix ClientConnectorSSLError and ClientProxyConnectionError for proxy connector. (#2408) * Drop generated _http_parser shared object from tarball distribution. (#2414) * Fix connector convert OSError to ClientConnectorError. (#2423) * Fix connection attempts for multiple dns hosts. (#2424) * Fix ValueError for AF_INET6 sockets if a preexisting INET6 socket to the aiohttp.web.run_app function. (#2431) * _SessionRequestContextManager closes the session properly now. (#2441) * Rename from_env to trust_env in client reference. (#2451) - changes from version 2.3.1: * Relax attribute lookup in warning about old-styled middleware (#2340) - changes from version 2.3.0: * Features + Add SSL related params to ClientSession.request (#1128) + Make enable_compression work on HTTP/1.0 (#1828) + Deprecate registering synchronous web handlers (#1993) + Switch to multidict 3.0. All HTTP headers preserve casing now but compared in case-insensitive way. (#1994) + Improvement for normalize_path_middleware. Added possibility to handle URLs with query string. (#1995) + Use towncrier for CHANGES.txt build (#1997) + Implement trust_env=True param in ClientSession. (#1998) + Added variable to customize proxy headers (#2001) + Implement router.add_routes and router decorators. (#2004) + Deprecated BaseRequest.has_body in favor of BaseRequest.can_read_body Added BaseRequest.body_exists attribute that stays static for the lifetime of the request (#2005) + Provide BaseRequest.loop attribute (#2024) + Make _CoroGuard awaitable and fix ClientSession.close warning message (#2026) + Responses to redirects without Location header are returned instead of raising a RuntimeError (#2030) + Added get_client, get_server, setUpAsync and tearDownAsync methods to AioHTTPTestCase (#2032) + Add automatically a SafeChildWatcher to the test loop (#2058) + add ability to disable automatic response decompression (#2110) + Add support for throttling DNS request, avoiding the requests saturation when there is a miss in the DNS cache and many requests getting into the connector at the same time. (#2111) + Use request for getting access log information instead of message/transport pair. Add RequestBase.remote property for accessing to IP of client initiated HTTP request. (#2123) + json() raises a ContentTypeError exception if the content-type does not meet the requirements instead of raising a generic ClientResponseError. (#2136) + Make the HTTP client able to return HTTP chunks when chunked transfer encoding is used. (#2150) + add append_version arg into StaticResource.url and StaticResource.url_for methods for getting an url with hash (version) of the file. (#2157) + Fix parsing the Forwarded header. * commas and semicolons are allowed inside quoted-strings; * empty forwarded-pairs (as in for=_1;;by=_2) are allowed; * non-standard parameters are allowed (although this alone could be easily done in the previous parser). (#2173) + Don’t require ssl module to run. aiohttp does not require SSL to function. The code paths involved with SSL will only be hit upon SSL usage. Raise RuntimeError if HTTPS protocol is required but ssl module is not present. (#2221) + Accept coroutine fixtures in pytest plugin (#2223) + Call shutdown_asyncgens before event loop closing on Python 3.6. (#2227) + Speed up Signals when there are no receivers (#2229) + Raise InvalidURL instead of ValueError on fetches with invalid URL. (#2241) + Move DummyCookieJar into cookiejar.py (#2242) + run_app: Make print=None disable printing (#2260) + Support brotli encoding (generic-purpose lossless compression algorithm) (#2270) + Add server support for WebSockets Per-Message Deflate. Add client option to add deflate compress header in WebSockets request header. If calling ClientSession.ws_connect() with compress=15 the client will support deflate compress negotiation. (#2273) + Support verify_ssl, fingerprint, ssl_context and proxy_headers by client.ws_connect. (#2292) + Added aiohttp.ClientConnectorSSLError when connection fails due ssl.SSLError (#2294) + aiohttp.web.Application.make_handler support access_log_class (#2315) + Build HTTP parser extension in non-strict mode by default. (#2332) * Bugfixes + Clear auth information on redirecting to other domain (#1699) + Fix missing app.loop on startup hooks during tests (#2060) + Fix issue with synchronous session closing when using ClientSession as an asynchronous context manager. (#2063) + Fix issue with CookieJar incorrectly expiring cookies in some edge cases. (#2084) + Force use of IPv4 during test, this will make tests run in a Docker container (#2104) + Warnings about unawaited coroutines now correctly point to the user’s code. (#2106) + Fix issue with IndexError being raised by the StreamReader.iter_chunks() generator. (#2112) + Support HTTP 308 Permanent redirect in client class. (#2114) + Fix FileResponse sending empty chunked body on 304. (#2143) + Do not add Content-Length: 0 to GET/HEAD/TRACE/OPTIONS requests by default. (#2167) + Fix parsing the Forwarded header according to RFC 7239. (#2170) + Securely determining remote/scheme/host #2171 (#2171) + Fix header name parsing, if name is split into multiple lines (#2183) + Handle session close during connection, KeyError: (#2193) + Fixes uncaught TypeError in helpers.guess_filename if name is not a string (#2201) + Raise OSError on async DNS lookup if resolved domain is an alias for another one, which does not have an A or CNAME record. (#2231) + Fix incorrect warning in StreamReader. (#2251) + Properly clone state of web request (#2284) + Fix C HTTP parser for cases when status line is split into different TCP packets. (#2311) + Fix web.FileResponse overriding user supplied Content-Type (#2317) * Improved Documentation + Add a note about possible performance degradation in await resp.text() if charset was not provided by Content-Type HTTP header. Pass explicit encoding to solve it. (#1811) + Drop disqus widget from documentation pages. (#2018) + Add a graceful shutdown section to the client usage documentation. (#2039) + Document connector_owner parameter. (#2072) + Update the doc of web.Application (#2081) + Fix mistake about access log disabling. (#2085) + Add example usage of on_startup and on_shutdown signals by creating and disposing an aiopg connection engine. (#2131) + Document encoded=True for yarl.URL, it disables all yarl transformations. (#2198) + Document that all app’s middleware factories are run for every request. (#2225) + Reflect the fact that default resolver is threaded one starting from aiohttp 1.1 (#2228) * Deprecations and Removals + Drop deprecated Server.finish_connections (#2006) + Drop %O format from logging, use %b instead. Drop %e format from logging, environment variables are not supported anymore. (#2123) + Drop deprecated secure_proxy_ssl_header support (#2171) + Removed TimeService in favor of simple caching. TimeService also had a bug where it lost about 0.5 seconds per second. (#2176) + Drop unused response_factory from static files API (#2290) * Misc + #2013, #2014, #2048, #2094, #2149, #2187, #2214, #2225, #2243, [#2248]- Fixed build on non Factory targets- Repair package description grammar.- first singlespec package - fixes boo#1054580 boo#1054581s390zp33 1654111698  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn3.6.0-150100.3.9.13.6.0-150100.3.9.1python-aiohttp-dochtml_imagesblockdiag-01f8c7ea81260e2fd47484686b6499cdb2384cd1.pngblockdiag-05bc7514e0a36c9153d89a94b45277a8b0854184.pngblockdiag-9e4ca86db1dec60a9e840bbdca40a83459c051cc.png_sourcesabc.rst.txtbuilt_with.rst.txtchanges.rst.txtclient.rst.txtclient_advanced.rst.txtclient_quickstart.rst.txtclient_reference.rst.txtcontributing.rst.txtdeployment.rst.txtessays.rst.txtexternal.rst.txtfaq.rst.txtglossary.rst.txtindex.rst.txtlogging.rst.txtmigration_to_2xx.rst.txtmisc.rst.txtmultipart.rst.txtmultipart_reference.rst.txtnew_router.rst.txtpowered_by.rst.txtsignals.rst.txtstreams.rst.txtstructures.rst.txttesting.rst.txtthird_party.rst.txttracing_reference.rst.txtutilities.rst.txtweb.rst.txtweb_advanced.rst.txtweb_lowlevel.rst.txtweb_quickstart.rst.txtweb_reference.rst.txtwebsocket_utilities.rst.txtwhats_new_1_1.rst.txtwhats_new_3_0.rst.txt_staticaiohttp-icon-128x128.pngaiohttp.cssajax-loader.gifbasic.csscomment-bright.pngcomment-close.pngcomment.pngcustom.cssdoctools.jsdocumentation_options.jsdown-pressed.pngdown.pngfavicon.icofile.pngjquery-3.2.1.jsjquery.jsminus.pngplus.pngpygments.csssearchtools.jsunderscore-1.3.1.jsunderscore.jsup-pressed.pngup.pngwebsupport.jsabc.htmlbuilt_with.htmlchanges.htmlclient.htmlclient_advanced.htmlclient_quickstart.htmlclient_reference.htmlcontributing.htmldeployment.htmlessays.htmlexternal.htmlfaq.htmlgenindex.htmlglossary.htmlindex.htmllogging.htmlmigration_to_2xx.htmlmisc.htmlmultipart.htmlmultipart_reference.htmlnew_router.htmlobjects.invpowered_by.htmlpy-modindex.htmlsearch.htmlsearchindex.jssignals.htmlstreams.htmlstructures.htmltesting.htmlthird_party.htmltracing_reference.htmlutilities.htmlweb.htmlweb_advanced.htmlweb_lowlevel.htmlweb_quickstart.htmlweb_reference.htmlwebsocket_utilities.htmlwhats_new_1_1.htmlwhats_new_3_0.html/usr/share/doc/packages//usr/share/doc/packages/python-aiohttp-doc//usr/share/doc/packages/python-aiohttp-doc/html//usr/share/doc/packages/python-aiohttp-doc/html/_images//usr/share/doc/packages/python-aiohttp-doc/html/_sources//usr/share/doc/packages/python-aiohttp-doc/html/_static/-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:24453/SUSE_SLE-15-SP1_Update/2b238af2afe6df4097d438cc668d433c-python-aiohttp.SUSE_SLE-15-SP1_Updatedrpmxz5s390x-suse-linux     directoryPNG image data, 832 x 600, 8-bit/color RGBA, non-interlacedPNG image data, 640 x 440, 8-bit/color RGBA, non-interlacedPNG image data, 640 x 680, 8-bit/color RGBA, non-interlacedASCII textUTF-8 Unicode textPython script, ASCII text executablePNG image data, 128 x 128, 8-bit colormap, non-interlacedGIF image data, version 89a, 16 x 16PNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedPNG image data, 16 x 16, 8-bit gray+alpha, non-interlacedASCII text, with very long linesPNG image data, 11 x 11, 8-bit grayscale, non-interlacedHTML document, UTF-8 Unicode text, with very long linesHTML document, UTF-8 Unicode textHTML document, ASCII textASCII text, with very long lines, with no line terminatorsot C8utf-8662fb1fede2f347819839d7a2f17b847b9c5e31f4e7130b585dc52cdaec21638?P7zXZ !t/y]"k%%) o-OK$V& W-WvZ<8>oWg{MZ 'N+ '; #Y(8#t+s"[9(y[}Ԯ~v@𞫋vNj34ݼ 7񢋯$$ӆct<^Dt1M=A%wXCj;"zm$$)݅ 듧H  ]:RG3=*{v]v2tfW-E[QҺ!JjNx֜^c%[x@Qת8XbJŔһ}d{U-T>5e׬%VYU fkۅJ倔y#qkVTŽ쇝lgTʣ G|[N\`F4: *LeN=;M-bE*+\"DV!. j='|r;/SD :ƟA(I,toӶoݦ=?O z)#ڀ\yr`ʤ._2p}'5yr'x}z%n-n~?ˉvMAD8]m9-8KD Cr1f_ <U:M9FH sP=iɲ43C_赩`w6jrJcc ԮͧaBmIk}*ϣgb:d{˜j' W_x5ܡ)*YRzmY`v{lkE ՟7G,Et?A.gw6tgݘv+HvhcQz~.MoԲ a4OyV hTA.SW0"*Z\76 =HG=SWҷ3 ԈXR/n.Hw4&ߎIQ+ wlv#ʠBZK2^w [CPKi2m  G%×l.-*(pUD.~iQP.K_WPE>RʮyWQ @xd@_< "_eMYo-Ӛ3mG$ۭQA:캿''4hN(CsJ1BA*[$}EVXݎ)(IcUKP&b W?vbQ o1NiNwXs[qSD7!et}̀G443ۨwS."ʫ2@PDM& <;줌L]nĆMnM>w!):-qH4"}~{9vϩq["ިZC{}p"iÙ)p ?#T5Ph]}?V_i#jCHsY [T)Ki)Q^ocԗL(QsOWPl6ȅ@,l'/jJGf']d:]AyN>4QdV җNj\JdӤi,5.7(N%M r_dڨ4Ʀȣ91h;cvEA"FKmuN(fMؿu`7ħOxC⬾.5ذ}I:q:tAK* [AAHJTjBOXC6cYy-z ~ގe=Xt5jzfn*|o("uXݙ" )zdK<KS3Egc96$R/E_Y"o)Ԧ( G# <*DBsgpw(ЭWozfJ l:j UEn J;Vl)49>JELWr^ݧSgA\8A,{0ңXVͭy/[v4{'qW`d 7ԩ-o@ %^dI߇Bd:ȼ_Nh҃Y6„ rJY,S\[ N!_oG-LSa2ȗZG}X/ ֺŋ s@1)#=2;J1M/2TgE @1 V52s3 0W Ӱe-om*Eg/xͬV)=",=[9\L;^6?lqJou}uu{\l?ck! F牢"^`yL[BYàa#Tύ:t.7 ?;.=L=57ɒ&`:} q[MLOu߫ A:Թ5b`~T#h#2GƐ\TVc;k+D[DTf67O2_nImA#ۄ'ohTQGWj)H^ _ s馾(Z!Ŭ_ulRFp-ӦݺFAߧ? B}mN0f,֛ _y8?Hカw|Do??4B1bEoa:9SB}lT!2I۷Wbum5=N݌,#N^+!j,ݑ!KwMl ͽнI#anЋr0ݓ92mc0*7.lЏ/7 5R|EyeFnv1a"p^8IujRnA`A Y:%%MA[-Iu23zL>р42|z9OȓUyNV#j++PXXHt b tp߁)Cnc xsV?䔬wf/2#J곲/ 䬦!+yrk 0>5%n S}k45;}.Zm&ϥ7J(~$ĘQAGVd_L`h1=8!qD՚~{F.ViNr?1(Ё6uyU J7]i/ ĂFt $]iٴy3RZD}"^eŘ8,xy`$sX'H~!RQŦ"$fUkwEujdEd\ 5\uSĂG  ѕʚܵK,WBU+sG~T0Ra0dVjW?n)LfՐ20}l˓WpX%.?5ŤJ24Fa$ڞSwdL/]x;&I=~A+Ηj})e{*5#Ő~) P]㌩W֠+@3EV_3i!qPۻe%rG{G_1wbJq3Bs]>eV5+;rYrl7SP?_hL>hl:lϗ%=%UbgRʡ˙=ѵb6<(/D g9 (&REcvΉ8m cLRJ9.!OۥSz-0$cYuǴ؞n*)O'63c틳ŵ< .Ni1h -6_b"Lc`CO¼]9kGPBx@{L`Ϻ'^S~C{Ͱ4`R5 ,LF2|)t;5zMǯY]u(ID4=FgTHwIw ,sB~k}+'vMH%K:+b|[Jiı$2$3s-Z'0MKwЅ qڙuD\%W9_Ԧݞ|- 6܊K7ᯍ9,=G(+N߯TV1r-Y6ö(W@LV@2Zr FYb0*bDl^DZaͳREo2.&pCS!tpΜ  J C ~jGP \ыlkѸzM8g*[^xEB RG.tʢ)Pa7a{jshEcfR_\/y8J+ q^ܬ6}u]Ȏ)\y&tY!AD>A.gt|"׌+~M{e|IFɂuA>C*&j-3[h3=R]Pxϯ:k=+" ns~5-~f5&0@gHpݩ/I\ר#ӅK $ 9>_ktr!æ_?{VQ4t6>9Qre9.$0 üaz? QygG:g@;06Pf˿qϓsnK? y82c¸{;r뉆ʐNڇEUC `YkS{PY[ vrrF1 /t?/-#N}^ ~-DL:4΃k!pc\{bWˇ|tut,D]/%P d ="w+yO\x}i2̼`[T^p$WOSQ`{*n0N\wK>H]u07:k藑WHQԟ{}uYM3BYb.gx S;Hq둆=}bI !ܵ sMnИ(* ?A641!G|H!r8!q^LY@ l\t<<%n:F u?2Y櫴fؾ&È2,~Șn>Q#++}TҬwRT SE^!a_݁Հq\'[SbyJaؖR=E}tOr AߐLXսn7_!mV ۙ@[ۢL"!wDEPYJIL3јPdET?#[Óf9%0EXK.K}zŏ#$+nK#%}^O ZvkNkU7vofP 6bD3U,f OrXٷ!opy_\؄ag_bH"V BYT4c)+z?WZΠ"#ǂQ¡y)zri!M ąsw O~lkc]۷\tvez QVcam <ywL/ &j91 c f, Uz0w3#yx3?NAl/z0c ׺N]s앴 ,.i]YY{t_r4hm;,ۈh$}_`[=%(]8`Q6w솈N-6 0yL j;;m'Kt<~r`"piYv5VgBveWoyd鬭eegTRM;9 Y=rYC!Z~h:HF%J/Y}{juzk;A|eˊ)R4a-G]V(nѕ.ccwAdT?ODƶLr4kƙ+W;+^1T/f4UWgtţ:Y Ax./rןن<Aizg,fW)mVn ^y-A7ҥ-Pd F^ZOx-.ḁi`Hjf+V@ŅKTю( 3$y jmKcV͎Ų=lǽpF6C~<ؼ*{.-U-n z"] ˶MύʚƋ}ī &NJA؅:{}cÏ(nٷўYb?,_hCB:)]a؋XK[dc+N q3j5)I./8t9ͳb:80-s)!`Ď} qbV[nzV%+N4#E])piU2𱈿=4mY}wc¢QA_-п|`ջEspw= EXDEE-NK0&^;U#ÂÜTU_&dF7RCwd-{Ed =Fv^@ 4#IƔ{E2ҽlj/jάާx;~Vkv1ia=i9 ŵeztQbV#08$rm"/ J$%]o%o(#~ X죎}I)law6_f,!!Ds;+(ܯ[?,-Y Jhԩ9|KSC%ե@8+\*nEUjW^ѣg/Bl(;^ ud9h@-v 3AsEP3!1xKSLiA5GcyJChA['R7wW_͡Zgz9U$3nS-CK_8c/̦+vt# |B96[L:MyҙzT2n߇lewk(w!47fDh*[@ sf 8h%t_S-A|(DXOMPCLyqvD]oO%}Qb Gu*(٥8s&tܧΒ[dZt>Y/oJFBU3IM=Ӈ˪ VϚy4;Q˔;Qމ; 6}\&cFzq:tL5hfAt! j@uuaU> /0 zx * ҹ`zqL6yVɭMFAJ u斔sX-OQ-{m{XhS]lYkw;7Y[-@[`X%|̭hQ5f+iz-3cvJNs}=>ŀ4,uԪ1D*5/6151+ua bo >o.7mk:zPc{c%PO]NG)u;3E&?1]M}6ƶɦsP%caVpF[2}zhZ7zj{,h$@1띃pbgEwz-p{Aomei/7ƙkY޸%Bey$S9.UЇK ߀~bXJ$6sb4g ;Fւ9; UǼK1FCOVíU4,9sn.u/Wce {uNpi{zBƮ%{+jZ|vCB_^*y`31.`2R^f^Ovs%;}B~c>E*Cl {V\ 'bmCzl,@hl,>+͇1]bjbȔC,nʲFN*H[wqx^R?} g:e 07=oi<,Ebl'n,wV5brl<_];WNM*kW0o5ښתD?EQL}:\Jsh$gĕ&s0B6n Z d <\~l)6L]""آ,qe{]3n˚J*${׸m:{J(y~I^w{< @F4TwAѰrhMb*TC} wHBXs0oȡ/8"ep}&ڽ/d43^e*>a׷05hzq!\X˯T'y֔~܆^ٯe>}!B hCY1trI| 58<݂KBW/X[xB?|eW a_V6>V'q@ם2U4ǚ3FA٦;%$'h7vi$39<Fz`oZǣz'uXCup+d5!(y(b:9ih(^3j5^P*X@ʋijL)3չJ?)荒 5l +o&Zbfh~ +(/ lDۡTN]vrѵ4`gfݤg/Zb|X">YeH;|7V-21/"oCn.-\q= ɉ 0}u@^6!͡zuvNPh)0ý?{[r)8v޴:.t2+ozӉkcն JVlG Yhd5yr% O):O x2^KՇF=1ߟ !b@gpَ?rƫڮs<@vi 3!'M`u]˨Fsk\8IH^_CXu7yr6uU#w ]8eP'":& %()\VRNw|upY*˝ vJ3i?倞߱5ʧfVh2.Dѷr},sD?:́}$3w录 W96]q["Z>W`:m=d,:s2!o'5QF;5} ɩdP#\.HgApp@o4Cc$ٟML5݌r֣xɂ!|d߁26\?#$,44R'_JK"S]|wxDu˔f˥$xMP.s@g.(#ڷ/JyҕNrrstzA*`Y 2[lh]гniNBTqsr"Zx&Rvv- c3k293DlBP^ 8e~wlLM2UђyѴvn**TP:4՛Dڸþb?j[({@|@ LE5x|޻J?9>1t*m 5_|%ltgt=LgsgJb>gTZ,bB$Bk"Me>d/{G%C RI+: Nywi&|8 1ꓥihFcKD`<*PüOLFZjAf;o/V9 q%oGd~p\Sgr1|x{ *N}vh>QH,.C20NGZfKh7 my^KQzHƜN) O)T0q[dS>)Ue 4+JF^U n0̄gj K 9 1Ply`u\U.c&G[+wV: ն簣nj f7M@\$xm?عJ{5[j(Eh0?VZYM (GbG3Di4.{壧(F8lD4`SD%1"j2?L)9qZ!:rd2VdAC/`|k=0#tpҝ6`?Ozn ^ CUnNv ?E԰"2Rw &ff;|gl‚=L 9bZ<$ȡA)Q砧"FH `mSn 1&"T;2 8 P=ϛ* YO'[h:q\y4= =h+~a,6Yc2k)?GV | 4_*'ib$?tl݌}D $ke"Y kE_A%mȼv[/R^*K4 :siNpQgW q#])Zm*: ,B_QN  cL]Wfv^i8ĨL@/ZUyY}4hxDe8 :d$[`uXaJx1rg{s5-f2.dŽ /KF!:h=B$vLn|0H1 IJrL|!Ą≠p kO$c\!EMwT<7M~5S2Y{Pm>è@8,'v T_'?ۋU R4U]PнΧm 43E鹪i(B*ѥsN0 ޴q 11<ؔ7ws-!q.~ DpqldHR-lAѧ̂1qK׀L& o3ωKC+eE*DӑOwK\G轴vZG?CyǍDZs4TUyY5 "s,qhTip*L2s -`::w3sk- \Xc ָ2Mnb;":i=eƬp.G$EH eL#}朿Y=RF4&_T징+Q MԀɚB(8;jDzuAwHm; O'>,pu3G^v!vcp?BCkqCkަ!vfb)?{%N3af {S}U" dVqgK9rtK(7*Nd[pPM7Їh"C  5'\6=>9/XHa#(bs'd)s6a@Gزu9u}!R9G{HR. ȨzM:>k3(fD)LֺBdU7HS+r2_PJhS(G9d~\|~Bn,v: X7$9FLm%L.mҘ$X{AYeHmt:(i! O}_TKiS)K-Qq)>f\&|C~;4ULޯU۬1*0+`ݼtU L۳,j&%L `S>iA;e0)_dV\9&/Y~#6$\HnzM@-Dz*\ź&觸Ȧ$D?m T {!2fczI),[qMۮ6S!N&5u>O1[M&lCdž'و si@O!^:h]uJ >T&DO~OV^1#p4o hn1E %`Tli"(SDɡ)eYk258C\% ?&רDZbP@5ι5%YV CM)!7՘=7T,q )ęnycUF#޽,b7TDqcA]³ފ3gl1Q+|U̱ZQ6HW\ik+Nz߄75KFtrU5XwIpXE !Yd,J0Đ:f^*'@M v 'tOCY0U`y+aC Nf#d>I$zP1Ua=S F_f$jP%pS?{b3f 9SFZqnD9k ׌I|x?^؀rru(O@1Wׅ'>G3R[z(]ԗ+’927w֫2 D^mʜP6d@3ex|l3n/b.yΐvLxx|H*{*Br? oOe鈕ER=.]c^:+-\[ys#k" @wz8|f0WoBLNsa̷2U`! OE> >HGfy&(k3eU"놖TZB#hq)) Bo#UO2\%4VJj*6 )U>h 9(;x"o#(3%=t_fw(gdcޢ ߈6nCgK>9N}ťI#ӴX|P]ϲUy^憽"6c4ǒ/>ذ3|Z+LKAlyKGϤwjAR ]ޒj~ʬգwpfRPwG$ 2xvC\ I]$6zQ0Zn9|J.p+~BIl^ьGEhVr##(Sa1vn[ aFswM#3a0ʆ}rQF}zGPZ5ٜk̹cA_-ޡSʂW^?20uUm3"oK#igSװw1I-iN<$;x^p"}@vgRqPa%.OJ6duoR(ZRA:7ÃJcmN_!RO[ 02_/i?JGIo|D|UmÍ] ٻCh;_IΧdS8#dhg$VH{դ|}c*T&4sS8:U%]xpK/pX!;ӎX( 9s>.W0։`SXe8T#3 A;:%d~r"F5a!R%ue/}Fw0"gG]O]-9ZyM!L1(!ݸfHoя#Y"e;-0D~@iu75QZ_ /Q(uf9$2 <{)ݟ wBV޾O nbd4q~Q4ERFDjIwa?g,}-_x2NsB>_Wv?@vrŊƐ+R{tVT`fgyoQ{޳j Ä+d'+Ud-Z#VC._ ZܭA. :g$toeG )ak{Ң؞~Y֘OZC# eRKgZ󸻗OhTkSY:^MMo»yy`%^a,;} wJT>[t%%@שCE/q yʑCgFp1Y&Zq!"3;̽KB "]yኆJw$b?}qޛXK%sLJ'v8sK 8k M= !e9Zx] :OF*zY#8PÌm!I]Eaن9C$K";f0T\hB&w1r` pL|EDxe/v9J{@+Ҩ0/0HDlHu}K$wcYB^L~saBF:ʿRXcM3Xe-~Ya+o99P!b ?ec5@ 7L G3X{P߭{gzͧVC fV*}R aL` =:cXo߭'uJ . ay)̷ Ë6y kب;i O'F 't.yzDgA#M]r&J!=^ hq$d1+I6cm m|ߖQh(HW<ۻp(Y״Y)Ȑ<6hYHj/!S3|<D~#d|q6<1$<eJX@=51L(:kzVw֖ߡi?^?8IlA@8R [<ۓpl+'-tv]OOɸa; @9tRrkv>a hh NlƷ}RZ"gdMI*7PJsHXk6B r4CmpuM`+3вpoބ8RV&]ˬra]jvi,K"QvJ;o[ eW?IaoNKw#"j[ YKګS vB)1Aw.c.}%j LA83hb孍ydCS1Ή{J$OPBGBW;k+R_Pi )FZY9!(~ ]pFOIDMm oGmj+a 3nc焅J O#`s'w26cIkA| YOCv6܊\ Vp.-iu˽wPomfKRC2֦ɦ(~]ϲq^^^8 Y'g:|꜅y{޶>Zt{H+?N[Xl$\ȁcq4NqO#,3Vr_S+قns;:N,lގ9p6_e0EDm%RyR{9g׏$װ$`Ăb^bβJ 䧩a2l"e$a]tJOx(sΜ¨ilFM)P?ҙGgH//@ 8j\#0ґ\9aK-_X_I ]Klk$n!9[~:Ӷsҡ(`HVp[Eu(^d?73@Bh^ᙞ,НB$D 9=V:O7UJNgN3~ e|بx| "\2yw*Ut^;84~;K|Wr2ɣjhvPm*8ͺ&tc Z´hėi۟g!vs^֜65Ŏ=H|R?(#37e!CTT|0My;x u51$ H)!^|r= է:8~Tsm|ThBXb=6tp#f@?mho~AGW*GsW9ߨ(DdfX]4,DWcDW-8 t,5睔Nv{v0ȴ,(8}O]!Lt[WAXaua.LlL7N[CCC!5 +cڦu]_DK%xMs@ek২@±ˣKs3n4C f|$NT.vxz] Ez`KR3=3Cq&!<= 3Wn)_D2 9?.>z[~eAn=a9.O k%;T] qRRD0efCb+΃{hO hoep^8]` p? p3i L*ҹ1:@.({n"zI wNS\sq:1F =ZC,t3"wUi.s RZ sj =CY'Odt݀WS)1>(ba8c̠qgY-,dpXZmdomX Cr/ߊ[|ّC XLLS CBOtt7 Ǘfօ&Ӊn^ JRmV>ܶ|Q1sо /\ SOaAi뷩N4JyP5}kC|8Ԓ_PX Q*7s/LVnq1qALW,\(+ hmZq0+KDBfvߔД0MVyH:IEJLlq#ubm] (G6+oH梻LƠy1i9?̥EdV` _jyŀ 犋-bL(wp8ܶƵ3v^ڛŇz'gxdS+\)[ +5_b# Ţr v-YJӃ9 ~DJkv3D[n\:0+zB]eF ШĆ0h(K^o{ i$yW3z g1 Oc]ة.HDso͋p(5*ؼut= A/w[5m<0hX+W ~F?LoY:` ˝EmNq*0Vc"zWiU"P3pV8_楅 o] })C!cӊS [扽f_jhgvNW;-z!EjZw<%~x^5y<IBv,;{&ŗسa1>߲FywOՃc6]e]^G?AژD(Hn|okOOF$&.Ŋz7H5claaLLOHucR4tS Ăg wcB' ґh68n աH[rLQ_&/{nTނ`Y~(8}TzDahCb/᪀p3aH`k{0%PvwəZvI}ZjAf/P tFs5rdbXz澕}y1??kkMh&bX>̑^7.(KphVj籆r[zyϝl15;tX`!.af$T#; k23a3XtW %zD$0J5vGEwX2JEȋF=nB%\1iyjB8SƊHaCyEx):e]?4%5*/B%M3CBqhMؖaR-xV`P$]e1Phc`qq1]&'F}.2"NYUFς]P]YijNP qRTvw-?OѤ,[FMSd58 .LVZ/gBvx( '_-6 a4qZh&Ūޱv׭BVtZ$mɤ"&}RH)$< q-QkSɤqo`5/wx!C5on|-гQ,h^v b$)ϚgmyLG :3:$S~E.Z4jXS7U/' لx'\{nOT黢սϗ;kmoI;^kZu($uoAܳ!,ߐS=?!?d_ηϧRB{Ɯ\#gI0ܪ •i1[Jp8&UHb!,"z+;ŮOX֋15MCM&JbaU1ӓ $2UR~Y~1%.s }X) %7r2Lc젌/˙"3יr.?I`Ej8ڋM5i<gWx^9%̫]KGf&,@*TvMBC`AC ޝ}Nr\Z_L![Ꞃwk*?v:Vk(/HV0gaEPk]vkZ͐/Wla9d$x<ľTݟOPу NO>mzw4Jx RKFR9n?PJdz5bzhEW~[E`?-"Ln/Mm9`sK #]dPG yK2VASSm,*2k 2%W;5G*4 ax$brf/('T;A}oshHJ8QEyv7kHBDZǯ-$Š0:bs鷢jK)-XuX5G1 hBg-x1MY٭|m nxZExSQ`pl@~bo:#.7s*##>U clKHz jh(Q |QX1Vwwkem}sV24ҫ^Ű>Нb'Љ Z{^`vߕ)6!]ThZ [T?P;w~򱒐/቟SEYgf Ujش~0e"1uRgKQJwqq}{J9K~` o!2s;Cy 9N!R N?0Ib!_A-έ_@y?gz,y45]cI+v`h3 č3xFÀp} h=գqJ􇭩|>>J2B҂IRo)ʅ^e rQR| cpl8&k;RD֬u  3-uG4`ȃK; Nhm'O>k}}Z'vx 0F~: ZYTgop6^eAu$,\⋤PD(_aґe+l ۄi`%c&Y[ l7Nq6' N>%Ib)AZqJc6 I\>56F9 4P FT>3Hxҧټh7bLZv7@0̏Otz-X\\5jWj Cm9$(|T&K'J$1Gguu,ݝ_fV*xBZ_=/AK|߶oD9DaFި\61Ш0@{l?^%~wR"YcU@#(䷤xhpYm.虙7Xj>m *$Yڿ,$OV%kySkhl7g;$w1]5Fm?X=Im3-f =.o\ߓPTwJqqD^rt0p*;9,\ftg۔&KvL浽 y"üdÓ!to8 G3f.MS&jZT{|r'0ph2EC'Zo!FEȭqݰ QꚈ֢Fd)>RS0lGm(ğ$pw?d7w/ٖ%t9Ȩ M>7;Ew \B1::V»'#$Oiks[y:m  X*+?D^K@&>ڕ MDg7U8Vi| w .2%l7@SGD5>:X8Gg8>HMbɞQ ze{,qN$5AS,V{,&Ҭ\r9 e1Vȷ@DuZSlLXw4+DuT}%⧿w.%$G8RB䦫~ ӥHbK{:I*2Z,ǚ;IJX:(ԕGKA>Ue91GLAk8nYv)MFBLvxHl0 I~3җ }NR>m@-2W(V[' 5=<*ٴY*]}oӳKt%%*4 pe!Tw;kL[oIs{PE6QNKL%tjdD\EII(guɚN'0%2>lbO5(",)ÊI:[F+U-S:ҭx!L {22KD/(gȼ49'$W9.o0{|F=n֑9_S*XH}a0vv_4}V]Oj8@3O#3"Ȝ:сFɺa-tydT/J^!.5f 'K+vd mkܮTGBj11]|*Mp7~QuBLG["a$tV?|2oCsarwn):nnlѺpk:/je' Er>nWll ryUלߟ";lSvy*>PNwK MD `#$R<4ܮd@KxLQ!5G ˀ=L2S=vt~U]!Θk Ȅ"O*䘍4p#;7E&$ʺ6ZC@TX5J "ދJ? Pd{z~;% /)~IH0sfWEhF(7tm,a_?.499! YMH= 楀"z vVO.(QQB\ rG6_V].B|yk -$];d4Yq $jtYy$|"p.{qv/"V.[ /} RumWcb BQc]״tv(k'pxTg?㑹g։R΃F%'x])r]qg<_#,x5Һ$j哓ߒCFKog,gQmvJD=@c+m܅KpZ޽%1AF#]&P@I H #<`AإxlԲ2<4Ẽ#+6 K:TC''m:\?%m1R#}b  #v҃P"NDRԍuΰY~D Bjf̓|¬Mw o*r:<ƏH ! AOEϔjU[?){PWFOj)$h|:G7ɘfK7'| H2O:}L %Gz!{~)$(g> ŏyeE)Ɏ97//i)KjB+:¤I(jWqؚ*k}+ ñA{<(jt_oм?څ9V-bA~ KV@Bp (}P)[ԝQ~wn=RԌAaAóHRޙ|=q0+/ƛV._VNO!\(y1m+BH fc-&8'Y >H%t ٬eK/ªn`xdMk5UEъb$)W#2ׁ YZ