mosquitto-2.0.23-bp156.2.9.1<>,>iϊI%z }f]לLP0_fvsjvcZE@ )0[E"05~KRv6+J'QZ8/VRZ~шYbDWj U6.!EOuG *_J#3DئLT S&!3$ł AJ :G>I7gE{jGoh %_;VYjL{spr}z*ʮ&tYӱG[lDnF ( FfFQڷM8%(daUfɿc@ݙjRyŴ$c)dNfӻb^_ιaF{(O*bX4i3+ܯpg@ţZc֝jVmgMlށB$vZ>Li?itd   9tx    LTT DT T <T "T #,T$|T&%T((,T)|)*@-(-J8-TB9.\B:5B=Ob>Oj?Or@OzFOGOTHPTIR<TXRYR\RT]T0T^X"b]'c]d^ve^{f^~l^u^Tv_weTxfTyh8)zhhhhhiii i(i.ipCmosquitto2.0.23bp156.2.9.1A MQTT v3.1/v3.1.1 BrokerMosquitto is a message broker that implements the MQ Telemetry Transport protocol versions 3.1 and 3.1.1. MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. This makes it suitable for "machine to machine" messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers like the Arduino. A good example of this is all of the work that Andy Stanford-Clark (one of the originators of MQTT) has done in home monitoring and automation with his twittering house and twittering ferry.iobs-power9-15 DSUSE Linux Enterprise 15openSUSEEPL-1.0http://bugs.opensuse.orgProductivity/Networking/Otherhttps://mosquitto.org/linuxppc64le if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in mosquitto.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi /usr/sbin/sysusers2shadow mosquitto-user.conf <<"EOF" || [ -f /.buildenv ] u mosquitto - "MQTT Broker" /var/lib/mosquitto - EOF if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in mosquitto.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable mosquitto.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop mosquitto.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in mosquitto.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart mosquitto.service ) || : fi fiAI@cJ1]MJ3  ~+GEu 06"WS' & 'y5c 7uEHC  AA큤A聠A큤A큤A큤큤A큤AA큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤Aiiiiii{iiiiiiii{i{iiiiiiiii{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{iiii{i{i{i{i{i{i{i{i{i{i0a01a95c7b67e9e81c2c31f285cd0f81915d863fa1652c13cefcd854c69cdcdb33d648f941c0fd0fad5d874396192af21d398da0e505858564c332327cbeed66dea34f98b5b2d1eb72c566c691b7e70ab1683df5ae37230613cb6d1af52ecbed9817034f6fc16b96721b51687a010883fe6bd4f920d3e56d7d57529e6312254d107814dcfd6c79003ca7f379f25ba882c70fb719ec5a7716cc1971f9768fc925f977924d2581a8cc1244ccc2ddfdd725737cf767b56f3df7dcfff711137ddd513189cb34c05bba9be725b4cab77c3a56b9b2bfa2b6aac54282ba77803287e435f8e6c377ada750e97cbd354f56410d5d0e2bbf1a14dd77403e289d9a42970c5cc6d5f6ed55ce07a25a437921f16ed0f2bfab347e61bbe3f74f046ff18eb1bc7788389be66e45bd263b2034683f2cc9a0855d927cf89a13b2fc109ce1581e18b2ba60d81993e3cbfbe98c9e6bcc6f5ea5abe863f7d9751268f178a729a7d79f11c17703f10fde012936b8e46433eb9356d0112749c3fe1fbc9e6bf8e73490b3ecc217f5a6ab6018675c21e2953fa0e3cef4be8f68c8d2f48c4fd7222f23d81ceed790a7d3f7d59dbb68aa3bcb22045e7b624ba497a3a371b760affb90d2abb7d0efaea5225e0b941b020b9c8cc931481071fdf36d66aaf9af24afb2d46cedfb3c417832c37b550afa02e9da113c775448f059fcd1a0f04af56d863ceec065d38185cd811706fa6cdc07e6491657c776d5cd8dba70bceef063094b5f6756542177652dabaa24650595baf0d32418bab62e9587e25b5b6596111386fc0a1f2debcedea34f98b5b2d1eb72c566c691b7e70ab1683df5ae37230613cb6d1af52ecbed11e2deeb45c23b373d1649f11a52c5adbc96585d857a84c2a2f589b810b886d98f840236fe4b6db1d1d5b6428a0fa5c862dad68e792bd4001582cd5ca794e77e74183603ef0493d8d78ad2420726cce1948ae346e1e81ca3e9157be8d775fe050eededa4939ad34cce191e5bfda14cec2b814a3ad724d43e8bbef01f43e953cad8da4e9579256c3b1e78e6e6aea885a3aa588a3000461d5daa0eb5e3d0653e2c492d4173d1bb2a71087e4cb9a04bdcd293e7465f76a9d9c2af2aaf4c4249359085bb133707b0b3b256c15d85236bf0144d3c36b63064420d9b6983aed3247d96021d5040e46dbf227d1219569effcfc4425d964404f01808f136132a11a925cf249ecb1c932662f4403e90b1bad1e8a1af29744b1e4ae422ccedd59ab74743eac440058c672fd5eb4d42c6541ddf47aeda36cbdab6145f147f8e036819bc0b7dc549f697ef7e04d387a0fc7d6c6ce713aa22d7a8afea2f4b26a52ee8def2e00bb89f155ed6356dc5c63cc199d8297ba5a3fd0e008426a1e445d1ea82ac0068549c2430662a436cadba6dd2833d8f190d68aeadeb021941c7013726f759a40d756d03d5dd7710a4fd5246741fb5dc49820bcb23d46c4afb5bb2a6f46c84f79fe0245370e7cc48bd2651d8d2b887cd77fab7075d82f09ca787942cd47dcb32a1784331f44d8fd5a9cc7a44bfc490652db5356989bbb705ad9d631b9e2425f768dedfc233ac635686f7a8b70e0a1bf118a5aaa74fd52fe9c40bc258bc2d25cd97387b53690062f7b61f2047233834f1dfbddb90545d124bf6abd4c0a7b507f64a783925b728e0275cd5abfdb2640255303781a65f54d31b31731cf3951cd1f285092406e8d4b43d6b7a5252fa5305af286d95ab4d56c636a38001abe9e5adaf499c38dcbd5d0dc1a035ef535eaf9ff0ea98276164e9d6fb6c2e7da6c784bd7cc675f95e793c2b2b74dbd3825f33e4bfb3e3ec78779d042bc9b25c32dd6e86dbec30981363eaf9c01c370f1922f8c5f0a0ab7a2ca6ccffc5427555200f669a223667f042089340c9e770e4c510eed2cf8080ded6f49f8692f05c0ff2eed49581e3999e5c3730a0c0f9ba78537cd805bf7d9cdc8c632cc91b4cb01b04633bb114d869250b683a3b22eff3c4a7126718c397a1dbc3c901edf3f0b29a7eb5a6e59c9ab336ed3c4ae29b365298578564b2512f1c55228be801b5dd949274db6b78db092c7e233f2cd6ad4355a50bf62cab6fda1ec54949a6a8bd80738e5c367ffa05e50e066e4c5e33dee0269944b9bcc0b5f421138dc65722d14c66da00c4cca57c360ef8e6c377ada750e97cbd354f56410d5d0e2bbf1a14dd77403e289d9a42970c5cc6d5f6ed55ce07a25a437921f16ed0f2bfab347e61bbe3f74f046ff18eb1bc7733d648f941c0fd0fad5d874396192af21d398da0e505858564c332327cbeed66d3c4ccace4e5d3cc89d34cf2a0bc85b8596bfc0a32b815d0d77f9b7c41b5350c86fc4a3f97cb769c04e8da557036c1066eb8bb22b2d0a5dd31464990fe84047c8c349f80764d0648e645f41ef23772a70c995a0924b5235f735f4a3d09df127ce3845b5761bcb4e83e73af50eb731df858141a2855c7d38f463b929abdeeca530e74be14e77348c34ca88287f56cc0cfabee9af8e8bd3228925ee513ee0ca2867dab9980b1492504a7734b02c958065cdf7a21b99fe5dd4ea1c14a0629f251c71e818b25e75384539a1f89d9238fb52fb82401081cd1bb5091c2e158ade35948500169ef3798cceb6281658651bf08a21fa1be539a8b2592708958b6f41de8c8b07c84631d13a78ccbd2d702422884bf15927159f51cac970e8f268391d6b154d9d4828d23d8bc7cde01fd42354469b5a69e388a0f0b79347cbd45fff30963d0servicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootmosquittorootrootrootrootmosquittomosquittomosquittomosquittomosquittomosquittomosquittomosquittomosquittomosquittomosquittorootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootmosquittomosquitto-2.0.23-bp156.2.9.1.src.rpmconfig(mosquitto)group(mosquitto)mosquittomosquitto(ppc-64)user(mosquitto) @@@@@@@@@@@@@@@@@@@     /bin/sh/bin/sh/bin/sh/bin/shconfig(mosquitto)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.38)(64bit)libcjson.so.1()(64bit)libcrypto.so.3()(64bit)libcrypto.so.3(OPENSSL_3.0.0)(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.29)(64bit)libmosquitto.so.1()(64bit)libmosquitto.so.1(MOSQ_1.0)(64bit)libmosquitto.so.1(MOSQ_1.2)(64bit)libmosquitto.so.1(MOSQ_1.4)(64bit)libmosquitto.so.1(MOSQ_1.6)(64bit)libssl.so.3()(64bit)libssl.so.3(OPENSSL_3.0.0)(64bit)libwebsockets.so.19()(64bit)libwrap.so.0()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)sysuser-shadow2.0.23-bp156.2.9.13.0.4-14.6.0-14.0-15.2-13.24.14.3i@ht@gɎ@g-@g@f@e!@e*e@coa@@aza]a/k@`@`lM@`KW`J@`J@`J@`;`_@_1@_԰_v@_=@_2@_&_!d^^[^(9@]@]V]]'$\f\w@\j@\eX@\d\[Ѱ@[y[ZZ@Y*@Y4Y_wY\Y, @XrWrfVVwVhVhVhVetV<@UpUL@UCjUCjUCjAndreas Stieger Martin Hauke Martin Hauke Adrian Schröter Martin Hauke Martin Hauke Dirk Stoecker Arjen de Korte Dirk Müller Dirk Müller Martin Hauke Martin Hauke Johannes Segitz Martin Hauke Martin Hauke Martin Hauke Martin Hauke Marcus Rueckert Marcus Rueckert Marcus Rueckert Martin Hauke Martin Hauke Martin Hauke Martin Hauke Martin Hauke Martin Hauke Martin Hauke Martin Hauke Martin Hauke Martin Hauke Martin Hauke Martin Hauke James Oakley Martin Hauke Martin Hauke Martin Hauke Antoine Belvire Martin Hauke Martin Hauke Martin Hauke Martin Hauke Martin Hauke mardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.dejengelh@inai.deantoine.belvire@opensuse.orgmardnh@gmx.demardnh@gmx.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.de- update to 2.0.23 (boo#1258671) * Fix handling of disconnected sessions for `per_listener_settings true` * Check return values of openssl *_get_ex_data() and * _set_ex_data() to prevent possible crash. This could occur only in extremely unlikely situations * Check return value of openssl ASN1_string_[get0_]data() functions for NULL. This prevents a crash in case of incorrect certificate handling in openssl * Fix potential crash on startup if a malicious/corrupt persistence file from mosquitto 1.5 or earlier is loaded * Limit auto_id_prefix to 50 characters- Update to version 2.0.22 Broker * Bridge: Fix idle_timeout never occurring for lazy bridges. * Fix case where max_queued_messages = 0 was not treated as unlimited. * Fix --version exit code and output. * Fix crash on receiving a $CONTROL message over a bridge, if per_listener_settings is set true and the bridge is carrying out topic remapping. * Fix incorrect reference clock being selected on startup on Linux. Closes #3238. * Fix reporting of client disconnections being incorrectly attributed to "out of memory". * Fix compilation when using WITH_OLD_KEEPALIVE. * Fix problems with secure websockets. * Fix crash on exit when using WITH_EPOLL=no. * Fix clients being incorrectly expired when they have keepalive == max_keepalive. Closes #3226, #3286. Dynamic security plugin * Fix mismatch memory free when saving config which caused memory tracking to be incorrect. Client library * Fix C++ symbols being removed when compiled with link time optimisation. * TLS error handling was incorrectly setting a protocol error for non-TLS errors. This would cause the mosquitto_loop_start() thread to exit if no broker was available on the first connection attempt. This has been fixed. Closes #3258. * Fix linker errors on some architectures using cmake.- Update to version 2.0.21 Broker * Fix clients sending a RESERVED packet not being quickly disconnected. * Fix bind_interface producing an error when used with an interface that has an IPv6 link-local address and no other IPv6 addresses. * Fix mismatched wrapped/unwrapped memory alloc/free in properties. * Fix allow_anonymous false not being applied in local only mode. * Add retain_expiry_interval option to fix expired retained message not being removed from memory if they are not subscribed to. * Produce an error if invalid combinations of cafile/capath/certfile/keyfile are used. * Backport keepalive checking from develop to fix problems in current implementation. Client library * Fix potential deadlock in mosquitto_sub if -W is used. Apps * mosquitto_ctrl dynsec now also allows -i to specify a clientid as well as -c. This matches the documentation which states -i. Tests * Fix 08-ssl-connect-cert-auth-expired and 08-ssl-connect-cert-auth-revoked tests when under load.- systemd service: Wait till the network got setup to avoid startup failure.- Update to version 2.0.20 Broker: - Fix QoS 1 / QoS 2 publish incorrectly returning "no subscribers". - Don't allow invalid response topic values. - Fix some strict protocol compliance issues.- Update to version 2.0.19 (CVE-2024-3935 bsc#1232635, CVE-2024-10525 bsc#1232636): Security: * Fix mismatched subscribe/unsubscribe with normal/shared topics. * Fix crash on bridge using remapped topic being sent a crafted packet. Broker: * Fix assert failure when loading a persistence file that contains subscriptions with no client id. * Fix local bridges being incorrectly expired when persistent_client_expiration is in use. * Fix use of CLOCK_BOOTTIME for getting time. * Fix mismatched subscribe/unsubscribe with normal/shared topics. * Fix crash on bridge using remapped topic being sent a crafted packet. Client library: * Fix some error codes being converted to string as "unknown". * Clear SSL error state to avoid spurious error reporting. * Fix "payload format invalid" not being allowed as a PUBREC reason code. * Don't allow SUBACK with missing reason codes.- Add Reload action to service- Use sysuser-tools to generate mosquitto user- update to 2.0.18 (bsc#1214918, CVE-2023-28366, bsc#1215865, CVE-2023-0809, bsc#1215864, CVE-2023-3592): * Fix crash on subscribe under certain unlikely conditions. * Fix mosquitto_rr not honouring `-R`. Closes #2893. * Fix `max_queued_messages 0` stopping clients from receiving messages. * Fix `max_inflight_messages` not being set correctly. * Fix `mosquitto_passwd -U` backup file creation. * CVE-2023-28366: Fix memory leak in broker when clients send multiple QoS 2 messages with the same message ID, but then never respond to the PUBREC commands. * CVE-2023-0809: Fix excessive memory being allocated based on malicious initial packets that are not CONNECT packets. * CVE-2023-3592: Fix memory leak when clients send v5 CONNECT packets with a will message that contains invalid property types. * Broker will now reject Will messages that attempt to publish to $CONTROL/. * Broker now validates usernames provided in a TLS certificate or TLS-PSK identity are valid UTF-8. * Fix potential crash when loading invalid persistence file. * Library will no longer allow single level wildcard certificates, e.g. *.com * Fix $SYS messages being expired after 60 seconds and hence unchanged values disappearing. * Fix some retained topic memory not being cleared immediately after used. * Fix error handling related to the `bind_interface` option. * Fix std* files not being redirected when daemonising, when built with assertions removed. * Fix default settings incorrectly allowing TLS v1.1. * Use line buffered mode for stdout. * Fix bridges with non-matching cleansession/local_cleansession being expired on start after restoring from persistence * Fix connections being limited to 2048 on Windows. The limit is now 8192, where supported. * Broker will log warnings if sensitive files are world readable/writable, or if the owner/group is not the same as the user/group the broker is running as. In future versions the broker will refuse to open these files. * mosquitto_memcmp_const is now more constant time. * Only register with DLT if DLT logging is enabled. * Fix any possible case where a json string might be incorrectly loaded. This could have caused a crash if a textname or textdescription field of a role was not a string, when loading the dynsec config from file only. * Dynsec plugin will not allow duplicate clients/groups/roles when loading config from file, which matches the behaviour for when creating them. * Fix heap overflow when reading corrupt config with "log_dest file". * Use CLOCK_BOOTTIME when available, to keep track of time. This solves the problem of the client OS sleeping and the client hence not being able to calculate the actual time for keepalive purposes. * Fix default settings incorrectly allowing TLS v1.1. Closes * Fix high CPU use on slow TLS connect. * Fix incorrect topic-alias property value in mosquitto_sub json output. * Fix confusing message on TLS certificate verification. * mosquitto_passwd uses mkstemp() for backup files. * `mosquitto_ctrl dynsec init` will refuse to overwrite an existing file, without a race-condition.- update to 2.0.15: * Deleting the group configured as the anonymous group in the Dynamic Security plugin, would leave a dangling pointer that could lead to a single crash. This is considered a minor issue - only administrative users should have access to dynsec, the impact on availability is one-off, and there is no associated loss of data. It is now forbidden to delete the group configured as the anonymous group. * Fix memory leak when a plugin modifies the topic of a message in MOSQ_EVT_MESSAGE. * Fix bridge `restart_timeout` not being honoured. * Fix potential memory leaks if a plugin modifies the message in the MOSQ_EVT_MESSAGE event. * Fix unused flags in CONNECT command being forced to be 0, which is not required for MQTT v3.1. Closes #2522. * Improve documentation of `persistent_client_expiration` option. Closes #2404. * Add clients to session expiry check list when restarting and reloading from persistence. Closes #2546. * Fix bridges not sending failure notification messages to the local broker if the remote bridge connection fails. Closes #2467. Closes #1488. * Fix some PUBLISH messages not being counted in $SYS stats. Closes #2448. * Fix incorrect return code being sent in DISCONNECT when a client session is taken over. Closes #2607. * Fix confusing "out of memory" error when a client is kicked in the dynamic security plugin. Closes #2525. * Fix confusing error message when dynamic security config file was a directory. Closes #2520. * Fix bridge queued messages not being persisted when local_cleansession is set to false and cleansession is set to true. Closes #2604. * Dynamic security: Fix modifyClient and modifyGroup commands to not modify the client/group if a new group/client being added is not valid. * Dynamic security: Fix the plugin being able to be loaded twice. Currently only a single plugin can interact with a unique $CONTROL topic. Using multiple instances of the plugin would produce duplicate entries in the config file. Closes #2601. Closes #2470. * Fix case where expired messages were causing queued messages not to be delivered. Closes #2609. * Fix websockets not passing on the X-Forwarded-For header. * Fix use of `MOSQ_OPT_TLS_ENGINE` being unable to be used due to the openssl ctx not being initialised until starting to connect. Closes #2537. * Fix incorrect use of SSL_connect. Closes #2594. * Don't set SIGPIPE to ignore, use MSG_NOSIGNAL instead. Closes #2564. * Add documentation of struct mosquitto_message to header. Closes #2561. * Fix documentation omission around mosquitto_reinitialise. Closes #2489. * Fix use of MOSQ_OPT_SSL_CTX when used in conjunction with MOSQ_OPT_SSL_CTX_DEFAULTS. Closes #2463. * Fix failure to close thread in some situations. Closes #2545. * Fix mosquitto_pub incorrectly reusing topic aliases when reconnecting. * Fix `-o` not working in `mosquitto_ctrl`, and typo in related documentation.- Update to version 2.0.14 Broker: * Fix bridge not respecting receive-maximum when reconnecting with MQTT v5. Client library: * Fix mosquitto_topic_matches_sub2() not using the length parameters. * Fix incorrect subscribe_callback in mosquittopp.h.- Update to version 2.0.13 Broker: * Fix `max_keepalive` option not being able to be set to 0. * Fix LWT messages not being delivered if `per_listener_settings` was set to true. * Various fixes around inflight quota management. * Fix problem parsing config files with Windows line endings. * Don't send retained messages when a shared subscription is made * Fix client id not showing in log on failed connections, where possible. * Fix broker sending duplicate CONNACK on failed MQTT v5 reauthentication. * Fix mosquitto_plugin.h not including mosquitto_broker.h. Client library: * Initialise sockpairR/W to invalid in `mosquitto_reinitialise()` to avoid closing invalid sockets in `mosquitto_destroy()` on error. Clients: - Fix date format in mosquitto_sub output.- Added hardening to systemd service(s) (bsc#1181400). Modified: * mosquitto.service- Update to version 2.0.12 * Includes security fixes for CVE-2021-34434 (bsc#1190048) and CVE-2020-13849 (bsc#1190101) Security : * An MQTT v5 client connecting with a large number of user-property properties could cause excessive CPU usage, leading to a loss of performance and possible denial of service. This has been fixed. * Fix `max_keepalive` not applying to MQTT v3.1.1 and v3.1 connections. These clients are now rejected if their keepalive value exceeds max_keepalive. This option allows CVE-2020-13849, which is for the MQTT v3.1.1 protocol itself rather than an implementation, to be addressed. * Using certain listener related configuration options e.g. `cafile`, that apply to the default listener without defining any listener would cause a remotely accessible listener to be opened that was not confined to the local machine but did have anonymous access enabled, contrary to the documentation. This has been fixed. Closes #2283. * CVE-2021-34434: If a plugin had granted ACL subscription access to a durable/non-clean-session client, then removed that access,the client would keep its existing subscription. This has been fixed. * Incoming QoS 2 messages that had not completed the QoS flow were not being checked for ACL access when a clean session=False client was reconnecting. This has been fixed. Broker: * Fix possible out of bounds memory reads when reading a corrupt/crafted configuration file. Unless your configuration file is writable by untrusted users this is not a risk. * Fix `max_connections` option not being correctly counted. * Fix TLS certificates and TLS-PSK not being able to be configured at the same time. * Disable TLS v1.3 when using TLS-PSK, because it isn't correctly configured. * Fix `max_keepalive` not applying to MQTT v3.1.1 and v3.1 connections. These clients are now rejected if their keepalive value exceeds max_keepalive. * Fix broker not quiting if e.g. the `password_file` is specified as a directory. Closes #2241. * Fix listener mount_point not being removed on outgoing messages. * Strict protocol compliance fixes, plus test suite. * Fix $share subscriptions not being recovered for durable clients that reconnect. * Update plugin configuration documentation. Closes #2286. Client library: * If a client uses TLS-PSK then force the default cipher list to use "PSK" ciphers only. This means that a client connecting to a broker configured with x509 certificates only will now fail. Prior to this, the client would connect successfully without# verifying certificates, because they were not configured. * Disable TLS v1.3 when using TLS-PSK, because it isn't correctly configured. * Threaded mode is deconfigured when the mosquitto_loop_start() thread ends, which allows mosquitto_loop_start() to be called again. * Fix MOSQ_OPT_SSL_CTX not being able to be set to NULL. * Fix reconnecting failing when MOSQ_OPT_TLS_USE_OS_CERTS was in use, but none of capath, cafile, psk, nor MOSQ_OPT_SSL_CTX were set, and MOSQ_OPT_SSL_CTX_WITH_DEFAULTS was set to the default value of true. Apps: * Fix `mosquitto_ctrl dynsec setDefaultACLAccess` command not working. Clients: * Document TLS certificate behaviour when using `-p 8883`. Build: * Fix installation using WITH_TLS=no. Closes #2281. * Fix builds with libressl 3.4.0. Closes #2198. * Remove some unnecessary code guards related to libressl. * Fix printf format build warning on MIPS. Closes #2271.- Update to version 2.0.11 Security: * If a MQTT v5 client connects with a crafted CONNECT packet a memory leak will occur. This has been fixed. Broker: * Fix possible crash having just upgraded from 1.6 if `per_listener_settings true` is set, and a SIGHUP is sent to the broker before a client has reconnected to the broker. * Fix bridge not reconnectng if the first reconnection attempt fails. * Improve QoS 0 outgoing packet queueing. * Fix QoS 0 messages not being queued when `queue_qos0_messages` was enabled. Clients: * If sending mosquitto_sub output to a pipe, mosquitto_sub will now detect that the pipe has closed and disconnect. * Fix `mosquitto_pub -l` quitting if a message publication is attempted when the broker is temporarily unavailable. - Remove not longer needed patch: * fix-undefined-symbols-in-plugins.patch (fixed upstream)- Update to version 2.0.10 Security: * CVE-2021-28166: If an authenticated client connected with MQTT v5 sent a malformed CONNACK message to the broker a NULL pointer dereference occurred, most likely resulting in a segfault. This will be updated with the CVE number when it is assigned. Affects versions 2.0.0 to 2.0.9 inclusive. Broker: * Don't over write new receive-maximum if a v5 client connects and takes over an old session. * Fix CVE-2021-28166. Closes #2163. Clients: * Set `receive-maximum` to not exceed the `-C` message count in mosquitto_sub and mosquitto_rr, to avoid potentially lost messages. * Fix TLS-PSK mode not working with port 8883. Client library: * Fix possible socket leak. This would occur if a client was using `mosquitto_loop_start()`, then if the connection failed due to the remote server being inaccessible they called `mosquitto_loop_stop(, true)` and recreated the mosquitto object. Build: * A variety of minor build related fixes, like functions not having previous declarations.- Build with support for tcp-wrapper (-DUSE_LIBWRAP=ON) - Update to version 2.0.9 Security: * If an empty or invalid CA file was provided to the client library for verifying the remote broker, then the initialx connection would fail but subsequent connections would succeed without verifying the remote broker certificate. * If an empty or invalid CA file was provided to the broker for verifying the remote broker for an outgoing bridge connection then the initial connection would fail but subsequent connections would succeed without verifying the remote broker certificate. Broker: * Fix encrypted bridge connections incorrectly connecting when `bridge_cafile` is empty or invalid. * Fix `tls_version` behaviour not matching documentation. It was setting the exact TLS version to use, not the minimium TLS version to use. * Fix messages to `$` prefixed topics being rejected. * Fix QoS 0 messages not being delivered when max_queued_bytes was configured. * Fix bridge increasing backoff calculation. * Improve handling of invalid combinations of listener address and bind interface configurations. * Fix `max_keepalive` option not applying to clients connecting with keepalive set to 0. Client library: * Fix encrypted connections incorrectly connecting when the CA file passed to `mosquitto_tls_set()` is empty or invalid. * Fix connections retrying very rapidly in some situations. Build: * Fix cmake epoll detection.- Convert some of the BuildRequires from package names to pkgconfig(): libcares, libcjson, libwebsockets- Fix linking of modules: - Add fix-undefined-symbols-in-plugins.patch - revert old workaround of settings -DCMAKE_SHARED_LINKER_FLAGS=- Update mosquitto-1.6.8-config.patch: Set a short profilename for a cleaner ps aufxZ output - Refreshed mosquitto-1.6.8-config.patch to apply cleanly again- Update to version 2.0.8 Broker: * Fix incorrect datatypes in `struct mosquitto_evt_tick`. This changes the size and offset of two of the members of this struct, and changes the size of the struct. This is an ABI break, but is considered to be acceptable because plugins should never be allocating their own instance of this struct, and currently none of the struct members are used for anything, so a plugin should not be accessing them. It would also be safe to read/write from the existing struct parameters. * Give compile time warning if libwebsockets compiled without external poll support. Client library: * Fix mosquitto_{pub|sub}_topic_check() functions not returning MOSQ_ERR_INVAL on topic == NULL. Clients: * Fix possible loss of data in `mosquitto_pub -l` when sending multiple long lines.- Update to version 2.0.7 Broker: * Fix some minor memory leaks on exit only. * Fix possible memory leak on connect. * Fix openssl engine not being able to load private key. Clients: * Fix config files truncating options after the first space. Build: - Fix man page building to not absolutely require xsltproc when using CMake. - Update to version 2.0.6 Broker: * Fix calculation of remaining length parameter for websockets clients that send fragmented packets. Broker: * Fix potential duplicate Will messages being sent when a will delay interval has been set. * Fix message expiry interval property not being honoured in `mosquitto_broker_publish` and `mosquitto_broker_publish_copy`. * Fix websockets listeners with TLS not responding. * Improve logging in obscure cases when a client disconnects. * Fix reloading of listeners where multiple listeners have been defined with the same port but different bind addresses. * Fix `message_size_limit` not applying to the Will payload. * The error topic-alias-invalid was being sent if an MQTT v5 client published a message with empty topic and topic alias set, but the topic alias hadn't already been configured on the broker. This has been fixed to send a protocol error, as per section 3.3.4 of the specification. * Note in the man pages that SIGHUP reloads TLS certificates. Apps: * Allow command line arguments to override config file options in mosquitto_ctrl. * mosquitto_ctrl: produce an error when requesting a new password if both attempts do not match.- Update to version 2.0.5 Broker: * Fix "auth_method" not being provided to the extended auth plugin event. * Fix large packets not being completely published to slow clients. * Fix bridge connection not relinquishing POLLOUT after messages are sent. * Fix apparmor incorrectly denying access to /var/lib/mosquitto/mosquitto.db.new. * Fix potential intermittent initial bridge connections when using poll(). * Fix "bind_interface" option. * Fix invalid behaviour in dynsec plugin if a group or client is deleted before a role that was attached to the group or client is deleted. * Improve logging in dynsec addGroupRole/addGroupClient commands. Client library: * Improve documentation around the "_v5()" and non-v5 functions, e.g. `mosquitto_publish()` and `mosquitto_publish_v5(). Build: * "install" Makefile target should depend on "all", not "mosquitto", to ensure that man pages are always built. Apps: * Disallow control characters in mosquitto_passwd usernames. * Fix incorrect description in mosquitto_ctrl man page. * Fix `mosquitto_ctrl dynsec getGroup` not showing roles.- Update to version 2.0.4 Broker: * Fix $SYS/broker/publish/messages/+ counters not being updated for QoS 1, 2 messages. * mosquitto_connect_bind_async() and mosquitto_connect_bind_v5() should not reset the bind address option if called with bind_address == NULL. * Add more log messages for dynsec load/save error conditions. Build: * Fix man pages not being built when using CMake. - Update to version 2.0.3 Security: * Running mosquitto_passwd with the following arguments only `mosquitto_passwd -b password_file username password` would cause the username to be used as the password. Broker: * Fix LWT not being sent on client takeover when the existing session wasn't being continued. * Fix bridges possibly not completing connections when WITH_ADNS is in use. * Fix QoS 0 messages not being delivered if max_queued_messages was set to 0. * Fix local bridges being disconnected on SIGHUP. * Fix slow initial bridge connections for WITH_ADNS=no. * Fix persistence_location not appending a '/'. Clients: * Fix mosquitto_sub being unable to terminate with Ctrl-C if a successful connection is not made. Apps: * Fix `mosquitto_passwd -b` using username as password (not if `-c` is also used). Build: * Fix `install` target when using WITH_CJSON=no.- Update to version 2.0.2 Broker: * Fix DH group not being set for TLS connections, which meant ciphers using DHE couldn't be used. * Fix websockets listeners not causing the main loop not to wake up. Client library: * Fix DH group not being set for TLS connections, which meant ciphers using DHE couldn't be used. Apps: * Fix "mosquitto_passwd -U" Build: - Fix cjson include paths. - Fix build using WITH_TLS=no when the openssl headers aren't available. - Distribute cmake/ and snap/ directories in tar. - Drop patch: * mosquitto-fix-cmake-cjson-detection.patch- Update to version 2.0.0 !!! Mosquitto 2.0 introduces a number of changes to the behaviour of the broker. See the following document for details https://mosquitto.org/documentation/migrating-to-2-0/ Noteworthy changes * Mosquitto is now more secure by default and requires users to take an active decision in how they configure security on their broker, instead of possibly relying on the older very permissive behaviour, as well as dropping privileged access more quickly * A new plugin interface has been introduced which goes beyond the existing authentication and access control plugin interface to offer more plugin capabilities * A new plugin has been introduced to provide client, group, and role based authentication and access control. * The broker performance has been improved, particularly for higher numbers of clients * A new utility, mosquitto_ctrl has been added for controlling aspects of a running broker. * Bridges now support MQTT v5. * The mosquitto command line clients have received a variety of small improvements. mosquitto_sub can now format its output in fixed column widths, for example, and filter its output randomly so you can keep an eye on the overall behaviour of a topic without having to see every message, for example. - Add patch: * mosquitto-fix-cmake-cjson-detection.patch- Update to version 1.6.12 Security: * In some circumstances, Mosquitto could leak memory when handling PUBLISH messages. This is limited to incoming QoS 2 messages, and is related to the combination of the broker having persistence enabled, a clean session=false client, which was connected prior to the broker restarting, then has reconnected and has now sent messages at a sufficiently high rate that the incoming queue at the broker has filled up and hence messages are being dropped. This is more likely to have an effect where max_queued_messages is a small value. This has now been fixed. Closes #1793. Broker: * Build warning fixes when building with WITH_BRIDGE=no and WITH_TLS=no. Clients: * All clients exit with an error exit code on CONNACK failure. * Don't busy loop with `mosquitto_pub -l` on a slow connection.- Update to version 1.6.11 Broker: * Fix usage message only mentioning v3.1.1. * Fix broker refusing to start if only websockets listeners were defined. * Change systemd unit files to create /var/log/mosquitto before starting. * Don't quit with an error if opening the log file isn't possible. * Fix bridge topic remapping when using "" as the topic. * Fix messages being queued for disconnected bridges when clean start was set to true. * Fix `autosave_interval` not being triggered by messages being delivered. * Fix websockets clients sometimes not being disconnected promptly. * Fix "slow" file based logging by switching to line based buffering. * Log protocol error message where appropriate from a bad UNSUBSCRIBE, rather than the generic "socket error". * Don't try to start DLT logging if DLT unavailable, to avoid a long delay when shutting down the broker. * Fix potential memory leaks. * Fix clients not receiving messages after a previous client with the same client ID and positive will delay interval quit. * Fix overly broad HAVE_PTHREAD_CANCEL compile guard. Client library: * Improved documentation around connect callback return codes. * Fix `mosquitto_publish*()` no longer returning `MOSQ_ERR_NO_CONN` when not connected. * `mosquitto_loop_start()` now sets a thread name on Linux- Lets always build with support for systemd and websockets and drop all the related ifdef's. - Run spec-cleaner.- Fix for the apparmor profile to properly allow reading files from /etc/mosquitto/conf.d/- Update to version 1.6.10 Broker: * Report invalid bridge prefix+pattern combinations at config parsing time rather than letting the bridge fail later. * Fix `mosquitto_passwd -b` not updating passwords for existing users correctly. Creating a new user with `-b` worked without problem. * Fix memory leak when connecting clients rejected. * Don't disconnect clients that are already disconnected. This prevents the session expiry being extended on SIGHUP. * Fix support for openssl 3.0. * Fix check when loading persistence file of a different version than the native version. * Fix possible assert crash associated with bridge reconnecting when compiled without epoll support. Client library: * Don't treat an unexpected PUBACK, PUBREL, or PUBCOMP as a fatal error. * Fix support for openssl 3.0. * Fix memory leaks from multiple calls to `mosquitto_lib_init()`/`mosquitto_lib_cleanup()`. * Fix documentation on return code of `mosquitto_lib_init()` for Windows. Clients: * Fix mosquitto_sub %j or %J not working on Windows. Build: * Various fixes for building with user not being freed on exit. * Fix trailing whitespace not being trimmed on acl users. * Fix `bind_interface` not working for the default listener. * Improve password file parsing in the broker and mosqitto_passwd. * Print OpenSSL errors in more situations, like when loading certificates fails. * Fix `mosquitto_client_protocol() returning incorrect values. Client library: * Set minimum keepalive argument to `mosquitto_connect*()` to be 5 seconds. * Fix `mosquitto_topic_matches_sub()` not returning MOSQ_ERR_INVAL if the topic contains a wildcard. Clients: * Fix `--remove-retained` not obeying the `-T` option for filtering out topics. * Default behaviour for v5 clients using `-c` is now to use infinite length sessions, as with v3 clients.- Update apparmor profile to allow open of /etc/mosquitto/conf.d - Update default config to include files under /etc/mosquitto/conf.d per the README in the directory - Add patch: * mosquitto-1.6.8-config.patch- Update to version 1.6.8 Broker: * Various fixes for `allow_zero_length_clientid` config, where this option was not being set correctly. * Fix incorrect memory tracking causing problems with memory_limit option. * Fix subscription topics being limited to 200 characters instead of 200 hierarchy levels. * Only a single CRL could be loaded at once. This has been fixed. * Fix problems with reloading config when `per_listener_settings` was true. * Fix retained messages with an expiry interval not being expired after being restored from persistence. * Fix messages with an expiry interval being sent without an expiry interval property just before they were expired. * Fix TLS Websockets clients not receiving messages after taking over a previous connection. * Fix MQTT 3.1.1 clients using clean session false, or MQTT 5.0 clients using session-expiry-interval set to infinity never expiring, even when the global `persistent_client_expiration` option was set. Client library: * Fix publish properties not being passed to on_message_v5 callback for QoS 2 messages. * Fix documentation issues in mosquitto.h. * Document `mosquitto_connect_srv()`. Clients: * Fix duplicate cfg definition in rr_client. * Fix `mosquitto_pub -l` hang when stdin stream ends. * Fix `mosquitto_pub -l` not sending the final line of stdin if it does not end with a new line. * Make documentation for `mosquitto_pub -l` match reality - blank lines are sent as empty messages. * Free memory in `mosquitto_sub` when quiting without having made a successful connection. - Drop patch: * mosquitto-fix-pkgconf-path.patch (fixed upstream)- Update to version 1.6.7 Broker: * Add workaround for working with libwebsockets 3.2.0. * Fix potential crash when reloading config. Client library: * Don't use `/` in autogenerated client ids, to avoid confusing with topics. * Fix `mosquitto_max_inflight_messages_set()` and `mosquitto_int_option(..., MOSQ_OPT_*_MAX, ...)` behaviour. * Fix regression on use of `mosquitto_connect_async()` not working. Clients: * mosquitto_sub: Fix `-E` incorrectly not working unless `-d` was also specified. * Updated documentation around automatic client ids.- Update to version 1.6.5 Fix CVE-2019-11779: * In Eclipse Mosquitto 1.5.0 to 1.6.5 inclusive, if a malicious MQTT client sends a SUBSCRIBE packet containing a topic that consists of approximately 65400 or more '/' characters, i.e. the topic hierarchy separator, then a stack overflow will occur. Broker: * Fix v5 DISCONNECT packets with remaining length == 2 being treated as a protocol error. * Fix support for libwebsockets 3.x. * Fix slow websockets performance when sending large messages. * Fix clients authorised using `use_identity_as_username` or `use_subject_as_username` being disconnected on SIGHUP. * Improve error messages in some situations when clients disconnect. Reduces the number of "Socket error on client X, disconnecting" messages. * Fix Will for v5 clients not being sent if will delay interval was greater than the session expiry interval. * Fix CRL file not being reloaded on HUP. Client library: * Fix reconnect backoff for the situation where connections are dropped rather than refused. * Fix missing locks on `mosq->state`. - Update to version 1.6.4 Fix CVE-2019-11778: * If an MQTT v5 client connects to Eclipse Mosquitto versions 1.6.0 to 1.6.4 inclusive, sets a last will and testament, sets a will delay interval, sets a session expiry interval, and the will delay interval is set longer than the session expiry interval, then a use after free error occurs, which has the potential to cause a crash in some situations. Broker: * Fix incoming QoS 2 messages being blocked when `max_inflight_messages` was set to 1. * Fix incoming messages not being removed for a client if the topic being published to does not have any subscribers. Client library: * Fix MQTT v5 subscription options being incorrectly set for MQTT v3 subscriptions. * Make behaviour of `mosquitto_connect_async()` consistent with `mosquitto_connect()` when connecting to a non-existent server. * `mosquitto_string_option(mosq, MOSQ_OPT_TLS_KEYFORM, ...)` was incorrectly returning `MOSQ_ERR_INVAL` with valid input. This has been fixed. * on_connect callback is now called with the correct v5 reason code if a v5 client connects to a v3.x broker and is sent a CONNACK with the "unacceptable protocol version" connack reason code. * Fix memory leak when setting v5 properties in mosquitto_connect_v5(). * Fix properties not being sent on QoS>0 PUBLISH messages. Clients: * mosquitto_pub: fix error codes not being returned when mosquitto_pub exits. * All clients: improve error messages when connecting to a v3.x broker when in v5 mode. Other: - Various documentation fixes. - Update to version 1.6.3 Broker: * Fix detection of incoming v3.1/v3.1.1 bridges. * Fix default max_topic_alias listener config not being copied to the in-use listener when compiled without TLS support. * Fix random number generation if compiling using `WITH_TLS=no` and on Linux with glibc >= 2.25. Without this fix, no random numbers would be generated for e.g. on broker client id generation, and so clients connecting expecting this feature would be unable to connect. * Fix compilation problem related to `getrandom()` on non-glibc systems. * Fix Will message for a persistent client incorrectly being sent when the client reconnects after a clean disconnect. - Fix Will message for a persistent client not being sent on disconnect. * Improve documentation around the upgrading of persistence files. * Add 'extern "C"' on mosquitto_broker.h and mosquitto_plugin.h for C++ plugin writing. * Fix persistent Websockets clients not receiving messages after they reconnect, having sent DISCONNECT on a previous session * Disable TLS renegotiation. Client initiated renegotiation is considered to be a potential attack vector against servers. * Fix incorrect shared subscription topic '$shared'. * Fix zero length client ids being rejected for MQTT v5 clients with clean start set to true. * Fix MQTT v5 overlapping subscription behaviour. Clients now receive message from all matching subscriptions rather than the first one encountered, which ensures the maximum QoS requirement is met. * Fix incoming/outgoing quota problems for QoS>0. * Remove obsolete `store_clean_interval` from documentation. * Fix v4 authentication plugin never calling psk_key_get. Clients: * Fix -L url parsing when `/topic` part is missing. * Stop some error messages being printed even when `--quiet` was used. * Fix mosquitto_pub exiting with error code 0 when an error occurred. * Fix mosquitto_pub not using the `-c` option. * Fix MQTT v5 clients not being able to specify a password without a username. * Fix `mosquitto_pub -l` not handling network failures. * Fix `mosquitto_pub -l` not handling zero length input. * Fix double free on exit in mosquitto_pub. - Update to version 1.6.2 Broker: * Fix memory access after free, leading to possible crash, when v5 client with Will message disconnects, where the Will message has as its first property one of `content-type`, `correlation-data`, `payload-format-indicator`, or `response-topic`. * Fix Will message not allowing user-property properties. * Fix broker originated messages (e.g. $SYS/broker/version) not being published when `check_retain_source` set to true. * Fix $SYS/broker/version being incorrectly expired after 60 seconds. Library: * Fix crash after client has been unable to connect to a broker. This occurs when the client is exiting and is part of the final library cleanup routine. Clients: - Fix -L url parsing. - Update to version 1.6.1 Broker: * Document `memory_limit` option. Clients: * Fix compilation on non glibc systems due to missing sys/time.h header. - Add patch: * mosquitto-fix-pkgconf-path.patch- Remove SuSEfirewall2 service since SuSEfirewall2 has been replaced by firewalld (which already provides a mqtt service).- Update to version 1.6.0 Broker features * Add support for MQTT v5 * Add support for OCSP stapling. * Add support for ALPN on bridge TLS connections. * Add support for Automotive DLT logging. * Add TLS Engine support. * Persistence file read/write performance improvements. * General performance improvements. * Add max_keepalive option, to allow a maximum keepalive value to be set for MQTT v5 clients only. * Add bind_interface option which allows a listener to be bound to a specific network interface, in a similar fashion to the bind_address option. Linux only. * Add improved bridge restart interval based on Decorrelated Jitter. * Add dhparamfile option, to allow DH parameters to be loaded for Ephemeral DH support * Disallow writing to $ topics where appropriate. * Add explicit support for TLS v1.3. * Drop support for TLS v1.0. * Improved general support for broker generated client ids. Removed libuuid dependency. * auto_id_prefix now defaults to 'auto-'. * QoS 1 and 2 flow control improvements. Client library features * Add support for MQTT v5 * Add mosquitto_subscribe_multiple() for sending subscriptions to multiple topics in one command. * Add TLS Engine support. * Add explicit support for TLS v1.3. * Drop support for TLS v1.0. * QoS 1 and 2 flow control improvements. Client features * Add support for MQTT v5 * Add mosquitto_rr client, which can be used for "request-response" messaging, by sending a request message and awaiting a response. * Add TLS Engine support. * Add support for ALPN on TLS connections. * Add -D option for all clients to specify MQTT v5 properties. * Add -E to mosquitto_sub, which causes it to exit immediately after having its subscriptions acknowledged. Use with -c to create a durable client session without requiring a message to be received. * Add --remove-retained to mosquitto_sub, which can be used to clear retained messages on a broker. * Add --repeat and --repeat-delay to mosquitto_pub, which can be used to repeat single message publishes at a regular interval. * -V now accepts 5, 311, 31, as well as mqttv5 etc. * Add explicit support for TLS v1.3. * Drop support for TLS v1.0. Broker fixes * Improve error reporting when creating listeners. * Fix mosquitto_passwd crashing on corrupt password file. * Fix build on SmartOS due to missing IPV6_V6ONLY. Client library fixes * Add missing mosquitto_userdata() function. Client fixes * mosquitto_pub wouldn't always publish all messages when using -l and QoS>0. This has been fixed. * mosquitto_sub was incorrectly encoding special characters when using %j output format.- Update to version 1.5.8 Broker: * Fix clients being disconnected when ACLs are in use. This only affects the case where a client connects using a username, and the anonymous ACL list is defined but specific user ACLs are not defined. * Fix delayed bridge local subscriptions causing missing messages. Library: * Use higher resolution timer for random initialisation of client id generation. * Fix some Coverity Scan reported errors that could occur when the library was already quitting.- Use HTTPS for all URLs - Verify source signature- Update to version 1.5.7 Broker: - Ensure that an error occurs if `per_listener_settings true` is given after other security options. - Fix case where old unreferenced msg_store messages were being saved to the persistence file, bloating its size unnecessarily. Library: - Fix `mosquitto_topic_matches_sub()` not returning MOSQ_ERR_INVAL for invalid subscriptions like `topic/#abc`. This only affects the return value, not the match/no match result, which was already correct.- Update to version 1.5.6 Security: * Fix CVE-2018-12551 (bsc#1125021): If Mosquitto is configured to use a password file for authentication, any malformed data in the password file will be treated as valid. This typically means that the malformed data becomes a username and no password. If this occurs, clients can circumvent authentication and get access to the broker by using the malformed username. In particular, a blank line will be treated as a valid empty username. Other security measures are unaffected. Users who have only used the mosquitto_passwd utility to create and modify their password files are unaffected by this vulnerability. * Fix CVE-2018-12550 (bsc#1125021): If an ACL file is empty, or has only blank lines or comments, then mosquitto treats the ACL file as not being defined, which means that no topic access is denied. Although denying access to all topics is not a useful configuration, this behaviour is unexpected and could lead to access being incorrectly granted in some circumstances. This is now fixed. * Fix CVE-2018-12546 (bsc#1125019): If a client publishes a retained message to a topic that they have access to, and then their access to that topic is revoked, the retained message will still be delivered to future subscribers. This behaviour may be undesirable in some applications, so a configuration option `check_retain_source` has been introduced to enforce checking of the retained message source on publish. Broker: * Fixed comment handling for config options that have optional arguments. * Improved documentation around bridge topic remapping. * Handle mismatched handshakes (e.g. QoS1 PUBLISH with QoS2 reply) properly. * Fix spaces not being allowed in the bridge remote_username option. * Allow broker to always restart on Windows when using `log_dest file`. * Fix Will not being sent for Websockets clients. * Windows: Fix possible crash when client disconnects. * Fixed durable clients being unable to receive messages when offline, when per_listener_settings was set to true. * Add log message for the case where a client is disconnected for sending a topic with invalid UTF-8. Library: * Fix TLS connections not working over SOCKS. * Don't clear SSL context when TLS connection is closed, meaning if a user provided an external SSL_CTX they have less chance of leaking references.- FIX CVE-2018-20145: mosquitto: ACL bypass (bnc#1119536) - Update to version 1.5.5 Security: * If `per_listener_settings` is set to true, then the `acl_file` setting was ignored for the "default listener" only. This has been fixed. This does not affect any listeners defined with the `listener` option. Broker: * Add `socket_domain` option to allow listeners to disable IPv6 support. This is required to work around a problem in libwebsockets that means sockets only listen on IPv6 by default if IPv6 support is compiled in. * When using ADNS, don't ask for all network protocols when connecting, because this can lead to confusing "Protocol not supported" errors if the network is down. * Fix outgoing retained messages not being sent by bridges on initial connection. * Don't reload auth_opt_ options on reload, to match the behaviour of the other plugin options. * Print message on error when installing/uninstalling as a Windows service. * All non-error connect/disconnect messages are controlled by the `connection_messages` option. Library: * Fix reconnect delay backoff behaviour. * Don't call on_disconnect() twice if keepalive tests fail. Client: * Always print leading zeros in mosquitto_sub when output format is hex. Build: * Fix building where TLS-PSK is not available. - Update to version 1.5.4 Security: * When using a TLS enabled websockets listener with "require_certificate" enabled, the mosquitto broker does not correctly verify client certificates. This is now fixed. All other security measures operate as expected, and in particular non-websockets listeners are not affected by this. Broker: * Process all pending messages even when a client has disconnected. This means a client that send a PUBLISH then DISCONNECT quickly, then disconnects will have its DISCONNECT message processed properly and so no Will will be sent. * $SYS/broker/clients/disconnected should never be negative. * Give better error message if a client sends a password without a username. * Fix bridge not honoring restart_timeout. * Don't disconnect a client if an auth plugin denies access to SUBSCRIBE. Library: * Fix memory leak that occurred if mosquitto_reconnect() was used when TLS errors were present. * Fix TLS connections when using an external event loop with mosquitto_loop_read() and mosquitto_write(). Build: * Fix clients not being compiled with threading support when using CMake. * Use _GNU_SOURCE to fix build errors in websockets and getaddrinfo usage.- Update to version 1.5.3 Security: * Fix CVE-2018-12543. If a message is sent to Mosquitto with a topic that begins with $, but is not $SYS, then an assert that should be unreachable is triggered and Mosquitto will exit. Broker: * Elevate log level to warning for situation when socket limit is hit. * Fix retained messages not sent by bridges on outgoing topics at the first connection. * Fix duplicate clients being added to by_id hash before the old client was removed. - Update to version 1.5.2 Broker: * Fix incorrect call to setsockopt() for TCP_NODELAY. * Fix excessive CPU usage when the number of sockets exceeds the system limit. * Fix round_robin false behaviour. * Fix segfault on HUP when bridges and security options are configured. Library: * Fix situation where username and password is used with SOCKS5 proxy. * Fix SOCKS5 behaviour when passing IP addresses.- Update to version 1.5.1 Broker: * Fix plugin cleanup function not being called on exit of the broker. * Print more OpenSSL errors when loading certificates/keys fail. * Use AF_UNSPEC etc. instead of PF_UNSPEC to comply with POSIX. * Remove use of AI_ADDRCONFIG, which means the broker can be used on systems where only the loopback interface is defined. * Fix IPv6 addresses not being able to be used as bridge addresses. * All clients now time out if they exceed their keepalive*1.5, rather than just reach it. This was inconsistent in two places. * Fix segfault on startup if bridge CA certificates could not be read. * Fix problem opening listeners on Pi caused by unsigned char being default. * ACL patterns that do not contain either %c or %u now produce a warning in the log. * Fix bridge publishing failing when per_listener_settings was true. * Fix `use_identity_as_username true` not working. * Fix UNSUBACK messages not being logged. * Fix possible endian issue when reading the `memory_limit` option. * Fix building for libwebsockets < 1.6. * Fix accessor functions for username and client id when used in plugin auth check. Library: * Fix some places where return codes were incorrect, including to the on_disconnect() callback. This has resulted in two new error codes, MOSQ_ERR_KEEPALIVE and MOSQ_ERR_LOOKUP. * Fix connection problems when mosquitto_loop_start() was called before mosquitto_connect_async(). Clients: * When compiled using WITH_TLS=no, the default port was incorrectly being set to -1. This has been fixed. * Fix compiling on Mac OS X <10.12. Build: * Fixes for building on NetBSD. * Fixes for building on FreeBSD. * Add support for compiling with static libwebsockets library.- Update to version 1.5 Security: * Fix memory leak that could be caused by a malicious CONNECT packet. This does not yet have a CVE assigned. Closes #533493 (on Eclipse bugtracker) Broker features: * Add per_listener_settings to allow authentication and access control to be per listener. * Add limited support for reloading listener settings. This allows settings for an already defined listener to be reloaded, but port numbers must not be changed. * Add ability to deny access to SUBSCRIBE messages as well as the current read/write accesses. Currently for auth plugins only. * Reduce calls to malloc through the use of UHPA. * Outgoing messages with QoS>1 are no longer retried after a timeout period. Messages will be retried when a client reconnects. This change in behaviour can be justified by considering when the timeout may have occurred. + If a connection is unreliable and has dropped, but without one end noticing, the messages will be retried on reconnection. Sending additional PUBLISH or PUBREL would not have changed anything. + If a client is overloaded/unable to respond/has a slow connection then sending additional PUBLISH or PUBREL would not help the client catch up. Once the backlog has cleared the client will respond. If it is not able to catch up, sending additional duplicates would not help either. * Add use_subject_as_username option for certificate based client authentication to use the entire certificate subject as a username, rather than just the CN. Closes #469467. * Change sys tree printing output. This format shouldn't be relied upon and may change at any time. Closes #470246. * Minimum supported libwebsockets version is now 1.3. * Add systemd startup notification and services. Closes #471053. * Reduce unnecessary malloc and memcpy when receiving a message and storing it. Closes #470258. * Support for Windows XP has been dropped. * Bridge connections now default to using MQTT v3.1.1. * mosquitto_db_dump tool can now output some stats on clients. * Perform utf-8 validation on incoming will, subscription and unsubscription topics. * new $SYS/broker/store/messages/count (deprecates $SYS/broker/messages/stored) * new $SYS/broker/store/messages/bytes * max_queued_bytes feature to limit queues by real size rather than than just message count. Closes Eclipse #452919 or Github #100 * Add support for bridges to be configured to only send notifications to the local broker. * Add set_tcp_nodelay option to allow Nagle's algorithm to be disabled on client sockets. Closes #433. * The behaviour of allow_anonymous has changed. In the old behaviour, the default if not set was to allow anonymous access. The new behaviour is to default is to allow anonymous access unless another security option is set. For example, if password_file is set and allow_anonymous is not set, then anonymous access will be denied. It is still possible to allow anonymous access by setting it explicitly. Broker fixes: * Fix UNSUBSCRIBE with no topic is accepted on MQTT 3.1.1. Closes #665. * Produce an error if two bridges share the same local_clientid. * Miscellaneous fixes on Windows. * queue_qos0_messages was not observing max_queued_** limits * When using the include_dir configuration option sort the files alphabetically before loading them. Closes #17. * IPv6 is no longer disabled for websockets listeners. * Remove all build timestamp information including $SYS/broker/timestamp. Close #651. * Correctly handle incoming strings that contain a NULL byte. Closes #693. * Use constant time memcmp for password comparisons. * Fix incorrect PSK key being used if it had leading zeroes. * Fix memory leak if a client provided a username/password for a listener with use_identity_as_username configured. * Fix use_identity_as_username not working on websockets clients. * Don't crash if an auth plugin returns MOSQ_ERR_AUTH for a username check on a websockets client. Closes #490. * Fix 08-ssl-bridge.py test when using async dns lookups. Closes #507. * Lines in the config file are no longer limited to 1024 characters long. Closes #652. * Fix $SYS counters of messages and bytes sent when message is sent over a Websockets. Closes #250. * Fix upgrade_outgoing_qos for retained message. Closes #534. * Fix CONNACK message not being sent for unauthorised connect on websockets. Closes #8. * Maximum connections on Windows increased to 2048. * When a client with an in-use client-id connects, if the old client has a will, send the will message. Closes #26. * Fix parsing of configuration options that end with a space. Closes #804. Client library features: * Outgoing messages with QoS>1 are no longer retried after a timeout period. Messages will be retried when a client reconnects. * DNS-SRV support is now disabled by default. * Add mosquitto_subscribe_simple() This is a helper function to make retrieving messages from a broker very straightforward. Examples of its use are in examples/subscribe_simple. * Add mosquitto_subscribe_callback() This is a helper function to make processing messages from a broker very straightforward. An example of its use is in examples/subscribe_simple. * Connections now default to using MQTT v3.1.1. * Add mosquitto_validate_utf8() to check whether a string is valid UTF-8 according to the UTF-8 spec and to the additional restrictions imposed by the MQTT spec. * Topic inputs are checked for UTF-8 validity. * Add mosquitto_userdata function to allow retrieving the client userdata member variable. Closes #111. * Add mosquitto_pub_topic_check2(), mosquitto_sub_topic_check2(), and mosquitto_topic_matches_sub2() which are identical to the similarly named functions but also take length arguments. * Add mosquitto_connect_with_flags_callback_set(), which allows a second connect callback to be used which also exposes the connect flags parameter. Closes #738 and #128. * Add MOSQ_OPT_SSL_CTX option to allow a user specified SSL_CTX to be used instead of the one generated by libmosquitto. This allows greater control over what options can be set. Closes #715. * Add MOSQ_OPT_SSL_CTX_WITH_DEFAULTS to work with MOSQ_OPT_SSL_CTX and have the default libmosquitto SSL_CTX configuration applied to the user provided SSL_CTX. Closes #567. Client library fixes: * Fix incorrect PSK key being used if it had leading zeroes. * Initialise "result" variable as soon as possible in mosquitto_topic_matches_sub. Closes #654. * No need to close socket again if setting non-blocking failed. Closes #649. * Fix mosquitto_topic_matches_sub() not correctly matching foo/bar against foo/+/#. Closes #670. * SNI host support added. Client features: * Add -F to mosquitto_sub to allow the user to choose the output format. * Add -U to mosquitto_sub for unsubscribing from topics. * Add -c (clean session) to mosquitto_pub. * Add --retained-only to mosquitto_sub to exit after receiving all retained messages. * Add -W to allow mosquitto_sub to stop processing incoming messages after a timeout. * Connections now default to using MQTT v3.1.1. * Default to using port 8883 when using TLS. * mosquitto_sub doesn't continue to keep connecting if CONNACK tells it the connection was refused. Client fixes: * Correctly handle empty files with "mosquitto_pub -l". Closes #676. Build: * Add WITH_STRIP option (defaulting to "no") that when set to "yes" will strip executables and shared libraries when installing. * Add WITH_STATIC_LIBRARIES (defaulting to "no") that when set to "yes" will build and install static versions of the client libraries. * Don't run TLS-PSK tests if TLS-PSK disabled at compile time. Closes #636. * Support for openssl versions 1.0.0 and 1.0.1 has been removed as these are no longer supported by openssl. Documentation: * Replace mentions of deprecated 'c_rehash' with 'openssl rehash'. - Remove patch: * mosquitto-1.4.12-use-SOURCE_DATE_EPOCH.patch (not longer needed) - Support for tcp-wrapper is broken atm, disable for now- Update to version 1.4.15 Security: * Fix CVE-2017-7652. If a SIGHUP is sent to the broker when there are no more file descriptors, then opening the configuration file will fail and security settings will be set back to their default values. * Fix CVE-2017-7651. Unauthenticated clients can cause excessive memory use by setting "remaining length" to be a large value. This is now mitigated by limiting the size of remaining length to valid values. A "memory_limit" configuration option has also been added to allow the overall memory used by the broker to be limited. Broker: * Use constant time memcmp for password comparisons. * Fix incorrect PSK key being used if it had leading zeroes. * Fix memory leak if a client provided a username/password for a listener with use_identity_as_username configured. * Fix use_identity_as_username not working on websockets clients. * Don't crash if an auth plugin returns MOSQ_ERR_AUTH for a username check on a websockets client. Closes #490. * Fix 08-ssl-bridge.py test when using async dns lookups. Closes #507. * Lines in the config file are no longer limited to 1024 characters long. Closes #652. * Fix $SYS counters of messages and bytes sent when message is sent over a Websockets. Closes #250. * Fix upgrade_outgoing_qos for retained message. Closes #534. * Fix CONNACK message not being sent for unauthorised connect on websockets. Closes #8. Client library: * Fix incorrect PSK key being used if it had leading zeroes. * Initialise "result" variable as soon as possible in mosquitto_topic_matches_sub. Closes #654. * No need to close socket again if setting non-blocking failed. Closes #649. * Fix mosquitto_topic_matches_sub() not correctly matching foo/bar against foo/+/#. Closes #670. Clients: * Correctly handle empty files with "mosquitto_pub -l". Closes #676. Build: * Don't run TLS-PSK tests if TLS-PSK disabled at compile time. Closes #636.- Update to 1.4.14 * Broker: - Fix regression from 1.4.13 where persistence data was not being saved.- Fix incorrect RPM groups. - Remove repeated license declaration from description. Trim package descriptions for size. - Errors from user creation must not be ignored.- Add mosquitto-1.4.12-use-SOURCE_DATE_EPOCH.patch: Determine build timestamp from latest revision of .changes file in order to make the build reproducible and avoid useless republishing.- Update to 1.4.13 * Security: - Fix CVE-2017-9868. The persistence file was readable by all local users, potentially allowing sensitive information to be leaked. This can also be fixed administratively, by restricting access to the directory in which the persistence file is stored. * Broker: - Fix for poor websockets performance. - Fix lazy bridges not timing out for idle_timeout. - Fix problems with large retained messages over websockets. - Set persistence file to only be readable by owner, except on Windows. - Fix CONNECT check for reserved=0, as per MQTT v3.1.1 check MQTT-3.1.2-3. - When the broker stop, wills for any connected clients are now "sent". - Auth plugins can be configured to disable the check for +# in usernames/client ids with the auth_plugin_deny_special_chars option. Partially closes #462. - Restrictions for CVE-2017-7650 have been relaxed - '/' is allowed in usernames/client ids. Remainder of fix for #462. Clients: - Don't use / in auto-generated client ids.- Update to 1.4.12 * Security: - Fix CVE-2017-7650, which allows clients with username or client id set to '#' or '+' to bypass pattern based ACLs or third party plugins. The fix denies message sending or receiving of messages for clients with a '#' or '+' in their username or client id and if the message is subject to a pattern ACL check or plugin check. * Broker: - Fix mosquitto.db from becoming corrupted due to client messages being persisted with no stored message. Closes #424. - Fix bridge not restarting properly. Closes #428. - Fix unitialized memory in gets_quiet on Windows. Closes #426. - Fix building with WITH_ADNS=no for systems that don't use glibc. Closes #415. - Fixes to readme.md. - Fix deprecation warning for OpenSSL 1.1. PR #416. - Don't segfault on duplicate bridge names. Closes #446. - Fix CVE-2017-7650.- update to 1.4.11 - Broker: - Fix crash when "lazy" type bridge attempts to reconnect. Closes #259. - maximum_connections now applies to websockets listeners. Closes #271. - Allow bridges to use TLS with IPv6. - Don't error on zero length persistence files. Closes #316. - For http only websockets clients, close files served over http in all cases when the client disconnects. Closes #354. - Fix error message when websockets http_dir directory does not exist. - Improve password utility error message. Closes #379. - Clients: - Use of --ciphers no longer requires you to also pass - -tls-version. Closes #380. - Client library: - Clients can now use TLS with IPv6. - Fix potential socket leakage when reconnecting. Closes #304. - Fix potential negative timeout being passed to pselect. Closes #329. - update 1.4.10 - Broker: - Fix TLS operation with websockets listeners and libwebsockts 2.x. Closes #186. - Don't disconnect client on HUP before reading the pending data. Closes #7. - Fix some $SYS messages being incorrectly persisted. Closes [#191]. - Support OpenSSL 1.1.0. - Call fsync after persisting data to ensure it is correctly written. Closes #189. - Fix persistence saving of subscription QoS on big-endian machines. - Fix will retained flag handling on Windows. Closes #222. - Broker now displays an error if it is unable to open the log file. Closes #234. - Client library: - Support OpenSSL 1.1.0. - Fixed the C++ library not allowing SOCKS support to be used. Closes #198. - Fix memory leak when verifying a server certificate with a subjectAltName section. Closes #237. - Build: - Don't attempt to install docs when WITH_DOCS=no. Closes #184.- update to 1.4.9 - Broker: - Ensure websockets clients that previously connected with clean session set to false have their queued messages delivered immediately on reconnecting. Closes #476314. - Reconnecting client with clean session set to false doesn't start with mid=1 again. - Will topic isn't truncated by one byte when using a mount_point any more. - Network errors are printed correctly on Windows. - Fix incorrect $SYS heap memory reporting when using ACLs. - Bridge config parameters couldn't contain a space, this has been fixed. Closes #150. - Fix saving of persistence messages that start with a '/'. Closes #151. - Fix reconnecting for bridges that use TLS on Windows. Closes [#154]. - Broker and bridges can now cope with unknown incoming PUBACK, PUBREC, PUBREL, PUBCOMP without disconnecting. Closes #57. - Fix websockets listeners not being able to bind to an IP address. Closes #170. - mosquitto_passwd utility now correctly deals with unknown command line arguments in all cases. Closes #169. - Fix publishing of $SYS/broker/clients/maximum - Fix order of #includes in lib/send_mosq.c to ensure struct mosquitto doesn't differ between source files when websockets is being used. Closes #180. - Fix possible rare crash when writing out persistence file and a client has incomplete messages inflight that it has been denied the right to publish. - Client library: - Fix the case where a message received just before the keepalive timer expired would cause the client to miss the keepalive timer. - Return value of pthread_create is now checked. - _mosquitto_destroy should not cancel threads that weren't created by libmosquitto. Closes #166. - Clients can now cope with unknown incoming PUBACK, PUBREC, PUBREL, PUBCOMP without disconnecting. Closes #57. - Fix mosquitto_topic_matches_sub() reporting matches on some invalid subscriptions. - Clients: - Handle some unchecked malloc() calls. Closes #1. - Build: - Fix string quoting in CMakeLists.txt. Closes #4. - Fix building on Visual Studio 2015. Closes #136.- update to 1.4.8 - Broker: - Wills published by clients connected to a listener with mount_point defined now correctly obey the mount point. This was a potential security risk because it allowed clients to publish messages outside of their restricted mount point. This is only affects brokers where the mount_point option is in use. Closes #487178. - Fix detection of broken connections on Windows. Closes #485143. - Close stdin etc. when daemonised. Closes #485589. - Fix incorrect detection of FreeBSD and OpenBSD. Closes #485131. - Client library: - mosq->want_write should be cleared immediately before a call to SSL_write, to allow clients using mosquitto_want_write() to get accurate results.- update to 1.4.7 - Broker: - Fix support for libwebsockets 1.22. - changes from 1.4.6 - Broker: - Add support for libwebsockets 1.6. - Client library: - Fix _mosquitto_socketpair() on Windows, reducing the chance of delays when publishing. Closes #483979. - Clients: - Fix "mosquitto_pub -l" stripping the final character on a line. Closes #483981.- enable websocket supports- enabled tcp wrapper support- pass the config file in the service file. it does not load it otherwise.- update to 1.4.5 - Broker - Fix possible memory leak if bridge using SSL attempts to connect to a host that is not up. - Free unused topic tree elements (fix in 1.4.3 was incomplete). Closes #468987. - Clients - “mosquitto_pub -l” now no longer limited to 1024 byte lines. Closes #478917.- update to 1.4.4 - Broker: - Don't leak sockets when outgoing bridge with multiple addresses cannot connect. Closes #477571. - Fix cross compiling of websockets. Closes #475807. - Fix memory free related crashes on openwrt. Closes #475707. - Fix excessive calls to message retry check.- update to 1.4.3 - Broker - Fix incorrect bridge notification on initial connection. Closes #467096. - Build fixes for OpenBSD. - Fix incorrect behaviour for autosave_interval, most noticable for autosave_interval=1. Closes #465438. - Fix handling of outgoing QoS>0 messages for bridges that could not be sent because the bridge connection was down. - Free unused topic tree elements. Closes #468987. - Fix some potential memory leaks. Closes #470253. - Fix potential crash on libwebsockets error. - Client library - Add missing error strings to mosquitto_strerror. - Handle fragmented TLS packets without a delay. Closes [#470660]. - Fix incorrect loop timeout being chosen when using threaded - interface and keepalive = 0. Closes #471334. - Increment inflight messages count correctly. Closes #474935. - Clients - Report error string on connection failure rather than error code.- update to 1.4.2 Broker: - Fix bridge prefixes only working for the first outgoing message. Closes #464437. - Fix incorrect bridge connection notifications on local broker. - Fix persistent db writing on Windows. Closes #464779. - ACLs are now checked before sending a will message. - Fix possible crash when using bridges on Windows. Closes [#465384]. - Fix parsing of auth_opt_ arguments with extra spaces/tabs. - Broker will return CONNACK rc=5 when a username/password is not authorised. This was being incorrectly set as rc=4. - Fix handling of payload lengths>4096 with websockets. Client library: - Inflight message count wasn't being decreased for outgoing messages using QoS 2, meaning that only up to 20 QoS 2 messages could be sent. This has been fixed. Closes #464436. - Fix CMake dependencies for C++ wrapper building. Closes [#463884]. - Fix possibility of select() being called with a socket that is >FD_SETSIZE. This is a fix for #464632 that will be followed >up by removing the select() call in a future version. - Fix calls to mosquitto_connect*_async() not completing.- added mosquitto-1.4.1_apparmor.patch to make the profile work in newer apparmor- merge a few things from the other packages - create dir structure in the config dir + readmes - splitout the client - provide the splitted devel package names - install the apparmor profile - install firewall config- initial package/bin/sh/bin/sh/bin/sh/bin/shobs-power9-15 1772010191  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST2.0.23-bp156.2.9.12.0.23-bp156.2.9.12.0.23-bp156.2.9.1     !apparmor.dlocalusr.sbin.mosquittousr.sbin.mosquittomosquittoaclfile.exampleca_certificatesREADMEcertsREADMEconf.dREADMEmosquitto.confpskfile.examplepwfile.examplemosquitto_ctrlmosquitto_passwdmosquitto.servicemosquitto-user.confmosquitto_dynamic_security.somosquittorcmosquittomosquittoCONTRIBUTING.mdChangeLog.txtabout.htmlaclfile.exampleexamplesmysql_logMakefilemysql_log.cpublishbasic-1.csubscribebasic-1.csubscribe_simpleMakefilecallback.cmultiple.csingle.ctemperature_conversionMakefilemain.cppreadme.txttemperature_conversion.cpptemperature_conversion.hlogolegacymosquitto-14x14.pngmosquitto-16x16.pngmosquitto.svgmosquitto-logo-min.svgmosquitto-logo-only.svgmosquitto-text-below.svgmosquitto-text-side.svgmosquitto.icomisccurrentcostcc128_log_mysql.plcc128_parse.plcc128_read.plcc128_read.pygnome-panelCurrentCostMQTT.pyCurrentCostMQTT.servercurrentcost.pngletsencryptmosquitto-copy.shpskfile.examplepwfile.examplesecuritymosquitto.apparmormosquittoLICENSE.txtedl-v10epl-v20mosquitto_ctrl.1.gzmosquitto_ctrl_dynsec.1.gzmosquitto_passwd.1.gzmosquitto.conf.5.gzmosquitto-tls.7.gzmqtt.7.gzmosquitto.8.gzmosquitto/etc//etc/apparmor.d//etc/apparmor.d/local//etc/mosquitto//etc/mosquitto/ca_certificates//etc/mosquitto/certs//etc/mosquitto/conf.d//usr/bin//usr/lib/systemd/system//usr/lib/sysusers.d//usr/lib64//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/mosquitto//usr/share/doc/packages/mosquitto/examples//usr/share/doc/packages/mosquitto/examples/mysql_log//usr/share/doc/packages/mosquitto/examples/publish//usr/share/doc/packages/mosquitto/examples/subscribe//usr/share/doc/packages/mosquitto/examples/subscribe_simple//usr/share/doc/packages/mosquitto/examples/temperature_conversion//usr/share/doc/packages/mosquitto/logo//usr/share/doc/packages/mosquitto/logo/legacy//usr/share/doc/packages/mosquitto/misc//usr/share/doc/packages/mosquitto/misc/currentcost//usr/share/doc/packages/mosquitto/misc/currentcost/gnome-panel//usr/share/doc/packages/mosquitto/misc/letsencrypt//usr/share/doc/packages/mosquitto/security//usr/share/licenses//usr/share/licenses/mosquitto//usr/share/man/man1//usr/share/man/man5//usr/share/man/man7//usr/share/man/man8//var/lib/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protectionobs://build.opensuse.org/openSUSE:Maintenance:19375/openSUSE_Backports_SLE-15-SP6_Update/71f41974a019dd7452fa2bd236f45701-mosquitto.openSUSE_Backports_SLE-15-SP6_Updatedrpmxz5ppc64le-suse-linux   directoryASCII textC source, ASCII textELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=153d78ecbd5489a5be1479d6c3ef39da2f28db72, for GNU/Linux 4.3.0, not strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=eb8e2965d1637a2e4b54c897b8add527a4002dcf, for GNU/Linux 4.3.0, not strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=393af24c088da53b085187c8f973ff8e1911587d, not strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=bc7205905ed89b77a64f7b0085178363067e276d, for GNU/Linux 4.3.0, not strippedHTML document, ASCII textmakefile script, ASCII textC++ source, ASCII textPNG image data, 14 x 14, 8-bit/color RGB, non-interlacedPNG image data, 16 x 16, 8-bit/color RGB, non-interlacedSVG Scalable Vector Graphics imagePerl script text executablePython script, ASCII text executablePNG image data, 48 x 48, 8-bit/color RGBA, non-interlacedPOSIX shell script, ASCII text executabletroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)   R RRRRR RRRRR R RR R RRRR RPPR RRR R RRR RRRR RRRR RR RbkIsystemdsystemdsystemd-sysvcompatutf-8231debf1286f1b4f484305ee34a561d5f5ec942c97b0a2f17024d19437424b9b?@7zXZ !t/]"k%QTAYe#sBƻ0֏K| Mr /Q?E/w8*P#Bv ڠ@ ֤T l ʮ6Q1im{A ק_:NEc߹G r8 :22G<{N(Yi m!@z;|nz :E<>rOt]V# 7ډ2$| wmsr(VpptxDŽ'm9K;i?`Y&t!eZS;+B-'΅ʥ P7},$cڀڂN|(^#. YH!sDA.XF)=>Z @V%*Rx4*RR] Ivuڃp F!{Vĵ3 |GtKO*[9MGVtyl'z'()q@~j6R5RaJQDT5$ځP &+n=<;LȚPpÜ/mYE˭ʟ'Vo@*Bfy>;4p^Ty[g?)Փ!93f:N`w֨a]1>.wiœwʛI?M,.Ǿ3.7I.XS{P֨UY1`֟ }ZWrS ܌ ung>„S rWH<2{[b72;MA ]su1nmg(Ƿ#h_Yf1`17Baz<̮0c:ޭxz :Ѭu: aqc"d7c*ǷSDfP@H 1$F$ HQvH^`t@SfhFi3TU%]{U'}qH? ?Gk3WF!Ի|R_EbEaC&]Ƅ-H&LD3x&JT1U=A1l&]!a= C$4 $er[0Jmew&0\@ԣOQi~RA2H؟ӏ*v'|.4/ܬiQ%hn5۽%ѠLxA;)jgO s)F+ڊc3ؼ21/<bI.t=F9#|#j4ri2z Oeq@cnX`{_´C?O(jŦ-7C9c V # ' s99N}o8uP 4pzg%恍]3Hehxc 2Dn֙s5o.@%;=h4``$έ2kK]{t;{7'+W5*;v ß q!80YOtU! C4ʎ"&|cqx7z| !9yE ]^m}R~a=-u9M2}7#)ypivMȧ";+w~#~5Ŏw (?V9ƓS̄6BشUJ+?:AP1-rRQxrpaxLeG]CM;Lלp+pR"g~lpLkG#P5mcͬa|yeIi,ns)Wģin}iҍ5-g$mo!ޔh*ӕiF8tSᦟR+Kv2F9& hu ~ B [Do/Xf5ՙ5}tjRC3,vw_7c :{5#*2 ]RRQ"LvI1!M"3$Y[4( Wu_EnquHՍq<8uPg.̒pw7 w7kDe;FXM׫84(Yt~ʾVS{]9L06c 8m 1@@HvSzKGT'qaWH Joʦ(1sW*5?Nt-]X!3^ٰجa6>=Zm&:ȱq?28`+('\&Dhπ$-*2&nN9noJPn@̄W ťnN.ob:"=p(!~Ҭùee3c슊БI̐N-2ڥS YZ0|~F1H7*.r`b++QoťI\?FH7a`p2Ka֯>:%|vzf!!xv%BDbjTV_;툈DDD%Վ`CXህ9# $zg I{<L5C/y)dc_›;avB-z^;=;|XEgeFѐ7h1<-,ev'B:Ne7k1}rA3kZI@fv`z$S(Gҷy7#Dm)0qbWhJ8)ieηֲ7s:pa'E a\TSs^-1w%:L/(z”F&,4o@о_S#NJ֔x.^>V.]S9[re#tY-A ;NP0F \o=I?ŃmzA'S蠱H-3;~H;I{q-rErzDZ+$ݚGҒksCNc"%U4* zW!bM}AXG24=Ml^11bTiy,4I/f!3ZY4|1md qڧٛvu;m?BZm DO;aRxP큥Aځj$ PDrkYȄ Ǫ۹'!vŜ/T1!E#yR(nEڬ:x~ 8kUG׹LL >rKUM'/`*m :-K= [5^Rvx o_C1ΓVrPk#bd-[6qk^iO,gl:"9WC xu탇t 3I5LkG-ݤLC=gDnņ-vd~2hbz= 5=Ӳْm!i3HuRau3g9H>oŜhp7,߃j5Z"i #c"H̘l)>T+#NiDI֭SvL?,Q5/mɸi^)yPWIu*"TE0O d\C"rު7~홭ӎed/LҋsG¼{ax>.͸fF7%LʷXjGv Z _.AOTHS7\D!~]ʯ;Dflb9U(q % UeZ[5wL=p5XfX8SBcJuWg]H?VZq1vA/Ϭ}VwڑhX^s80J^0/a)NHh1ĴU Z0(c?\P xW̓_m%[3$sٳ=H$rE|+xOЩj)Pd1l-VEɐ5l(~uirߐ$]@%+Rw@8Ŧijc',Hylhsո,l Sg,2q#,BzR=orsf+ÖpBPuqvdB)c]t >+XV#qnH͉ޞ.FB{ ĴI0o=si*Iuй@alSZ$]֕4<8ZbHΈ7A%*`C;hkH-7Rg*!)xN"%oK,%|tjC-2~Sřڂg:b|x @NFvO("SûҤV8(mKfb">.8_|6ʸ5x6Oh]Ž9_.ML͘:V|d3d< Ye%=ۇ!xa$MoDceŠQUuB/MZUi %eLeS]B@(H1̏l/&z4!(YN 3sR'k*@PiS+$N*2hUÌ`b˗5]E$>c??ogp#ZL=;eaߊ*PY^e(Lo7)Dtޘl}w x7 ud/ؠUqjPFHGκ y׈ ^n[ HMu alK՚^)񴊣- ?.CB({^N vl_D~ *yw1׶.bc(ܪdätp-w*#@L ZD :-RՉΐ5\xbcMG{H7`gz&[vW.rFKR8o :/./%g?@c~䚞9`Q6GTrn5]n1GKu/}5l]F](K1aQ';:?#&m?p4H+|te.ζ35G 1qļ(EK9´)A%[) T=q ZR!V p+v&Ƒcƴcb`=`kFVuca&BW2۩%.+N)v};D ]AJd;% 4Q'n/ftXRdzC&Nxٿ1<:WdGy5TyIrݲA2~Xf: Y"B3gQdhPDOna_ SOܙ;]! ?`!3qӒ̰@fN h?`gT!\ڔO > 犵+#,֋:);k)Ml7Bb5[H"O]ZjRiQ9uqj|+3hˇNͦXiGQpӄSRlt-~<~ `ܺL9E J&cNT;v6NWRQs Ydo{ @snnpygU>\BP咆s3o6 L5pUPĵ#zI6P #2EVd9U=vۼ$qb3x8Zi_2ʪ~9Ro;_Vh l<+7v-%X[%Rf%IKOl6);h,d#aa"Jj@BxncrF<%_[c(0‡Z6F@&!|n6DV}8ù=͚HRR;~96.ՠ8.H Pv51$qe]Ӭ b;!'D)ˡ7&8$/g==C796Q+'xfKԉT Om3K(h0~7ϙ7<1~>Ep|tO%wN/AEF6wz@&YlLwtf슷ߵIҥE+/1fLZ]J ͊iM]l0~PrV3r# *iIbZKeWX$5LeK1o<,?3 ju=Vs)lBLz!&(څ{"wpyZ)//JO}@j1[XT>Muw"C?Kn̤NXV)6Z>hCJe 2юߟziZQ#[Z[ӁxCSpTLsB*¸uG\ \r|O\kB+Cܛ3.(*>a屢?Bh]a#:!| 'kP^1/\I3/ ?.M.z/8 ײ2[92W~I$亲FA8 - [ՑVvN;gŽ|:>oo@5?DFO0>,R&YΏggbx`'w:'J9%X4͊'/c 1M#6]a?EbrϽ~~EnP"kbRb-^XDX iݙRĈa^rZԀzIx)l^YF.6x܁% 2 ً 3ʂ:C΀KVJ#E,)97G4:ty/ I :׀;gk|rk Sb/\rt4l~ @b`RdB f9xgybP=ڔM,Fs5})K:0Vӽ"d7!Þ"C29&[kB/Z/'XzWYQC#|k_}, 8 ) en)lü{[xZ!|Y0cuMN +Z%f2'18 H& !ޡqy1FȺ\gW!Y5p=a@100PNZAk!k(1ma-\yORR:Ҷnh>u¼`ʥzISƜ6"-~BIc7\Z.UGڸ )s=gB^?0i^p}t;-}ʂ*Lalи1Ff gNL2`{ 3+%Q-MD+t(5ΟwD<_ :L~rkcqH}rA<]Q "D^La\ҎsUu^  LCf@j ܃c#"}㨵1~c7Pa-LthV0lNu@hi@'8a?*&N$q` JuG6pd{VTo)U#dN,M5`Ԯz#r`qG=ҹ{ܑ@ j+mvu[ύ@;ɣj*mš p4_`6A[l6VI2#$(c^n$#~R='WS/lִ"Z7p㍇&?՘H-(57qq0a!:ԾYPFq=Z rSX ;ƺ_8/wdD sWFF]%SF#-/ݽ4LtUq+jY.B1ETMjGIK t&JiN! B܊ZM)!Mh: b _rq!h MRAjn%O#'!}KS|v^ЪKNs +>ųVAPtUz3ͣ_c}(m{6-pgyXҵ7zm{G=26Ls# iP|Ӟ3w<&t9(vPȀWKP̨榝D'w4b*Uq."V2fz#IJҤwE^}}I=S:מy/ZCRBRMkLէ|P/$ZnŬrD$IN?ĠEX>3:}wLpRl73wyTA Hq ͉= g$QNֱ,pk>\B] cߙG{@G-mce{w/M1`r׋u чz/'f:qt4} `yuqmA=M7ZE 4+v/xrxa: ʩ<@H-Vz%tSS\bJ')E!|2LR5V$2K_K\ܺOd[TlH8;G#&u-@o~k7n~wZhN'xNM jc7~^ԅ#Xjs*C~gK"g蕇gAgA]uӑ *kyǞۏBviZO+XR*Ҍ >Wg9 ʭ>(L*wpXXr¿%g_69^ܐL'OEsaɍȬ;HIxY4IS:lre}E[웊*>{nA\ޠ0"ϐkXɩ$].`Չv>FmUz {qkdi ^=B2eŰ;k䱤}w/f'j#Տ׼ʘKP &K#awԝbjVLf--pfc2WT \+¥mǹ.TwM.ߚ81/@TS7v"$J#0\G_fdj^A6),kz1K!B2^@9Ʊ Esjs#hhSG?wUO"QI.p\/ CG]5A)b}xl{"ʎWt$CO/ɉZIUVX/6 PV|Z ˅莪9JY۴aK,_ > T~Q$ e;L4s ]n9I_ѶWa !"Lcɥ3Y,jVF^eJ߮D ]vy扱_N<{o/zP p5-w;tެ=evl95K.N~8_ybNzkû39 \8;ih}k6`\ v;!շ]k-_A;υبte(MsJ;}fi+B} 5gN\,qz-PvE]0hp_ we)fӯ{2?~F}R8"'_!-ׄk\dd \WRL^xa_:@k|jlPEp4dV{Z6޴~tcMFU<,'?qU~ p6tr/i\q-V x8}yN& 2$~ n tfz{4ixvPFKy&\D̑J#3ތ:T2Usf*:ѣa&#HMP*p$6v}>;l̪n e'0cRb/\4vuʃe˔e" D u-bV:N /VW ?Ke7z%KWVkm!em GQSvh'Aʉ^M&xs?~:,C#HJW>jQB'Cٛ?YvXVW2C{y?DLCr<f"3P}2!7Rn5nNf*)./@mv_|7n=WA,r.3TȚa};Ψ/N8%laAK?r)G]/ lFGL#n\Osc2XneOaƳXaF3%VaRxN,-&jEe'DD{zs`p!!QZ =N/NSq|A*Qdw w@#Ø}M0!-Z2cdVzuTtH˻9(vdt9ְHã!E G u8.g$B³ .׵KR8 ܥB3_tr ?wJhEu-<'^6߇46_w^C%#1W6b+BJ.ȄnJ|-^edu-nڠKTD)Eyfґx?tfԨz׎ 2N'Ex8Aڛtȅb:0dR J(̖`C'7/ =ʜzoUBthY^0*Xe0B޲H;|M岔թ6Z*&>mԨ$qll2 99n|D'A>Id.'? 8,C-K 1\ȍ<ib73>йPnOi;aWH1JN M.Cj#l( ޺AȾ@]kcƒR^<|l ]ToSQ륳njSVW1=~kº=h n~ ;qS} u>C hM"@4R:H޵,L*5ަ(\+o0!);~E8k[WXSn.wnտ 3}x@sn"#%jl}WWZ⅍o@Se(I⸷<%JiHėfN)XYVP"y%%G`啁 3ʧ})NJ uz/,o>9˧uFUHZD7Gj.'񁂭s Z-)vM%L׉|zFiThLzN)|m,i@7*4BJy'gb\*aW b \fBHhJims0 {#Z7ZY56ܴϕAڶtYL7 KҞ>j&0Nyj 6/ 6 "iܓyCwT+P3BnΑ j6Lˮ@ڕ&;vDŽMRӐTy2wC3{y㉇d(ln˧&rq4>VhMl4KO^kzdrpgMsWSs< 0؎{c"CO.sH: CPUMV$uUF8K+ت)1}ctJ`X (t"tL'ƾpI!lE &azϏS-JK# &~aM >"MPԂp*1P&NL j&(AV86ڈw a:.d~aZcM6'sR0{3D84g_hʍ[ Vk IńVz-ԗ0ct9c k^뫞>Ua^`K!U)ICdƚnR|"Q*U@xEw~yd{`Ag=M{hӜ}i'1LdWq䁡%k:Mk>0ՑZk1f{ufWd8H ~yYxџ;hqc"iRsGKGkOɄc/mhD|x!i@dj̐2>L Q=ubHž{RCCx"<-o/RH6 ~\J'jMSuRhpobwl>;@ s%(DӍVYb]m"Uof䬶FțEΥdxbL7*Ga攟ǍUa>'n4ofk; a }\CsV8J˴S~נ[n(Ԭ2 B=-dS갪&I]zR  NH-/^ӫ6ܚ@_: u1{Eր^g,g= 60&hXЩ[&0b[Ĵ7?~G،5n49WBސj8fNqz' 1 ;^ߚqۄ(O=i/IXXy[0#.qfKӧ䈾_+3vN,2a6dzn!1)>+s؀{"VslgLDƀ4TRg_9udωDrFOu[қp9˿."WF[ !~)aQb @⬚{cA).4A0բ 5q mX kM!US@6\|IQjyI2m~8=-Xa3r9{ c3YD)*0}:[L=gp"7;RA&xB5XH0Ooa*I(ߥ;:C1_lAp11XlQmgfI}?ޅ7#Ʉ50_z@n|0el97 ]A`?0A[ LVd=iv)oٞF`!r%(y(bXCEڪbl?+!l%YB&7 8F&r/w3jL,$sCˁB$l6I4VcR&O"D^B5]F }P4"ȏ~#!(*+ϙZ/?ԩHHFEU2uZk_gf3+= n0nQ^(}PO@ =J;%7}+- Q'ԏ=*it]1u=%xF;CXNd!SLI&Oڬx44Djd_MU0B$D#T<נ}.M_Rm;t"O-πEՠ@dDt.]1iEȀhG.J:/^B9!#W/h\AbGXD]>[_zu< +)Q;4i h? 9T:ُ]+Ւӻ?`w8lv wV@GGW6S$lp cw3%2%JEVNWjLqìT4rI1:t_1u$  )İ,mvqoẛ/מ!l% HGE&T\@5uMVK7VcG؏sYi\6D$;Cȭ`s <ѼC=^>$~:SUʬ #C'ǭR%"D"Ms2YG(+VTAو7!09"s1 YyOtuL%ǹ;Wat*,\qdW7q]$* .Ģ^^(_bM: -]F//QzJO]E~1s`w%UR:D::(OtJh{4;XwZ2d B2k,~&aQ6&9.X%7kS]MFl(V{ʣK!Lpݫ[//7֝}19ܔ,Z^}Ш PۖV{jl<{-`R>AOg&HE]HMĎ]3b6`XdOn)D &Z0Ơ4d4L0ζG!H/J(z\ciJ%`ݑ[@fHFҚzާڈW :dZxA2jH/>xg*{@YҬd[-1??j >B!AW/ՂJZmтWBubpVHA]FPSm7EоiJ/CE|/D?H2*WK(v+Miv>X :/Tu@fGy)x@+C߬ǘx+ \v폾qW^I[uXZ[np,lST!sk'oGV_8C8u>QFPuim')Jq'I+4 n[*FQJ6Os S"Ի+(&;̗%ی$\7=^">&?f>wd CQ&uKtG;B"+,%h`4|61TmϨLJAO:ӢtWKs@ '`0qhC3> jt_? T&caܳ) <C]!iF8m5U3?\xxLn.z~W|H/JLVVFVw' ʧș*'GQI!oGqӮ7eE8mՃ x]ALʬ<Xf0eD9-JWL ƵvIp/]F+ERI *Թ+r>Qt1 (;aiRgUQa%>$gJL Jѻʊh\:&/^ plI8mk%vbu7c_d͝Xܸae ɝlEa7320 u-uyպyHʣuQ])g S$ٲ a'R|5ma?D qheÎS4fBa)Rn>͆x{7(!%9Eh!=E{pĄ4 "_i';up(/B²G (/$r威ɁP Aw][=S'}y vIAx1i\(3db٤.#@CB 9C`"xBҖC]?k/B6[gA4B{|nvpf u6({~h TTY H@/֍JJp}Jjg{X8H[A*x3>UyVEDU.髨zyeˤ~8 ̹A6#E b!#} Mɢ ؙ֥ma:ĂH9nkԐlA0ʞ!-8n@բA3$Ia+:%G뜁?o5pZӉv[d}e>m^oHG 6fH~ IlNy_(qIv(T>I!/nX@7WRmf)C[t<>#BRg~Qv%z@~k>9,_2:"Y..`"+GZQ!T pԗ*{(qdz v!1\KnS455etϵm^;6DxQd 5QBf"=-MsI \ 8HHnD;|jHb1z2_9ࡎ F22}*9z 8ANCv)===4̾ro&b !F##4mh Fkj Ӻ^wO?B>xʰڸC"^ypIˉ߭w8;d)R)7֌.%vaig3 \Q5Wr~W9W(5l_&laN5R%,ɧ${~=$tm)=TJߗg hq S * v<<p'2_XfkB Ȩ#ZK`H?!2ƑO<zSXaJ۲AK`3^hZqxIh|9\kJym/eey79>R0J5(*ML#e xM8ߠsNT4'aŭ7*g_5^[Ih!ԭb|l~:MD4DTw59׶N.4Lfk(2+ⶼ(ܵ~SP^kU hB z^ӒW]碛DpQZZ_l@#ՠr^5*[BbӁyF =.{8%Rx36+3: L1(}tiQߡmfPǖ?l_H[son5}RuJsaDÇHG}pP 6¼GK;#MU-ѱH.`,h& H{1wt7K|qjn-JD T +X9x1;р>ѮcR[S[޴SF'$Ȅxն*6* I{u<9-%m5y㹗z@ 4>/LS^{NudHv^sAt>zY͙~ qUH gLy=Ҁ}^`-}(a0lcZp%Vl1[Z $N+N4ϑ bT+ 0)%4q})3 {Įg9B  гw3.˟ѩ[d}p,ȶJ-dn YNe)ЊʡnN6sӵ^. "+*S顂Ѭkǒ_j8nPHZkf]G̔iP!:OZEP?_<)ocmߒԓsfY70&1pDT ʜC^Vj_Jt=8*(Ec@zía2,ƈ*jy [=&[PLFȈy]ya1J\fOa6tъl hXa2>jȳx ܷ׌f$Sy+TB ?a_G  M>5%ꏹKvOe9U'2Fn]+}Ŋ+ɳGA >M~@oYc>!(,e ԋ/(WFO"MV>jUaIBȂhïa3wb@o(㷖XR-ɖ#+Zlr!lz H95YAZV#5R3W _9:x.AhvNnK 2q>DQ;'-'C7)j4=--9 qo9*dm':S,ݕ |2t)ĂT*{emƲt`{y~Qq@kCp8k:z:NܛxfDv1@ez S ~-ĸ~8$x{T^|àgi:{3eD2fܬ,A>ЫBe!gGÅuCH0@tE;yġ1 n7 #6YJi6rZaBPڣzYє֨T`g[%`|/H߱Hp[2jLD$wFiw6NQҩ¤9=W3u҆ E}G(^`}+'EFEocHNK_Xٟ^NPt5@C mEb=ѻ-WgV(tmjrߢ=w2np5#,,5:WܯY/Y/RQWrǟ7Aʳ;TGm Bϱ 8i&Z{Cc"zʹk2ATߞձm< Gȴ^iAkj!FnO{u4 8H1u|/:*m u I\Ճ_E@\hߺÄW$8Wrұ$2O\>-SdA&)KfəXjL3uM+GI tMPÄO濐4;PfbF؏D,/:h?̄SpCM؞?:u\ݬ2_AۜWMTahb'I(4{)gfPRP%2M~s{䬫bI<-:")Wne#4O?r' ж$&j~&r%^1W4Z+Z_jBw44@Uf6vb//ՄS[G)aa׫+b :It1^wޱfNd^nVLf4i-.NIPGa1Ԅ?o}VCG:Ac ".ԙ_HJ2o.~:K 6ʯ g *^ڔb80oQ.NxqbH*ـWutyYg-ܟ^np2 [8K&OdeC ϳ/aCI;r3K bOhƮe(Dw}랂-yQ(n,OF&<~Ȑx^&qcmI1RSƗR[8`/h(Bfnpe4[3˜mD a1rRihI*X~q=p{sp-.z ƥ=bGM눅A~V !DC.{֗t3K=$SWȅH4v"ۂ" iv`/ѵ׌gVZZD)),+.4L*[ZIiUmѤBM1h]pd7 &VDABze&byaeR(Z+m0 i`h*,LI5?%p삌+ ۦۥd=IH zWfypx⬃K u|Vқl4O̓(ou߼N c3::3w^\Qά.]dp"К&p<,lڤa9 8ɱ0P R0+7(CDz#LjJG)%Etc.D#tbѱN>4AK_G־M(2RupPAҳFdހ8/e;Phf.|XЁ7URhcS< CԖ73o˵g ]l`iSEgx_38fL͘Y@Ae1bծNf#w,'^Ƕ0vx,N$~yڨle}6@ԚFgvP{ Pʂ\Tqm7e kQgBs7MF݋*pZZ)#Yη6]ۋ5\x=tZ&lDp(f}VFVѧxW-#jz,|,UU:dX?ꠧ\` 'u[(i~h&qФ@Pu6nƟm jx~4径!}@ilQԐO>+ :mOQ^ t0K #ي`|k3g<ܖ  zFo/ʘ3Gp}3ě"kIC|=q23p?2_N2~Ȼ rpʼn_"Bd{0xzd;Wf J< ZpG; -\, "Vۛ '*(vnomd,JKibs$`4/pox-ABo& uNس7 P(xa*K9SBx< * jìh4ꐿ3_ I(.~G\?[?@S@ nL/ ʂl2UFE'*LИ;n7HtwMT ˼mU i'цGG~1I ưW_ v nOCµVd˶oE{{@s@fC_Ȯ==J:я9<=]z<-`{GŹ-Cn}a8\(P\ 8'ѕ-Hv (r _Gё|rT&UFEJJ#fN%Xxt:vUqȯ@J !% ?zQ]Z~ W`ۄ4OVφ&;Rg!jk̖%3~w}uSX$>vذy"c28 -tӺQO0<n.<D^[N.6uX7&\T&D Ohol;g}a㒶{SHAvb^:Dq5v$t#:T M?u*VZ̗eg.&,tZ[$qR3IdTn \K[ܕ^9UR|؏|I+.bEÄҽIQhx䬒-Q O4!+v)%2P7K ^Q\\ ;ƞ.TT=%yܡQB`-Mm؟R?YUpgPZAlwC]  Jh|Ӌ, Gހu>j3A{C"t6ᒷYY=AK'KnG{d{gg)fa-w#QGpӧ쪙9(XPFGe3k?rD}c!@G9od*-nx1~xSMMg)gzn7gWAƮ &[A%p"#&LFP1**isޫ(G7}\M{u+QV^7&/Rv(A*+n垊]P d?T1L9wA]tGQaRmhu=?ozw^iQj@z__HM\{C`|w֗!B5{H.2?K/=X]@0Dw#j0p+7- wgzj_{ϱ?(a}Ǘ_'iE7iZ;(+zB|X&B#" l=f vCXHu=iC ٧f쁄-LI&lĝxpV tGD6^ JvzCA: 00ܬ$~BYf[z}77ʉsG lpv@ծ\ '33B3\Wve"/4W1=sT#3_&=+4- t'(̞-BԈGr2Lw4﵁aCin])΂`|w17,}v,Ɏܬ=kO4{´1_i3@6xx|b5w,{hR÷pv%57~adfB6Jr=uzɜ]{ '߬}KLЮʿ1`PFv%0sd^iE3b2>|~qC/p3u0T *O+kHE ?։r aNjۍg<}Y1]I!Lʢc3ӭ%/or\t 6#JohFgD[6}3 P]9Ca&32X[L7 1:lӌ`X)  J?$@ހ,i"uSb;|IL+!pw3.ras ʐ9,2s{DҚ I.#=:iͅTYFf6ubcZжF;Lr[3Lܞn5>N#wMtľZu[H)Pܯ쑀S x0hbv2GjMIxR7v5fDXs`<*U E5E鮫Vc!C,TNQӏPo/8:E4W2pSޝڙ*q:pI˽$`-(FepNAنb '6?s Qa5NQ^* h;>e*Ά$]=JOY^DƊoD+ ;2Ƈ:)Ybyy)x_"K@ΰTLi#Гǫ \lyuP6x.5+~B)$F1|C+ ;K0K,=eP2 ۑSk6KnI yy`wZ/)rMـa٣a j+ q4yE^\#B4|ѿLrmAEAT)B3'Gv*qRo):ށȦ03aC`xu'xi{. NF[> CmB̤ > UW@шr/S GABAtΪJ=BbqiVh:CLJEhFvm-%Q.\hpP2.H]`p"s2 gnE@JY Au JlD)N>-0.4Ðlbau%ޞ f.)u^)/ubx:EIT]ɻn*xhGGzrKI)ǁ)n*>n"{n'i#N~"z 6?C pl8p44P~8g sB/k?2dv=K}\>qQ@z(SR H"GpvzY`A]Ѿ14ٲf<~W2Zn3Ix"o]rI-ȥThb̦[=n i[>!o}+5p`Uh,ʢ7M?5&i#ۦ[niQMyc.ǵ鲒I o 9L`kW&5A͠k2> 45 B^X,=C ڟ~=%>?d{S*}.IJ1)8D&fw &HBsgAF%o\m]^:K~1h Q:7q䊎tgјAD#L:Ůb)dT ]\52\vx۲}J5SQ^2\W+*Đ8 ^-+Π6X 59q!GuJv:w/'mT_~JԦAh8*l_[q5.L@OS &!f~r֗|~s4'8ZEJڈWbP<`E~H@Ҳ!Ȧ(\߲0$)nZg (ΖɊB)c{ *O]y>UȂ; \3fVV.°#. (Tש.;k? pR<5M`Zgd^"g D7~8kBGvdEC^:s do8(oMU_/b^iZT^$+\2c UGh{EE\Q4=U, j"iO:p1uiX4:hZwe<㌛5q#-ބߵFL~k^ZHH~bth(+l͕"-&2 r0w &CtRz?SO0 |sa&`JA`QLU'mæՓ,{K6kFv&u;T=OB戝I5颉gu*{-ᩜbPݔK?CS'92+-hR;N3o*F)zZc(g0;~7{Wŭ*FS-%M֟X8,4=;G4&r3gfo9Y1`lLܥFmG0~HqUÌ|.h>DJޠU]hV:Dr׽Z%Ñ0r1.MhCM36N[HAb  pWГ+8UNj-fΔ碪r,Z 5GPͲ,](߂|y~m ,sݳI͏-F' kqbtBCEnƌGۏK_W%ZXGQ&J4N7QKtχQpcBժ[2qNXg~._x.87sq'mc. z @4L nzZ[9=ݭP.#o/tYZ6_}Ut0<}N}L4ZWB}9 (DsՕ.@0fHQ֏axҟ48/3(Q 5We覫[+Q栦iHzKA93%\p=+Mh24%:u؁  CD޻U;鞻'G!q>y[ObΔ7e]nr+Rq/(! G=0> څRfy9 \\1]2S6KUP8:nOE ں=q>\UF> Xt4W G.$w5q`I/dġWw&BIFaCnېi v⵨='+i0s_"J^%NA!͐՛+R&sYA: [^sX`6j-Z$^ o۴ط73UP\S OW>^o$ҝ YDݸJa֥ Nx243&1o@H&5ḭީallm=fMv)z<(&rL7v;>\9e!u9Ct12oCN & >C? <L5W豠:JDK%1>r?J IJ :*m:QG 7LsӬ?ف"_wp`0Y1 c(N$g\"ʚpǹsg9ʥkk \(QH%vv $HJb]T][rr6WL~h/E_ njAWiydp7eԺ~ VWߘS&:1 kAc^uz'`q ]8XBؐIv:Y[ ZhHQXqS,p1X?oN) rf|2$1IOy|7\9) ]QZAYxۂ6 3cBa&%[ClvҼKĢnYa2@u^朳(zmTp$Zs)A<:Lm,i _] J &j J{-G%#!=1j\%2ԸZ[Ëٯ/%ʊ΂UW[|GLO՞C/[X?(T%?{V,4F3"Bq:;OUKP#X QÓc҄椔2+OGO.,0hة0Άhz'haVƤK$ް_]|> U&1Obue|8)"tXU`7ʵn8y$0h4HX y:$WTQi#fɃh a >RC^gPs]k(bW y7c&Rjۓ4?))sؾ4Λ So@^>z7L&!*RPL6E A4F4г6ǐ:E=I/ӌW4||0H'3=*;[;mǟ5{*#߱Th!GSUlv`\,Pd6Z(xk[%dP v?&t+n;D=;S1@oe9bo?Tqnzuq;V\_Hln?HǛe! ߼5[BCD;+ b\SB/iR>P@W+`8X(ͽ|Ӕﺑ6 z]0l_O^= 6!@:xŸ*EHucK*?̾dv+ūMPzM/D]<ᠣ %o`Sߍƍ5A?iʼn֞A!Zq[fysYHIe%c9BztiV\޻n ~~:irJn.L[$HIXX0{fd\g ,잞/7ZŗIiלr@OY6&X4=l{%_u)mr^w^ Bזp|\ %'A: cebrxuB;ԧ7ɒ}cF0 ]<G0gA9>털W&S\>6R"_9;ڤܖ,w`6(9叝%-{qA(x*Oﰲb-yVAyȱȐ#u'ۧMər:TH2ItF+,/u#eBBYGaA\xE,#8PޛK̫-*(z(Fs(RjSY%Z513 _+]~5i5kn|)X/'HBEl\( tx0'GrFt1z8+mh(DUe$n y玦PIRS0+M we,6oSPț]kv]i D6Ip?NQ>"@d.z"˝{;UKXFscDDLHי.<&h=G9 K* yKөfk FyOLJ4 R P9O `P"!rr O@HE>*9w F\i=&.gf^,&rflHIg:zݶN>C6w:!tN3.y?褁^&Il_ԩsA Cc:ku>nXRA3}VVYe΋ܡ6}+dH(= xmc.sF&O큥+r! Թ_(N9_@y\B6rBꊯ 964yڮ 2VqAe9*r cancRYԖ `?ȐU\mm0;U_yf qWu˱2\Z#kij' uc* ֞+1Z%V-/H͂>懝$g#Ue"i ITg^rҪ#2Ҟ0!)5|AΩhuj -,=Mbp+~]E_qs~ī(+>q;  D(Mi^ynCav=5yޓpWH|oF=NCN1 ,6Am{ GHWy G1p EWʉ_B{7#2j(~q;VSxDq=oR}Ӏ^D$=&58iՉ ,]7%\pgX>̎ďH1Az$A\_E|Jg~pnZ ᯚS DQVP7"s*@o{vq%9vм[&5Ě \z*(¾tHwA\Wj T\soΏDS:B8[9`伆Me"k]O=ab%CjyQqn #?h - #aw kYy+sR6:XʥQC_V9=qC( ZX~ׄg SLgDDEgK2)ȼd7rSP@>IIl!Y7¨Қ0p:ƒWEi; fur;_;o HH`]?SWf( ɏpp) Y辵`=0glt`^% V#Kik|+[a|47i !I+cCGF^Kv_uNk\Vh7 zSO̕%=..a̯AS_ao`O!f:&ޫv>9 RʧNб:/ k>NT!LW2ϓbKN6gY +- L ,ӺWF oHoLjǂM9.zYY0ݵo]lXi>$?ދ-%do?HYv1*2wiL_\H.*yZ*&\H=6Wǰs:V^޵@wty7cq/"dY{j#,]Ǵl<|ٱsS/qY?VD翸63͡3tm,_λltZ>c*?B~7"MYu';'9r<0^*Bӯu:v>9{iP \@/@n˖-ޟ0]^^2ܞ?؄+!h~ w7+{֪?*7v RWܔsP)_mcE4G M?`S2EuϢa_?pwQ–۲)SPeZ;؄/W7$FȖZRP.{&?th_D*Fh4- ֌eW.wU|_jŦŅ.*\+%m}1kOtO4<FMAWSxȎ`'5yb]x JT Hu49@/"%lRTpB -ge?U7ɿFUc<(NgzH'|oob=S7d;1f͡dT¿T?#0*x#xi鎱«w7/iu),.Dwr2⮗Ѵ?Evo)ST߹Xs,|J> ܱsy{Zm@=j`d^ļ7c$ ½rD&qk ɃtNVp!]= `HdUVKi{X8܁'B$2%=|IVr̴֠V&j)ݏ׌J~l{Q|}>,(H?Xz8u`WDpK NXO>duzqұ˦xi,S !JD_{Ä;fЫ0+.Ͳq{5tlͧ=eS o%nwנΠxpDlMrBpcu"dh;JJ"#SqtN(Qtmw\R'j׺Rw.7SŽڢkc(n Y doۈs3 -P`rG9!*vG?U`n?eD&0bm[ ٥ʹn~D(gM`غF,K_W7Q]g\ V:@+ż뤇R&FFHdh\rżة,?]u(0[ei%x!ɋI FVv*Q&oςd.j {?uFd7ubU2sjgAĒvm京tBp^mh`J[{C2Ti\92X)N;(nc񀃏M(D ĬA`Yw~w߃jI J: BCJHV]i:~ʲ4F,Yp+jYNbz CHwMɌoRYuSA;$vڜӆ71E@Oᨁpj#8J•ˁ5I/\!1ֽʳjB@ ?5#cgN\|03k~k% LoVnkuD/}f8]id=m D"_8*Z*Tfv; 0c!ُ1 ^ \<  D0/&$&>g HJA2@;3zY(m(nixF/pmjŠ\: -vRb`p L(:[~aqvO/y.*B4J<;'og@J`/r͑pab]:WT+# sԖMbp/sW(Z|y@U Sܣg8ݠ~u ;3A%V/u*RSK"X’w_&/Gn ep~gr476Cf?:h8 \@ش}=3'9˘[Qdc3BE< ZF3BuJ˱3ĔG9о[k5]ɣo* |,=~-v#o}#[8$sk3heI vZKڰ\^^ho; [OSm8gBUXpP-םvc^UDٲ"q2MS0tmc#gØdFĒ0kBN3+٤r8iQo8Ø-n 6,w# Y{n),*\ԦAuȱv氊.yF',C&OANɸ%-hQd@1kXTqUq|Y N_XU6>[jKz[Z 7fnX)Gts֤\P:xRFi$-$  *8<,H-&XNWbуGyGyx*Hk[F.>Bi1L[4!zG׼aD/=JdTkpGְ6ք[.Fd ǭm 2~q,v |m n3IUO+X:?♛\4ʾe4~ 7YΒWq@=Ap^fYޭ? w3PF Һ?SM/p:p'KM[-+qwCZhC%!-_fe:1fb2M y0vwN ?Z˔v<)(ěوp Q )۰(jAŸzVIm_e=GlNÿpDurϭ3ieZ%LXq&(x% {wtلX܉T:!)v11UOS=٫?UHjCGWR4>p>\RC J(6JG\s'5=sHfF5|a{-G(ݼ/PxU89h%S w6#H'7X!_߄'N}Ol+[ 70_eGvqO^q^-ɳL 4GB[ {=_s::H7܁nw8bP*:( 3qD %VnwحkwTBފ#ﵟmZa㗬aɴ>c5:Ng?Vi{Uiġ$],vfXPvD~!xKO?s Ht+qKwGbpe0_j/CqMͱL,H|loa v ׻)}.%,`; BsO fLK"T9ԚO`2"_ JrsI^C 0Yc\AQL<:͒NB<\4 p)x[-2hH 4;Cݬ]Q8y2 Ίz#`GG9fP.:{ F6}NzbӴ4ßg}+]t Nz:wvdXDHE &밬@Zzxd1$큍ŧ^zI ZUq[ P\ nzЍq+/,r gE&C嵦@s`bDDu2iz@:EBf^x5E)tT4ŘVlkPqqy:SPOSHD2 -e 0 ,N!ڴܕ;XB,r+XL_,m~MXAE|b;!a2\jcoP.> mɤqD"$;+%I9A>` ǢHZ)<(3EVIי<"eݚ#!+𠤕RA 9Y_î!Mm17Q 6r"]kM&3rk+n`<=OsiG(1AJ6!u{چ 2cޛg7.91@SJ'%ʮA,Ez bbu]Ʊ3lHj0,5Lc2{_$[v_7%-Xʥu/7 1?,ӁTPL*yPBxwי{sv2m3 [>H @+M3iҟ< >,RVUPxA}?^)O?׊媡/PCb4n\d.xm4a ; wv5@T=B+xSy.r@\7.BN']c^]E_UĈ~qDY]XCby%ʄGy:?J (c('cɣ6zl/y#Fl0h*_gl^pE'̂-.23"w~ffdR:!Zh-,Zkn2wZjَP9<*ii)!oFll8K)cDqZ4_B8|)B)_TVHmbuHƗ,4R KȌ~"P ~T6Eiv`~Yԯ r' )+S{y"yo2C\rojfPSUF@tVٸJ?w mdwϙ_,@2o7lM~*HdkYiS:y^Jmr"'܃|~IT̶<TV̠ԁ+3%Jy I\:_e/s$FLLLHg:hETn\Xkéb%A+}yl5Tfcx&aER)b7D@=XF9 iR5#L ZIAvp~9$7sˍo?ԋ407{ߢhWHsJHU"Y E ܸт0.xwƧ97$?'̫Q`9AۅѠCUI_<~)吨ț{I&x]ˤhHgKϾ<5Pm+Z-+aīD$ی囘H.lL=^kY2Znw R͜xHGpm>(Tu[v56T ~Kӛsߥka@ӟ1%gM+?7s+N@ 6:Y ~?DR%+rlL~Ѕi.r*"ݜ .P Nivg=M$@oӽcZ ?k9a#3l"Jvh*M%f-JU2W8mReKU̯̟5 T\&NHX9CmȦ]'ptZp:B61K|D6 ^:!Y63Xe π+vfxgWR+kGfX1ܒbgl!R>j%Z l}:N7H PMRXjl[fsyN}m|1=%p)Wʊׁb$ab1]j5|R1t|&JLnjsM@pNaS?ktAroM =^[U)m&9~DQ 45.4\wՄTF͝lHJ^J/ e/m#j띋՚8H vYs\U2G{%!<[jyDtEL9 y DEWDƟwRSe /k(]Ui\6RE\;ybVs Wf dyK2V_g3O'fMRJH| Bc +\]Y0]\OjIA\/6.I}rt_M'X!~IiZϗ`Oe/Zh_ImT8:@_ hƏt}LV {-'1]5L\gv6jdG_q0Ҩ,XtT!)__ܶľE( swbMSS,^w?taEDX!vCt+`}:ȴj5 .iS?1EQq\rF=d>1_;EHf,TڇhO%nQP9kr) $t- A`r%%+85 vd_J63!ɛ,_ʷ՟0jdU)SYreq{YA}g1'2cR8@YX*~8Tn^w?X*J0.f}sȳT!2s %۾mL6)z,bŠR&qNa-FUHdnFĂ+t[j`5_V-mW_߃$c'oP1AϧWP6:}h>%/]ŴJd^>Iȴm9aVl>>\KQg4~2 u/-(WO<({Vq;<ڥ`YfI;ƫn!?h[sN^_1 9c%>7v^b݀e _u*]J7QcYx[ӬtMTְ_rJJzj73~8"_|#b/(/kٚ&y@wX~)+ xU"d'̛m)l$7鶞TUe2t׮;􋧦{\iZqؤ&|5u;l0W :V\.D!6YS =JC!Pftq>TXԖRGV߱Xg#z*ٺvg2Wyx{T.9!M{{lJڦc1C:oC۹q]!.ʣ@[K|RsJ7 |{BTJaHi5;񿅂Q/qk$r`T#^#ƺu owPo[ ;P˼HJ; M:&Ҕ=]˴5y"`$|׿C=ԗyrSA{Ճ0,S^Ds+Fk@[`0Lz|f%qbÉ֖ ~3̝}Yś\@%ANil >:9N: jt#2Q9Dڐ]uŤȕ]y*{ Vp]r= 1h5AZ, 8F-XF9̾ҸI;:|R| t߷ Z}oՙHO/Yl<­>pt멆n)/oJ>\FJf(PUˑʁeqp!ݔr@叺r۔ !~KN"tEAtT$iR,StKOjW1X͂pSkB>R֖/0섅-{aHO. )%n&[m٤nϛWk(t'Bpt8˛TR6vqY F#t5aihFd~z[90 Ρntk~EV lS 5M\2ꔸje*dq#5rBRcϘesu`J}uyz^UC?$= I*h]J٧G96_k. LiKŖO\xXғ#<8 G%lj1QΏۜt(?bDSKkT3xX8 [)Q B5IOePn{u:3Cy3!a- TI:g?ikfP'Ꙩi% p fIQ]NuX4:_J0ƪgC9eern"ұYm{mI^]:QT/APj{mH ){pF0D2c۾+X LXBS}K>Mrej#TDd[cHMD>Z:Béxj)P..1+Zl#qFSքh~X!{J]d,%x̰1לhc@[gISq~}9-uYאoI$@; `Jv?ŭ랙Żk!sGPfVkWυT?@FeѵdanJ?A{WK}>}J-`ޘ>ҢgAƮ%X䱖J,TWG*PLWO# 7 *Հ\K愛Q׈Q";ANepXa%1 Dv 쭹 &FWȊХ:97} (+*,2޽AwiEf>VUNQ:A8KHwr&1A{K+ks`̛mHr&we7ڗI}3W( Iլb8ɘMpvч,G=>Uh[L2Yu 3 xYk Qfmᆟ[O/ܡ "K E\^aa6uР /AGӴ+:-i,Ut,O7 k6u#1'x%x*fHůHpnٖ9:D!ϲq=gk\]03'_ @DlB'v_,#tުK$|FHR/'qi"i2=ܾJ[@Bg}~u*E(9^ FTvDXnx*{#P{mqLqph[O+9B}[ڏ) j`6% ^Ep?57Q'rgD}.'o(pd/8zuv- K{+z^H5d lf) {P6,_A O'ޣ*X1(X<\5Gj&垘lh+?o=s֤`;p'Ѻi-2cR%5#Aׄ;{FR([;9ՠN)\Zsl'XUA85KȍUZY&ݰڣ yUMp̅h:`X;; :Nf-lF#e?rܬy)k8;&^M&̶oI:FRKXX|N=})RgupMj ;h ֊/6Rvd-[5ӂ6%M45dUVAFk٨AaB~  e"&LrLQ"L^K%-A)9l:hc*Zt\lhZ"jYx*|ݣtx#(dU;" XJjp8m +-0m+@O=ɲhW 7A$ex?,dH4j" $qR4_H,uƭ>hsl(Nr12 >Sy$W廢2 L<FF88hfp):Tj+fTպiJ.y^ֳ6ÚʱFvN&_Vo<,a_^~ȶ7/N|$sUh޸dti|+$kaƃ7)>c~ѳKtZ";ҏ1mO9Bp+dy;qyi0g1.%4cojv: ,ڕDʃ(/w'!_Aֲ|'Vbƚp}fie)fYRAa8G LWw{N%=A91Y`L[)͒>xafmJVfۺ$3׿+x#0n(5ɷ# tUwx:IM}g+Qv>u {C,QJG!MxbS`VBY"#rPm p;Wj /0v~bJf2:׾+Δ~h0I@#vyˁ'Y|c$Bn:Q7 .Ll ȧQ~ Rp# ;[܋~ioM&aH_C/O쁀u^Z*} n$ʄp#|gԪhF1락Jm?O}b iGq8?bK^ <~T9̘W}(%> N 1nOn P@'gee6]Wd" fs No)s"#QHNђ8lUzH-5:5Eƀ_NƄS Kd3ojS4*wo`AD'G冣)<txɵ: Vfm9bm# 7R97M:M6:+)X}3oVӠ-,)*z݌bIfPj>XyPhe%$g _k9Rh}Q-4/&NZ(  uP*)T> ݡMغgGe%Rէ=bs̥~x>,|l1̡fqui Վ;k޸W[j{kt 0>:e v\^7`wWsY#_ٰlqa̟A6&d66A=j*i.nQ1!o\IqngĜ t!m/TF & hy*I\@q漖K%Z6+-? Gr<3mc'_nU 8gfqqBZ)k(? {ʰwG{k&ӔGDvsj8acN~Ye*!A!hei.s_l@h^xM&=ah4)j`p^ЅLw] M婆NAȋ̼ڨn'@Ub70Ky+yE2+LUզL_MiswnVJmoչøU lMTi-_%"* BVT.#նiˈ leiTxv鬍l3j[&+ReuM;F%aLM˕{M9Ց+ݸKfN"B4i \ڂ J Pe;Z)V|D(l{ibbօ;+ﭲA7k!T!hKq- }j{>]>e^N̥7chǿ ]P_Yҝ)jy-ܤd,GAcǧNNǺ>F]rma£J֭ˣPJK |!q}MHȦ~Vc(͞Nk CkHD= d›y;sS Ph^ҷW`^sp3!/ĔS@aˢ<Rɉwȕcv Jp&<-T68bt2];[T l'}M/4T'Q0nS.PU\,Cu=EK\\=ϋ7C[5r}2KLtZ&IPp˒;>Z=5R/gwJ;#g(ģQ{AQn}:>YQl\14nd'En4\;E|iaSYƻ&JqF[Ǡ UMnc^<^/E=BI^EtD._MU+jYQ ər5-ubRE۷>~x _u)PK_Fk =f~T9E8JdmaȄ]s#ީ irtw;<{DA 3{c=}<ٿW7tcC LS@q^nIӡIw"8oT~8l< T@|`*$G°vL]"oT`dZ97$˔y`~3vo1s D1EH w s4.U*(2wAb4A5'O@0i@!Y2`ʝaKk:&m 3(yϗfS&Ama7[MgD-"C aIJpGLQnD붐|D~/J9ȦMmR"\ ճK]݅`||(涥N|P@6[z'&K~|ON( $M}y"kEX CM !눥#  I0ʰ|>t&άV4CN \>/QZz[bt:?QּT-&Y\5&ÜS^vd_vWf𶦢\C띸Sp(Å"#+waZ@PX`:(4SeN>)decP0k0$c}GHY`0yTf 6#[`0F{K ~6~ a8ZX֩d7!*Ï=ɦxy` Zflw3Tb5?ῡS֏uajd/Ebm)lRg> M:q-&sߛO<\ =<5k2U֢ Dc:%?W/# D;}o[PXptcGOI>Q&jp@!BXޗMkxv<% %⧏BO@*?Nؽ(<,~̘a ~:^ہtEU6k)@F:`5/mD_o?%O3/>Jё.Vpss#eϚ[xFPP~? ^CXW8"EL,u<]9;n-s sa(wK<ٔ$Yebw_wEo<3X8<g36ٷ'F)E8q=ῒRDۈ z!5iTBcFWIq#ɬ/e(LH%=_&>JpܭNRpм|n_;6=S ራ۞?1Ý5 ?ijncz5_=B!NQh1#*>q xS HE5|kA|pz0vA|@tRi K.w73JA&Ji<ʾL{%+@bPƤzY 1 [6|_G)[|]dU!g\l&^ӤgpZjվ43Pc)$2Ub}9Om[GKikXpOs7Sq&Sa(WQmȹ@-uS9= yT5Dz bf9ʥHJ򍵉`LJ$E4]6,nϪZ0-MY71댇7H?dEX*s|rv SRl<r2U+s #Q2GZ_ǐS =:TCS.$뉋nb%oo9y,TF-UԌS[B⊌sj|f B&)ƃu# y6uS* E B [PTBD1H7, mJ$!"TFd"ZjSr" UFC+H8uN-p]_@@>lh`p.??2ԩ_<4{Upd̵5W$ 'v2AhgvǏ}wϵ¥ l0Ɉ )$]ă0irgUJW;Ƒ4ID݈\J\w~!D2&3TRF:I5թYT>h]Wi %Hvoԡ?%*iH`=ܝ5q0ȌAr)A4X5f+r_Zlos&ltHsDDzPb:qA'B8:m, n=H]TfJ9)p8+y!(썋9 !1Gݦs.#ԫ>=nbF{0L$"DUIdo~ kU>KEMݻk @; ݁7d:\#}ߴcQF4Bq:6+i mFsy<ʑw7Fc?ezpBz? w!S翰FEzPe=P j=.у5)8j@QHMHmS9F 3\*{I.g&iQܰ܃8촄o9{(1DΜ1=d,`㳳ϗ4ǨXD| ;P6r]g9K{5!%v]z؅ea! SLsY!3~ :7sƔo\"T,`wծ[GR۠_/AgH[[-+a\F/Vl_ _ ӑc 'D?=st!h$Fҋ,RD7v {}Uei_:Ńx.tNTW–PU.-6Lнi3x<,6z$ @X\iå_`4jfHů8;2~ޘH743܃~ŝ"kɇi,_S鉲&!yHcpXp]p"X3Mg q CD#全bdtK`}fU*?z;kPX`PU)vX}S#GX6C |wRQM;4!]ČoS rȡ I#UMz$͊n3!%O27C hEs罻/ "I#_]sNS\X; =\x[גR2Т *48m`.^:1aD>9 ǽo2~O+P-TOkvnT!ՑS5_sX9)923ۏjnr)j&Gp_tU"{94c ZJּ`s&H. 9*֝0T;vYWVӰ-l',?"1{\&ҷ0Vl(g#j%y[ Gm0T 6/<4{85an)PPgU{Ş&׻wmrɤdž uQhC&0'n]Tlx[; H@@%%lM@je>R FFI,v+뭗IsxBqqGU.5E٪IFS41"1e^yl&r1'Gltt:so3SI!Y;(X.iu|aX8p- 2=RtJ9]U6 VE*)bآỈ:(l0TαYhR P zժ=?xJ䶺ݯdH/;Q^^|e%́ AhBӵO,; B9?G1\f ƿY*F mhՃ=/h\P%<]rem2S ,.>N︆[c;?Rcţ)-6^:<pF)KG Nu `HŘ&nS'?:<Ĝ٧X?hr3n.L lpA$y,nko\cLp/2={_Bw.ЀX"ž6|nFo0#qYV% @*&#diYN3XG7 q7)o]SK^_mZ?rdb5MnCDWSu;OX1y Ф+ 23JV')VP60LٱUe*PqwBL6,QN=%2D$;t2zoIl_T5.4מ)Z0K%pIe a5T01&ZHQud^/+t@np4/^@ ul>q0V;EoA5fBWpʩ FX>K KY4`?!\T8IEd ulr8I^^蚎asnC`Y.n%7krmCN?IYÇlkbsKRw4EC?$߆ 57?namH;$G$$mb6뼝ʽ7Fz+gD}/X:#;Hj0n`W}ؘ}i:aכ{ p8jfT00G4G'LYg5]`=kF=qѳQ@Fhb@BO>6:_E0k?M54>×K`c]M)a`].2PLǗ6> M;uKӮͲ肊o9ΈN{4!|iINs㶌yS[x"حLrӁIN Tᮄc?Qڡ0[<#w_Y3H[9 N'y^F|P|\ Vz}b8:0!{uI؃! Huk'Pjt^1/ƹ]LP,#Z!]kl t۽I gٗurqW(V23QŞ52+/sOE?<nVG<_AXY!H Nܡ%6@˛Ľϋb7DOMW2/yE۾wMҌ3U覌=E~[jԝQIfoTs*:Uc܅MN7>(R?&X)9'_7vM[qa#ྲOpOv_@@ IukrplU7;_ NnU ɭe~؁NY }z|:' ʩ3)v䋥I  ^t*WC*6Dŋ>;mF)caJv7WG;(o;^?Y /0>5Vl]Ky{Kdn:fmLy0kbOw_,.̈́)8k?adTi ,`.شX5L7.rD)$T e=unsܕC/JpN}P@S[ۨ3✗bt{ƻYR]?uPc& ~SJ"v}릁NZ.W韓+&-!i0ՓҳH4A<44bl^QyFP[ vP7vџ8(&w c|@ B+q @jzm)7I1vSR#s$JT17>L|Ǹl5@Mhh a*FerU&Dg?ddƥ:2k"h-='t#xia&n8ۓ~C+}cZ" ]30i4 3Ř&f]i{d6C \xU翴\n2i8~_+ 'NW.?s*]Xhp03CֈǠZ~cY1C0P\ʛv~e10ۻ\Lruy2u:p=Nx|YSfB#?bRn}A,˜/NT ꋙ>%M<9 ]UǨF>5HortZRoyK)uPR4fC^MAQHu{<c[zTڃYb)s$1osaKCru%fZ$11rhֱÁ5 1cpoClJ^b_аϸOva}+FS-A ([#V!kݬ*N,,n|3oq_AtH]̥BJGvƬip+1R!g1 X8P BL:Lg[H8=,$!ECxgXA؎GX ~5Jl} N8M< 129c"7y TAi]=UgѲ#pb}gjy8FܒR0[D΁fHC::[o-uIwA4F@#Uyn@i#*j 0..oB.BR(i7i뛶zjݢԚ'@%1+ ]" yD `X@pMjgdnjS#ke3_or̲ØQQf7=Q$]tf}hL2wZ}h|-l{{_,ũpc AEx@W} #05(U❛uE `ݷnh (vf"n}2~c`9 jS En#&Niq5MN>ko8 1vA(Ar)/>ּ=<>4u@8AamE~֌]!p9*S ~Z,P/F)-K HO- 5>6DY3աQZ2)l]axتcJTؠ?ofӈՅaӭ=sjp:mw!z?&b!:dYj%hsMLBI<7#Mۼ ֋˭)G򳅋XI =0Q՘Țv-ֿkj&ck1JAK2rݳYCnU()ѓ羍GoUM*ܠh575bD~4xݥT/< ٽ=mL> ٜA$IW܋B!rMDɾ&-HdriT{fTgv'i6e,=GvV|wԐC/H-.,j/UӻR \F0v yh+$U'~p:4nNaGN;i=1K}!p!u` \`-v'7XjebG`ˡw16nisژS iݶdC?Ȥ"9|[oѓ;7TK;b /$?jؾk$b_lHG$Mb =.q7Դ{X #?g/zޚD^y)hE'fTg5!f桻 _b/ƚ|'W+D-8rSCTM'd7чٞbZ.ॏ/QEÖMƈ]% h5 tk2Tް<ʖk+6o}3 "47ݙ% )F-I#0Q(Oku%=a  ")W2RÍXH6Ql[Zv e`FBE l~?\ϗGVBمscl^G| \ty6 ǮW2y22sWB~x >s4-xτ7*9s[i؎b%ۧ |e*vcd9J܉3ⵤNxE0C/`)%{H?P4BwnL+_A:u E bY=7E"~0 Dc,kf"iKE 2TJul7->Sh ojuz`ȓK(3h HP{"s8m;r]<|_%I \COE~u\D*0rBP.noO߄4BpG,@ctru)C@c!nn1|0Yx+jtlmXl{JH=<@]L+%ʍ.5 wH/)Q;a V*{AldZ2cĶ5+{` ;PvqəQTzىhҬױ[h.pt6N)dێ+ "fL恜|%"$&?zJjN,pdmZlXsC~BLWK={]JKm'X:rмthxpAg}|xHRQ^=鍡qvN}\B Y;~@{2Fij/[Ѵ;_yە f3Wtn@ϼTr+m] ڹ>5EzbOӸv?M0('zHra+WN;v*wC X}Ѐe%_S;iDz U:Ujذy%*yO: vNXDśp7 rJ~ Dgb 'wѬPWinx ѯphN0QTđGPcUdrGae[A |Ny~oL[ Boh-7Z)q+,MLM["W.7ݑ! lNt4ox8Ӷ-|s:F& #Mbc6[U;6Z%"R9 NE$DƮMV3YKĚF(f9҂*!$t I`Z?dVOK$bI:%mWJC'>%/;~._ZM`iU/]G2C~؀{bK?$!Z ;k'Sp(]=\H%DrQS%Tk8s,궐#w='1e<E(ɑr bS0IS`br{:5fr-b0zZ'mw;1 卟kWJr i ^֢jq@Ѥ2hET>v9/4jka/T s}c# ={KKa>hyW6u#B7дyVnȵ]RLwȜyd[r)d JGb1GC%"nQSXp+gEb 4C 2w1TؠX l;qY޾ΐAach9p % HiQ̏eq]4кTY.,`:ۂ\a7TIʚ$RASvQNOb NLnwKS1䜣ovzpc/ij m >Fp2 xa/y_Ї%ungh;i݆PL-3S%w'j녇x֐sx7ɓ ܏9}8(zRT?BۆZ4D M& :Va@XaF}~AҌg?v"o1x.eCA'Mab}7D ?Dzp+P`Z+pu< |MbEɈf2_>MroĄk9[î{|SZĪ۬e+(m+T 7~O-Dl<ԙ7G +j×5bM̶n4?{'\u%(!ZUtњvp\ϯؠĵ.yaxZEpF6*(RE";7G54K؞B~vVlC 6Iu6n͹a<$tf/ @fCb bo^#߫a,lO:jpR!o*=mLW| ي:&HR@_gKZɡ8 h5 Lڽn{rGJhj_UfyK>{1Oec^G-*52}4BU3(&CWBbµf\WV3nI DW E Xd#_lƺfsO [f۝qҏ}`dhj?e#UNZM=8覃=1m^#H4vV3d5!A͓ E32\qxU6{iV5P3Aor}hh*igٲDVaA ȡfG9bpSOc5 `0w(=#;hUjGne|dp67~ 7ޝ5Ӵꇭue$])+ZwAqS|_0}&R{bv!xbɻK?]ܧaN8alOa4h#Ik!=rwD9~nC&kO*-)w4\=Y>U"\1OYͮqS-ylghPlHŸXGHl.X*+@`A}`X<Ϫe#ɂ:2!5~$ % ]>@g^LW߇mFx&?r5D t6? [ 'vZ~BkNۊ$/ux (vO6Xp~`#A|8Iu$(HB|P$ h ω*6Ay~N wSS .cuCĶ <+?԰3IcPKGp~cGb%&vCd| ~C;X;Ij@Xmb/r1}JI_.*B{[(Ż;"R7~ 䮅lA~wozH׎.41h7m\{|+8%b udE5vx(JXϬj٢5Lc_'=P\$ڵqU fT.W$J$w̏" ( #@k;|$>x>-  g*ş}=n?7Ǭx586XxEF$1y1xc͋ !rp[[\c0s1Wf xԜ`_¯k`LNEիۀ3jY P%g]_Wz-/Yb]!U q#d՞˸<] 7B%PQ F[]abgPE>F} b-,?Xb* 6u$0^dd~5Bx^ͬݰ.qrk4DiR29}1akqy >XEչ|}-tjm^v/w9exڗ]ՍL >8;\UFA d96Y?p8|."M$PmݜeeX"cks7Dfy5mw&σH3i&Bд^}^:m(ej86ue f {l:`waXXoT^(AYNxp̽[Ī7ȗSHTTcPz0L.;ϕ}b?CBn'Z^ՙ)ŕO#kQW*Nv,ݛ ,;<*j-77OBf&=_3/PB/JƘsO.k$/>SrS^^`p?kj{{~'VHm3`q*K¬q4>脬h5"̴"Z&or9()?hhgy%w* z$I"o7ൾ_&ԐLI'3/|a?5j=7̀rN[ŋ%={\1n=1Cxh~x{IX"2b@j2 e- MB@'ҤfK~,ȁ'E_@<[+',jb5 Zy |R[Xx4"'txEρV@N'DH/3 =p%+ Bk FC=^n#;RunzI ggMΠ+tLsg).H1(k/AbGu0t:cčVV";)ܜ,|kt ?K]>jZOTJbq%`g3.oK#ŁbzmlN{mJG@|5[-9'<0WSU(GG.k\be ̿:GŸ/huu=eARԠ}U &I\pSې'*x;#?TS9Bpa07BB{L= ] 1Ad)ЖiK pЮVn/-jqDJÆZ"PRVcOyiL2?e%í(XHVHn`~r718LD.k#4`>:\j,^B22s uH -<}QN4K,eKn"eڊɐ="Oՙ;K^]4γRnY{g|f:}~XrHf߷60\wK,،uw m %VBh 1|F%)}[4R _eoٌSo]ZWǥ3WwW_,sRE*GZyد]SHBn_hghJD*2F8u!Hel9%ep:ڽcK•Uz\;73שi2x } )3[xмS ~yeӻicY mCuXMtU 2Ⱦ1:&x7"m"Io SdlB`uޥ)Pϵ|Hw_܍!Z1ʐozXD_safj$@Zڭ߿@CQEǬsנys΄8`k}SY?`U:++x-R2;a(=(q)=PĺM(uL.ݡuzD,1cΔaǂr]%/l1P'B7w$hqLk\m4\ܦCpcC؉n$#}Y^9-S,yt54Nk5*V _$M}ltE"EO53!,n~jusiN'\xr(*mJCy uԮW\8,nڊUN;vG#`uNIa+*4q #Լ>OoF1\x,\50$.}Y,2;KNnzMk#YdZ;ƙlx_ Sd=Ql5n-ܑUTb a/1\"O"zEodp$r)pi0#.`HPNfgV+-J(p"}UQR`hj,a`#rS# $>cyq֤MloML-$B%\M 89hu@ 5>)D \4\hv?Ãe 41gUlau.ۧd3tyhq}tF\H+lD p5,`%x?֚'0sj Ha(E!?lt9T9"DL3N]ȶ:Z񖅿)Sc0#o\]d7FRԖQ5&L%Om]G4PW8+i#D\gT hl$ϘOlt7JU28HY ܼPUVmd.程=ܴA9z!7Hi~/!y!RBI[Cձ!uLCSXL&zϪ%a6)״$ndž_%tM[[7F"$īJj)i|13'-}„c!"j@hunCp?ZbIх Pm@k99q4l5 Y9c T>BVlL4X Z>~:[~ *L37Gu rȩ0r-̿RnSaUe^E3Ja$,[sGIz+P;siGZc`7q$pʖ,<dHsށa ^7AnnSs&RwJMÀv_^ Lޝ1PĽFޗ!MLv@W땫VEb\hJ+Y]qj5XnL=[uwLgOE4Z :a5(Xy@:? WYp> }H5Uo'Q)%˽S9WwD-2g^?ܘ~R/vIYZJ' 8) $l L:N]}9P>C m;*KJ*e|U:ɒ YBQG1+g<n{V\Ų[5S2LN[%Q~݅a8_NQtJϭq?C,^eO0 s^En鋈e2} d?]1a^D^s DXХMquiЙډ=< {Q GB mw e!JrV:@LS%X)x [n 'aoN]묑BK NOaLblu"j/_zszq sG$ P!R1ei) 9gtۄhn|{DA-w}3^PiuP5MJ[*hu)0~sn>跷N|ciK%v3"oIC&M3OA'(TbDQ(Qd-.?!!Pr(N Dت4}+px_6ٓ~ńp.<YfLR`q%CT+vTc $`;> a0 H*L)lޒ]u oEp?y!Օc҃ 1<т eFj=&$ܯD/Ƙ`0:<<:FVYn:ĭ_ssmnݶ,m+?V- m C ^fI/7 | sV U_8LkHk5pU,Xgn;'3iz;5*gwKF`I??|Pb "x@bR;[H@X G(>P=`n'T/k})U|xm%/} NdZ f% *1md **MV0cC9]8: rM$@ٌzF MK[Hl.4O|]ݬJ+?֒ XR"Bw%+ǩ48?Y|7Ood}1`V#Mxi9.-`IB &޸HQ1:m_Ip7W`Ѧ CW\M 5<24\BOP>J @rŭbtr;EP'N=&7|L[-Zi.6jB`ѲoD)d 4*c`!m$M8F鲟`e[,cHd \gq;Ҝr ?YPBNob$'yȤ=J1G"7iT _y^j &-p_Ot! MI<IdeܩDJ.¥s0Ic^Ѩy~=,azCW(gt{}.$n=ſt*&XQS&fދ`0lrH;#f́.=+٨n75;CO•T73+ˮC+ζd W#`UWŘꦰczZvS?\5tOn蜸WwTfP{EzegYI$usOD- xQ#Yz2J\z8;@O{DzRLA4<5)q"(+l2gq؆@yU"F;DMB'iZXb/݈>F$P ;r%̍'y0nD|`٦AZWŶ;۞YD?޶"|atgl~>2y! '来6+#"Pɦ Hj$ɸ6ކ^}W A&K%巧^Gj*[AB& W;G˕&ӣv-p~~ʹ| ,^Q|i7QZ(`>掭)2ݩm5W̥Rݫ:b 0`TMN]YRBV[J$)+ucn ^is7ʦEָp)$SVh|[o֢RZ7'4%yF\w]Xk6vfvf0#!:87|\ã @-n`3jb`:ȩhM+wH!lAd_gA"{_ f' 0XfN\9GS1*eE鼞w|=JTmU,]]H&n"jЃqdBuH:wƱ=U afM!G %fkǣ jYL81#5$[51˹WvHUڦն8n=EYfޛ MQCBcW2))TFfUxfbZJefT(AXOWcCK0OlSǎ3`nK<#Q!lcJ/C.Kmrt'6Zn 1>YVcDj%h.:̷Ś'W棊MN]93W|⢾GA{VUg_ToBjϩt(} =D-`KsK y9GjqExttoҺ@]wC~b{Ӧ3DyZ>ȩA!aSDV.O A =X!ڨ|'9^ vZH/ɴ@MHI/-ڴ w[vl;62Djݿt\vbl$%e$* ADq9(0Z !覎Byx CؔXx(lva2K଒ $+?u`a16̖WU{J b 2P!QmN.b){a6IdQLRU[>mf`}['%@. ]#O{XʹH|:Ap؝ 'Xpn~4m*bzAL=8K`$Ck97yVi|0KD?~p Jkd\w_8bAS%86w8+_*^"XR^P/]Fu)~8Zjgd15y옲ɒ~%Rӷ:@6/lB c_?ƢL 9`7PD$eD%H+5!7n8`9 7K$]/)jR;Ov(T {i<('P՞QB9IM5?(/~;xvc]wm%a`ƞ.P$oiNp2Y xa48&kfxLgKET&XZQ%p_JBԍ&Ӧz NӡI*oO-\?&;J&Z"b]KC5f㑶-GQF9Ir xpzE@Mβ識< 9{r3Z<; (=ز%BM~c@9pXʖ#-‹o JvIoɜYȼ9a5=+aP`5-aO}ߖb`}#O ޙ"f3kaBF#L_L̥8b*vE Y|:l5!d/$a+PE i#l:.0!, Yc1۵C0. ~[KAğe v?_ݓD!וmҌOV|!K "{ KzYPD3y3TԘ$_Wndu@zw@-Jz򯤏f檫Q'*=W2?X9R=#$n%G/9ieq8}Z<n՜SWx@F聽Cxu0*?XddL I>pbTX W4hbX. 6Ikl\8y*,-4﹓kvURjA y5}1\`St#s=T]wKU*  iHƿrssKPܴT4hDB!,^q`|yM9p~'.n.C4edlVM%l"IS'VPAUwv;ܮK5IlZI%r1sT "CDlVTe(_P/EjEPq0;oP뛑x+ ]e1l갻[#ܾ$hsn{ѡm8ec5tOjT /<rhӣ844NIg]W>8j@Fx/q.𨩹5$8O\2d[xzȷҥUI%!S:1º8pqQ8!kTt멥;;ð0FƉHL%)n@FJtgޓN4ui$XTH6z*.f4?"U6+&Q]w'HX^~u$Oca%ۚM՟Bk5w:3[#8֒rjM~gMۥӾ*#O+zQN=F_1zL 쯝`x(K _^ꟈ. k7@(!E^QаGqs}cL)sXQsN&C(<2j !p u[9jPYNi==FeL$o>B)>IlbK2B{IO)/291Uvrwc*M5lLwH[;c;)_DtztEw4;i[s&[|G!"Mk=Pwٓ "}sPZ=Gω ;7бRKCJ0JX@(pzS87umY$Pr<1J/TU cJLNdv~,V4Wc bP+2E r{zK|nb\Vyx*pI*7ʥ& }1{`/7=cNڷmjQNfCCY- vt?׵'=UsC,I0ڱYBO/j:;~E#g:]F:K.ETJtq"әua맜^-CP%DexXk#Л}ƪ`0Rɂ̾r z^\P5j*SOCN:WNVhtdf˝w?qalFm752 $bf. ׋u4񄦤`>puo-mQ6ivR@yslJ]YG 2WRCi<[S}uarOU"8Rekx,.^s19HC_ޘx'0xl̖$eK9.Ƕ+t^&-M>ٍh_ ͡1&dh^ `> ,$Eid2Zw*VV"öI?n5v߀y\ps/%OR 'q5k2(d /[pvk962|u$hiP$*&8l^´$58{^ƾ DG顱̀A;vxGJWżtB&Nj-sSRALԐҳ>`4u?չNgʉV/*͏'o  S@f{GZRMA ]%0-T㾸œSqGsGC_ݹêPqtvMzGu:)jUp0ZCj.N7NkŊU?)8~,mmcp>`V4\,Vr^F<Q䞫m1/W_wJ+)΁P. J-4V9~P'h~>lIRBAE>w|$F)۵CQtslJ4e 4by_G@N%Ish=VV<%t1r):T#S/O<%b:FAATv_5E@}m}EelMKP񅈛&u)R뀘 UBԮ6݆"SRb)G1"mhBiuQͼ~=Y2mXT($ى~rƚ?jTbk8ܩl(9fCҊ6@QFLxP~|!.d1x%Kl+:j}so/4 -~'`<9UMi(ev3j*`?z5V V*`6 r>YIr?lYMšSY}+uv%|%Tx4\ |CNE|`2F>m,!\&oJ.։YV~}"a0lHRFG2w yK]@~ :A18lze& v@(q4J}"J=:~X? ?Ni~{N x*%/w#.l(T =u['B(y$0Z΁_iF1ThfkCDI|b ݒ-x}ʕuހ7R}zЉDFZKk4i'[[gb۳Ga"04W(jG/4!TOt`m:'"\|:%E,2pjEͲHgdYٝ#(BJݜ mvqؘ/l< RV[4_P8qaC/j8zp:7R1<7"駸dh@D'sc EgMs6ef.N+lUn2 )f% D.G?%xU!HBU3vNr>r(6lk@-у=-LV ds=|2OFb!{ wO{X!'$dF+ 6@z|(@A8Q v؊x~T6" .:ˇU `lwrUdfՄb(l*?'ьdy@}Q=ޑé"ΫDHebN 1 ykѤj_@b9Ux,aCJHt˚MU:Z1HR\P%Xoc$i[ d5C4׌M6W L# /e),d=V4{陑a)$"Rn#)!u"6Nr*׳s Q_t'\qqt扙,tYf>?V AԏKb3@"*+ (9&3!6dIpx7T>vj$T޴W5ka!Ѐ{d̐XPuzDPgy"qU͊pF2ǼQp{ Pk&c"q[>Ynqm=buԍ"mkjw/ϖ &1h>|m@~r>6%4fS!CG(n(U,28ƊP\PYh0 C!Kk9W/i¶" 3e6*QW&)夊[nVW#XBυE}_u0*7#gmt hō-ǜP45ZVO&]C?qw%~2g>Z%f;?Idamz5 +/g(ZL=UR ֎W&:BڌqK.`WPeځ@/V 9 -fą.CLt~Ò|9ģT61 )[O(60mi$k2.Sbv% gx,cĨIuяڋ[(Sy!>clyW+ VqZe> .wƅSv ָ:GLX%[:N yOUg)WkJ݊>&ũ\P{cagӍ ɦv̮f؊%$Y<[QI7j& T"?@::xѲ8Bshkgc[]2A:7ڬ gfJPǤ&ٜ`7jҐt͏bKl;Kᾴ`hLѳ}YR%r K#4umFS.pcooڋ(k ^͠g}Z B؃;9ك2ػ)҆LuM,kƚ⁜:M,UZg*վm'7>]"g37ŸĴ&_rG" ;S mJ`tɈP[o_~6]S NM왎pE)t ء!y[l&BfXwY2T4m4i 3hEَ?{N8/.Vs Q(zCj@Zߍh `%X9(k-wo#*&!̳y6H?p->\ ṉWNsoq^ ;2%F^K˿mAC .R} . ΢4h!-\c M{CpYvn-PBKhCBr=օSM-vJ{,8zI;4N [GZſzso.UpJl8hMv<3&84wl:$}9z-<#)Gݹ>y$ֈOoF+Y)J FbXhw)%4 0\^Ⱥ*wE >Ϻ?y;ڊooTj6V+PjW#xOYް:wÙg5~qGۮicw8/ N_lf1uvYQ۽= ?dmop.ܸ8/\6)5 ׃ݕpf ta8"zi\%=߁&p(w7g(ăg J ӆ%<*>6!lȊ sv4^~~^7dBG&;ːN=`p̩h[n]&D,3T5JWœ=4ON2iqf1vl s:8z$}.񓲣*S#nAlSD,f 6@},0}Ge)%{4KvZoD(Բ~?V~:͂ߠv{DYurR8Sq,} }O.؋/EJ=Bm. k`c!1;, qʟ{8#vF4ro384Πn~f^L& UG(Ue4嗠r9}ƂZOX U4@gvh(5b1\m3s}뗝SZm2ږQ1 XZΠa8t!{[l۶̄-e(@+mlTc\yd RxɍU+u+^U' ;-$$e)˰ z5V|3(bΗ{,KM):&H[ 38,b|% ȪUarKyCp۲ 5'FOÇUj$*l }2vM=DL':$4̇Ӳ5(d_zI"'n,M$TE۷$> .$miXsU1!;?4gھ;CDV=iIp;Z8}fEvgm52fIQ,e챞qQ?r{s:OvUIgpҹpx@Œ֎eKfN өODS0 7В_aΌ@e{%a/HfZȾv\ʡKd]JAZq@\uVOʪ&Lȼqufs^V 鴭U&"\=`< ${JÑE5SNA@e \k,˒ބDcb"\h)|jpU~WVaYL8ˎښ-SS?7/RXTv83ۺ>S]'riyRڜN3v̰>lz:9Ю`Ci5&MZWuDyXnV˓L`Ң|TdYǷb0a-Pdi{S!jgoFkHy+ejҬ՝G6L1fJ NxIXb_C)g4-=ͬKpV*392xYHaRFZ.o/&lb%"!ay{m/z>qp$GY۽pfX/pTS0?7*4 .ցxr'`<ݭ(j %DBiURqkWq]FDl0O=(|oLxBʞld Iy~ΤCsj;6=#fAwUb2߂++ۻ.*;PH䎚oFu/E٩zbfe·5D+I# ce*P-XxV6b1QZy_W${/OH Fݯ\o0( v.w}S ؁bhe IBM(#q;>'Q B\R)ݵKT%q9qNهjGƟǑu6 Y?Xiۣ37.T<3',Z1ׁQy|)? iВ$oҒڪ&OjMHU Er@.?y_7j ǃKf~R*t)LY{d&msl~Izmnx^C+FgkQKԌGv/+i 6-J:h\ht\1s68olNJv?ʔ L&=?X>{5%uY#}&^ 樽w#^v#~٢J&c}ڋr\a&Lb |j>pNT$OE\F_$dV;Ou6$,Lk=t$IpҢmtOKe  s9LHIVai\?v_l+ck;#OwJ;v=MZ1iNCmtFB,ׅwtw7- tITG/K$^BkuyhBkq>KSꊩD'XDŽJ@dK*tc)VVzǶ np"F]S$Q 2jNUcotF>nD%[/|TQ%tu'P4F;MѝN/,]e5}% +|T#eEIWmrɀ`8reR+%ڑ 0&59:T!]ؒP,D;Ug{u#]LQ- :Ng^c&S跗 Gİy_l:fr-?1i'aŤ ED޽vީ\d":{qt`]H__mlvHq/s_u.Q )OD:M ҥzOxz^^Շ̣/4!2}l.:ր}0E%5YXRf[w7S0r !~oWȒ)P{S-s["U(wQv=fU)(DQ yoxG`%Bc=-+F=Ɗ ]~h?- V;_+ߥ,>Ы8\;@p+47ws:sv 5NC`;bTMaAl&H?#TU,_R x!G}&= lM^/㠩@' Ȳaf0=i22C"xZ:o?c螥9B+ÿ7W2ʴ2?v7=d _:tW72 TF/x8xӏndc:„My…s!507xVFl(V,@^e飾?C{0φ7s9wq/)gvn7{ougDBBot*M1AFpH= '4X+ [򾣢%%猓K+0)Y?YN՝Y+ƢbrdC>N=S㊬~+՛sl||HYq 74tZt _jxjIf+M"No()'^!nѹ gIBQ'Ƶ=պ/vxu'YY/d/}lcJsu2GFd?" |RX)NNnE;/޺4=*W'CїwnO$z)7G>KAh02/dVhp3.XL شb'2᪱EP2=ޖ<ߩ5P\5',%}heeiˑ nGoRK3N{k!4 /X+7*|ɶi|דpS/@ 17`Qy{I4\C(ֲQGX  'hpζv ې~P3( _4Ll,ITL"ψ"%2dHD/E[qvūBc4U.w&E.GfxDHߜQ j=(%02^6>`|>G.mQ-6!MH+.{ϡ5o䓔5$B7)\O{Q8&iԆA7z?2G;ˏICy<QU6ߥ`ƌ|v@l |qGceTv-0h:זp`KIus4++}Fo|޶X}dY\` jKZQ̀wXaHl:I>aO݂.*ފ5R: vﴌ2֧ ܷ<2 dwrXHO'0N .a݆:J>[ײ?zP 'NPbIj0{S:n~wmb6vݠ `igЄ6/H1")>f*[ϛ|Iq*ڼNIZ\!.tCF&m,qc8kPʫb6e fӊmӌuP R:t*wS ͮ,j{EɉZ#VqU\j5l̺vy!y`hUC>ߊmODnQ]GJʢ-4!_c]HLt:I*Yߋ=\49? lj:oT^9$>M:0Īen[erϒBDtP@ܿT1[H='|7\٩GqPUM9cO*;n12(k=jr5\..M]LRW])^ͼ8>D,,ŀS(3 ${7 *kSw05Έ]}qhmѷJy=*()8b>"'@ ,Nx x#vPHM/V Խ3IW8-9dPt.XEs1K$$/ _!EL.l9?0Zb-9C/oJ<0k>T[wVwΆ YWRfQށ-o(:rlf*W6_$މcL 1&cۧA0~|1qK kTB.{pM5v72;UnҤmCpop㪹I4k8 fdR?!4NW-xveLątj*w}f=Kn]@,C >3x!Bylh.n^|W4VLY?6Ǹ[CxHt#ط?0íYgJ<2YtO ?b#Ga0c%߉$|>1Aciiٯbi>7FS2"H-CĹVtygO'UD)?|`^wgQtőUI[pDSV*@L=)l-]chikI1Chc^Eɂ&T:$PpZOb@H("^% BU=³~bƑOq驴U" } v nݴ؜/@Ҹ, ߃ImڬliŻӔTCZѦrwz<_{Ӥ:TR;nN0B3Tz}LKZda>M=@YA5 V(<x.,RDY_qmZ$bii{_lцi?-" |XPVA I;TB~vrSGlD6B_0۸W`)czˏDW@߿# D<_(l){̰#le j8_|FD*H#_BK՘ⅺ'?k\s{l]t[Uy %8ΏC|L=T^CXdFf"C$ 7= HR΁ Fo_o1MxHd}޲J ?WKGuȊ^o%tzrod%ulke6*Lxk`(U S,Gl9]#++/pTJ%p |P~rr$ H-&<4' i8tI tYTg02jO_;"/O%)>7bPƉ@;Ţ.> y4֬ 4ڕ>/||3E1ې*Ǿ.jwO麛FpAPqb#Y0 h%Cnf0WkŃFB*=v}.yj õSqKu>>q@h'yb>@\q)mHFQ0LU lnq@ (u'+% ](3N1h&Ϗspuz߭w5amT DVJ ( , u=aݤan]gP߶y=1Nł^"Q9dEdH"2c5*~u$dzP:i6ئ !8`)ycL'j:jJs㥱.,jb 2aCZRuu{A&B?O9Èa#^S. u5Ca%T鎸}gcj̺fi[(/]ZWU%/-p!!x  4H4o]l\Etڒ(ռ0, 'Z_;ҾT}7Zɍ"s(U,rndi og*Jr[ZR)Q̀˝7xF*5 ^8)JP#'F!q(K*eK.?8N*Gy1SK@ۚXHXz ^j0"[SJˆ\!E,NmzolKm[# ޞyu z(%{2Lz<W[|{U bL)ߐ!|&v VzX3Tci7~ ~BKtp^j"ω逐E&)7iDl_qc3(q!}A /ޣD O;BXb=,r[?^Dp- $QcZREVo9B@ѱPiשCҵ2J瘤pC=cJ-0!nTW\zEh2yML|g+yTLEi2*ҷ+qU2I>c4-/"G-)ة A3N`9㐬*+W#E)T41\6I/fcW<_ա,G:_g9,±*zh#Dumj2_Qq̥IiΫ}OJ=S} N.]/2ks|h7\?#t}MR By9>4-sqP¾5-ϊE¶n6ķ;Z5ԌfPJʯ1>,;WThtruM.W;}w~WpPlaAPTO9^>DRجƇ_6 ?x(gZl@u 7?a|cA014:1!=l:\M#J78z"$'gw F%*%9ob'd۾ Q(GB9onxua@څ_!l#:ϔ偹DyР[c ztkqKu !7&n:aH]L(-Q~b,)0BVYc 'piW1 yޯS8yr {CsSAMdb X'vG>ui.f/Fw_b*f͋])}?boF+]Pp*yC=_3<2`'w]VcYnI!d s-80w&fy5Y40ZW֖ɴ栒x<ߐDžO'pA!+|'ΙxTNC_<ɢ_WCM3Wnb)DQk:!_{^\It;:o9/5lؔkC߳XB`G}pCz;JG T~ФnbGfCE,y'!.&/f#FJ6ӄ'w_^E:=ؤ53Ϸ@nEIu~0QK#cI9ÈzLyG;:_?$ȯxbk:MD>@unU~,h)Lds^>Xp鵜hd"G!s#+1\R2 3;g;8 8M?m\Wt$Mӈn01\4؀ksǢ:: 6į)v>Lf~퍮`}B^ T'Iw;>QX h2Yo`ʸG7_S$56B۶cPX ޯ!kmq 7eͫ UMgPޘFe`p\Oh*ȱEs`Sr>gLZW> ( wpj u2K+nIL m*v=,O 1S!wh)+g"Iڜ=qj:6 9J,_]|ESvMNH.BnRj.ҵPLS7z78!n=3k=`YduƤVIIQrt lWX%eӄ7bT_3AH:, l5i-ue &j… $ܢѲ9~us.%mV1UKghY3eBǡH/:'TVߐnbK#ş Vܙ{s߽ \cإ{DJry#Iཞ- 2;_"'ΝF};T"Q:|b%)W|pk{-ʬZp{sۑ.Tu,H`)دE:E3>AẠMu|Ut)o΢9xd 7H-mQL;RJdWR˅}70ҷ6E"ޤ'CQ(oJbtuUŚ-39IR_ jaT!,2AOAh#mK ֠ 4`837=7t@.o+6bA6+9ѽ*}"*A&u. va(P/ h1O-d\I)]֠ ҃|ޤoE2Xe@]dC2tP]q$'E8q6߫W !VQ]VA|ozB v6B2\Yu(edz*imzoΝ/b~gJߨN*!:'#P(QHOa3bi"o/PQ.+IULc(C`d#umGF6a!kM_{9G-+3S&nkixܾaaԄ%e ѻ6ù}BT<%)}"]F~bSiUԆ5Kԉ8`ph!>t9Y4F f7e Mc?QMf C͆ є6q-OpPR0.DV%o *c3٥&=d." ## {Yӿ̂uPn6A#G#lfu~mqD^³C鿕iЬ{Mn+.l8sN#I`BzZe&|RAk8˚a[H`^`.)<П ϳEH(ll|s?ftZg!+{L>J`~.ea=BJCI:d|].kj +Hqxn|VmyDM:"_,iKTҵCyMrVGA 'q +Y)~'YQR+sO{+W-Td=xsVjtsF=|I;K}J0f 0 n™l"3 #[s̴.JڞTt.Q .)>-Z\賡#azg^4p-!MvXpIKkRm +aL6%n-V?I}rq- [f&1TXƥڋyl\=R8P[$Q+ir1^G{"ZL)OSq6)P B&-]*w8f٨'VEdU՝^ԁ>{LsE&dX䷗|K.eA:TWkpX7˝Z͑J>qCS>[1gM }Vfk66s;QMqxa;(C Tp8x_>.6]Ql‘7L k @f2 YQꡡ,z-)tn}#>֞h. lB:^ܷ}yH^c6Oq}['#5P KC׍ACFB/ŁpM[[Lj P:c]ÙVK_&e")?BCp^ěR r% aj ޒʍI4QoDr?6O1/^ĊyP|ՉxVݜ…'eዤp4Lc4GGGY/i7kMuIMTz8dWv2fxO! tIKI`ْDaw2ND83&%=D{ӂ_9v3+u!@=mdtfۨejF?HM gf͇AG>ᘱ>t~=}[G!<԰C|ΣlG`sX1$ <: &NH0Ń-zN{ ;LJ^*4s:i#vX :J;ȵ]u@88g!>+w$1E~ ySGߑDRCo\eblrZȲW-j 0QvIc[Dp{RROȤ{y3o^C M^>B>\NFz6TSN# 7`⬜^Y`v8|'ͬ8*9%bp|6SoɚE5^Becs#u] '6J5 Ӗ‰f3Z7<*EvºwߑzSG|qqcտ>(HEˊ=ZV|O\ 5KwVӀB8-\~Ή' ^pF5,pT"?}O@Q蚔<6uL}@dſA.*Իʜ)s8*)7TW 4\3V[HUop6hΥsɪӧXr>v؏*Svt>6 UX 堄722g +S yc .Ke^-ό{rh!ҩ [Oؼq>bEYU]}TF#d[O{bm͓*U~9 tkJ >eTzaIul:MQsڄ`cUdYgƵgH&'LW$۽2*,ÉX]Ԯ^K''cRxG|*owi-z0]Lff@.;c޾j<7! HΣ5JẌ́˥@qJ@6j7Ҷk(v@ǘ![ kE"j{B~

'_RNxXU{&X-xp Đ}zIQQbkܑCױ"W1QgKEZ^lL7_Eޅ+:C *D*В1d1a6ɟ8~ʟ4$~p9=_v5>^{AT݋+.xZOJ)FYp~ɒN2_uouE=8 UU4뮛)dOg*ʪb;Db4˪dgK#( ?舧ЛsES Dz~K7Dn\zq]4||Ajy:V( aCLwjؔXV/Bh*F/} q \G74Ł了 ""?Sv,L$k;PcwQC<ɎnMUQ+$ r'G-8c6>nTj Oo}{5 ƓtNz0g\ͦ]Aǵݺ*m&BɝG[FiLwKm2 H,3/x$8nbeaP/pX!vH`''d0|V_^TiɃ_Djsf}M3TS;23aC0; Dw5 }l9C0ͨrKcIRYǥǫ^Ӿ3tT:'-y$C;EcLbb%=H-I/w *kP:Zx4qmCCt|ZhhA|%B`R\yԳ'ŴKp\7׹pW\WP&X9Q{*ș|#O{4K:U Hb3 Cl4*s*pGUQ*4i8< KX~IGd;‰g!$\,giIB5w<|5N2tZA)[X/O؍"[WjQ^,&.~4p< p#cnf:$3.CܻKmԒ7I3[V3ɄeX6WVڒȄ:fX#mrUǂKM琕\Lх(FTwa& <%=L%VPOl_j̴l>Ɠ>(|?PR<%@B"KzO؃^N-_0~;|KLb1Qc A-kkʬ"90{GP8j@QB ׇD%j JG5#"Ȯ%8@§L;I`v cF /}bi ^TC>woeAjX9!;SEauӴƃ2P~JJ ᓹvM1@!)b/suٲY5=ZFB8rEɶo]rБ"|gG"raV__ـر4u8BD 4lo}/ms5bX"$Ɯq&: .h⇯B]k{U_ZpY7FG, 2P~}'%Jy}PS#Ώ%|._O?`1Q d7w(üU~Ǘy%_/onIDP/tTjKkRBh p|qhȔ@өipd@Hy*[o_kOoiRc3AxtܼRψD!7@;7+n 'q\ Pm" p56~M}szC!C=d͔P?U.zclUS6B⻗xvkʭy Qqgz ]:'^+Ȧ RbK*=`$u~AX'I!Ad.1^c[G/u~<99}MֶJ392e2~SC > )HND9,g5 \T}}j~?^qɒXC}jFחݍpÉ,h,$[j;c\iSg$+ænNy;NK>,H'P.t՗l: 4=4h VHp⿘^tkr$n7h_0Nˆ)wȼI+Ъ/E+["02 .~`wo]\7i玚5F梊&dwz[ʾ^/P(M&OO0 zY}։B,'qOf/Wjب @-#ӄIFCQNՎ ΀Hڨ&}3,0z?~#ѲӀOqv:,IJ C]m6jjP`v^i,tNTn C=Gԭ &-y+rxpYK@,`M8V5v&d$r:U얏IA>PkDV6s{b&yxrl0.p Q nw/:oRfE$%1D` >.T?j̦܊~+m1Z/՛zdsr[lA_`q˶djK#kو~oU7aCaUQYJsto$i#5^LrY DЦ<͖L-q: . ӎJÕ'?g& J ܜVC| $AR1ՍK/l@VW}8:iGk@~.Ar:q@_\'+IKD9J " Ur1%^u*4rќrePy#{:^1A ry/fo&)+Upaą%K|ZfzФqKj:>"c)j4*pS2hW] 씎R \dRym/)w?^DHLZ?j%%Eo#Zm)KpdptR!mQ*͂J-:r)/dc&>Te=-B9w,vYsMqbNa83k'j?I Z8ADT@?*&=o7Fժ1^0'Gߡ3[7sޭaaq:_`HS bg{ޏר2Ml1V _@#jrޡ[ Yd8{a;6SѺv/, ?갳yrYӯe^xWw^s^G>}Z#>hUz{b)"tRTO7f䐋-= XT5ɐ8ok9ٯ16PLWau:z΁͈-_ [Ŭ(Wq>s8Zy'&`5e k2JMK&S1Gŀ>}eE~W&Ix)\K [*O\g/WS- #؜|je:uKD;|U6E' Rxw< XyuT+cM=붺4|^rdT “y`!4gu{c~B]7Xt*q*Kʦsx}kٜ*_Bܐ=dEһ)w@RLl ?lCQ4eAf6UDZ8˲Z؈wơfĦ7(Ki7@ TxHX5?A}F.³f"2d~.{7ΈY:$Мȁ`_ڶpI0-o@!_L?!(zFEz?JiO#EmG/)˘-<KajgCFwD %\<$ )&+.S`zTL p/TSXlq){=u:.cw[ kՉ&w?]l|ReУ9?3 4R MiB}-ȿ!bYHSœ)} 95zsHRvW܀^uNvOZ.#$}M-$W,b,;ϦHո$@cn拶zsFR0!nm»R=j0|`o=Ei{ `#7SyC5rVJW9U_uްQ'D;;3PwiAF.dz^҇SR1aku"fE68NJL$(ᆴ-;;*Е3 |(|ap-_۷͠?@2"OL7K '<9mV'qYZ(3V,vK9\WD\AtnQ`[̴0E)GȽT>? 7Y47JDm_hB"]1$M-=GzVUnU`l|EwbY_űyc#w`#4Ow ɓL;lJ>H}LObMaKx(46rWRb%<\K\= pKb-e~ip:oe0Y@褌>APC2Z~BO ~bSeHb떟g D}!}hڌʸN84VMX+ޝ-mƎPcUy\$ZWQ7xґmN=_Am~&sonWA7|3KT-$_"nytw#I" J71^X>T@xpzTeTK*hpX7P~b#S2}vy*I$f,*m{z,x ckc^ɮr&kK?Oܐi7>4yP3V d(D@3Ǥgu{9lCu?GhL%,ReZ(0h΂HM~yYx=}UI3s-&" S,d$y/J[k?X''8L]MUrxa35ϣ?;hOBރٟǡkA̯BeZ ?t{Vyjn=s;cn<@}K|/,aKOjqHϸFb}|b])}#;{ݸtFs؃cn5zlC?R@Sa==9*L`(EhAJgiI齨p1 9]]04Ar08d:ܮREt< |z}`AQ֖u 2nBd+렸U"ڣb "h4DgÆ]q։Uw70n bzd%_8jhZ^,P4 0Å:$1A;bVR 5+ DZ)Ct g2N)2[ cf~eq0%DlJblL/h *~4CB( b\~"[\%5Uqb>E,\"H7$B4K}tgrylŲݶXZ0NV$~f\RRKK5\N gB6ˈf?"V/ .[@7NGn kCD*VҥK+4ܢ|(5GYXroѿ/eF2H*^.I3 In9%yv c5ЮO~3Hr*N,``Y&CR~F WWɧj;kM:ˮ[D%&EQByOV,6wz#j @u*3-4Bwה*' V(bM&؜jڕy"%! 5QI,QAW F>OFL&RZ6%'4@znyc(`,4dULze(ߖx)ڼn%<<kcd64E(}vewabh;u8{ ye%M=><ښYՓF}#(M&&2u-[5q<-%oj!+tɐ]oB5;%c(S^ݤ[g8viP)pDm  ImaxixƁ@Zq`U- c-Ofl+K } -rk%uӖyv >1a0'~vL{MޤGk 9{6v[{TɫDDء/mtH.4Uk*2֐] jx%JG]YDi*ƆmsDUAЭp#zOJ} :oP)ӑ' ٔt"sӊ A3h '?=.'Ynj]Ӫ45#%f!e~l#  >̦{I6֓ȵXRm8rn(/O\D~JmJze 3S1}ta**5QD0Mfƍ|Ě,ҫw"XN( >m^ܪ@UCPZ##e6kz-RYIA5ӣѫ &wcƐ0E< #,,Tzܺa:@Y.qPP 2Ҁ r?D YZ