nghttp2-1.40.0-lp151.3.6.1<>,^sT/=„CHyM4G*DV M)=Mc*ρWq"*x`V"lP3Av'%~ ( վ5^W|A]YiF=_5y}OΧ"yj N6P&rJ:xxvP%O-C=ع]jHĽ`FHF6Q\*)| 1|GB5jʮGMѫ]PDcu;`O:FZNY?:oq7 ^#ӂg GZz>>l?\d   Z 28@` p   h p$<// /( 8 E9 E:_EFGHIXY\$]D^bcedefluv<w\x|yz XCnghttp21.40.0lp151.3.6.1Implementation of Hypertext Transfer Protocol version 2 in CThis is an implementation of Hypertext Transfer Protocol version 2. The framing layer of HTTP/2 is implemented as a form of reusable C library. On top of that, we have implemented HTTP/2 client, server and proxy. We have also developed load test and benchmarking tool for HTTP/2. HPACK encoder and decoder are available as public API.^sTobs-power8-01#openSUSE Leap 15.1openSUSEMIThttp://bugs.opensuse.orgDevelopment/Libraries/C and C++https://nghttp2.org/linuxppc64le h h`#A^sTy^sTz^sTy^sTz^sTz^sTz^sTy^sTycf871f0c858bddad61a52b73e93f6f5539b15481cf8869c4e351e6ed6e364740b75337fe75187f68d68eb9e95831a0f72be527f80be021ba11dad98dbfa227d1440e3edf1096ac8658d4aef2476c5a5831e93850f0acefa3029e81d7052ae0d2556adbd4ecbf8c66cf50704262539fd41ccc3cc63c28bca855ffeccb6c9276fe16af6a7ee9b34d709f6756b4c1797b2891d9295bbd4cb551cb06e561b3ed18aded3ac5189675f4070de0fd51e9a8dda78d4dca007e84dd9c02ae4456b646f6823a22362814ba191b10fa8a50106097ffae4ce30013526f522b7962d2a602f1e4rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootnghttp2-1.40.0-lp151.3.6.1.src.rpmnghttp2nghttp2(ppc-64)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    /usr/bin/python3libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libcares.so.2()(64bit)libcrypto.so.1.1()(64bit)libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)libev.so.4()(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libgcc_s.so.1(GCC_3.4.4)(64bit)libjansson.so.4()(64bit)libjemalloc.so.2()(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.17)(64bit)libnghttp2.so.14()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)libssl.so.1.1()(64bit)libssl.so.1.1(OPENSSL_1_1_0)(64bit)libstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(CXXABI_1.3.11)(64bit)libstdc++.so.6(CXXABI_1.3.2)(64bit)libstdc++.so.6(CXXABI_1.3.3)(64bit)libstdc++.so.6(CXXABI_1.3.7)(64bit)libstdc++.so.6(CXXABI_1.3.8)(64bit)libstdc++.so.6(CXXABI_1.3.9)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.11)(64bit)libstdc++.so.6(GLIBCXX_3.4.14)(64bit)libstdc++.so.6(GLIBCXX_3.4.15)(64bit)libstdc++.so.6(GLIBCXX_3.4.17)(64bit)libstdc++.so.6(GLIBCXX_3.4.18)(64bit)libstdc++.so.6(GLIBCXX_3.4.19)(64bit)libstdc++.so.6(GLIBCXX_3.4.20)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)libstdc++.so.6(GLIBCXX_3.4.22)(64bit)libstdc++.so.6(GLIBCXX_3.4.9)(64bit)libsystemd.so.0()(64bit)libsystemd.so.0(LIBSYSTEMD_209)(64bit)libxml2.so.2()(64bit)libxml2.so.2(LIBXML2_2.4.30)(64bit)libz.so.1()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1^@]i]Z@]Z@]R@\g\A\A\8@[F[t[CN@ZЛZUZUZZOhZ.s@Z'ZY@YdYYlYcl@YX@XӸX@Xk@XQ4@X6@W@WRW"W~WXW W4V@V>@V@VV_V@VzV]VI@V4@V@UU@UUȒ@UUUUUcU]USMartin Pluskal Martin Pluskal Adam Majer Martin Pluskal Tomáš Chvátal seanlew@opensuse.orgTomáš Chvátal Martin Pluskal adam.majer@suse.deadam.majer@suse.dempluskal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comfvogt@suse.commpluskal@suse.comdimstar@opensuse.orgmpluskal@suse.commpluskal@suse.commpluskal@suse.comschwab@suse.dempluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.comadam.majer@suse.dempluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.comidonmez@suse.commpluskal@suse.commpluskal@suse.comidonmez@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.comrguenther@suse.commpluskal@suse.compgajdos@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.comsor.alexei@meowr.rumpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.comjengelh@inai.dempluskal@suse.commpluskal@suse.commpluskal@suse.com- Update to version 1.40.0 to fix CVE-2019-18802 in envoy-proxy and cilium-proxy (bsc#1166481) * lib: Add nghttp2_check_authority as public API * lib: Fix the bug that stream is closed with wrong error code * lib: Faster huffman encoding and decoding * build: Avoid filename collision of static and dynamic lib * build: Add new flag ENABLE_STATIC_CRT for Windows * build: cmake: Support building nghttpx with systemd * third-party: Update neverbleed to fix memory leak * nghttpx: Fix bug that mruby is incorrectly shared between backends * nghttpx: Reconnect h1 backend if it lost connection before sending headers * nghttpx: Returns 408 if backend timed out before sending headers * nghttpx: Fix request stal- Conditionally remove dependecy on jemalloc for SLE-12- Require correct library from devel package - boo#1125689- Update to version 1.39.2 (bsc#1146184, bsc#1146182): * This release fixes CVE-2019-9511 “Data Dribble” and CVE-2019-9513 “Resource Loop” vulnerability in nghttpx and nghttpd. Specially crafted HTTP/2 frames cause Denial of Service by consuming CPU time. Check out https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-002.md for details. For nghttpx, additionally limiting inbound traffic by - -read-rate and --read-burst options is quite effective against this kind of attack. * Add nghttp2_option_set_max_outbound_ack API function * nghttpx: Fix request stall- Update to version 1.39.1: * This release fixes the bug that log-level is not set with cmd-line or configuration file. It also fixes FPE with default backend. - Changes for version 1.39.0: * libnghttp2 now ignores content-length in 200 response to CONNECT request as per RFC 7230. * mruby has been upgraded to 2.0.1. * libnghttp2-asio now supports boost-1.70. * http-parser has been replaced with llhttp. * nghttpx now ignores Content-Length and Transfer-Encoding in 1xx or 200 to CONNECT. - Drop no longer needed boost170.patch- Update to 1.38.0: * This release fixes the bug that authority and path altered by per-pattern mruby script can affect backend selection on retry. * It also fixes the bug that HTTP/1.1 chunked request stalls. * Now nghttpx does not log authorization request header field value with -LINFO. * This release fixes possible backend stall when header and request body are sent in their own packets. * The backend option gets weight parameter to influence backend selection. * This release fixes compile error with BoringSSL. - Add patch from upstream to build with new boost bsc#1134616: * boost170.patch- Update to 1.36.0 * build: disable shared library if ENABLE_SHARED_LIB is off * third-party: use http-parser to v2.9.0 (GH-1294) * third-party: Update mruby to 2.0.0 * nghttpx: Pool h1 backend connection per address (GH-1292) * nghttpx: Randomize backend address round robin order per thread (GH-1291) * nghttpx: Fix getting long SNs for openssl < 1.1 (GH-1287) * h2load: add an option to write per-request logs (GH-1256) * asio: added access to # of the current server port (GH-1257)- Use multibuild to not pull in python3 in first build, nghttp2 is low in the system- Update to version 1.35.1: * nghttpx: Fix broken trailing slash handling (GH-1276) - Changes for version 1.35: * build: cmake: Fix libevent version detection (Patch from Jan Kundrát) (GH-1238) * lib: Use __has_declspec_attribute for shared builds (Patch from Don) (GH-1222) * src: Require C++14 language feature * nghttpx: Write mruby send_info early * nghttpx: Fix assertion failure on mruby send_info with HTTP/1 frontend * h2load: Handle HTTP/1 non-final response (GH-1259) * h2load: Clarify that time for connect includes TLS handshake- Update to version 1.34.0: (bsc#1112438, FATE#326776) * lib: Implement RFC 8441 :protocol support * nghttpx: Add read/write-timeout parameters to backend option * nghttpx: Fix mruby parameter validation in backend option * nghttpx: Implement RFC 8441 Bootstrapping WebSocket with HTTP/2 * nghttpx: Update neverbleed to fix OpenSSL 1.1.1 issues * nghttpx: Update mruby 1.4.1 * nghttpx: Add mruby env.tls_handshake_finished * nghttpx: Add --tls13-ciphers and --tls-client-ciphers options * nghttpx: Add RFC 8470 Early-Data header field support * nghttpx: Add RFC 8446 TLSv1.3 0-RTT early data support- Update to version 1.33.0: * lib: Tweak nghttp2_session_set_stream_user_data * lib: Fix handling of SETTINGS_MAX_CONCURRENT_STREAMS. * lib: Implement ORIGIN frame * asio: support definition of local endpoint for cleartext client session * integration: Remove remaining SPDY code from the integration tests * nghttpx: Fix worker process crash with neverbleed write error * nghttpx: Support per-backend mruby script * nghttpx: Fix stream reset if data from client is arrived before dconn is attached- Update to version 1.32.0: * lib: Ignore all input after calling session_terminate_session * lib: Fix treatment of padding * lib: Don't allow 101 HTTP status code because HTTP/2 removes HTTP Upgrade * build: add ENABLE_STATIC_LIB option to build static lib * third-party: Upgrade neverbleed to the latest master * asio: Support client side SNI * src: Compile with libressl 2.7.2 * src: Allow building without NPN * h2load: -r and --duration are mutually exclusive- Version umpdate to 1.31.1: * Fix bsc#1088639 CVE-2018-1000168 * https://nghttp2.org/blog/2018/04/12/nghttp2-v1-31-1/- Version update to 1.31.0: * lib: Add nghttp2_session_set_user_data() public API function (GH-1137) * src: Define nghttp2_inet_pton wrapper to avoid inet_pton macro (GH-1128) * nghttpx: Close listening socket on graceful shutdown * nghttpx: Add an option to accept expired client certificate (GH-1126) * nghttpx: Add mruby tls_client_not_before, and tls_client_not_after (GH-1123) * nghttpx: Fix potential memory leak * lib: Allow PING frame to be sent after GOAWAY (GH-1103) * nghttpx: Fix bug that h1 backend idle timeout expires sooner * nghttpx: Stop overwrite of first header on mruby call to env.req.set_header(..) (Patch from Dylan Plecki) (GH-1119) * nghttpx: Add upgrade-scheme parameter to backend option (GH-1099) * nghttpx: Fix missing ALPN validation (--npn-list) (GH-1094) * nghttpx: Remember which resource is pushed for RFC 8297 (GH-1101)- Drop spdylay dependency as it is deprecated since version 1.28.0 and removed from cofnigure.ac since 1.29.0- Use %license (boo#1082318)- Update to version 1.29.0: * lib: Use NGHTTP2_REFUSED_STREAM for streams which are closed by GOAWAY * build: Remove SPDY * build: Fix CMAKE_MODULE_PATH * nghttpx: Revert "nghttpx: Use an existing h2 backend connection as much as possible" * nghttpx: Write API request body in temporary file * nghttpx: Increase api-max-request-body * nghttpx: Faster configuration loading with lots of backends * nghttpx: Fix crash with --backend-http-proxy-uri option- Export PYTHON=/usr/bin/python3 before running configure: allow to build without (comnplete) python2 in the buildroot. In any case we only ship python3-bindings already.- Upodate to version 1.28.0: * lib: Add nghttp2_error_callback2 * build: Add deprecation warning when spdylay support is enabled * Switch to clang-format-5.0 * examples: Make client and server work with libevent-2.1.8 * third-party: Update neverbleed * integration: Fix issues reported by the go vet tool. * nghttpx: Fix affinity retry * nghttpx: Fix stalled backend connection on retry * nghttpx: Cookie based session affinity * nghttpx: Expose additional TLS related variables to mruby and accesslog- Drop forgotten python2 build dependency- Update to version 1.27.0: * h2load: Print out h2 header fields with --verbose option * nghttpx: Send non-final response to HTTP/1.1 or HTTP/2 client only - Changes for version 1.26.0: * docs: Fix some typos in the nghttpx how-to * h2load: Fix bug that timing script stalls with -m1 * h2load: Reservoir sampling (GH-984) * h2load: Add timing-based load-testing in h2load - Switch to python3 support- Don't use jemalloc on ppc or %arm, where it is broken.- Update to version 1.25.0: * lib: add nghttp2_rcbuf_is_static() (Patch from Anna Henningsen) (GH-983) * nghttpx: Fix bug that forwarded for is not affected by proxy protocol (GH-979) * nghttpx: Update mruby to 1.3.0 (GH-957)- Drop doc building - Rename python subpackage to python2- Update to version 1.24.0: * doc: README.rst: fix typo (Patch from Simone Basso) (GH-947) * doc: fix up grammar in submit_trailer docs (Patch from Benjamin Peterson) (GH-945) * doc: fix cleaning in out-of-tree builds (Patch from Benjamin Peterson) (GH-938) * nghttp: Fix bug that upgrade fails if reason-phrase is missing (GH-949) * nghttpx: Verify OCSP response using trusted CA certificates (GH-943) * nghttpx: Set default minimum TLS version to TLSv1.2 (GH-937) - Changes for version 1.23.1: * nghttpx: Fix crash in OCSP response verification - Changes for version 1.23.0: * lib: nghttp2_session: Allow for compiling library with -DNDEBUG set (Patch from Angus Gratton) (GH-919) * lib: Treat incoming invalid regular header field as stream error (GH-900) * lib: Call nghttp2_on_invalid_frame_callback if altsvc validation fails (GH-904) * doc: spelling mistake in arguments to build nghttp apps (Patch from Soham Sinha) (GH-925) * doc: Add notes for installation on linux systems (Patch from Tapanito) (GH-917) * doc: Clarify the effect of nghttp2_option_set_no_http_messaging * nghttpx: Verify OCSP response (GH-929) * nghttpx: Fix certificate selection based on pub key algorithm (GH-924) * nghttpx: Fix certificate indexing bug * nghttpx: Run OCSP at startup (GH-922) * nghttpx: Wildcard path matching (GH-914) * nghttpx: Forward multiple via, xff, and xfp header fields (GH-903) * nghttp: Add -y, --no-verify-peer option to suppress peer verify warn (GH-906)- Update to version 1.22.0: * lib: Add missing free call on error in inflight_settings_new() (Patch from lstefani) (GH-884) * asio: Support specifying stream priority via session::submit() (Patch from Matt Way) (GH-881) * nghttpx: Clarify --conf option behaviour * nghttpx: Add $tls_sni access log variable (GH-896) * nghttpx: Rename ssl_* log variables as tls_* (GH-895) * nghttpx: Fix path matching bug (GH-894) * nghttpx: SNI based backend server selection (GH-892) * nghttpx: Enable signed_certificate_timestamp extension for TLSv1.3 (GH-878) * nghttpx: Add options for X-Forwarded-Proto header field (GH-872) * nghttpx: Add --single-process option (GH-869) * nghttpx: Use 502 as server error code * nghttpx: Use SSL_CTX_set_early_data_enabled with boringssl * nghttp: Verify server certificate and show warning if it fails (GH-870) * integration: Use nip.io instead of xip.io- Update to version 1.21.1: * asio: Fix crash if connect takes longer time than ping interval (GH-866) * nghttpx: Fix bug that 204 from h1 backend is always treated as error (GH-871) - Changes for version 1.21.0: * lib: Fix nghttp2_session_want_write (GH-832) * doc: Document pkg-config path usage * build: Eliminate U macro; Instead use (void)VAR for better compiler compatibility. * src: BoringSSL supports SSL_CTX_set_{min,max}_proto_version. (Patch from Piotr Sikora) (GH-853) * src: Use Mozilla's "Modern compatibility" ciphers by default * src: nghttp2_gzip: fix this statement may fall through [-Werror=implicit-fallthrough=] found by gcc7 (Patch from Alexis La Goutte) (GH-823) * nghttpx: Print version number with -v option * nghttpx: Enable X25519 with boringssl * nghttpx: Retry getaddrinfo without AI_ADDRCONFIG (GH-858) * nghttpx: Failing to listen on server socket is fatal error * nghttpx: Escape certain characters in access log (GH-856) * nghttpx: Ignore further input if connection is going to close * nghttpx: Don't call functions which are not async-signal-safe after fork but before execv in multithreaded process. * nghttpx: Enable backend pattern matching with http2-proxy (GH-733) * asio: client: Send PING after 30 seconds idle (GH-847)- Update to version 1.20.0: * lib: nghttp2_session: fix The 'then' statement is equivalent to the subsequent code fragment found by PVS Studio (V523) (Patch from Alexis La Goutte) (GH-814) * lib: Add nghttp2_option_set_no_closed_streams (GH-810) * build: Disable spdylay detection by default * build: Add --with-systemd option to configure * fuzz: Add fuzzer for oss-fuzz (GH-799) * src: Enable TLSv1.3 if it is supported by OpenSSL (or BoringSSL) (GH-816) * src: h2 requires >= TLSv1.2 * asio: More graceful stop of nghttp2::asio_http2::server::http2 (Patch from Amir Pakdel) (GH-805) * asio: Holding more shared_ptrs instead of raw ptrs to make sure called objects don't get deleted. (Patch from clemahieu) * asio: Fix infinite loop in acceptor handler (Patch from clemahieu) (GH-794) * asio: close_stream erases from streams_ while it's being iterated over. (Patch from clemahieu) (GH-795) * nghttpx: Strip version number from server header field * nghttpx: Add --single-worker option * nghttpx: Fix bug that send_reply does not participate graceful shutdown * nghttpx: Add --frontend-max-requests option * nghttpx: Enable stream-write-timeout by default * nghttpx: Fix stream write timer handling * nghttpx: Add configrevision API endpoint (GH-820) * nghttpx: Redirect to HTTPS URI with redirect-if-not-tls parameter (GH-819) * nghttpx: Update log time stamp in millisecond interval * nghttpx: Better error message when private key and certificate are missing * nghttpx: Fix bug that old config is used during reloading configuration * nghttpx: Specify TLS protocol by version range (GH-809) * nghttpx: Send SIGQUIT to the original master process (GH-807) * nghttpx: Restrict HTTP major and minor in 0 or 1 * nghttpx: Drop privilege of neverbleed daemon first * nghttpx: add systemd support (Patch from Tomasz Torcz) (GH-802) * nghttpx: Fix crash on SIGHUP with multi thread configuration (GH-801) * nghttpx: Send 1xx non-final response using mruby script (GH-800) * nghttpx: Select certificate by client's supported signature algorithm (GH-792) * nghttpx: Recommend POST for backendconfig API request * nghttpx: Don't build PSK features with LibreSSL (Patch from Bernard Spil) (GH-789) * nghttp: add support for link rel="preload" for --get-assets (Patch from Benedikt Christoph Wolters) (GH-791) * h2load: Fix wrong req_stat updates * h2load: Explicitly count the number of requests left and inflight * integration: Fix deprecation warnings * integration: Redirect nghttpx stdout/stderr to test driver's stdout/stderr - Changes for version 1.19.0: * lib: Fix memory leak of nghttp2_stream object in server side nghttp2_session object * Fix issues found by PVS Studio (Patch from Alexis La Goutte) (GH-769) * doc: Update README file to write about the issue of Alpine Linux's inability to replace malloc (Patch from makovich) (GH-768) * build: Compile with Android NDK r13b using clang * src: Fix assertion error with boringssl * nghttp: Take into account scheme and port when parsing HTML links * nghttp: Fix authority for --get-assets if IP address is used in conjunction with user-defined :authority header (Patch from Benedikt Christoph Wolters) (GH-783) * nghttpx: Add --accesslog-write-early option (GH-777) * nghttpx: Fix access.log timestamp (GH-778) * nghttpx: Show default cipher list in -h * nghttpx: Add client-ciphers option * nghttpx: Add client-no-http2-cipher-black-list option * nghttpx: Fix the bug that no-http2-cipher-black-list does not work on backend HTTP/2 connections. * nghttpx: Add --client-psk-secret option to enable PSK in backend (GH-612) * nghttpx: Add --psk-secret option to enable PSK in frontend connection (GH-612) * nghttpx: Enable SCT with OpenSSL 1.1.0 * nghttpx: Add proxyproto to frontend option to accept PROXY protocol (GH-765) * h2load: Show default cipher list in -h * h2load: Show custom server temp key such as X25519 * h2load: Fix incorrect return value from spdylay_send_callback - Changes for version 1.18.1: * nghttpx: Fix assertion error in libev ev_io_start (GH-759) * nghttpx: Handle c-ares success without result * nghttpx: Fix bug that DNS timeout was erroneously disabled (GH-763) * nghttpx: Fix bug that DNS timeout was ignored (GH-763)- use individual libboost-*-devel packages instead of boost-devel- Update to version 1.18.0: * lib: Accept and ignore content-length: 0 in 204 response for now * build: Use pkg-config to detect libxml2 * build: Require c-ares to compile applications under src * build: Add Windows CI via AppVeyor (Patch from Alexis La Goutte) * examples: Delete tiny-nghttpd * nghttpx: Retry h1 backend request if first write fails (GH-757) * nghttpx: Keep reading after backend write failed (GH-756) * nghttpx: Add frontend-keep-alive-timeout option (GH-755) * nghttpx: New error log format (GH-749) * nghttpx: Fix bug that fetch-ocsp-response does not work with OpenSSL 1.1.0 (GH-742) * nghttpx: Backend API call allows non-numeric host with dns parameter (GH-731) * nghttpx: Lookup backend host name dynamically (GH-721) * nghttpx: Accept and ignore content-length: 0 in 204 response for now (GH-735) * nghttpx: Wait for child process to exit- Update to version 1.17.0: * lib: Disallow content-length in 1xx, 204, or 200 to a CONNECT request (GH-722) * lib: Avoid memcpy against NULL src * build: MSVC version resource support (Patch from Remo E) (GH-718) * asio: server: Call on_close callback on connection close (GH-729) * nghttpx: Fix frequent crash with --backend-http-proxy-uri * nghttpx: Robust backend read timeout * nghttpx: Fix bug that mishandles response header from h1 backend * nghttpx: Fix bug that zero-length POST is not forwarded (GH-726) * nghttpx: Remove optional reason-phrase from SPDY :status * nghttpx: Header key and value must be string in mruby script * nghttpx: Strip content-length with 204 or 200 to CONNECT in mruby (GH-722) * nghttpx: Strict handling for Content-Length or Transfer-Encoding in h1 (GH-722) * nghttpx: Fix compilation with BoringSSL (Patch from dalf) (GH-717) * nghttpd, nghttpx, asio: Add missing mandatory SP after status code- Update to version 1.16.1: * lib: Prevent undefined behavior in decode_length * nghttpx: Fix bug which may crash nghttpx if non-final response is forwarded from origin server to HTTP/1.1 client - Changes for version 1.16.0: * lib: Add nghttp2_set_debug_vprintf_callback to take advantage of DEBUGF statements in when building DEBUGBUILD. * Update .clang-format for clang-format-3.9 * build: Make it possible to include nghttp2/CMakeLists.txt in another project using add_subdirectory. * third-party: Update http-parser to feae95a3a69f111bc1897b9048d9acbc290992f9 * asio: Fix crash when end() is called outside nghttp2 callback * nghttpx: Add --backend-connect-timeout option * nghttpx: Add TLS signed_certificate_timestamp extension support * nghttpx: Add --ecdh-curves option to specify list of named curves * h2load: Add --header-table-size and --encoder-header-table-size options- Update to version 1.15.0: * lib: Add nghttp2_option_set_max_deflate_dynamic_table_size() API function (GH-684) * lib: Allow NGHTTP2_ERR_PAUSE from nghttp2_data_source_read_callback (GH-671) * lib: Add nghttp2_session_get_hd_deflate_dynamic_table_size() and nghttp2_session_get_hd_inflate_dynamic_table_size() API functions to get current HPACK dynamic table size (GH-664) * lib: Add nghttp2_session_get_local_settings() API function * lib: Add nghttp2_session_get_local_window_size() and nghttp2_session_get_stream_local_window_size() API functions * build: Add -lsocket -lnsl to APPLDFLAGS for solaris build * neverbleed: Update neverbleed to support ECDSA certificate * doc: Mention --enable-lib-only configure option in README * integration: Fix test failure with go1.7.1 * src: Fix compile error with openssl 1.1.0 * nghttpx: Improve performance with HTTP/1.1 backend when request body is involved * nghttpx: Use std::atomic_* overloads for std::shared_ptr if available * nghttpx: Migrate backend stream to another h2 session on graceful shutdown * nghttpx: Add option to specify HPACK encoder/decoder dynamic table size * nghttpx: Log client address * nghttpx: Add tls_sni to mruby Nghttpx::Env class * nghttpx: Add --frontend-http2-window-size option, and its family functions * nghttpx: Add experimental TCP optimization for h2 frontend * nghttpx: Workaround for std::make_shared bug in Xcode7, 7.1, and 7.2 (GH-670) * nghttpx: Fix bug that bytes are doubly counted to rate limit for TLS connections * nghttpx: Add --no-server-rewrite option not to rewrite server header field (GH-667) * nghttpx: Retry if backend h1 connection cannot be established due to timeout * nghttpx: Reset stream if invalid header field is received in h2 * nghttpx: Add --server-name option to change server response header field (GH-667) * nghttpd: Add --encoder-header-table-size option * nghttp: Add --encoder-header-table-size option * python: Support ALPN, require Python 3.5- Update to version 1.14.0: * lib: Make emit_header() return void since it always succeed * lib: Add nghttp2_hd_deflate_hd_vec() deflate API to support multiple buffer input * lib: since hd_inflate_commit_indexed() always return 0, remove the return value check in nghttp2_hd_inflate_hd_nv() * lib: Use memeq() instead of lstreq() in lookup_token() * lib: More strict stream state handling * lib: Modify genlibtokenlookup.py to remove redundant header comparisons and remove inline qualifier of lookup_token() in genlibtokenlookup.py * lib: Fix wrong tree operation to avoid cycle * lib: Make get_max_index() return the max index in frame, so we don't need to do extra calculation * lib: Add nghttp2_on_invalid_header_callback * lib: Log frame's stream ID for header debug logging * doc: Remove old doc about differential encoding in HPACK * doc: Document about ALPN in nghttpx howto * nghttpx: Log error code from getsockopt(SO_ERROR) on first write event * nghttpx: Don't change pushed stream's priority * nghttpx: Log backend connection failure in WARN level * nghttpx: Fix bug that api and healthmon parameters do not work with http2 proxy * nghttpx: Add access log variable for backend host and port * nghttpx: Use copy instead of const reference of backend group * nghttpx: Reload configuration with SIGHUP * nghttp: Adjust weight according to Firefox stable * nghttp: Call error callback when invalid header field is received and ignored * nghttp: Allow multiple -p option * deflatehd: Call nghttp2_hd_deflate_change_table_size only if table size is changed from default- Update to version 1.13.0: * lib: Cancel non-DATA frame transmission from nghttp2_before_frame_send_callback * doc: Fix warning with Sphinx 1.4 * build: Work with Android NDK r12b * nghttpx: Use consistent hashing for client IP based session affinity * nghttpx: Fix FTBFS on armel by explicitly including the header * nghttpx: Cast to double to fix build with gcc 4.8 on Solaris 11 * nghttpx: Fix build error with libressl * examples: Fix compile error with OpenSSL v1.1.0-beta2- Update to version 1.12.0: * Add nghttp2_session_set_local_window_size API function * Add nghttp2_option_set_max_send_header_block_length API function (GH-613) * Fix warning: declaration of 'free' shadows a global declaration (Patch from Alexis La Goutte) * examples: Add ALPN support to tutorial client/server (GH-614) * nghttpx: Reduce TTFB with large number of incoming connections * nghttpx: Rewrite read timer handling * nghttpx: Clean up neverbleed AF_UNIX socket * nghttpx: Add --backend-max-backoff option * nghttpx: Use 16KiB buffer for reading to match TLS record size * nghttpx: Add healthmon parameter to -f option to enable health monitor mode * nghttpx: Receive reference of std::mt19937, not making a copy * nghttpx: Fix bug that backend never return to online (GH-615) * nghttpx: Implement client IP based session affinity * nghttpx: Add --api-max-request-body option to set maximum API request body size * nghttpx: Add api parameter to --frontend option to mark API endpoint * h2load: Add content-length header field for HTTP/2 and SPDY as well * h2load: Implement HTTP/1 upload (GH-611)- Update to 1.11.1 * lib: Add nghttp2_hd_inflate_hd2() and deprecate nghttp2_hd_inflate_hd() * lib: Avoid 0-length DATA if NGHTTP2_DATA_FLAG_NO_END_STREAM is set * lib: Fix bug that PING flags are ignored in nghttp2_submit_ping * integration: Workaround runtime error: cgo argument has Go pointer to Go pointer * nghttp: Eliminate zero length DATA frame at the end if possible * nghttpd: Set content-length in status response * nghttpx: Add sni keyword to --backend option * nghttpx: Allow mixed protocol and TLS settings among backends under same pattern * nghttpx: Don't add 0-length DATA when response HEADERS bears END_STREAM flag * nghttpx: Don't add chunked encoded response body for HEAD request * nghttpx: Don't use CN if we have dNSName or iPAddress field * nghttpx: Just call execv instead of execve to pass environ * nghttpx: Make SETTINGS timeout value configurable * nghttpx: Save PID file after it is ready to accept connections * nghttpx: Treat backend failure if SETTINGS is not received within timeout * nghttpx: Wait for SETTINGS ACK to make sure that backend h2 server is alive- Update to 1.10.0 * Pass unknown SETTINGS values to nghttp2_on_frame_recv_callback * Add ALTSVC frame support * Run error callback when peer does not send initial SETTINGS frame * Update http-parser * Update sphinx_rtd_theme * nghttp: add an --expect-continue option * nghttpx: Fix downstream connect callback called early * nghttpx: Truncate too long -b option signature * nghttpx: Fix bug that server push from mruby script did not work * nghttpx: Try next HTTP/1 backend address when connection cannot be made * nghttpx: Retry next HTTP/2 backend address when connection cannot be made * nghttpx: Enable link header field based push for non-final response * nghttpx: Detect online/offline state of backend servers * nghttpx: Better load balancing between backend HTTP/2 servers * nghttpx: Fix crash with backend failure- Update to 1.9.2 * nghttpx: Fix crash with backend failure * nghttpx: Better distribute load to backend h2 servers * nghttpx: Fix error messages on deprecated mode * nghttpx: Fix bug that logger wrote string which was not NULL-terminated * nghttpx: Fix bug that proxy with HTTP/1.1 CONNECT did not work- Update to 1.9.1 * nghttpx: Fix bug that backend tls keyword did not work with -s option * nghttpx: Fix handing stream after connection check was failed - Changes for 1.9.0 * lib: Add nghttp2_error_callback to tell application human readable error message * lib: Reference counted HPACK name/value pair, adding * nghttp2_on_header_callback2 * lib: Add nghttp2_option_set_no_auto_ping_ack() option * lib: Add nghttp2_http2_strerror() to return HTTP/2 error code string * build: Makefile.msvc enhancements (Patch from Jan-E) * build: Lower libev version requirement (Patch from Peter Wu) * build: cmake build support (Patch from Peter Wu) * asio: Fix bug that server event loop breaks with exception * integration: Disable tests that sometimes break randomly on travis * integration: do not use recursive target (Patch from Peter Wu) * h2load: Fix bug that it did not try to connect to server again * h2load: Fix bug that initial max concurrent streams was too large * nghttpx: Memcached connection encryption with tls keyword * nghttpx: Enable/disable TLS per frontend address * nghttpx: Configure TLS per backend routing pattern * nghttpx: Workaround for Ubuntu 15.04 which does not value-initialize on std::make_shared. * nghttpx: Add --error-page option to set custom error pages * nghttpx: Add wildcard host routing * nghttpx: Change read timeout reset timing * nghttpx: Don't push if Link header field includes nopush * nghttpx: Deprecate backend-http1-connections-per-host in favor of backend-connections-per-host * nghttpx: Restructure mode settings, removing --http2-bridge, - -client, and --client-proxy options * nghttpx: Deprecate backend-http1-connections-per-frontend in favor of backend-connections-per-frontend * nghttpx: Don't share session which is already in draining state * nghttpx: Effectively disable backend HTTP/2 connection flow control * nghttpx: Add --frontend-http2-max-concurrent-streams and - -backend-http2-max-concurrent-streams, and deprecate - -http2-max-concurrent-streams option * nghttpx: Deprecate --backend-http2-connections-per-worker option * nghttpx: Share TLS session cache between HTTP/2 and HTTP/1 backend * nghttpx: Rewrite backend HTTP/2 connection coalesce strategy- Update to 1.8.0 * Add Architecture documents (work in progress) * List all contributors in AUTHORS * doc: fix out-of-tree doc builds (Patch from Peter Wu) * Wrap AM_PATH_XML2 by m4_ifdef to handle the case when _PATH_XML2 is not found * Fix configure script for non-gcc, clang build * Document compiling apps and include h2load in configure (Patch from David Beitey) * Don't check for dlopen/libdl on *BSD (Patch from Bernard Spil) * Don't taint CXXFLAGS from AX_CXX_COMPILE_STDCXX_11 * Fixing Windows Makefile version detection (Patch from Reza Tavakoli) * lib: Tokenize extra HTTP header fields * lib: Fix typo in HAVE_CONFIG_H name (Patch from Peter Wu) * lib: Add HTTP/2 extension framework to send and receive non-critical frames * tests: remove unused macros (Patch from Peter Wu) * src: Update default cipher list * src: Fix compile error with gcc-6 which enables C++14 by default * asio: client: Fix connect timeout does not work, return from cb if session stopped, removing client::session::connect_timeout() functon * nghttpd: Start SETTINGS timer after it is written to output buffer * nghttpd: Add trailer header field to status responses * nghttpd: Add -w and -W options to change window size * nghttpx: Worker wide blocker which is used when socket(2) is failed * nghttpx: ConnectBlocker per backend address * nghttpx: Interleave text/html pushed resources with associated resource * nghttpx: Add headers given in add-response-headers for mruby response * nghttpx: Deprecate --backend-ipv4 and --backend-ipv6 in favor of --backend-address-family * nghttpx: Add options to specify address family of memcached connections * nghttpx: Add encryption support for TLS ticket key retrieval * nghttpx: Add TLS support for session cache memcached connection * nghttpx: Refactor blacklisted cipher suite check (Patch from Jay Satiro) * nghttpx: Add TLS support for HTTP/1 backend * nghttpx: Add request-header-field-buffer and max-request-header-fields options, deprecating header-field-buffer and max-header-fields options. * nghttpx: Add --no-http2-cipher-black-list to allow black listed cipher suite * nghttpx: Limit header fields from backend * nghttpx: Fix bug that IPv6 address in Forwarded "for" is not quoted-string * nghttpx: Support multiple frontend addresses * integration-tests: support out-of-tree tests (Patch from Peter Wu) * examples: fix compile warnings (Patch from Peter Wu) - Drop upstreamed nghttp2-c++14.patch- Update to 1.7.1 * Fix CVE-2016-1544 (boo#966514)- Add nghttp2-c++14.patch to properly guard make_unique templates. [bsc#964140]- Update to 1.7.0 * Reset (RST_STREAM) stream if flow control window gets overflow * Validate :authroity, host, and :scheme value more strictly * Check request/response submission error based side of session * Strict outgoing idle stream detection * Return error from nghttp2_submit_{headers,request} when self dependency is made * Add -ldl to APPLDFLAGS for static openssl linking * asio: Stop acceptor on server::http2::stop * asio: Rename http2::get_io_services() as http2::io_services() * h2load: Support UNIX domain socket * h2load: Improve readability of traffic numbers * h2load: Remove "auto" for -m option * h2load: Show progress in rate mode * h2load: Perform sampling for request and connection timings to reduce memory consumption * nghttpd: Add --no-content-length option to omit content-length in response * nghttpx: Interleave pushed streams with the associated stream if pushed streams are javascript and CSS resources * nghttpx: The initial value of request/response buffer is increased to 128K * nghttpx: Fix bug that --listener-disable-timeout option is not used * nghttpx: Don't emit :authority if request does not contain authority information * nghttpx: Add clarification of quotes in configuration file * nghttpx: Don't allow certain characters in host and :scheme header field * nghttpx: Add RFC 7239 Forwarded header field support * nghttpx: Fix crash when running on IPv6 only (Patch from Vernon Tang) * nghttpx: Take into account of trailers when applying max_header_fields * nghttpx: Don't apply max_header_fields and header_field_buffer limit to response * nghttpx: Strict validation for header fields given in configuration * nghttpx: header value should not be lower-cased (Patch from ayanamist)- fixed typo in libnghttp2_asio1 [bsc#962914]- Update to 1.6.0 * Fix heap-use-after-free bug when handling idle streams * Strict error handling for frames which are not allowed after closed (remote) * Set max number of outgoing concurrent streams to 100 by default * Keep incoming streams only at server side * Create stream object for pushed resource during nghttp2_submit_push_promise() * Add nghttp2_session_create_idle_stream() API * Handle response in nghttp2_on_begin_frame_callback * Add --lib-only configure option * Compile with OpenSSL 1.1.0-pre1 * Fix build when OpenSSL 1.0.2 is not available (patch from Sunpoet Po-Chuan Hsieh) * asio: Add connect and read timeout to client API * asio: Add TLS handshake and read timeout to server API * asio: Added access to a requests remote endpoint (patch from Andreas Pohl) * asio: libnghttp2_asio: Added io_service accessors (patch from Andreas Pohl) * h2load: Add req/s min, max, mean and sd for clients * h2load: Fix broken connection times- Update to 1.5.0 * Fix bug that nghttp2_session_find_stream(session, 0) returned NULL * Add nghttp2_session_change_stream_priority() to change stream priority without sending PRIORITY frame * Add nghttp2_session_check_server_session() API * Consider to use CANCEL error code when closing streams with GOAWAY * Don't send push response if GOAWAY has been received * Use error code CANCEL to reset pushed reserved stream from remote * Add nghttp2_session_upgrade2(), deprecate nghttp2_session_upgrade() * Workaround HTTP upgrade with HEAD request in nghttp2_session_upgrade() * Introduce NGHTTP2_NV_FLAG_NO_COPY_NAME and NGHTTP2_NV_FLAG_NO_COPY_VALUE * Add nghttp2_session_check_request_allowed() API function * Switch to clang-format-3.6 * Update mruby to 1.2.0 * tests: fix broken linkage with --disable-static (Patch from Kamil Dudka) * python: Send RST_STREAM if remote side is not closed and response finished * asio: client: call on_error when connection is dropped * asio: ALPN support * h2load: Add --h1 option to force http/1.1 for both http and https URI * h2load: Fix crash when dealing with "connection: close" form HTTP/1.1 server * h2load: h2load goes into infinite loop when timing script file starts with 0.0 in first line (Patch from Kit Chan) * h2load: Override user-agent with -H option * h2load: Print "space savings" to measure header compression efficiency * h2load: Stream error should be counted toward errored * h2load: Show application protocol with OpenSSL < 1.0.2 * nghttpx: Don't send RST_STREAM to h2 backend if backend is disconnected state * nghttpx: Support server push from HTTP/2 backend * nghttpx: Fix bug that causes connection failure with backend proxy URI * nghttpx: Use --backend-tls-sni-field to verify certificate hostname * nghttpx: Log :authority as $http_host if available * nghttpd: Fix crash with CONNECT request * nghttpd: Defered eviction of cached fd using timer * nghttpd: Read /etc/mime.types to set content-type header field * nghttp: Record request method to output it in har correctly * nghttp: Use method given in -H with ":method" in HTTP Upgrade - Drop nghttp2-1.4.0-fix-tests.patch (now in upstream)- Enable spdy and more example applications- Update to 1.4.0: * lib: Don't always expect dynamic table size update. * lib: Shrink to the minimum table size seen in local SETTINGS. * lib: Add new error code NGHTTP2_ERR_PAUSE to send_data_callback. * lib: Avoid excessive WINDOW_UPDATE queuing. * lib: Return fatal error if flooding is detected to close session immediately. * lib: Return type of nghttp2_submit_trailer is int. * lib: Don't send WINDOW_UPDATE with 0 increment. * lib: Fix bug that headers in CONTINUATION were ignored after HEADERS with padding. * package: Use -fvisibility=hidden for internal functions. * package: Show more information in configure summary. * package: Add PIDFile directive to systemd service. * package: Fix daemon upgrade when running under systemd. * app: Compile with BoringSSL. * nghttp: Allow multiple -c option occurrence, and take min and last value. * nghttpd: Fix leak when server failed to listen to given port. * nghttpx: Add TLS dynamic record size behaviour command line options. * nghttpx: Reduce default timeouts for read sockets to 1m. * nghttpx: Fix bug that PUT is replaced with POST. * nghttpx: Change mruby script handling. * nghttpx: Added support for RFC 7413 (TCP Fast Open) on nghttpx proxy listening connections. * nghttpx: Add neverbleed support. * h2load: Don't DOS our server! * h2load: Use duration syntax for timeouts. * h2load: Support subsecond rate period. * h2load: Simplify rate mode. * h2load: Add option for user-definable rate period. * h2load: Reuse SSL/TLS session. * h2load: Reconnect server on connection: close. * h2load: Don't exit in the case of no ALPN protocol overlap. * integration: Update go's http2 package URI. - Add missing baselibs.conf. - Add nghttp2-1.4.0-fix-tests.patch from commit 4825009. - Small spec cleanup.- Update to 1.3.4 * Make traditional init script fail if new config file is broken (Patch from Janusz Dziemidowicz) * nghttpx-logrotate: Don't use killall since we have multiple processes * nghttpx: Fix improper signal handling - Changes for 1.3.3 * Fix bug in padding handling of DATA frame * Use hash table for dynamic table lookup * More warning flags for --enable-werror * Update mruby * h2load: HTTP/1.1 support (Patch from Lucas Pardue) * nghttpx: Do not try to set TCP_NODELAY when frontend is an UNIX socket (Patch from Janusz Dziemidowicz) * nghttpx: Chown UNIX domain socket to user specified as --user * nghttpx: Split monolithic one process into control and worker processes * nghttpx: Handle SSL/TLS data following PROXY protocol line - Changes for 1.3.2 * Check header block limit after new stream is opened * nghttp: Show error if HEADERS frame cannot be sent for whatever reason * nghttpx: Fix assertion failure on TLS handshake * nghttpx: Add x-http2-push header field for pushed resource * nghttpx: Fix compile error with --disable-threads- Update to 1.3.1 * Avoid usage of typeof and replace __builtin_offsetof with offsetof * Honor stream->weight even if stream->last_writelen is 0 * Compile third-party libraries if hpack-tools is enabled * nghttpx-init: Start nghttpx with --daemon * Bundle sphinxcontrib.rubydomain https://bitbucket.org/birkenfeld/sphinx-contrib/src/default/rubydomain/ * Bundle mruby * h2load: Record TTFB on first byte of response body, rather than first socket read * h2load: Improve checking for timing script input, prevent false positive in certain situations * nghttpx: Implement PROXY protocol version 1 (--accept-proxy-protocol option) * nghttpx: Allow link header server push for HTTP/2 backend as well * nghttpx: Don't initiate push if client disabled push * nghttpx: Allow absolute URI in Link header field for push * nghttpx: Fix crash with multi workers and QUIT signal * nghttpx: Add mruby support which is disabled by default (use --with-mruby configure option to enable it) * nghttpx: Drop connection before TLS finish if h2 requirement is not fulfilled - Fix typo in previous changelog entry- Update to 1.3.1 * Limit the number of incoming reserved (remote) streams * Add stream public API * Rewrite priority tree handling * Fix parallel make distcheck * Define it and itprep recursive target if AM_EXTRA_RECURSIVE_TARGETS is defined * fetch-ocsp-response: Handle spurious openssl exist status 0 * nghttpx: Use nghttp2::ssl::DEFAULT_CIPHER_LIST for backend TLS connection * nghttpx: Don't allow blacked listed cipher suites for HTTP/2 connection * nghttpx: better handle /dev/stderr and /dev/stdout (Patch from Tomasz Buchert) * nghttpd: GOAWAY if SSL/TLS requirements for HTTP/2 are not met * nghttpd: Return date header field for 304 * nghttpd: Support HEAD request * h2load: Add Timing-script and base URI support (Patch from Lucas Pardue) * h2load: Add timeout options (Patch from Nora) - Fix typo in changelog- Update to 1.2.1 * doc: Reword the HPACK tutorial (Patch from Tom Harwood) * nghttpx: Fix stability issues * h2load: Fix crash if -r > -n- Update to 1.2.0 * Fix crash if response or data is submitted to closing stream * Header table size UINT32_MAX must be accepted * Use PROTOCOL_ERROR against DATA sent to idle stream * Allow multiple in-flight SETTINGS * Strictly check occurrence of dynamic table size update * Fix configure warning that 'missing' is missing or too old * Fix rm: cannot remove ‘*.rst’: No such file or directory when "make clean" (Patch from Alexis La Goutte) * doc: Reword some of the server and client tutorial (Patch from Tom Harwood) * src: Remove monotonic_clock replacement macro for gcc-4.6 * nghttpx: Add TLS ticket key sharing among nghttpx instances using memcached * nghttpx: Add shared session cache using memcached * nghttpx: Set SSL/TLS session timeout to 12 hours * nghttpx: Enable session resumption on HTTP/2 backend * nghttpx: Don't rewrite host header field by default * nghttpx: Generate new ticket key every 1hr and its life time is now 12hrs * nghttpx: Don't reuse backend connection if it is not clean * nghttpx: Add AES-256-CBC encryption for TLS session ticket * nghttpd: Fix the bug that 304 response has non-empty body * h2load: Add -r and -C options to h2load (Patch from Nora Shoemaker) - Changes for 1.1.2 * Fix linker error with libnghttp2_asio * Allow custom installation location for Python bindings - Drop no longer needed missing_nghttp2_timegm.patch- Update to 1.1.1 * nghttpx: Fix various stability issues and memory leak bug - Changes for 1.1.0 * Fix DATA is not consumed if nghttp2_http_on_data_chunk failed * nghttp2_submit_response and nghttp2_submit_headers may return * NGHTTP2_ERR_DATA_EXIST * msvc build fixes and enchantments (Patch from Gabi Davar) * Compile with IRIX gcc-4.7 (Patch from Klaus Ziegler) * nghttp: Add --max-concurrent-streams option * nghttp: Add comment on HAR on pushed objects (Patch from acesso) * nghttpx: Add --include option to read additional configuration from given file * nghttpx: Add backend routing based on request host and path by extending -b option * nghttpx: Allow log variable to be enclosed by curly braces for disambiguation * nghttpx: Add log variables related to SSL/TLS connection * h2load: Add --ciphers option - Add patches * missing_nghttp2_timegm.patch to fix building of asio library * nghttp2-remove-python-build.patch to fix python bindings installation when autotools are used- Update to 1.0.5 * Add STREAM_DEP_DEBUG macro switch to enable runtime validation of depedency tree * Fix another bug in priority handling; sibling's item is not queued when ancestor's item is detached * nghttpx: Fix crash with --http2-bridge and both frontend and backend TLS- Update to 1.0.4 * Fix assertion failure in stream_update_dep_on_detach_item (GH-264) - Changes for 1.0.3 * Fix bug that idle self-depending PRIORITY is not handled gracefully * Optimize dependency based priority code to Firefox style tree * enable third-party for asio_lib too (Patch from Mike Frysinger) * fetch-ocsp-response: Support LibreSSL, and include port in ocsp_host * src: Support compile with LibreSSL * nghttpx: Fix bug that x-forwarded-proto header field does not reflect frontend scheme on HTTP/2 backend * nghttpx: Validate :path on SPDY frontend- Update to 1.0.2 * Fix bug that data are not consumed for connection in race condition (GH-253) * Define NGHTTP2_EXTERN to __declspec(dllimport) when using nghttp2 for Windows build * Translate fetch-ocsp-response into Python * libevent-client: Fix bug that path is broken if URI does not contain path part * python: Call on_close callback when connection is lost for server session * python: Expose client certificate, if available (Patch from Fabian Wiesel) * python: Catch and log failure to set TCP_NODELAY (Patch from Fabian Wiesel) * nghttpx: Add --add-request-header option * nghttpx: Make WebSocket upgrade work * nghttpx: Fix bug that END_STREAM is not set in backend for POST with Upgrade * nghttpx: Don't send "Expect" header field twice- Update to 1.0.1 * Include stdint.h instead of inttypes.h when compiled with MSVC < 2013 * Fix invalid memory free on out-of-memory handling * integration: Use our own copy of golang spdy package * android: Don't link zlib bundled with android NDK * Dockerfile.android: Update NDK ver, and ubuntu; build and link zlib * src, examples: Fix up OpenSSL initialization * nghttpx: Allow HTTP Upgrade from POST request if response header has not been sent to the client * nghttpx: Fix bug that PUSH_PROMISE is sent after associated response HEADERS * nghttpd: Close connection after settings timeout and GOAWAY was sent * h2load: Fix bug that NPN fails if ALPN is enabled- Update to 1.0.0 * v1.0.0 introduced backward incompatible changes from 0.7 series. Read https://nghttp2.org/documentation/package_README.html#migration-from-v0-7-15-or-earlier to migrate from older version to this latest version. - Changes for 0.7.15 * Hopefully, this is the last release for 0.7.x series. Development continues in 1.x series. * Access violation in buffers (GH-232) (Patch from Etienne Cimon) * Retry finding jemalloc lib by je_malloc_stats_print (GH-233) * inflatehd: Fix crash if 'wire' value is not string (GH-235) * nghttpx: Revert 585af93 to fix crash with TLS (GH-234) * nghttpd: Add --echo-upload option to send back request body- Update to 0.7.14 * Fix global-buffer-overflow in HPACK code * Fix doc for nghttp2_select_next_protocol * Fix bug that promised stream was not reset on decompression error * Add systemd and upstart configuration file for nghttpx (Patch from Zhuoyun Wei) * Improve nghttpx logrotate configuration file (Patch from Zhuoyun Wei) * Update sphinx_rtd_theme * h2load: Update h2load to give connect time and ttfb stats (Patch from ericcarlschwartz) * nghttpd: Add -m, --max-concurrent-streams option * nghttpx: Log absolute URI for HTTP/2 or client proxy request * nghttpx: Add --header-field-buffer and --max-header-fields options * nghttp: Fix assertion error if very large value is given to -t- Update to 0.7.13 * Fix bug that promised stream was not reset by returning NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE from nghttp2_on_header_callback. Instead, associated stream was reset. * Allow NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE from nghttp2_on_begin_headers_callback * h2load: Effectively disable flow control by setting large window size * asio: Graceful shutdown and joinable server (Patch from Xiaoguang Sun)- Update to 0.7.12 * Fix bug that nghttp2_session_set_next_stream_id accepts invalid stream_id * HPACK: Rewrite static header table handling * HPACK: Never index authorization and small cookie header field * Don't install libnghttp2_asio headers if they are disabled * doc: Specify program directive so that hyperlink to option is correctly pointed to the intended location * asio: client: Call error_cb on error occurred in do_read and do_write (Fixes GH-207) * nghttp: Add --no-push option to disable server push * nghttp: Show stream ID in statistics output * nghttp: Remove --dep-idle option * nghttp: Use same priority anchor nodes as Firefox does * nghttpx: Don't push resource if link header has non empty loadpolicy * nghttpx: Add logging for somewhat important events (logs, tickets, and ocsp) * nghttpx: Set Downstream to stream user data on HTTP Upgrade to h2- Update to 0.7.11 * nghttpx: Fix waitpid race condition in ocsp response update * nghttp: Consider user-provided :authority header field for SNI as well as host header field - Changes for 0.7.10 * Make sure that nghttp2 license is MIT license * Add nghttp2_session_consume_{connection,stream} to consume bytes independent * Add nghttp2_send_data_callback to send DATA payload without copying "static inline" fix for build with VS2013 (Patch from Remo E) * Update lib/Makefile.msvc (Patch from Remo E) * Remove dependency on libws2_32 on Windows build * Define NGHTTP2_EXTERN macro to export function for Windows build * doc: Generate API doc per function * python: Add async body generation support * python: Fix pseudo-header field ordering bug * nghttpx: Redirect stderr to errorlog file * nghttpx: Fix bug that data buffered in SSL object are not read * nghttpx: Remove --tls-ctx-per-worker option * nghttpx: Add OCSP stapling feature- Enable python bindings - Update to 0.7.9 * Implements h2-14 protocol (http://tools.ietf.org/html/draft-ietf-httpbis-http2-14) * Implements HPACK 09 (http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09) * h2load: Fix crash if -t > -c * h2load: Add -d option to upload data to server * nghttpx: Forward only "trailers" keyword in te when forwarding HTTP/2 backend * nghttpx: Fix PUSH_PROMISE header field corruption [GH-194] * nghttpx: Fix te header field is duplicated when forwarding HTTP/2 backend * nghttp, nghttpd: Add --hexdump option to hexdump incoming traffic. * examples: Place AM_CPPFLAGS first to use in-package header files first [GH-192] - Changes for 0.7.8 * Implements h2-14 protocol (http://tools.ietf.org/html/draft-ietf-httpbis-http2-14) * Implements HPACK 09 (http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09) * Validate :path header field for http or https URI scheme * NULL-terminate header field name and value presented by callback * README.rst: Cleaned up the grammar a bit (Patch from Ross Smith II) * h2load: fix for segfault by reserving correct worker count (Patch from Stefan Eissing)- Avoid shipping documentation redundantly. Set RPM groups.- Fix rpm group- Update to 0.7.5 * Implements h2-14 protocol (http://tools.ietf.org/html/draft-ietf-httpbis-http2-14) * Implements HPACK 09 (http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09) * Validate HTTP semantics by default * Add nghttp2_option_set_no_http_messaging() API function * Update http-parser * nghttp, nghttpd, nghttpx: Use "sensitive" to indicate "never indexed" header field * nghttp, nghttpd, nghttpx, h2load: Select/announce h2 in ALPN/NPN * nghttp: Fix unaligned field output in --stat * nghttp: Fix -H does not work with -u upgrade request * nghttp: Update resource timing terminology according to Resource Timing TR * nghttpd: Add -a option which takes an address parameter that allows nghttpd to bind to a non-default address. Patch from Brian Card * nghttpx: Use omit minor version in case of HTTP/2 in via header and access log * nghttpx: Support UNIX domain socket on both frontend and backend * nghttpx: Fix crash in http/1 backend when backend returns more bytes than CL * nghttpx: Cast configuration value to rlim_t to avoid compile error on 32bit * nghttpx: Fix 1 second delay in HTTP/2 backend connection * nghttpx: Fix request re-submission bug in HTTP/2 backend * asio-sv2: Fix compile error with OS X- Initial packaging of 0.7.4obs-power8-01 15846165861.40.0-lp151.3.6.11.40.0-lp151.3.6.1deflatehdh2loadinflatehdnghttpnghttpdnghttpxnghttp2fetch-ocsp-response/usr/bin//usr/share//usr/share/nghttp2/-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.opensuse.org/openSUSE:Maintenance:12131/openSUSE_Leap_15.1_Update_ports/1c2ae97637d10cd8ca55c394da78587c-nghttp2.openSUSE_Leap_15.1_Updatedrpmxz5ppc64le-suse-linuxELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=a2ff85d5623e87c3f79ccba5e0effbb3c90a475b, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/l, BuildID[sha1]=d7dc823995f1fe8d24c539c690786e1b7d9b296e, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=98fbaa3f4fb68b4b4724e5b445a01958d9f0e71f, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/l, BuildID[sha1]=7da2e998fd39f8b09ec09b9236d1aa0e11e4aefa, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/l, BuildID[sha1]=26fb0bf8859721e1df718dc49b1d327d2ada6d52, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/l, BuildID[sha1]=ecbe9838504d50869e1dcec0f6e6aaa159b42e19, for GNU/Linux 3.10.0, strippeddirectoryPython script, ASCII text executable.:Wr %RRR%RRRRRR R RRRRRRR RRRR"RRR RRR%RRRRR#RR$R!RRR RRRRR RRRRR%RRRRRR R RRRRRR RRR)RRRR R%RRR#R!RRR R(RRRR R*RR RRRRRR RRRR!RR R%RRRR#R$RRR RRRR*RR RRRRR RR RR'RRRRRR RRR%RRRRR#RR$R!RRR RRRRR&R*RR RRRRH (O{"щutf-80ae39f4f2d565a6a902d0c80c4dfbb62a8cffc17ef6d6ae69c6b6ec6644a0202? 7zXZ !t/9]"k%w69$ XNME09t ٝ3oPH]r8 @':fz!VGbߢ(NYOpqZpu&^[XΥeg>8'pa8W_tFFKb0_S<%Y\x+ Hnʡi!%( xt7z倫o/Xm0?5nWӕ LuS?r֦6੧n8 f;R[h W#dzǑPΟ3RDTr&4I(4*]b^:녉o~R )fMCyȡZOf&;İ'9,66y\=7MHQkj6%7"*$dW^E~YXxj bШF5/q-/;-/d pL$褬:0Om@=6IP_tqĜ j, dtǿU$Y?koGsb絿u LYXe5Mޢ}ba~d@Y gx'Ѐ҆CN޼ O0jvD@MdΗki7OI^ÞE}1Fe)a8h[aIJp(~Q9g3~UEG7͞ )e;GLோ!֐iN\/tN\}1_[Lo4b9Et+Int9> oD^Pp& "ڱ{RpafKsۘaMx{⳩aJiܬ8ջWh3YpzÎJ N&Uw p}3pE[1S{Ȅ5Cl_m΂DОKZ`%;BI`壖D*od I 5VB1V5yG*.ݯ78|O-oO 1; Ud Rz X>HFi<7I2'ke0Cqy5vԣ2) #0X^,.zr7Ū׆= JVG$ypAX)1 sTMKrrvFYwGoBߺ4Tp(ƫZ܉To0˼d>'Nk!҂q,N&<%8%DX UeYx:9FاP]whn66; `%c{-m'D 2ռӅnn}^tv1PU2-{UX]d Sڍk؂gwqHJM|2ZV¡$3HN>xA+Rv* h{¡Ӡޮӧ]^YZI$}'Qb`$AjKoZiY{ŨhL 6sRp .Z[Ua'rµrTL0c9^gS)V> CIf-ڼbUD]NPL5rC0R ځ`y滁K%xVcK=EnyyAr.SKGL!ycw-A1}%߸).ₙ exFmzSbJаSN`@'R&vX+OM(2UL9d{sl !Go*nf)\Gj+U`ˬ : X:*r/sshټE270T%* 9'G݅clxΧ@ĕȚ+1wP󵱕J(5J8]4$XℜQ+K^?+E&o&j\Hx|#lI0O~brs1nQ*ߠeDii/@*/煮+*_L},w.|25e 3 0JQuARb-1'T3OK#ÖIH>MY-NiR& 0 }j{^ev@ GLhl뀫&3bXhCvO_?gՓݚrUr@*TݛljyCb0|xB?sfR.4؄vLo cӰ"7܌iwfX ׋ [ 2i.ՀxwH@8R[: 1Kߐ+<伬trBm37χB6]ixr[NՒ_/4L’WۛM=%D)g!Oѽҟ*tEGvJ <f؈4;K*?oW cwynϬGfp[m%%?ڃ_@.}؀V%y%Nm9deB10 O18T)⧳fzìWWy_IE?8qxӥU-*hi:3QIg<5nG D[q (t4h6X+s:'fŌv@kfP疖-4,vxYq0nτp]o]ՑݜIrbZY$0qa؅NXg*%j"5S_ܬxQY"69 k9V6~8Ԥmn+w݀vPW ow12({,;D/Ez &.t(Eh+PkŖMw&C&f_AlB̆Hݸ܍Wzl[S?ٺT`B Cˉ@6Ffr7{*׹ n 381ڎ(iڒsqcKi/g13AI$ K4a1xR=RImۿ}W@`t %Kv$ LlV,}*VlKo_F~|["O&@6 gh[ PK0aǼ뵈2DG.݆5U3D<ƛtf,Y.> *6 A8,5/}sm}`.@/P^n nq,u_jƔ]rʻhv*Уs# 4*?&SX?,drR9a\3(̚'nܟ(@Ϗmzfsd~DvBm}6`W3l/q3C~X/+_G9<^Q'cqцT<|}xJjӌN@{Lm` -t-Sc?/=f?e5E!:\ ~tPPsM.TأNWC>EpjOK#`;D,Υ ei lFoa["Cꬊa(x\YMیyz# F?FNʮ`&/ߘzcې,rE`j*Hc+ĝ nNK4,Y*{L`ܧP ^smV˴}=.|@P'C!4d; -@VxK?G'{!HYdX,=Gv>1m9= 7gTNCĖHaOwz>I1 p-b j.%ťD5"m1ٿ\I +!f:W_.LSajL3~ge8]f6 ;oH%^w:Z L^mXrܵхIF>{7H@3@ MHp3qxi<(9_&DXW؜Or5T ɭ^xg,PcХCt^hh]&]ٹ8)1qư.Nժ^̿CUȺ8 4\:Q*m$Jk`P= i$,{bIl"[fC(|3(xy'0Q!/t4l*(+ 肮" ;'=K< *Msh+]O?Ivz,uÂ5ӗ'X)s㉓{OW7hw)'bV θj1PdYqPA0zhsF\ Q)vI |YKBo$].Y2qp_T丮]cֆH,ܩ)ZkQ0QNՓhT5$FUA[o3ga5dTvЮakINԈ|$r6+?(1^/XEbqӸTL^9:^ GH%f޶3m\9~LUBugTZW$ ?gc&ڊ x*g[<F$DYfOvӚ;!DŐՏ.b{7*hSgý z N3WhCTujqSF@нpnxuk襌ͭVl6ay4eK:Lx^V  툆ꝧ5d/cڐD ņ.lg%ՙ2,o&+pϯ;ZN)a;*={;MO*歅`'/ŐAah]b/0D1;YNo:}OCm6ޝ2y2p4xD2O|$5ەGGַO*…d!#h3rAuwS6&~j,0':^#=>ũMTLur@ |PDZ'q%5 ZlKƒ)xݼVKm:<9CE0+~K!|\ ݴ׏{y5A`ACpwQIG5Prو5Ni^0H<'iVyA$ً8ruwe )=(3}FdqicNbU[4dnM`lS3)Uܡj=-:yf Ow7?uE~>(w xUx@0yt5I#n wUX 6AjcVLz0a[.$F{ӆ7CNM-s/2VM79 XP8àT^`R79>inNV훩Z1Zt%c-VtETٍר 4HXF}WŤqAqNeEhiM^& RjEus<(l ,#".!N)8@^J, 5f_ =S2~sB A[ˁ}1hRy' =Q,f3dL9"~Ν֒7k?k 3uLS gtعw%sY:z=}b- V5yw2k.G (x/ Ix3Hu_1Y#_#};R!`jIeR7W ]/ʚ(V)R E™ߘ슕֐$5Exf(yVXɐLQZcS4Α-KxwJ""Xm_R=~d%,k Xc}iaK#T1?ɣ1DŽӡ2c_}^kޠ @[tcfN_}b-4gq!vQݱbX1|=@xUPP4Bz /N&-R4eCsLlV?qTмZLmY/i@(>`8 c{j򂎍;7bvxⰹAл4!ַU {H%]x:΍j*5_GZcfo.Rˬ<2eBVyV_~L } *dzY!+JwyHm]_x)7x/M 7ד_ݭ_ڋ(lq~_-W=KGM*djqlWH_@Yö#+e ; ⃮P<.x 2/+4@;嬆5Bdd,dNWmY^Aʟ/%Y+Vn3zd(j*/ls΅^),}X-a(ں{K~r z3eqMvsl!0nGi ێI;Q*ۘה&wA6:td=CyMM`f DJzr{Y)/<O`F?IW>>[4W<"d9OfYymp@L`!nߊ0 v/9$l&̔ QC|a@H"ͅSz0uVGřIz:,e )]p*lqS6b2=BZy'w}΍nf-3? ɮ-$ǘ.1F_682o';;\IKu8kd*EZ|/ ]ԴR?wbDM{y_4\$vjq; ^Jh;LtC#y0my6d~nY(dj+D@2ă@޾,*m%ai4'R%s @'av`E+UQ0vN[DYa:3! s#^tw?,795 `ВƔZeX L @]=,9w4/ j7$zj AȥTrUyQRW'%zMxN)KķmgcyRAQ?K5zqJBm3FzQ!9m=#HxQEO TcIYnqQ㕈Ѻ^ŘoYĽ+"S2Q5i@ĢwF)(P+;kVg x(qm8|PJ7@ݪM%^Hj9g$F't񠖲NWt_{ e_ܳDQ Sp)Sgj e/7dg4aEÄ Z=[/Po;cعU@g,1j?$X 40M) bz.UnBܭ{&Y&=`Z}D5_뢚> yL{yW31 XUnnK?奸Y[H0|\E7CC`giDPnxe!ln y>w4h N^,{7JCr֏&ffp^kTf5%Mo9ӬAP I3D'Ű_] wk^Dl65?U*"!vu_s@b!R1y. gjF3bv B-Sǖߩ^pG흽9HX0N+}G:MA+L>spasi\iDjwF9ZIL/;Z9!&zV$IU[ 3 h$(sO$L*ߪһ#Z<&k$vK} veO)He D`Euܬd6] A#C җyYkYd-3ᚏsyPG,>/UKZ}&`PG4_(4\ t\5v"$F״ܔZN}XB!p\|7^xAAb.՛@@h)+'!lo ~9/Usް{^vz{/xISRbBS-G3JE4 -IhK9h/!ly&uHnskRi/RL*lN?h,IKL2ڹBwyp0BVZzuw=H]DqYX; B(Gy]3Xw_>zJ:?/CoJއ͖ja!E0ɳc yC}K٢%,̢::V-6Ѷg OFє`|}w`Qj" r`}3[!TKȵ!S>B|M\,qHr=Y) 3(hPVAǿmZ2^e XYGK[&}3BoIm9;>NRWrw*֊FB&8I #G}/ hIe9k4J#*zD;g4 n{=LNCA|@lUa;)SQKl`Uʝ }jg;bYq~oF.mzě? V4z_3 z m&0Ypf@\Gl~l7XC,*ƪEZuc;fVsY:<CQF[`5a ޏkGK 1IK@)@i֎tٽB:|fo ̖_!y{* pG Z[3 XuCܵ`'>}A~\Ee6nD軧9&F( ipt_B5_( ,Q>U!$ c\o\RGB07Qྑ^ uI?pGjz!5Slv|_CT+CD9-LCVVo+٬12,|)+ncp6CmP1,x0&5A>\kn,c 'W p+yw_W51MiDZdBZE;1q ʹ.Jt:uo]<'I2o[5HLaWиaE߫ſ\Pod1۾iD Eu6m<{h\fjezl̟&F+TX82K,g3X3pxv!'[qعO'iuaǧJQոa^*|sɔK!}eζM Mʔa6|c j£1b/ts7·̮1ϴHAJ~??b9ͫҷ0~@w/5ѩBbkUڣ.zfH 5 Wnࢼ@Σؚ $TU2wT}R!QNX 'yNP6vdJ LU;<_}Zi!k 0G-+)\(Vܔ&}Gz< PɟdP3>:SͲUD.ZzHs*2-"EX<'<?~T"Շq砣ShcmXQm]Ϊ^InRPݡi`M T+G (":T| h_y] |Mgg2b|]3kw 7⋉y@_XJPG22!a$Q(Δv nSհ`7; oY粻z{ituDނx3+ݜIwH:ţ_->)AaGξ<-My܁C ܁Pr6!8.ӑ$}?N4V| [eHxZuNE~'\^'lt|7같3Ft/!lTUdsٿ3(lB_Sn-KRԸwK,Te퟾kRtW͞82-wSǗ58ԭaAPiOSH Gx)Mrode5l)x@?`|oA eK VYiufJ: =g?m3Rc[NOe.ߊK"6F.?aR %Αd\ތl@@VˉDjj8T 1qߢ{'}2:1+;G=mU$hE@b[p6ʳ"=.iKm'Xa$yJәo,lŰG#`tȱd̾,r\BZ (TPan-`pʳͣR _:a?&$ڤ=P{#$6xAjEt]$a %)OwwvRGi"$&m dG?eqjה&E G&6g(_a,U}6bdrܺ;"o?DTŕw K\ )?!H}"cUt™;@Ֆr",gTj~Z y~f<߸DH0gݖ4ڈ!} pWM) ؏N`vWd~_Jd;JH.O(S7(dUZ&*0t AAUi~칲(C$R?haV>_e{TɼVSfZMP,z?]nם40d׽ISH~$n|pBդQp¨|}&OVo] SfuXy}/&RP̦VqQNI6+ Mw#@f"sȠfM+ s1~0VN{> UjEڮPG`}8|ۯ4戔@'d󍄈{q`E޺mgmPê(mM)<|W"gBOGDw֑FwK̘GXٙj_ + Bsyl*r94Gx&Cm'*TUaY'dF@h5+\&6#ՠl?v)a C946wּYФQ)G]_.8wë*uw~$JDN>CYW}>f!9̲P b5cТs Q>! (VeVj1דzӟl04H$ӋAEeXVp/'1L.d"Rc>**̎s҄د'U;#WyY^[ԉm=uA=hPARhƀ.2 :2 T Oőݲ\ܠntj{!߇];p/15'˧b̹ܠVX8)cdMS.ϐh/`'%ȃ=;O<]GJZt(q "9~DYf? n}#tω.AG/} ڮX7Z؃`4;!n;=VA$6_4qއg /AVf!6 2Kqe6\= "BZ< qړס&Ď/%^h srYAmHRmo T=-h$.D &(s}6ܪvfv}qL|!ĶLdA+}#"߈Muq5 VCdߊͩCd]LHɭn5T_ J rJ]7e}?8RK6*KZf$d|V @7 ZmQ 4fL Nizl,h֊QKEI{Pf/͚Zf396 H3 &V]? V x^~Ƒŀ&e[*u-䗍mطBGWzĘM1Ҵm7Q 捔EAK_㪸ǎpld[=N9 ycKb*BDeYmo3zyύVɲS͒x3{f5|}Jվa Lߔh&ߛb\t}(9vD-GL%GuBU8*aN\|V-;󺲾eKmv iuU0Vu9 h)R39VɨՕҍ>*91D٪{ԂR)BVOOrK6~McVj0ąں,0cPAÑY¾ 0[$O'3%U5/zaG7Dh;HNIуdm v:'l|W|v;Q&" &*Aُ nwd]7!$$#tG{*O 8^5Kcs[]ʪ{MƅV3"J|UR?A?ۣ0 wvC=VW4PUgD$YO߄L3𿍨!#>0B,Rq¿Tg0]t/-+UV௸V[9O}\nd&&Ŗd/_hZZDfLLYS!0<G. ~K6ZV ]C"1~+I$5zu3¯e"mN<^Qh ZSaH=:8yRI횇*?XLD ނ(*ohtv]6!7_}zv21@yo|Z%d hT%As^XA8S"˓<.$t,ܿ3S["}錹3rln['䄎)';r7˄/xO Izt4Vw3%@j*̢ d/njrr ^>XN 䠈kpD ~]|H[P|M#,eZP`l UWK[ArYk߷3o8_g/U9뙣8el4U Ɨ,S.ߪf޲=s&F뉇UwKEY&5qGV)x^e<S6[k4; fvTKF~5j8+I16Fˠ *^[P ~4캕.ȴOiGeV()m&g=)(^v8X/)[˕Si}*3g p$ϬH6h#}#jSIIqC~E[ne7)Q<53 3,6ȴD/g>e "=c̯~&8V @_ Ќޥ6}bҟGKM%U8 cd Mq ! y?KE @ H- -gj=Go%&yneu=@c2h&2뜢6I-R:2KN/}d3mv~a%Ԇ ܆5`t!@wHC֖x>Uc9/kHm ɫn.+$ySdӪZKǢ{OlQ4 &c"mKEp-vU&Ͽ!g*lw.D8O귈sp*f߅]\hy*/)8po*.;E*셰ٝمOzwiZoM=fM2i k#V5Iӳۀ@#u=0VYkgekBq;klIE+?v)\׍Cy$TF`3wƤFvwv0Mk)t_d˲5"yˣw1khO=#Ovg+>ʰ@ȋ1Un#|JX $ߓ:nqeoY{br'R?22RˍQ[ݲr&hY# *"C0 h0ۛZ521W.j/qJT1F RgpD$sH!wqnu}Ye$o;}K{&uW֎z"<3HJq;Hc y_" woפe'w65YS3dI4nK?iL:95 % 쎴2#<:ؠ "8)vg ,e+[Fz.jr/Yes>PF؆A8;N:00}@Wbt&/; -#*Ntč%4?rӌ 慠G۠z>"g'y4i@K llWt֣0)"m|O[4,d0RHO W}nkZذU KD2{;߹Qf: &ޠ թS@UG5ރTVJOgKXW>_WXKM !լxƒr~ܣ/YzB35w l-(eg RB_`WӀ Cݠgr#IzF@S,j eB`8pK=rnM动KY- JnD%eZkmd0O|3Xǧ AyF~/EJ{K^ih\TY=[G6 @\d;P%{9xL?@ORk1=, s"Ii85@-G L_wI\'Ԅ]#nݔ~@Z?,7@es8qYZtHqɇ AlۺSG$o1St0P'c鄐 费'0t #Ja\`+K "`]I. K$ 6˝-^NBfBT}u< A'W`$P  ]ʺ@® !6 N"!LP>jhPφN2E DDz1ݷAv5Nj}߀!U@Vf(/᧸UŢ$FT&a9C"f@ȡgewҶ |+5ftnڙND!I̚fw j{,иCP_ ]HDz.~P|kl,ms )`q05 *(1h$m p"fq40Bx$ʇ_eq9ϊ.n׃a;LR>IW=oć4vi8{xuroPW!X޶Ej8&{q+ck0Iu'RdIi]rDK)UD" :YRsfw+ 6C±M,{kN Fz !WiL $eOec c l̕}hc2{b :iB;ۍðesGj jooI.H.BD9ft -&PUK 7K6TUGrIXm/oX/{FaU 0}4ȇЫKrOLU8QYNѹ ڑ45<,cgJ\,a eQGr3nP99ID>`xM4AGXx*rW{zW ѻ ˾Yvs%/G#7e#oz%GWkV0r9[ e~X f4M0qu^,f~ `  ;`ƚkJidy,֓$`k!xrAAN&Zq5,˺J\v ~'x5u' Ps;-@RkW'Tf:%pN1\1Y.* pɛ)vFv\]];#W$Ur VtUfI;4FxxiN:@ '|f< hŸHs&Fx{)y6|QJ1Vnq-׋M$U[8YKf𧖂OJ*LMb66 3ѽ=R|y,rN@e)м-WEUȯ}ۍXi]"ԌÒb$B۞OHf(Hj:ߎ%#ΩvTJ|=[H QD`x_? EL=rS&2>MSذ3.M`-r5^ [ xM*vˆS7΅| ^B?`p-נ狱okP+pe= x2.L!G)xC] k훹^us=\v* w&ƥX$ݫhDk>g[`ӑYC}N\vlŁɬioA4~B Eⷠ,j}&P$1 0Cr!3QB݅S0 .}'+6N/$N u0A䮕B"ծ_9X))-]StkbvXPxp:^ȅe[^KЪU"^ۅaZ̓80.Lt~CJ I64pR=P>oU>z:΄`DS|sr4 FBɊx%j%G.w>A*yr^97hVG;{o2VDz*b <9g5𱛈ŷa%8VW8^9X7@ށN쪅(BFF351BnaxDgVi֍9b@VTgӍώvr$Xi'i m5o~O !'H+.P^E ۙQbSoU~3GqnnQ=,J.|h!- 2?垤n;O1~g5̺ 8k go9i (:sJ]ao.'37)#?_|d=wI29'jzontVC F^a?h;ȽZJLo > vګyym%-(ǀ%|KpJVm(IA(o/"8>^M Gr. j "73%'{őf {^(! n4!~)/vyɥ;P+Pǵܤ4B ï xi)p {!b_q B1FWz I'wLPd♴=N-\y1Jx⁇,\)] *bfQdAUF_mMtp9kLӅ^s "WI^)vq4𑲩ډ(Ia}uvեVOe5ZA\Dl{̀Xr8ۂ__4#Dm cnD(5lCc `[`גf^\v@zT$`l)X%u Yyd>Njپ{!4Yj ֹN"бnF.Ld3~,sJzxq߭i"gF@ËpC 6&x \:LN1cڏ',t R5yMmyC?!0hMs='V5zÁ&%ְB] +x݅o)AE^lKä]5:/҆RD7$7Z$r9NV%-ȚPPOQ6g* Px$zo&5:->4Z{1^<`–u^[Gfb@#'9 ,E:`CM=۸&?Hb&2>F߬\x{|3{U%;GHL"MAnĐ _w)k"ExAeǼ3ь LAޮonZޔIChz~Bw7pxCL_!9P] /T{w~ZbHa$n$fYIu DNjW'1~1(S-{^O;A>WQDmZPC2)daܠ'OI0Q*XQv3+)3;0+*ۣ7 'ZL[ Ufm%t_\?g,Tj/OGܗ]s+W| ظ7K&2Y KˑaPxYD5 Y_q5'M젷n1}-@ac@)v?z6)\9kJvV`In"TE=@-DФçE(ke޾{|`?\s =׶7{+Y/ BaqQLxLcE8@#p>ĴI~~GswlP+Qyǩ8ȅ ‹cJX(RD*Lt S_y7h8"A!hVhssmn܂oj+ۺ>*1 ҭЋm*wm凮z6M3Pj  t?q/:=Kd`ĎS7VM(X2[ViL) guO$tUb+=Z0vK\Vc%ֺ5)@ ?­&{>}WAF>₨6d2rqB:EE U=oϫ:D1{P?uϞwU0{,V4fF_Ng*H x`Iaec1E;Jiy>mnLwQ8=`Yެe:m,!q)_@#ALptB뺣T2@\Ð`U%bva-[w@89ߞO"xᢺd~0ƶW@p+J[zc~=R,ӛ!,R4I!"}6}b xA(iAckf/')ۿK,r JtMLU8ɛ0-):zД_qj<@ x5ݬr ?Pb۫[ N׫y2C{WF$3S1v%e[M[KʿO8rEb-{I+ͯx{F("[, /NA3+oXT7r !ph-KB7!GW.q qFe(g(WtCVg[%ȥ_̱Vǝɋw(;]C̈́w<V%y g/1QzЄlJkWA>'X;WYmvCP(X﫩KI;ihc u]@v0vX8]qQ KMjyTeyIoDQG}I7äL%vSx}pcX >i hGv~Y]iXAK@mLNpwPO{3噪I`:4%N+HcڃhX*'`IJ&=b Qlۘ}; A~"-${À00B:u)XSF#%pU~BJʠ&9lgoEFHh)ќy~UJ͠i[۰%֕z.vepdE Ex5mi|Dw9JBH9K@V]4:)T]= *ZP0c0H9dSWsJ[Nin׊Y]u5m5 ,*2|I4If4,tC`T EA /A;}XrQ)E&!Pmj/ Q4_#ba)(#S4#hݤFj2v[;A7D YPAǶHA5ۜq rӬ7v1 z>2ǘA3Kq"&Z4Pz[ 82!`Knl7nώyտ\Wq~VׄOӾ;ӨjYe\TLPpΥvZ\ ;abk2]3`D.p@?:( L 6/>|+T:NeST 5H9}I]BXieo/k(^.|mnAQ@̷X&iO~|QdW1,_,{Cv,֤(j!SJ[f8Mjذ-_$iXuG*'gعl!rLTLkd d+{] Ƙa=hě$Y]? GA*HA+\t3U6y;E~ uzTL h (4=B++قs{hZr G;P!? YN80n+O(e փ)3 +ESNe%.gMx]W~wZjN 3NWgo!TTԱ9 rQL3@6/I@x Ԣ#O8?j5W(J~mq2k/ =m DV{!=s\y%7]AN%VR\߫v `܈! T`q`rDj ;:lXNt wZuOp+rJKB;<%Q/q9ފSX[z]r{u=϶$M⫪1-msɦ]m/K~>NT @ih]Vi 3x_`_Al +963{_xmv,eN)O;{Z(Vb."RB cKb>NPu2KRBތy{܃J‹;.hU05H/wks_wJ-Mc-[ N#2 #c3#!>O"p'>eu VwirfΟCC]ǰA;vN^jw\ 0/;d1.- \8w2Q:c`ޠ-4ܲNryX܇JLt VLzюg/RY)CZsyRxf1  &OP,&p]yhW໙TVDIjS՞%LɸF3JX_ ѻkoTcNIB~ncHVxoznI{Kh~#RK SEUâRM 4D0/R#G;T$j? R;礼]3-ց޾@s_Nt9NPI=xRRפ<7~?T)2MZ$,BzH몡ޘ-H᧭88k:#~0It[AV -{]b&¡{kr2}Qq*#\\D+v,lm[v H) cߢ8٤k4i(2& O;OUv&݆ `$_h-߱ nng\/VEk:$zo: m 3O)x% 2rߨfH#l](CEu?3`1c;>'.WVDv'4 wyFoGS}.qILU*JؿAa~VtΕ3MOM%8A@K@ b4jA`1_`D&j@mI'YOM?wBD5%W;t 0% zD^ςi#aeVV[2ZYxb;c'yi͕6Ǔqpnp33-9e]p,~>4o3:(i4>NZq' S>OzM_Qb<N_+x c`!L֨_zt)Ćv*h1)ʞ.ޘdD2%ao~|;Y\8|W^ϛ!yo df0xnfl!T~S8Dw.pg#'jUɨmk^P %z񟵈֮ 7Le]C11R;˭Im_?, O2leF2d5F\T%MdO-:-)=ox{kp YlS[zt/mI0-7Ј.p^|% XBOLJ }!3)UM܆5u+xD`:9jN$J(i]O+QFiCW 5@slOӝ"7>1&?( >|S!w9Y[dVw^ē!xዬiG){x3]aNF/|r/9sOq㙫:X mᅭYcR \=MLQ0IwF8Z]5&? (SOEYϝ]_n3+^8Ӈ_r!%2ӃntMH} pwgPRchSN畄`S6Dƪw翴PXbmwb6QѤ1z/9^o,/ ͍[0EV&$؞&gHdYO 6(F΅"S1^ɟ9oi5Aa vvy wJ^yűzؗkv}iAU]jN2mc=_=J;Nhސ&4/T/$=YdOJM .񽺊ho"CpЧ1cRB۷ c9wTm$.JV5&![2}YրwVHS^;t|OO 4ɑ jDK4!ljPzNCܢ|*\~N0W*/sfAwL)0D9k{I %޻=;iS'D}ֆ[л`s&n2f"w Wa)ר'|e/@3}mNd;y(ydu(uB45խTI]ˊ5z99b5!Sؾyb j3#zAoE:q7kQE^wo[/кvT`1W߹|LLa7%@QG(qM8v֣X;CIdk1MfVѮq 2&iћ6+zXI͟xԷ:PMǷ ݶſ)mhr d;^f"et@2{nTbXf|jƤ*2s\q7wk0e>qJI}?mF"mm s-ى۳QXDAV/ A8F◬杉y$:J/iN fNЏċOwf>Dz.á}/oY 6pn[%b؇FqsYc۞%k }0%[ftagSkQPNz;^g"&WAV+PI'V[;rGJ%eң ]7.V:[a9PEw]2>Y^1k /{1"1%:D/j h-z1#{\ԇ^Z ɕw̔yZÏ23&}REׅcSf=d)d"ݰ<%7)#{R(FXxp62C(7g}gM+L ,o֜b]/$m׺ _jքg=fA7=XSc'|HAEgnrS͜4S+Ӗq87r+M'd_aG竌C% Gۜ9#y{&]-ΰ]BIGTN { oyg}+X ۺ9%Dl7ߏYp]ni*.W`Bc 3}g]q%/@gwwW"EG0J2vwH_Rt('j/h\O5PkVpILÊ֥y[\u6=(nQ-P5{h&MzNDG~qj9r\,sALUv8ٌXE-g8qt=mb˧2DFHR;=oXlk<eucIy`2\[|\s ٕקI9VWbJP e1 ~ q(72@ [.4^칻_FzOqk6C[xh&ȍEƊ'*ݦ޺qEVz v2UE:d?+yCGZ:PI?lER ^;HbuyLэnOia:l@8v!m=z)8>_ح zOP,pEqK7yyTKb/yo-k%s9lZ3ovhJ 34~=1ެf(RoKucOwb;7`)Ю(*J! `oӘ}M= &  r@A7Ŗp" 3䊵y-M!U ]5B*V{B;_[:Y<[Qh)qmx8<3+wN#㖺5EED;4\AXkRa=Ni_s>(xr7;ʠYonG!aB2]_sH}WMĄӴH'>ѭY#,!׵3wϋ_pq}Q %A:eRGn1?̍Ru!O!9XVm(x OxyG̱Fx@W5L+,A_[oͺ+z@W%$=vŔc*"ӏxlUtq HywRl?VՓ0B =Cb9J$Fm?1W*L$k_wZqDq(\X9 _5}vU.$*T/*O 6Lホ# %~H"R̵yG!-fZνoUKF(&2L&%l#9)z%=) f@D!" @x\˘25P PS[%A@b׈5W=tFۋ9\āyY4(ӷ+5|P_cJb|岘=8bd;ЁyaT\sNj1(KtAeO9 ${JLţ*D5VOè՞dȖod=y"(woU;ٳPɡ,@ ޱq=zFnZ @Ć-ͅ9ܛUb: LnfG@1?!跷"d;ج(~P,SV۾q9ҋ|GжSSKT1#62Y0=U٭&BeDЫQ&^u#cvFK_f/zMarŶ;O+o]pidYpY:VF=OHvR@Nғ. 0שi䈿R?R!8~\<{xeaV it< %\/ dQ"TSbm͒+ y%oH,i;Tv9GB;; U_^+" 0 2;z/@w5Y:GLڢː6Lۭ)A -#}\,2Tu{S%sF9 1^*}tE^ x*-ɡׂCD:Ǐc,Ik67w~?7c>s eڱ)FsM!o.>O5OZ(<,|2 !V=?ވ]At 7hWvEl ϫ5E۩BXVÀgV>G6y:l"}:z^ ϡTWMa3h'ć'@rӥ6DvqhTDmtAO T'C86X} q@ sb8FDat9lنLL}u&!deK˂(_,$!+[Lۗ8<5;O%|ȋRfh >vt k!W#a$|K'( dMvQĹ=r . j{'0za?,hԴYvљ)Wn'KIeei11ox'gKPJ(G8e̸`cFն=Ҷ'A]a?zNb)koheW%^Mg: &T d&BRz>>o{=2/?_..lV=l}_׉S jrכ J\0JΟ#ۊRw}9LC!>LFtaD󦩡} M ( hR`sE[Ƿg{!NuYCtܒGHep $92Zc@N#tdCRV)DS]+ևiDNf)OW{AmHP[1xᶒ6koMAVbkq]g=F:q/'fv?u O#d#kg/h0-'v:cʛFQ.pq wLQ\Vf_}sF'D.Ӥ@!়^Zw+΍#Aʶ+#(wl(we7ӟ'WWk@S)MQt%d$PH,?ӘeI¯ENb6`wzmӊo X'ӝٔqOmJC\׫-fnȲe뚮DĐ KvCqq;ޏh@3@^Qy0W)PxٵWW1/SQr[\$XY=mljzJZ_}l ~Ͽ3fL8%^vy֍jesJ[i> ;Fm#ʳˆuO<~Z2y)+0RC&oY|e(mݠTv/ZܭQU;ԯ!gb//y{2eɉ[[$G|%lX)-WD$Z'P@&k Gnmǔ{$6trn5L:q8ziRᯛǎѦm0bBׁ:&$d"d`~ AVL\IG!u;;!2.Ȍߗ=;ih|xMƵN3yaΊbh#fK ]H%6"z_ʬh `x[{D8kp3e5<jL`QBKw`#eI#[NUd!R JWg"jԑ ^}`CaQ2lF}bikh4C;x bX;TR&ns)(O_/F &I2.jqL1|qyOQ'$M!bbgְ ~[BVBrj;X I{dޅD)?[ʫ"ՄO+p1'3.Ҭ#%|gSXT nk ,ie;oS4GR{'c?IAOrAHC\x" L0{u~7@Z# [0itT:TS|$=x94qmrʕ]oG^)kdJOAlkQ0d,o2l9D?'$ 騐pua*F*,}R>P~|iln`%XS\9X6X>r`.9q?е'];"ށB#16ӫya2TmI켺 8LCGke]23,uM[*v&M!p ؐ^n`I-rË+D㬰726֨ߐ^|yq|5R#4n Hf^c+c.Id"J?=4]KX{(/RB])H'µ&$$ =<غwhp؈?A K Uո0;?~y]Ȓ2$P\I(/^ o'szlZW .@9}lҧ⥜k&s.AE~y[ȺhH ލCox&ja즨UHW7zílRNaU9Ʊ07ѻCvX!r,7Ev]ޒ} :b[vx,.q5(o tّwQAs#PEls6G[PJe@ r&lh#Ҡp q ~_(rX^{79S3Vɭ^%=qk@ OEl/MCRe6ڎ{_zYu)=IYɓ"dN;w0t"N<Di҉,c&gjbEGK{ުz8A7P4,1dXNS 7}HiA BX,Arj~(*l>)V/w凃g2þ5_AM ;UtʈmLCsXa v eU!=lb vkkz'!Wk3/3~ w4t ; _m-,K'*@XFNz_dOTd }_? &?l "+䳀]N1ذ$>`7k=jL@LPinT(!Y.1ln"Tl*OK yd#[ۯ!V G&Ay+44:^\(c3ig<wQ`JQ.muŤBs?)]YJ|B>.e8@$@󨲗e=6HxڮG’䔢ռj.9njk.lb{ B~DGGPm"_o)LnkQ kI+9e>tRX+Ó." a}bH-ؚyYC?xIȇT (ߡKK@@e;yM$jF=Y >J"k&α*v͌,l>;8Q9x-/T;q=oKk+O@}u҈`-ql1!%7y, U"ж %sAo۹:AOSB87hR1\Sq@e#* s[Tlk:7eV>iVIQX5q#P~ck^aLxd!YKK}\$( JudxCCthrlpTWJIsԶ`@ Q|*F =MvQ/e$oڈsȴq!2;)ᣅfc 2Ȓ#+xo XZ-ڋQ"{ӪBQ锇1:WY" \'20Cv~&f76vضټ\S |xq;2sXNX ׻! s apn!u0?pΟ猫Q\~Z8}%Own*g0ܜ mȧu>0} ٚ)Z=sql0xb?povrtϑܝt_~"K^Khd7_dE$? pLx"["K-ö׸cJ   obbIb')0_(sSSG F;F-b9/534+qw~M19aP7t,2Ūk63,]&%:W J852wgR2d8 HB9(Trm[%?SRJ[o}\N񷾂÷J nC,XIg~;-*LHaRc2X9IF$2Tyapt^ KH6[† st@Ԓ\ģ\m;\m${0ql巷)ߣi) ygNIzG.$hBt/GK-،r*|asȡ WckYa+}w@ā5.vLfA󭉎L$ְ7,xBOv t%}I_]۬VPӳq4ǒ8;d[mql>@:YQ:?;cC~⩽%w IA~*D9U"ii٨cɿD1[8~1qO<2r=ڼ8 .gBNh.H.AOQ(ōT4Ȱ8(w xI#\n0{WzX9 z.Rs"e1zj­_3{&f൏~-p372)8z4vq mO4p 2$SjbY\eXE+CYyptB3E49c Ijv} >ْU8cSf$6_RB%H ^rp9(b_lGa<c.g&{5T_W&C5{E(Ory-ffN%QοVQUڒD}Q xX4Ώ錬 M.>h( 03oJHG 4eq'>:lTc#Ʊvl&_vLơ3& <1A 9:_4uQu%1m.[}dy?޲~6 U8h)\ jPyԒ+)GTbY WAp]O0M^BȹxZ 경LK~ff#-w6K5q=%"@NHFS J i^\$Fxjծ1`u#hi脭%iYRyY>_pƸlr |é&T|*cN U&:CjeUtm.l;Y/ mݾ/V1["r azS-tm5Ķjca*omj3^wzY!??-}c,)Dڈ+.772D|i2P4h!M:DSKr jy. 5}*TQCϏF))|% \[cCs6>ER04r׽i㙴Κp'\=c訛i [ԯd 8dKwF59=ގtZzs 9_G!_爉je[jXu"ݤG#T"ST-3LuD Hh=NR4)-yey|jCOu3Yo ڛAIs iyu}A$UZ t9A ۥ1m8roMz\w\J<%KiFv_tS|QLy0w~\z!lgr\= &ddYMXqJzƎ跎1@i[P9ŗmI F`A ƕ 4kCĒ%88v[$%_: [H a@`Ҵ,HjR*ʮ0Byߍ{ӞkeA˓P* q zѯ9Ť)ܿIOa Sy];:X{5%2B`B? }=e%8;,90-ԔR p2Ϡzw}w^}|D@=%a5Ge~:]$= jK*~1f5m:Temp3>]mO"NM+x>U I~kOދM#iPZa9:|R.dJ{1ٓZBHʑW՘j^}52c&:K[ir+5$To"(2}^} 9c9Ja0'{eMSpVtIOn8.u]w t_ow&#Mj)ype\g͞aƪ -:FC意_6Mޮt]vo3ŹOl@Bf&+BJȝ pr$<_KZdтP-.Z5"nqL(/FRyXNn9[5p_ָPp2@{XVrM~ҨLej<5I(@gK5~tT;dr;1L6b H(\?v}0?,[#^YK2# cr+4Gs11b5_Ģ :R`@H~l(Ih\P@_vW,UZ f+UuE;*wQJ[@|;Rmg!P*ŕT6&qQs'qɃUTt)|( $G֛T8Dx) r@]O@j* ds4Z^^vZ R჋ZJa,3`Qo̻,㾱!i6f씿rnl?/ 'n RPywQF!a)SVN A5df\=/}/<`K;׋ygv鐢?U֐b\h`PG/\5',7AD)5R .w`1ds_]`^7P X#Q^"#(!UWCHxK_9ڱ% `l$sgNb?)S s%Z:Z'⠴R?!!b@|([Qf6}wR *`c[3{x2rrETїd('<_/9)3$䂓ƶ߃<:R}>{}2l+S% 9[:εG`׶.3o0\[i(;m5="[v ״Yq4Xp+-TҳLy^TM0mE s"owiL9t(VKa9WmV=FW% s,k}u-8:y-Rju+\^S8,nN#Y'5rg+uu)C\g> qc'Dј@Ku'9]-I϶i*iȁQfS{cxmÞ1:8XwhBMOKc)tQ a®*aEi ?KzPp@ᯎJB&׿*7yj"ߙ&gW:Ǘk*OX03+{?Ux%}n02$C;K-7sԯhF\pRo8E'׎e?b&rquuH Q裳%I: +"cUt9~(A>Ptm?y/RڮAk̙LX{4cZe8:*m[V<m﷊EM߻ӡ_4jWAMMOl8 4DX\ >EDT5S3 =3z:Hij!YΎEW޴IEJ7tcUP̣:<ĵ X3? *`'Lm(ƈ+ϹqfjLčlMj -m|QE6rƩ;}YzozZ>ԨuI$絀oOƕ˱m†7<)oV/CwjU婣 HK" ]vA=*$tLjfX3p̞0Ng%bɛat/iݱyj:8ۇ;mT~- }Ή,Q#P!xNn 襰Xc2uD&]TV mEt(æSiG J %ܒ>vlXk Y5 ځRtvYh8@Er1h=c yLKg9$RF3" <2ifˊYS@O{z5hD-ᩏUy7`?ʀh܉X[*]Vd1.T ͞CeɎ-"R珂{kx[ъTsEqt5O>`nWa'5<_ٕަzsێdx '?9xW@qǽ]]'8' sѩz|dH}+I/2CXm>\!m]n ~fb?$3T|D,W 7RJ YZ