redis-4.0.14-bp151.3.6.1<>,&Љ^!M@eee} ~ablŶ:.sH?1j)߃v%8mҜ`F0? d  9"/ Hgx~I8l & d   4N(8*9 t*:$*=> ?@F%G@HI8XXYd\]^bcJdeflu v w|xytzCredis4.0.14bp151.3.6.1Persistent key-value databaseredis is an advanced key-value store. It is similar to memcached but the dataset is not volatile, and values can be strings, exactly like in memcached, but also lists, sets, and ordered sets. All this data types can be manipulated with atomic operations to push/pop elements, add/remove elements, perform server side union, intersection, difference between sets, and so forth. Redis supports different kind of sorting abilities.^obs-power9-074|)SUSE Linux Enterprise 15openSUSEBSD-3-Clausehttp://bugs.opensuse.orgProductivity/Databases/Servershttps://redis.iolinuxppc64legetent group redis >/dev/null || /usr/sbin/groupadd -r redis || : getent passwd redis >/dev/null || \ /usr/sbin/useradd -g redis -s /bin/false -r \ -c "User for redis key-value store" -d /var/lib/redis redis || : test -n "$FIRST_ARG" || FIRST_ARG="$1" # disable migration if initial install under systemd [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$FIRST_ARG" -eq 1 ]; then for service in redis.target redis@.service redis-sentinel.target redis-sentinel@.service ; do sysv_service="${service%.*}" touch "/var/lib/systemd/migrated/$sysv_service" || : done else for service in redis.target redis@.service redis-sentinel.target redis-sentinel@.service ; do # The tag file might have been left by a preceding # update (see 1059627) rm -f "/run/rpm-redis-update-$service-new-in-upgrade" if [ ! -e "/usr/lib/systemd/system/$service" ]; then touch "/run/rpm-redis-update-$service-new-in-upgrade" fi done for service in redis.target redis@.service redis-sentinel.target redis-sentinel@.service ; do sysv_service="${service%.*}" if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --save $sysv_service || : done fisystemd-tmpfiles --create /usr/lib/tmpfiles.d/redis.conf || true test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" -a -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -eq 1 ]; then if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl preset redis.target redis@.service redis-sentinel.target redis-sentinel@.service || : fi elif [ "$FIRST_ARG" -gt 1 ]; then for service in redis.target redis@.service redis-sentinel.target redis-sentinel@.service ; do if [ ! -e "/run/rpm-redis-update-$service-new-in-upgrade" ]; then continue fi rm -f "/run/rpm-redis-update-$service-new-in-upgrade" if [ ! -x /usr/bin/systemctl ]; then continue fi /usr/bin/systemctl preset "$service" || : done for service in redis.target redis@.service redis-sentinel.target redis-sentinel@.service ; do sysv_service=${service%.*} if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --apply $sysv_service || : touch /var/lib/systemd/migrated/$sysv_service || : done fi echo "See /usr/share/doc/packages/redis/README.SUSE to continue" 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 redis.target redis@.service redis-sentinel.target redis-sentinel@.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 redis.target redis@.service redis-sentinel.target redis-sentinel@.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : ( 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 redis.target redis@.service redis-sentinel.target redis-sentinel@.service ) || : fi else # package uninstall for service in redis.target redis@.service redis-sentinel.target redis-sentinel@.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi fiZ8 poG]*u 5 DP?A聠큤A큤A큤AAA^^^^^^^^^\^^^^^^^^^^^\\\^\^\^^^79b7e3332d59780365089cccbe9837528635ff45e3d4b1c93cb19b13681573e8d9719980d550b47dad7c776f2faa9a7ce0bc0f217a20647f41db05624fed00fec6038e730051bedbb906179c48dc492acbdbf0d50fdb0d0012dfcb473c67ee1c7f99bbd464b4edf44ee341ccb9a714e613038fc2af8989be1f3ff6f7aff127ccdbf8ccd1a8e06db6be2083376b310409932df7198e6688448291a8cb21452ca7adac5a8d614d7b714c3063323620cf2bc282759844b2b27cca802fed73b4bc7bf335649ee393faf9e2226708c5140d6120868460e8ce829acc324997112763fb0c3b9f9e75d23bc600e9c8fd2da71029642d41a4b98f4a44638d98d15ba5881762fccb4ece950395b5c1f5bb53e5bb38b201728e5466e9470654489fb073712fcd973cbd79a5155d58f7ea2ee4a72dabc91098089014c3120b41a66781f80a27bfa017c498643aa9666fd1c6cfbbb9474edec09df81091501d7e63967dc272215d741c298200a79c5c81731a576a81a8b12abc07284f93b81959e9f59bad869e876ec42cd78520c80bbeab3a2f9ac9eb4586d489d5d3c6d81bc5ea30a0d76bd1af4ca87a6b65be3de17e984f615f8c9e1de18a87c70fd8ab4463a0bd42a2f77e5f01baa2d83aea04bd3d49a7a43e44e7f2fb9e83ec8ea84904f9abec786a2bbae59cae3419a6ea3d5c47a6b546e20d6f532e5f5421ccb9b7d802ca09884939d141bd53037c22325ec3ace9d2587828ae21a13825e8ff9526310405eb5c46f6030e643579a467603d8bf3b67f7b9d23824fdfa1479db4a6cd4ea581a5bef6fa4bcbf420a3672475a6e2765e3c0984c1f81efe0212afb94a3c998ee63bfd661063../sbin/redis-server../sbin/redis-serverserviceredis-serverredis-serverredis-serverrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootredisredisredisrootredisredisredisrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootredisredisredisredis-4.0.14-bp151.3.6.1.src.rpmconfig(redis)redisredis(ppc-64) @@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/envconfig(redis)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libdl.so.2()(64bit)libdl.so.2(GLIBC_2.17)(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.17)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)logrotaterpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)shadowsudo4.0.14-bp151.3.6.13.0.4-14.6.0-14.0-15.2-14.14.1^^[@[h@[[[[v[E@[#@ZZJ@Z|;Zm@ZN@Y@Y@YJ_YXXX WWWWWs@Wo@V`VQ@VU|@U~@Ut2@UW1@U/@UUU:TܕTT_W@Andreas Stieger Andreas Stieger Andrey Karepin Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert ilya@ilya.pp.uabwiedemann@suse.commrueckert@suse.deguillaume.gardet@opensuse.orgilya@ilya.pp.uailya@ilya.pp.uailya@ilya.pp.uailya@ilya.pp.uampluskal@suse.comilya@ilya.pp.uachris@computersalat.devsistek@suse.commpluskal@suse.comrmaliska@suse.comastieger@suse.comastieger@suse.comjengelh@inai.deastieger@suse.comastieger@suse.comrmaliska@suse.commamorales@suse.comeshmarnev@suse.commpluskal@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.deLed mrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.delang@b1-systems.demrueckert@suse.deLed - CVE-2020-14147: Context dependent attackers with permission to run Lua code in a Redis session could have caused a denial of service (memory corruption and application crash) or possibly bypass sandbox restrictions (boo#1173018) add redis-4.0.14-CVE-2020-14147-boo1173018.patch- redis 4.0.14 (boo#1169810): * backport of fixes from Redis 5, addressing memory leaks, possible corruptions and undesired behavior * Important fixes to the AOF implementation- update systemd unit file to fix redis shutdown immedaiate after start- make sure that disabling/restarting servers works https://nordisch.org/posts/hooking-up-instantiated-services-with-rpm/- make check && true -> make check || true This was probably meant to catch an error in the test suite, but with && it would only return true if it would return true already.- added systemd unit file file redis-sentinel - the unit file uses the same multiple instance mechanism as the normal redis unit file systemctl start redis-sentinel@default will look for /etc/redis/sentinel-default.conf and expects a pid file /var/run/redis/sentinel-default.pid Please make sure your sentinel config sets the pid file. - adapted the default sentinel.conf.example to set the pid file and the log file similar to the normal redis.conf: /var/log/redis/sentinel-.log /var/run/redis/sentinel-.pid The unit file checks for the pid file so please adapt your local sentinel configs. Changed: redis-conf.patch - adapt and restructure README.SUSE - move the LimitNoFile to the service file itself so the user do not have to manually do that step for every instance - move the apache integration into its own section - add section for redis-sentinel - install sentinel example config with group write permissions to indicate that the actually config needs to be writable.- replace some duplicate binaries with symlinks similar to what the fedora package does- Refresh spec-file. - Update to 4.0.11 * https://raw.githubusercontent.com/antirez/redis/4.0.11/00-RELEASENOTES * The disconnection time between the master and slave was reset in an incorrect place, sometimes a good slave will not be able to failover because it claims it was disconnected for too much time from the master. * A replication bug, rare to trigger but non impossible, is in Redis for years. It was lately discovered at Redis Labs and fixed by Oran Agra. It may cause disconnections, desynchronizations and other issues. * RANDOMKEY may go in infinite loop on rare situations. Now fixed. * EXISTS now works in a more consistent way on slaves. * Sentinel: backport of an option to deny a potential security problem when the SENTINEL command is used to configure an arbitrary script to execute.- Add reproducible.patch to have fixed hostname and date (boo#1047218)- update to 4.0.10 (boo#1097430) CVE-2018-11218 CVE-2018-11219 https://raw.githubusercontent.com/antirez/redis/4.0.10/00-RELEASENOTES - Important security issues related to the Lua scripting engine. Please check https://github.com/antirez/redis/issues/5017 for more information. - A bug with SCAN, SSCAN, HSCAN and ZSCAN, that may not return all the elements. We also add a regression test that can trigger the issue often when present, and may in theory be able to find unrelated regressions. - A PSYNC2 bug is fixed: Redis should not expire keys when saving RDB files because otherwise it is no longer possible to use such RDB file as a base for partial resynchronization. It no longer represents the right state. - Compatibility of AOF with RDB preamble when the RDB checksum is disabled. - Sentinel bug that in some cases prevented Sentinel to detect that the master was down immediately. A delay was added to the detection. - refreshed patches to apply cleanly again redis-conf.patch redis-initscript.patch- Update redis-enable-bactrace-on-x86-and-ia64-only.patch to handle arm and rename it to redis-enable-bactrace-on-x86-ia64-and_arm32_only.patch - Add redis-disable_integration_logging.patch to disable logging test when backtrace is not enabled- Update to 4.0.9 * https://raw.githubusercontent.com/antirez/redis/4.0.9/00-RELEASENOTES * Critical upgrade for users using AOF with the fsync policy set to "always". * Latency monitor could report wrong latencies under certain conditions. * AOF rewriting could fail when a backgronud rewrite is triggered and at the same time the AOF is switched on/off. * Redis Cluster crash-recovery safety improved. * Redis Cluster has now the ability to configure certain slaves so that they'll never attempt a failover. * Keyspace notifications API in modules. * RM_Call() is now faster by reusing the same client. * Tracking of the percentage of keys already logically expired but yet not evicted.- Update to 4.0.8 * Release notes: https://raw.githubusercontent.com/antirez/redis/4.0.8/00-RELEASENOTES * Fix crash Redis Cluster instances during deletions.- Update to 4.0.7 * Release notes: https://raw.githubusercontent.com/antirez/redis/4.0.7/00-RELEASENOTES * Many 32 bit overflows were addressed in order to allow to use Redis with a very significant amount of data, memory size permitting. * MEMORY USAGE fixed for the list type. * Allow read-only scripts in Redis Cluster. * Fix AOF pipes setup in edge case. * AUTH option for MIGRATE. * HyperLogLogs are no longer converted from sparse to dense in order to be merged. * Fix AOF rewrite dead loop under edge cases. * Fix processing of large bulk strings (>= 2GB). * Added RM_UnlinkKey in modules API. * Fix Redis Cluster crashes when certain commands with a variable number of arguments are called in an improper way. * Fix memory leak in lazyfree engine. * Fix many potentially successful partial synchronizations that end doing a full SYNC, because of a bug destroying the replication backlog on the slave. So after a failover the slave was often not able to PSYNC with masters, and a full SYNC was triggered. The bug only happened after 1 hour of uptime so escaped the unit tests. * Improve anti-affinity in master/slave allocation for Redis Cluster when the cluster is created. * Improve output buffer handling for slaves, by not limiting the amount of writes a slave could receive.- Update to 4.0.6 * Release notes: https://raw.githubusercontent.com/antirez/redis/4.0.6/00-RELEASENOTES * PSYNC2: More errors in the fixes for PSYNC2 (CRITICAL). * Quicklist: change the len of quicklist to unsigned long. * Quicklist: fix the return value of quicklistCount. * Refactoring: improve luaCreateFunction() API. * Remove useless variable check from luaCreateFunction(). * Fix issue #4505, Lua RDB AUX field loading of existing scripts. * Regression test for #4505 (Lua AUX field loading). * DEBUG change-repl-id implemented. * Buffer overflows occurring reading redis.conf CVE-2017-15047 (bsc#1061967)- Update changelog with CVE reference- Drop SLE 11 support. - Refresh spec-file. - Update to 4.0.2 * Release notes: https://raw.githubusercontent.com/antirez/redis/4.0.2/00-RELEASENOTES * Different replication fixes to PSYNC2, the new 4.0 replication engine. * Modules thread safe contexts were introduced. They are an experimental API right now, but the API is considered to be stable and usable when needed. * SLOWLOG now logs the offending client name and address. Note that this is a backward compatibility breakage in case old code assumes that the slowlog entry is composed of exactly three entries. * The modules native data types RDB format changed. * The AOF check utility is now able to deal with RDB preambles. * GEORADIUS_RO and GEORADIUSBYMEMBER_RO variants, not supporting the STORE option, were added in order to allow read-only scaling of such queries. * HSET is now variadic, and HMSET is considered deprecated (but will be supported for years to come). Please use HSET in new code. * GEORADIUS huge radius (>= ~6000 km) corner cases fixed, certain elements near the edges were not returned. * DEBUG DIGEST modules API added. * HyperLogLog commands no longer crash on certain input (non HLL) strings. * Fixed SLAVEOF inside MULTI/EXEC blocks. * Many other minor bug fixes and improvements.- cleanup service file - add redis.sysctl file - update README.SUSE * add info for socket usage per service * add info for limits per service (LimitNOFILE=10240)- Update to version 3.2.9 * A few rarely harmful bugs were fixed. - Changes accumulated from 3.2.8 Two important bug fixes, the first of one is critical: * Apparently Jemalloc 4.4.0 may contain a deadlock under particular conditions. See https://github.com/antirez/redis/issues/3799. We reverted back to the previously used Jemalloc versions and plan to upgrade Jemalloc again after having more info about the cause of the bug. * MIGRATE could crash the server after a socket error. See for reference: https://github.com/antirez/redis/issues/3796.- Update to version 3.2.7 * This release fixes important security and correctness issues (boo#1064980 CVE-2016-10517)- update to redis 3.2.6 * fixes for GEORADIUS, BITFIELD and Redis Cluster minor fixes. - update 3.2.5 * This release only fixes a compilation issue due to the missing -ldl at linking time.- update to redis 3.2.4, including fixes for security issues: * CVE-2016-8339: CONFIG SET client-output-buffer-limit Code Execution Vulnerability [boo#1002351] - bug fixes: * TCP binding bug fixed when only certain addresses were available for a given port * improved crash report * Fix for Redis Cluster redis-trib displaying of info after creating a new cluster.- redis 3.2.3: * fix replication delay issue * drop CVE-2013-7458.patch, upstream- Test for user/group existence before creating them. Request shadow to be present for the scriptlet.- Fix CVE-2013-7458: unsafe permissions of command line history boo#991250, adding CVE-2013-7458.patch- redis 3.2.2 - Highlight bug fixes: * Fix Redis server and Sentinel crashes * Fix GEORADIUS errors in reported entries - New features: * slaves support the slave-announce-ip and slave-announce-port options. * RDB check utlity is now part of Redis and uses the same RDB code * redis-check-dump utility is now able to show certain information about the RDB file including creating version and date.- Update to 3.2.1 * [FIX] Cleaned up spec file. * [FIX] Critical bug in Sentinel was hopefully fixed. * [FIX] BITFIELD bugs fixed. * [FIX] GEO commands fixes on syntax errors and edge cases. * [NEW] RESOTRE now accepts dumps generated by older Redis versions. * [NEW] Jemalloc now is configured to save you memory, for a problem a change in the jemalloc configuration did not really survived when the 3.2.0 release was finalized. * [NEW] TTL and TYPE command no longer alter the last access time of a key, for LRU evictions purposes. A new TOUCH command was introduced *just* to update the access time of a key. * [FIX] A bug was fixed in redis-cli, that connected to the instance running on the port 6379 if there was one, regardless of what was specified. * [NEW] TCP keep alive is now enabled by default. This should fix most ghost connections problems without resulting in any practical change in otherwise sane deployments. * [FIX] A Sentinel crash that could happen during failovers was fixed. * [NEW] avg_ttl reporting in INFO improved. * [NEW] Sentinel: improve handling of known Sentinel instances. * [NEW] Redis Cluster address update (via gossip section) processing improved to avoid initiating inwanted handshakes. * [FIX] Critical bug fixed: There was a problem in the way a cluster instance loaded the AOF that could cause data written via scripts to be lost during reshardings. * [NEW] There is a new very powerful BITFIELD command. Check the documentation here: http://redis.io/commands/BITFIELD * [NEW] CONFIG GET is allowed during the loading of the dataset. * [NEW] The DEBUG command have new features and can show an help with DEBUG HELP. * [NEW] redis-cli show hits about the commands arguments to the right. * [NEW] GEORADIUS got a STORE / STOREDIST option to store the result into a target key (as as orted set) instead of reporting it to the user. * [NEW] Redis Cluster replicas migration now works in a slightly different way. In the past a slave could migrate only to a master that used to have slaves in the past (and if there was still trace of this information). Now instead if a new slave gets at least a slot, and at least one other master in the cluster has a slave, then the new master is considered a valid target for replica migration. So if it will be orphaned and there is a spare slave it will get one. * [NEW] CLUSTER SLOTS output now includes the node ID (in a backward compatible manner).- Fix installation example in README.SUSE- Update to 3.0.7: * [FIX] Many fixes to MIGRATE multiple keys implementation. * [FIX] A Redis Cluster node crash was fixed because of wrong handling of node->slaveof pointers. * [FIX] Fix redis-trib rebalance when nodes need to be left empty because the specified weight is zero. * [FIX] MIGRATE: Never send -ASK redirections for MIGRATE when there are * [FIX] Lua debugger crash when printing too deeply nested objects. * [FIX] Redis-cli implementation of Lua debugging now allows to use the SCRIPT DEBUG command directly, switching to debugging mode as needed. * [FIX] Redis-trib is now able to fix more errors. A new CLUSTER subcommand called BUMPEPOCH was introduced in order to support new modes for the "fix" subcommand. * [NEW] Redis proctected mode: this feature improves Redis security and makes harder to run Redis in a configuration that is unsecure because no firewalling was used in order to protect Redis from external accesses. * [NEW] Cluster/Sentinel tests now use OSX leak to perform leak detection at the end of every unit. * [NEW] Detect and show server crashes during Cluster/Sentinel tests. * [NEW] More reliable Cluster/Sentinel test becuase of timing errors and - LOADING errors. * [FIX] lua_struct.c/getnum security issue fixed. * [FIX] Redis Cluster replica migration fixed. * [FIX] Fix a race condition in processCommand() because of interactions with freeMemoryIfNeeded(). * [NEW] Backported from the upcoming Redis 3.2: MIGRATE now supports an extended multiple-keys pipelined mode, which is an order of magnitude faster. Redis Cluster now uses this mode in order to perform reshardings and rebalancings. * [NEW] Backported from the upcoming Redis 3.2: Redis Cluster has now support for rebalancing via the redis-trib rebalance command. Demo here: * [NEW] Redis Cluster redis-trib.rb new "info" subcommand. * [NEW] Redis Cluster tests improved. * [NEW] Log offending memory access address on SIGSEGV/SIGBUS- Update to 3.0.5 * [FIX] MOVE now moves the TTL as well. A bug lasting forever... finally fixed thanks to Andy Grunwald that reported it. * [FIX] Fix a false positive in HSTRLEN test. * [FIX] Fix a bug in redis-cli --pipe mode that was not able to read back replies from the server incrementally. Now a mass import will use a lot less memory, and you can use --pipe to do incremental streaming. * [FIX] Slave detection of master timeout. * [NEW] Cluster: redis-trib fix can fix an additional case for opens lots. * [NEW] Cluster: redis-trib import support for --copy and - -replace options- update to 3.0.4 Upgrade urgency: HIGH for Redis and Sentinel. However note that in order to fix certain replication bugs, the replication internals were modified in a very heavy way. So while this release is conceptually saner, it may contain regressions. For this reason, before the release, QA activities were performed by me (antirez) and Redis Labs and no evident bug was found. - [FIX] A number of bugs related to replication PSYNC and the (yet experimental) diskless replication feature were fixed. The bugs could lead to inconsistency between masters and slaves. (Salvatore Sanfilippo, Oran Agra fixed the issue found by Yuval Inbar) - [FIX] A replication bug in the context of PSYNC partial resynchonization was found and fixed. This bug happens even when diskless replication is off in the case different slaves connect at different times while the master is creating an RDB file, and later a partial resynchronization is attempted by a slave that connected not as the first one. (Salvatore Sanfilippo, Oran Agra) - [FIX] Chained replication and PSYNC interactions leading to potential stale chained slaves data set, see issue #2694. (Salvatore Sanfilippo fixed an issue reported by "GeorgeBJ" user at Github) - [FIX] redis-cli --scan iteration fixed when returned cursor overflows 32 bit signed integer. (Ofir Luzon, Yuval Inbar) - [FIX] Sentinel: fixed a bug during the master switch process, where for a failed conditional check, the new configuration is rewritten, during a small window of time, in a corrupted way where the master is also reported to be one of the slaves. This bug is rare to trigger but apparently it happens in the wild, and the effect is to see a replication loop where the master will try to replicate with itself. A detailed explanation of the bug and its effects can be found in the commit message here: https://github.com/antirez/redis/commit/c20218eb5770b2cafb12bc7092313b8358fedc0a. The bug was found by Jan-Erik Rediger using a static analyzer and fixed by Salvatore Sanfilippo. - [FIX] Sentinel lack of arity checks for certain commands. (Rogerio Goncalves, Salvatore Sanfilippo) - [NEW] Replication internals rewritten in order to be more resistant to bugs. The replication handshake in the slave side was rewritten as a non blocking state machine. (Salvatore Sanfilippo, Oran Agra) - [NEW] New "replication capabilities" feature introduced in order to signal from the master to the slave what are the features supported, so that the master can choose the kind of replication to start (diskless or not) when master and slave are of different versions. (Oran Agra, Salvatore Sanfilippo) - [NEW] Log clients details when SLAVEOF command is received. (Salvatore Sanfilippo with inputs from Nick Craver and Marc Gravell).- update to 3.0.3 * [FIX] Fix blocking operations timeout precision when HZ is at its default value (not increased) and there are thousands of clients connected at the same time. This bug affected Sidekiq users that experienced a very long delay for BLPOP and similar commands to return for timeout. Check commit b029ff1 for more info. (Salvatore Sanfilippo) * [FIX] MIGRATE "creating socket: Invalid argument" error fix. Check issues #2609 and #2612 for more info. (Salvatore Sanfilippo) * [FIX] Be able to connect to the master even when the slave is bound to just the loopback interface and has no valid public address in the network the master is reacahble. (Salvatore Sanfilippo) * [FIX] ZADD with options encoding promotion fixed. (linfangrong) * [FIX] Reset aof_delayed_fsync on CONFIG RESETSTATS. (Tom Kiemes) * [FIX] PFCOUNT key parsing in cluster fixed. (MOON_CLJ) * [FIX] Fix Solaris compilation of Redis 3.0. (Jan-Erik Rediger) * [NEW] Variadic EXISTS command. Now the command accepts multiple arguments and returns the total count of existing keys. - added missing sentinel link- also pass the bind address to the redis-cli for shutdown (boo#835815)- update to 3.0.2 * [FIX] Critical security issue fix by Ben Murphy: http://t.co/LpGTyZmfS7 * [FIX] SMOVE reply fixed when src and dst keys are the same. (Glenn Nethercutt) * [FIX] Lua cmsgpack lib updated to support str8 type. (Sebastian Waisbrot) * [NEW] ZADD support for options: NX, XX, CH. See new doc at redis.io. (Salvatore Sanfilippo) * [NEW] Senitnel: CKQUORUM and FLUSHCONFIG commands back ported. (Salvatore Sanfilippo)- update to 3.0.1 * Sentinel memory leak due to hiredis fixed. * Sentinel memory leak on duplicated instance. * Redis crash on Lua reaching output buffer limits. * Sentinel flushes config on +slave events.- update to 3.0.0 >> What's new in Redis 3.0 compared to Redis 2.8? * Redis Cluster: a distributed implementation of a subset of Redis. * New "embedded string" object encoding resulting in less cache misses. Big speed gain under certain work loads. * AOF child -> parent final data transmission to minimize latency due to "last write" during AOF rewrites. * Much improved LRU approximation algorithm for keys eviction. * WAIT command to block waiting for a write to be transmitted to the specified number of slaves. * MIGRATE connection caching. Much faster keys migraitons. * MIGARTE new options COPY and REPLACE. * CLIENT PAUSE command: stop processing client requests for a specified amount of time. * BITCOUNT performance improvements. * CONFIG SET accepts memory values in different units (for example you can use "CONFIG SET maxmemory 1gb"). * Redis log format slightly changed reporting in each line the role of the instance (master/slave) or if it's a saving child log. * INCR performance improvements. >> Refactoring changes (no new features nor bug fixes) * Blocking operations full refactoring (blocked.c) * Client output buffer memory tracking refactored. for all the details see /usr/share/doc/packages/redis/00-RELEASENOTES - refreshed redis-enable-bactrace-on-x86-and-ia64-only.patch to apply cleanly- make sure we do not daemonize- finished systemd support- update to 2.8.19 - Don't log admin commands in MONITOR. (antirez) - List of commands flagged as admin commands modified. (antirez) - Lua cmsgpack lib updated to latest version. (antirez) - Add symlink to redis-sentinel during make install (Rhommel Lamas) - SORT: Don't sort Set elements if not needed. (antirez) - Fix zero-ordering SORT when called against lists (Matt Stancliff) - Update redis_init_script.tpl (Ben Dowling) - FIXED redis-benchmark's idle mode.With idle mode shouldn't create write event (zhanghailei) - zipmap.c: update comments above (Sun He) - replaced // comments #2150 (Deepak Verma) - redis-benchmark AUTH command to be discarded after the first send #2150 (azure provisioned user) - sds.c: Correct two spelling mistakes in comments (Sun He) - sds.c/sdscatvprintf: set va_end to finish va_list cpy (Sun He) - sds.c: Correct some comments (Sun He) - Update whatisdoing.sh (Serghei Iakovlev) - Include stropts only if __sun is defined. (antirez) - Fix implicit declaration of ioctl on Solaris (Jan-Erik Rediger) - Silence _BSD_SOURCE warnings in glibc 2.20 and forward (Johan Bergström) - Mark whatisdoing.sh as deprecated in top-comment. (antirez) - getting pid fixes (Serghei Iakovlev) - sparkline.c: AddSample skip Empty label (Sun He) - sparkline.c: mov label-ini into the AddSample Function (Sun He) - Only ignore sigpipe in interactive mode (Jan-Erik Rediger) - Simplify lua_cmsgpack macro and fix build on old Linux distros. (antirez)- redis requires sudo for the systemv-init script. As of openSUSE 13.2 sudo is not implicitly included in the dependency tree.- update to 2.8.18 * [FIX] Linenoise updated to be more VT100 compatible. (Salvatore Sanfilippo) * [FIX] A number of typos fixed inside comments. (Various authors) * [FIX] redis-cli no longer quits after long timeouts. (Matt Stancliff) * [FIX] Test framework improved to detect never terminating scripts, cleanup instances on crashes. (Salvatore Sanfilippo) * [FIX] PFCOUNT can be used on slaves now. (Salvatore Sanfilippo) * [FIX] ZSCAN no longer report very small scores as 0. (Matt Stancliff, Michael Grunder, Salvatore Sanfilippo) * [FIX] Don't show the ASCII logo if syslog is enabled. Redis is now an Enterprise Grade product. (Salvatore Sanfilippo) * [NEW] EXPERIMENTAL: Diskless replication, for more info check the doc at http://redis.io/topics/replication. (Salvatore Sanfilippo). * [NEW] Transparent Huge Pages detection and reporting in logs and LATENCY DOCTOR output. (Salvatore Sanfilippo) * [NEW] Many Lua scripting enhancements: Bitops API, cjson upgrade and tests, cmsgpack upgrade. (Matt Stancliff) * [NEW] Total and instantaneous Network bandwidth tracking in INFO. * [NEW] DEBUG POPULATE two args form implemented (old form still works). The second argument is the key prefix. Default is "key:" (Salvatore Sanfilippo) * [NEW] Check that tcp-backlog is matched by /proc/sys/net/core/somaxconn, and warn about it if not. (Salvatore Sanfilippo) for the rest see /usr/share/doc/packages/redis/00-RELEASENOTES- fix bashisms in pre script/bin/sh/bin/sh/bin/sh/bin/shobs-power9-07 1592465590 4.0.14-bp151.3.6.14.0.14-bp151.3.6.14.0.14-bp151.3.6.1 redisredisdefault.conf.examplesentinel.conf.example00-redis.confredis-benchmarkredis-check-aofredis-check-rdbredis-cliredis-trib.rbredis-sentinel.targetredis-sentinel@.serviceredis.targetredis@.serviceredis.confrcredisredis-check-aofredis-check-rdbredis-sentinelredis-serverredis00-RELEASENOTESBUGSCONTRIBUTINGREADME.SUSEREADME.mdredisCOPYINGredisdefaultredis/etc/logrotate.d//etc//etc/redis//etc/sysctl.d//usr/bin//usr/lib/systemd/system//usr/lib/tmpfiles.d//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/redis//usr/share/licenses//usr/share/licenses/redis//var/lib//var/lib/redis//var/log/-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:12906/openSUSE_Backports_SLE-15-SP1_Update/3a31883264f08447e26aa194095a6a72-redis.openSUSE_Backports_SLE-15-SP1_Updatedrpmxz5ppc64le-suse-linuxASCII textdirectoryELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=168925dc9e5d90e2c518cb38c650589ca560125f, for GNU/Linux 3.10.0, not strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=aeb22d97a00f5edb3cdfe59bf7934429a2936c47, for GNU/Linux 3.10.0, not strippedRuby script, ASCII textELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=e9297d619c0226a183373a8eb66f40d3653db669, for GNU/Linux 3.10.0, not strippedUTF-8 Unicode text, with very long linesASCII text, with very long lines R RR RR R RR R RRR R R RR RR R( -H v5.ڛCutf-806dd9f8bde1c5e57b0678132f09d89a461625cabce013ee6b9fe2bae5ecadfdc?7zXZ !t/T4]"k%n^ D]P$tR&q\*ɺʬӌӅ1˥zҷi8#83 =€-%<N,yNyMPM,U:wH"l$*ѰwDAΣc9߄T)*Ձyu& .E6VXB9xIpQ=d<3!M>i"ڱΚCr$uoRW>Rg%n\9ycdΧ40ZN!D=O6j'ڒR !9ֿqE;( vϗWlػ& W^ qc(AJi>=ͫ.s;0C5c.! igBQ)K o$ ]ZS̍  s-ƳFBrhiDBv8ykJ @!уv^] 5[Z1 Fih@Ƶ@ vӥsa/FWM37"2|QMB)1'yԃ8Դ#k.y"&sf+d`'[_!#yShMoS+hDGȁREyC'A-ybp_MoV\+t+Ecww;[ӪCz-t J >cee"4AQju @; XhnJWaf=ڛwKq9aG ~u V3UןWƒԌZ2) Bt7m+b NjABC EhDh>.A<b%]l$Te#/4 <ݜ95B H@~9Ib)a!zݖ୘'>_,Sz}v`HP7ٲmt p7h oq[4-*^MT@ ,7\POIrJiY[3s]?sO)"h8["XS]^߾|bnxV)jƾW\c|_~M٣>5k]]7@!q|l_en[daKEOc򥃑;)J.X#~F]]zvliEQwlD/P͖Ч*Q)A<7.Ց||ޤ\sX*u{m B+7lBUJgu4miA=x8I b_ow'ys{5 M9*9%MB=)@ߨdDi% .AKM@Ra[XzJj}%#6/E]J'h+:ֲǞkba; O Nrp~.w,< r{an_>u^nv诜Z^30emKҦ[[̀98ej`l*TwPNzσ~P*OsV-bP_ҕ~}y-67 %)v̌hݖCa!d8fYb! $`b^ s9&nK-TMߔo8B_/toKdxw,+(! Z!WcVY|͎;| dyݎM.lZԒ^W!tgSVA݄!UrR+(m ) ],L2p>@ƄC!UTGqd~{;:Ey79]c2G,n?^Ppu1@k$81 >% pT''RSU!wf?fڡ]E[p3Zx<`ס@PݷGEu)X-ǧkW,r& !sB/%0,P}hXI]WKɝ̯]3 l Zn;qzJyQ= 7.+$}Rه Yf\@`OyqW (Zo1u_sMaﳢ:NF-OYVm@o^y& ] `af蠼h$p7I^M18šb,9,'øz3!fP9LIy!;w ޕdv_$S o CYE# y6܈X( 6ZI .R$J 7`h8K|1[ e[I{;4x`2oSzl kʀK(=|v F;VpQ фR80mXqW\A}FZV 3ЎR !|1pwy ,Ke_`cpQ^c8Qk`N6b B"Bu)7.%,9߻bZw(,>Yϑ q=N3E+{3fs(v ݾrN-LNjtnVRZZw1E},<@'W\ˋQ\.4@R^lԤ`ÍuX%Eǰ0Yqcٟ&;DuDsoRpiޘvxצ|2ӡ0eM譶gqX̄$y2%>"w⻬ٞ7cB]>v)܄]6qls!:h(KB<|o2GK3 -(EXʓګF.ut-`d3kĉ%b≋[_ 4CY9#Ytm+/o~jZ-ҧ@r3I+})aHd>\K6g.%X2wO߁2]Rp⍙4JVL&_q\#Aq'AuM H1<L,cO:ZH7$ׇBXJ!&WJ+$$z r%d4}<$z$ϐoLwW{W7h;Hߕw=*~d[#|PǥxϹÁ8Wپb0 :cb2h둄4L8E]Ưg i/M|*O{k=Ġ'kXsx 22)籉zx{F4H_a|/ R]#[_3́&r_d@`0B5~ ;yx^ފW*//K aI3`Jk%fb{u/WLJ@b7)$xÿ ؚHix)o~_:Ba9"10G\q W` Ts zO4B/a==K+!p@p_0rAB`W} qb2ǿr fᵅIs2,fsE{92u|v>/Pzqܟ0 gFvDM~2e8CRoH:&ȷDWsIߜ$ͮeu^@'Vymq6 #zd8;!\FHqz2-1r }9\ŃIoșJuDC t;mގ 2m~ևYQ3ž碈C:C,)aSPh2pIƑ<"69ʵO^HU3bfz4*S9fJYʇ$J߲L24K$._?[F辋W(Y=VdjaJGҒDu}|+-Юۦ>d+kIӖ` ?.Z6;]ytؑjWk'9HToү= bUh0OMe0cahvLsجNFCV!Iv~X7=&_0HhN+?sRUcVQ5fl)ѯfYԹ2fahW?v9K.@U؀9 \:S[`&,y[v - [tꓽ&~LZ{oy9=9XMs"Lj~ IE # #.%}U% h7mӧٻRkϋ^sOu4x=o^+,VlW(CC߱WWe~v *JgA !ۤ=g#]%7X gn徣3y_V,6Y gFpl&ho[UϨSߙ|g0P~F^܈khiiSR4 R`~c׊9ٵ-SS6{S<磧 .,.4=,Gzvp> /U)cKD7uWQ=A@k7?}~ToEfm2(F$^/oߛ3/r$Їڠt-b}x/఼i62 X@[dE]9Y)*sIw` m-QZ{i{33UB Oj- Muħ^v>ò懲ok.p.0 x4sؾgsAs$f߂z144ͥ^e@hF1j2lک!mȃZF2>x ۑ 3h6QA5_^BY,]5u.cF҃+Ɗ^(#T02A{qNQId (챲HYV1M@J:kN>LJ`7YX47eXR("uJf' qD= ?ZP/Iv56#dC(&zw%)M/!yJVv?1',)~tę[Uce)#ZyRC S0aB$I3 q,ƱhaG2rT!WsG#40P B32jGM wl?ԎGj^` Ɔ7;FJՀ`0f:mh!4|4u1Ah4]\_k}K  p鲾0a t;Ĺpuא4tgDR-o">gw&j,GtB<ztWmNph +1z[=W'a71?y0!ǫ){٪NVKy"|&It-CY?!#Lk\I8Ay4߈/LA5mA3%ӻp7܌(JXۥ). >P2eH/*q TM#hX۶ R[4lR,R?#i5Q>ϡ+`IdzmO{=:1GԖΦ .fPLhHs5f>.Zؔwo*Xj?ӕ<9h"U-7v/bgK^%Ȳ=Nש oBb71K/1FdċCPSXƧy2C:?0H:\8z6r8zFv@;|#M5'QPvkKL_k!@3BƈWQcښ=oE&Y:fy3Āl0=9ix/^:'{Z Xˮla7>S->٣6Ԑh;PBl}9b4L&N9?Y|l[,bX7̎1}.S*/{CNbPFfjIʰ<̜Q V#4ZVwafuUdG3n"zN AQr6kuYlz)4j'[y'_\bh)ϋM1ŕ9 Zi굘;cq^=i&ca x=λ0kd@)jXD^B^P00n6ǪëˊuGqt{f9ZK6hه,k|w,ox^?\{DV?':\TxIP9;ԗݓKM"c{__R#PG ]2`&v-d#=Uꌺ'WH}5)BNnx7ɊZ|f)۬=ۺBR^bܫH"˭{%8Mn^ao] QYhz~MѫSi"5+Wqèwhৈf7ഝ/ oa$"/rfzKL |b#ӄ=)$|]35[;-^՘nE:YO6]C׿V9/s{jW} Ҋx"n]n(;oP=Ie,@j%~ܨ׊C|Z DzXF';*+6ڡzq;]RY՜7F0%+ TݕV-N3UZ.V0J8RܦvxSj5.;Z_ Q͒T5di2_B\Ѡq|HXV#N&i nG^hmhVNE6ܹpJ6,e5kUya{uxUzD ?8gYw/E=U`~f euJLP|JaD1k1Nje`ӽ\X|2'zҲ#\1xD mC_#.`iGl5!s=~h۸"MG1B}zɲFГ%AsJX&r:K2YA[?jplafn{3YQv4Gw]ɓ}}0 D܎LuHd{W *$ʑ4. t&gzwŞ?p"BY Ol:i!KfVpCP+%7'JƒV Ð݆s+ڡh_"i|oȖD/]s {:&Ney@ Oy_FUfzEU/au}H4 Mҩ6P+m3-HA+@)=ej T&'#C[?&  R7ڗ(Js dϾZ%{|il(W p61$¯Pa~b?P,T}\o*#Vda~,(xu_#ՅSۮ:,o*%^V8/x{4͚49p5=͢Rt`}d_3Ӽ͂45S֏/H9N7iΚ\c.3VdCYvaW=@Փ>Ph] TaI#z{<Ś>oU}BZh鎍w}LN&+Hx^F"6QKBεJO18\͡B3-̘6 jewUC?: `r/5(& w|Ɣw8a;!a/ hL6!MץS=8̞A |&I }  p[A6 oe+=cQ E]g5q= zNUS]o,l{\1+P'٠kI\3Znl6ԤTi{ C;RpHu\o+°.Xkd _Kz< sо3XSJst xw 83mE쥏|w)iEnӥF cqv1|?*ݾrY=I;oE,7 hb=?V2-?uV[zS̬LF%KRa!A(oVqcN"4Ry|א{gG gZ;~ r#);?~5LMiwĔ+]/ϗ9V#*PB"h4 J=>U|f{mMн';#VuR'u1a%yJ9;[4U h|fHJ.T 4" <:*~! @&Һ7N0H>oqnCs"roϡl#9@N=,%A%OitoR̞ a=js&o$ƅz<΍m`ݳL>1]1zL"gAd7X5i ȏtVqBPc7hR۱wj<"}qFAh~:/Ch3Vr EnEQ?3#AF>B;Dqo?,:O?E1p`Q79,`+ƖW^F rp|{4`B@8;l0O&<&"H<92\L;F^ؐ^1Bh&@|(Q U؝[ԍҮŗ ٢!%/"sD ][f$t}Pl&QꮟI8~Zg9Fآs ֙egf~nFHcK=_d_>^of ㇊R4dE57 ;ʤ @`6p92i&B =yzXuq᯽4DɌ#ot0\CҐFgldo+uB]]k:u)͇_ WͶ|l gn"9p0ڙ`mp[q"<ȒNT@rhv|㖆MݶgP-Gm/L˖i42 "D&]dî-u}{|~A ArUtN x~_ThIQN̛2m)--e%1 UNBLÝxXw܍o'.Ra?麪s˃r"2plNoj iIJOm֪?gG{^b7!UAd”ɜsl;ݑ:jGբWf;$Sn}J@t9 ?. ~#R"N慳!y;#ND;.)a(2mQTX7TMo9m1E\uбr#4{Sթ,#ʹG(uSKʹm;"}(J n]dld= #ͻB d?)N 8nb=my ,]?$#_nze>2Ä a=iqMoPe{>dqs"_ijî3NQLN/go)hK#5^nlzMƈrw9z;OqWSԄJ%Qy+-. "9? ozD+c7Ĺ圴+fכAoUǝ)b!Wdix#f/A}w$'zXޫ6|+si"kCݛg5m7q0-yR7$|ү\Ѡ (6|YbymK)e]GCc2 jY/ 1賂 qWqH1 ,h x :lZXFQ'Lj.Ec~K!-<%ApՔ/&iGd.E>ASsTTwzIGt^/9T1ǷK;HߥijQl@> &Ğj]B ɚ?pA.HUp%QA;V/ZpTg ae{!$5Sk_WKv"WͶ^abUGčhC)XA ʔ*}JP5ٯhob;cC+2_'ngX3r*ԿiQ+W "쵧rǔm'j$1:PiS$EŖP[@84G&)զ9bIH2/0rQ"E9Vv7@yn,cYVn^@.#KNamKp{zd#.-l";54 sZ ':B$3nS.2٣بC \[g$OK{bV;4'(1(4-?v -ǖ۱8#@ gCR3'c;/_R j۟vgUYZUO=]x~>j8D|>hË(zz2]o\=2b-3b!ѻ|nQ[W߻͠I`ҟNBCV4g9QZIi*GIU-M41b ?]&p܉{5I[-tB{=]e _:FCӳ^8|:INQzq BgKx E?_#lPDC Ne-uArphn%%wxg;_plM5YD2]GT?\y3 Z턚?n%/4C <}%CrXuI&$ ;wA% 3zPjyBqܥC"])(݇NSN4w}~L-ì{IFb`ܲHp%x«%+Mi6@/A'_eTT ~YUj;Rh 9?J~Bo[\hnP~)ԞaDy _ H wXЙ9.)|+iO@It'(Y3 *%7]6Xoթ p1m^W)/Ӟ KJA]Tz\~^چ19rkh(`r ^WE%Z>k ygJ+VȦ*$b4̓'P'Oѷwݳ_o䤖V?ٱ&nc0٧a7!PK+ ,l?)Ј]&MӚ$pxEF2DA\Ts~ȃ)=3K|~k3c (Q9TlW@ImCA[Cߵb ` dzx!vԌc^ nj|giXLKՔsmp9lrٗ,o)[cCi序Vt rf=╤N'~9CJ*B``VS8lij(7CE#3(ƪ@ި; '-߄װ/ 硶Hi;v^F:7[G#86Zk-0TAirbS>5 \mKhȜ,r[Yׁh1ᗔ#jV0!3 9▎E cQ#e 7Wxނ ,Ys];W>FD G;~NPRrPᵨ s1+֟cLMXYEC1x|Jb:<,2.(aQeyKobA |ՇSZ!x$t7!=q?dئ#0i%S/mu'dcA::,h.s|x,D?U  9Мf#6{`fq72PB F]x6 & )G1BPGzGqAu#8 OU#;2#[\!U:{oSrNoCf3Q!HH&ΦY@vJrc?Ġ6[2\VS\/W@.P_K ЕVmY$3[`a_T #8Em`fmot)ZB:Ju:7|&4 Ժ7VQ,r-N|l1 Q 8|wO9zIJ"10m&Y)iVK`,dA-}C+:.p)}ŶS8.nU{-C0D T"[-3H͆N> vX8 o'ye-vv .I`y(gR[q+z{`'՟r8Hi ɿA< C_i֔"Q)enJ۬dխNFi P :=:tNT:3!P61 6U$H1) @!(+mG?g +X_ Z\@35}@-7D_Rkb-5'.wU>q%{8c/Laزѽjc@$bآ0,}{Čy\211i=: %?~,߅!K  8Ot@Bb@[шR-,>:=֜,xew], ۄ’ߣ4$=<y | ?X4tmwO9E%-arbe9nM'&UK?TQ;,qe_Sݗ:P~XU>C'ak@M0"8Rf\ͱ~s'r+ /l"Vmhh ^Eb5N ]tkN03h4œ'&[<к/LfУ̀N,pA# (8FfQp_A=ޕ+#6U߿96u1Wӝ(  b꿷m {^nSܡQM]{#+B nj)2F8bS[bF^=l +k{C*rk799[õZӫ-f)[$eY`IGȃXG_n8dsȝ#@5iX$ȸ#d6Rrh?ﭸx3l(jawYv":5y$~W#k=33IyrfB[͢m=^VrX@o2/(@` A O#[H ;U;k_$ZE{3W3^d ݹA2:3a=J`a[W:V?:(boot8=_.5_z p.MpcG&xET]/~5#"qikC,SSa#@+Rbܴ6yQ3j1c$0%w\8. t*3yʏH`\mpUnJ=j/}v߰ٮݍe[woۃ氌f΄ރ B|قKHDã^ +J; ӍḘhFD \6› + #%Dޖ9\kE7p5c<~W9}̰\@ Gm{1(V2RpCX2˦nao26֤瞔Vn+w#=ϋ%2Ma PZpc,Z] 5})OᕽtdWIc '*}KKf@VOi;f,Iګ'v&~݋MdM++;P̨̡,;J(*Bi!q)~&eӾnɭjopV #we0+PWiuT7SeI{&9ծlfi|mЉk4 q2?K%pX/Lέi5/YVCf3Z4$ bs$iu86+P/΅I umkMm7s җ|Vg}Y /_8naR_7&#= QFQ1mKl#?+:YeQ;]|bXQ^. ySf^a^A[K6qޏ9s'T:7IPXT#(OMQDn D_8Uʖ o =n,+S[N"]`,`_EL;v+*9kfߟ4%* zڱuF_c0T9ꠜZ Tkc6& #"8+@ty+$Dօ(h`ri`Cg2~& >X pj?WaI pNwvsanj,TH?B}a3fl1ݷdktWV !3YzϏef6 c8Eng5Pbćx`)3Gfu8Q%Dc VX-cOVHg]Le?vpQ}cMo\ q=Y KX=9YchI7uaM6vлvA'lά6GLȘZu&:z YAZyb%ywN)@`nx-2d e-{^r{}&vl ]n!&'Y3H-iEU=N n޷m@R X*ɰ-)bqr9=9iKI*Mfeojym˲!%ˊK}MhQJKe-5ocgǞ fnsHhGcd$Dى GUD7ՃuD*v#Be G$JIڄ󅆶2'n-uR:c&@fҼdܧ2R&\PD4S(Ȓ|ˉlDGx[u3^y*J*J31C?4!kNz/4uu U i9`:[3B/g!'q. v˘""+ĪhQAW8RZ1IT,5zUXK,NIa//!ȑfV?"Ǩ\W7R%d;)+~Åfx"< !c.Im_;O *L$xz!8k sWJh|%>KA}h  Gq*`s\{,W,Q m.{ JKIQ"D aY 0mU]\+N oxiS HS+KMr@AfPl|?sz aSĺƹU@qIH"C| }m 0xDkfR c ;K#`{d$'{9Wb ;PZ[YN"U+O*9tc!`5: a* e-n'|p@Sj2cpԎy>6V.U12g],q>'"Axm^wkИվ'd[_m˜ (N@QUAn6+}8+jG#N7BGG 78cJʁMH 㖟7 OS0|ʀSf-b @@ɎUY)tW^'0F Ճqpsx3땾V{ρ/g " %WYk?_[³F{쏇›#L˸|dCDwni`Y}w6E b ^ϲn;av*CCyaQ"neGZnْy Tp03 F[`_J&]`7bb)بaH 1;md X:xcNtjb0ZcN##]ך[d⓳ЫBFsMtL< T_x0ұ(6w EFY%Ľc0%{YQQ6If&ԕOy䶱*.dxBQ%3Tnn~!L@9v8As Nf}'SX(Mq3zRnjt AA{`JzѓHN6n:%h_ I;ϒ.zT(ӡ0]PcHΐYڶ9hWkN^a:p:!8A&+od7`{ͨZxS EcaB]mqQmɒ!w +|pIٕ/scNq"g{-zOpOW$3b¢_H~oHC'(<]ZmEk~i3f~)a(jX/nN?ȇbuȎywZvPֻLȞz26|j,N=k䧎4k!PcfXѥU-$0 CgniCX 3R.GXà@Oqu%ɡM:ɖGL!X3p7`=5ڐ:.%1o5=t!gUԯ'mC#R;0 ?2^?+]{r叉Ҷؙf<|˜b;w%R骚 7%:sѷTiISlaodޫN~귋dTWO\M_N O5ͥTLSlʃ9"즰OAu}+O: Lo@|0 pVFLb|OWe<\6 =m`Fko1vͧho\0=ZUOPPηZCY5dRTy,]КuꂽH47+8:%~5Lm[q4ҨaJh;v3D~Q]JL:ECtkNTh\۷8^B7u֨vf-!glـUM> C3Kqh_cC`5JX|~b"EgOhG7xGR n{D/k"Tmĩ.[qd a '`ff{?&n!-:Cdhxə7uNuw4xG?;ڂR(΄wp 9~jZ\Ï'fmܷ TL1ZKm[7e;GwqTx©%5Ӻ \"'C)eYbnSjoڨ7|wOLusNX7`Dh hvoOo52dybܜz@׃/hԎD EB5_I[86Q |'!мF'0:9ⅻhJ p,7] 4Nۓ-xMf:ToV}LwpfU._c!bJ)3ΎgJcDc*GzӺ#xy:wCgn޽+uד|ZȾ%50g|uuvuҙ(5"y3|LJyYcx:7Gh_߿#׺ n/:koK~Ja>8,3(ko0@ekQ:}= *m)p@ @' dFmú~/ŨHuLecpB8 P>)/YߗvZ`VqiBskkV* quc3m'XaOuFe5=}v2ƉQ_ Qr@ṽ75T>1[#jj.y _֛~JC;m6@4ycj_c~ >yU:>skK,Zv1>+}B.^7a?þNONrkMu-> * (G{nAb6*=O5Z蚘̸.dhx-2Ìh3j Q3+ R.@TG :hE?'Ӕp|C_lMe},%ޓ Z0/NR(M-qx5xolWG@4xCdƞɳ%avE/^ EMN@`Ak6Gx|srf*Mx2Q>+w'}s\kxan0:bu7.a[,98lf \ά? @%}(魦b]vH fr6u% nx߯BNE,_Yѐh;Qc0U/IwY(iϭ }`/pQ(]wfx&s`z";wB%"U5(slMǯ[v3t>Kq3Us(ƾ؇Kw3j҇=b jy(|vY{e 2m<]dI,l?]XmpV[($8.a'&tØ7)kNZ4EqKl!0 G >$NӪ^c5 *.eRu. cBf8,=+)6$p~Ðo1= ChDA8b]`.: (ovglSf{ IHIUE;] i-̥ԅH>4/lK c6Rfc=cA7i-˔."9FWbziiF$tv.0s-W7W(F~aYZ cG4tAxPOŐboXMPt:84OLR8M iWPMH\ra+'YUnr/ć4o8]h6%$GY ]ny\jqIMddXM~U dpsI8V}kZMhVS\i0shǬtF}eC5/iV;!0F9Cż* {6N2nJ̆R4+ XŚN^.tMq AOx599 踋Aur> /Z!D A$XB{] J @_ײBjׅQ1 Ƥ'93o@4<>'Zߪ}y ?3f uwkӻ=8l%@\h~?QlL췍ڑ' `LsTT %VM?"TUg?K`mj_4Jkt'.oLXX` L0M)&+|Z&ur*GƦW6R nR[lh'eQ2F&yT=pOψ8=/rϴ #^uѱ&eë&=T7Xjȩ}"7hl? ͫ8ۛ yD >05UF]r\]vs2GžaZ:"+avUwA_xfTTBf d ?rT#\ǁ^jK._H&pAi4SU22Z0S5AnPe!4]DU_!6z <H5J)k6{ޛ"P'kFk&G{eux%٤Q?wAǍza-Cw*|MwudQ8z?05 D8"w Va~4iQ%!@%R[Gv"rxZH+nT1Xnc,;Q.44h^Bg hPr}&$ï"~4t[Mn Ƴ;aPb oO[B+z,L,7XI-ȣ)~ԤHsy&X:L i긥E0)g3dl^sfpӫSXi ڙ 6Z$,,W!r#Ka+v]kpHБ|`}Ld^;D3U}ۨ!DR(k9dqn$-ʃ =ڜp&ԷuY2zyaSAJXW* ܘ@Ca*׼3ʀyB'sl.?%.F#zԂJd\>wd[t>`9BƳ*FxI|w Ln-\)[ m==Ձ1$d)mN9RPQs]OZʦHYw3GL3Q ݵP^GqmFH[F]6|,tTQp/Y t ">o>@eb힟kkvyEw-''o,7)Q̪$U~4W⴨S-†d6IxKHcRu.*0dg!\V|YXI:zM"a[o ~#U}b.$=R/ aJwOo1F6fn.A)K%%e-SL\cDžQrWV7'1]z-t0cض'|6߆Ɓް!ULirS+OĈC A *mDAϙU c=[ P呁/?3>|RbNFWŪšaF jk̹y8E\7D" sX̚DZ tkh/6jpL<͒4Y,#+\1^V М$ٚ\cBePgA2glÇf菱}䞤ohJTzfUuihd36 E9|t<уT" r:"Uv/c5agygۥCZmFafNg$.`X]}tYQ#'uBYi*2AfZFQb.`ĴUǬYW gzʲq0^TbIv~1Z8rU7n}2KkG\JZ;w-:UXknRd t9wɘP7eo-kKeNJF=w6s=oҔ.u>F0\w&ƳkʅNf\;@B"`6=G 4a?KrE JHhCړrmjvp௤z? _]`Ƒ4F? dUN5y%Gݵ6g*2 "%rb힕Ӧx}P' &W)-:\UdAi8z@ALҷZ_04pI)%wXmg>oLc;fKPx1Fn-enof[ i8BI`xoٶ4?/ xi3+E2^t m/+]͑饖6s!@YAV3I&0b\` 6?r~dN*[="x/&AoQ1xSc 6ZI&TQ za;DQl(;g#AL1 FTtQf#I,Bd{i=Y 9i?91fV쁺y +UݠXY)`2[p\^, sU}5թ_P/sΜ40fAJ鋔WZrkW{'gG#d!7.BsёCTo]e@JD,xX ;I^P^waK(p?Njyjd? 0ŃkTT4v*nz"VαU8R0{VO7Wzz~߇g+!.-.fp +]p@S@}ޯ~M 5"ϟs]OE0Xxh3?xkmہ/=`fxa?,[j6H|&SV9ۙ2QxtGYEfG*<ɘzx71h2uX&)3ƝxfwT$1@x2PK'LxogRH (to/n;r}2XG)[ThHPxz p =2Z? Vgu_{y6'|xWι4U:<ĴU*-M7'7s Tg\()찝?fU/B|IU*IY(i K(IFXBBǣ2.r/?rI{Xr^+\2:|GT~"dGoaa?FԌ3!uG͞V,/2mO5؃: !Nzeg5Zxy`0b>A=*ͱ0L'?ȳ jP$8rG_V˜ʤ3 cxzľ!2q}ՊÌY̪ݶ̚~C谐SGbcW` ߞhv*!G$33e:u%(P W&A~ Ϻ>O*PU1tKzD¨ h Wኰt((f޺H~:[D>AdDAPr«HSnVp*w!SR<2>-c\N=q[,/ ""ߓIw/ӏB@C;Е=|^&^̢>Ӝ+|<]!]zJpXXe[$rWnFD)YIpdkqv ub^7;0O,ц\ަ\-lS5Aki¥@rS.2IA~TuE\:1U,/.w[0a9.h _{_qC%Ȑ2]_Қ2*w6f9圇oBlm:*X&92)ݜYPUK' ϐ % C~0Uq/]'փLe_N7ZԐfO= 5 Kѧ m7m[pxͯ'3H9b*Vzuߊ:F*ПnNY}ԯuIS1IFs3'Ts杔 4'FH=ɽo݇ƭV+Z3l{8W޺~EԝU=Ó`C u{()u(a857!n5:sB)*bOgb<']Z a' _dA{"t-r0*eVM8p~Y#p*}Gx,f)&,|A*hKUt9"x#pU]doSn>݀V^2=&-d/PxWfINxInVi :t,< ±mPdeY$8 5d1sprTO| 0#M1!GƠӔaoO?1}#h2{A@8ٰKk̕J6pDZ<:0za0_ճ;~-beL yr55!HN|rk"Om j}:5<%mt\V$TmHxmX@Lv|/p$ "^F c'Eb`R1mvvX @ 7u/њx Xt# v Fhز6Ò!u"rp1SX_\7͔>cXGy3Tq\S2ꙩn'l_"PF&C$ȹGRZ&1V85'rLSj"yi5nMԒR[FN >\aYU>yʬ5a3YذH;.o? (N!x H8z:jBxeo-).둠lӕATxݔXb%9V AoNVӇOaDiIjU4oQ8" =Zt=xPat >clYo.DEsdgy41iɋ[quak1CNT j<*,GjI*8eqIz=p-7#fuCor& Pcf퓑F llp%h a>ciExn"6("n 勣ddâ=а'Bh"x7qCV~_R׍YI#ze@E@jC.ICrjWu:Z1/u8ډ{IJ7k1&s}mŗ-=Ś=̖"ܗ$e89 fpaUܸ08 64ý]b؆y*E-~kq+35.hǜU_wӍo}ϼ; FFlH?hgAqAҔv$mP[.ߞloWoϐ53hNyp]Ztc ݊ฏ3Ch̑ wl8⟻8066ue,evc}cxu..k5Ͱ1fx>RJ:4o^nS҃H'QX8enKGn#'5b.%x:z,Fk]Bcp =r߮cNMIҟ0hGo'Rnd`_4'Ֆco峵(̾~OSh3iH nI&~ 1۲x70d5-=9(~4&Ōi-Cgݷo9$ʮmBCr8m3uX"i.eP`Ytŕϱ7Af^o.# H-CeL9H%d7AtfZK*tP: :Yemd8KSϑ᫝zU1D ? Zֳ_w<:evB8fEU_-6jӂ#X$uD e$DȵVS<+ ZwQ?5$ieA= sC@ny?+/jEhӃ<D Y- 6TK@ͻyU#wЕVkn;U TДT?uF$\1WtːqCQSaRpؐK//) Q=/^(@0,PD 3lSp%fdfH{3)fSlVcACz5gڭ@E1 Ο\`p|uvM쳓]+mz;2)}TNF@Lqg910֌.o%qHJ dӎ]p:U &dp/Fdup7|*u(ۜ\yy&,ZPʽ6FbdQłANY<܇ +|c$s)eHQ^}nYXb dB(cApp4Wst) =p1zk\b2(Jqs YZ