nodejs8-devel-8.15.0-lp150.2.9.1 4>$  Ap\Am/=„sj""CSnV 9xF歡[@ώ\Ej3@x_/ /5+ur`POg:M<~ $6XAAy 8I n4,%skLvӊ,]ᆽ`?17U=mU9f.O!5c:l֫(~dl #+\Z#zx\芭)t>h۸JhBg)蟽(EQdc@֡s[B|{hcC8ec77e8619b8b3d01733899cd6940231247d8d2614ca35ae6ec055e2c3a160a8cca48668d8b288bfa4aca0449f240be37f20b807+\Am/=„v{EcJfT !h3fQ=R6/0,LGw[(9oX5 m.@iaUdmvyIv*j$ ;6YkÕRŰ٨ ǿ  l5A@/(,4ң3{oKcM.^숮Ǔ=p0; 4.YT"Ó3NQh-ݾ!r\kY{еzPݜ9Dh{D71H >p;8?7d # T  -- "- |- 0-  ]-  -@-!-(-$(89:+F/G0-H0-I1|-X1Y1\1-]2-^4b5Dc5d6}e6f6l6u6-v7Pz77777Cnodejs8-devel8.15.0lp150.2.9.1Files needed for development of NodeJS platformsThis package provides development headers for Node.js.\AIsheep83 wlopenSUSE Leap 15.0openSUSEMIThttp://bugs.opensuse.orgDevelopment/Languages/NodeJShttps://nodejs.orglinuxx86_649 $ V#`w G dO=i (F0ΙH2}!$x3M?G: A큤A큤A큤AA큤\A\# \AU\A\# \# \# \# \# \# \# \# \# \A\# \# \# \# \# \# \# \# \# \# \# \# \# \# \# \# \# \# \# \# \# \# \# \# \# \# \# \# \A\A\ASad3d01c7f8dff81d0845a2dd1b3279fac0c8612a19e0bbce16b79058a33f07340de028691e0b7e86a5d358edae2e65add964acc424cfe05b556806de920b092f4e9c163e7e549f6e973a6ad951056c2dae71e2eb8d1673cc5889e34ec40e43d029f5c40a454756ebff71507e373cac64368c92c6cb8296b30532c390c7ac7d481106a889d9d2c5f1ca80532b9ffbae20d7de141687b41e02bcdc6d3a01b000763e6b37c614e133348e3159a428138724005e8e6ea4775ce992e537764a9ea5e8e4b558a85aed74db3a0eb1d44d1ab50d23a157499669fd77c8ed0fabbd4eb525675f199ceded237b87db899a3306f23fdd2fdda2a37cd45a9abb5193f2ce2982a9027bc47186115539d3d2321c161fb14a6df1942c687a5a3d295b00d5ca47bdadcb6f61ea6e668d9ddf6dcf5d5257296b95c77311c28ad779b9c1a51af0b821ad8f140340935f11da48dec333666b7bda5c5488ca08b8112114d4dd6df56ecf477542d2dc53ce9b2614001b88d458f2d874eaaf9ede6df90df4d3f915741267bed77e4cf6c06f1224e681cbe607eff04713ca0c1e1f4a102e6a6565ee3f02aa02755f41724fce441fd1e344f9fafbdf5628469931ca4785f490c56c506bc770963533ff4b16f72a204a8c760896a857c54d0ac50570f1793e3bef1f2ae8b35fdce8bcfc3988c0e1218a0b53d35e807585942bd270718c8e77bf55534b830737d6afb5ee2f3f11f11cc2f38504cd13f1726c8c8bcbdf712b8db79cca71209700a5fff8961e8f3da165fabf55d70cfb1eb44562cc0b8bf3b93b53bc3c9d283c8698388ae32ce2c4390b82c3529539d2a476c44f590e960ed30a79f72b807ecd02e9d7218b34e6e89b7b412891b7e2aa8b3a561c5ce9714c1f4def6c8a8593a6a68da69f8b10c701d1ab71e6f08144c542b6a7fc2f43db2ad97a9fec12949479cf29d4b4ef48dc3c3ab32d75e0a85bcb80e084d42b32aae40d67fc1d882b93298a43cb2c06d4e30e08126d6aa92441ab18f360e38fe768211ce1bcde499bb2c1038c9e0f530202b3011a0f67c3f169de6552338674c2c524843dd7e04e01d15280b5bb9766d809c5608b2e2f4639fcaea2a64fc9848d975044279964806542ffd7d288573e7f05fff892c0061a9f3190395ce222f46e99c84ea93224d8619ef30fc461a3a5f82cb211affebf91fce87c2d0fde56ec057360570961e5f5c35fcbfd718fc0144493427c32f5e82b0b12c7bba1e6635d768fceea90231a799b53a7c155ca6fd4e02facdf8e8b45a5c238ed2a41f1d8509274f7f8c43ed519075a5372caa429f36b410c0bbadd7f9dfcb3b6041bf0cd7f5b8d4b96d57b598112315e066c1d2d752377a506c8d282e971c49cd9db021241529335c59a6dd8cc549ad25d1998fb1467dad5bdee0128e4943f8a32ded64a190fd8f44158f0938f1cb5eb4b80aa1b8f932406252254180d88d8c64b1d2636710ab5864eac125b42d4bf6088b890f5b3c24bc3a60ceff81adfc7a5156db6e41311a8b46c7f425da933cf2a1d2ffbd9e754c390a994b56358485c166f773f19c79df6d8f258a4d3f015c59c200fa977d3e3f611e63d28e2dac5953b075276e7a867bee2d34026302b4035a3e6c0703d09764784c4258fdfc6f3dcf8211015ee1d59461ca5602cc5b8d2b89c5012f18c5e9fa99e9dd22620563aa58a33195395833ca5e93223ab4a3d448fd080973c09194c3fe481ca28bee30f95fe20174ab26d0d619381822ff75c4aa400f0eaee3567f2ef6138c726a611533ed4b47b573c2abcd6e33a2763107afa22ea03rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootnodejs8-8.15.0-lp150.2.9.1.src.rpmnodejs-develnodejs8-develnodejs8-devel(x86-64)    nodejs8rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)8.15.03.0.4-14.6.0-14.0-15.2-14.14.1\3?@\ @[@[R@[@[z@[]@[#@[!@[@[WZ@ZZZľ@ZlZZ@Zz@Zp^@ZTZadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.dejengelh@inai.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.dero@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deqantas94heavy@gmail.comqantas94heavy@gmail.comadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deqantas94heavy@gmail.comqantas94heavy@gmail.comadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deqantas94heavy@gmail.comqantas94heavy@gmail.comadam.majer@suse.deqantas94heavy@gmail.comadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deqantas94heavy@gmail.comqantas94heavy@gmail.comqantas94heavy@gmail.comqantas94heavy@gmail.comadam.majer@suse.deqantas94heavy@gmail.comqantas94heavy@gmail.comadam.majer@suse.deqantas94heavy@gmail.comadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deqantas94heavy@gmail.comqantas94heavy@gmail.comqantas94heavy@gmail.comadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deastieger@suse.comadam.majer@suse.deadam.majer@suse.detoddrme2178@gmail.comadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deqantas94heavy@gmail.comi@marguerite.sui@marguerite.sui@marguerite.sui@marguerite.sui@marguerite.sui@marguerite.sui@marguerite.suqantas94heavy@gmail.commimi.vx@gmail.comi@marguerite.sudevelop7@develop7.infoi@marguerite.sumeissner@suse.comi@marguerite.sui@marguerite.sui@marguerite.sui@marguerite.sui@marguerite.sudmueller@suse.comdmacvicar@suse.dei@marguerite.sunormand@linux.vnet.ibm.comjgleissner@suse.comi@marguerite.sujgleissner@suse.comi@marguerite.sui@marguerite.sujavier@opensuse.orgi@marguerite.sui@marguerite.sui@marguerite.sunikolai@prokoschenko.dei@marguerite.sulars@linux-schulserver.dejmassaguerpla@suse.comnikolai@prokoschenko.depascal.bleser@opensuse.orgfroh@suse.comadaugherity@tamu.eduadaugherity@tamu.edudmueller@suse.comedy.burt@gmail.comadaugherity@tamu.eduadaugherity@tamu.edudimstar@opensuse.orgdvaleev@suse.comadaugherity@tamu.edumrueckert@suse.dedouglarek@outlook.comcoolo@suse.comjzheng@suse.comdvaleev@suse.comdvaleev@suse.comcthiel@suse.comsaschpe@suse.decthiel@suse.comtuukka.pasanen@ilmi.fijmassaguerpla@suse.comjmassaguerpla@suse.comjmassaguerpla@suse.comjmassaguerpla@suse.comjmassaguerpla@suse.comjmassaguerpla@suse.comfcastelli@suse.comfcastelli@suse.comfcastelli@suse.comfcastelli@suse.com- New upstream LTS release 8.15.0: * cli: add --max-http-header-size flag * http: add maxHeaderSize property - Changes in LTS release 8.14.1: * http2: fix sequence of error/close events - Changes in LTS release 8.14.0: * http: + Headers received by HTTP servers must not exceed 8192 bytes in total to prevent possible Denial of Service attacks. (CVE-2018-12121, bsc#1117626) + A timeout of 40 seconds now applies to servers receiving HTTP headers. This value can be adjusted with server.headersTimeout. Where headers are not completely received within this period, the socket is destroyed on the next received chunk. In conjunction with server.setTimeout(), this aids in protecting against excessive resource retention and possible Denial of Service. (CVE-2018-12122, bsc#1117627) + Two-byte characters are now strictly disallowed for the path option in HTTP client requests. Paths containing characters outside of the range \u0021 - \u00ff will now be rejected with a TypeError. This behavior can be reverted if necessary by supplying the --security-revert=CVE-2018-12116 command line argument (this is not recommended). (CVE-2018-12116, bsc#1117630) * url: Fix a bug that would allow a hostname being spoofed when parsing URLs with url.parse() with the 'javascript:' protocol. (CVE-2018-12123, bsc#1117629) - Changes in LTS release 8.13.0: * assert: backport some assert commits * deps: + upgrade to libuv 1.23.2 + V8: cherry-pick 64-bit hash seed commits * http: added aborted property to request * http2: no longer experimental + bump dependency of nghttp2 to 1.34.0 - fix_ci_tests.patch: Reduce timeout for test-http2-session-timeout - skip_test_on_lowmem.patch: skip test on low-memory build machine - env_shebang.patch: dropped in favour of programmatic update- Enable armv6 build- flaky_test_rerun.patch: Rerun failing tests in case of flakiness- fix_ci_tests.patch: fix unit tests- New upstream LTS release 8.12.0: * async_hooks: + rename PromiseWrap.parentId + remove runtime deprecation + deprecate unsafe emit{Before,After} * cluster: + add cwd to cluster.settings + support windowsHide option for workers * crypto: allow passing null as IV unless required * deps: + upgrade npm to 6.4.1 + upgrade libuv to 1.19.2 + Upgrade node-inspect to 1.11.5 * fs, net: + support as and as+ flags in stringToFlags() + emit 'ready' for fs streams and sockets * http, http2: + add options to http.createServer() + add 103 Early Hints status code + add http fallback options to .createServer * n-api: take n-api out of experimental * perf_hooks: add warning when too many entries in the timeline * src: + add public API for managing NodePlatform + allow --perf-(basic-)?prof in NODE_OPTIONS + node internals' postmortem metadata * tls: expose Finished messages in TLSSocket * trace_events: add file pattern cli option * util: implement util.getSystemErrorName() icu_61_namespacefix.patch: upstreamed npm_search_paths.patch, versioned.patch, env_shebang.patch, fix_ci_tests.patch: refreshed- New upstream LTS release 8.11.4: * buffer: Fix out-of-bounds (OOB) write in Buffer.write() for UCS-2 encoding (CVE-2018-12115, bsc#1105019) * deps: Upgrade to OpenSSL 1.0.2p, fixing: + Client DoS due to large DH parameter (CVE-2018-0732, bsc#1097158) + ECDSA key extraction via local side-channel- Ensure neutrality of description. - Use %make_install.- Recommend same major version npm package (bsc#1097748)- New upstream LTS release 8.11.3: * buffer: Fixes Denial of Service vulnerability where calling Buffer.fill() could hang (CVE-2018-7167, bsc#1097375) * http2: + Fixes Denial of Service vulnerability by updating the http2 implementation to not crash under certain circumstances during cleanup (CVE-2018-7161, bsc#1097404) + Unbundled nghttp2 to fix Denial of Service vulnerability (CVE-2018-1000168, bsc#1097401)- env_shebang.patch: use absolute paths in executable shebang lines - versioned.patch: updated to move shebang modifications to above patch.- use gcc7 for SLE12 - manual_configure.patch: configure nghttp2 correctly- New upstream LTS release 8.11.2: * deps: + update node-inspect to 1.11.3 + update nghttp2 to 1.29.0 * http2: Sync with current release stream * n-api: Sync with current release stream - versioned.patch: rebased- icu_61_namespacefix.patch: Fix building with ICU61.1 (bsc#1091764)- Install license with %license, not %doc (bsc#1082318)- Fix some node-gyp permissions- New upstream LTS release 8.11.1: * Security fixes: + Fix for inspector DNS rebinding vulnerability (bsc#1087463, CVE-2018-7160) + Fix for 'path' module regular expression denial of service (bsc#1087459, CVE-2018-7158) + Reject spaces in HTTP Content-Length header values (bsc#1087453, CVE-2018-7159) * deps: upgrade http-parser to v2.8.0- New upstream LTS release 8.10.0: * deps: + update V8 to 6.2.414.46 + revert ABI breaking changes in V8 6.2 + upgrade libuv to 1.19.1 + re land npm 5.6.0 * crypto: + Support both OpenSSL 1.1.0 and 1.0.2. This allows us to drop openssl11.patch + warn on invalid authentication tag length * async_hooks: + update defaultTriggerAsyncIdScope for perf + use typed array stack as fast path + use scope for defaultTriggerAsyncId + separate missing from default context + deprecate undocumented API * n-api: add helper for addons to get the event loop * cli: add --stack-trace-limit to NODE_OPTIONS * console: add support for console.debug * module: + add builtinModules + replace default paths in require.resolve() * src: add process.ppid * http: + support generic Duplex streams + add rawPacket in err of clientError event + better support for IPv6 addresses * tls: unconsume stream on destroy * process: improve unhandled rejection message * stream: remove usage of *State.highWaterMark * trace_events: add executionAsyncId to init events - remove any old manpage files in %pre from before update-alternatives were used to manage symlinks to these manpages. - versioned.patch: refreshed- Add Recommends and BuildRequire on python2 for npm. node-gyp requires this old version of python for now. This is only needed for binary modules.- Fix specfile typo - Use gcc7 on Leap 42.3- even on recent codestreams there is no binutils gold on s390 only on s390x- New upstream LTS release 8.9.4: * deps: update npm to 5.6.0 * for complete changeset see https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V8.md#8.9.4 - versioned.patch: refreshed - nodejs-sle11-python26-check_output.patch: refreshed- Enable CI tests in %check target + fix_ci_tests.patch: - DNS queries in buildroots are failing with EAI_AGAIN - disable test-module-loading-globalpaths.js - we have hardcoded global paths + versioned.patch: call versioned node binary for tests + openssl11.patch: fix OpenSSL 1.1 backport so all SSL tests pass instead of crashing in some situations. - node-gyp-addon-gypi.patch: fix typo allowing unit tests to compile- openssl11.patch: backport support for OpenSSL 1.1 (bnc#1066953) - Dropped 8334.diff - no longer needed- New upstream LTS release 8.9.3: * buffer: buffers allocated with an invalid content will now be zero filled [ CVE-2017-15897, bnc#1072320 ] * deps/openssl: updated to 1.0.2n (bsc#1072322) [ CVE-2017-3738 CVE-2017-15896 ] - Changes in 8.9.2: * console: avoid adding infinite error listeners * http2: improve errors thrown in header validation - Remove unnecessary curl BuildRequires - Enable gold linker on s390x (TW and SLE/Leap 15) - Build with bundled ICU if system ICU not available (only applies to SLE 11/12 and Leap 42.x)- Change BuildRequires from openssl-devel to libopenssl-1_0_0-devel due to Tumbleweed/Leap 15 change to OpenSSL 1.1.0 as default- Update nodejs.keyring based on current Release Team as found on https://github.com/nodejs/node#release-team- Fix permissions of node-gyp. This should be executable to allow building of binary node modules.- New upstream LTS version 8.9.1: * openssl: upgrade openssl sources to 1.0.2m [OpenSSL Security Advisory (bsc#1066242, bsc#1056058) CVE-2017-3735 CVE-2017-3736] * https: revert refactor to use http internals - Changes since 8.9.0 LTS version: * deps: update to npm 5.5.1 * http2: The exposed http2 socket is no longer manipulatable * module: support custom paths to require.resolve() * util: util.TextEncoder and util.TextDecoder are no longer experimental. No longer produces a warning when using them. - versioned.patch: refreshed - 0f3e69db.patch icu59.patch: removed empty patches- New upstream release 8.8.1: * net: Fix timeout with null handle issue. This is a regression in Node 8.8.0. (gh#nodejs/node#16489)- New upstream release 8.8.0: * crypto: expose ECDH class (gh#nodejs/node#8188) * http2: (gh#nodejs/node#{15685,16269}) + http2 is now exposed by default without the need for a flag + a new environment variable NODE_NO_HTTP2 has been added to allow userland http2 to be required + support has been added for generic Duplex streams * module: resolve and instantiate loader pipeline hooks have been added to the ESM lifecycle (gh#nodejs/node#15445) * zlib: (CVE-2017-14919: only affects TW) In zlib v1.2.9, a change was made that causes an exception to be thrown when a raw deflate stream is initialized with windowBits set to 8. Node.js will now gracefully set windowBits to 9 (replicating the legacy behavior) to avoid a DOS vector.- Make sure npm and npx programs remain executable- Replace {{node_version_major}} with RPM define %node_version_number for simpler spec file review.- New upstream version 8.7.0: * deps: + update npm to 5.4.2 + update libuv 1.15.0 + update V8 to 6.1.534.42 * dgram: support for setting dgram socket buffer size * fs: add support O_DSYNC file open constant * util: deprecate obj.inspect for custom inspection - nodejs-libpath.patch versioned.patch: refreshed patches- New upstream version 8.6.0: * crypto: Support for multiple ECDH curves. * dgram: + Added setMulticastInterface() API + Custom lookup functions are now supported. * n-api: The command-line flag is no longer required to use N-API * tls: Docs-only deprecation of parseCertString(). * path: fix normalize paths ending with two dots (CVE-2017-14849) * see https://nodejs.org/en/blog/release/v8.6.0/ for full changelog- New upstream version 8.5.0: * build: Snapshots are now re-enabled in V8 (#14875) * console: Implement minimal console.group(). (#14910) * deps/libuv: upgraded to 1.14.1 (#14866) * deps/nghttp2: upgraded to 1.25.0 (#14955) * dns: Add "verbatim" option to dns.lookup(). When true, results from the DNS resolver are passed on as-is, without the reshuffling that Node.js otherwise does that puts IPv4 addresses before IPv6 addresses. (#14731) * fs: add fs.copyFile and fs.copyFileSync which allows for more efficient copying of files. (#15034) * inspector: Enable async stack traces (#13870) * module: Add support for ESM. This is currently behind the - -experimental-modules flag and requires the .mjs extension. (#14369) * napi: implement promise (#14365) * os: Add support for CIDR notation to the output of the networkInterfaces() method. (#14307) * perf_hooks: An initial implementation of the Performance Timing API for Node.js. This is the same Performance Timing API implemented by modern browsers with a number of Node.js specific properties. The User Timing mark() and measure() APIs have also been implemented. (#14680) * tls: multiple PFX in createSecureContext (#14793) - Change compiler version used: * SLE 11 SP4: GCC 5 * SLE 12 and Leap 42: GCC 6 * Factory and SLE/Leap 15: default- New upstream release 8.4.0 * HTTP2: Experimental support for the built-in http2 module has been added via the --expose-http2 flag. (#14239) * Inspector: + require() is available in the inspector console now. (#8837) + Multiple contexts, as created by the vm module, are supported now. (#14465) * N-API: New APIs for creating number values have been introduced. (#14573) * Stream: For Duplex streams, the high water mark option can now be set independently for the readable and the writable side. (#14636) * Util: util.format now supports the %o and %O specifiers for printing objects. (#14558) - Changes in release 8.3.0 * V8: The V8 engine has been upgraded to version 6.0, which has a significantly changed performance profile. (#14574) * DNS: Independent DNS resolver instances are supported now, with support for cancelling the corresponding requests. (#14518) * N-API: Multiple N-API functions for error handling have been changed to support assigning error codes. (#13988) * REPL: Autocompletion support for require() has been improved. (#14409) * Utilities: The WHATWG Encoding Standard (TextDecoder and TextEncoder) has been implemented as an experimental feature. (#13644)- Fix update-alternative handling in %postun - don't remove links on upgrades.- New upstream release 8.2.1 * http: Writes no longer abort if the Socket is missing. * process, async_hooks: Avoid problems when triggerAsyncId is undefined. * zlib: Streams no longer attempt to process data when destroyed. - Changes in upstream release 8.2.0 * async_hooks: Multiple improvements to Promise support in async_hooks have been made. * build: The compiler version requirement to build Node with GCC has been raised to GCC 4.9.4. [820b011ed6] #13466 * cluster: Users now have more fine-grained control over the inspector port used by individual cluster workers. Previously, cluster workers were restricted to incrementing from the master's debug port. [dfc46e262a] #14140 * dns: + The server used for DNS queries can now use a custom port. [ebe7bb29aa] #13723 + Support for dns.resolveAny() has been added. [6e30e2558e] #13137 * npm: The npm CLI has been updated to version 5.3.0. In particular, it now comes with the npx binary, which is also shipped with Node. - Modify versioned.patch: * Add support for new npx binary introduced in npm 5.3.0, versioned as `/usr/bin/npx8`.- New upstream release 8.1.4 * v8: disable V8 snapshots. The hashseed embedded in the snapshot is currently the same for all runs of the binary. This opens node up to collision attacks which could result in a Denial of Service. We have temporarily disabled snapshots until a more robust solution is found. (bnc#1048299, CVE-2017-11499) * The c-ares function ares_parse_naptr_reply(), which is used for parsing NAPTR responses, could be triggered to read memory outside of the given input buffer if the passed in DNS response packet was crafted in a particular way. (CVE-2017-1000381, bnc#1044946)- Depend on nodejs-common that is then used to pick correctly versioned node or npm binary. This is required since 3rd party modules use `/usr/bin/env node` which breaks if multiple versions of NodeJS are installed at the same time and non-default version is used (for example, to compile a native module)- npm_search_paths.patch: Since concurrent installations are now possible, node manual pages are moved once again back under npm searcheable locations only. - versioned.patch: All files are now under versioned directoies and names. node and npm symlinks are now managed by update-alternatives - node-gyp-addon-gypi.patch: Reference versioned directories only- New upstream version 8.1.3 * Stream regression fixed - The finish event will now always be emitted after the error event if one is emitted * Stream regression fixed - In object mode, readable streams can now use undefined again.- New upstream version 8.1.2 * Release to fix broken process.release properties- New upstream version 8.1.1 * Child processes - stdout and stderr are now available on the error output of a failed call to the util.promisify()ed version of child_process.exec. * HTTP - A regression that broke certain scenarios in which HTTP is used together with the cluster module has been fixed. * HTTPS - The rejectUnauthorized option now works properly for unix sockets. * Readline - A change that broke npm init and other code which uses readline multiple times on the same input stream is reverted.- Don't remove all src/ directories, as that breaks npm. (boo:#1043965) - Fix typo in node-gyp-addon-gypi.patch patch - New upstream version 8.1.0 Notable changes, * Async Hooks - When one Promise leads to the creation of a new Promise, the parent Promise will be identified as the trigger * Dependencies + libuv has been updated to 1.12.0 + npm has been updated to 5.0.3 * File system + The fs.exists() function now works correctly with util.promisify() + fs.Stats times are now also available as numbers * Inspector + It is now possible to bind to a random port using --inspect=0 * Zlib + A regression in the Zlib module that made it impossible to properly subclasses zlib.Deflate and other Zlib classes has been fixed.- Branch nodejs7 -> nodejs8, the new current and eventually LTS upstream branch. Note that the LTS lifespan for 8.x will end on December 31st, 2019 unless extended at a later date. - New upstream version 8.0.0. Notable changes * Async Hooks - now in core * Buffer + Using the --pending-deprecation flag will cause Node.js to emit a deprecation warning when using new Buffer(num) or Buffer(num). + new Buffer(num) and Buffer(num) will zero-fill new Buffer + Many Buffer methods now accept Uint8Array as input * Child Process + Argument and kill signal validations have been improved + Child Process methods accept Uint8Array as input * Console + Error events emitted when using console methods are now supressed. * Dependencies + The npm client has been updated to 5.0.0 + V8 has been updated to 5.8 with forward ABI stability to 6.0 * Domains + Native Promise instances are now Domain aware * Errors + We have started assigning static error codes to errors generated by Node.js. This has been done through multiple commits and is still a work in progress. * File System + The utility class fs.SyncWriteStream has been deprecated + The deprecated fs.read() string interface has been removed * HTTP + Improved support for userland implemented Agents + Outgoing Cookie headers are concatenated into a single string + The httpResponse.writeHeader() method has been deprecated + New methods for accessing HTTP headers have been added to OutgoingMessage * lib + All deprecation messages have been assigned static identifiers + The legacy linkedlist module has been removed * N-API + Experimental support for the new N-API API has been added * Process + Process warning output can be redirected to a file using the - -redirect-warnings command-line argument + Process warnings may now include additional detail * REPL + REPL magic mode has been deprecated * src + NODE_MODULE_VERSION has been updated to 57 + Add --pending-deprecation command-line argument and NODE_PENDING_DEPRECATION environment variable + The --debug command-line argument has been deprecated. Note that using --debug will enable the new Inspector-based debug protocol as the legacy Debugger protocol previously used by Node.js has been removed. + Throw when the -c and -e command-line arguments are used at the same time + Throw when the --use-bundled-ca and --use-openssl-ca command-line arguments are used at the same time. * Stream + Stream now supports destroy() and _destroy() APIs + Stream now supports the _final() API * TLS + The rejectUnauthorized option now defaults to true + The tls.createSecurePair() API now emits runtime deprecation + A runtime deprecation will now be emitted when dhparam is less than 2048 bits * URL + The WHATWG URL implementation is now a fully-supported API * Util + Symbol keys are now displayed by default when using util.inspect() + toJSON errors will be thrown when formatting %j + Convert inspect.styles and inspect.colors to prototype-less objects + The new util.promisify() API has been added * Zlib + Support Uint8Array in Zlib convenience methods + Zlib errors now use RangeError and TypeError consistently - node-gyp-addon-gypi.patch: refresh - placeholders from other NodeJS version: 0f3e69db.patch, icu59.patch.- 0f3e69db.patch: placeholder for GCC 7 compilation fixes, already upstreamed.- New upstream version 7.10.0 * crypto: add randomFill and randomFillSync * meta: Added new collaborators * process: fix crash when Promise rejection is a Symbol * url: make WHATWG URL more spec compliant * v8: + fix stack overflow in recursive method + fix build errors with g++ 7 - New upstream version 7.9.0 * util: console is now closer to what is supported in all major browsers- New upstream release 7.8.0 * buffer: do not segfault on out-of-range index (#11927) * crypto: fix memory leak if certificate is revoked (#12089) * deps/npm: upgrade npm to 4.2.0 (#11389) * deps/V8: fix async await desugaring in V8 (#12004) * readline: add option to stop duplicates in history (#2982)- New upstream release 7.7.4 * deps: upgraded internal node-inspect version to 1.10.6, containing several fixes * inspector: use proper WebSockets URLs when bound to 0.0.0.0 * tls: fixed a segfault when the handle was destroyed after a partial read - Changes in release 7.7.3 * net: Socket.prototype.connect now once again functions without a callback * url: URL.prototype.origin now properly specified an opaque return of 'null' for file:// URLs - Changes in release 7.7.2 * tty: add ref() so process.stdin.ref() etc. work * util: fix inspecting symbol key in string - Rebased nodejs-libpath.patch for minor changes in new version- New upstream release 7.7.1 * Fixes bug that prevented all native modules from building - Changes in release 7.7.0 * child_process: spawnSync() exit code now is null when the child is killed via signal * crypto: adding support for OPENSSL_CONF again * doc: items in the API documentation may now have changelogs * http: new functions to access the headers for an outgoing HTTP message * lib: deprecate node --debug at runtime * src: adding support for trace-event tracing * tls: new tls.TLSSocket() supports sec ctx options * url: adding URL.prototype.toJSON support- New upstream release 7.6.0 * crypto: remove expired certs from CNNIC whitelist * deps: update V8 to 5.5 * deps: upgrade libuv to 1.11.0 * deps: add node-inspect 1.10.4 * deps: upgrade zlib to 1.2.11 * fs: allow WHATWG URL objects as paths * inspector: add --inspect-brk * lib: build "node inspect" into node * src: support UTF-8 in compiled-in JS source file * url: extend url.format to support WHATWG URL- New upstream release 7.5.0 * crypto: crypto store source selection available at runtime. Default is to use system CA store managed by OpenSSL library. * deps: + upgrade npm to 4.1.2 + upgrade bunbled OpenSSL to 1.0.2k. * doc: add basic documentation for WHATWG URL API * process: add NODE_NO_WARNINGS environment variable * url: allow use of URL with http.request and https.request - removed 10657.patch - upstreamed - 8334.diff is now an empty patch, upstreamed.- New upstream release 7.4.0 * buffer: improve performance of Buffer allocation by ~11% * buffer: improve performance of Buffer.from() by ~50% * deps/npm: upgrade to v4.0.5 * events: improve performance of EventEmitter.once() by ~27% * fs: allow passing Uint8Array to fs methods where Buffers are supported * http: improve performance of http server by ~7% - New patch 10657.patch * Fixes build error caused by attempt to use bundled zlib - Refresh 8334.diff- Add basic check that Node.js loads successfully to spec file- New upstream release 7.3.0 * buffer: buffer.fill() now works properly for the UCS2 encoding on Big-Endian machines. * cluster: disconnect() now returns a reference to the disconnected worker. * http: Remove stale timeout listeners in order to prevent a memory leak when using keep alive. * tls: Allow obvious key/passphrase combinations. * url: + Including base argument in URL.originFor() to meet specification compliance. + Improve URLSearchParams to meet specification compliance. - 8334.diff: refreshed.- New upstream release 7.2.1 * buffer: reverted the runtime deprecation of calling Buffer() without new * buffer: fixed buffer.transcode() for single-byte character encodings to UCS2 * deps/npm: upgrade npm to 3.10.10 * deps/V8: fixed a significant instanceof performance regression * promise: --trace-warnings now produces useful stacktraces for Promise warnings * repl: fixed a bug preventing correct parsing of generator functions- Update to upstream release 7.2.0 * crypto: The Decipher methods setAuthTag() and setAAD now return this. * dns: Implemented {ttl: true} for resolve4() and resolve6() * libuv: Upgrade to v1.10.1 * process: Added a new external property to the data returned by memoryUsage() * tls: Fixed a memory leak when writes were queued on TLS connection that was destroyed during handshake. * V8 (dep): Upgrade to v5.4.500.43 * v8: The data returned by getHeapStatistics() now includes three new fields: malloced_memory, peak_malloced_memory, and does_zap_garbage. * for complete changelog, see https://nodejs.org/en/blog/release/v7.2.0/ - 8334.diff: ported and updated system CA store for the new node crypto code.- Add missing conflicts to base package. It's not possible to have concurrent nodejs installations.- Package unification across various branches of NodeJS. Package for 4.x, 6.x and current (7.x) branches of NodeJS are now handled via GitHub repository. - New upstream release 7.1.0 - branch as new nodejs7 package. * buffer: + Passing invalid input to Buffer.byteLength will now throw an error + Calling Buffer without new is now deprecated and will emit a process warning + Passing a negative number to allocUnsafe will now throw an error + add buffer.transcode to transcode a buffer's content from one encoding to another primarily using ICU * child process: + The fork and execFile methods now have stronger argument validation + add public API for IPC channel * cluster: + The worker.suicide method is deprecated and will emit a process * deps: + V8 has been updated to 5.4.500.36 + NODE_MODULE_VERSION has been updated to 51 * File System: + A process warning is emitted if a callback is not passed to async file system methods * Promises: + Unhandled Promise rejections have been deprecated and will emit a process warning * The punycode module has been deprecated * add NODE_PRESERVE_SYMLINKS environment variable that has the same effect as the --preserve-symlinks flag * url: An Experimental WHATWG URL Parser has been introduced- New upstream release 6.9.1 * streams: + Fix a regression introduced in v6.8.0 in readable stream that caused unpipe to remove the wrong stream.- new upstream release 6.9.0 * crypto: (N/A: not compiled with FIPS support on openSUSE/SLE) + Don't automatically attempt to load an OpenSSL configuration file, from the OPENSSL_CONF environment variable or from the default location for the current platform. Always triggering a configuration file load attempt may allow an attacker to load compromised OpenSSL configuration into a Node.js process if they are able to place a file in a default location. * node: + Introduce the `process.release.lts` property, set to "Boron". This value is "Argon" for v4 LTS releases and undefined for all other releases. * V8: + CVE-2016-5172/bsc#998743: Backport fix for an arbitrary memory read. The parser in V8 mishandled scopes, potentially allowing an attacker to obtain sensitive information from arbitrary memory locations via crafted JavaScript code. This vulnerability would require an attacker to be able to execute arbitrary JavaScript code in a Node.js process. * v8_inspector: + Generate a UUID for each execution of the inspector. This provides additional security to prevent unauthorized clients from connecting to the Node.js process via the v8_inspector port when running with --inspect. Since the debugging protocol allows extensive access to the internals of a running process, and the execution of arbitrary code, it is important to limit connections to authorized tools only. - refresh patches- Fix incorrect SHASUMS256.txt.asc file that prevented package update being accepted into Factory- enable usage of system certificate store on SLE11SP4 by requiring openssl1 (boo#1000036) - new upstream version 6.7.0 * openssl update (not applicable for SLE12SP2, Leap 42.2 and later) + upgrade to 1.0.2j (CVE-2016-6304, CVE-2016-2183, CVE-2016-2178, CVE-2016-6306, CVE-2016-7052) + remove support for dynamic 3rd party engine modules * http: Properly validate for allowable characters in input user data. This introduces a new case where throw may occur when configuring HTTP responses, users should already be adopting try/catch here. (CVE-2016-5325, bnc#985201) * tls: properly validate wildcard certificates (CVE-2016-7099, bnc#1001652) * v8: Fix regression where a regex on a frozen object was broken * buffer: Zero-fill excess bytes in new Buffer objects created with Buffer.concat() * src: Fix regression where passing an empty password and/or salt to crypto.pbkdf2() would cause a fatal error- new upstream version 6.6.0 * crypto: Added crypto.timingSafeEqual() * events: Made the "max event listeners" memory leak warning more accessible * promises: Unhandled rejections now emit a process warning after the first tick * repl: Added auto alignment for .editor mode * util: Some functionality has been added to util.inspect() + Returning this from a custom inspect function now works + Added support for Symbol-based custom inspection methods- new upstream version 6.5.0 * buffer: Fix regression introduced in v6.4.0 that prevented .write() at buffer end * deps: update V8 to 5.1.281.75 * inspector: + fix inspector hang while disconnecting + add support for uncaught exception * repl: Fix saving editor mode text in .save * Revert "repl,util: insert carriage returns in output"- 8334.diff - https://github.com/nodejs/node/pull/8334 * use system CA store instead of one provided by Node- new upstream version 6.4.0 * child_process, cluster: Forked child processes and cluster workers now support stdio configuration. * child_process: argv[0] can now be set to arbitrary values in spawned processes. * fs: fs.ReadStream now exposes the number of bytes it has read * repl: The REPL now supports editor mode. * util: inspect() can now be configured globally using util.inspect.defaultOptions- Use distutils.sysconfig to get build parameters fixing compilation on SLE11SP4- new upstream version 6.3.1 * buffer: Improve performance of Buffer.from(str, 'hex') and Buffer#write(str, 'hex') * buffer: Fix creating from zero-length ArrayBuffer * Backport V8 instanceof bugfix and update to V8 5.0.71.xx * repl: Fix issue with function redeclaration. * util: Fix inspecting of boxed symbols. - 7569.diff - removed, upstreamed - SHASUM256.txt - added empty file so that gpg check is run on the SHASUM256.txt.asc, which is not a detached signature- obsolete remove gpg-offline / %gpg_verify- Use OpenSSL supplied with Leap 42.2 and SLE12 SP2 instead of bundled version.- new upstream version 6.3.0 * buffer: Added buffer.swap64() to compliment swap16() & swap32() * crypto: Root certificates have been updated. * debugger: The server address is now configurable via - -debug=
: * npm: Upgraded npm to v3.10.3 * readline: Added the `prompt` option to the readline constructor. * repl / vm: `sigint`/`ctrl+c` will now break out of infinite loops without stopping the Node.js instance. * added support for v8_inspector (node --inspect) - since we can, build NodeJS shared library. - refreshed patches: * support-arm64-build.patch * nodejs-libpath.patch * npm_search_paths.patch - 7569.diff: * Add upstream PR: #7569 to fix build failure with shared OpenSSL and v8_inspector enabled- Fix Group tag.- new upstream version 6.2.2 * http: + req.read(0) could cause incoming connections to stall and time out under certain conditions. (Fedor Indutny) + When freeing the socket to be reused in keep-alive Agent wait for both prefinish and end events. Otherwise the next request may be written before the previous one has finished sending the body, leading to a parser errors. (Fedor Indutny) * npm: upgrade npm to 3.9.5 (Kat Marchán) - use build_cond to to manage configure parameters, instead of having duplicate suse_version ifs - fix permission issues with some installed files - move fdups to end of install section to make sure we don't end up with dangling symlinks - rpm cannot handle more than one level of parenthesis, hence Conflict: otherproviders(npm), not otherproviders(npm(npm)) as the second version has no desired effect - we should no longer need to explicitly set ARCH values - configure should deal with this properly - verify upstream tarball integrity cryptographically - patch changes: * nodejs-libpath.patch split into two, nodejs-libpath.patch that applies on default and nodejs-libpath64.patch that applies on top for 64-bit arches * support-arm64-build.patch refreshed * npm_search_paths.patch: + search for manpages in paths were we installed them + install modules into /usr/local prefix + search for config files under /etc/nodejs- Search for node modules under /usr/lib{,64}/node_modules and not a non-owned path of /usr/lib{,64}/node- uppdate version 6.2.1 * buffer: Ignore negative lengths in calls to Buffer() and Buffer.allocUnsafe(). * npm: Upgrade npm to 3.9.3 * V8: Upgrade to V8 5.0.71.52. - update to version 6.2.0 * buffer: fix lastIndexOf and indexOf in various edge cases * src,module: add --preserve-symlinks command line flag * util: adhere to noDeprecation set at runtime - refresh support-arm64-build.patch * `configure` bits incorporated upstream - refresh addon-rpm.gypi- update version 6.1.0 * assert: deep{Strict}Equal() now works correctly with circular references. * debugger: Arrays are now formatted correctly in the debugger repl. * deps: Upgrade OpenSSL sources to 1.0.2h. * net: Introduced a Socket#connecting property. Previously this information was only available as the undocumented, internal _connecting property. * process: Introduced process.cpuUsage(). * stream: Writable#setDefaultEncoding() now returns this. * util: Two new additions to util.inspect(): + Added a maxArrayLength option to truncate the formatting of Arrays. This is set to 100 by default. + Added a showProxy option for formatting proxy intercepting handlers. Inspecting proxies is non-trivial and as such this is off by default.- update version 5.9.1 * buffer: Now properly throws RangeErrors on out-of-bounds writes This effects write{Float|Double} when the noAssert option is not used. * timers: Returned timeout objects now have a Timeout constructor name. Performance of Immediate processing is now ~20-40% faster * vm: Fixed a contextify regression introduced in v5.9.0- update version 5.7.0 + buffer: * You can now supply an encoding argument when filling a Buffer Buffer#fill(string[, start[, end]][, encoding]), supplying an existing Buffer will also work with Buffer#fill(buffer[, start[, end]]). See the API documentation for details on how this works. * Buffer#indexOf() no longer requires a byteOffset argument if you also wish to specify an encoding: Buffer#indexOf(val[, byteOffset][, encoding]). + child_process: * spawn() and spawnSync() now support a 'shell' option to allow for optional execution of the given command inside a shell. If set to true, cmd.exe will be used on Windows and /bin/sh elsewhere. A path to a custom shell can also be passed to override these defaults. On Windows, this option allows .bat. and .cmd files to be executed with spawn() and spawnSync(). + http_parser: * Update to http-parser 2.6.2 to fix an unintentionally strict limitation of allowable header characters + dgram: * socket.send() now supports accepts an array of Buffers or Strings as the first argument. See the API docs for details on how this works. + http: * Fix a bug where handling headers will mistakenly trigger an 'upgrade' event where the server is just advertising its protocols. This bug can prevent HTTP clients from communicating with HTTP/2 enabled servers. + net: * Added a listening Boolean property to net and http servers to indicate whether the server is listening for connections. + node: * The C++ node::MakeCallback() API is now reentrant and calling it from inside another MakeCallback() call no longer causes the nextTick queue or Promises microtask queue to be processed out of order. + tls: * Add a new tlsSocket.getProtocol() method to get the negotiated TLS protocol version of the current connection. + vm: * Introduce new 'produceCachedData' and 'cachedData' options to new vm.Script() to interact with V8's code cache. When a new vm.Script object is created with the 'produceCachedData' set to true a Buffer with V8's code cache data will be produced and stored in cachedData property of the returned object. This data in turn may be supplied back to another vm.Script() object with a 'cachedData' option if the supplied source is the same. Successfully executing a script from cached data can speed up instantiation time. See the API docs for details. + performance: Improvements in: * process.nextTick() * path module * querystring module * streams module when processing small chunks - rework nodejs-libpath.patch- update version 5.6.0 * http: fix defects in HTTP header parsing for requests and responses that can allow request smuggling (CVE-2016-2086) (boo#966077) or response splitting (CVE-2016-2216 boo#966076) HTTP header parsing now aligns more closely with the HTTP spec including restricting the acceptable characters. * http-parser: upgrade from 2.6.0 to 2.6.1 * npm: upgrade npm from 3.3.12 to 3.6.0 * openssl: upgrade from 1.0.2e to 1.0.2f. To mitigate against the Logjam attack, TLS clients now reject Diffie-Hellman handshakes with parameters shorter than 1024-bits, up from the previous limit of 768-bits. - changes in version 5.5.0 * events: make sure console functions exist * fs: add autoClose option to fs.createWriteStream * http: improves expect header handling * node: allow preload modules with -i * v8,src: expose statistics about heap spaces (v8.getHeapSpaceStatistics()) * Minor performance improvements: + lib: Use arrow functions instead of bind where possible + module: cache stat() results more aggressively + querystring: improve parse() performance - merge patch: nodejs-libpath.patch and nodejs-lib64path.patch- update version 5.4.1 * Minor performance improvements: + module: move unnecessary work for early return * Various bug fixes * Various doc fixes * Various test improvements - fix boo#962297: online update breaks nodejs-npm dependency- update version 5.4.0 * http: + A new status code was added: 451 - "Unavailable For Legal Reasons" + Idle sockets that have been kept alive now handle errors * minor performance improvements: + assert: deepEqual is now speedier when comparing TypedArrays + lib: Use arrow functions instead of bind where possible + node: Improved accessor perf of process.env + node: Improved performance of process.hrtime() + node: Improved GetActiveHandles performance + util: Use faster iteration in util.format() - fix boo#961254: * common.gypi should install at /usr/share/node, which is now in /usr/lib64/node_modules/npm/node_modules/node-gyp * node-gyp requires nodejs-devel which contains v8.h and others so npm sub-package should require nodejs-devel- fix boo#955142: SLES11 compliance of build process * usage of g++ 4.8 needs to be specified on SLES11 * python 2.6 does not include the check_output method used in the configure script. We need to patch it into the script - add patch: nodejs-sle11-python26-check_output.patch - adjust packaging method for nodejs-doc * %{_docdir} will be recreated anyway when *.md is added through %doc macro, so we can't install doc/api in %install section on sle11 - adjust packaging method for nodejs_sitelib * "install -d" won't work on sle11 for %{_libexecdir}, replace with "mkdir -p"- update version 5.3.0 * buffer: Buffer.prototype.includes() has been added to keep parity with TypedArrays * domains: Fix handling of uncaught exceptions * https: Added support for disabling session caching * repl: Allow third party modules to be imported using require() * deps: Upgrade libuv to 1.8.0 - as npm was dropped from factory/d:l:nodejs, we rename nodejs-npm to npm because there's only one npm package existing (there's another one in 13.2 only, but we can upgrade it smoothly through newer version we provide - fix boo#948045 again: Nodejs 4.0 rpm does not install addon-rpm.gypi * I copied codes from old specfile, which installed nodejs modules into /usr/share/node, while I splitted that directory into devel package. so common.gypi and addon-rpm.gypi were not in npm package at all! - nodejs >= 5.2.0 needs binutils-gold to build (github issue #4212)- update to 4.2.3 * http: Fix a bug where an HTTP socket may no longer have a socket but a pipelined request triggers a pause or resume, a potential denial-of-service vector * openssl: Upgrade to 1.0.2e, containing fixes for: + CVE-2015-3193 (boo#957814) "BN_mod_exp may produce incorrect results on x86_64", an attack is considered feasible against a Node.js TLS server using DHE key exchange + CVE-2015-3194 (boo#957815) "Certificate verify crash with missing PSS parameter", a potential denial-of-service vector for Node.js TLS servers; TLS clients are also impacted * v8: Backport fixes for a bug in JSON.stringify() that can result in out-of-bounds reads for arrays.- update to 4.2.2 * buffer: fix value check for writeUInt{B,L}E * buffer: don't CHECK on zero-sized realloc * deps: backport 010897c from V8 upstream * deps: backport 8d6a228 from the v8's upstream * fs: reduced duplicate code in fs.write() * http: fix stalled pipeline bug * lib: fix cluster handle leak * lib: avoid REPL exit on completion error * repl: handle comments properly * repl: limit persistent history correctly on load * src: fix race condition in debug signal on exit * src: fix exception message encoding on Windows * stream: avoid unnecessary concat of a single buffer * Timers: reuse timer in setTimeout().unref() * tls: TLSSocket options default isServer false- fixed boo#948602/CVE-2015-7384: * nodejs: HTTP Denial of Service Vulnerability - drop nodejs-no-fips.patch, upstreamed - update to 4.2.1 * Includes fixes for two regressions + Assertion error in WeakCallback + Undefined timeout regression - changes in 4.2.0 * icu: Updated to version 56 with significant performance improvements * node: + Added new -c (or --check) command line argument for checking script syntax without executing the code + Added process.versions.icu to hold the current ICU library version + Added process.release.lts to hold the current LTS codename when the binary is from an active LTS release line * npm: Upgraded to npm 2.14.7 from 2.14.4 - changes in 4.1.2 * http: + Fix out-of-order 'finish' event bug in pipelining that can abort execution, fixes DoS vulnerability CVE-2015-7384 + Account for pending response data instead of just the data on the current request to decide whether pause the socket or not + libuv: Upgraded from v1.7.4 to v1.7.5 + Improved AIX support * v8: + Upgraded from v4.5.103.33 to v4.5.103.35 + Backported f782159 from v8's upstream to help speed up Promise introspection + Backported c281c15 from v8's upstream to add JSTypedArray length in post-mortem metadata - changes in 4.1.1 * buffer: Fixed a bug introduced in v4.1.0 where allocating a new zero-length buffer can result in the next allocation of a TypedArray in JavaScript not being zero-filled. In certain circumstances this could result in data leakage via reuse of memory space in TypedArrays, breaking the normally safe assumption that TypedArrays should be always zero-filled. * http: Guard against response-splitting of HTTP trailing headers added via response.addTrailers() by removing new-line ([\r\n]) characters from values. Note that standard header values are already stripped of new-line characters. The expected security impact is low because trailing headers are rarely used. * npm: + Upgrade to npm 2.14.4 from 2.14.3 + Upgrades graceful-fs on multiple dependencies to no longer rely on monkey-patching fs + Fix npm link for pre-release / RC builds of Node * v8: + Update post-mortem metadata to allow post-mortem debugging tools to find and inspect: + JavaScript objects that use dictionary properties ScopeInfo and thus closures - changes in 4.1.0 * buffer: + Buffers are now created in JavaScript, rather than C++. This increases the speed of buffer creation + Buffer#slice() now uses Uint8Array#subarray() internally, increasing slice() performance * fs: + fs.utimes() now properly converts numeric strings, NaN, and Infinity + fs.WriteStream now implements _writev, allowing for super-fast bulk writes * http: Fixed an issue with certain write() sizes causing errors when using http.request() * npm: Upgrade to version 2.14.3 * src: V8 cpu profiling no longer erroneously shows idle time * timers: #ref() and #unref() now return the timer they belong to * v8: Lateral upgrade to 4.5.103.33 from 4.5.103.30, contains minor fixes. This fixes a previously known bug where some computed object shorthand properties did not work correctly.- replace node-no-fips.patch with upstream fix- fix build by using internal openssl for openSUSE <= 1320 which didn't provide openssl 1.0.2 - install missing addon-rpm.gypi (boo#948045)- Do not force enable FIPS mode. bsc#947747- update to 4.0.0 * child_process: ChildProcess.prototype.send() and process.send() operate asynchronously across all platforms so an optional callback parameter has been introduced that will be invoked once the message has been sent. * node: Rename "io.js" code to "Node.js". * node-gyp: This release bundles an updated version of node-gyp that works with all versions of Node.js and io.js including nightly and release candidate builds. From io.js v3 and Node.js v4 onward, it will only download a headers tarball when building addons rather than the entire source. * npm: Upgrade to version 2.14.2 from 2.13.3, includes a security update. * timers: Improved timer performance from porting the 0.12 implementation, plus minor fixes. * util: The util.is*() functions have been deprecated, beginning with deprecation warnings in the documentation for this release, users are encouraged to seek more robust alternatives in the npm registry. * v8: Upgrade to version 4.5.103.30 from 4.4.63.30 + Implement new TypedArray prototype methods: copyWithin(), every(), fill(), filter(), find(), findIndex(), forEach(), indexOf(), join(), lastIndexOf(), map(), reduce(), reduceRight(), reverse(), slice(), some(), sort(). + Implement new TypedArray.from() and TypedArray.of() functions. + Implement arrow functions - drop nodejs-openssl-missing-api.patch: it's for 0.9.8. - ppc/ppc64(le) is natively supported since nodejs 3.0.0. so drop nodejs-v0.12.7-release-ppc.patch.bz2 - drop node-gcc5.patch, upstream fixed - add nodejs-lib64path.patch, adjust libdir - add nodejs-libpath.patch, adjust libdir - add node-gyp-addon-gypi.patch * use custom addon.gypi by default instead of downloading node source - add node_modules clean up codes- update version 0.12.7 * openssl: upgrade to 1.0.1p * npm: upgrade to 2.11.3 * v8: cherry-pick JitCodeEvent patch from upstream - changes in 0.12.6 * v8: fix out-of-band write in utf8 decoder * fix boo#937414: CVE-2015-5380: nodejs: out of band write- build with bundled npm- update version 0.12.5 * openssl: upgrade to 1.0.1o * npm: upgrade to 2.11.2 * uv: upgrade to 1.6.1 * V8: avoid deadlock when profiling is active * install: fix source path for openssl headers * install: make sure opensslconf.h is overwritten * timers: fix timeout when added in timer's callback - add patch: node-gcc5.patch * fix gcc 5 version detection- update version 0.12.4 * npm: upgrade to 2.10.1 * V8: revert v8 Array.prototype.values() removal * win: bring back xp/2k3 support - previous changes from 0.12.1 to 0.12.3 see ChangeLog- enable aarch64 - add support-arm64-build.patch- enable s390x- update version 0.12.0 * npm: upgrade to 2.5.1 * mdb_v8: update for v0.12 - drop nodejs-v0.10.32-release-ppc.patch.bz2 - add nodejs-v0.12.0-release-ppc.patch.bz2 - add README.SUSE.PowerPC to explain how to generate ppc patch- Add three arches to ExclusiveArch: ppc ppc64 ppc64le - Add nodejs-v0.10.32-release-ppc.patch.bz2 for them (required as PowerPC support not yet upstream) (the patch header details how it is created) - do not configure --with-gdb for those architectures- removed macros.nodejs (moved to nodejs-packaging)- update version 0.10.32 * v8: fix a crash introduced by previous release * configure: add --openssl-no-asm flag * crypto: use domains for any callback-taking method * http: do not send `0\r\n\r\n` in TE HEAD responses * querystring: fix unescape override * url: Add support for RFC 3490 separators- do not install NPM - use /usr/lib/node_modules instead of /usr/lib64/node_modules even on x86_64 (node modules are not binary) - drop patch: nodejs-lib64path.patch and nodejs-libpath.patch * installing in /usr/lib64 doesn't really make sense for non-binary files - drop patch: node-gyp-addon-gypi.patch and nodejs-add_missing_shebang_to_read-package-json.patch * they were patching npm files, which is separate now- workaround for sles- update version 0.10.31 * v8: backport CVE-2013-6668 * openssl: Update to v1.0.1i * npm: Update to v1.4.23 * cluster: disconnect should not be synchronous * fs: fix fs.readFileSync fd leak when get RangeError * stream: fix Readable.wrap objectMode falsy values * timers: fix timers with non-integer delay hanging- Update to version 0.10.30 * uv: Upgrade to v0.10.28 * npm: Upgrade to v1.4.21 * v8: Interrupts must not mask stack overflow. * Revert "stream: start old-mode read in a next tick" (Fedor Indutny) * buffer: fix sign overflow in `readUIn32BE` (Fedor Indutny) * buffer: improve {read,write}{U}Int* methods (Nick Apperson) * child_process: handle writeUtf8String error (Fedor Indutny) * deps: backport 4ed5fde4f from v8 upstream (Fedor Indutny) * deps: cherry-pick eca441b2 from OpenSSL (Fedor Indutny) * lib: remove and restructure calls to isNaN() (cjihrig) * module: eliminate double `getenv()` (Maciej Małecki) * stream2: flush extant data on read of ended stream (Chris Dickinson) * streams: remove unused require('assert') (Rod Vagg) * timers: backport f8193ab (Julien Gilli) * util.h: interface compatibility (Oguz Bastemur) * zlib: do not crash on write after close (Fedor Indutny)- fix a typo in macros.nodejs - explicitly use /usr/lib, %%{_libexecdir} will resolve to /usr/lib64 on sles x86_64 versions.- update version 0.10.29 * openssl: to 1.0.1h (CVE-2014-0224) * npm: upgrade to 1.4.10 * utf8: Prevent Node from sending invalid UTF-8 (Felix Geisendörfer) * NOTE* this introduces a breaking change, previously you could construct invalid UTF-8 and invoke an error in a client that was expecting valid UTF-8, now unmatched surrogate pairs are replaced with the unknown UTF-8 character. To restore the old functionality simply have NODE_INVALID_UTF8 environment variable set. * child_process: do not set args before throwing (Greg Sabia Tucker) * child_process: spawn() does not throw TypeError (Greg Sabia Tucker) * constants: export O_NONBLOCK (Fedor Indutny) * crypto: improve memory usage (Alexis Campailla) * fs: close file if fstat() fails in readFile() (cjihrig) * lib: name EventEmitter prototype methods (Ben Noordhuis) * tls: fix performance issue (Alexis Campailla)- fix changelog chronologically- fixes * initialization of the next build step was missing in case original node headers were to be used in node-gyp- update version 0.10.27 * npm: upgrade to v1.4.8 * openssl: upgrade to 1.0.1g * uv: update to v0.10.27 * dns: fix certain txt entries (Fedor Indutny) * assert: Ensure reflexivity of deepEqual (Mike Pennisi) * child_process: fix deadlock when sending handles (Fedor Indutny) * child_process: fix sending handle twice (Fedor Indutny) * crypto: do not lowercase cipher/hash names (Fedor Indutny) * dtrace: workaround linker bug on FreeBSD (Fedor Indutny) * http: do not emit EOF non-readable socket (Fedor Indutny) * http: invoke createConnection when no agent (Nathan Rajlich) * stream: remove useless check (Brian White) * timer: don't reschedule timer bucket in a domain (Greg Brail) * url: treat \ the same as / (isaacs) * util: format as Error if instanceof Error (Rod Vagg) - add macros.nodejs- update to 0.10.26: * cares: backport TXT parsing fix (Fedor Indutny) * child_process: fix spawn() optional arguments (Sam Roberts) * child_process: don't assert on stale file descriptor events (Fedor Indutny) * cluster: report more errors to workers (Fedor Indutny) * cluster, v8: fix --logfile=%p.log (Ben Noordhuis) * crypto: Make Decipher._flush() emit errors. (Kai Groner) * crypto: throw on SignFinal failure (Fedor Indutny) * crypto: update root certificates (Ben Noordhuis) * crypto: clear errors from verify failure (Timothy J Fontaine) * debugger: Fix breakpoint not showing after restart (Farid Neshat) * debugger: Fix bug in sb() with unnamed script (Maxim Bogushevich) * dgram: fix abort when getting `fd` of closed dgram (Fedor Indutny) * domains: exit() only affects active domains (Ryan Graham) * dtrace: interpret two byte strings (Dave Pacheco) * events: do not accept NaN in setMaxListeners (Fedor Indutny) * events: avoid calling `once` functions twice (Tim Wood) * events: fix TypeError in removeAllListeners (Jeremy Martin) * fs: make unwatchFile() insensitive to path (iamdoron) * fs: fix fs.truncate() file content zeroing bug (Ben Noordhuis) * fs: report correct path when EEXIST (Fedor Indutny) * http: provide backpressure for pipeline flood (isaacs) * module: only cache package main (Wyatt Preul) * net: do not re-emit stream errors (Fedor Indutny) * net: make Socket destroy() re-entrance safe (Jun Ma) * net: reset `endEmitted` on reconnect (Fedor Indutny) * node: do not close stdio implicitly (Fedor Indutny) * process: enforce allowed signals for kill (Sam Roberts) * readline: handle input starting with control chars (Eric Schrock) * repl: do not insert duplicates into completions (Maciej Małecki) * src: OnFatalError handler must abort() (Timothy J Fontaine) * tls: emit 'end' on .receivedShutdown (Fedor Indutny) * tls: fix potential data corruption (Fedor Indutny) * tls: handle `ssl.start()` errors appropriately (Fedor Indutny) * tls: reset NPN callbacks after SNI (Fedor Indutny) * tls: prevent stalls by using read(0) (Fedor Indutny) * tls: fix premature connection termination (Ben Noordhuis) * tls: fix sporadic hang and partial reads (Fedor Indutny) * tls: prevent duplicate values returned from read (Nathan Rajlich) * tls: NPN protocols are now local to connections (Fedor Indutny) * src: Fix memory leak on closed handles (Timothy J Fontaine) * stream: writes may return false but forget to emit drain (Yang Tianyang) * stream: objectMode transforms allow falsey values (isaacs) * stream: Don't crash on unset _events property (isaacs) * stream: Pass 'buffer' encoding with decoded writable chunks (isaacs) * v8: support compiling with VS2013 (Fedor Indutny) * v8: Fix enumeration for objects with lots of properties * v8: backport fix for CVE-2013-6639 and CVE-2013-6640 - refresh nodejs-lib64path.patch - rebuild node-gyp-addon-gypi.patch from scratch - small specfile cleanup (remove commented values finally) - fix two file permissions during setup- move v8 headers to node subdirectory in include dir. Otherwise it conflicts with the v8 package- fixes * included v8 headers in the -devel package- update to 0.10.17: * uv: Upgrade v0.10.14 * http_parser: Do not accept PUN/GEM methods as PUT/GET * tls: fix assertion when ssl is destroyed at read * stream: Throw on 'error' if listeners removed * dgram: fix assertion on bad send() arguments * readline: pause stdin before turning off terminal raw mode * package: - remove unneeded files such as Makefiles, tests, ... - fix missing shebangs, exec flags - changes from 0.10.16: * v8: back-port fix for CVE-2013-2882 * npm: Upgrade to 1.3.8 * crypto: fix assert() on malformed hex input * crypto: fix memory leak in randomBytes() error path * events: fix memory leak, don't leak event names * http: Handle hex/base64 encodings properly * http: improve chunked res.write(buf) performance * stream: Fix double pipe error emit - changes from 0.10.15: * src: fix process.getuid() return value - changes from 0.10.14: * os: Don't report negative times in cpu info * fs: Handle large UID and GID * url: Fix edge-case when protocol is non-lowercase * node: call MakeDomainCallback in all domain cases * crypto: fix memory leak in LoadPKCS12 - changes from 0.10.13: * tls: only wait for finish if we haven't seen it * http: Dump response when request is aborted * http: use an unref'd timer to fix delay in exit * zlib: level can be negative * zlib: allow zero values for level and strategy * string_bytes: properly detect 64bit * src: fix memory leak in UsingDomains - changes from 0.10.12: * readline: make `ctrl + L` clear the screen * v8: add setVariableValue debugger command * net: Do not destroy socket mid-write - changes from 0.10.11: * v8: fix pointer arithmetic undefined behavior * crypto: fix utf8/utf-8 encoding check * net: Fix busy loop on POLLERR|POLLHUP on older linux kernels - changes from 0.10.10: * url: Properly parse certain oddly formed urls * stream: unshift('') is a noop - changes from 0.10.9: * repl: fix JSON.parse error check * tls: proper .destroySoon * tls: invoke write cb only after opposite read end * tls: ignore .shutdown() syscall error - changes from 0.10.8: * v8: update to 3.14.5.9 * http: remove bodyHead from 'upgrade' events * http: Return true on empty writes, not false * http: save roundtrips, convert buffers to strings * buffer: throw when writing beyond buffer * crypto: Clear error after DiffieHellman key errors * string_bytes: strip padding from base64 strings - changes from 0.10.7: * crypto: Don't ignore verify encoding argument * buffer, crypto: fix default encoding regression * timers: fix setInterval() assert - changes from 0.10.6: * module: Deprecate require.extensions * stream: make Readable.wrap support objectMode, empty streams * child_process: fix handle delivery * crypto: Fix performance regression- make nodejs use the v8 shipped with it by upstream. The API of the new v8 deviates too much and we're not involved enough upstream to justify a deviation here.- update to 0.10.5- rebase 0.10.4 build/patches against current OBS state- always runtime require the exact v8 version that was used for building, as it breaks binary compatibility quite often- updated to 0.8.23 - added nodejs-openssl-missing-api.patch: * provides a macro implementation of EVP_PKEY_id, not present in openssl 0.9.8j and previous versions. * required when building for SLE11, which has older openssl. - added nodejs-v8-deprecated-api.patch: * allows 0.8 versions of nodejs to use newer v8 versions, which deprecated (or renamed, in this case) some methods (in 3.15.3) and subsequently removed them (in 3.16.5).- make v8 version deps explicit, and add more provides (copied from Fedora) This will require manually updating the nodejs pkg whenever there's a minor version bump in v8 (3.x to 3.y, not micro, i.e. 3.x.a to 3.x.b), but that's better than v8 updates breaking existing nodejs installations.- Fix build on platforms w/openssl 0.9.8 (e.g. SLES 11). - Fix -devel subpkg -- manually install headers (copied from Fedora), and move dtrace and share to -devel subpkg. + NodeJS <= 0.8 installed headers itself, so this was not previously necessary. + NB: Fedora uses an external libuv pkg, but we don't, so we must also copy libuv headers.- Update to version 0.10.4: + See https://raw.github.com/joyent/node/v0.10.4/ChangeLog - Delete no longer needed patches: + node-v0.8.12_missing_include.patch + nodejs-devel-lib64path.patch + nodejs-no-v8-headers.patch - Rebase nodejs-lib64path.patch and nodejs-libpath.patch. - Add nodejs-v8-3.18.0.patch: make node.js compatible to V8 3.18.0.- Set ExclusiveArch to x86 and ARM nodejs depends on v8 which is available only for those arches atm- fix node-gyp to use the system v8 headers instead of those bundled with nodejs * Without this, dependencies installed via npm will be built against the bundled v8 (3.11.10) but linked against the system libv8 (currently 3.16.x) which has ABI incompatibilites, and fail to run with symbol errors. * 3.16 ABI change: http://upstream-tracker.org/compat_reports/v8/3.15.11.7_to_3.16.0/abi_compat_report.html * node-gyp patch taken from Fedora SRPM -- https://bugzilla.redhat.com/show_bug.cgi?id=891175#c7 - remove bundled sources for shared dependencies, a la the Fedora 18 updates-testing package (but simplified a bit) * without doing this, /usr/include/node will still have the 3.11.0 v8 headers, and node-gyp will remain broken - patch tools/install.py to not install these removed headers- added node-v0.8.12_missing_include.patch: fixes a compiler warning about implicite declaration due to missing include. - enabled usage of system zlib and openssl - enabled gdb support - set CFLAGS/CXXFLAGS so the binary gets compiled with the optflags- update to version 0.8.12 * npm: Upgrade to 1.1.63 * crypto: Reduce stability index to 2-Unstable (isaacs) * windows: fix handle leak in uv_fs_utime (Bert Belder) * windows: fix application crashed popup in debug version (Bert Belder) * buffer: report proper retained size in profiler (Ben Noordhuis) * buffer: fix byteLength with UTF-16LE (koichik) * repl: make "end of input" JSON.parse() errors throw in the REPL (Nathan Rajlich) * repl: make invalid RegExp modifiers throw in the REPL (Nathan Rajlich) * http: handle multiple Proxy-Authenticate values (Willi Eggeling)- update to version 0.8.9 * v8: upgrade to 3.11.10.22 * GYP: upgrade to r1477 * npm: Upgrade to 1.1.61 * npm: Don't create world-writable files (isaacs) * unix: fix memory leak in udp (Ben Noordhuis) * unix: map errno ESPIPE (Ben Noordhuis) * unix, windows: fix memory corruption in fs-poll.c (Ben Noordhuis) * child process: fix processes with IPC channel don't emit 'close' (Bert Belder) * build: fix openssl configuration for "arm" builds (Nathan Rajlich) * tls: support unix domain socket/named pipe in tls.connect (Shigeki Ohtsu) * https: make https.get() accept a URL (koichik) * http: respect HTTP/1.0 TE header (Ben Noordhuis) * crypto, tls: Domainify setSNICallback, pbkdf2, randomBytes (Ben Noordhuis) * stream.pipe: Don't call destroy() unless it's a function (isaacs) * unix, windows: fix memory corruption in fs-poll.c (Ben Noordhuis) * unix: fix integer overflow in uv_hrtime (Tim Holy) * tls: update default cipher list (Ben Noordhuis) * unix: Fix llvm and older gcc duplicate symbol warnings (Bert Belder) * fs: fix use after free in stat watcher (Ben Noordhuis) * crypto: fix uninitialized memory access in openssl (Ben Noordhuis) * buffer, crypto: fix buffer decoding (Ben Noordhuis) * tls: handle multiple CN fields when verifying cert (Ben Noordhuis) * doc: remove unused util from child_process (Kyle Robinson Young)- update to version 0.8.2: API changes between v0.6 and v0.8: https://github.com/joyent/node/wiki/API-changes-between-v0.6-and-v0.8 - update npm to 1.1.36 - remove node-segfault.patch, as 0.8.2 already has this fix - remove nodejs-npm-lib64path.patch as no wscript any more - remove libdir from configure as no such option in 0.8 - update nodejs-lib64path.patch to fix lib64 issue in x86_64- fix segfault- update to version 0.6.19 npm: upgrade to 1.1.24 fs: no end emit after createReadStream.pause() (Andreas Madsen) vm: cleanup module memory leakage (Marcel Laverdet) unix: fix loop starvation under high network load (Ben Noordhuis) unix: remove abort() in ev_unref() (Ben Noordhuis) windows/tty: never report error after forcibly aborting line-buffered read (Bert Belder) windows: skip GetFileAttributes call when opening a file (Bert Belder)- update to version 0.6.17 * Upgrade npm to 1.1.21 * uv: Add support for EROFS errors * uv: Add support for EIO and ENOSPC errors * windows: Add support for EXDEV errors * http: Fix client memory leaks * fs: fix file descriptor leak in sync functions * fs: fix ReadStream / WriteStream double close bug - changes in version 0.6.16 * Upgrade V8 to 3.6.6.25 * Upgrade npm to 1.1.19 * Windows: add mappings for UV_ENOENT * linux: add IN_MOVE_SELF to inotify event mask * unix: call pipe handle connection cb on accept() error * unix: handle EWOULDBLOCK * map EWOULDBLOCK to UV_EAGAIN * Map ENOMEM to UV_ENOMEM * Child process: support the `gid` and `uid` options * test: cluster: add worker death event test * typo in node_http_parser * http_parser: Eat CRLF between requests, even on connection:close. * don't check return value of unsetenv- Update to version 0.6.15: * Update npm to 1.1.16 * Show licenses in binary installers. * unix: add uv_fs_read64, uv_fs_write64 and uv_fs_ftruncate64 * add 64bit offset fs functions * fs.readFile: don't make the callback before the fd is closed * Fix #2061: segmentation fault on OS X due to stat size mismatch - Remove empty %clean section not cleaning up anything (and there's good default) - Add spec file license header - Ran spec-cleaner- update to 0.6.14 see https://github.com/joyent/node/blob/v0.6.14-release/ChangeLog for details- Removed doc patch because it's included in neew 0.6.10 nodejs - Upgraded to newest 0.6.10 - Testing on openSUSE 12.1- Update to 0.6.8- Added patch for npm docs- Fix files section: use %{_libdir} instead of lib64- Removed 0.6.2 source- Updated to 0.6.3 [#2083] Land NPM in Node. It is included in packages/installers and installed on `make install`. [#2076] Add logos to windows installer. [#1711] Correctly handle http requests without headers. (Ben Noordhuis, Felix Geisendörfer) TLS: expose more openssl SSL context options and constants. (Ben Noordhuis) [#2177] Windows: don’t kill UDP socket when a packet fails to reach its destination. (Bert Belder) Windows: support paths longer than 260 characters. (Igor Zinkovsky) Windows: correctly resolve drive-relative paths. (Bert Belder) [#2166] Don’t leave file descriptor open after lchmod. (Isaac Schlueter) [#2084] Add OS X .pkg build script to make file. [#2160] Documentation improvements. (Ben Noordhuis)- Updated to 0.6.2 - Build and link against system v8- Revert to latest stable version of node (0.4.12). Some packages didn't work properly with unstable.- Update to latest unstable version of node: 0.5.8 - Build & link against system v8- The devel package now requires gcc-c++ since most of the native nodejs packages need it.- small cleanup inside of spec filesheep83 1547811657  !"#$%&'()*+,-8.15.08.15.0-lp150.2.9.18.15.0-lp150.2.9.1node8common.gypiconfig.gypilibplatformlibplatform-export.hlibplatform.hv8-tracing.hnode.hnode_api.hnode_api_types.hnode_buffer.hnode_object_wrap.hnode_version.huvuv.haix.handroid-ifaddrs.hbsd.hdarwin.herrno.hlinux.hos390.hposix.hstdint-msvc2008.hsunos.hthreadpool.htree.hunix.hversion.hwin.hv8-debug.hv8-inspector-protocol.hv8-inspector.hv8-platform.hv8-profiler.hv8-testing.hv8-util.hv8-value-serializer-version.hv8-version-string.hv8-version.hv8.hv8config.hsystemtaptapsetnode8.stp/usr/include//usr/include/node8//usr/include/node8/libplatform//usr/include/node8/uv//usr/share//usr/share/systemtap//usr/share/systemtap/tapset/-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:9488/openSUSE_Leap_15.0_Update/28274bf7abce00350175f2cce3b746ef-nodejs8.openSUSE_Leap_15.0_Updatecpioxz5x86_64-suse-linuxdirectoryASCII textC source, ASCII textC++ source, ASCII textǦ{5ƕ[utf-8139d43c3d1c54ddb896c2618ce9e53c001314cdd479dde1c7ace5cb32dc27ff5?P7zXZ !t/x] crt:bLL ;d-]6YE'^]X`9Kׅm*L]n\/OwbBkx/?G[5\|WLsS=ahɱ<4XorƳaX{s[GP6Q[Sn:,W)}{Rv!C?[yX"\tC2Cg3pCcذI3rhg_4XhEC&=Bz"SKjP83x^W7>CiiĴ7J۠mQ4I6ߔUW!pjh M?Z1kTǻD F뾜%l7UB['7XX"0+rZ5N_Ya _B,2y Ygk^W$B#Rm6mˇ/F;'qm_03*riM28Dj[W2( 3PזFX\nTM贳g mt2RwCaW5쨚%(.Ѿq,}xQ5 [&2F÷-a]c"3#pwh8+2%b{3_j .?,ܔ9\ҽ0&/0dӳr@(x' R,ђ5Խ`hgȅWyRbJc.CFh 1V lq@Bi׽~cqA^hlWAEO&Pc(_ͫSBhE f3ɱvk疙puUSyu*P[ %7NO^\HѷHrOfj%?0~&ߢ$~w4%1Nj-#7&B#< AϽy5+̮}KCq[pGN,{~oK‚ns4%[hG2&7cg8W@P랇=0 dHZtZ AVv-sE^ w^sLW(Oxh: v4lqSNkZM՝.'f;n=0Lᚿ Wdkpթ2`O3J X\ ;#37n9́1 qnmwѩL/3)YWݯ:eý)GX,[u1ppʂ&dGy8Nc;>57n.JɀxAVTVL^v;_T5sp/7'#k6<'ZDʹ H~@Qq޴@K9pLv~EqBSߞC2$۬rJXȣ8N$Rܲ4Agݻ#Ujдe! mA^Nq)|33O)j26J@sEC׎HucXݦBPA\ ޿fٝ4Üb5|4-jφŏ\ ;lD.ao-I%ֿN?'[cM[UW=) c {'E' >:R?[vw5M ȯrzJ{{Q΃'~I\̗%H9,Kk}u:d`2vnYBB?v'!c\9r>yCP"49Z"IRLmf| |ț1ٱ)!@Ut5rb6V[ߒNL.`Π+_ܡbmCفz^UpL~oh5D`<<;Z)϶gmWO0b[$N(s%^/P͹ζ]οm <-i&@=vu#LO|TD jwDwy ^P28x]W)OmpEe4%dϴnNJw 6+Li}jF:&nr7oV,nOa֎.YYnwR2kGExvTXp9ZLjP@yڴy,3O{`Nb:@h#[h,x|;i €X>J-b~ZW{Ա&-ɯ})Q,]xEJ(T0-NJVA|*[kd'7z7O[ Ήxr}>|5/%W{]I#}38"KLb-ɂeDuiO=pC1DR-x$-~=h.+$pS# W=5G+#n~c/W 1[{- |8 q\& bű:VRf(J1zS\V\9FF&BnzMT̉bFET=0bF0{"meR<)k`̒#RCvF"GZpH!Nwv8҈jc?I\r7 tH͛="bHa' չM(1YT7;6UtT<@ռv8~!(2Rf`[q3ܖLc1PeyVN}"w8qQbb"1,onSA"^%U@/19۵Y hz.}~yɷ"hdQ` $w""jv\kvڝ^Љ!Q"] zrB 4㠰][{y-Ǻ\T!3INGc #0LB*7P>i ҺmPWeT=iGĴvAYj?,0h(@bpA3X_aY;R%9gݱ!32P`j_ `GvRs-BWOyN, cEwΘn䞣a8AYǏt2^!_ W$$A_䦾iT WW Tq/Is@:sOwp)jӁ2g=H *!}:v ¦VJ'0+%[nf)uYZթ#h ]IUL&#7yxICU {T| `[ۦb(QG`W{St˂6rL $[ًVfl,G k0+ qq0 DPhPLKODo <#//-8~%N{cV tv-PAϝM.NfMqknli!ڷR7@ 5AuCjONznux1_$Q+o4JS2TD7c,FKnnNT!0>ekH\qϿbėumyw#tB҉To*B%aͤ hS+N VF50VKq^ gۋ=clݦoOeg3Gn)U x_&0)әXk[GtGG!U&'1,,}OѸB(ϛd So)t &3u "2ͻtkow!͔aFV,j ]PAӊ Hvr͚J@?:уq~5&DTaϝ#WY"Obe}$uf7aηWIB2'ID#C>T9xís$ c-{bp6{\h0&S{\Et"Ȑ?U ;O(QsZ1wv%^A"ydk,wo".٢{V~TWl,a i̧=J;!tRKw`TV**&'}*Y APb1fD#ڒ J6 1@m;^EǕ[3:WݳK/ R/z+ Xy{1,*֖zW׍$eKç|x `Y$'L@?t9B,0V3 ";9Cf?ɼT~ t\uņŝ F╕m-"]6+-@)=w!O@h橡WEv}|OY|'ofiaޱ9с@<Ϳ<)Uޞ{ЏXr}W BET]ʅIo=bl e+%`_Om>L=ŵЪ6 !f }fSx8l"LqH3Q۰y؂<9sE kaߨ&פq3YZHJ4'ȋ1 K^wĎ6u? ^M6|$%LAD헞x#1~ꮏ Re.4/QYPәbzf_W3 އ?e7ڹQ" i*ě07֡F)o7ݓT.? kV&#Zז {:<}5a*Ox32ڤ^]f `:BCūQ-Dɬl~>Ѻ;3ByklTpEG`A#N"'l(Ѹ/1ddF# xw\\p5dBRX5% ͭ/ߺb@8hfOCsu6rt_xU@8.$t1"=ݬjogJbГ'cs2Akg?rbe0. XZ(=X䷯r :\ oM^l1a͆"u: sksI@[k;J`y?>oSk~*j( bCZxk=j-߅B' YRn3[W7 #@c=I#B9o+qDB0I-X6C "/,䂻=re*TKy-o⩚o8,C z0[z I^.Etz4yvH4R8hiUy)Q˜|L!b%re@Sj8`½TtLUcƽ{Σ>NVh,Οs܅\=OWDYߩM%zKVxV{VV:Ds5EY<0IyH"y/RK7&(>)Hѓ=)rEmb|7U2q1ԩecy8vBquE,q6rșZ֌3#hǫm4aGK &ta0>(Kz᧱Ymi '^ mQiV4RL$!'gr-}ik#g&tѲ  GkOl˥h |)kl K~HH<9:-ƤC)˿ ߅5 0kteJoͶ^d4pIA8^FԸq'RqJb\]=`#:lcHYhU-(߻V }ŲD`eU<4(C(ꤷWNLC:NsЖ@ΤTF2(қiqa PwE(+Qt Ds&w & ,EX5c[%WLFʒJsΖ<AM< !9pր'ed'7=-;\RHRtjEa ;ckCI ,^(0!c 5S^gW*ho&͓H0= l<&p9Gk,'ў$^?]qډCu\H2MH7=*_ CGc&,Ƚ#xƶ{8J83K[y &PIN/8;*lls|baNXÅVtQ -d_t~֚Ǩ_2ʾGEI Ս]U&m5jk`K K $ބ o6w+އis:<-@T)v`!Y_Y_jܬQd'K^Is64: 8#ٙP֝"ɱv~A埝 @UQiԝy"i+(۵B́ es2FdqW<̫"̙G U$>{BJ,t(HSpi.o(s!1nɧY JUA!FC-;dGtޘKdN7M*KÑI~/T#ԝUJX(JXy,*o8DhHX FF \nf`ÿ9_9Ib]S^^UV5lw y{tlsZ2`#;5hR5ړc(  ݲ`]*%̿ؕ8.6[yNp',}_tﲴBf;e,O!(evK~DwD&pIP'f1%dü$< eu _OSo(UK[A.?gWۭJJYP)2@, = |ғh 4v",N` Ғ^z v0]y n+0M~LKN28Y0zeZltA+β"Մ)1 ,)k"[~=`q.zoǹFc?>,3U" 6hSqm4#5?SD3iwv}LVD$C)~qQ | O;LYs2J^?oZ헿.\ JuO*kk}?HͼnJ&0Oxv&\n8Ok`KH73LhЋܨCܴ5[m 6A 8=+`'Ӻ("3?Wn=t*i{[2vWK깂5Q|pLXjт@Hkq?cfy~"Fvt? ǷV2BdE|lp+Vlȸ, mm: 8хK_@6dšd[EnysdKA6"F6ʤǐg4(aY0Skǿ&l?̻X6~&ab z&n)}࿁X\cdAt$c @5UJ{T| 2$x&OUń@fv3Wyf lqf[_L+|}șpOםAd62 Ix -Q.^C- mQ_#F۽mtQZb5[ s7#ߨpԿkQ&d$Z9&ʍ"V߫nB$Y1PFB ]Q.Dώ)[=| =-cZ΄l|Kw ˳\ҳ:l+o A󈄊mx6r6ei/鎎<0Q.y3G߾ؙ_`f_E !["l(鸸{x{3QY9((s8--@ШvJ@f-N/(ɹ؟y`,ʗ3FEԦ#`1iq+^Fu0`I0IF[sX0u}tRehHKk1=SylMKDEn񽬴|,)4^JnSK+u5Uu[ґ_uGoG}jLXe` gZ(s*.%hbKr? RE4e$%7Gn8iT&벾Qm:U̘Nʤ*EmLxv JFnb,Ɛw|hkyƧ3I*B%mmbӵW-烈q[HHKROM&ތm}-4Gbv'S(r9i1#V-@BqMzP:uL[^R"Tio%Wz\\|C3"t(MX 4lG$7\G{n6\\v;!T/e2CJ9hjyEgӈ/OJO6j,y|苇n~ >mB5 B=~^H13?6vp.8S<-26e!a2%R1;ߘ0B F=#D 5 ;Iken&9,S{b %P7kZ pfEBۈ\x1J5d,:d~(-6@/~^E%Icc<.WwSl¯_Z aӞ9:!WiLh#V]O~yJa12B! :OI+dJ(_ <֝#BEN+)\6>3bL<(X 8#^gYOt qnɨ|iw;(M)tXb=OPRzjBt0q.F-8oj*$yj)pB4^0_ɏZ_FVILvyFїۻF}  ʖk 8IaOqǏ C캠"YTzx5򪏜ro&iLHXDr|ؖ{|C,v\ͫSZV}L1u XGf{v}ë϶ZA}g]La+&@${gou`8Zi|(R҂&`4vEDzXAH|WZ}xV1Sis[m2ma 1VmUántϦ3~X` t^TTfPĖ U%7;f? 8nf |vYX>5GV̓_*)Zz HNyvYU_Sy5Fq!(G_4?^1 %z"wE RxʸQ[=u#gek+nW0̷!1Cs6LjS 3S ] 0=Lؔ*pr .#ƒ4Y@\J6 0C+~+L/Zun}HPq!,w z5>\Spʮ>M YcYt!:ÓF V Q F>1 s#euoB*HzzYh?_,>Ci$gRtvW82ԄujS;J ʁG,s9c\MloCY0 .hJ42uPoIb斈Efy*SDN@BA#ͣi)C%LDV0'no#\ZeO5}vok bI#U7Qlwg (0ڽ5 d"ҨpQ̩h v^ \m~(JFr p>:)T eW_9'q1eWCZ}i:ͳ'cGhC0IiG?ų M^P^ e Qֳ5 aVz[01c/8Ku:p RqP^g0Dž?٪yD3Fߌcq5dղE3? 9k\4ӳjiCW3Ta :$Ni@V_DZ>7:?_*ͥ uY5!e~)ϳY,?m\)6Ӌ30vVB|Bg OWQ,BA7ݒ32'1wBž㻑X,2vh gB`˯4$Y{ j:"Χ$4:CA+ezm18\] J9NY.RAU!TOh`ϼ?Ҽm>QA g4lLPg$n j)ܤHuv!}}T wwN DG.eyZ2YՌaР(؟2ݜ‚%3n3$\pg }<c*`^!a &lג.'!5H j}=Ǡ*I:ЪHDb6 VKmIW>xFse[Fȸ]!U~XY I 0RP 6aC'n h(o{cT~",XA\3`jl{&tE&X뭁Όݤ樰ř vrh"z cաE@ }onO8x+H_Rޓ[fMOye7S*wMuQɮ_!2;٧ey#bSsqѡACULa8˘$~!|ݙR$V\Uh(saa|t^Ęb/ܼ%b:`uV}| jv@:"a%jm. |:nx~8/P :E6ǘd(=nc+(}ZqN3xY?-Z{G5BH-K(K(NEO9&c\(GVAjDU}:ҟ @ՂCu'8'Spgfl\9RRzMIHŘY5ն" RYmfeTbݺ5^*bhZn3g#1&.StTBT@2H$|͹nUp'Mtj+~jm)J4Dk%R i8ikz7R_TD**8S/CoS=%ˏ&\(@2iSd8 <{W X/\.J17I)#$u֧I@82us M**)m@naw+-!x`r}S1GYXw XIw@Sw'WIog:58_`b. tbJmKPvH3˂!v? 7C&/8Zw i__|$$9֔_ok&WoMb"dOOіF*A-~A#>'kԴ{OSh9rYkC/L+AQ& zoW &|,1@,bpx.7g -X("Z.(C c-|R XSb_Ā~E&@n灍n$>ǻ L5bl"gr:cL`'a?n6pW,zsb\`:`!R3(O,LEEJuXғa:JQP5䧛har=4Dcإ+ȶ܊zzp6bu*Ar4,P-W1UޘT'Y eR;THAQ Zny>'A?Uj#F>I0lD3+e ;Z>L]ۨ֕2\"[0۶ _'h~lIg'%Y/ƊJ$^ VI:"Xfc6MQ_[$SY*jO0",e׏ᷖ' 'vFY[& SCb,1ئȺGq?S mˎ;ն"PCt t<G~RRyia H5[!'-`&X]3>0(!e䚔^UoScqoCy1O(~=q#(_h/[y.Js$˨SV#M۟jCK;nP"JTrM%ROe| 6~8/ן\kkL#6tI;Ѱ@T lkiR&HZFÁ @(0G<=v@΁zn7!j~OVHNΏn5Xj`{Nj丒Zv?pyxKa׈UT}ѡb(DSL22fC= C)SMj sV~sL_pX zU}Vt2_l gR+pyiPTP[;ǧk+$ h!2#BoyEN坝"HM54p5M<$Ǘ.&>yW$,ȐKRŦULʂH0)])>0:A+Pv+/CJ&MR=lv\ ѩ:S%\_IZͺLsywA )`6hsHNX@{q0gFZ`]h{&ofs{֤E&<.}TIҐwI@zh9OOL28{q[Y6$P5!cx.lvo9o _eFHlprBeH?3l?]"V->e !-S?v -䵶ItkVisY=#ɑpO!@d*t$k'l ΀̴vԽ䇴̘L><KFFUpA/tJE~1/u^;,LEMpkB5TRBb\YCr\_C@O%zaHVq!V<@t;ǬV0sN. (xtc#qY,)66tn*Ee0f"UTTM2oU.MNS(a ƨT~Q=*ڎucZenw1/~D>גuWA wJp+L>]F> Tx֖2'\dڻMT) grwsO&,ʷ ~9WX,fDs::lGYyUX@[FA_ @lC}Λ&,t o" 3Y $u]*6+zFCott분K̜)3ƴoζg1[U51w`;#s%ou9 S ӎݣ0f" P"oVsb5#^T^:}V/z4*/"`f$Ke*dxB2=(baȢ[^6I۪ ;50IwR*!>И4Dd쵶 LBӋp}͍jIAh]Qox!؊Uƿc^J|^vڊO{Ó U^gTKn}0zcJ|8ګ3'zܯ<N~s! D* }i0[g*[ߛ r5$tJUoJ^!a#P XN?'{VJV@U c ȅ_pLh0n개/P2<`*i.<; 2.EO#|_4M^5p!HV22$7W 4L2u:]v+ɨ ևmS4?D'i=^(^I`-e@ #B<;e؁+7~( !Or+sLJ#:z.| 5w8D33'pp>yn. $x&+P~mHa ATT9Gڬmsr-X=&Apryl~kԛO 2/D7hnG 9K-yaq mL̕ ,fHb{=r#埧q_=>&#%w/)qNq/ab-,R*%Mm~>2N}+pqⷪhy5V$*y-–םD+ ,jm8<6?{Z`W~{2aϯ{7n׿-w"% @ ?["}&JoވEGZ'W-x-ZnYgNy#nŻ$6oX/f A~^7F&G>FֽȎ$ |;8u{{B3|/`$& "w|T 9Kؤ"oE r8^45n7Rq|<`p8SFdT ]l6k)XqwEĤě,Tv AU  :Rpup'Ү+nC:Tc6'nj6r!kv<daj $vN%[l+MU:&uQ$1SC@7|pMf ̚iY6Z`OTVI EF 8!߸c8 TA~@krQE6P< Q_-Go`rq?w;*xod(l~x϶Ljsͷ֨"`  ņހ88o[ޫqPXoEaDpf7aKWŖN]ˋ)ԨЕ FvQ8R88HM`H'N5@9if0;Iv#x*fKMl+[|jHıUe7ˇNɧ^$6;S2|į8cOE"6w+*A M53SJ#f<&lLyqnzP4TIz3=2 30ۙWw(4]%$3$S1cʯ^[to'@Q kS{=NSjg|y a`z':rRHCf1-1˜tK2k~|,*rاu9gŒ:o(I,&V~gO~Xt{p3*AF5x)"pd?xPDav)=mhv‡q Xcc ?T#wn+<.vs v<1z+%fvhWߋ4|z!6Ԕ~y7:ɓ`yEJʧg#.l$>k_[;EW\]!\ecU-_[Bnhy-Q߈H=y; 7Wmȶ%uzjZȆ+21Be {ǐDN%bZjx wVa3)Y2u0cR@az):tĆ,(D˒c@!Sg4@?DsVpQUj&L_'p%8'4ȇ0*Z;`2~/Zgq|qd%2@KN>HkkD|6Ԋ#FX" ,(GDPvT`'fxIr#LsŎ ftKs#|g گ5?kbKWH^!he!׭J};3CZT["X,YkfL/" H}oK,{Ŀ;v d]I+<3rw_Z=*[ \(Y/0,4p>#Lg,=p'2ſ 5WZMJu'p_" N' m  sn?3NI/ ).MThE>@7NpY B%,>je=-KƵI\0^I7wʴ|9 [;椓y&fom HRUͦiI.x[k8`Oe Ft\%F-][T"}!j<\7%|U*ܝiۤǾ=х>iH"Z})% <\ {Q%c$*k  zkG#; z&f1~y\^t aiꌪ&4t,CgqS k iI,VJToHKF'hYgܠպ G9, [lf[qs\*sG'=w?x,qO},S,YJjhzbo=g-4UQ EveLM ;Dtn\I_} ]b *=ܙ}ªNe[u~N7^u5tZR?X3M)as#XTР9UűK.B,VZj!WF&N0Ӆ?wBAmG%|4T'nBoٞ^!i✟"vkozK@v+ FpCjmٝ>Sw¡9i'SеU  AG\׾CjW4,.oOspҖ/A1A| )VGYU 4 M !fv\>ł7,SN*V3Ǽ}Eꛒa $5!4Mm_f8%X16°YZ&ƫ2@Eo ^ֿX_DzG;\NW pj'dW@4ƒ-CYۯꓘJN  b=_^5L/쥯 == Ob_wRKJxkJyߔl{]Wps,D%4V$9ཥV`I.#[N\:yf/fTUxwH.먎}Uy[-W⽳Nj9%KxHNļqMbȷd¹ш SLaY m y%2O)ĻxBq]b ވ]5L0߻XEX@nna1ޚ'#@TH<66+ЊǔI+IozS<^<tçW vWTOE/~phl>Xb挞GD曹Jŗ’Se#$d-$29Ao=iy7:  r_4O,-aQŘv5tNQ$o sP,/ BƘ&Rrp<=?G_L tuu)ݨˆMQKv/_,xƘ,Vǹ6'Z:3ߨSGDt+gɹ^Hq 6`[:e1~ik17tK ZcQoN/ ۨPa7-TiRMc?E^r `X*ƞ/̇n.jVPz ES_[׋.vWKNXq<!p#f S(IqdQTu{`c]BSAAŨMD VK{@*AnEru%d&o)>7z?Ff\)VixV:e\r!b#F{-<@0ese7Jۛ-dƎ̞+bS`{:6F9\, DHlz>?,Riۑkՙ#LfVXR 0|o 4yӺ>r[ %\W`BWҘ& ­UAa?44s/l&[" qe\]A4})@fQː}Pe K]Kz<2 P]ok_Ƽlhvuz[/8+{[`CQK;ĵZ 5b5  kƐbA!@I⟵s9 'n+*W2wީ. pQW*Pְ =$}RbLӛԪQAE@*QCz1݅gC6(熏?_5v@eܺUbz.M*i)s*e٠1h=1󖠰q ^2X[ϗ:ǖXv SHŎ-Dܺ#o{vFMR0Ӈ/+N{SAC vL^ejζn &uXď10|t9R.YNdΗhbD/RD&ɱ TC l~KtJA,0jZt'y=@5L 1!)zIRܘ?XimE3u?O-ck(Kk ^S]6D -±rGIBd4rpӉ ƒdA &#@XD?Ϟnx"bwuOwRNɩ1V!eh)/4^UFewq{N`s|lZ)Sd|[J"NR9+ǚRbnRr{8/:#s%gX%S[#büoKg?MPHX?t.U;+?RzD=Zݖ$3o91{U n-^p$]UĆ.@#bػUgN e- /FJ5w#)6e ,q'd7ro]KrQ#ؓ.rѣ}S *&Uw0HC^yLqkyBjMKqޕT1i" :</#2țgƯ9[1%SKGkx܍Jt$6#ؼ0nѬ,\,sR6DQ}P;9CzzcH#J\Q B[Kٟk bCO#$V?ыdxQuB ³AѷjPDe]f64!]]\9OG-Ed:+cc 1h* \I/|w #g- *| !{9ͼT cq?I"_d"zF[뽺Z aô"ryİh^'}̒+N CXӲ٠5;\NG'B]'|m>03\&]$@<0 + Z>qDm[֍0_Iֺ#1sFX|Mtpk/䤴Vz\qio'*^ҚmؕO]3xDƑOK&OkS۸ʒrs]&Ҫq>q@Vxes8QN~d>S+3>̮)*y+F@ 3KIgP,aXpj}bDZyJ0 J1N/#ˆkxѡǠ/ gSi`#'d’{= NPf?wD&v4m7XڵRMkia$9E7AHr"h^g+ΨkA/ YװH*oN!#D!r$3 #,03`aBv /WlQ`὾6QwϐHb Vcl:FmZ˳@rHf~ѷˤ#r8jD!<&) IH')eVN7p`Foա -ۖ1i2Kq5Zm_؜ya7<}&*e4LJc -q{r}r'ƍmZds]ډݥOϛK̇fc=\:/NغUT? 8ɫ/6T10 Zc-$d~ٚhp ^,DBgMU%.8ֲ@*X(.I w'C=5/ÿE/TU]ՆPNǠfM<[[MG>k/ؙÑ@Uh8Tv5=F0,@5#Բ`2EnXfj2Ub$hš(1Z~w~e{Sf!:dÊ9;8Ԓ`‹?Bra־adX% 3*H[[]%wZ:c3SqdqIptf%4{ιpLvu1a19=`D=A|OMeSw|`η e"~lu.GQ $WZylujb?Ȭ={Wo1# ٓ_ 7ӞƝO?\!nOE ~T+b 3pn?7;7  ##-4!/ g^G-hXjn'`9zCA>;4՛oW=f=#{U= QeMݨchVL0_AS\u1.Hw?b L/bWnGs|q׫0 H".BN,A9BA,<&= =NjL>o$2sA:Í|acKpɶSJv;"ƔGLz'KhDhfWҳR,w33س[!*!ˉ%L7c}uٲ /W[#fSJ/tYLMe k\˂չ M3'TuK]5Gt`̣2F5MC=ml,n\Wu=ٚQ׺ib^zfB>f=,?U)H~%l$x3+) b./l[w #uY?/cTQ4ex5'AꍒM,S6lƝbܨ6-`@/O!O|Lala]dNb`=,ʌ<MxgeP l˺z5 Vn/fi{ dz|6B J"vۏ/Vka]˞xГNK~ji2p&cO9Pڲhf09gR&$uMb'VZ u+!PH~CJq3l{,ĠoW'=r=v%iV_ yXS݄i@)VOԱhw"bKO(Cᝁ=}yݳ $m{UvI5:>BA)%`ȁs`n?Pi 9GZ3SKʭ^% l`-t˅ ?2Fj=˙y=ť39nϚgmy&<~4 !:3/gdh;GRT:BQ%QidԚ97ʁ/=?d?rAj= ~ԀұUzrc唕n~fѨ6ph7H2[&@6an"knoC0U s>c:Sr]Y, clvH7sC"in SK>m:9ݶdP.W rXUUk9eєIqN1Aʌ{w0U"p1P]%X3eAj/X4` ^|" / ךkHѼ rA @I?a;X4\֣{ُt%4kD00͞>ϽqΣַة3?tX o*>P| 2miY*# ;FhU/hnتen_R DQJS]bΈK·]I*4{L?,X݅B4vʴq;aesKu{=ἍF3VSiQysi M\U"!Flc{1:A1 !܀IvUb\0g'@;:KMiBpwfOkEbᯱn9y=I$b鲙POQas 3j9́Ū?*Y_1'?NnD ?\Bt3`a$l<3Y".1= 9uejڷ}}1|6raOOfm_6EzT䙟S۳\cʆ҃DcX֮{/hMPlrPr L6W[hQ-*XG[$RQ{} %s>s<IP@KD.^+ҿSܹ} ,6/k 34EsMifSJ~B0jd\}Ȣ'?[l)ʛhXoiH9 ZZwõq*UAs}'i,Dw>V|wfߒ^50ۈ#'5TZhWfU]!{[~zNl qGT-l+PbީүĿ>>>۶mPa㏟^*TeQٶڃ\=>^pW \#iRS=IWȤc'w"JvheOKd⫭g8Gʕ_fUM.g9z] f^uH` Z)2p^P(Ru >Oz/"{c^ȸf3 y-)_6Gky-٬[~?=VF$G:0mr,bwO߱k!KGO%eƣIgAB6'0hu羔tSWe[ox<@|ov2WO c/BD(ԺC_rz la<*)"tlܟf6DY#R)_]A.((l"#ɦ6}|Go.RW%O{UܥfFi 9&D , 9>/r;TW%</WY%^Z,Ey[{{T3FOn> V\8$> 8Ϸ H$24Qw\&--W1 j ¥0di:8 /!3A2(N< 0 g;p'#;b(AykB#v݆)Ҽp5m#LW1 *܆59ཁ,`3uerSI`g _8&JbڽsF=!64d2||?؃3GR‰6ꍜ;I*}0cN&̃{+67jUkXPkݼ8ӎ[Hd[wlk%\GeB'7-dAwS06&}زǸ·t:V<˝r;Z'; 5J!o56yM^M..gʂ7clL^Q k2|$|ҷ8*'>x$Mv8Bx< ;''Qel8rN:}$+߇VkXזh?nr#k{m|^kI 1rrx-m ! k|={bDA@eȋtd+% bJ汃]6(r(qRo|NʮL{fOWi\IW[C-QA  u$1Ow6RD pIZK >I9ȑϴD5=2E>-'R 7;3֊Z檏;,m_l{甜PGHq:[K

n jC>J+cd7?0q-z\GBsA 4Y. Q˛C'x3t,o 6M쑞~=N51 _~tȂ-HH6S՛~.yH?O/JO; e]I4!eմc~ѭN0]@7d8ם4?yOSHC&'OfHnf,28M&MůXt`^EvSK 4)XtseW`qF},3p%N:XAc)7@{t{%*)mZ6 OJoofnk̟@[F",P-&&)|)u.W+&4J~eTrZњV>Q&Ňql/-EU0||&W}5`:{r٠jFuD<3òStE։frߢѰrcLcI^J@2Lj3OWI@)Ѕ|@΢;^:``<\zMb;'76/+(&,; N&vz^U B7זXvYs8I ]XŒ2$W$J: C̎]x(8%1xoЏ9!GK]NrS]_|ާ[9SR jGʚ'*G `~Bż9cV ܊⑀ōa9c%+|>qX:G7ƜF4kj Iw *>yE/m|,[:z7pDWPAhcnhN@n͢}");̃1!U?=Ӂ&`kMYG8DTᏤ2`bí豓S6N+s !l/=E9XJ qJnůۚ"Wپ.r7|?Q$ !&(cH6c 5ڈi@MKF̙]*wnXy*L%yn8}n 4OHCX\Ԕ`mG\>[Z Ei# _R_.u;^ Ft.xuCe+UA3RYojHy:*4[G >%6!E&<s%͘<[%_t⢼/b{w#UۀVeAoXy'ԔM^/295t3g_H Gh?c{q/w/P?Hz ŮDcogF]Q(YMou¾ nV+0zedRJ^()!#5 < o}:co<h*@V/yNε*NOW9Toݫ zdsHwU~č={fz?ZU2{1ZEma*s}dP8x yJF1Wg_W^Гh|y2Yؐj ԧ`]n3TgnC.S?!p|vC^u i f+6Iaf(Mp(.J?aq) ~#AHT%"aI uBvy,u3ذ3M/GÚxEټAepgld)jMڅDKBOLZg?.eAܟa pa"٥zT7~H@ɎrLSA~L`Y(*ń$ā}:4Uty{h>LKK\~A>$t1.hhƦrO_ųR]FuqaS87[uZ(ne7skMjWE^,`c-t]ƹke}mF !Sb.D1BTtʾ`h=z|/MHq4ulo{&,^XA\ܟvIpئ:$#.DɛtmWoT9YݑFˆau-^V)*׷b@CPޮD ZCx#.hy.)GSIAdd-F73k~oy43I85l?Әpso!?>ϻ 230xoyD[NՔ@_PC~\NgR4NK1&3j6h*GZdaaYH 2%u6g][%{ Vh6lC$uk-\)ΗNn?}u#mJ~Y"3s-Q/$LiFn!qS&<%_DuRJ1Pqm*jfP" eٖE<&:Yf-1<= nY[qX\FujH6EFjNFj-Q*t;GҢnh~$-1re4Yg@qNg +[t,up\g} R/%VPA/w'QF +dV".g/׺e1O[Xz"C) {e-na|K|"uAܹU_w eԲyJz0xada:]э8vQ4rhOśIyf?*vwU{f@X?#4~DUb~X.{FuUGP7yp)jo@z ]_|6ٴm^T:T>4.J6*k]pʁgc[;5%xa&oy '蔳A%Hh p{%,5WמE2*l0Ah=3 p2vH3ڼthPka=g n]ma(Hk`B5Y4 5xD{qngp%e{V%wK-oW; ـl:h>*YaVR~,Hy =QWu2J. ZIE _Ll ;44K4 B>XA-3FYߨjcZyaƌK6T$: a}s`Դ [UHwSb=ǻtF@"X3h gޗZ/=hb<Ǹ zUxO&/Dbhx+S.tHL#ﳛkHA)|QAIgt.werPoeb6z$}T}]{k}BSHP OE>vq0s~Hv!hxVr, ˊA+BoZw҆K[hˋWfڄq_,O>Roo´> UFfG^~ȷ e#`꣎ M/~xE1,w3˚!v?FIǮ;1L2#lsC )K姪l6PNTA,ak(%J4N(,;UkF^>Ln H:# .zuG&%&1FҊHԨ8zT~y8䜒x-<떉c@$c2‹ EC0`o{d>b'KeǏՎ0%a| 8^nqmo=i3gE$2w=d^zb$ϙ,YD^'*9a~~s 9zGWO>4Qb2帕$Fbwyu Sӗ"WP(c'V6^ǻ;8(c졹W, VX9_~i}YHcm8 B6 WYĬq (s&O0$3{ܺex*ڃMTfQ+|[V-L3xfI叹gmATVl6g>Vt.ؼ%[~pTѤ ^{v#QHyN"!K1G(N0ws! eeѿ}UH1n0%@!eM&vA _mwń76֘-,wa'$#= XĹI[mJz?dQLB5 yh \U0g: JJD F>Bt72_vDQ0=KhH#PJ/r ̞|o+fKXIgA +#/{ySM-p[Td4Q_UNg] MőGψJs2+u!/*WpΤRJG}*4ݸ{{'"w n&38jMB{nh+2o1&|sAX-upN{!;D}[XXAyHm &7I')g1 dt@iR) <o)uye~ݢIKEA6NhgvF!7ٓ>==ղa3kL9 DiUڋ,l{Jbq{DTj;͢؂RM%[=[&UTlԊ&4QL><s Dpid`Nq5j}iߓe7sAU8J6R]J٣I»ZtEOOI1U++ ](/Qq]0$]J4PIbB>?d,*,r82ol\ЍÎİGKw/ԌX4a 3MV3EMIʈZ~K_ 0s;Y.ŠM^ {N$H%u3\aLI"3 6W"NHCGK5myCoqRNjS 9|vҰV1o(ոT׋g&|ܠu'7-DO6lb`i m}h#-0Ms_^: PoDt3oT[JaI ne0gi%Q`^Ro f" TQ/jo"q$H˲`Sւ̺CbB`NOy+6.1`;LsSt $_PoK /5SZ4AnK@!)bjP<$U?ƟshP_|9!Uڈ6x.~]'[yԒ 6&[&6 o |{wOk(!kRׂ"pQ͓g'Hӏ+`p4&R]( KBgh4O*꾕BRΆ'u*b2h hˣeSιL(dg'"Ғ[8:6Sr:('ʘ*q╉3j Hڭ~' +ϡ!6@bh9f;(P`/oG3vfC)~IFWWB@ 16PfI` O"-P P@Kt<Mcۉѱ,(%sbLMfrs'7dM&)Gd6x븇 'Jv!!+Oé1]x̿f!]lR$翏XPfxVSӥ)^}u]g ћM Xy7P)Ή1tX>E$wiofGj/q^粘Fe~pT6ƭ_碇^JO+|=0ҴVE$ fuJ{W2کKp*V@O|ۗ剴Mx qfnjr$cRvJRQzW=dd K6C_ 8㤃8SZ-X:$_NW=2b7c<]F\kFǵOО}coμ2W3ǔ)iᚱftL>![7 C[=LX{FNaLbGgt}g`} `i&g==coϲ*[7+sSOٴYl2q4Z TDDB]YW8@(3!ՊM7ȡ]ҙM:my+_l͂t Du] {|XvrQ1EBYLOQtzsu$ÌrP >g+'a'qWxcв_q2 {@-?rU f;ڝ@m&+uMKF%XH\Oe0J)/$@6ΑW #U2Gx zñ4uŧni%&SҞӖ?$@.uSN)08~G:a` ul7T<&+,Ne O:x]Zلk˖D?]w-g` -++'R, +q"8k{.6nN.M~;[!hRuOA#UkkBMN$ٛhqi-RN߃/b"tC8⁒^DTgp;Qv*e}Ō'3ضqH!S]'CBq&s <Ő<5b!Q0T<'՜$-E 0{Rb1 RS!s̯l_+ђ=?`N'xm8v{OLΘ>?,枥$"Z\@|((frto| b25ֹ|ܑ%u&R`͵7.B` R=sZ{P;Ii\E]} 4.>D9l';,w'ϧPCQ |A.~uI᧦BjP1F2V}*H&&+کtP~ZzrPƧ#lS7,*A F4HF8Ciɯ&^_xwA#;oSFXЪ&vJ_r cv=ڱAI?`N_y\3-[ڄP/+)T֡-\3K)^%͏q u0cL|w ;i6Β #F$pXp }=^AŻۢݛSF H~SO%5D3>~逢ҷ$ '96+Qou+ ǻD&Ųae;gkp9_";F`[hK:I7^ YK gV]ŰpR'fQ$~7Fw2ZNh2ukYq$Y<@>裐au1*ǸH{ѿƞᦌw?C~x#2DX*)|"ljD L$#:K'oV+y G8N͇o6 KQسɒ*C*9Fxt|6)c\v=v*hl2/&&-ĉ<}_$%B_I=I{bؠt,pfn8՘mr !b5mR y5,]2/aaWoem5e@eΟ2H&Teem{$-$l~<`g3F҄,˸g^i&kd0H(ڤ:A[ 0n^z銠ՏC 6EBO \=II2]w*~rDp4 sj$+1㗀/;r?D\, '6(,¯}*Rh[kқY%_UVom\evE-pE viB9Cĵ3:Z8ёS q@A$iD ~݄C4NBP`>?;,Jٽb5~ب8d(;p^,{kA~QOpqd!QAzġKʕ}t;bryWRt ěKi;yvψԛUJàC|+׮5%} KtZ`*vE39pt^[:j%XE@`]ۏ<$}A^++U{TT]%x̏&i-mN2Ycw'Ry;08D'uʎ{;G ɘKͅ]C>)S8Hj]]4: FTM6M8mh sJ5:e7}1=؏b5{ib%*2ϥ0Y^U󣀧OtFuzn*&2&5]ҬĎ e!q3Q-.x3ZD:veSfL~(ɼjE[*vc2NhqqsT3نJIl{=#Xc!j:ط&o ^/3}ܪд5RyM-MvŻcB[bb?iVj0)}g:T{͟ < Z@a' ݏGC.rIcHēX]l=~f~ pp 2! .!fڴ_V>{.xG߸E7tFAz>Avk@W^ߥZUße8@(r5( ړ)z !U .u5,)Z;N_Z1dp0 -;ucr+x$}M^<#.5-ɨ>Ý:nev:9yQ-ͦ.BeyF5Z)r> Zp=KK/DF# 8i.b=<ޫuGܙ\i_LӟÊ{)JCJ1PLK0%A@y4N~ԘhXrV8 <%v[m1;(z.d&|ZLlIʷe]&PW|ŃAnnsspޯF.eG|.^iAjE|ilS<>,? AMaOjܢx3%5)&N< ˜0r4^ ЮIv4F>ڨGЯt60TvV7hǭ,cްbc+?',ڞmK}-mn|\We„8<ypϒҁlER%FC' ?QKVGPBvA;XRdb0kBcTh۰6K w0 js)O {>U:mUy/}e|(I&3shJ'μ[R' d%g6j͡l5}g   ?Rl:h nOX)G7H@ Z}㔈"q3:ýih[IڠX}76[yYw`%[˘[5IRd.&;hyM@9DdmU&ۀ|F>s z]}I 0Lf;Hk_Mղ(=~$x>ʞXo|hj. U4WG,?Χ&{ujpCdB/Y-h׳""6fFY2,(>&j״T}utAo#6LVwNZHRȟh.hD,-op@}mLD3/,߯BiU=K.(@OOA2CW~J, 'G fQ7GUZL"e+CZcÅu\ Tus6WJv`]r9 8^գIwd7 8qoGhąCjA V M ϋ2i& o]Xke&_!e0*W*Qt|YgBH5CutS,4ʄCǵBXadD" Ҳwh򊫽"؈5 _8Y|JqU9=RtڑkNP+pOYSvARϽ-O&+=&ghB-Lz[jl1&OĞvr_b~ $b: 502mT]ry($5$g*+ V% c*5}R*_B}|9%5_WAG3E۫76eBT!R@Ƿ$cN-,{0Sh"HGaGKn_=`W\.i7QxF4Uɂ+AV|q&UyƲO9} .Ҋ~0`;wEbn7BQF2HHnT#4KXd/ح̷ACڢ3z+]L`[-[!4^( /eGfuv/kȬ%V?z"/ T64~^n7@JW(& pZ mB:Qj ѭ(pXZ(IM Vݒ;Ee] \ӧd} ~]uAJZrц-?2tb1c[%hx)S 3PUn;[E_jַ vp;vX X\F7 ѽpbQ Zu:4CTmiL~ϝx9R'v :ߍTyw2nXB=B,6WsH%?8A,gJqYc6t ?n+Q*B48@H\. 2Ee2c!;Egch%l;&P2NԜjo$$Hˁʴy* 8%HD5ofpNU??(ˤ0TRL鱲8! Yl4ﷁC'I %;VvϪz?o#^[2hD An 3`Y0/vw79rBOE*PKx^.sl ?}c2;<.1iSΓuxE*h0 Kj3|1[s㚄=<Zh?܏\=nS僩'<^ʈ6Ą%pMam7OM JDDpgkO ^0Xi*Z}կjZeI/諅} xٕ ! 97JSBn0P:w5qUEE|}ErgH\S'8}K9l! 7psW~t|@mj2B!zP x{$ oV*-IsX}HLdy$Of]8gTX:(;յǵCz4 PJ ĎMtEAlJ_;P3x9p:_Z_xN4IO1fFx.01SU$W9@@07Wpf<r,ⱹ[}W?8`6!ZO\;M.iIo-5GkR4M(^n.zhD3ɿ_b]woݕK$5,nNE)nzxc& '^;t\"NJ͊MywN\!:Jcf5`$K gU֍T6}$JCJȯt0gs<(0薣,Б8s'lp+K6U:s  ewuwO*q|0Y^qgBùrg@ák x tqWydd͈N_|Ee/+y%iˉS}<ِh3&x4'>u_]Ͽ1hCJ/k@T!/ek"ھ1DJ2fd;"Dph50GgEҘ|]S 5Щe )MK/ѩ tpu)ɯ=bd11|-wyydz>)_F}E~}0%7I.l-k~#.jޥ.jkq|zoIgj?hdϻܡ}c!q,*]HD.]>wVi9,BTf]]ꁬP^J)}ƮOq1So~Dap5SD2N^.V Ҝ7=5/"|)Q&nnJ :^1fE%P#NI|*dyiR7Q$׍HlRūţW,u^@E@jE }_=vUXVhif!yFAy3Ȇ}PJ1tu B_/Li]k@u[C艇/C+ܑ#r ې7Ԙ*KNmq":8mu.d4ykI:D3E<9Rzʞ8=ry"WUd(I%]CqZL L8$"7?9zk ;&((k=UPݮf:ݮId̽t܍_#EZni &1- )eZa}M,:Vn,x%}DO0,>^};Ln8X0GsB1dP;yzP#B$~?MoD ௣i)frfXuCMt;]rsmZ~~'[?]eM{SX2$gn6&{pQWV~l RV! 8rM&!w—ՈkNt^3kVY-н sBwO Wf"Wwѯ'Oi|#ѱlw]5=ooxyd%TCR7&Bt3ųΫh>seٔXC} `3;l[C~3 |RZgU[C A.ﰓ5(b1O~4f!ѵWďb.t6'bF?%W*8U!F wf0 zmr%!"1hUC뼴J:`6uVY)bIp[3速])l(iYxP(9-qV(0#[~BʃB ҿb=h%XZ#q)@״neSkObUvakX:PPKf}2UذMK,K9vCb?o0EAe{Z4|XE9^6q˵b-FW9 O)hoWyJYǤfX5n~8ߢ^t i|w"؅O.dq97?R`}~j$țH)j3sq.߂>\+CdI_!5L653cmv}R҇4-$h2 ]S_ڊ-훼Nֲ8 ]WO2!kGAPԴޤ Bs¹50:*g~N?ٝQ( $8Bg ׶xZ]!~p.Tg_LNڕgj! *UmW-~n^;K ~߱uSVyb?G@pN6?&Qп4&lK B乊WսWN(MwYC~.N-}Y\u`x5ZcB$:q0;ne kOlkP]ێc<:<:R:7@لI- XT2@ˇ?uKE˒ )x>ז,~\1C 6p,954Hg*>.#%C mJv}~*@S6lI ԟ֨ xg5AAa߄Drf<{\]'*Ɍ!q'ґܐ*rN6E#"Hp$3]t!Y+ \yL-YOLZyX!RG:-fYpF?m9|^B+DAe2)BZGŴ)yFVrƝx[v$rڰ6hM"%ri,,xCm1)ykKnQCj? .(uBKcE~&m~=M84={,u&nd#H!:-G`CI9. (C3hKw҆K 9iըő\hFmQyJ_G7LEfer8UյwZ|0+gqo v#hNH!gSF~@9[A`LΆF=m^=Q6uT28rNtz " J_\H%it/p^((}g@J+A!\('x--X|RI枋0m%78=^/0%{K lljKr9ғ}bo)Eܔ1Li2p) U,Z\Ro{R<VkֽhYi5" P=*f$'":p^bLhz^fh|/>t3$^M%7!jBHpԧ5QqN˶ :ݭ8?6h}B$($  -]e”XhѮ' \$kYNyxm31v@&Sa$2ɎG3p% ItM8H?F.Z8+˒u?]73.Xh4v~VNCMAYȎp^_9rx۱,;rQ *B+}vmI_[g(J)m}G~Ұ{I@|"E?V6b\g@7sKj`(8 $\0Yp/:|J)eDI<#|u)kv@:Dk_+&e #Cz$y#IFf|-wii>眴:#˻(fBqh۸0R8jr 벫'X!BK?SO Op50A`UHcʆIT ̒32Y[7T'UQ.ɻR)lR#7VvxG )Ե4v x:l\* %mD|/e.'&aq*O}S&tV9uEF;/\,ri• Ƅ̋XrblIf {DFh]MAȝ9,(/H:ZG)ceox5z6JL5`h]~K+9pik OmIƪ(0?̣L#%g"Lr\V^ύ;c?K~HI|W @z̹hQݺali>!RwB[EIM4A>$YNu%Pe@ai'g-I~G%c A Z<#Dui(26=׾CcO~>9J [,DRjlۉs ]#jŚzN $1[oKuij?H} -S?_jMPU5+K0~@W87 ~l/k(V`̡e"4*HpڄZ3_פy8#:龵F:AzHr=\6#'֥|C=V0<6iŽ]#MDȠJyoXܛ:ɨB=\7+ħR^IK3:aR!}cíGLՃT:/+~Bs*T B/~Q/YR"m{ԏf7(v|KK'.|cY@^n 𒃘Xͻ :q@gR.:M Vq~C$::\ ^Ⴚ QƘ=aͼGn#' g\tj Gtƫ&HƧ)_>`v >?Gq؍4{9Y=NmgB0lMSQ^x& gw<^`O;aÏ般JBETQyMS+ rT39Rr̆w8Mdg;0b)K]=*aJ-q~uyk˒vs0*h Λw`ʸ)x^t4O[*F'FWcV`9}gm=Jb5}`e,lZ4p:zvOS0b&Ki qH.pf}djjnɷs۳ ;ӕ%MXHk8 90ɨ;}E E=4ǽE Zdh1܅PTg1vxbDZ,* 4IΞ}?w %o a0)_{;z} ߷jgH34}i&_y8=mTMW3aUh5TEN>}LH0n8V;|*"jÕ5-ߨ.:I%/d\ R?J嚞I^`.V/)IUP5uvǖvѭm7o RI?N']켂5VeB hSn[ycLnJf#c@#a6hRR#}#6<)H3RJ!cՎp/U8\7z)b_ÐcF -E+ehP?j3yڧ+"3(B2١htQFXi@9:ƃ@} PKb6ؓe5 ++bDN_&_QKu[^;U{eյqÎm`WMpOxׁbP]8Ppz4 Nt:O*t m'SWa#{X΅ s=݋!XMzs4V2B/zXo | Y$_3ZR }Vx1)KEj{=}ӖWR~H5tI\56զ3tNx ?h)Tv } #*> 覔{ҶGbWVNtƜLGiqa5m/6eD8ĦCk۪kUxыʵF F =lo.GwX7KUJJhGdV_>up<r8+A/V[hTkZ,~y{SM$>` B=8Uc%;9쉳u+TpRж}<¯~f2J̩21U2uI 3z)z J+j0>T"&yN}cnj;.fmި<屐^s[;,j͢zATN(/]N#cj - t <- "˟NG Ϯ}t)RRBX¼8g%~G!բؠ_s㳴v$_MG?.WrSYbv1(t.+)H&_YU#>w!{Rz3&+!D=Aϋw{R\ wqܝs2 V^ŎwO3bh)s%傼x{6u0IaRudKP? nģ[AҢQg>,9U2Rqɡ1}N .bn&5['/SЄ싉[7@ftJYR_JEkH]3q>zy]?а`_>Nm=i$p;laBU S1S/u?.hU5ךGٸEcڇR܀Sv%m}5Mb%I3^v7 >RgA4D}xi9g.H|yi:3%^?>7W@y~ PdJ^م?;T?*n][elebo/)&N@dLI-C6 ǿd$x_E 靘a) x%XV4["er`(XNEaS!}%CS. 2 L^e707j+cM鴼75?trbs{7tXRܪ/!k_w"(w|mzj1ԌLs/ & 0+F:!:sv/g!_CY` eþJuK.$H紎$X2iwq5 "bI?"Ta;Ԛ^fkGTtR[ךcrG1vP[pQO60Be8y] 'Lp s&S<%į:M {^n6 v*g*7#WTӣ۾Κ9FӠ<M,Z >ޔeoQ1r6q M^/PG'IV< .F~{YWRV1 2Am t'-W>id#zؽ7f9ɄE -U[|G߳KnN!2;* sP6VPz;<-אO3o_쭺|wu9=hQx^X)!IhZMIϟټj# ܕk[q껫C@hn8na!)dwIHKc dsb6Km,Ju$0l hGɿ-^n?a 9XAUvCTYs1Z-US-Y 9]/jN_CO}OB IR#w22lVAE.)x>Ͼ$l7<VR&Ax#+LAt[lTT>5\+"6eZӭ:\[ Zmt=@gώDpoJRU:p 6֣z^owP*p"A$ӕP?; h}{$)aHČ3X5hH)F5i>VxhIuY+Q?zGb*ZB!n&Q/s r*{@ bIns\) OA`AG+.VG+;#y0N:lа=.dU+@dwlej6P(NM' Wk.dOl1b{YyYVHO{mqGaNh obPD(̚Gb?|?M;'šn`{=Lk]mvuwoƞ1Fydiq?55E†^+l~QA݈Їg;^_")_G!8B37@˫5ou._%rֿ!i VpI+#E*r\x+O맾GH@߷g*%^C׉3ڷPAw>&u^șnD겒2yS^`(Uۜ81ˋ\,2UɗM bIA~ [H-v:nb\+AczXad#Q@ PW_F]vMu/sKA󭭝5S3+ w ^g x:CQ Lc9nI՛'ƿU){ kV cj#*C߻%7--A·!4NkhKv/`Yi,UGAUYU 0]9[VlhG5PS 1ӵ"dŸLEXBO;=K(ar>c!V;u‰DgsUs%ڄQ&̂jR ~{#t pޑ4[[koROqY1\f s4 E!GUU3%Ku{[^ Ϙ2@Taf$RGS2e8T`"rfbEI>̌p{Uo 89Gd@0j韓`?=hyD]ލ=:O%B"&dCtf<hc9ɶ}6E&aYcHi, C"ޅ)+\y% ܣ˚MkL# ɮ7  `}sճ$g1#t}vϩ+9ſv(G?Im\"Ûto`okN_*{h!< 8"r%CX9{wBdXJSڍJs{u6:9LG2#j`{)d DEը׊5%df"s}'aEQk[?2)}h쐾n'3f&hkV=l&z^K*W+LtIoYm0Q(%0hdIm&`}UdMۗS(: Z+ϐP`*ES;ewcp(Wn5soe'֙ d)CRЬdگbfi 26m,lP(&abSoζǪ uoTH⫘& $Jއv:^ΡbL]hp2|$ wOk6n|v%fD["覝x* 6n= V;dr,N]zƒE_ h1;j߄sܛg8dO> $y lbX7 ͽ @8J babHib }uASp-w%D@|_,R nmP<)̍gV-649*2z}oCҿm3{*slg(wM{5'~q䳹y*RHg'\) nl#B,(( ̀100vHMxnb]ZshspzQj SR  جu{XF05NYSAS+#ѰMh@I^Fپ+VkE,ǝ _0w!ו^xߞBǵ_,%" R,wz h5jהC][b?.WUxv9+&TWI|*Շ J]tYX趧 5ӎ<6lvr"H!n^ag%[jLB~QĆsQ-x̦XQi3&Ί0BUbg;: ̣!~{?Ct<#rU"^*-C";0^(%l 1-+9œ) )N/c8BpuBt Ifۀ7skE .2xO| q ftt}W**NrB´IP9mcǸXץ7}/bײ!5rFwZ>ؽBꗶ'^lJ0xv`t|_*5jȀ vt9xv9[3]G(VSqvEpTo7(zw9B<C<_ճ5d-c,&t [.yJaQ"yQ,^P4H-ӆF(sP2lvJTtxH9RG #U-P1yd2mOd@ؘO׉6zA1i؝[]0Xy!p@Edn"k r&D5`I+Z}&&>r9GGA.H&T%ը]/YM&bÑ+錜]5%1KQ, ][facW|y9C%NSovA$(gmI[L.iM {!bœ}S8(YiN.{<0'=}Ӏ5`|C1F:*>~P QIrQb1rKy#Bĩ6MREL{LN?L=Z em9O8'@A uO.1t23}y{rP@lA*c0}9QuWv>ic)ebAd 72U D;U^W21S`;WafĹž6I;X-:Bs4R:C#IZ&PvgaN7x!(3K%Rw8F42h4RZn+G,ۦ`]0=`PA:f3)p{NHFGִ,bjU FHe'ojA!;)]H9;ћFtڻ` 7Qp`G*Ra^4g4%+^݋?춍pUf=*6v1_&]8E8N+,Wɝ"I@N2eoe 7e2M.xh[w$^؝Pl Jdsֶ}s'Yis *e$sd dKUC18r^ݎ`sal0EbuJXAaq@~ $+~'nϺ8CnE&DF}I NC'ōqN_\l(12XTB`$yj¤F#Lgdd?5MTŏ r4lS mc/]LwA}8&IpaW(RNhHpE=Mbr/j1c0vSC3qXPv- Tv&!eѐ`{t BRHbLgJhrŜPCiEաώ.)Cs֔Vht4t. kRӪThKH߼Bqɻ>.XgƧcڮ!\T-:jK6c ժS F\J56cWoCOo% ^| tenJ7ȩuN Ny6T=l.U THo*pC!()f6n}WGSekؐCj-%;1G RO]4}!sZK7y@ ;JV%܌$pzz8];!c+%0avPIfJ}FKrYj? SA #aܳr7G̲$"P͞+qUdDn$ĺQ~+$> M%+'VW*!^#dx5|VH=aukAKۂuh1wI.=R/<$m';@C7 }ۊ-ovvα)RqQ 2,(n\Y gϰaZju eN9poMIpiV3R%*?2C :YwRF*,MVF[9h*sΐOk8x(7}yD`;wåDN^bf34Hb'L%,+^ *8b9R 7@vuՎi>jzץs5:sz腝1ʡ…_b U3=a*$usNٙf_lP,gM}:yp_,nmkf Qio?M.hpzbc,^dzPS(qlPvI&؜XYV|jv4':XR*End:=s0Ra `7Ip߀Uq#~֏Ǝl[{f->aRv:Z^.aI}}I )l_؜yj+"EF R>3=#}3֏oЀ]d 6g"lic0o\K`eZR~awnfxJju"@s':g#- E&`S"s6#;tJfo+I |2PpGfD lr]9N~:!a80_$ !`CjٹRtWQ-^zcKl8G8raՓ}!2y^uX`w7߱4*n(л|D/DsF@JG 6? eCpĺ9Cef {U*w2ac"ΎQbg(/8(o#'R9ä[bL|S< J;G˘aZt[ҦqYĜN* ́wI^NQ: 1ΧEgƫLZuxnP괃[ȁ nHDTz4e.m̩'PEpIvJ %*Ge,TL0XpV`C<6ɹkH ;U"5&'k!{iBc[H}-Gѿi0.l2Ӄ7sns{ȮG̘46s-Ӽհa>xߡO6Ei Fj ZÔ';U栣'U*=u@n=D0mzߪhgU 9Bșri{7PB*j!=fW즶tDث.s:t^V)gw`ř;z{>ݼ%>tBjGb,G#C**,UZTm9 Ml6IFYɿw3 m`$*V!X03Eb70/3l# ~ooi,ֽa:yFp9=2Sdxgd!z̭=nIT7%'\ͯ.?{<7 |#(Xzˆ&',.zE;阮kzkn2>ܺG7%-{&ʜݻiZ_6NkTe9rHQ$x)] .֯YɲCA3Vh扚IYr"f@rnps3ekGe} qVcf6V%7eP=}5F߉|#o/qks=cmxZ'#bb eێ*EV\#$Іb0nMs%^: ´2Yh%NBR̚鐭APu/\%S0*'z[lkEߓXii .{ىRJԱŅ ڐG;ONv:j^/R0,kCrQKP?#],(O-S{ ^B <6mYZ㫺;醌ٚ eAVJ[U!3;T s xU5or?lizBIzиҕwXcmk9JfPHPj  I̓6APǓ\ 8ݽK62:2E[:Yu53Hyeª"N(~]`PbFbl[7Kj71woGF!y'qj'& W2 VDĮgA AYct2+OABH"05ZGwU\iPHqlCAG굴5p! zrm p߀1]2CKtaXp|z{xK&çT)?_e?O/*qh~|NaWM !6B#IŸ( 3A 6|}揚`Ϥ5dv~u4n7#plfq85!\&;9 umiͤ,8z$$bhȠeR?xPCma9 :^k]_kzכNcH!Bb_3c?xz;oy嘵ȂԘ|9Mic= *N6sCoڠ4Vr&Mb;d)O_ G7&Ks\$_'[7}#3F8 DpS)KPb(5p;7f LBѽGø^kGp_L?߉gruJr*غ6|ٻZbIi TzU=5;:Aǰ 6|#H?hWBϖmkk1Ձdh+S۝B'\!ٯ iП"~^5JPXoQe Nm$5B㗥oZ)EeGegKI~CDpN Eh) Ϫ}Ϭ`rR\@bʺ\>jm[=V7pɜ/ N4)Yg'r?iպrOl,pfAҙ,fڟ2\BN⍛G{'q5b`B8&1;Wveq|A=E*֜S|!mLn*?2.ɩ4; !1ǻV_{&}i_}2f74'x0$-J 퐟{r4PCH8ɰmՓɦgDՠxЗja4y1ʝJ<('F0fphhXwxWCxUEOc]LOUGx7V.{ѬVϕ"Ȑ,+K˝>° kA,`! @ګ&N|eȚ 6 ]8:Z(!<(65c8)O*d!KmjcVjaaYKDXc[ N/sdp] g(d,8ꛢV> 0ƯG[b2klxvxjVG]g7D=H)Olbb~ ^w}fQm>CX2˒@A?"Rzm'2}I3oPV4oo%ĢƥcjF k&c|K2^,#~I% _ɸ Q̃E6>7pM""P̧Y* `#]6)vT$FiKƪ}%Vs|&/ xn~fA5'mGK{^\/Ilej'&c"Kk\C;96YPFRc7TB۹/HaټByMDߒ-]ua]S/Ex.Oq \@X*T ˡדan7ċ&8.(aL2Gw=щ^(Ja25poCy4IgAt9/k$/VYe kgI&/NCS/mJ[Ϟt5zAWw@_,MN + f1*:ϭ@%XW`nzr|WX;7h*[lqbE@# 6ёhU˙-La oMH'SAgM/zaBfU8-4_N,[ >M,@R%b*Al@=׺*o Qh߰Q_kak?jLd?p{tn[LC3gȁ3k^2+/XS|JD|*T'rE5|s9g?/[])\u{.^PLZ Qx 5ZI6e5~D@uş&]ɩrBɨJͪ ?Dp\D%'0Q{zUX&1.2?*证Owm?Et`Q';mN=ajEuUx qv-YEr#׏X7pP"i[QDTCS; 8T^1rQ9T)Z1b4og Wi4 O}_":N&6! 6CKV!`<V5/ʿJP߹a0,SW,8R??fG$|FȈS|%{T(=8Smm=^ ǷiMK 1'I4| zL0ߵyB[)L y5_q LK 7Wz=d]4)h?GK-V(R&˥:}zgT/>TNp\vO^k`&8zɥϹ?Ϟw|][V2`\XaRV5%DҞDXsJ+qu<>>yĤTyYC652ڎp ) | \D|kC _tf!SSfauF/ A?q _ v#YP/0nA "suU],{ء 8p9p\8N_B)YqwQ!v)$0͘3$h`P@'RۃA)gQY-]nK("Ϸ$jWlDHBWgRb"*5BinlT'0phR[QzA w `nb:`9xY}%. ZlD*mXϡ[ #Uʳ & ^wNh1KBtZ|x*^W͹ձ.b azG)&T j# y TjtG@tҜīS/j$Д#84=[I=LQPͼd8Ai]}9d*UTktuaAHqx![%(&5_ ˜}Ѯj0ԡ< tyTH <7Гq>ܮ顡0ٶ 9'Soy+ڗ ÅjXmh'md>W[VF+$p总GF"*ml9ƂAxܗ4am3 WVnqܘFF2FjBCj-śc =]l#KX!\( VN0bs<8݋IW?$Fr]iC,z"cߎaNRgT{nDf1|2]{h  R^rظz%xI3*Y!Dּs'dF)@Ӓ;$WAHPM1k͚1pqX SP FeA+*FÙ I/V t)V:y  7go"eYSD*)>]sȺiG*^YwVo/<'% w# Ypd"S]a2%x(?m;C{R&4F(ba)ǔ0QGb| H/>TS-=(s84V_cPb(m.ɟ;d A%:&74BFc!k y1ZX>QB‚}j1VHe()#qg.y2>vken&ugT=bS<011*"4{&54Mi ϑJfj^W{%\Pu;Ṻ X NhDtĖU&^0A(_iO'Tk6Ybs>) [H12"KHbT">! @ *" @8a?bIK6؀W|} heⅥGHJÀ @AZ?nG\ s4*/ B#/QȯjLV@b鴹gԎ :L"݇FV O! +KFӃU6ymb}妣s,WLYaf q5s|T(2^&cr0ꦵTAWnqA:eo]y(}w*ѿZB6ffQ)#ӣe,%"K7v~K4 IӀB &EpĆPprMVk Y<74ʂv.duLzZ ʸ zfEgC%hinǪv <9 &NN{|R6F[\ 2+S^FfZT\Kӂo8[ϣNcw=+yna{)ܡrh6,oSݑHh4GÆ+iB 3꿉b:%U7rgyʟĂn%Hp bj/7M.Qi%=GS*.[,^KkL(*%2krυTE0G%3FhX{dGO]ְѥ:FrGSkV)C-Ւ]2{(^@FRdLTaݓK=lsoE=3BCWo􅐗ю*93Cw\1:(іL%gv.MZ +Rv^AW嬢eTV:\Vhܱ*D\ާڕ;ie7/ڼ,b]6 n`*%Ya%w=bքhR7en-{RxY NT2D_<]ToGJ@`-[:ѭMߡfP~F]Uq zɄO RW]|BW6jt~?;pkZqprlBɰeЉhߟ;bVܟs>~{8 ;X)Q`4rQ㬀TX ϷxYvL1:prk<:92(OM jjQϘ3 Z>n/,oŰ6 (OC-6&G0$ p+6/۞anMNYl*LH||556 d- b<4߳BGօ%8W/t[bllH@BKm]萇CE)/A (ե{Nu*|ঞV>Rr,BR ys鴂Ru;zTve 7Ш5zx_fe?b1?CC ^`XSH ?~M?b1"ŚYs3#ӸT+Uش${W2>iܳv=O+Oβ5;Sz(0ci;%Wk*@nE%Z\wG~Ov4z^XCbydh&nY*^Dz *G/v4֘6cT74U5['FDx $| c YJ*t{Z⬸\*N=ݷ;w<_K|\.KuS<^\Y3n0) )+j'l~m7ǸaT:H7/uCЅ 1 d[fM"y8LnITݲ,ʂ?ԈبvbⲍD8l5/~N,FzSC IL͖j3V/j cf!ǪBҶI>T\i֜L8H$h5 *';UḪdʯ$j.UDRGpq{;̐b!$ s-$4N>輘?T)#QW9eBZ=ZtLd}v34bny RK:@[٤)v̭jIiq]4Cm- ܕpECh'` Hs,d2ÈW!sK>9Y*ݽ^^ɿ4z=6F*. :hXCOHDo DY#ў[6TN烼^Č[{:z5W\JKP$8bYA&z Ѩ"43bg),di{kr}yJxC.5[/*>[ƘGgͫ?dk;VƢ%ЁF| x")|DKq~i/5]0,w!q#BRj}8FE?_t/5gLX !9cmHV$ &KXziӅ#mEiFy?:ZILV!9Ҳv&v2Y=FkM]TAXL%& gTQvKyuHIݪKBu'(ŵcQ #u Eru\E,D9CVNV*!#E7p+(0Bm>d9QCEbiϕ1'jAHE'OI篢d4G-(YjrQUi\Ox>N2}|Fƪ,9Eꂌq`)g 5N4W!ue13q\TyŃjÆx bIf"lɂ"ݰȯ2|yȜ()7G=IJ} *R~. n/kUb-^{mNj8Iq`!-G.i2=9N (= YbbxvPR8ͫ!Ȥl@LlRf7Uƫ尽i0NHK;!Γ )=<MDw.~&*Ng1Mzut7o߂ l>K8 rX\'o){FTk^X<ۓb m LXUgJfE,feP=F9OZޭY=IS|@̓2(|w)ٍvxOߟ3Ӷ~&,XwQO_ADiAx{7]?5hw;GUܡ! BUtkzz`bFVsrpZM+ĢlYjfSC$$_*h[$ٛܲwqTrw-w84 3)JU%2:ZC =䒠r C`5 'AFNV#b?ӓX4c&\ԗ4ypX Ƌ4fM9_RwޜXul|&d'\\P윏IBN&]x]ɛ FScBwt+M3GcySX/5 eqŠ1PsiZ`$:f̋M\X>;<o8ݪLQ*ЩB.8Ew.}4 cTܩ桴P-ܳqLb:2ßS1w)R `f.Sq+l' .pu@ju63J9bV֛$}ʀQ׽c67XJIC$o)7> ӜĿ:/:{'t@UN47[%Bugvw]2ִmEy,X9}EI#ʘvXIPX&`\Xmn^dH}P&'D)5hvm|镙Ydzx_sJH֟)1MD`~ZO<3%#5AH3:[Bd#4i ڸ^(^d_U1{Lp38 oͬG9GOf~Zj_@;/tDV*N/&=[F:0t:~QṓL .F!v![3Pf't Hsۤ#rNJh@2P lݦBӀR+;{穅apbؔ2$:\H~P^*]"[6,>Y~=8hLKݖ Ep 9M8>&{9~)b7Ǡb9HC81 2C=pb;Գ/?Tωk*ܯn]V0B>*aU I\"퓠dU HHǪF=Euw\2%%f'/P@ ̤x ߺoSBŸ8xkyuhF^/,:7|ȸG쵰3do;Id<%J&-4%TJ|,kmEӮz[-%(mQhFn5氼ږ>ڈ֥]5E' Tc/q)HDx$RNi cD;VuLԙص_RU5E:IT1OwrvG(v7ehZӖ~Ix f8.Q])gg܃6׷LBwWN 8d/-Cns.Dq-{'C~g(T F&?*p 8̼R%CX : tkSxAR)rBx6hu6oR7z!϶YYVؾ-`GNN^GYUBd uaAEWO1p֟URb"iG> DhX}qWjyH4N%\fLTLv|im-D7gs5<(lZZi]C*~c?y;UN*`!kbHlbE5.Գ3f?dj>7cxυ}9$Wi ~/e~]d뉳J5' pн+ eM5Jfj> " yUDN3оpT @nO󾄅x6- s%/;+_4s ңlcGkOd R=5葾Q`^fS+\o |IIEV3+|ʌ FcJgEI졻Y^<rVs 75U)7•MZpMJ3;@8S(4qӾ5 ;ٶS@ %kJ[`aw9fQ;4姣iWm)l 5y3 ڗn'(ȸCTRCkB$*hb4{٤9po, ъ7z]*C7(9 wK'w5|[h>!0հ|a5PjQ 97-=/yo}U%E%V?֙42"+!gMKCQKhq`;~*n r)C*ix[X㮭8'GY}p{C|CS#0$opeO 'mBX42( ڊ\fL~PP"bT#|AEoX !4'1> D,VtVeE7WћLCiajmo̠4$Kz1S|<ȑ8aPxA3S i:m!KԤ[gPB$GNuh3ك͡v7: kPϙ|?[_2piw@XxVe@\ oi#$ЃC&*}dlWV&T㕊. R0}g@i]ggit~ѿ)G?^VbrW:_jr Lᭆ %R<{Òw7Hx3O3YS^݅\V+6TcE 2()W*x0~Ư b˄*t$ua[[ U|CE濊ѐ3mCˑw6Iއ(]sDPTw# ܁_Ű؂+`$x{]M> t4+tREIbfVڿ#{-^JR%i9Ub&-9=XeZ.m?kW9E[M"9Tɸ紧Hf$\!G'e[Dx'є4VJӓJwkFO"Ʌ]9H/,"Ek Ў%ZN8f!оX-j!s4Y &u$Sjgn H:(ZUsɝL*dMô_ |u`Ug/Rx7rbs=A z)Pi|Ra+@!%&R)$JWʈ-RJ /^p0M.rP@UCbʀ2KC;~[rl$~nN>%"UcqZ=J0p11-$N|OǥנUu!1/ߨ} jWV ,Q҂_iCR.[:BZ*@H<0%.s#\\*Stya\t&/ID f(Z 珆r3A3U 툧O6vJ'p-*wؙw18z.)/ @{H3 C >0(euCćZ B= ӵ2b|Mxِ)HX{CMr/Ak^4/I<X*F@. OޜS&" w,W!ꅢl{JU>){Z$!3=,L`aj$`PG84 uy!m3 "9jBtFn9`PL4׼6h3goZKþT%[f6c; `gq؅Rr+29)vRMg}M;]&h; 8ꉣ)0:)4,A"{l#_l26b\߲;8BbW<JO3fWܝE%Nh l:0_t4 44x9.Ǻ^,/dBoX*s Ps a0%~<7-rxͯ҈ rr!Fب[)r;p ZmZPCW/|-vUmA" k vN 6b)aeRϽuMe2V*s3EߌiC%묐o/^>w=4 sGK!'bfR-]pZ4KSRiʶ|I Hm31]>NlAZCI9"?;_Ě=Oiψz)gpSqGފKC5 fG99T3"DzI׹yu 8 r/uym@_p%N{{9^pZcISbN[9*1o qRjCP8"&lbڽ>[Nde#mT7t# ,/ hliHg,j*TXcO7jeX:2˸;MF{t&DM!x?GkJv,法)KLT;Es3yKq= 5/zQʤw%CrnӔL݄Ty}ZPvC=<s "$4,yGnz;ghN؛}-UF9Y=4\B ׉`B:JL锒qw' s3PW8/NmMd=RS,qHPR;2{35FG/;drlsGliR-kKxJDu]]VUK##KTNdKI(_O i4}›nO. nUv`$t*(:{y0ՄDdG8NN 3Q~9Y(k^bssrrT80 s~P~"EVW4c/08cD|D]i}#,3Qn㒮e1č`RҞIjDL i7q{S*ܕȸ N6 "g %xk}5իj=$dt  iFMr#f>׌Y X=)ĵ 50*E 'Fiqkl8eR_4II֕ NDd;?| Zp4-S*$4< :(VKj8Kd`ˍW vϗZe`ũ BieIl>{r\`ʹzɽCWv]Y*ɾu`x$/F?)SA{%|vZuso-OsO2NDQP"pxx}DAeTš L+}|I' 72pυVQ丨hvoH9QREߛxg8^._hu{V.f a悟AmOw &:2N ?qcQݼ/X׶;jrvHu3(%\/+0& by<*#UrCr3Jz|avc}d9XI@E Y| _ \;ӌꦯb^ցP3\Ԛ6Ǐ9XDEc ] gH:kP)}#0 謎zxn05#a/Sa]ĕt)1mZ"*]RQ*CA1]F'r#l;fV=ЍWEI^L"Uoe <7imp ޱzA [*9|pk5ԉҤh9Uߖ32l_fhF\t`j[-I; ,K̾fpAE;5.ljk o^h\[չJ#,܁c̰uم& E~&W4,3[g<}6ͤ9bS$z*ߞI <۠jz8:5&ƕ1=Q~aOۥHCԶԬqb(clhY0G7X.ֆ;T/:лb/ѤIl]€>,uۤ؍s"x]$v G椡\>?\O/Ƕj(~L~xzP;4/h:!$N\y]~2s@ʮg$Hhu klNMn%Uqgf1-E2XHLѮkOn\Xy,_EA f/WsZ'dE#&*1O+R¢E K{M9,= ԠmjWV2kg-:Z; 4{"#`L~̗fSj3/2zSsU򩨛|d-Gr,Gaj "u~h^w3xuůD?] pW-8/-]xWvN"!Τ76N(શcɚ_VQJ4N3^ݑ,ɞK^J\j>3+aR=[ y=sfIz0)\2LzӇ>X% }ZšpE ? 2Ca⭤V?15}nM(GO?|0˦4%E^XaqA[?G%P3ߩ?>(5Q6O1;mf6zks|kyXq<ůÇ~UO(d6rޖIq^ojM! Z2e-H|1ڦvc˨YwFCj׻y%W@CWĺz;ʊ<0wE '[{ F1K%uAm،.*3xiA4W+kgj.lI;w I{-ٽ] D62"O6g ,Wz1ːV Pͺ|eCkD M/;g66aN @-enz+a&2lv0RCUtY$ۿ 8]hV<8—o EG3 &Nu^h6yWT`bʖ!#8QrisFؽ(! A3`N|\Y>@]cGfSjO.ֱoUJv4-R|.klib!٦xϧa{i3|~79l$^u(ʃMn23O,MAHN!Gؒ A~s:c&Nh.0qDRmtx"4mb &Cf %Bfkmi:Й4Ie ,O]B,ܹ0B>uu`H[[+&ԿB]7VUWO>n5&V\)Nxo9ke{.A]$`m_[PpJS1n ~,zzYl( vrzW/DHa$7$,>ZvE?Iߠg%nhRtŬ0y6DLLS K:%*:,2Ҩo!j+{?3^)9m֓gcP'wP( ʁ;j>- %_HAU\=EQ6Qԝx&jXWB`tkmtj~&.0RIw_louw x_#w6l֎G+qȫzU]A)jB Dy?.c"ѯy7ݻ2-XR$ (Hsz;ħfR6)"xBw36!%Vzb#2=Ic1= B 6 üUDmXf( KHW\zocL6x`O8`45-rKbhNiUe‹|d5$] 񶞐e|XDE5Aa@hÊUm".L/50I=WXT(U0-܉EcZ$L(BY?Jήլ!g۩)?V\s]z`;`НгB ܨbJi5A[3年gx/`pI$[mLM0q4YK! Ӝ\]A|tjktcYbk4JV)HI,wj-pٵ5,Uto@e(7<^~%_ytISYs\9)u^ 0ZC9IR@ե昩D3Bk@\֫,](Ii7|-/ĄS1 ѩƣ3ZTF P6Us)Z vB.fڝGًZ/6_ V8+$^*SafO;~Tȋ @oE7 {TCJVm"5`wVxws/?b2f!y5/ib|0`8Ƅ\&/F?d&v qJOf@(MNiLR!ek9Mlݹ-cHJTutAhw b.y8i ޲tSfiG/p3/<מ6߰*(vWtʜIt$@7HǙ+Yu$jԊ'TnB~hV4sGi}Qi6im2Ҳ~4oƪk'@k@1:_ȅݘL/Whq|j{4[5:蟂ґn5;};EP@P2:w~Tg(HWjdU܍ OId rq-[ivvXۍU뿤Wawo@hcNH5U_ =)1IXoXf{4,=#1hYe!=IfšL"wűP/> +1{GwΉxvhD5jEyle&`t;#$t꿸gȽ͝|z{9a솄qM̳y-h+;B7f[K&͡ aUHP`qdqaT~gc +xn(PD7GEoD9oIoK;k= ̺wYHYFaXo܋Uc]Q+zk1 2RLSxhzzC#df~rيX}*|[z]ׄ Lǣڃ%[= Y1 [-&&r_7# 0@WZ89 jõ6_n0C$ )C>N1wjH9;0$6֦&m`=ڏc㈥Mx]. 1 \".%UEGS`/Ԃ!zɢ)ۊi W0+=r-=n~b/m`fr21 " 2ӉWprGɩŘմ$w=X333fۖjP LPLz d;8n2):,^ipY]γc2F\ m#gfc(R CS[֯ǁݖJ$W YFMiI:'|w밾 ҃[πC7d5К"$h}Ԇ-oH.Oՙۇ-cx.^))3Iʴ{ڏ†Bdb>0Wq$l&u6CZRgZz%1h\E2JؒR'|.`$ccv5`H_5% "RܨvF5Fia|kXw8~<*a~%iy`0->N3I:AWtخ/d,iᓽ'Z6O < T~>h"*$w ]MRb xVqRd³R__>x 7wH<~~ Oqsg3#So±V$AԃRMb'< @aaɟ zfUodK Վlxә*7ob/lĪa+[^tpXݒ҆eSܛfĻ~eJI|l\keYow`ѯ -Tz]HLR;m.#HژMrӍAӦ_7,xvNX5Ue|4_^E帘HYp]uR[nq|.>sSLQm >&i($$~k Dܨi3`& `,OOkzp4m%oݥGpg$IKF1,Dubv0%[!oAIA(&Rg{X, M<a$<%ke+е-?9HUMo~y#:G;Q1>0IPNדS(ws L&[`TP9N.ټIdDG;,fܪ (NL%!'MK\%e} d{|l JFX& JKîBV$2Fl*ϐ*YA\d&kK*-4P63#$TKåqhz{s/QןOo$ut/ׯk=Feu^y:tȴxmH? ֑IöH2fWSTlKvZT=_GDhnU)͑p\SRB`.8]=󧈺Y&탧y $#fi޻ZtRzNU"@%7V#HO~d!6/)xaWc1 ( ×m0NG7v 5:ZݪAjH5399brڣ{Jm Qpp]"N&[̩ϨFTiBS_,*lj\o"J:8l kU{zw &Y gcEWtpi;>xOK9#9_h4Ñڡ{r Kº zZ'Px5Dvvq͹';bᨽٖ [Φ=}{.?qCe1N۟Ia!e{FXDVRok )cd96 /@`_\:K|僖yIȏ@Z@ƕNIWCwRԕ'|'g KlaNQ lW`NpaX4SK/w+hm7Y.Ff0H"&AGa`4k'%_lX\DܷN@Kz~ $'1?F?'Z#E`>L*aqҽ HLa ピe@g*v{4FHP ØZҁ-+,Im V*^1wYR.9,g2n 87uvW(I>|ٴjlc/uQ6j_LT$| G8C2)a@~T:mhj~Īg)qLg؋82޷F]*"ny#S;T@M]Ӫ#{;1XuG,w8:n os 3TZebT+o_'gT37vOot`^"|nR 3s6zN\!fފS:+Q 4]?E.RUZEky3r_}[nWa!U\漝6r6 1DUK LIP W|_Slfy#R[Pp6P'xDDծ7C3Y7-{&.HTSPu(Z"A>l]&|ɔr laSA}LXf\(*9;#YxkRb-bn4JE.tʋ9|V1Â,z%DT syUϜTm֋~0HIs+<1Jg,(d铔dEk=1c]\y־ d96S43HEW:[l~|E'9sӳDƁbmnMfpLIU@jlfmsz/]화>c%-dǚD䤍G[[ijj3$=֠F, 332S$Uo1<7G/cA]ܗz& &Ph-TAيTϑQnsH@mE;zL`*O u@WdL*ߤz:0nCif))oͰf=Eh zI*cǏ6);J ^D U_u$`b!$v~h nMX-+['\ԁݨZZDm w`"- _H yHFLBbfO4C/m@6X47$Zxh" ^̣ķ2k$gh[ 8 f9(jZZss9v z۟1{\.$!Go\b|'pT_g)p#(ջp-Ԁe'DǼͥRk`e.,FW`'l";ih?2j)xR24FoX*'$$Yqqy%R.`me) I$8`Qf{τr1Q XjvoR2ReYn*c 'PH wO<l[s;k&`˟0Ӻ&(p=[.W.`-/ {S. F#,n$UCrXeYbLrv#N=%@_IE)n+m E̿Q MWa V].L>DrT;nk I"S;IJV ߃}@.e MO}UQPze ],1ChVR9{qQl^1DXpX0E2$/(odRPPgA'iZZpg(9J^fb-@m 6ކM[c=QǴ\j 1Ɣo dOFJQ6~ /p=nRql_Y84$gP<#BWR6g#KbMD3 6+pVl(iC^=PAiqUjs 2;G?.?A}F!e=bAˍb \+üdhQ|k0aeC?REy ,wV=͹B܉yDZŃ4l>/+&5_DEʨpǚ?].H8ʤ<=Eտ_IO)<|a5 X%S9&\[P&oJ2'X\q`csvZu5sͦK _ h>*؆kIgBQI5"={7VIY$=tk2xhXZ{N C{lʹcOwtGw3CV+NGVX ?=(~֑fdPG118=̺+xTd/۩R|P5َ[@6SG}n>LlL ann$o3>v s[vUgPzfEp"q㠗}vF5.Ѵox冂Nk&q݉EBM<:6څ/i_YS| Yp~IS?ڞ/|0` yUL/K#Z/ᝍt@g0u2=W<87GՂG\@ 2B'{/;n^Šm6Do zn";9ځ7gAQ5B%cW ځ 2V}O^e$F+ƅ+y3$CX KQP*)%"P<7Ō(I'IDO ׭9kḾ卥A=:(rd, Wz)"BҪ쪚2( SZ!]BD{` ~34s US M1W@+[1Pj5lZL 6D.yI74ѫ@\턈ouxvXF :Y;nNUu(aWЅ d((!>}ciE:&+ ﻵڣ%g Sdvͦ5%i8Ĉз88QFwui𲷣eRciGbB5A˰]a97H"fshaʘ3mjw/wk}'-7Y=m8?lm?3s>C ͽ9xk-yL$!"ՠW\/Szebu'!Wݣ^^nqwsYWl A(;t0g1` -H.բsEP!ХQ)Up_z%\7()?o(}E+ 9T:]O48^NFʟ3;ك7f 4ֳk4Hm93CmGS #Ͻ'w#y.w8l1[Ǜ?M{w*ܿb.[_?/Pu;ĉRKUN$[% Op cl偁w^>1dX*ow=zX,>}e ,{,v+ؐROJO &$j 7!v:X{.k ūz-%pdu5d'ʾS?!A ( p ė,"z9{+碀4lR8R1tΐQ6!qk@uu;P\_ iheoDSl(y9;aTYwԷ"D:E;"nm֌S<39]G5s]K!G~Gጮ&+ψk\ ~1ƋITʼpXv:":+Th|)?TNJ>W*І!Ú(9; !|qKexE6̶]MV||+ Z1cQɧCRʌ5T" p|Dܱ[9Q;H:SuHY7%m&[F)}0Us]]݆0,jNEڕrl2|eFB\〄{k#S h%Pxzt#EQ Vl8:sم\8DϜ&J-+Jx?r`5|谥yRIb]볘8XC!|WqZ@^Z>2jdQNDɕ*ŶtL@@ffjC< rxt/Sf,Г+DၐW\d֌%XPP؅ :)x#Âf0AqbgY`qeoy.3O͢_NT#qP@CÉds=#6)Xp:9H&Z~+Yi؊ NVx FV F[}@z@ȓ; ^%l YUXoO R2wDeLbfS`Hk!-bJ˭w%1 {2t t;p#?O4܎ qyj' $ =ɧ=Q{gܐ$%7W;1X OfH/-14MG 5RYe/Dr݄|P1퐑e_}nꑞ~߆Gr^Iia"|0=ZY'-#0K=6~NⱢTsKO|⍒:])mmjv'v> 9+jW9Enj99ܴ1\VL "RyR6爎B ЎpU%MzR~ȲnlZgPRZz>pIP)gx` DH]Lt`O/`&Y̾dM-5tه9𨓻Q~ӌefԎFu>G\K."0SP@;Pt{s-OkEOKH@b*F}f qR~]6g͍՜Uj;pF)5-\P ZsLj*5o)$\Q +0{lmNpN2HP@d_DJl"]=[Osx=H?a:AyWmCIdMp\ H [Tp!{<ʄHԿy7M%CQlxss7o=L`Je4OѬsZ0J1ãvMAbO?/e[M(iĩ޸b w!5_Nȣ cxECiqkO0PGM^R4^xi)Cn"\%mq}#W!qp$H|‚J!qi<%iUv4k~7HPд >5²_Z&d^Mb S?&MB,c? +*&WK&; bc#SVtyRdͦBHTƞ~UMyB`Ϲ UT;A&UyPOzzY<<&a5Mn, bxWJ^ ("@NG;E5c=]7+ub+c`ȚƏ_#gHe_t>0#2Nl5Ӣ%Pmi@RB#`hKR&^ӝ'Oh-vhVIrnR-J$ ׍axkId3טw']snTޜBBO &Hͪf0j ^t"lT(>wV4%ܛOg經ID8Se8+ SrD ^%sz?>7O?v FU]Ly.TuXܺ"e`%{s^HvMrWĤ$\wЀHʆS:Vxs1 ,FTdGEXa'TB{BgUU@sQbbқ@A+DY?A%B44SR> Ӧ&v&.lfUGT9SF{-8o-Ny~Wo;rIho;<øHu'h7)8}_VXX8ZPw }H$WF`Ic4UlHXBrqL D1e8F£ ]Rd/+Z'kxs{T8̺sDRW\AOEP7iW1o򗇚 "|O>u%tZ9z)=T:j;rxж{[' "h>7#]:XËjOխR:aP0 ~`mhvjHnWsO}PajΊ h 9}˹X$r [zyo('lJUX{3 gaEׂeѪa}e:+r@@Sئɏ3w XiZi/&aĘ%P_b-^9V欁 .Am=VK9JЍ; Є%:B$ %ᶱɌa, kIǦj^wfPqaT"Vϧ Olfk.#xXN>ՇS[ ҝqy8j&liqJO'ag'>>f~5)|`AnvuQmM7JtLʦN[E #ڛ);@ ͈4ʾ$QKreb ü9ᆃ #4חh {a|FTV0D}~/2e\͍pTrG|fHUqL9%\lyDl#u??U"2UKA#=ٽ Q{p46+QvլYq dI(@@n T *'hc̾Am]:*%tŨK+5Gr?QEWBIOw% Ϋg乨$/~Xocew0`zw٠C/jcJfqV!3 y ϋt_.0' N Koph *r{PLmptތ 탭ͭmrVۗ}2rbN}{Sb~8yWתH?fuꞠL߀֍\}E+Lǘ?n ed6Ɨh,PrsٿR{]<*sW'2596 债4UȴA}63~l|^I6%E?DTHZ9iue_Gr[z+"GѪnU#[HKB\)Zxqv| =S+iya6=4v3cb(a8Sz?7,#KdT򶀱H_ڡ9mx(*׿f;JWGט[*85D&k# sH3ݪc(; |*Օ-t4*j!ҍIf"#]e'-6k.Y-i|q(bt-6F3lS3ɦs {YՋzb)9~S5^ '{'?GzנM๏֬g9w>jr!bO`gHS¬X(IͰ~16$!7DWE\B'QkA~b 74ͫT%_װ7/+qI<ְhވ2ɇ}S 3#}\ٍOKf9O!Y8bZvEU!&xBu Cab4H|'<.̜cCUUШlyr 3z啥,5X7so7n]DAh/ZfKKuC~ҥkiqGjISQamķ!@)7tZx֪[r* =Ao2pQ`ډ㈖o{!UUa%z| &8Fʋ튠m.b ?SI1`tHoc:C* *,髸DŽƬ {ٰmu RJ:M`X]fbFfKyO:4zl'tX/N@&f@$Dl: d'r;w;Au4͌HE|%O+m<Yį!iyīۡ)jsAI9+TٟrKMIuÅB E],LE}(Yg>7XA-[}!O~4qzVB~ZfG_WVERןkl#<tPMv9$q t*_9(04EhK(f-468[ *d5{M)oI}VQ3=EMyBLilL BF|l=cT@$X*&O4CS$*5FQckf^V5k$7Am vmmFoO+%fG{tK= )꽈&jT5cw>C8y|#"HRbMΏ˶߀U FnpB@7N]t.)md]^2JٺYRdzzL৐̉8aT$I2pv;"|@ piZ!NmțKԶ=,~п"$U\`2v="wT d;[X-GG cVnjIOh-"(E+w7 :f2y"ZZ9F& b@cSN:=&ۆZmQ=Js9h|7i\O69A'K-C Jؠ%)}?dM찲>{C3dRr\.W>s eWt3*].4CϣȖg]8Dd ]LJm1s޶OM> W#QĶ"_ݮ]Tz4g| qT(fum'ptBobJMxѢ%ۥ)Sr r)*ť gsL)CԛUq`3J0bJ1zxlZZ\WBiTe 'N:0/L /byI`c],{kr Nǔ: Y,֓Gsd,z$|X@Xtԇ/@y_7φHĈìw_tYF/y٩My$:;V붖׭(1#УF rK&6o[OFW!`O}Jt2E ~,Y-ZRq.q[| <\ͩ0' FЬHt:\Z6b%vdްukJ-֐87n64U.T/܌Xߗ*9wٍs~Yu cowtlC^ɫ/%OK)4|}oT'1^y >*|`W/aR+gƯ~L{!@WRz\mOֻq;I6xr7aRf |bD߃n'*"pc?shbV@ - AAB&W3c^[6tؙ2l#[/.Qk^Js2=r 7U#U۶nBkȆ{r?A ?3@^: NJMDrh$M;nq[!q5/Khoɢ^/|wDwfp%@-BiD i2`sVTl8yieܹ~=?4r|cXerI |Tv}϶D/RGC¼Zƹ\M&[t@ } a]clAQۃ}ŬGszJOkjZio$Bs`AS)cvKW,i"H%@>unZ~ɎsSt!\3ADqIԘE$Uc߹=AUq<Syg'LbI2@]N]IYz;Xgr[ΦtC zt#܀e1~V_@nT:[N~F4Eeސ6d vvsTj|~lzzi`/(F"#!ީ>l= E`¿N*`f@7aek:k"8m@o$˔x5ݣ\vMF}sՋI\!TǃpqщtpGdsmwtsmWj䢴a"E=-[p4ovf]ENc!jtU̬tׁ 9n&5C |-w}0|Dz6\"C3B8_a~>3d~^&PW\Lo/2_aʣ Ɵݫ]ԃ>(]4/I xLhnXJ ĵf 2-1ѵ~pړFDK9-x4 OY`~'uG 4a@a>4u:ޙ DmJHp?tbf+Q}Nבdtɾ]^#'X۴ԑXL=_PAI.J(SW!aynohl[8ka|ҷJ eqz 8@an獢Qscׂ|iB´ g%ڼM~&pQ}~/7-n&%h.9m\swA HOf0iDhvs3er+-\BZݸ.48aUZQ"N&rkWlܾҾS0)${G,Wj텲clX& n;W|SnmI!ⰴzқE#im>㣋1@螃VS*Zh-Y7Q$LÎ~ugګ$E aLƦ΁v1Kɔ V\ch)h-kIgQ _n[VR:_[+;^l}-p^o./lfRj%c='ăۻ;oPG>D'؁ Fqb;2{ {FWVEd_xbNXrzE~VQ;?Viw!?*D|Z8IHuAD=<z+{^9$=O)J(#gfmyϟN]-2Of;Zn. ^BL%]m ޠ1 dWjD>_7E-IyE5 DҢ|S.+4Q qy WțiBh_lZXƙrrM 0:i[E8nȽop.U"í 5@}L~6.B_IOw iiG{x/,9?LzYhr2*r+enFB@9s^-(W8CĹ6G! 2YsOԦnH?*V$YM4IeΞ#-;:Y(})*k\^1 xNkTY@=D ǫNKJVDž$o/. 0"L6NτoR7;-$}da*ݙ B$%ҫ/R4s۴m53h ƍpeǀ P7D7ƝǪ'B6cdi R#LJnA*+UۘJx=0ai =mٍɀL( \-sw FL>6-vЮp;)J/Nt1s'SLWԸQX՟渂ǀ#VT(Vy~8 uCvy#վg`#Wob{wDl~G,(`=Y].Y:@LqYvP j"YNzj.˖ Y>`*lcqht8@[ywС jz#ifqк)׊h?=Ty+UE(Vnyp} B4nͨ<0 1an|yEG؛ dG:⬘G.=PȔ郯rՆ-AHWgͱȼ 9ৃ$t4A񽲴H<ͱQcI:*\k5 PU_ @>7j"ZEU\"1SJ%T!/#< 4f~dơB*W ]C2W_?n)F=BKYNd)rr,y.35*vmݱPacJ_=ヌ2MU(DՒFB~/ac=DQ.i8(NAe<,ycM Sa`PY1 E]‡Wԩ{Ic.bGVD!G-{W@1i;WcD3p@Oa7ﺄl $2F %q˒!)go!LWF ң& _ED7=P70F*C<!q|A<:Y͡C 򈂾pj_r]эnG)e Lńnq ]hBTW\MaE=qAĪUJӐ<.wKM zBp-K.Ў5 P?){S007BI霯*.7٪\>@+6xAyx!myhh[1㍤ATr3p,V$SXY5Jc]MmSWnװ,cMi$<ڷq4!Nw?Q:<; WwhnZ"*j#zZT [xh;_]6J7fB^j &ջpX+y {k-b>q%,{G.s6Sp.Ɔs#;xG Bc͒_f\us|݈ow,`H3}ˎrXQAu-n,owսZhu {a/#͐/[(qj=.ĩ紪rEpG-Pa#˳bκۺj3qZZ;Ar$gJ:h~.&UJ?tu:h;98&6T.骴qu$W}S WQ`ߍ{WuT2CXpd(|ܻ{e+gOVj_5^q1X4&-fqKK`-w2`?E>H^=kdqA~2xI5njۭ[5 Z< >1!nF%) NҰnJ<%-}>dxfm}!C.V 7B'Nb"M`/7אI8,%:#5ǾLxY`]16I{)5t87/ GN;<*=z>rDe 3ȟ\* DIf&.Ϛ#c"C8fJag2)ę8R(xd݄J"+Z^Y-1^>yӑ+vle mAHM"oI*N;Kw;`wNb.S1b,Y;h-h][yU2㄃j|t1GP4A;D3~@^,G]iW!sMd\uhf'ssMdcp|vhc_ǮdI0dxek&O\XG]̀1Au~G{+v5~ BJ91٬-DŽhB]{G0ŋlghc&Hp_;\w7$ V3E|GJ~m) Ypv.߯pvNMJ1^7~b\1LW#WS|)+İHi|U\4?t;An!GZf&J/i*iC^0X_QCSi33-:)鱲фEq9Jb@,C¢q%IH3%U!6ͨ 4Jg#e3͉vR F1G"tyЉ!`G6+ daRv^ԒB̬ 5a{HM6`yXӆ4nK6CNw:6M* s^XeC܋D9UAH<'ƌAC)lXrgqSǠς Q﷑>NX.Njp3S$gwz(+z+k63ݶij·J gw<ݜYT/Ua;|ǣ EKx!qXϠr %2GPRu#`<S f\m=5ō j1@&kxCܽt!-\idCrWwbb$#We(+qD%&3P[N**qF^)[ 8'Q-4c{)V@\O62x߿U׵vd4B;Bj`}a͋Fvj%4&mFǿ3htWU-ڙ[T@ވA-l:v: seľr{h=\s"!`N5E#V۹-V{wa?޵i[z1ip7XsW 5M./)F4?DAv/{!bR{HݥG+#8l3|FISlFK0nӾEpʟ[TGy0{ݛ O-&+.0W c D-FAocCџr Oq"$PZrjw5҆^P`׽^vX#-+uiE2 t64 a)|#']ߣ)Hqqd8&WD"FXm3y?YM2VOe]z4 3jܑX3(YnAL!mYb< ؓ Pre5L+nF!da.&ye>DuHK:$د 6Rt"xƠ`TAُ5GX.DlbDdұx],9΅qΏu]x|uP*5|5?L뚐CJ9}qYM׀y= ỦN'8MEXhzkks+KҺ-⍜/R?i7l"2%NzGd0I-5zl~VI,3w"瓟^`lኍ!/˶s]>+siMlOr%&0ʊ-YW4`7b~l0Rkm 0ެ(IU{W6DnS r3`OMiG'U+MҊPEe q)CT` FnA5g& 4>B+/dR~5|~Wlɍ1dFm?WTk&X핿_Q5X ,ME <ɞ?bW07wp@XqſwGDO2GWwy *Hx#h$IQH%l92*oV [g+!?gN8-_y,1q}] +pp=4d[Ls3ylTP؃E$sMe*tT6-YV~*M5=ʤo#meh%fvhYzVaw} P[k3\IrtY P7J6&C(v!!V>$(Np:]^1*r\^z{(eod%׀i{&pfe=% "iB^νq(K8dO^2z`r7jG,Q'o͒cGn\q{~:;xd.+kTj<+@÷Ti׳s6/_Vr/|trړM l 1_@v@Xc YSODwh񎅼P}/$q{?et'ؗZB.BWÜ6Ezox+wM>`7,HRyk+z:wRުw5s!c Hr;E#N;DKHΰֈSte־ļۊY"l @>p*l8j"ÊSG3KrUS}GMp!-y~c(-S$w pu"O}opzGFNRsJu#=CF'{vz!צƢѠ '^Q˼ZdUXz5_M3/ iN˟c#1X7ܒ> StE{ʜx󎲖p$v2([ gY9K}gۯ%% foF0NcrFsZ8f HЇ1*ꝑۍ}3@_٨B \% =≌0Ҏ֫:M^2~u a&tnQъatάwIݮaGKvcjjldjqkCocmƉܼu?ؑ&U`uH2j%S:>XL恢T09yjNu1\*}Gpؿ0 Jy a]Bh W?5x &-qGz y=ZL+вXuv%H"|Gnd=bZA [/Łށ KmG.q*:# YZ