multipath-tools-0.9.4+71+suse.c648a77-150500.1.2 >  A dRp9|4Eb+7F 2<p]Z>)BBf%u~[Xt@D^ [:X.L,U~EtL^_ZR4cr1Fl\0"sA R cO8 nLJ.yP2мb7(8t΃Wv \g&q/߭X݁9 7ov]q uW7gn`,Ԕ5c1?cVN Suff908b27a250b93f0327dcf343ed214a419c41e03bb0e520f894227f049e7cd5eea741c33d302393e82654fd6bee710f644c6e5fȉdRp9|Qzxj7?el|Йb+ʲ:Xq(KҝGMl 3b>Yp垖[ 67ױ[f&e -(?qNC(7P5F:LVCtKE%) WM/ 'G)VhcWH*PƜr3k1uIQck(a\m0E볰@u Yp SSo@!Y~c_i jUHBz(t ġ˸PԉIӶL@"Ng)|>pKC<?C,d( 3 n *L bn  ( \    \`099 9(!U8!\9#:.=5>5?5@5B5F5G5H6\I6X6Y6Z7,[70\7H]7^9b:tc;d;~e;f;l;u;v< w@,x@y@JzB$B4BBBBC(Cmultipath-tools0.9.4+71+suse.c648a77150500.1.2Tools to Manage Multipathed Devices with the device-mapperThis package provides the multipath tool and the multipathd daemon to manage dm-multipath devices. multipath can detect and set up multipath maps. multipathd sets up multipath maps automatically, monitors path devices for failure, removal, or addition, and applies the necessary changes to the multipath maps to ensure continuous availability of the map devices.dRts390zp31SUSE Linux Enterprise 15SUSE LLC GPL-2.0-only AND GPL-3.0-or-laterhttps://www.suse.com/System/Basehttp://christophe.varoqui.free.fr/linuxs390x[ -f /.buildenv ] && exit 0 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 multipathd.socket multipathd.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[ -f /.buildenv ] && exit 0 [ -z "${TRANSACTIONAL_UPDATE}" -a -x /usr/bin/systemd-tmpfiles ] && /usr/bin/systemd-tmpfiles --create /usr/lib/tmpfiles.d/multipath.conf || : 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 multipathd.socket multipathd.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 if [ $1 -eq 1 ]; then [ ! -x /sbin/modprobe ] || /sbin/modprobe dm_multipath || true fi mkdir -p /run/regenerate-initrd/ touch /run/regenerate-initrd/all exit 0 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 multipathd.service multipathd.socket || : ( 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 multipathd.service multipathd.socket ) || : fi mkdir -p /run/regenerate-initrd/ touch /run/regenerate-initrd/all test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in multipathd.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 multipathd.service ) || : fi fi if [ $1 -eq 0 ]; then # Package removal for service in multipathd.socket ; 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 || : fikHXqf+"#.FMH ) AA큤A큤A큤A큤dRrdRldRldRldRldRjdRjdRjdRjdRjdRjdRjdRjdRjdRjdRjdRrdRdRrdRdRdRjdRjdRjdRjdRjbfb6a6cf1c4aaafa731257b130517e5ec5c6d50f5828da4738da396c73ce222de5dd0ab21cdef52ea5ae3e2e916b1ad290e6c936fadc0b16139855557e740a864b388fc05270a2f3ff02cad900f50ca3f214d63a09f42a84e00cbc5064cfcc4f3b6d5b76d709da7e1ba3a05f31cb657ec938c9edb013d83aa6e58b4dd919ff33d8bc9056cc786834bdbf7529bfc3e2463d985790d4345f32ce5bad142e2ec0f363ccca50a060f5fd723622ccc51364015b7980fa8b9de63c83802c9988f17c2bae60d39901a388fe0c3beffdca1273738241510165d07a9909e624d6e017ff60806d7605ad8dfbe1ccfeaf7113ec267da9e8c23b898c4ac9c77d76487a0ef9d87fe3d6ba763cc9a45e8895b134b7759c27fb51509b9eea0c5f09b85d4391f38aa64ebde32cf756c2925ad17f557f343ae1d7d8e43f5b8c93c24011604de14a3df543968457224a8cf718b136412b8eddfeff54238fb7a1f6abd6ed490d8f3ebcb8b4369c539d6a61ad2a5a359a1ecdfb9f630a89590216d490314e19bf07aa0c8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b8806433972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986360ed86d18d490ee35e069750f405d9a66a3651b798101956d89f3ab6a6b796f709f3e521ec691b6c54349fc49abcb381867adde9a2be3b28bf176134ae411049dd719f8574d5b5a7f8a0e6f2168131653457440015c3ed90b127ac19a3112dbe9d551a51616819675cc7a9044595e6b25c50ca648c83297d4849ff2ed553888860261617b3fd8a1cb734ff1560e4773f0357b0058dcfa569e750b692dd9dc83service@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootmultipath-tools-0.9.4+71+suse.c648a77-150500.1.2.src.rpmmultipath-toolsmultipath-tools(s390-64)@@@@   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     (kmod(dm_multipath.ko) if kernel)(kmod(scsi_dh_alua.ko) if kernel)(kmod(scsi_dh_emc.ko) if kernel)(kmod(scsi_dh_rdac.ko) if kernel)/bin/sh/bin/sh/bin/sh/bin/sh/bin/shcoreutilsdevice-mappergrepkpartxlibc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.6)(64bit)libc.so.6(GLIBC_2.7)(64bit)libc.so.6(GLIBC_2.9)(64bit)libdevmapper.so.1.03()(64bit)libdevmapper.so.1.03(Base)(64bit)libdevmapper.so.1.03(DM_1_02_98)(64bit)libmpathcmd.so.0()(64bit)libmpathcmd.so.0(LIBMPATHCMD_1.0.0)(64bit)libmpathpersist.so.0()(64bit)libmpathpersist.so.0(LIBMPATHPERSIST_2.1.0)(64bit)libmpathpersist.so.0(__LIBMPATHPERSIST_INT_1.0.0)(64bit)libmpathutil.so.0()(64bit)libmpathutil.so.0(LIBMPATHUTIL_1.1)(64bit)libmpathutil.so.0(LIBMULTIPATH_16.0.0)(64bit)libmultipath.so.0()(64bit)libmultipath.so.0(LIBMPATHCOMMON_1.0.0)(64bit)libmultipath.so.0(LIBMULTIPATH_18.0.0)(64bit)libmultipath.so.0(LIBMULTIPATH_18.1.0)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2)(64bit)libpthread.so.0(GLIBC_2.3.2)(64bit)libpthread.so.0(GLIBC_2.3.3)(64bit)libsystemd.so.0()(64bit)libsystemd.so.0(LIBSYSTEMD_209)(64bit)libudev.so.1()(64bit)libudev.so.1(LIBUDEV_183)(64bit)liburcu.so.6()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rpmlib(RichDependencies)sg3_utilssuse-module-toolssystemdsystemdsystemdsystemd1.2.783.0.4-14.6.0-14.0-15.2-14.12.0-14.14.3dcc@cY!@cV~@c*ccAcbγbγb{@bzSby@bX bA@b @b bar@a+@a@aa@aI@a;Ha^a @`[`@`g@`e`e`S@`KW`H`#__$_cO_a@_a@_Z@_G@_FN_?@_>e^@^(@^^>@^>@^I^C^ P@]4@]o@]g@]-@]G@] ] \8\@\\\\\~d\~d\8@\5@\4\@\@\@[@[@[@[:[6@[0@[0@ZJ@ZJ@Z̧@Z̧@Z̧@Za@ZZZI@ZZZZZp^@Zk@ZaZ]@ZWQZtimeout for updating persistent reservations (gh#opensvc/multipath-tools#45) * libmultipath: is_path_valid(): check if device is in use (bsc#1203141) (added libmount dependency) * libmultipath: orphan paths if coalesce_paths frees newmp (bsc#1207546) * multipathd: handle no active paths in update_map_pr (bsc#1207546) * multipathd: make pr registration consistent (bsc#1207546) * libmultipath: don't leak memory on invalid strings (bsc#1207546) * multipath.conf(5): improve documentation of dev_loss_tmo (bsc#1207546) * libmpathpersist: fix command keyword ordering (bsc#1207546, bsc#1209345) * libmultipath: fix 'show paths format' failure * minor bugfixes * hwtable fixes * Build system rework * spec file: adapt make command line to changes in build system * spec file: use make -Orecurse (better readable output) * spec file: use verbose build- Fix "rpm --verify" (bsc#1207232)- Update to version 0.9.2+59+suse.ac8942d: * Fix segfault in "multipath -t" command (boo#1204731)- Update to version 0.9.2+57+suse.cf3c1e9: * Fix multipathd authorization bypass and symlink attack (bsc#1202739 CVE-2022-41973 CVE-2022-41974) * add multipath-dracut.conf: dracut config file to install tmpfiles.d/multipath.conf in initramfs * Use "queue_mode bio" for NVMeoF/TCP devices * Upstream bug fixes and hwtable updates - Drop recompress.service, it just slows down build- Update to version 0.9.1+52+suse.be8809e: * Code-identical to 0.9.1+48+suse.9c6c435 (merge in git repo to preserve history; fix revision in _service file).- Update to version 0.9.1+48+suse.9c6c435: * Upstream version update * kpartx_id: remove bashism * Doc: add multipathc.8 manual page- Update to version 0.9.0+134+suse.dbf2e2d: * Add multipathc command under GPL3.0, and split off libmpathutil (bsc#1202616) * Fix command completion in interactive mode (bsc#1201483) * multipathd: fix use-after-free in handle_path_wwid_change() (bsc#1201483) * Improve startup time for very large multipath.conf (bsc#1200523) * Avoid checker blocking event handling for huge number of devices (boo#1203085) * Cleanup sysfs accessors in libmultipath * Minor upstream bug fixes * Spelling fixes * Documentation: add ALUA info to README.md, delete README.alua- Update to version 0.9.0+55+suse.33d8854: * Avoid linking to libreadline to avoid licensing issue (bsc#1202616)- Update to version 0.9.0+39+suse.51a2ab1: Upstream bug fixes: * libmultipath: fix find_multipaths_timeout for unknown hardware (boo#1201483) * multipath-tools: fix "multipath -ll" for Native NVME Multipath devices (boo#1201483)- Update to version 0.9.0+33+suse.fdc6686 * multipath.conf: add support for "protocol" subsection in "overrides" section to set certain config options by protocol. * Removed the previously deprecated options getuid_callout, config_dir, multipath_dir, pg_timeout * hwable fixes and additions * multipath.conf(5): add disclaimer about vendor support * libmultipath, kpartx: fix callers of dm_get_next_target() * Change built-in defaults for NVMe: group by prio, and immediate failback * Allow compilation with -D_FORTIFY_SOURCE=3- Update to version 0.8.9+90+suse.71a70fb: * support overriding -D_FORTIFY_SOURCE in OPTFLAGS * add -U_FORTIFY_SOURCE to optflags to avoid compilation errors on old distros- Update to version 0.8.9+87+suse.a1eb122: * add ability to autodetect support for -D_FORTIFY_SOURCE=3- Update to version 0.8.9+85+suse.a9da21c: * This is a pre-release of multipath-tools 0.9.0 * multipath.conf: add "protocol" subsection in "overrides" section This allows to set "dev_loss_tmo", "fast_io_fail_tmo", and "eh_deadline" on a per-protocol basis rather than per storage * multipath.conf: drop support for deprecated options: getuid_callout, pg_timeout, config_dir, multipath_dir * multipathd: don't switch to DAEMON_IDLE during startup (bsc#1199346, bsc#1197570) * multipathd: avoid delays during uevent processing (bsc#1199347) * Fixes for minor issues reported by coverity * Fix for memory leak with uid_attrs * Fix possibility to redefine -D_FORTIFY_SOURCE macro. * Updates for built in hardware db- Update to version 0.8.9+42+suse.45974f11: * Logging improvements * Fix busy loop with delayed_reconfigure (bsc#1199342) * multipathd: use remove_map_callback for delayed reconfigure * multipathd: Don't keep starting TUR threads, if they always hang. (bsc#1199345) * Fix handling of path addition in read-only arrays on NVMe * Updates of built-in hardware database - Update to upstream 0.8.9 * libmultipath: only warn once about unsupported dev_loss_tmo * Otherwise code-identical to 0.8.8+64- If multipath-tools is newly installed, load dm-multipath (bsc#1196898)- Update to version 0.8.8+64+suse.f265f7e0: * libmultipath: fix printing native nvme multipath topology (bsc#1196011) * libmultipath: add %L path wildcard for 64-bit hex LUN * libmultipath: support host adapter name lookup for s390x ccw bus- Update to version 0.8.8+60+suse.4c5922cb: * multipathd: add suppport for FC Fabric Performance Impact Notifications (FPIN) (bsc#1195506)- Version 0.8.8+57+suse.dfb672fe * kpartx.rules: skip MD devices (bsc#1195644) * libmultipath: hwtable: use ALUA for all LIO targets (bsc#1195649) * multipathd.service: drop ExecStartPre for loading dm-multipath (bsc#1195397)- Version 0.8.8+45+suse.628d603e * fix handling of historical-service-time path selector (bsc#1195425) * fix marking multipath devices as failed prematurely on startup (bsc#1195426) * multipathd.service: remove LimitCORE=infinity directive This should only be enabled for debugging. * multipathd.service: don't load scsi_dh modules (bsc#1195397) This is done via modules-load.d functionality on (open)SUSE - Upstream fixes: * Fix claiming of paths with "find_multipaths strict" * Avoid unnecessary read-only reloads- Version 0.8.8+13+suse.79c3556f * code-wise identical to 0.8.8+38+suse.2bdd3a14 (previous version number was too high by mistake)- Update to 0.8.8+38+suse.2bdd3a14.obscpio * upstream version bump. Code-wise identical to 0.8.7+138+suse.7c9afe31- Drop versioned dependency on libmpath0 again (bsc#1190622) * Since 0.8.6, libmultipath and libmpathpersist have got proper ABI versioning, and rpmbuild auto-generates dependencies on libmultipath.so.0(LIBMULTIPATH_13.0.0) etc.- Update to version 0.8.7+138+suse.7c9afe31: New upstream version (pre-0.8.8) * deprecate "config_dir" and "multipath_dir" config options (will be removed in future version) * remove dependency on systemd-udevd-settle.service (boo#1193336) * fix crash in remove_map (boo#1193334) * CLI: add path wildcard "%I" for init state * CLI: add "reconfigure all" command * allow multiple pending "reconfigure" commands (bsc#1189551) * speed up "reconfigure" by avoiding unnecessary map reloads (bsc#1189551) * rework of CLI command handler (unix socket handler) to avoid hanging CLI commands (bsc#1189551) * fix multipathd startup after stop during reconfigure (boo#1193338) * improve error detection and warning messages in config file parser * fix exit status of multipath -T (bsc#1191900) * fix defects reported by coverity (boo#1193342) - avoid sleeping with locks held - exit if bindings file is broken - set umask before mkstemp - add bounds and consistency checks in SCSI VPD parsing code * add hardware table entry for DellEMC/ME4 (PowerVault ME4)- Add a versioned dependency of multipath-tools on libmpath0 (bsc#1190622)- Update to version 0.8.7+14+suse.5a09bfa1: * Fix possible string overflows (bsc#1188148) - Upstream fixes / changes * better string handling * multipath: print warning if multipathd isn't running * mpathpersist: better error msg when no usable paths exist * fixes from 0.8.6+32+suse.f11c192 merged upstream- Spec file: remove compatibility code for SLE <= SLE15-SP2- Update to version 0.8.6+32+suse.f11c192: * libmultipath:fix compilation with glibc 2.34 (bsc#1189099) * libmultipath: avoid buffer size warning with systemd 240+ (bsc#1189176) * libmultipath: use uint64_t for sg_id.lun (bsc#1187534) - Upstream bug fixes: * multipath-tools: make HUAWEI/XSG1 config work with alua and multibus * multipath-tools: add info about HPE Alletra 6000 and 9000 * multipathd: cli_getprkey(): fix return value and "aptpl" support * multipathd: don't rescan_path on wwid change in uev_update_path * kpartx: Don't leak memory when getblock returns NULL * multipath: free vectors in configure * multipathd: fix ev_remove_path return code handling * multipathd: remove duplicate orphan_paths in flush_map * multipathd: don't fail to remove path once the map is removed * multipathd: fix compilation issue with liburcu < 0.8- install to /usr on Tumbleweed (boo#1029961)- Update to version 0.8.6+10+suse.47711374: * Github workflows: add CI for SUSE-specific branches- Disabled LTO for multipath-tools * The test for is_valid_path fails if LTO is enabled, just disabling it for %check is insufficient.- Update to version 0.8.6+9+suse.6c05a61: Update to upstream 0.8.6. * add eh_deadline option to avoid endless SCSI error handling * add wwid_recheck option to detect storage configuration changes * add library versioning for libmultipath, libmpathpersist etc. and to libmultipath plugins * move some global symbols to libmultipath (udev, logsink, etc) and provide default implementations for get_multipath_config() etc. This allows simplifiying libmpathpersist_example.c drastically. * fixes for shutdown issues and various race conditions on exit * improve cleanup on exit, fix memory leaks * add libmpathvalid library * fixes for SAS expanders (bsc#1178377, bsc#1178379, bsc#1177081) * Avoid access to root FS while queueing IO (bsc#1178049, bsc#1181234) * lots of bug fixes, additions to built-in hardware table, and CI improvements (bsc#1186212) * kpartx: free loop device after listing partitions (boo#1107187) Bug fixes on top of 0.8.5 mentioned below are also included in this upstream version.- Update to version 0.8.5+30+suse.633836e: * multipathd: give up "add missing path" after multiple failures (bsc#1183963)- Update to version 0.8.5+29+suse.5dabcd2: * 11-dm-mpath.rules: run "multipath -U" with -v1 (bsc#1182871) * libmultipath: merge update_multipath_table() and update_multipath_status() (bsc#1183666)- Update to version 0.8.5+26+suse.2cbedfd: Avoid "illegal request" errors on non-RDAC storage (bsc#1182072, bsc#1177371)- Update to version 0.8.5+23+suse.c11b054: * multipath -U: reduce log level of "adding new path" message (bsc#1181435, bsc#1183666)- Update to version 0.8.5+22+suse.e1e3c48: * multipath-tools tests: fix stringop-overflow build errors with gcc 11 (bsc#1181877) * README moved to README.md (has been converted to markdown upstream)- Update to version 0.8.5+12+suse.3b0e9ca * libmultipath: force map reload if udev incomplete (bsc#1178662, bsc#1172157, bsc#1175454, bsc#1176406) - Fixes from upstream 0.8.5 * multipath-tools: add MacroSAN arrays to hwtable * libmultipath: Allow discovery of USB devices (add configuration option "allow_usb_devices")- Remove compatibility code for SLE <= 12-SP2 from spec file- Bugref for all minor fixes since SLE15-SP2 release (bsc#1176670) - Added README.alua- Update to version 0.8.4+192+suse.1bc10ad: * Fix handling of hardware properties for maps without paths (bsc#1176644)- Update to version 0.8.4+190+suse.fe234ea: * Fixes for daemon shutdown issues from SLE(bsc#1110060, bsc#1110439) - multipathd: allow shutdown during configure() * fix compilation of external programs with -lmultipath (bsc#1133957, necessary after the above fix) * Minor upstream fixes- Missing past changelog bug references: * 0.7.3+10+suse.70ccb55b0439: Patch series for NVMe discovery and failover (bsc#1038865, bsc#1057820) * 0.7.9+109+suse.203c1cf * setup_map: wait for pending path checkers to finish (bsc#1118224)- Update to version 0.8.4+183+suse.1817ce2: Added reviewed upstream fix for multipath crash * multipath: get_dm_mpvec: discard broken maps- Update to version 0.8.4+180+suse.50a2698: * Fix memory access / leak issues found with valgrind- Update to version 0.8.4+170+suse.801341f: * libmultipath: tests: fix bitfield tests * Spec file: disable LTO for %check (bsc#1133122)- Update to version 0.8.4+167+suse.70bef90: Pull in reviewed upstream changes - Bug fixes * libmultipath: add consistency check for alias settings (bsc#1172429) * libmultipath: select_action(): don't drop map if alias clashes (bsc#1172429) * libmultipath: refuse reloading an existing map with different WWID (bsc#1172429) * libmultipath: select_action(): force udev reload for uninitialized maps (bsc#1172157) * multipathd: uev_trigger(): handle incomplete ADD events (bsc#1172157) * improve logging for failure to set dev_loss_tmo (bsc#1173060, bsc#1173064) * libmultipath: add device to hwtable.c (bsc#1174026) (ETERNUS AHB) - New features * multipath: add -D option to skip multipathd delegation * multipath: delegate flushing maps to multipathd * multipathd: add "del maps" multipathd command - Other changes * cleanup disassemble_map() code path (bsc#1178377, bsc#1178379) * multipath-tools: introduce INIT_REMOVED state * logging improvements * fix "multipathd show devices" * libmultipath: remove uevent listener failback * libmultipath: create bitfield abstraction * libmultipath: count pending paths as active on loads * kpartx: handle alternate bsd disklabel location - Lots of minor fixes and cleanups - Spec file: use %service_del_postun_without_restart macro- Update to version 0.8.4+43+suse.908383f: * enable negated regular expression syntax in conf file (bsc#1182917) * change default devnode blacklist to '!^(sd[a-z]|dasd[a-z]|nvme[0-9])'- Update to version 0.8.4+40+suse.b06c2e5a: - Fix udev rule processing during coldplug (bsc#1172157) * 11-dm-mpath.rules: Fix udev rule processing during coldplug - Fix compilation with gcc-10 * fix boolean value with json-c 0.14 * libmultipath: fix condlog NULL argument in uevent_get_env_var - Reviewed upstream changes: * simplify failed_wwid code * centralize path validation code - Use pkgconfig for BuildRequires- Update to version 0.8.4+31+suse.8f53764: * Fix sporadic build failures caused by missing build dependencies- Update to version 0.8.4+29+suse.c27ed8d: * multipath-tools: Makefile.inc: set -Wno-error=clobbered * Makefile.inc: keep warning flags during rpm build * Eliminate compiler warnings on 32bit build. * Fixes for tests under i586 - Spec file: add %check section to run multipath-tools CI * not on SLE12, as cmocka is missing * add build dependency on cmocka for building tests * run "make test" with parallel make- Update to version 0.8.4+19+suse.48fc2f4: * multipath: add "-e" option to enable foreign libraries * libmultipath: set "enable_foreign" to NONE by default * deleted libmultipath-set-enable_foreign-to-NONE-by-default.patch (included in factory git repo now). * Makefile: dependency fixes for parallel build - Get rid of %is_opensuse: * drop build workaround for Leap 42.1 * build libdmmp for everything except SLE12/Leap42 and older - Other spec file updates: * use %make_build to speed up build (possible with 0.8.4) - Migrated to .obscpio format.- Update to version 0.8.4+16+suse.f319f7ea - Changed github workflow back from merge-based to rebase-based. This makes it much easier to assess differences between upstream and SUSE code. * Use TAG_OFFSET in _service, as this is now possible again. - Reviewed upstream patches added: * kpartx.rules: fix handling of synthetic uevents (bsc#1161923) * libmpathpersist: limit PRIN allocation length to 8192 bytes (bsc#1165786) - Update upstream version to 0.8.4 * drop nr_active field, always count active paths (bsc#1125043) * kpartx: fix detection of dasd partition tables on loop devices (bsc#1139775) * directio path checker fixes * lots of fixes for compiler warnings, and cleanups * nvme: update to nvme-cli 1.9- Update to version 0.8.3+11+suse.7dcdf2f: * libmultipath: fix files read from config_dir (bsc#1162896)- Update to version 0.8.3+10+suse.86684b9: * libmultipath: fix compilation with -fno-common (boo#1160403)- Update to version 0.8.3+9+suse.f6f2a52 - Minor upstream improvements and bug fixes * libmultipath: EMC PowerMax NVMe device config- Update to version 0.8.2+27+suse.3ff280b: * Added upstream patch to fix premature path reinstantiation with san_path_err_XX (boo#1149319)- Update to version 0.8.2+26+suse.d884195: - Don't activate NVMe native multipath support by default * multipath.conf.5: document foreign library support * multipath.conf: add "enable_foreign" parameter (bsc#1139837) * Set default for "enable_foreign" to "NONE" (bsc#1139837) added libmultipath-set-enable_foreign-to-NONE-by-default.patch - Added reviewed upstream patches (marginal path patch set from Red Hat) * add "marginal_pathgroups" config option * deprecate "delay_wait_checks" and "delay_watch_checks"; they are now automatically mapped to eqivalent "san_path_err_..." settings.- Update to version 0.8.2+11+suse.0f6a649: * kpartx: recognize DASD on loop devices again (bsc#1139775) * Bump version to 0.8.2 - most changes were already in SUSE tree * Man page improvements (bsc#1148767)- Update to version 0.8.1+59+suse.f947184: * libmultipath: trigger uevents for partitions, too (bsc#1140146)- Update to version 0.8.1+58+suse.2af8f92: * libmultipath: more cautious blacklisting by missing property (don't blacklist paths because of temporarily missing udev properties) * libmultipath: fix memory leak with "uid_attrs" config option * libmultipath: get_uid: straighten the fallback logic - Fix SCSI VPD 0x80/0x83 parsing - Fix compiler warnings introduced by gcc 9: * -Wstringop-overflow, -Wstringop-truncation, - Waddress-of-packed-member- Update to version 0.8.1+28+suse.fea562a: * mpathpersist: optimize for setups with many LUNs (bsc#1134648) * mpathpersist: add option -f/--batch-file (bsc#1134648) * libmultipath: get_prio(): really don't reset prio for inaccessible paths (bsc#1118495) - Upstream bug fixes from dm-devel (bsc#1139369): * multipath: call store_pathinfo with DI_BLACKLIST * multipathd: fix REALLOC_REPLY with max length reply * libmultipath: make vector_foreach_slot_backwards work as expected * multipathd: fix client response for socket activation (bsc#1133861) * various minor fixes (coverity)- Disable kmod() style dependencies again (bsc#1119414) * For TW, dependencies will be autogenerated (gh#openSUSE/rpm-config-SUSE#3) * For SLE, feature is currently rejected (jsc#SLE-3853) - Update to version 0.8.1+8+suse.8c11498: * Avoid deadlock situation during udev settle (bsc#1131789, bsc#1125145) - multipath -u: test socket connection in non-blocking mode * Fix priority handling for offline paths (bsc#1118495) - Update to upstream 0.8.1 (bsc#1148767) * Avoid device IO in "multipath -u" (bsc#1125145) * multipathd: protect all access to running_state (bsc##1110060, bsc#1110439) * Improve handling of changed WWIDs and temporary failure to obtain WWID. Option "disable_changed_wwids" is now ignored. (bsc#1184260) * Fixes for PATH_PENDING state handling (bsc#1125043) * libmultipath: hwtable: add Lenovo DE series (bsc#1125507)- Trim %if..%endif guards that do not affect the build result. - Combine %service_* calls to reduce generated code. - Make use of %make_install.- Re-enable kmod-style dependencies for multipath-tools package (bsc#1119414) - Separate out libmpath0 (bsc#1119414) - Spec file improvements * Add Conflicts: for older multipath-tools to libmpath0 * Move license files to the libmpath0 package, which contains the code with complex licensing. The executables are GPL-2.0 anyway. * Remove bogus dependency of -devel package on device-mapper * -devel package depends on libmpath0, not multipath-tools * Remove %dir %{_defaultlicensedir} for SLE12-SP3 and newer (John Vandenberg ) * Remove unused /var/cache/multipath directory * Remove check for multipath maps in %pre and %post * Remove SLE11-specific multipathd service stop / start from %pre / %post * Remove obsolete tools from package description (bsc#1129827) * Add -n to %service_del_{pre,post}un for multipathd.socket- Update to version 0.8.0+17+suse.a28893f: * Code-identical to 0.7.9+139+suse.ed9d450, except for new version number - Disable kmod() style dependencies for now, as they are causing problems with image builds (bsc#1119414). They'd been active for SLE15-SP1 only, anyway. - _service: determine "tag offset" manually, the patch count determined by git is far too high.- Fix module name in multipath.conf (bsc#1119414) * The modules-load.d entry must match the filename exactly- Update to version 0.7.9+139+suse.ed9d450: * multipath-tools: Build: properly parse systemd's version- Add kmod(xyz) style dependencies for SLE15-SP1 (jsc#SLE-3853, fate#326579, bsc#1119414)- Update to version 0.7.9+138+suse.0edd0a2: - Include reviewed fixes from upstream * libmutipath: continue to use old state on PATH_PENDING * libmultipath: disable user_friendly_names for NetApp * multipath: blacklist zram devices * various fixes for martinal path code - Bug fixes: * multipathd: Fix miscounting active paths (bsc#1125043) * multipathd: avoid null pointer dereference in LOG_MSG (bsc#1127873) * minor fixes suggested by coverity (bsc#1127879)- Add BuildRequires on suse-module-tools * we need it for regenerate_initrd_posttrans- Update to version 0.7.9+111+suse.b4232b7: - merged upstream cb4a979a (SUSE bug fixes merged upstream, code-identical to previous release).- Update to version 0.7.9+109+suse.203c1cf: * multipathd: avoid crash in cli_list_path (bsc#1121134) * libmultipath: fix compilation with older kernel headers (bsc#1121066) - merged upstream fb824725 * Improved NVMe support in both native and dm-mpath mode added basic NVMe ANA support (bsc#1119898, bsc#1118495) * Fix prio output in "multipathd show topology" (bsc#1119897) * multipathd: fix daemon not really shutdown (bsc##1110060, bsc#1110439)- Update to version 0.7.9+90+suse.f81e290: * libmultipath: Increase SERIAL_SIZE to 128 bytes (bsc#1107179)- Update to version 0.7.9+89+suse.df77b66: - re-enable "san_path_err_xy" options These have been removed upstream, but they were supported in SLE-15/Leap15.0, so we can't simply throw them away. Improve documentation, mark them as deprecated, but keep the code in place.- Update to version 0.7.9+85+suse.766b95e: * upstream patch series to make verbosity level 3 less verbose and thus better usable (bsc#1118937) * fix for handling device size mismatch in coalesce_paths() (bsc#1037379) * libmultipath: fix false removes in dmevents polling code (bsc#1116272) * Spec file: remove build dependency on dracut which causes build errors for some distributions- Update to version 0.7.9+58+suse.0790830: * libmpathpersist: fix off-by-one error in PRIN length check (bsc#1099007) * multipathd: fix mpp->hwe handling when paths are freed (fix possible crash caused by new hardware table code)- Update to version 0.7.9+55+suse.9fc8439: (note the "55" is due to former merge operations. We actually only have 7 patches on top of upstream. All other patches referenced below as "not upstream" have been merged). * Bump version to 0.7.9 * multipathd: reset delay_wait_checks counter on failure (bsc#1114771) * multipathd: fix irritating "minor number mismatch" message (bsc#1111116) * fix possible failure to shut down (bsc#1110060, bsc#1110439) * upstream "checker overhaul" - cleanups and improvements for path checkers * Upstream fixes for failures handling path initializiation * various small upstream bug fixes.- Update to version 0.7.7+136+suse.19bb285: Bug fixes from upstream, and SUSE bug fixes * multipathd: try SCSI persistent reservations for SCSI only (bsc#1108875) * libmultipath: allow sysfs_pathinfo to return SKIPPED (bsc#1098458) * libmultipath: Fixup updating paths (bsc#1110418) * multipathd: fix memory leak on error in configure (bsc#1110418) * multipathd: minor fixes (bsc#1110418) * multipathd: function return value tweaks (bsc#1110418) * multipath: fix max array size in print_cmd_valid (bsc#1110418) * libmutipath: don't use malformed uevents (bsc#1110418) * libmultipath: fix null dereference int alloc_path_group (bsc#1110418) * libmultipath: fix memory issue in path_latency prio (bsc#1110418) * libmultipath: fix length issues in get_vpd_sgio (bsc#1110418) * multipathd: decrease log level of uevent messages (bsc#1110586) * multipathd: fix version check for DM_DEV_ARM_POLL ioctl (bsc#1110587) * libmultipath: pathinfo: skip hidden devices (bsc#1110586) * libmultipath: nvme: shorter topology output (bsc#1082419) * libmultipath: nvme: fix path detection for kernel 4.16 (bsc#1091112) * libmultipath: fix gcc 8.1 "truncated output" warnings (bsc#1099007) * (lib)mpathpersist: use O_RDONLY file descriptors (bsc#1093220) * libmpathpersist: fix byte swapping for big endian systems (bsc#1099036) * multipath-tools/tests: add tests for get_unaligned_beXX (bsc#1099036) * libmultipath: add (get|put)_unaligned_be64 (bsc#1099036) * libmpathpersist: fix stack overflow in mpath_format_readfullstatus() (bsc#1099007) * libmpathpersist: fix typo in mpath_format_readfullstatus (bsc#1099007) * libmpathpersist: remove duplicate test in readfullstatus (bsc#1099007) - Update to upstream 1a8625abd (0.7.7+82) * minor fixes for kpartx, found by coverity * mpathpersist: add --param-alltgpt option * libmultipath: add "protocol" blacklist option. * multipathd: add new wildcard "%P" for "protocol" * multipath-tools: fix products names in hwtable * libmultipath: more debug output in alua prioritizer (bsc#1080965) * libmultipath: alua: retry RTPG for NOT_READY and UNIT_ATTENTION (bsc#1080965) * libmultipath: alua_rtpg: use condlog for error messages (bsc#1080965)- Update to version 0.7.7+75+suse.6287aef: Added minor updates from upstream * multipath-tools: add info about how to enable ALUA in ONTAP * multipath-tools: add directio path_checker for DASD devices * multipath-tools: make Product Name mandatory and add all of them Minor rebase, as some SUSE patches have been merged upstream (all mentioned in previous changelogs)- Update to version 0.7.7+72+suse.4b24466: * multipath: fix return code handling in delegate_to_multipathd (bsc#1098177) * multipath: don't start multipathd unnecessarily (bsc#1098177)- Update to version 0.7.7+70+suse.4a5941e: * libmultipath: change partition_delimiter default to "-part" (bsc#1073622, bsc#1056526) * change default for find_multipaths to "greedy" (bsc#1099054) * libmultipath: allow distributions to change partition_delim default (bsc#1073622, bsc#1056526)- Update to version 0.7.7+67+suse.a7d1e14: - RBD/RADOS backend support has been removed upstream remove support for it in SUSE, too (boo#1099037, FATE#826853) * added Obsoletes: for multipath-tools-rbd. - libdmmp version has changed to 0.2.0 - New patches not yet upstream: (Wed Jun 12 2018: these are now upstream, since 0.7.8) * multipathd: fix mpp->hwe handling on path removal (boo#1099028) * libmultipath: print correct default for delay_*_checks (boo#1099026, bsc#1110418) * libmultipath: avoid error messages from RDAC check (bsc#1108728, bsc#1075539) * (lib)mpathpersist: use O_RDONLY file descriptors (bsc#1093220) * libmpathpersist: fix byte swapping for big endian systems (bsc#1099036) * multipath-tools/tests: add tests for get_unaligned_beXX (bsc#1099036) * libmultipath: add (get|put)_unaligned_be64 (bsc#1099036) * libmpathpersist: fix stack overflow in mpath_format_readfullstatus() (bsc#1099007) * multipathd: fix buffer size in cli_getprkey (bsc#1099028) * libmultipath: fix gcc 8.1 "truncated output" warnings (bsc#1099007) * libmpathpersist: fix typo in mpath_format_readfullstatus (bsc#1099007) * libmpathpersist: remove duplicate test in readfullstatus (bsc#1099007) - SUSE specific patches preserved: * multipath.rules: temporary rule to obtain ID_WWN for NVMe (bsc#1076828) * kpartx: create symlinks for dmraid devices (bsc#1064212) * multipath.conf.5: document no_partitons compat support (fate#323406) * libmultipath: compat support for 'features "1 no_partitions"' (fate#323406) * Added fossology assessment as README.licenses (bsc#1088801) - Dropped patches from previous factory/SLE15 release (0.7.3+69+suse.218a0d0): * libmultipath: don't [un]set queue_if_no_path after domap obsoleted by "libmultipath: cleanup features handling code" * multipath.rules: use -i flag to multipath obsoleted by path detection patch series * libmpathpersist: add support for prkeys file v3 obsoleted by "mpathpersist: Fix invalid condition check" * libmultipath: fix deadlock in tur.c obsoleted by "libmultipath: fix tur checker locking" * checkers/rbd: missing pthread_lock() on failure path obsolete because of RBD removal * libmultipath/hwtable: don't hard-code ALUA for IBM IPR obsoleted by "libmultipath: hwhandler auto-detection for ALUA" and "libmultipath: don't reject maps with undefined prio" (bsc#1085212, bsc#1075129) - Update to upstream version 0.7.7+50 (39ad8dc8) - rework of "find_multipaths" logic * find_multipaths can now be "strict", "yes", "no", "greedy", or "smart" * SUSE default is "greedy" for now, consistent with previous behavior * "multipath -u -i" not necessary in udev rules any more (removed SUSE patch "multipath.rules: use -i flag to multipath") - patch series for config file handling (bsc#1067789): * fix inconsistent handling of multiple config file entries matching the same device (bsc#1067789) * multipath: implement "multipath -T" (bsc#1067789) * multipathd: implement "show config local" (bsc#1067789) * libmultipath: merge "multipath" config sections by wwid * multipathd: add path format wildcard "%0" for failures * libmultipath: config parser: Allow '"' in strings - multipath-tools: foreign/NVME implementation (bsc#1082419) for native NVME multipath configurations - Other new upstream features: * mpathpersist: add all_tg_pt option * add polling dmevent handler (only one thread waiting for device-mapper events rather than one per map). * multipath: add "ghost_delay" parameter * "marginal path" path state checking for better handling of unstable "shaky" connections in a SAN. conf options "marginal_path_err_rate_threshold" etc, see man page. This replaces the previous "san_path_err_threshold" functionality. - Upstream bug fixes: * Man page corrections and improvements for multipath.conf(5) * libmultipath: fix memory leak in process_config_dir() (bsc#1110352) * multipath: don't check timestamps without a path * multipathd: handle errors in uxlsnr as fatal (bsc#1086025) * libmultipath: don't reject maps with undefined prio (bsc#1085212, bsc#1075129) * multipathd: fix reservation_key check (bsc#1099008) * 11-dm-mpath.rules: dont't run "multipath -U" during coldplug (bsc#1084748) * libmultipath: hwhandler auto-detection for ALUA (bsc#1085212, bsc#1075129) * multipath: fix rcu thread cancellation hang (bsc#1110418) * multipathd: register threads that use rcu calls (bsc#1110418) * multipathd: fix waiter thread cancelling * multipathd: use nanosleep for strict timing (avoids possible races with SIGALRM) * logging fixes: * libmultipath: fix log_pthread processing * libmultipath: set dm_conf_verbosity * libmultipath: fix basenamecpy * libmultipath: uev_update_path: update path properties * libmultipath: uev_update_path: always warn if WWID changed * libmultipath: get_uid: don't quit prematurely without udev (bsc#1108728) * libmultipath: get_uid: check VPD pages for SCSI only (bsc#1108728) * libmultipath: fix wrong output of "multipath -t" * Introduce the libmultipath/unaligned.h header file (bsc#1099036) * libmultipath: Fix sgio_get_vpd() (bsc#1099484) * kpartx: Improve reliability of find_loop_by_file() * libmultipath, alloc_path_with_pathinfo(): Ensure that pp->wwid is '\0'-terminated * libmultipath: enable feature disable changed wwid by default * multipathd: add lock protection for cli_list_status * bug fixes for "marginal path checker" * multipathd: fix signal blocking logic (bsc#1110060, bsc#1110439, bsc#1086025) * multipath-tools: add INSPUR/MCS to hardware table * multipath-tools: add RDAC SUN/ArrayStorage to hwtable * multipath-tools: remove DF arrays from HP * multipath: print sysfs state in fast list mode (bsc#1110354) * multipathd: remove coalesce_paths from ev_add_map * multipath: fix DEF_TIMEOUT use * libmultipath: fix tur checker locking * multipath-tools: handle exit signal immediately (bsc#1086025) * multipathd: release uxsocket and resource when cancel thread (bsc#1110355) * path latency prioritizer fixes * multipathd.service: set TasksMax=infinity (bsc#1060616) * multipathd.service: drop Before=lvm2-lvmetad.service (bsc#1070427) * multipathd.socket: add WantedBy=sockets.target * kpartx.rules: fix by-id/scsi-* for user_friendly_names * multipath -C: decrease log level * libmultipath: hwtable: no_path_retry="queue" for NetApp NVMe * libmultipath: hwtable: multibus for NetApp NVMe-FC * libmultipath: select ALUA prioritizer for RDAC arrays only (bsc#1075539, bsc#1081241) * libmultipath: get_vpd_sgio: support VPD 0xc9 (bsc#1055949) * libmultipath: condlog: log to stderr (bsc#1055949) * multipath: delegate dangerous commands to multipathdd (bsc#1047639) * libmultipath: don't try to set hwhandler if it is retained (bsc#1047639) * libmultipath: don't update path queueing on reload * multipathd: marginal path code fixes * multipath: check failed path dmstate in check_path * multipathd: clean up set_no_path_retry * multipathd: fix device creation issues * libmultipath: cleanup features handling code * multipath: fix hwhandler check in select_action * kpartx: don't delete partitions from partitions * limbultipath: prefer RDAC checker with detect_checker * multipath-tools: add AccelStor/NeoSapphire to hardware table * multipath-tools: add TMS/RamSan to hardware table * multipath-tools: add XIV/NEXTRA to hardware table * multipath-tools: add XIOtech/Magnitude to hardware table * libmultipath: ensure checker->fd == -1 if not set- Update to version 0.7.3+69+suse.218a0d0: * multipath -ll: print foreign maps only with "-o" flag (bsc#1089353) * Revert "disable nvme foreign library"- Update to version 0.7.3+67+suse.8f0c27b: * disable nvme foreign library (bsc#1089353)- No functional changes - Fixed rpmlint warnings (bsc#1088946) * multipath-tools-devel: moved .so files to /usr/lib[64] * added version dependencies for -devel packages- No functional changes * fixed SPDX syntax (and -> AND) * added /usr/share/licenses- No functional changes, just licenses - Spec file: fix %license tags and info after closer inspection (bsc#1088801) * kpartx is under GPL-2.0-only * rbd is under LGPL-2.1-only - Update to version 0.7.3+66+suse.dc5fe2d: Fix licensing info (bsc#1088801) * Added fossology assessment as README.licenses * multipath-tools: create LICENSES dir with the text of all used licences- Update to version 0.7.3+61+suse.d4d0494: * 11-dm-mpath.rules: dont't run "multipath -U" during coldplug (bsc#1084748)- Fixed license tags in spec file * multipath tools / libmultipath is GPL-2.0-only * libmpathcmd is LGPL-2.0-or-later * libdmmp is GPL-3.0-or-later * adopt SPDX format.- Update to version 0.7.3+60+suse.46ac839: * libmultipath/hwtable: don't hard-code ALUA for IBM IPR (bsc#1085212, bsc#1075129)- Update to version 0.7.3+59+suse.1b6191c26774: * libmultipath: don't reject maps with undefined prio (bsc#1085212, bsc#1075129) * multipathd: handle errors in uxlsnr as fatal (bsc#1086025)- Update to version 0.7.3+57+suse.bb6be4c8b4ca: * multipathd: fix signal blocking logic (bsc#1086025) * multipath-tools: handle exit signal immediately (bsc#1086025) * multipath: fix DEF_TIMEOUT use (bsc#1086014) * multipath-tools: foreign/NVME implementation v2 (upstream accepted) (bsc#1082419)- Update to version 0.7.3+53+suse.140f4937e9e7: * libmultipath: fix wrong output of "multipath -t" (bsc#1082835)- Update to version 0.7.3+52+suse.08a969b7fce0: - Add limited support for displaying native NVMe multipath (bsc#1082419) * libmultipath: foreign/nvme: implement path display * multipathd: use foreign API * multipath: use foreign API * libmultipath/foreign: nvme foreign library * libmultipath/print: add "%G - foreign" wildcard * libmultipath: API for foreign multipath handling * libmultipath: print: use generic API for get_x_layout() * libmultipath: print: convert API to generic data type * libmultipath: "generic multipath" interface * libmultipath: add vector_convert() * libmultipath: add vector_free_const() * libmultipath: get rid of selector "hack" in print.c - Fix locking errors detected by coverity check (bsc#1082418) * checkers/rbd: missing pthread_lock() on failure path * libmultipath: fix deadlock in tur.c- Fix whitespace in dracut conf file (bsc#1080562)- Update to version 0.7.3+38+suse.a16beed5280a: * kpartx: don't delete partitions from partitions (bsc#1078362) * hwtable: add latest updates (bsc#1078363) * multipathd.service: set TasksMax=infinity (bsc#1060616)- Update to version 0.7.3+31+suse.6804bb73f72d: * libmultipath: hwtable: no_path_retry="queue" for NetApp NVMe (bsc#1073319)- Update to version 0.7.3+30+suse.6b5ed839: * multipath.rules: temporary rule to obtain ID_WWN for NVMe (bsc#1076828) * libmultipath: ignore natively multipathed NVME devices (bsc#1076828) * multipath.rules: handle NVME devices (bsc#1076828) * FIX "libmultipath: hwtable: multibus for NetApp NVMe-FC" (bsc#1073319) * libmultipath: increase path product_id/rev field size for NVMe (bsc#1073319)- Update to version 0.7.3+25+suse.7c9920e2: * assemble_map: no newline at end of params string (bsc#1072253)- Update to version 0.7.3+24+suse.703a61d5: * multipathd.service: drop Before=lvm2-lvmetad.service (bsc#1070427) * libmultipath: hwtable: multibus for NetApp NVMe-FC (bsc#1073319) * libmultipath/propsel: select ALUA prioritizer for RDAC arrays only (bsc#1075539, bsc#1081241) * libmultipath: get_vpd_sgio: support VPD 0xc9 (bsc#1055949) * libmultipath: sgio_get_vpd: add page argument (bsc#1055949) * libmultipath: fix return code of sgio_get_vpd() (bsc#1055949)- Update to version 0.7.3+19+suse.0fd18bdd: * multipathd.socket: add WantedBy=sockets.target (bsc#1072253)- Update to version 0.7.3+18+suse.8c97f433: * multipath -C: decrease log level (bsc#1072504)- Update to version 0.7.3+17+suse.cac42e6f: * test-kpartx: add test for mapping without UUID (bsc#1074013)- Update to version 0.7.3+15+suse.570d5938: * kpartx.rules: fix by-id/scsi-* for user_friendly_names (bsc#1066893)- Update to version 0.7.3+14+suse.da06e7f3: * libmultipath: fix return code of sysfs_get_timeout (bsc#1069037)- added sample code for libmpathpersist (bsc#1066376) * added libmpathpersist-example.c - multipath-tools.spec: package libmultipath.so symlink in -devel package (bsc#1066376). We *do not* package header files for libmultipath, as the APIs are not public.- multipath-tools.spec: package *.so symlinks in -devel pkgs (bsc#1066376) - multipath-tools.spec: SLE15: add RADOS support for s390x (bsc#1066380) - Fix build error for targets SLE_12, SLE_12_SP1 (bsc#1066392)- Update to version 0.7.3+13+suse.db431514080f: * kpartx: create symlinks for dmraid devices (bsc#1064212) * limbultipath: prefer RDAC checker with detect_checker (bsc#1055949)- Update to version 0.7.3+11+suse.4de08d96: * libmultipath: condlog: log to stderr (bsc#1063059)- Update to version 0.7.3+10+suse.70ccb55b0439: - Rebase to upstream release 0.7.3 * libmultipath: add pthread_cleanup hook for udev monitor * libmultipath: pull functions into util.c * libmultipath: change reservation_key to a be64 * libmpathpersist: fix update_prflag code * multipath: add alternate reservation_key method * mpathpersist: add support for prkeys file * multipath-tools: minor edition and corrections in multipath.conf.5 * multipath-tools: fix incorrect length for strncmp in uevent.c * multipath-tools: clarify how to dump the multipathd config * multipath-tools: replace "setting: array" with "setting: storage device" at multipath output * libmultipath: sanitize fd handling * multipath-tools: link internal libraries before foreigns * multipath-tools: remove Sun StorEdge T4(6020,6120,6320) arrays from hwtable * multipath-tools: add support for all arrays from Sun StorEdge 3000 family * multipath-tools: add Xiotech iglu blaze arrays to hwtable * multipath-tools: add Dot Hill/Seagate arrays to hwtable * libmultipath: update INFINIDAT builtin config * multipath-tools: add info about adding new hardware * multipath-tools: Remove the limitation of IPC command reply length. * multipath-tools: libdmmp: Improve timeout mechanism * multipath-tools: libdmmp: New function to flush and reconfig * Bump version to 0.7.3 - minor fixes for upstream 0.7.3 * libmultipath: ensure checker->fd == -1 if not set * libmpathpersist: add support for prkeys file v3 * multipath: add man page info for my prkey changes - Patch series for NVMe discovery and failover (bsc#1038865) * discovery: sanitize NVMe discovery * libmultipath/discovery: modify NVMe path states * Add 'none' checker * hwtable: set 'none' as default checker for NVMe- Update to version 0.7.2+49+suse.993a29b1188d: * Revert "11-dm-mpath.rules: Remember DM_ACTIVATION" (boo#1059227) * Revert "11-dm-mpath.rules: don't set READY->ACTIVATION" (boo#1059227) * multipath: delegate using libmpathcmd (bsc#1047639)- split off rados support into separate multipath-tools-rbd package. This avoids pulling in the whole rados/ibverbs/rdma stack with multipath-tools. (bsc#1058504). - multipath-tools-rbd is Recommended but not Required by multipath-tools.- Update to version 0.7.2+44.3a8d750c: Misc bug fixes: * multipathd: don't flood system with sd_notify calls (bsc#1056011) * libmultipath: add_feature: skip pointless NULL check (bsc#1055635) * libmultipath: add_feature: allow only 1 feature (bsc#1055635) * multipath: delegate dangerous commands to multipathd (bsc#1047639) * libmultipath: fix partition_delimiter config option (bsc#1056526) * kpartx: helper functions for name and uuid generation (bsc#1056508) * kpartx: search partitions by UUID, and rename (bsc#1056508) * kpartx: fix a corner case when renaming partitions (bsc#1056508) * kpartx: -d must work with empty partition table (boo#1056599) * kpartx: only recognize dasd part table on DASD (boo#1056599) Rework of the udev rules related to multipath and kpartx (bsc#1054363): * libmultipath: support MPATH_UDEV_NO_PATHS_FLAG on map creation * libmultipath: add get_udev_device * libmultipath: get_refwwid: use get_udev_device * libmultipath: use const char* in some dm helpers * libmultipath: add DI_NOIO flag for pathinfo * libmultipath: add dm_get_multipath * multipath: implement "check usable paths" (-C/-U) * 11-dm-mpath.rules: multipath -U for READY check * 11-dm-mpath.rules: import more ID_FS_xxx vars from db * 11-dm-mpath.rules: no need to test before IMPORT * 11-dm-mpath.rules: handle new maps with READY==0 * 11-dm-mpath.rules: don't set READY->ACTIVATION * 11-dm-mpath.rules: Remember DM_ACTIVATION * multipath.rules: set ID_FS_TYPE to "mpath_member" * kpartx.rules: don't rely on DM_DEPS and DM_TABLE_STATE * kpartx.rules: respect DM_UDEV_LOW_PRIORITY_FLAG * kpartx.rules: improved logic for by-uuid and by-label links * kpartx.rules: create by-partuuid and by-partlabel symlinks * kpartx.rules: generate type-name links only for multipath devices * kpartx.rules: fix logic for adding partitions * multipath/kpartx rules: avoid superfluous scanning * kpartx/del-part-nodes.rules: new udev file * kpartx.rules: move symlink code to other files - multipath-tools.spec: * added 68-del-part-nodes.rules to support partition deletion * added 00-dont-del-part-nodes.rules to disable partition deletion by default on openSUSE/SLES for now. * added 11-dm-parts.rules to kpartx package * added dracut.conf file to make sure 11-dm-parts.rules is included in initrd- Update to version 0.7.2+14+suse.5721c345: * cli_add_map: Use CMD_NONE (bsc#1053515) * multipath-tools: link internal libraries before foreigns (bsc#1028132) * multipathd daemon: Fix incorrect use of CLOCK_MONOTONIC in pthread (bsc#1053757)- Update to version 0.7.2+11+suse.448921a2: * multipath.conf.5: document no_partitions compat support * libmultipath: fixup compat support for 'features "1 no_partitions"'- Dropped 67-kpartx-compat.rules (SUSE legacy). * symlinks "/dev/mapper/${UUID}_part${X}" are not created any more, only "/dev/mapper/${UUID}-part${X}" (with "minus") - Dropped automatic kpartx invocation on dmraid devices (fate#323743) - Rebase to upstream multipath-tools 0.7.2: * libmultipath: retain_attached_hw_handler obsolete with 4.3+ * multipath-tools: move up TEMPLATE in hwtable * multipath-tools: delete libdmmp/docs/man directory in make clean * libmultipath: fix unit to seconds in log message for checker timeout * multipath-tools: add HPE StoreVirtual 3200 family to hwtable * multipath-tools: add HPE MSA 2050/2052 to hwtable * multipath-tools: add/change fujitsu arrays * multipath-tools: check sysfs path state for NVMe/NVMf * multipath-tools: sync third-party headers with 3.13 upstream * multipath-tools: beautify path_latency.c code * multipath-tools: fix format in multipath.conf.5 * libmultipath: update 3PARdata builtin config * Bump version to 0.7.2 - Update to version 0.7.2+8+suse.95e8f43e: * libmultipath: don't try to set hwhandler if it is retained (bsc#1037533) * libmultipath: don't [un]set queue_if_no_path after domap * kpartx/devmapper.h: remove dm_no_partitions * libmultipath: compat support for 'features "1 no_partitions"' (fate#323406) * kpartx.rules: respect DM_UDEV_LOW_PRIORITY_FLAG (bsc#1047180) * kpartx.rules: Use DM_ACTIVATION as condition (fate#323406) * kpartx.rules: skip creating by-uuid and by-label links (fate#32340)- Update to version 0.7.1+69+suse.3bfa5af1: * Merge branch 'sles12-sp3-fixes' into sles12-sp3 * libmultipath: get_udev_uid: make sure pp->wwid is 0-terminated (bsc#1048146) * libmultipath: drop uevent_can_discard_by_devpath (bsc#1048052) * libmultipath: only listen for uevents with DEVTYPE=disk (bsc#1048052) * libmultipath: fix over-long NVME WWIDs (bsc#1048146)- Update to version 0.7.1+64+suse.aabe8c87: * Updated "no_path_retry" patchset to v4 (minor change) * kpartx.rules: Fix syntax error in skip_kpartx code (bsc#1046092) - _service: use "match-tag" to refer only to offical tags- Update to version 0.7.1+62+suse.62a2c36e: * kpartx: only check for 'no_partitions' feature on dm devices (bsc#1037533) * Revert "kpartx: use mapname if no uuid is present" (bsc#1037533, bsc#1033541) - "no_path_retry" patch series (bsc#1043027) * libmultipath: load_config: skip setting unnecessary defaults * libmultipath: add/remove_feature: use const char* for feature * libmultipath: clarify option conflicts for "features" * libmultipath: merge_hwe: fix queue_if_no_path logic * libmultipath: assemble_map: fix queue_if_no_path logic * multipath.conf.5: document no_path_retry vs. queue_if_no_path * multipath.conf.5: Remove ??? and other minor fixes * libmultipath: add deprecated warning for some features settings - _service: Use "sles12-sp3" branch as revision, as factory and SLE12-SP3 submissions are in sync. Will be changed when factory forks off (latest at SLE12-SP3 GA).- set KBUILD_BUILD_TIMESTAMP to generate reproducible man-pages to fix build-compare (bsc#1045111)- Update to version 0.7.1+53+suse.07c2f6ac - kpartx patch series from upstream (bsc#1037533, bsc#1033541) * kpartx: only check for 'no_partitions' feature on dm devices * kpartx: test-kpartx: new unit test program * kpartx: remove is_loop_device * kpartx: relax and improve UUID check in dm_compare_uuid * kpartx: dm_remove_partmaps: support non-dm devices * kpartx: dm_devn: return error for non-existent device * kpartx: don't treat multi-linear mappings as partitions * libmultipath: don't treat multi-linear mappings as partitions * kpartx: use partition UUID for non-DM devices * kpartx: use absolute path for regular files * kpartx: find_loop_by_file: use sysfs * kpartx: include sys/sysmacros.h * Revert "kpartx: relax check when checking for a kpartx device" - Spec file: use new build flag for libdmmp installation (bsc#1036652), enabled by upstream fix: * libdmmp: enable library installation in alternative directory - Other bug fixes from upstream: * libmultipath: print.c: make sure lines are 0-terminated (bsc#1038865) * multipath-tools: fix compilation with gcc < 4.9 * kpartx: fix device checks * mpath_persist: Don't join threads that don't exist * libmultipath: fix suspended devs from failed reloads * mpathpersist: fix one more crash possiblity - Minor upstream changes: * multipath: Merge the DELL MD3xxx device configs * multipath: fix up position independent code * libmultipath: fix partition detection (bsc#1037533) * kpartx: default to running in sync mode * libmultipath: force udev reloads * libmultipath: print alias with no_path_retry message * multipathd: force reload device on all resizes * libmultipath: refactor calls to get dm device info * multipath-tools: document uid_attribute for NVME devices * Makefile: Remove assignments to unused variables * libmultipath/configure.h: Add a forward declaration * libmpathpersist: Add two missing #include directives * Remove mpath_reverse_8bytes_order() * Move the declaration of mpath_mx_alloc_len to a header file * Remove a superfluous "extern" keyword * mpathpersist.8: add missing documentation for -K, -C, -l- spec file: Disable RADOS support for i586 on Leap 42.x (bsc#1036271) - spec file: Move libdmmp to /usr/lib[64] (bsc#1036652) - Update to version 0.7.1+7+suse.3edc5f7d: * kpartx: use mapname if no uuid is present (bsc#1033541) * kpartx: relax check when checking for a kpartx device (bsc#1033541) * libmpathpersist: use extern struct udev (bsc#1027188) * kpartx: include sys/sysmacros.h (fix compilation warning) - Update to upstream version 0.7.1: * multipath-tools: improve processing efficiency for addition and deletion of multipath devices * uevent_can_discard: optimize devpath check * multipathd: fix SIGUSR2 handling * multipath-tools: clean up libdmmp/Makefile * multipath-tools: libdmmp: Fix incorrect use of __attribute__ * multipath-tools: Remove trailing whitespaces * multipath-tools: add missing "-l" flag for pthread in libdmmp/Makefile * multipath-tools: build objects for libdmmp and libmpathpersist independently * libdmmp: minor Makefile cleanup * multipath-tools: remove incdir from Makefiles * libdmmp: don't disconnect from multipathd twice * multipathd: don't call strlen on NULL variables * libdmmp: move libdmmp.pc install location * multipathd: drop lock before calling uev_add_path * multipathd: allow devices to switch from RW to RO * libmultipath: don't set max_sectors_kb on reloads * Remove a trailing tab * multipath: fix segfault with disable_changed_wwids * multipath-tools: amend text from multipath/multipath.conf.5 * Bump the version code and date * multipath-tools: replace multipath configuration output * Revert "multipathd: set timeout for CLI commands correctly" * libmultipath: fix skip_kpartx support for removing maps * Bump version to 0.7.1- spec file changes suggested by factory review team (bsc#1030699) * RPM group adjustments. * Avoid %__ macro indirections- Enable rados for SLES only for x86_64 and aarch64 (ceph is currently disabled on SLES on s390x and ppc64le) (bsc#1030699) - Downgrade to version 0.6.4+103+suse.bcb5d0f4: * temporarily remove commit "multipathd: fix SIGUSR2 handling" until it's merged in official repo (bsc#1030699)- Spec file: disable librados for architectures for which ceph is not built - Spec file: enable librados by default for SLES12 SP3, disable it on Leap <= 42.1 - Update to version 0.6.4+104+suse.ac0df678: * multipathd: fix SIGUSR2 handling- Update to version 0.6.4+103+suse.bcb5d0f4: * changed to official github repo openSUSE/multipath-tools (no changes code-wise)- Spec file: Added dependency on sg3_utils (boo#1028857)- spec file changes: optional librados and libdmmp support * enabled by default on Factory and Leap (disable with --without-rados, --without-libdmmp) * disabled by default on SLES12 (enable with --with-rados, --with-libdmmp) * libdmmp0_1_0 and libdmmp-devel as separate packages * minor fixes for RPMLINT warnings - Update to version 0.6.4+102.0119472d: * rebased, code-wise identical to previous checkout- Update to version 0.6.4+102.df7d367e: * libmultipath/propsel: Do not select sysfs prioritizer for RDAC arrays (bsc#1004858)- Update to version 0.6.4+101.f01ef4da (SLES12 SP2 changes wrt upstream): * Make libdmmp build optional * multipath.rules: use -i flag to multipath * kpartx: create symlinks for dmraid devices * kpartx: Add udev compability rules for SUSE * libmultipath/checkers: make RADOS checker optional * multipathd: fixup check for new path states (bsc#1019798) * tur: Add pthread_testcancel() (bsc#101979) * kpartx: sanitize delete partitions (bsc#100869) * libmultipath: coalesce_paths: trigger uevent if nothing done (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: differentiate ACT_NOTHING and ACT_IMPOSSIBLE (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: reload map if not known to udev (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: sysfs_attr_set_value: use const char* (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: select_action: check special features separately (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: disassemble_map: treat aminio like assemble_map does (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: disassemble_map: skip no_path_retry check (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: setup_feature: handle "retain_attached_hw_handler" (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: setup_feature: print log msg if no_path_retry cant be set (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: setup_features: log msg if queue_if_no_path is ignored (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * multipathd: use weaker "force_reload" at startup (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * multipathd: imply -n if find_multipaths is set (bsc#1012910) * multipath: ignore -i if find_multipaths is set (bsc#1012910) * libmultipath: move suspend logic to _dm_flush_map (bsc#986838) * multipath -ll: set DI_SERIAL (bsc#991432) * libmultipath: use existing alias from bindings file (bsc#1005255) * libmultipath/discovery: do not cache 'access_state' sysfs attribute (bsc#1004858) * multipathd: issue systemd READY after initial configuration (bsc#1006469) * multipath: avoid crash when using modified configuration (bsc#1000914) * multipathd: Set CLI timeout correctly (bsc#999061) * libmultipath: Do not crash on empty features (bsc#994812) * libmultipath: fall back to search paths by devt (bsc#995645) * multipathd: set timeout for CLI commands correctly (bsc#999061) * Invalid error code when using multipathd CLI * multipath: do not check daemon from udev rules (bsc#986734) * Add support for "multipath=off" and "nompath" on kernel cmdline * multipathd: start daemon after udev trigger (bsc#98673) * multipathd.service: fixup Wants= and Before= statements (bsc#1019181, bsc#991742, bsc#986734) - Update to current upstream (0.6.4-65-ga2675025) * Avoid that reloading a map sporadically triggers I/O errors * fix udev rules for failed multipath devices * multipathd: allow resetting stats * multipathd: add messages on delayed path addition * multipathd: don't update priority of failed paths * libmultipath: cleanup orphan device states * libmultipath: add detect_checker option * kpartx: don't keep creating recursive partitions * multipath-tools: Introducing multipath C API * multipath-tools: sync valgrind.h with 3.12 upstream * multipath-tools: add availability of service-time and queue-length to multipath.conf.5 * multipath-tools: add availability of service-time and queue-length to multipath.conf.5 * Fill NVMe specific path info * Don't blacklist nvme * multipath-tools: fix misspellings * multipath-tools: git should ignore rej and orig files * Include sys/sysmacros.h * Tolerate modprobe failures in multipathd.service * multipath-tools: Remove trailing and leading whitespaces * multipath-tools: Perform socket client uid check on IPC commands. * multipath-tools: Set errno mpath_recv_reply() when failure * multipath-tools: New way to limit the IPC command length. * multipath-tools: libmultipath: Removed unused functions. * multipath-tools: libmultipath: fix gcc link failure on rcu_register_thread_mb. * multipath-tools: multipathd: Fix memory leak on load_config(). * [multipathd] Remove trailing whitespaces * multipathd: deterministic io throughput in multipath- Remove superfluous PreReq for insserv and fillup- Update to version 0.6.2+suse20160928.8939fb6- Implement support for 'multipath=off' and 'nompath' kernel commandline options (bsc#1001691)- multipath: avoid crash when using modified configuration (bsc#1000914)- libmultipath: Do not crash on empty features (bsc#994812) - multipathd: Set CLI timeout correctly (bsc#999061) - Moved multipath-tools repository to github.com:/openSUSE/multipath-tools.git- Fixup glitch from patch 'fixup check from udev rules' (bsc#986734) - Remove 0001-libmultipath-fall-back-to-search-paths-by-devt.patch; integrated into git repository- libmultipath: fall back to search paths by devt (bsc#995645)- Fixup module name in /usr/lib/modules-load.d (bsc#986734)- multipath: fixup check from udev rules (bsc#986734)- multipathd: start daemon after udev trigger (bsc#986734) - Load device handler and multipath module at boot (bsc#991634)- Do not check daemon from udev rules (bsc#986734,bsc#990538)- Include fixes from upstream: * memory leak in orphan_paths * More hardware table cleanups * Add 'serial' keyword to weightedpath prioritizer - Set timeout for CLI commands correctly (bsc#990265) - Start daemon after udev trigger (bsc#991742,bsc#986734,bsc#990538) - multipathd.service: Fixup Wants= and Before= statements (bsc#991742, bsc#986734)- Include patches from upstream: * Cleanup hardware tables by removing default entries * More formatting fixes * Order keywords in multipath.conf.5 * Change default pgpolicy from 'failover' to 'group_by_prio' * kpartx: Fix check whether to detach a loop device * Fix partly traversed loop in coalesce_paths() * Fix memory leak in reconfigure() * Cleanup include header files * Bump version code to 0.6.2 - Fix multipath -l without output (bsc#990480) - Fix spelling in a log message - Fix type of rcu_unregister() - Do not perform POSIX mutex operations inside a signal handler - Ensure that signals are delivered to the uxsock thread - Fix memory leak in path group policies - Update tarball to 0.6.2+suse20160728.d96f423- Include patches from upstream: * Makefile cleanup * Update multipath.conf.5 * Update hardware tables * Whitespace cleanup - Fixup crash during shutdown (bsc#988539) - Update tarball to 0.6.1+suse20160715.3d44636- Remove obsoletes spec sections- Move config accesses to use user-space RCU (bsc#987526) * Revert 'move filter_devnode under vector lock' * Revert the rework patch - Include patches from upstream: * Update hardware tables * Update kpartx manpage * Whitespace fixes * Include coverity fixes * Drop AUTHOR file - Update tarball to 0.6.1+suse20160704.6e52398- fix service file to not pretend that this is the upstream version. Now labeled 0.6.1+suse20160603.9b920e3 - Fix BuildRequire to get systemd.pc from correct package (bsc#983167) - point rcmultipathd to /usr/sbin/service to avoid dangling symlink warning- Rework patch 'move filter_devnode under vector lock' (bsc#982348)- multipathd: Fixup definition of set_unlocked_handler_callback() - mpathcmd.h: Update Free Software Foundation address- Do not install header file with mode 755- Update to latest upstream version 0.6.1 * Merge suse-specific patches * Drop multipath.conf.* files * Update to version 0.6.1 * multipathd: move 'filter_devnode' under vector lock * libmultipath: use poll() in uevent_listen() * Increase kpartx retries * Merge Dell MD3XXX hardware table entries * multipathd: Add 'sysfs' prioritizer (bsc#927040) * libmultipath: call get_vpd_uid() if no uid_attribute is set * multipathd: update defaults- Update to latest upstream version 0.6.0 (FATE#319406) * Update documentation * Fix memory leak and segfault in reconfigure * Add wwn keyword to weightedpath prioritizer * Use 64-bit int for command key * check partions unused before removing * print 'fail' when remove fails * add exclusive_pref_bi for alua prioritizer * kpartx: verify parition devices * multipathd: delay reloads during creation * Cut down alua prioritizer ioctls * Add 'ignore_new_boot_devs' option * Add libmpathcmd library and use it internally * retrigger uevents to try and grab uid * Update to version 0.6.0- Port to latest upstream version (FATE#319406, FATE#320255) * kpartx: support device names with spaces * add raw format multipathd commands * make kpartx -d remove all partitions * Add find_multipaths option * Autodetect ALUA CLARiiON configurations * Delayed path reintegration * enable configuration directory * read-only bindings * Add deferred_remove support * correctly set partition delimiter on rename * Add overrides section to multipath.conf * Add additional path wildcards * Add force_sync option * Misc small patches- multipathd: do not flush maps on startup - Use find_path_by_dev() where possible (bsc#924316) - Fixup error return in store_path() (bsc#972329) - Do not display message 'invalid fd'- Fixup overzealous warning 'empty device number' (bsc#969857)- multipathd: fixup signal handling (again) - Revert 'trigger all devices on startup' - multipathd: print error message for invalid arguments - multipathd: block checkerloop during reconfiguration (bsc#946658) - libmultipath: correctly initialize pp->sg_id - multipathd: don't buffer output with systemd (bsc#954726) - multipath.rules: Do not forward partition events (bsc#954726) - libmultipath: improve uxlsnr handling (bsc#954726) - multipathd: do not realloc memory in uxlsnr (bsc#954726) - libmultipath: call get_uid() for all paths (bsc#935312) - multipathd: Do not print misleading message 'not found in pathvec' - multipathd: Do not update the paths vec when removing paths - multipathd: Do not switch paths on empty multipath tables (bsc#956349) - libmultipath: remove 'get_info' argument for adopt_paths() - libmultipath: ensure 'dev_t' is set when store paths (bsc#924316) - libmultipath: Do not store paths with empty dev_t (bsc#924316) - libmultipath: Do not store paths with empty device name (bsc#924316) - libmultipath: sysfs_set_rport_tmo still wrong (bsc#926588) - Add LIO-ORG/SUSE RBD backend hardware defaults (bsc#947845) - multipath: Reset alias if renaming fails (bsc#943157)- Fixes for md_monitor on zFCP (FATE#319070): * strict loop timings * multipathd: fixup a crash when invoking CLI commands * multipathd: implement 'show map $map format $format- Fixup hang in 'multipath -f' (bsc#941954)- Create package for SLE12-SP1. * Remove multipath-tools-0.5.0-sles12.diff.bz2 * Add multipath-tools-0.5.0-sles12-sp1.diff.bz2 - kpartx: parse emulated DASD devices - multipathd: Fixup queueing mode in 'show maps status' (bsc#933885) - multipathd: Accept zero-sized paths in ev_add_path - Always set DM_UDEV_DISABLE_LIBRARY_FALLBACK (bsc#933282) - libmultipath: Fixup 'DM_DEVICE_RELOAD' handling (bsc#933282) - libmultipath: correctly display checker status- Remove 'udev_sync' argument from dm_simplecmd (bsc#903001) - Ensure multipathd is started before systemd-udev-trigger- Only import ID_FS_XXX variables if not set (bsc#909358) - Fixup regular expression for HP MSA 2040 (bsc#920189)- Add dependency on systemd-udevd.service (bsc#903001) - Use ALUA for HP 3PAR (bsc#922105) - Add DX8700 S3 and DX8900 S3 defaults (bsc#921703) - Load all device handler modules on startup (bsc#908529)- libmultipath: make vpd page 0x80 optional (bsc#917963) - Add HP MSA 2040 to the hardware table (bsc#920189) - Revert 'Skip unhandled device types' (bsc#917701)- skip uninitialized devices during reconfiguration (bnc#908915) - memory overflow when printing help text (bnc#909742)- Do not automatically fall back to vpd uid generation - Improve vpd parsing - multipathd: trigger all devices on startup (bnc#901465) - Unset 'uid_attribute' on failure- libmultipath: Fall back to SG_IO if no UID could be assigned (bnc#908915) - Assign local priority for NAA VPD descriptor (bnc#907483) - libmultipath: finally fix dev_loss_tmo setting (bnc#889927) - libmultipath: Do not use 'sscanf' for parsing integers (bnc#889927) - devmapper: do not flush I/O for DM_DEVICE_CREATE (bnc#901809) - kpartx: handle more than 256 loop devices (bnc#898427) - multipathd: fixup locking in uev_remove_map() (bnc#901891) - multipathd: use global variable for uxsock timeout (bnc#900758) - multipathd: remove unused variable in cli_reconfigure() - Add %service calls for multipathd.socket/bin/sh/bin/sh/bin/sh/bin/shmultipath-tools-rbds390zp31 1683130228 0.9.4+71+suse.c648a77-150500.1.20.9.4+71+suse.c648a77-150500.1.2 0.9.4+71+suse.c648a77 multipathmpathpersistmultipathmultipathcmultipathddracutdracut.conf.dmultipath.confmodules-load.dmultipath.confmultipathd.servicemultipathd.socketmultipath.conf11-dm-mpath.rules56-multipath.rulesrcmultipathdmultipath-toolsREADME.mdmultipath-toolsGPL-2.0GPL-3.0multipath.conf.5.gzmpathpersist.8.gzmultipath.8.gzmultipathc.8.gzmultipathd.8.gz/run//sbin//usr/lib//usr/lib/dracut//usr/lib/dracut/dracut.conf.d//usr/lib/modules-load.d//usr/lib/systemd/system//usr/lib/tmpfiles.d//usr/lib/udev/rules.d//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/multipath-tools//usr/share/licenses//usr/share/licenses/multipath-tools//usr/share/man/man5//usr/share/man/man8/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:SLE-15-SP5:GA/standard/71abbb598fca53d0f2fdedc7b32ce67b-multipath-toolscpioxz5s390x-suse-linux cannot open `/home/abuild/rpmbuild/BUILDROOT/multipath-tools-0.9.4+71+suse.c648a77-150500.1.2.s390x/run/multipath' (No such file or directory)ELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=800d77ed6f036e1668f2ff1276033eb1dbcc962e, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=fe7df83d88e709fd391c5858859b2c21122056c2, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=888a9cb0eb4f8f262053ee4c531dba49bd800934, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=68fdb561a1fda836929377ebc095c3218c6b7efe, for GNU/Linux 3.2.0, strippeddirectoryASCII textASCII text, with very long linestroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) )F  R&RRRRRRRR%R RR&RRRRRRRR,R R$R"R#R!RRR%RR+R RR&RRRR RRR%R RRRR,RR*RRRRRRR'R(R&RR R$R#R!RRRRR+R-R%R)R RRRRp&Z'P?* if test -x /usr/lib/module-init-tools/regenerate-initrd-posttrans; then /bin/bash -c 'set +e; /usr/lib/module-init-tools/regenerate-initrd-posttrans' fi/bin/shutf-8d4ef0e246b8c1280d180a4a3721cc86769f325b12c3834cb3e45680c8d3621e1?P7zXZ !t/W] cNſ^Js$t%^RTCpi^[i8n*'wQ?:N :zcB&M[H:q< JI,@^B"O?U;E Vs|c rChsz D tfEZ4BԍnETqGJS3R4s oXP[<AIN.I{OȬӧ!Vl8f0ho.ҊhZn1 өc_ƈ`(^_Y;18q8gU>k*WdI OLϖ_H`odE!ؾW ~k$8G80@Q^*JܛF"p}o|jCQecοAGBxDTvA"ik'+Yŭ;JG0_Vw/C5RE(T+?,iCG?9փG 0U^bځճijՠGU7ϐh/Ђ6"5Q u-7U3,n!qC4muS2h1zao\%!;q0 D8*Uv9KW^|o&P1+ ˣ~+ՔuU_vݗ)Q(9|(to^YlX,Bk<+E3 ;mb@d3Ó::Րֶ Rjn@O>\ל*q&\cx3cٛ7Fۊt7 CH,tCˋE<@9.fٺCg m&K=5ܟ4|(*M}9a[3<~QDkɗa7_Tl$33DŽ4z gK nː4< wpN*7zhTNOz v8۽ B!Р,FΨ9"yN-9>$[ѰxwnB7#:E^%c'Z`h({0AWhDos/eV.VA/|,\pTu&|piX>tPN8DD}xu(ZZJ ֓A7my g/xGq3n]OB?*ȴ 5u-oV|Aj%NUC/><*gNCLɖgWAR>Oᩨp3dCgK+Uu2m:=kohjœW<x@~)[aڇ9 l)VPp7W1'Ǒ̆L bU>Cnz_-y{)󵈝Q?>?۲ti.Sb6kU(uH/uS85"9iy2eNDaQIm`\ca*]|'Cs4g kb.z_+8_!-ic=(l$2 qu^:v908&U3Qz cׂ3H*1B[`[XssԐq]GϻH`Z%ÈdыI[eiATM{+#YdBt~s*@K #Pbo VPDD{_Ş tdQ܎%[/$(\bb͈?3M+1?ǭªw,ShPR1wY~5bBaݹkXx2J?շ>TsrNx1J4Mtk?`doCYHo'2D<2k$>TP~,b$FX륇I%Ꟍ2n b\F!lAK4I-D^;݄!KĄuͦMJoN#,mlgI~jض5|!\Z=% Ǹ~ y?R w8(kF=hU2 b_LdGA!ʬ?֥}Z0$S׼ rN sJ*cISNMiv1>i8_, |jnmy3&r ݶ1 L[0Pe;!8#7]g86q4Q{$3!ŒY#]LI׺ gЃN2utq$&QP ul)|{-K3̓ކ"҄i>Ǝ7\)>A= !)B(~*-B 4J:_rÛEBR#& G z!,IZohY|R$w&m};mL#McVTMKer7]q}L屰gp3iD,N='RfQS{tSDp64H)DhD&񚏍\>M NB_zI]ƛ .+<,'& Й\5Np6wo\B\c=üF;7`ॎy"R _Q7:kO*HJvr>p5oL4e.0^RbB!W$Z3*JA ?߽0V,dSfM~$as*rUe>sC Jd /=ZTVfZC+1hJ\ZTc06|#H/h(؄VfÀ!҉d)9~Є3BQRW+vWߞճW#w8̌%ً.|` 2 ]/kԤhqO!)T΢!:Nh|4LY ;^UYf l$! Ow^sW`p$3tizM7t jܦ9zZ쩼)~$oB%W3^ eO,˚9KzCu`L/ xAhh:>~vOsˏ %K:G~`q_0A+ϾNO7u\g;Ǿ1GdVghRبz1,jyxS:/!͛ {Z1YSor]\n7Hg,ҘM+ CbaLi %6OhA&7 xU$n΢DxG!RڥW쩅F"O)htK1M~ PueG?!~e"eR EbiS>BQN@@k鏔'Vxuq@f/Kfk cL99u7ḡ,I!Bh%)H'u5;cBZXҋ<V Зv.kUD4W6 "ꡄ[<-<'82UYB/:+ EԱ5`? o'Ek 5[in=M&XDOPw_y_Zq;_[0}0C t|t(ACPD=(Y <3x%bX;Ⱥ-\()ݘK}?@9 lsQj ;&.!(+ӔyJ9aP Hq*$2%ѼHEզЍ0WC% 'k%tJ,qa_A&/w*k+"?}^I&㸨Iy.;͛PB#(NDHUeZ\iDS3 Ld::4(%>-qޛoP0%L O)3)sCI5XPWܫfl7䶀0Vb9W8bP;7Qd9Ғ }&}VƕpXLf:Q1UZw"Z!Y7Tǵg)`)MeT,,~>W~gLwd 2Q1{g[nĻJHA1x L+|L9 ZY% >wa= g!Hqr0#f-n<W󰒀AR)K閛yHyVMmK? xe8m й#zٓTaD`;S;q8G)cJBezx2f ph0lr!2w2Ĕo S)e4;.$l6 8fHf 9)Y>`@ qizsCx|r7ԊN͡z+Vk;!#KsPk݇}um:6exLN`;7]w1z!Ah=PHluUX?w{h煙ԯJuIrcdUyuMl"vy{,M VBx菔pz~\& 0ЦFӸ&H_0&AY{mرG?JPUZЧMӗu)&`E-sn̿` n3k[[ғX_SU̜t|IsӠBySXTRѧmp6Вbʞqְλ9@MyLWRJH8T;p) os7j!0/  |tp6't-iw0SjPD_.ljqj9LVe/wwOCWH漟p88/x* s:P{X} -m|!pf0 '%b@a`Ȧ4La7ǙҔR2 y#eg` H, k+p>Jυye*4Ov?-# F@D>}20 2Oۭ4}JUp7)./|x|5,P1x-aSMӦkt }AІ6If!$nR>b5Nyʝm6e4x(iHL o{P/}j( R4(K'DAv[+mwފx ˕5IV,eGY*/Ew .#P_P6T^Xɳ*~}xZɖPd{jD_qP #-/]@_.¢@(tվ9Än5! vo1:Fi61 ٛG%'y5p O_0%=L 6o/%)-~4يeDE hٶ%b$'Nz*fdt6U,83* %mohRɝ?5 ~C7{RLzH󧮉6 NnZ3c YjWy5D,G>OLVW!+e^CTvOD|J=EztԞm^+K-k+> =,_KL.ŭ-(N$p]L ^?UyrɱB_#1 c<<Ё=Ys$f9y#43;RCA\qxgW Xc8D o/Øupۈuy]:k5&fwӓY`o!|+ELl/IT^ ׈'P|cRSK 3l&uhfwӣŒ+@KLW嵣S,'y߯[aԂD"'x k)=,НIYЍ@tXοj\F]Z~,t>bL:kLvJ'=n%ed]뙉Y'?zy]xU}Tl^>ƒϩVY֦v'97/9x<*ƚXXO)]`m^o"@UI'hqR@ư:?ZJw>tsK7= c2R25oKTuݶŀRiQu ;NN5j:k?UvJή\DjZL)<YQu8~nANdWlύ E GB~]$IxB,dTT#?+ԬzQgS2Hyl[z:2-r,*u1.[]҈Ns6Rx%0[,mo缳 5D%'іSĘ*k 9Z@ˍ# !hÂpQCxPTKܳVVo۶Ln[.F9ܞ_Б0*@.dP!:5Cp9c<%]R{ʋ6a=8/+c˂ iK/5VM..XM^e=B^l.)7WZZzϩOzw"iw>,e&9@zP,H)g)=],ntnR޾) pJpNVi׍ v5q'Aus: Q0EO_P.$8x_yʹzخBd %d Ɗq',$Ւuc5Uz܉kI$Zڒ!/78w58IUVZbl\?/Ō,!_o#L(׉&HrG+E R3Sj|3i?ĵTsDJ9\*J }icu:8qLLn)Q-nc0$y Ct3&_[qDn.%XZc(2W;ЉNhb>r.f+qr&]̸9XƖַ#:lͺ_iJ573m2r5-D KIۚkklJ5oΓtYI-ˮUt dc"iC&6^\ 9gݺ擳"2 aEUN%QPoba^t16yQ;^mVF#Ȉݣ IM7%$S8BMqO\RMn2L[6}#\7PKs{!gnk-տk6vR0LG!e+BE$ # 0^=%N6pRwP%7 Cq h\8#.JBEBLmj'@Ԫws^1Qo/&)RI (`D)_Sw }$n!_%)JOb1Yӌ/OfKS_d8/1hFd:7I:/."#V0W>2n1t3e NCH+P}E=Q.[^Kwp.XMk W!Y$r0EI[{E7h-m'6#"n[^i/eF6@.5GHg?6Z*&ؑ'#6ΙQ槪&;/*ĴwҔ"9H~.MlWyT8Glc9(ajV6^Ѻf?Fz*?ؘW!B0O !8/Dw{Bm>45dTࣩ)%(ɩ2vj6u xé(0 #"]BM3.sRh\n-asVf bV}!JX.t;k!qeoVՎu"yYb+,<<o}'Ƥoh9hZ nX̍aCen! 8[Oإ4lJͮO{hX]-jw K(+b _}(1GW0ó5s77 x۰MM UVx ,4>HDZ݇ !Sͣ(0KJY͡m?5 i~:1Yf@ԇCo)&B8i(pWXCbU=@WQWh1u1㩘8kGʩ5.b(t9y[[ `3?`X A%3b2w[ؐlM>uHF|fy<˼E.t5N:&l 'CzZ|{-('%>/w-`ɣYr}E [ ɕq>z̘&>}-8H<-l5#DR;*ѯDQ9]+ZWVT(5v, G>؂Ώ f#J4P̵/fZT/G8;WģΖ&㝀G Yqgg+PlС g6i%4x@Ve;siFa^1N+/RcPfITm<t}HkAJy*[\-P:'6ijv~PMUrw7NwTnPAN'l~OsDm4=-:rNGpu.[ .SsVS8Ծ[#N&T)Y%K]dj_4Օ̋:>oVt;.w^8SzRY_D4U]R䢿`#eSrp߷6Td[^-]2{VI|u@ލg'% dƳ~q15hVX0Y ]i/UR;hF1| vݰ]+剞N5shY yrN2GU%;'J\!Gj}?1c?# 9FpS]-b&ɀ5p3M 61;tpBUl"?YJdk*DI@/imwFnZzq1-CX ƿc@GN/ $6c7s."<超* 2K2<>i 2=ah(V%HD2'[ wvZ)Ma&SqC>?:w3GQmZ ܤo9)秨a`sU=6,+qSN;9*@8lm%l(DH)/?2{BR c>UbU!E~Ō<}7oFL$px YrNhߛ qheȌ.ޮC8ւ^D&6'.xVү2 xxCR/.hPZ%]I})g-F~.Zɉ4/w3! /:]u\(_- Ql֏YnO nNtT[SY8Q‡[n5xX5k UGŎPj.GN3-y\~Z*_oH#JT쭞fOJ\KeW%KaTe7Ottup5dO 7{z֏hƭ@GIؐ6'oy8$Y.Y`[1p?y>%W߳l.89GͰE,K{SD TkWX}c\ ȥ8hm]vƣz7xQ?سoJOL[ֹbƦ5dFmixӞٖ;H^#6w>]H8aT#́K|zZ؆җK@IثÒǪqﴡ6qgUy?!<)(p e]ptGodWBnݮ9xDݰmz7#}] }(gMkF0^؂g'20OC\p>o[Pz ި;@}5jCt4vI"(̨מ*?kѓ|3q6I˅C,.s"Uي\yR<ϙ` U qt$TX ? h%Қ/S\B[_Q֎Wv*NR*yJ(]] t6m%3!M5$)|L^*O:)Gg4rA&uc\&vcALJ8jLK.&Z#_dOM.JfY# >E;3)3i`C s|>rJO'l#iP jאY=3҈tyҘqwA;sG^^G*jyϴ^k,iJhwg(RTV%& d!0ږ/7G'}JYHm3m KtOcOO)Ny1Fg9.nsS&=ȰQ|է,BAZpN #/C2ˌ}L)YUGr슅lFM Y~0SƩQg:x~TɜEML _7ѵE <̮§iAϕ ;~𩅑@ٽ0d:q- ]˯Rvuz\ZmA,2}[?2ذ;m#I\Iz zqDWOZk"!X^JR +8̆CTQ(&EmwHo Ŀ(`! (?kzn2Mhٿo = ᪞%^U :dKmUw Kf$7[ @ynpJR3F2CĪ͢¢nȊm6$N} KJ!53oZ:-qK{ƽA%`̍CՑe> Jnh'{+oȤ<~\vLPbGJQ2 71ǯ,//$NYr/bK{fh1ȭlc/:9ǚ)aSn S쪠T?(v(_nwBڠ0H"f۷})Ьҩ?]Эr"ʨ Q {1qdVcZEif|xVʍ/Rqn(|TnOZx-k^9N1%LT19C< _",IߢDNk+o$qk(;YXIr=('t\T)qF>0q<ʹzFg9ZW:i i/oo{Xy-D9C@'T,?ܕ٠ж@=4PAMqk9#j8Q-9 vGRiw]:3HQS2* @H:51ršN/ƥa)F!CH49<ڶu` !UBm%C;K:&7Vq >t(s b w sb%>mY7҆ÃOV=P1ށ-&pG T_T~YXj<,%l;`p5 aV]#3?.VQv1Y料?C9)ٚ3[,[t $};=<_8MnPKȢJٖ!rfq9N$*h!sLIh_HyR˿lsCo:i#g>a+tJ3P?p½S8]ZޓG?M;ovGLj8on P kn*w>-A]. ;qfLn vK*i%O|ʍ%#b2FS쁸dž|x6慽, @O.i|$W 78Fact=w{E*vF:ܩ*▟I2]t ]܏n㗂? --YIͶ7>|QxQ;~ͣfUgdPm~ɑR.C_0Hh6h.[t q.4Au#T[Wb=>B;F[@ 4QW{>l8:1^'RեɓVl T|*4,&~ۖ$n_o4J kyO1X↰@@% -ZΐcW7 ~bH|Ȏ$_|8%Qh=]/㼽8Ŀ,_/.!> :yۣQQDۇ/-l:C#b^bed07~7-}6sdE]fݏזj2|@ʩ(nWYe->SB(rه{y͋B=i^bU|3Ru=]~9ܕ޾m'Z1a4'%oo\t/lQZ\Ѥ.&*Ϳ>Mѷ(!A(N*ThF)&^S0<u` G4틛[D,ڋi- 0T0xɺ7Ju1<<7 n|x;l# ^|U+nPt)6ݮ1uUsNK|<;ީۜG(75Ņ$xHc06THYYrLK M AYhf-oJҰd*$%)ixdPՊjr+sjq5BHj9YѮ tdq_$zr[7|rrҕS U2w(a)Ht&4 K3P]QA%*POjRb??H~ aRo-@I;G1<@u]9٩y1T=cX;΃V{z)JW-FkYCP¹YuQ/Ӗ{._߃Ϗrk e<{ḷv!=l0V@>) Xim+RUPEQb Wz{J}JtƲ[ܰsVƵ$x0 S JMTW!.[O H+%-R}:r":h%jagV4`LmJP'EEAG)ś(BTurr/i?ס =ǏyG-qkQG"gC$9kf"Z,cZyD1Y߂N/,gr%^s;ZRce!X@;E>-5N*i.qX uiRMSBc(=:HdZ+4'F<n ˑ1CL|R>ήW*<w[B/ݓ&ݼaIK=7s7pP~Nmq7~uzկ2x#5fR$K{YfG|oE)XS(w%1~ݑ=ӑ`Uٷq+]yRbkrНAI9SCGBenԹϐc\|k ]ӃMYSBhbXW-cGQ)(!UKl||4MS$+[iM=u5znۂO -)4KCSMʯ3=mTVqKVUJŝIr#Ͼw\eHgN΂|ijF5 ⫫~R\rORֆjFA^k# VYApXBq(UԖL'=a.,@xAXUDAI?O @S;QxAX\=eEqk'B5٦MAȅhaBHGĒegڭңO.zػXN8NS, A"cq3?O:ٲ D$v4El1D _3ʁKLXA5zhFXqd!99M[26PXpp$ϼ|JȲ`C#H%'NxpݓYeP 孰ؙf/:Tn״pW`jh NTuݵp,:Zk^:[HA{~7ae۲N3u1!TXcJq5&5F1 F1?mVC1XPg@=<.Mdt!Aa~i{>QPeQu5۩t8˚2E NRY3+:$Q |Scu沂m3!hpk\jF_+&#L- -GV_aXl[G(%7BbޔKl~xC«yAMASܭUdZ^G@2"/rS-} /"a`%6`w6 jXTzzU{*X/AѠ "ߟuFq{ۥJΈU댭LeJUBS)xI7*kq¶}7]mwoeH@QOc1\Y߅NǿE?,mu4`<ǻeL0U7(XvCS(^% ogI:UrӮ+^]H_Q|̈ BqJ>,7 ]=6ce%^kh!'\$=d^ŒcZ^CCLjSC!,-@*c]hU6aZ"ݯR`O Rf~ϮKjwznAr0_"N8S<K7 l5U3݇8ߜ*.&q„(Qۖטu~(hb P=g.r@(>Z2@49"1#/~@%id 8XK;s}!RVI#ĺwW-4V~K%8Ϩ+T;T]hAXQ '{wQ cHNu7Og['0A]ܤrxO?ۈnBXDqsuҾK!f`r =솖Lg&>:` yTc6qg V:|mϳG U(QЪȿVR|}w!BtH Z+Eyo]2YҔ40zNPغL!Qd ri8-HbtNAq0Q˳9=ǾMR3*HpstY]:hP/7%P R&W]~Wiq1j6sB[5Sk CM/EÑ_?a. [KMV :zBX*Q *X<M0 :ٖg ޙ=KER~M`}R +cdtVkU0 20J U ._я= 5Miz. >[|k ct\ |I&l)ytB794Lj^fJTFd>N"EM*vpg\䍐(B"pa6s,aT.aXF'=.T\J}èoO.HME]#x]!Qms*a}zDA\4q|4#s6<EUtC:#RuJC]g;cz3/FWC;K*d]nH@0tJOHBm n&-hp"nRwaVXx mUnlj"*8'5hߊ\zh\Yl ge}&h< /S8XͼwȝDtkls+Қ"+;[iћ{T pY+;7{-\9XH, [DbqtU kr\OBSuNASl v2v]V݌eMڗ2~RP0TоdJaK. {>zmJGXEm=K1Cwi5:^-?1e0Γ0>AՇYě@Z@eSMܨdFGz!kԭyU2 é`}bꍕ_}kzeY c:i*FfAQAtǿz% ,T>k)U+W#3p7NO Ń;l64bCG6] PTvl9G^ş>fq~;'Vr4c7Kpav :`UGܜ5G ,Ti~ 4mhRIeFv ̂tfǃ̱6c]}o28g/@%Ҿ}Oz DمiSs$$$,Ԫ9;lܱJ&7!|^/"1OKHQ#ٵtN-=TĜ؟*šxE}A'ioZ6&oL)@M쓒5^8鹀{vbwIdT_FzQG)ԛ KE_N,3u;* VʼqOG!&s e0Gyo)\rs8hЉ}B,o[9;ml%{ ܝ@WFEoH~|<GN ׃V6U9nձ!l)!LPHPoz-$&Z/BOR L(_ÍBI>Ǎl8o>Y[gf! <`m6$}QFСhqE4!*f xBb5I(W]+"0T~N[w͆p~>emKCkrXV#Tp4B_F3HhK\cDVrb=OvބLݲ}d@]V~ூBIxR "?`Y'fQ-r'ɑI$:yDvOwڒ{^w%.DAzX onvR [Fq0E7P& QS+Db= =Gx8I+#ҕƴ-kH4aumj{^\*/x  fő& f5\9V7P`['٠ȢfaaPH]'9BZzĂ{Pr NuȆ]HI 'Pm΀L)_nQd}ZaNU. JF2Pg3>*roڳ|bR0O O¥)"Ϋw$(V^l?!x4ʲQÿ_M "Y (CW0ki \T`2K?BqEj8/i C`Aب(ͺ]rou94Lvx|)I6ReϣPT<70*xE}6&rꄙ#k1iTdrܼqā3/~pz'V ln۞0vJw, KPK.w0H]!"_LS7]GԢh*/õ+0 i}cΡwp"<3g<)i©kހNwqǐFy #VǻOcŰ(|h]d.oICX<If ~l[ H/kA~nK_/Ԣ}ػ+?6sIhblT8UTuMqzF%!rc -v4-JH#NfɯԈl8ա+& C>@{ ˪ܪCcl9_gm-m+)%W(KZ)%^[Ğp(eWTF1kʭFƹi?ևvaV/!Gl‘|:FÏI="ͮ2tb ^Y5m1zdI!DD朥QozɊa+oo3#\k?,:w^0._Tڤ(3過[Ez?R6Tsp^f؞p%$ ٥{*)Ue!&sŠӅB[ބa8B,U3DBm׽sT¶9{|:ZMYkr1s HdS*om{4kZ[!oРϯ .S;qC8 1!rju8 ʍ#QV;e ';+K)MK`EV[BhS=Aj3iazhӬl/ߞB*;!a5B${qT,M0U6GbH7 %XNpwxz_b{S),y~BHw ¼lrmdbbm^_ӢN6z7 t+$muc! u4;]iN~)cQlca]\^Dƺ!Z- XL"5*f#VG d\KsKUW,[l}u.7Md`  ag<7HWbIS1'գîkf4q}"&7o4J@oRf&\`K$ѳi_7ADel!FU6)44HI f&ye!8E͆%j.@`=Dy4PH,Đrߊêީ|P&IXZ Kn4pDaC!!qBZ_N`I.Wma! ;lf(l- Zs) !yAh}*c+ҶmƐ>XD'TMB m[*P 7":$Mp20{VЍ"Sr ^YYW% Hsӄ_']4,dw <:A6)JO|PƕX)G:3N6 9WtykCVE4r7{StΓ"_9RB 4 _n;J$^pwR $ w돍91{q+6X9JYby"sDsEc5xe>kK"/k~ +/–G;J_0†ҙpPN&_3:QO=b@Q6T|!-Ƭ ] D#.e)،^K$y^n9I m*k}wXy~ rIZD{ 1 I:_* J*Ҽ;X!D>DS;ּ%Xx븞%u}r:!I3PxvO|uOSKI\wjp(Hts7MR~"7 ?CBMr'I||Urb]A0 &$yb@GrH m\)QUu}>Ӟ0B:e'5t۹RNE:*,l΃AZhM;ez7ViՁ-#wJ1Jm]M[2JFP3gˌ)G;(S]gu+T .-Lr#nrpһPjjjTяd߯/Fj@[bz[.?PHnH,׈Ь oy5h- \-R<{;f\3WN9 ^g| ˇLF y.'Lm4y:dfEE.mKU57%Y褟|vGaÃ.HH@=~n#:~I x#Nqbf9^Z!"N+\^~]=պ :ۻ9$zK4BvHJIY7tKyQR sb$qD XԀjġHozN6BJ Ke>qѧ.NnZE=MY*v8tj _EN=KRV{e? $Uu< * R"yR,L3u #W1:[gopp,<-đ`` dVV}6ɾ"K,L],Omډ0q/wFy EK ~;,G/§7տˮ;Js}[l,N?,HJW|"6lvuk&D=crW8R_Y%|NDaOJ2*Ct#?yy;ቬ**V'~oEu¥Gr;%:bq:RH:9Eaݰ6ϭʍn. B <͜[A3S-j6u:=0Nz n8aouQ7B=}P IO+QKJoL%sJ{ǨjAvsv &aRj1Cc4_!]Ǒ؂]ԓQ^&gd#.,M k[ĎnX͎lT.Fh2E6mȺx {a4;պѬM"2UʜeX%~2ۨN-<u"ܭ߆GmQ!N:15"]J0Eh !n~(Q,HCܻ+(-,Dh@wC@ ':o|&3lZPtcH!L%c 1żE4Kߢ|١#=&!cbp\KvUC9lia8{1;cKĿrV2LAaz58cId+/k3ɐ&h}uC̸w9Ⱥ|F _У&<@J+)LlZhAȲdcNލc`dЫ8`_T&o錻Wqpc~PJ܌uU= ac qW;gxǃG/ŖpWR$Ӌ|ZJ.? 2=/8dK-בF}TS:1iM"HGKLSv7vC$.yfGMLҠj.zCQ9_rVn -h}bfD"걐!{X(du톾eW蕲$Az7yDrt5Տ8A(@Q7 .Qd+FK?re>BLA9 p|McD_qo?t tzVZݭib1ǧ(~կ\*N̘wc:K?l6,gJ_׹D}s:aT'sn'V l&5i2#HQomXHk7p +PV>% #fr($7쳗p/CAb$0}l]keșniÚ e+C?S 7FF*N:o~FF(fr@RZ#!J[ks#g1܎[i#Vf[ K YҒ8lvlIj(w!bȧ4 ̬o׌@.B(q+'gPDCCQԨj!߇g+rnuq1{aL }3H>kP ,?mo%/*`X%PMQ2w¸O9 G6ZgW A:۠MVƬ́_Zic,-M[n[^樂{{ gƱ*/A*J7s}>شLi5U<`ӕʣ~UWpeɮQ1o ^nR%h3ū&s415B1;ۿ|UJ[l?$I\`8@+o-*# }pKJтc]f,Kd R%lvvƁ+BHu1tوc{NU1WJMQN9^x1í(BYc0~v&xr<ߎqhAM9G#tky4()6 MONGZC.ɸu*B8$Bi||^64߶ ^m "䗝߈gTX9O(F%ILiS>UK'iG}(73iYDܐG`@gkudi Isz b@:a۹1M9;oW;#5AvNpiXAv7kWT اtiGޘݾg'[ $wu,gg qܢ}6o}#ph+( E>"snMY\k /EA+d o=ΝT ykYN@~\b<+Aۄn;I R}P%& 84ino*_xP;$QpbTs3P؂+U&ϪIʴjOe}͉'mpځr>iÕ/M҄&wPwZ`bwS_IYiXimOWaC-NOOP: rolHfͨU01pGRwMȐd`6T@!jژ 0/O[ NV 'ºaHyܸ lc*uY Q$<(^O%3e_e4iNwaMkXkh@JlEviyO+ C_DXH dL_}EkRtP%FܿI'JH$)Uɼ$rЈn&>*ƍ{🆢1D;|.8ߤ.UA\S]HlX%!*S`VcyB̩;l:uY1,)-̞"I:nJv;5#ŅI 'XHo2@-v0?PTt߸O`]4؞KRL  e@NDbٍb xi!p=n|QT?= yiWOy_ f:?Y_ϜP! Է槀ʬO jS> vAo] j# ),v A<,iWlu6fN ث$rBe+L:+-Ƙ~@U>Jvcv+J2=V ͱ^#1Q>T}e̋:fa_=1a@ DB SKSZ0>BZn;Oοp*(iR/ 6vަb#>Z{3QQHhYfy"q6l v\j%-=#OeIHzɵTl#" ^@m|^MF &)}kɼ[|ꞈeF.#ƉH| "=\@90dwE;c,dCf ~ bFz_d7k- "v|~/kQ^Hdv;H>Ul Უ\%vb[Z|mWDp'Y<=++sTA:x{*55LQ܄[/}41 G^z('\0 vc_."u'h6ק[bv=`Nb ZT#n !,{b_ЯIuG莤mީiVh|^W>pD/l #<*via*4^z6 ZUe5 Y xTh#}'Mfg s.zV}gzxUhb6B k6#0hདྷaض J DAͷ{S[;I*: T645[6v0G }YT ;ۿ*ɆHeiI) 77b\'h+ +EGWjfM= ~ N^W?yZ~0w؀ٽ[eza8AmOv /ԳqӞ&w> ŝݗny<&Jʻ?8H7lN†Pzع!=j$֒E@e>5%ogI ɫ՝*nHĂJ]t:[fFEwǻ7T퇢sLXɫN6xF{Esiv\@֩Ɨ~o^Gaq5OJG9Q k„QiK`// })l1s5"@^[tu%<[D9#Sk;(},e櫩ad%=jVyHl4}_Bnշ[+Ao&R%bE+HUKcHӤ}sHit\pڰ:Zi1*6};GL8E1Ze޷)֚2X\` oB '=$/ShW7+"`T*4{򳔷S_N`%A5{a׌*%@dj`Nml-Y$Z F]-|>\wē̼a(Y7VBx /WwٻUxDa }Mik]X=8 MQx)wTyR{\2*kæli#}ecӑ qe R+oVw|չAahOUMy @G/K5VraQY JYnT] k&٘cܾ_8Z4 ./bUa$~:_,(42 {q@AjJI_6z1Dܨ7i&c{9.Luc !,jN釆=Wkl'Ѧ䓃( ۀx~^] >WVDLRr !Y`m/D )a~W }O;hd2ȭj$($?D> sW$C̥VE>?3)XVw+Ƴ$r6Ӂl)xxn#.jSm <۫|:YmVGuYSyCTh '_P H)x+c n'!Kiee{O#Z;fIdlBF@zrP^{ji cĥ+WpTͽCdgڽ}AӄKD(o\ ø/7_`&wݔ FquPBה˙#ꣵ ܪ7;<>Y3 h[5;CZu$^DeFv^.)a @j_F˫e;\Zn;2`NOnbmƺY 'v۞+< %u밻P3PEk)h")e|B"u:YtϪ3% ET. h7!$w^xR[}'RҾ]L q% .WK{8otͬuk#I"jU nhi|j.D8рDQg/Y 7Kj90[ߝ~o|r`(E-8lqf| \yJ4zcr)R6~݉#RWvxA5 eMw`.hNea#|Ssuuэ^G]ٜ .5l$h-ElA Jnp #7-G*f!M$zC5)\ۣn՜ǃ`2_>%9{Id_f79bJhRf Md]`=Sٜ.M_;RKI9ů  ,6AN6l\rY0u(35(ap XY vd ݃ϛ[v!ѧIeD>uʼn0&aNXe q2L΃J! "MPV"Ѿ#g^;m6-ˊȹ.tYM韄Jλ|LqލcPo 0 䀨wCzRWFΗ࠳k^!˸BB {VL #i5:yr-eޱwk44A2"l^޺u40CdG] //ݠvFD}[VUigzF C닿mN .ȡTt_46 5 Alc G!a`+{9޹W˒Vz =jWeϰ&t_>ȯ)g@P]am#c0`0Vю8#}&ރj_b5ӫdNJ(~uS̰81$md,itKl@vDrƟ$#K'ԽII+]~2@q!{Gayr%vj3;T=w@%M|Ę3)oUZiƊ~*~=[>pa xx*bNN"j5uH;'Ue2n=~8@7e3@BrXݠY+ʼnO !_1x*H<'N ^d!E`C 4bY\gQ#C '!Qt,eYgZk"i|\„XᖆI%͢0"n$2k<vp6ao{7C#PiiR :8+D|刄zO8RE%D/)L4|,Oݵٞhtc\ * ] h켍xsz ?Cު)g7.NFmS0w,FM_诒Ԏg%[& 3F%P[>5{_) N.UWRij)T4R euGf- WMAUrj\FsP1CY -:nid :OP7NReoCK<5$X=TJ~rr7ZV9I$HV3%Qw~Q  !v,&*N8swq~fL 5qV]dt*BhXGoͥ|?%6i%8s+>̽H]֒23U0\=gU] haߤCO?|M2i Db@MVm󇨈wal=X ׸:wL:delk11fP;&{O 4]ivE-!xdJ/ Za&X/ux_khG f4(YUob]L<˂J}*VY|3Ds8(NV$>0gj?=:Ȕ8ېO4hW!IA[@]\šK`MaL.vȌ=${'74ñHEϴ&oMCt"ڍCN\ %Ag.hJ7D|-9{`]@?>ڎXj$XS5_=0r4Q Uۙ5/ë]"ya,kt,bFLcc6 ,̣h'Gt\ Ʃ'pxIBWN9cWsuF&2⧔a!^gL6(pYDetwgHI w&ڟCzIuƗ-&$RHBjL^^*ӗTk4[w!m\'/{A; 臋<OABPsh&Jf'6*%S%|SnJhq!?!K"e9xy%p0/#Xhoъvb=`S9mkd.ѓ]mMܱE0O01ͧt#Ia]dpыHY]Oڅf!K Icv,\vL˨LJ}KpƏ1]1:VA!19jaLXV͡ϕC7?4b`\$1覭(WݐN#7u_v:'q-_~-,eߨmGt_(Qp9>R{3U#!\j[ttkVK+Ѭa~\GZPU2ٱ?CgM'=˷XpBV3k-_z S&Fތl9b$GkL!ޓƿ dOZLf鳋QFG>&Av}#lc V4DӁLnƏ4o ~"z[}m{^d]w7_Vٌ[G)0S2)Q!^zAЁL!=ɋu`&)r!#>w6KX"] .݌R$@Z"j!恠] 5[Q/)y1Gby<^|G2\RpèL?^5Y5棌&M&̠{݂rwo(u\(%a~E%! +X[6";3'?ݶ> 3[o)58`+UthZT vuYcaa8/2H4#'~KXTg; He3zn0K{ auK5u;f0ԷқG %u,"wPmGU DRd&e?T??w&w=MG~J?KV3N:7 Ͽ>o[߉ ]."dqNE@k?{8> ؄Vm^tR1 Y~QH 5>HPOYk\V]v+ZF@Z `njMS9ܔey3(z-ĿC!^]LƬgoV#>˺,ׂ]Rq~IJ1!B~hbp֧_ HcZWRg}yFkp9wߑ*@ oͶFqAY wWP"󲌄PjPYٞi yI|y2b(|q囝'䌹`#P^QF@[u%:Heie )1Gj g8ԃ /c =kJ`+:d8ћkG($x~ :Is[;vWU_c2L4ZBR  $%*LSlxm大P~99ñ rc=q"c45y_|5ՅKQ1 egYTGReAó vMgN8\!cJzt&'b=pʜʬlJt{ӎzlTy;ӔҩNJIZo{گR ,M%2 G[@.7e`يoC4tyBʤ#m<ު8!ϼ9`YT\z{b]˸=(JԷ| [ǠS =ssltFJG3uoMB)#? CŸ≕!CY IGwi^8kg񹃔IE@G[n_Wn=`]%EnLRֆZ&ҀT5m#s_r>xh6@Y$`t‹ n3VW5*S|q^>t *\{T{Z\SY޿P^8&81N^jQjSgϮŪ61GS"D'o0tbnQ7|P|,5ﮌ>Cm M5FJNDLm,0d>ȩGbNp}cI1ݻNIsx(3NBJs2d^Sk2!j2$3])_u [P/c~dgφzlHM{z:uQ}.CJFH{>SupnʮN?|v} z缿q*iӨ< Jj>uj3W n&@>y~Tw: /+ ܺ6'+BaqЫ-RN{=F9wa qV-340:A FNXAYAUSaҲJZ6ޯ?|6037aLj%?e~pf0ﳪs (2 -mU]IS\.~vg#lU)g%5Giuk7d {x2(ܷhŠAlҮe`^v(Ë׬6 (Pl2lSV#2B m~0O|BwѺN~7h~Y;|0'H N6%5xFQgx(WGȴ–<b6BsK9#U9è6= Bq O"2v+ ]@ʳki`8K6ZeSE04SQ3EȻ%. tB"r^Y3T;yvVA$r'eH 5Nɕܸp*;z#YOպ NX^x h~ 4P9S: "ɋb:;ZZ&8p(Pyhmrgjqз!IRK/fOQ[u!( wWsI|z$|ݯ95mGzM:N٢V.fGoXӟP$ ~1wdG߈p\tŒ.?`j~adUey10%$gj& AO&l2gšicO}gb*,_RD'70=1;QY:?\BN^Fd&:gv ҷix30MͽDPSykퟣQZl֣UGl:ۮb6}C@ϋtI| 8#(}degSSwl+Kہ;sF-FliS;k"D+_XɛC2t身Zv6ez~mZfw6Fd  %>+:4:W. dكū`(`tgVP}'Z*(V69Jv2|]{#HG Ҿ/<&>g 1~P|܌񴥽anW8LƜ-?Jzm<7L,$X 3`96CE:r dL{j9\KuNn=۱چ(oECMzS-,D/*dx){ҹUؽ,ԚV3Vrd]1]̓ܞI^yN I|Iwk.E-;, 4AyDB?N} Q/$j&=ץUpaaTb!jќ<*^;St-FT 9W-hG(xVFL@Oaುa13{Te0b 1W(©$Be@ [7iUCRR-5QUhɪP†{i"M; [Y!=O]uK1v~|yJ#d%)9z46Z5rTk HE{<W5#2™D =ؠ9/g3GW%·Y˓cܬ]%+l\n:c_> .Rl,ǫKeÚieMp7V0utm[).-Q{l:"3$R}AӃERZ%?Հl_9pz?tuT!AM?MNSjQHӂ=Ti%UzM/efO6AK* șu+'vJ+?ZY$h\C:PF^_k4WX0N#zNTCTʰariWX7 c;Z 莐r .ó4H8h rFSy _1L^O=mls 9 Rᩑ,;&Q98q{{I>؅r:R,2AZ̔Q-!d8Pٯ# iBoXOfK^\9$#FJia9*&,Uur:[UVS/dtPs8e 0jzۊ[#hzҀFNAk7Uÿ2ЎSz@_%C%zڃ']csP5b2dt|v];'eHl=nr5 :Բ֩Ak|El" *l؇?SҮIiAhUsw&,MOK@Su\.B^IC|RL.ԅ)tɧ3eM1tt/^%v ?,G6uv[IȡbyRAp춋 l2ND,'4ҋ2w#m6xB(#QpP=ڋ 1bF]~7 s~>Bt˄q7NpFoͼgieveX<#q9&V:1!&-&Thl^IՔ~+ηR-%\T'`< ]ްfζN6#8r8>-&~#_$ ϵZ(hDM6 l;&Uԃ6ڟ1rH!oMq? ZYl P@#ڔAЃ|D [k59j7dp׈T  uKШx?~us,0 2 $iq k9 4 ו̤/PgQH)Yr.k]8cj6vp2e Cv˟:(d YBw ]USDYY9/!>ޜG wrH$n-¨Wn,Yψլ@s(4kX6h[Ljb~=MyuVjn),YK`Tg$C' 0kVxRM`7\a \j&E7I'JƅǛ3*Kr`$BewɺNS !ߝuQu:ttLJѳn%T-Xű0P`'CPN3$}( bxqٷ 迟*|IqQ5jUJICi~ᾼ6OR?ҦRF Bezݏvo|wzbmwX[A뻲uYX@Ij~0_ZIPUo@ ZC1i?/FEx\0!8yhl_9qx_- +BmDfHnXWϒrF@m枞 [.& nWM#ٕlMDz.ku#:G=5#.7 _{~R1;,҇< ߚ uNzEbO-OB;F\>ÅOA%ઍ5& ыiuv4Au7PI(o N'\5W3L*Oyk>[lQ&BCޒWr6. Z9<@{lmӤQäi/8vOt,8zw×ST[9muYo-w4vT9v54scA_ɝ3aXoOp] C]$ $q-]eG62z+}~zC*M-`CrQ%COHӸ(lc-9sOp󿧭~[7f8zKBNW?bd2Ӱꩿ7LJin!&!.Ңf{BymeXS&^EaQ;QE,˜ Cǎb "Ͽ0fzsPp,#44&}R+l–O&#퐼qܪ4Hx>z7~+٤Xea3垷^ "n] d):#s0nxQk}rE6omOVՈvpTNb Q cCt\ξg t(\U;S@]_KGg=?|ӥA+AmxظJNپV=v齮Wp xҝ5H|cuRGyGO ,4U<+0Po4FǪ(4ֳ:Uܶ_B-VM|lM n8s,LZ``ĉ^Ǣx~ uBR%Y?A%pNyzݶdtb S.whj k=T!)?MebӮuP~'ւ.%-n72}m} YXfC3=eS_Cpw;XN,QADvGhM(~."w4jD=-fv NޡGpy vwO]Ijo*wYPb1::8a@ki~үSX:H>7IdPOϏq"~o.M:TMѵF#"|éUYrlw| $R7ϫj몇ϴ7E 1쳥>g#8hRGݲ*GR!lFL2hE(G?8Ȭ$$q}7(?ZUaFpk]! O>fP9(~eY(UCk:paϽ׶B),:5jѦqYꤍF;*Aj a]g kUtIAA,{3V6oSLW(? fr9D8#G>埡ۯ,CE!p*]&MW)fQMLk fI'hx$@R#9NUj@(q<* KEv k$80L>bU8lzr$ ]®#[V4Z9ŶsՖp})sVP ,]؀# ϗGyzfoM i +>l+}e -h-B?!x3/Ё?ah.anh09BD`LLa@IIѻZ7ժX H#*V߽)y$`sux: K"EХkC(Tn~}$ԈEg-0zAFzyEK>(ču"W#]ETg7rQag^*[,u| *03-#g?4D}ʱ%lXnu޺АX;:\DצC uAA-N:; CI"7inIEчcÏ?Uz /(/e˃(3 2dXa4E NlvZܡ=+S`GHTh2 `Dw)HOiߩ]vřQ!|2!NC F ufәk$kh}tkc47xܴ/W1;lK@ FLH5 fPҖ-(Hyq'iŕkaroOMZ6֖ogJo܇o=n+Pvbujk 6T1ևW;~[l ^S! כX 4/,w6"Ac 0DYbtB!u+cp gc3[no~Mjv8OV52eQU=e)*ǚ R ̙2؀+J(SUt $9^13*ʫQ} |f|/1x9Uچ諷a֛~.zڊ)qBi):l ImҀJOͬ0)3G0^&0K,L2Цso kr啒 º_1±lW:AG R[Xq=VIi} 0A? N,@2[ hdPYO>3D ,yPMRɏgKQwQl#;Tυ_4k幾-k?OeHL7<9T#"BOm!]!`xK/Q (OzJ|TM Hi 4²;o$S6ʦL3j>GPLCm~oR9{J QGuD^O!yfwƱj5 AquR@CX+2L_i?3_oẵypݙ}Q/H2&W[jy_u0LD6JdɃQO{W![e{-*43FqNg6uŶzp,X @ ɾ钻MSKϮ> Z}MoK:_;(mb0 bp)Uʌ & 1zzs+|wMGox\G u98"hD+K6Zwͻ.SaEBǓ(b֛`c(|1&jœ0qS-R[rol9PhD^!iX.i&A&jTch+iy-䖓;R><ј_U77k-&U})jZ"MoCO\+'wߦɪiatmĻ9IN66qr'kĖP?, =8JxHF`#̢{|yx!pjQ!{ ,' i..(h'GXfl]"4I1DӨ9ofX$5UɥS(>r,út*y[є̺ uv\b5RBŕ)Nl7%o2R:![c7:ʑ ԍWuf?3, 3\!uoWm~و{*w>P~ͪuN@g!HW@!X7yhV]ik [Jp;iaxNl> bVmeJϵQhw"CW5('zfQdR!4ueA6bz Sʱu:!͔*CZEu``l86vμʷHldAܷq8aR ^għ\Q>6ʩH#Yg"ӌXSHIg+HseǾxYg3`ಸHnj=0SA<}^Xb|5h;V6cz@iqxq \7xB>WG]#cs7v;oxuFk\͞Xuh_65ȐWA8ޢ FE==̓nm;:hЪ/)dkT0-~W`!LkaH9Tjx {Dw|o^{G<. ֐.Q'PH&%9d~O}}_R#7RY~F)UBPoZ&dM|-8) PI˄ТΛfVva50C^EJ;$"QUnb}*DME@&i"_ ɠ^_Wfbh p,3|iތB|`GEʐ6X_yAJ.gںOsz=#": ,](ߪCppx31BO4Hy>1U,M= YURa& ')[L9>Em.l_2x9K:F]5_(-1`DR,2T] xo'՘o9NwB!i 6YDa-{}l 3»ZE&RB `9$r]VcD: <, cm#A8߄kˤLLFv4&xZQp_R 7SLDOn-Q\2&mj{L|Sxʁ- B {N#M 1V%Y~ud &&p45:x2|L{k<~^(v3[)A0趲 D=w/YږUj SF22 MZ`?X/.6c=F*Lpu;Ǐ<`Lsb ݙh`K?mu?_r|S_{y0%sw6" 蕌z|I)QUZkm-H^! eŨL80ʘV@䆅zyW->{A?9FHT7搪&pfcdҰp;nY>j|6-Z~ق/ ju,Zr=í2xDbl1TE47a3l8e~nq7}#HN㲧;b ~1ӇPZ)4MvC `DxoO}@c&ȧBYOkʉPj+L` seD(%S%_T`\xҏcV0X;\J~B8C^-]@`0!*%<;> e>-o-sb#' ža!pづuۜ)e#f25S(U 9&x)|r5FaF2`1 P//4w(j<lM`-rQߤq krѲS3qW08Ւh2Ҕ\qj 3Tg8~UuQ<-~PjR3x|m&foG3?\#hREDSjAt'ULr3H7NN_o@j n8"F`CO殷7a,aw+-eU読&Ey -|ئ}ce.(+ݐF؁U R0a6 d5CUgQ=5@  nB~Bwv.+IhdKNַvލaߡe(rAY@3"4_⑯|PlX"ua ~$McfAda`|=T>#zAS!ǵ]gŽwx42O5}i]n7$>r ïa2nBNx+ oKB8nRje5Fi t5H[fJ{# DU`][:wlKف4U p|,$޻'\3J5VfioVXKTΚ.]N컃S<\A+brj tuNu @TQqu=C*(cŒ7qRMv/gJsO,,ysc+ AFWlwFX[~: bBwB/|Uz5MIڟj7@,"i Uj@Z8ZJB*|LYNkEGK%ӱFT Hzz*bahnE @5U`2C8VۯMƗr츮_cۏ=z3 ̕a$N cZ u*Ƽ*yW,ye! >Lㅸ* }k 湂_c@k8e*rt0sZ*:qA|(²Ylӊ淰(j.8AYiT<_3+6O 7laݸZHpR)zLZBi&] ;Yٿ1̥A ܻ {D|>wv1s3 `G%`|D,m]^6g|9&3",TVÖ!.Gmт"l2M_!$q~?#oC-ڮeCU$;zK&Wɾ~r~5ı:;Uf 8B髦&̴,' h?'y&sJR]P' yʍ'mAޢ8]Z}:vHpYZeuRFWW/p=\-XT7 ec-kB+GIA* `ENP3e_{އq1RQ(g(1!Lf=;78(jEI?*.i?#9^\y*Q~-3s ƶ.džt:#wLxQLojcp"Qua>%Ќס5Z&<@fg~u訴H|3o%RN>p^`F5kκOP7O,K;X${Yo[֧ʯ_\NJ%"p@1`\ֵ*3짒EU`/tGoPcah|Y*M`gj|E~UI t:(GO<ռ$؆91/ _^OҼE7'|jц)RrRlW)ȹ,4ֱ~Λ˕2xvp89Ѓ2dQi޲UO4ʳ/n KF!l奛\K򚠸sP@%X- ;V0&U rPa(CI^f;?kHgmy$MB?l[S 0J^[tSr%wk rR()ĄP@hX[R8rAr#qS ZYȴՀR̛"/{.!\쇩4DлMEU4s텰ئtɡUB:<[|NoMy,Ru-o p!]nS-}nD6ɋڔF9ִ}D(׏n2E='o#4vjX&pc4s~.%uI2F$6ćO'.`QA?8pgぇg.R !laHHپ J %`{%nBŠGOc^K"#ڳ<%-2ᅆ?I*vWqG8)B<,(kU}Pvt|>zMW.ٟpER2dXUAk[a7 ;jDjܵD  1@9F%'BӼO櫐vb{_`+ЂZ Aj_Pϡ%(hy1sDUqϳ -JBX1cȪjWaOA❗K,?0~6wT-6iO/aR`Ukâi?XkEFйJk KY5I:J'@pz6o6/iw{~7S8zُ\=KXDhPɔ8p<֗M&l':V% -+k E~\QtW5 m~BVVR/jß$r|&7wtJxj<$QѺkOh-v ,p>:H=^O-] zPI"KT4|*=~b의"ZΥMqxrsǢi|p+ q}zP/QƸ±IZf^ vlҩ,7m sdI6g ڳ\ބ,K> ̘Y0\XW'5=AvgN=@)3@a^/S9F*`LkxNRpTBS=i35X_BW[bХ 2ը;yȃ*Җ=rF|F=Knsopk).e¬YEj҆#&@:a~ ~#/HOݚ)O ym/J]w_2KtA`V(品 gDKSO^8p(ӶCjQk#0w@ wq*)mF?|G;Ý-ph05BA`4KwOCNg=ۀZM/AqX/Ak͍704r>W=Dfޱ[R 4m9u%td7S c͎ͤqeXII=-аcDQlp'#3 R+٠cdS {Zv!rx:3d-隆gaeܗY."Iy_ӑh;m(u29 B$em.]ח*V лfgSG@JdJ](d80 -"LolrW#pŹiIy's5ȫ*e=o:Yr7w+ j1E2qbFļԚvWin}( ?K,L&{wurI=z 5%<(eToU@&\m=YEcv"v`+}`\6\#NNJ@bI>Hq;;g=[7 }(C!۵l`m6]dBymh/'suj`L ~;}or v7rNTAv1DzYRtJͼa@a4ԫb L U;Ko6.x&EFK)cC=W>2<DW'yU+M.z_cbx蜍!47*t?6 })Ǯl@7lU(H{3Q>%jzq@2Zף5v:CŁ7 B&&)C;xi/mbU0oX6s_=HA;}#,#?t,/sd(Iqa@6&|6ﴯE*S]G?_8ԈNj7ΜY?M (U!]qǞΏj@j/"ӅťPQ]b1OYM"<ԛ7“DRryZ\7]o='5jVO21C26p?g"$[lj^Kjuع ߨduV>vbWQ\ApI6>u DtƗh%5U+\'?S\"=u q|kjGqsa t.r}DAPCueF=#{?JyqKStcfLqP5خܛ\*ҍ,& }m&~16b̨l!)[hJ Բc }g$]"qt֊ 66KmX$k`ʸh NjE͆̍3xZe,~œ?&4wWw+{ߦ nO0h{_½lJbhUal]'OZ8!\R04ImnM=bgQ5*cO&k +#ς$ul\kk @D<+Sy8bzÍ:,j2 Q|[>N;` ­^؃R{+.%8H _y?y\gŝ@%|p$}B^P'ti,qljһdI˖?CPM䮵 ;>k3.p-ZD~&'Wc:+`]) pN|Z>9拧P 3/:{?eX2G&$_b0jCM]Wgerj-{|)˩62g UX"k˺(vw UU3|iSm Q6#+tOuap]kPիÎS4*RB's5pj290X5G2uO$04ZS`(J<Tг gǤP e3Vn)[n 9txW)'wnQãiԕ g"3y!"dZ HgJBE+#rUV 6( ">x+j~N:;!mlt<|?F^fcVAaf F*! g3яdLA !$e6/.y&FfÑMu^4s]w5;r(){ͬƵlFwDqaלpE$Ϧo C,'T(l0/{㣙-Q/J$Q!' h a2;L}^ x)Y fM ewEj"~NR@PW>Wմ9Flef=j؉^eLPS_d g]p<\.ec؀!`;y/Hǿ` lL7]5_PnvO̕BRgkRq} /|IVQK^<ޏJbqLL q>VD>1WuMcM}2J"w]>=L4 tj~i J6 ڃ-HdaIh!a7ȞP )Ew7"fsU e}cw_ _:a#-%$7h-C1diS&ž╴/ Û(td8]wh(PNEy#{篎dGݔO#ⱼdë.ă29ڣ2LsF>쬷 оs0uY|J_wC7tP.{V7,A+ܟIEwNAPJ%LK|R,BPĆ(@Lll? F%HwݯS}KOt5gmQ xI+P^0kG0)W=k7KBMhŶ_C l^VS'HF.WNBT>zg]?V/?$ڬ|bp7F i.|~PKo=ioPaݐg¦r*|7%rv/ _}ޓA5ayp8zwPg'k|6x!f4]!9sYeCmK/+S->܈ԇF.Zlly `^lP60wCig3XMefob%o)OHm1ĺ- Cn;́)'D(z-sP.z~R"})!2gnX6`?&xu̯6r T+CZgYfdQVtĽr]"X/8pśKKilOP׬Cc,pk|OQ?@[OWk9Ԙ*.*}L{\A5 k$nrP,Zm_zK|6ZҼۼdrh}k{$-$޿- pAS [~Ki aCQL"V2A)+\%1w}+al3vn&ݨ"p>X=?niaTtbL[!H.t{-]8[ywoa0 T|ʈ30v&'f϶u|@] ؞V#U8粢88/_T\ɲS4E(CN訫lgΗkUfrF_贯칚l*sA.jƱ< *Aυp.=!UTݔ /XfDL4(+Il+HPo Gb|wyIe?g%vGCR0Q:iq<7eP f1vpʲSuCj±5-?vby#0&e3^HΈ>REp_ڀĭd$)"PMEf ?gs+ ;Nsn+/HXTlа.-ž0Ώnv_us=y{T!g.QM:=W|Z(|>"5ysЫ 0¶u9طxK<wM];krF"tȹA3@ه )SOw˨x1.ɓw_"J$'2&`kC?!X-1WaNP/.["NzI -8iO5RcL`=SمvExx4J*Lk´ɡ}}s,c|KqoǛT1їig%WzBѶ{sam1$4DDPّH Uh0RF._T`h /?'T)_Bн@h6ŽVNFR v(rEmxb>[(Z75\ȁ%!Smo$BqHwreKwƙ {Z6ѡbAk3:5-ZK*ǣ4UiUՑI,/srQD<7">lCYk\ll=xFolfhcC.pKDs'{?b&`C>4ffVײžF Zy- D-Ak{kl%k  Db1Te( Ƚ) phzd?5OMxפxEGeä~%|&o[qZ_\XsqVN#$4 +~p>=~IW2=P.\beiH8k|V:mbl-iwȇtG\»[KdQggO4msJ)|Bo͕u0qD]1_V(gZDibK&5ZͩXkP+6+O{\S2.E (`eԵ' /ܫF0ܧ) _lEnTĝ{t\6IYBc^He3_ks#"Ru`#t63BWs/G:6")DS5u/ߨG!Bc-+T'ʊxy0-[Ym)jmͿ8CYsjTru{ZV!^,-,{ 9Jl\r ND.H`a^ԥ4|:Pe-+Q.m ʉF-wXPW ~٠8aAnB*2<U,/~W= +ouQqCf4cx`OL6E@Æt"qTpc[RIʪtleWbP}vcF-8| +lT;YK= }LGF5k%u&||CU WX*[E%$04c]$!(TSW柾0o[iu )x!jAdSee/s5itK+KN#Ve!foܗ:}ꉌZi9~7ΛQ?/d5S@*z02{6'V `u-hT 7]hUJkdv9 e0yFJ/tDaЛ##5euȧ&G=!P%.6f@iUfB.gMw+sJ͋AZN=̶CMV&i sE2]u;ga*XOw}Ϯ&qq[ k ͭeuw@uTTL/[V:"\ *k'ao⽳= 7:NUCna\%̻+V6 E%Ժ6a] oX CǭmdX.\{/CK!DN/$ ~5 wW)2=)DzN?kA7KE 1э^lsK?qXH%|-<< PWas"~ HꞺ*W^4֬jJ ho3@(A3`nE?V)CSDw񛞚],cH!D>l_9:e3kҗfvm @cA3zdmρFnS14T>p E>0þC!v0=f~&%&cGsR/q } [ʩvּ?a$ p:dxNb78|O|$]Aب\/ܡ?#ͤgpui^sN$m)+[ɺ7g\kD^O7.Z0b¶7o'{0heVp3TXjĭi+=n.@wz2MM+d>>|\}W.͐(A=(iyJb oOfjp_r*C&%wR>KdMȸ؏9z/dف9V~shUZ1K!6y[0H [`)$u8iۢvۢZqn0Ɛh[')q4qLyV?jy]&*(78}}?2%lB=[S8"qy:+S$?v='ܼ"<_t4FLF1ޔ3m5xN`lC=h2UpՓ~ܻ*@ kU0th 0sY[R1`\Hc}vQO:ޅeB$ =9BxV+pgu@d>~3BFAc|Te(IXk\ &'-|p/Bio%驶[VQ_p50Vt2ѝCK2#M Y+pqۘOnVaWzsqp~u&rKVn1 bxxE;:!^qk-^q2zO j͕0Ltp5岉F$Tg\Q!91Y !;gby_[5Jh:g{Tf_[>̄ŸBxOza+5AǀGqi0IIlx]W>A_tsX;]bDhW~#@|˭ltl5RRB}| 㕾 _ 3zZ0w(_G녡V!У!mvp))A0A@"}qLsrIawQݥ͚z-N<YL?S>HŠ xfP%;mX0xO<6$_!>m|5B^lA-./|whdN0!}Ii~DMF(vs]Nk^I&D3`Nm٥J~y/!hw=_3ݰ474ݸAfYd FN%{ O S S>p9PA \v#*S#kyM4O6Hte)r^NؤߒSi ̛,^z]C# C$mߎ+5*2Rp!9yA݄V8O )k 8 {n繝\:ixdi|>4zeFtPf!NHRБ/&2`0+k"e)͚k!n.`\7\Fm3Q/uE8Z5ojiͽ>*Kv(/]qu,D5; DloP~A{z:QP@SilzE24o@6R^i :ͤ\eyVtg-v0CR ?FՍ1)K|@뫼V4| s/ΙF}=WT +B~k-=y\._؇0牀Ǎ)[l0^e5l]`=E˛` P`uRk=>B: $wq,=c $LgL? &P(֍PhFȥܚRD6(6ĺ .<%?9\"J=7o?h5G4hRʫ 5])HR8!v 딓Sbr.Y7B ܽ^,G(,JMhm W(f=NHQdVIN2c+ Y:$c}Մ5& R ܘ~&SD"yNS`! 1"wַv4g[OPxF0KjgdfG7PoB^wV? ʀ $E7蹉o6Q W8N jydOIx-X ~hҧu0TN- Pdht.䪫D%"EZKSS6^_sl FU 5$YgYʡCW *44}bT+z`w]ކ0ڿ t!E^FlU m3LlY͆B1s+i^s2wB)FlΡ@36 _ICɒsptZJUٯ|pvxuu1i{K46>ןyo>B6 5iP[c]/G}MfbFo>_!j-L p|ĭXGf߽ T f>^I}$!Xms(O‹A3#ɗPa E#lLBcytRhmzYMw?lWy2g`l;wDDذ'z: @i킍Χ@n= o_ h(놾iCC 1L; :|,A<l|( wWYsRGA4lY9Cg`cYXUg&׆!,n-zѢm|:uU2tto΢4 d%+ќ I)ʡ)+ FZ%ɜK٪ZE*o/qlz5fz0 XX*7lqE~MV1 URT7jƈxЏc`Jϑ>i-?@IM8 ^o.`ٛTP@ =~OKQ0~& @պ8ܴ.)"Tg}xbdF~S#kEz']-&W+b_`̙ӕи/lNMKN+cMONJƭ܈:wR9V*֌t4Xnf_uI}L fljh)$Z $?^aBؠ$fdŴ%oĥevˊ>m.D#n%gCE9'hΚG:lFA 醋,locDZe.]*7DibHb-6+VW#ҙ:j#U!x.rnK(^DQ;Ѹw8d,!$^ߖ׭쿱&Ƅ]2mH@4x2S% =-͖x2YM=>=uZDb": @sҮt9.&Vht)Nge3JP@F)F=L" i8GԿ wlj%cs0v*-E@V9FmOg l">UyaY% R@V.1=f^k¢oFIZhl1un* + %|BpVN7j<] h[@/6MJ?CS?z) x;Lj ȉמVn4@"q.X UTEtS=,Uq> MZ+x"0%fJkPUWtk@d?=ITbld]/^ouU!0r嫎 4¨J.51DO aOg]QLH*qD.-[sL 9b.45U帇C ,ƨD 1/ `h+sp3B ᳜4r|:ȺN능ePv\>9/LDD(%.ڗ߀9gS,ճ_jvR{ˉM @_>4Ӊ(A)cW|L}xS;DbXߥr[,ޟNgi`$Ywr]Zvvw?%k0NcPE72~j`S AC@F!F.vzBs+`et%Uz܄@.˾kG'f-S g›ye!3V)N1`-l6dYҡ_N5r!HiU{>Mk9Gj0Y*挠I`NRk]Q>P*[#ﶜ V6d0 [Y>tEX>ؿ!( TbTrwϵ¥Wc#`iD KcQބc:znҷ4]ꞤD~aWN,YP[S{ Di@UG]@EJdQB:e!b ,f:n)8U;=[/S}=L7nn('n@M#YbenU=}1'3[˜O=Y%5s'y>:IHO} ND@Ma]Zv({$xSjԂ~"갠RIey0Ƶ ip.GDlVLxP=V'[ bS& r/eP2^](),Lfi[ "E0_=FW߭jo,_||`ޭ!LxyTfxe;)xQR$(Oln>> 'W 9pkcv_Ej 3Jo$WϸŦ: &uzQ>DZ笿 Dъ3F8ծsz9R\kW.KeЍ(XHةm#}rͳjJ;I,Ɖ؅ÚWZ faIO6͹My1#\!F%7,2pԭ OVd$Bmk+*x@dj:bL"} :-5$R $z+eݡ.H@|k|)++s˾1oʾ&)>тkw&1=-NHB Hy(N"`*qm]_qʹl)#2f`zu2Eo+ :t]Z2dsxܦ+htδڧ[uX55V%ՋkbӲJP|b_W?$~쯊0Bn6pT4}Jء%؛SjpYE<,׼—=Z\<*o%Fwן:lM&G3&)TRj@p;~e)Û~l{ 0L־帽5ߋ ծF^[,M&٫Yv(?2? ukˏGZϸ喎Z )ǜyJR>3ߢ=-#`IiAƗ!ӖmBQl4.RKz[8k3m$dS:qN*8*V 2N'fl[r ]\t?"%JKd k^ťlj6:z f?{qxib-s!+ȘpT?,usepVH(nօt1U>?Wxݠ"{CF7 +D 2zdGb&32]U uyWsOO gMν:e2\H`].E"x eC瀞Z^F<:z] 1نs7bVQ.ЅW vT@ePQ`:AYf7\f8ƁIi¶(c k|e2|>^aS*<\$s_ibEA6Z&ZTƬ-Uj[+7Q]]}8s&EM*ɛCQnj847-hs҂njMȽHl\TiITT1T9." tmň~TL">FœTJ?~,;HDsHŅo # 2IiZ9hҁ9F;t@;uq_kOifK|ʚ;4֨mR. =$A4XUR &Oz*G5NEO]D9#bD'p Eo-<_Ͻs9CS$Pjxh*mK",n@gB2{#4!tԄKjvE`=D?FDv*TTˎjhpC^8nXVH0g zTJШ(T$.^_6C,۾ko#n4\~dBO %7M]Po%{ Q. XeTHJڸ~Ѩ*(y[JWtz4DU$˪DD/)XMxKE{NA|L) )nYO??^pX tzҫ:V"pFS}!j:A\dj;?;lQY`??֌%UqRNرHmyc|L`la8k-1ykO6 Kw+êaXP7~HbU~zceU+D"y‰Gf*rGj ՝k\$QfvGQ`v$o? <) YUv{?JȻ "* @ ?z^OތQeJKhģ`)*ɭ-nғ77/[G`nnvq#;fEĆA. }emId./^\"f r[Dz} g|CuռO JߒKMBfecyӎp}$J;e,-KO u:eS46ݵHbW|DeT:ŵ{G8/~8YPb7,9O0/6a|Av؛|-伨u h(,z&m ery.K!\˿1}$w/\v"Xs G39yP<-D?yBu8!ɬ-Q/ҏ:# {, h?FMh{aU郞_ z^/:~Ҍi ;:;a|p0{`I$eȀz˴(ˑ&ֈ`}ADo([woZBSlb\[[l|$gQR<.y{ʷN_}}lv5 :jf0C{Ig2#\ƒtVM=F_%) \>|H= wsルJ/{HtƸo.oV-=|gRe+I/Dhh8u_ F\~DzȔc ʻ `S+rA^;Օe%P4˱m#&8ڪx0Rݯ"ZHUȿ!?_4sPL#bl$F$sdsKdYɈ6CBӐm43A8!r%=`<زušuuQCR ЗSb>9mBޕŭö&3-8] qe«!QݨUޤxFP1-#?#qF0G2Z:#6~B S&M9rZ W\c]h~V+:XciAsm,9s S6hv(k =ΔƸ>8LXEY~p: Y׆?E 9-NlQ}Aƥ][*!mhpL~)q1J %| cw;li;# b~h@: |QS'3%fe%Z\vŅhjǠ Z~mkdyc<+}bXh3љ<}DKT~J\FFZzmgt,yf42iBfلQ21>xO(ްYi%''Ƭ~Xno;`֖'Y4h Vhr&h( Zx&G UDVa;9Xɖ2ش'tB6-< 6/^ԆcpN2'L";ڡC.F00'KVsbK`w >ϔJ(wTۮLT/D_8=B+=li=:Z܃(/~$8ŀR{p1#@!,a uT`ߗ}<w@ gҖ*̏B۲*<5w`Fn.|ފ~@ʆW֢uqu [+vJ@{?\rؑl}[e!8Tq_b6-@v!u$!pwkN'XH5~8uV*Nư7i3/V "ҕmN=h3߯YoVFe0596SeA#҇@j0j@i%#;+BBM4fۀIWa%k=иR^SF!MF[69ORtT#4p .&d_c"tt^V>zM]MͺцSvYVXnޡx{ hHlZMh*_W}sqאmL$t[lYJZ@uL1Q%Pz8C{O\:A$ǷIتbP@F~+8#&7I2ֵ{QRZxMpJ" bKXa{G "D4JqNdz s4LD:ݡ ;c3`Zဉu pB62ί86 8!աǣy }٥0O,H.:%?W&?)Rc~Ad@#ı,V_Q]$yx'B栏^6օ׏[ Zx]w|Dx(oa|pr52ͨYp6mdh,S=ϕWڨz-ҷʶf\RLwdL+2$YS4"y\Idldjj P2lovŰìz[nZ m@sf#{ܼs96 RzTUf7kv5oXǔ ^>Қ, Թ:ď,)hcNKMDW6D#2gާTIeߔ4247GdY{ЪE4:fpknMd5j׽=DrZ1W(kAθ4<U(.c~MH%0w0[ZlvCNnEY6}8|}L5E0Z9R!42PUeAfbQA\g87𦆎bJ_P @*I ͞JOd67# N (qS.{M2W1FZ9>7<2^PA'wX2s8bo̎ˎ+8 K.;nxƻSְ翱*Nu^t_U?mZ#F#7] D"ހvnH>P$ZI7j*k |=Z^Ҝ0[`;}2wJ2,9`Ev`"A?~sH^ (xpBj 2KT#n9 sFĩ0wSQe/ڦxT_A->Yd!)@z5 E%'&v_44U.FT¶ADzޫD-pl݉ةT|CQ8B`M6\x,׎R7*QKSv$ri5f`OTE֝Uy(RTF Q5u9R3'v,ؒv?@)UCAFgKP;F-'qJZAvnsyH/2*xh P-#]FWJNi3oLI[u|ӪM jv6u3qܾ-WU]dHXm&,*PoNd Q{Vu =E2!VO;黎Q}bU~kH-/(x7a{V C+i- C%``m a+)w%j 7Jt$C LJQ ?"{d?ۣ >lV% <Hu"]6Z(`OIi=%#1B\vtP<xT((v2'HYmZO#ff.w"ۢF]ev<6Hb]_i,jqB@Z4t;+X^D# hqJ:Sx0J_ix |oȹ4&kTRmd S2 b' 1SWS3bK=* 2/_#s.Y{ڕ׋oh)=$H):WIJow垁h̙{UsD?:IɀfSTRFp]+0=5MKbl/ʇ *eM(aoDجO`1Bo88/lŷ;k  p)xZ)l[ܳ&wNs?>$_FeK{JJ#H.l9t;,Ԍ" &IsהSQWO~ I %DzHp BiMx֦nX=v=c,{/P%Ү_ւnLa4"_;h_*!ZO YvN"`y`umtBҴsx`ܟONER,I\zfm.P? 9X/齌0G<)KDf0/5OL2rRH+_}% 84tNn\xџ00/-UyQcQm,uR <*.(tRa۹FRA[TםsM) Mv?{>kv=]IX__n-& N|e )J d{༇E 13\ѿ>qw(ШETҞrXaۮlSgenA6nݮ(–L?]lUG F28$p/Q2Z6ݳîraQly"PY֐2gWC J_~/AsAyNՀh9履sQ 5,VhD{ۃ@_|A&1$_H:67KWAמTIr"!shZոc>qQw\ʌ:Ob?j~~Al2EOx׷kz Pk_:HM?d ʽa6AG[fIJC `ut^l]־G{Rh"8iKFf.l_ J˒g},ir i4A53i\?IhQѕZʠߺwL˙rWQȁڙ:-ķMï.8F=#-I~c:sf~ 6ƬGrnˬ/Z@fNO:6$hQ/5UH0f3K.#KX-xA%O2i^m@87rgE,O/S(`@j7;*:]zNǐ J S,\=_c_|@4bb썇忽9i+6+5e ՅyXIe Ő}^q=DLӯj\׬$ݣu$er]yT|!_I\#l>Kw_;%Pa:3V}>JUwl9U)o}ᒛv;dHj&h@}㜾>ftP뾘 5Ц 9hq\G8&T"=4yY-dq`Kq"w[K,7(γߟWC.uLŃ4D;XN qo?Cg 3+ģD;ɼ̯휹taLIVu V/*̿J wQNw ]N;Y)©IAvh3Ev)i8tbsOUN ݀]+J1'ajA:Ν쾟s-o@*t?{[ 6Y?:3 YZ284 ??E,dUoV!s2mn_"P1tai꧍o*e{_rNmhb;>_ӒI[?wZ06c :]_ou#Qk'[RgvGȥSCcu`cw^'Y?ưܕ4a0;CƲS>]s]KLp8п/EmycDz5:.R&FGU|0Q[)寯v{]-q%QMو~4ٳ@GIpB׭scdF,W}& Z4Ӑvu{7]7 o]=\Z&흺 ^\z kf;7S !`A IqLb]4ӳ?b ?)qlov绤 P wx)K? /FgR2Z =Noa+,lI 룏 Vőgn`%9Zn2P ?Lց3) K*B>0ub yw\`K;ew1-BQaoY-`C[)$XQI <'nA6;@abd+Zz[\ .W \D%Io}yJ8X?G>yu.]{W sU,F[ D"O4.F~+i4»Ir-^r {VP(hjX@}s|?5 ,g?Cw%xSc()`zhѧ!㍰}5gJZ"I\c}@w%uZZxG61_Ut\՚YWkUk>. w0m%@5q4\-[KW;`S)t"<|<` ga֘اmp`_{Dv>L EٙZRIo,M)Ȃu.x)~h'Om.wJ $^n1O :"Wu!H|lJbc/a;H3=uX暶cx;>,|=v6qYͤ cUΪ L~]ntyߏ Z{#`[8s=#HzɳktueVGr C25d KBDʀV٪H [<а euW\('s=Z)MlT%TWǢ6%VY`9lf 7~3'PB~h:v'M=j±w]D<&vih{Q)r LΧGdv*I3jB 3%-VtOHzӪf=E|¨:w|=ٱاE_ߙP= 5,DGqy%;5TyG@T bT Ən舢T޻`݄2~h/# 8!V 陯 s?C ^Y'`?j+Ƕ|߫obgE`ZۍA&Uɕ-E6O%JjyY:qwX&&X[>pYD$-+eOzv4bjQ5Ojq`I7~RF1z&x{xtcPXQSmO׭UK0:;Q Vh+|;>rl3&_hXZ8m84})&p@|ʿ^(|.Y~>h鶵 zLd#%3qa76,J숸 iݫ}E˷8 /85?vΖD;꺪>)58{t4xսlϓ19pf1I&WjX@d0 4< hȔש}:TϻoٖDlv,΃G^*ύX?-8bǶ&vm c0Ky} ɀ=G밨lSzW_HH0n h8\ Pmon1`&uUg'X]M]ϴ,{o>FJ Foqg.< aEVjZ!w4u3E[B`ftz vθXI^mmA%+WQOc3}&BkR4WWh_\,rPiQxK&GD ¾X mpQ灕chJr?|@G4W5- !2_KO+*hNIt;{$9Y";mEECs+˳,8DK ;cwe"ʤQV }VFEQHɗYegM5LHC$KeDg*/h/oBAәh‡w3!6%8 |h d[|Ztb9ҁC^"|mQ93N%*aYbؒ Y8CϮOaFb8E`;7nN.vbbZJ]~ɦHm:jdK+T̡gry=nQ- .4;,&C̿v[ k%z9@J#ؑ J?~0N y$J;l+ObΐQC&nn(9u1_|!"#-²؜O3*ԎMR'lJZ] cA4$b0 ӡ=]@ekȈu[sdLW b؆ j,]S͂El4yXgZ2 y'>e+"!jy[שFW9YaGfF~(|9[fh cbY/xK%GW=n0c-mG 8vߗB :Y:Oآg@ uM.uO[ z?B69Kӎløw9ωk\ >%*3@2D{{ *GZsyv=_T0ytE=Y̓st0E³X4gU4U V$f*҆;+H Q~IDG+P 4\29c jB,5@6 LDlQ-ؚ,aN6RǢW+-f>092awruԋ{zʦt{3c3ǪJ,ޏ acuIlo6%P^- RrZW#bhZS4g*%/vM?"kǝ#@˗uJHwmQS˱ZxG +'&{@ ck#bazwGJA1`֛Jx y0m$]]iwyE.+r~ JYϬ.7E z1a+F ytEmNg-U˱*F`Y M <cXAo+Cb(nLCifTs]~WػYk4x}Uk;̍ u:(!/+d?*-H#pfLP>M.g r\4ql}RA{r[u9Ma/_|$?wNhs3iIVW09IS5d@τ d s6I,kxeܴD~@b\{[Š^/8Px ڿRA9Oi7@ Bԯ6>OgzN7O_&+ TN!~-a8sV_;#qXkDحnf*Lvxfx ΓMY0&}TuW^ ^CA!W̎D*a>MtJj( JA:tN״0ٟMVsl0:M]0y5CK!i:Ք Ք9]*R]r|oQcj`:^9YBF%h.5S/.hxdS_U#5'墩'R9yi4w7 K9bbocNzc_S==2-xY * 8}a"7X֒(gi'NuE!]xdV] җ:ms" Gsc W%!ŕ9XIm5be8,02$#fDKBͯ&SLr/5 kVh#Y0`qquiFy޽h+8^8@qs>X'%vxPw,tt\mS~,8:d/ֶ󩑭W-v$2zIWjxt'>K?2 ɝ4G7an!b5כ`YOF%W]i(sΨ'dWnFAbS[PµekSX=psO+BvmKguׄ * -g#w\K3OU^⴯\0nfT {K_6.DPZ1bUD0j I0[rYvzCg :K8tYo\% `١O>cmJ;[EӞH^ ,@"yҞ8 nб{ ;=BWpݫ&2TL?-+52hn&3!Ћ_3OI^X Ġ }!;kUwJ>gClS84/L٪{XF(C']H7]e4kvjd;& acr x [WdlkqM̕n,ە[="9戀ͯ$8PM$9$gv߬1 `o{2-*^ yQ6Db5+i!4mNқ޹x؛:"YFʮ1lOo6'ސ&-#PDJw!oNerm;>"=hf]ڃKCًk;֌g_cYQSw?0rVUſ'ZN@p(v6(fB P f9 (mw"O㩹5QsaPhㇴz3:) ɥAk~ kf̱_>\/.G 2,"NIbX]6uV Bs f50(Y=ʴ9B?72ǃ &}*Ç#"Ħ;C2v&lSp$u3vW{ZHP*ԆQx) 4k5Ni\[ $#x^^ 8a\IUR%DFvYFn̙~\R!rc2_JKIyGDcpJG_ܐi>b ed1mSHZp ւj㩢˭ցz ubHc4D>m?]{wRߡ=Cj?.%MM?.ex/:Ќq}@oc<6)4!# "?3/GK C.|]f;÷-q{s1f9Si\oexʬ+?^_x2፯u3ҥnt (`t/zNP8;s Vy ]tir/ôryDhm,_N:+kvrEq;D;c 4hF=Jn=}s"%y KK.륦YHb f_:8Bǚ>Mԫi!t'=åzOUQ Y ZqxS#\HgvbE/b 8ݲ3kD46^zTbj1f&5t2+}l7{$֪6z 4 n!iw5Qh!#5()b=봌۞A&{ AHIsEu0{ʬ#nަ=#ZDc_=˶6\VbĔu*%NQ}s}0k]= =(\v;6ԢeL4O~Ov޺Ұsn}r3hHN/#/I.U.e-,Py^:pHP`PDwҨxeDȉR,HġuNHFbtr@$ ;^<{IvO 甍AjJ=.گId|(jo > ZanFϬQNZړŴbZ6_>ΰi idtgH2A!gSed#-5JHhQT6%$0,)vsȏ{~o9~Djcz`l}/s~Ug[F !,&EF9UU`Ʃl4+O2FڄC Qr Q0sla %_>쭛%_cK&K9>fEjP|j (S׶;h#L)bC_51粒e0l O/9mSfշnĭsQFW(](j7{^x7%(2;]s7KvlP\| : R1t;g"[]SHMy0܋Gi\6 P.Q& ptĽQ;rהY(!F`e?m;̀F8,ru:ggR;Kׁr[e 9MOt%4Ք4scTHLO6 'nX-6>#ҍR8 9T4ǰoQhDJH?!&o߽4UEL V5QDNn>q~%ھξOMU_^`Q ٟ0_ਖ਼@Nhs`,?yFW惥d{LIwo@uB?ꪵX[)=8*{Fv:"NjC0A'ԅ7C}R*pK"߾qʚr;_d8I*I&@l|r33J)¤-[\q6-w'S)8Z)H(b[pҸIJcj!a?!96:W@#5J p`1 bj5jШz.Jf?% aKR+ŤTO$xUN  FNF]hv+fUZ-vL˴``Y$~G,yr)ƱBﺐ#T@*CE?$H"B;t=}`Z''%kDvf4m2 w.\?%zQ56 heez52՜|Y q PN|_咧y0u5x펦B[L˸sZA:z3,&? s̯`fh0'D % :L`$_ۮo=iW/N/5Npw"ϛyUm<k^2SO.f4,oh2Pz_,uHq̀YA;5f^ֲ~m<^cQ4MzhMC"eYY4()z/c/G-DS:OrU(]+aN,NxD'PQJ3GƻDKYặD'x3*(yl`eȿGE ;b[>N.!h-}[jިGCUw}0_d`AM9]Z[> ʇ}ә7ӷUγ9] "@ɻѸV(| ' 9}G?$]'/% vʤZ?dh"ґ.{nZ7 ̎*A8ǀ݉Tb$CЦm{ۈOtI{$}.aJ8)˟k-~גI1`CZ#_҆y:˜Sy(HsX0p|y5B+«!!>0!yWj&Ѿd[hr1d=37$r/f9Y2ѪǽLJDFI{#9]A|̣`ȷ̀/tBwօ~w)3Pw޻lߌ#b=@KA^WlrD6_@T?=TyGPW3GۛdOF {PhAnVٰQe2}w^2u♑`D}'&7!\ Z[]iݭ2O6|?3ME<\w~;;ij9`Z؇,sؙ]D y󊱬EWء۟ÿT3B7bw^P%<2ԁ5Nu&Cy-lЫ9QDG'sŠLkX8U;G&8${yH Hu.3mr$Z="Y>$DBlXֱӊ#`M-I4 Z7N,bRVmxDn+2fзJd,\TuCjܤOioe @P+;w;=ábJ>j_._"a52kҿ I,2do{лRX eYP\d/L*0i_ZuʡL~2s2{Ʉ1fNIL8½hl{yYsoide1`MSNm, B`r娫k뺬D%ӢLpk&qjMDIw{Z(n8Kɜ=lyarI ^G! }QG!*?q6't[ xzL"ܒq,0jqp].=Ui/쫪`P)2dV!rb0?:\ZO!Gwd[!=Ӷ 4U 2)ͭN$PQhk6ʊLXE$f9W<ԣ7DUR~&8Ҩ-bgQ^/3 ,^Hp/a\* \oa'/ϟɅܝYZ9Sʳg6m)Ty:-Y(xQHe΍#GosOv}?3 u@^QW _C"Q0N,ĶBrMEd-\ЭtVD/n%xYV^]j+G 6u*_5YcM1RjZm viLE2v^ j&we_G푍!ЏX zMbP&>+z|;y T{,;8 C|FR^-WS/T c$r#ONy4DF {9SQ sHh>i ] Q$ӷgb-"tUU|ѪN ' ? rJֆWO:iamE|-h׮mo]?։Zc6Ͳ9(T9J]p*U7(fd^R#ҼZ5~9).$B0]y7;oo>&go CY1`A mnzĪAx8r -X`ۚkʀ`3x: (TWP٧dD\1=uc1r{DR Y׆$E-!l-+":OzO)[&vZJe˭cEakq!ѠLguW" .Pi6F% |0UJ\`&Ln@C#&yyCT\Zf'I"K*b%'g=ɁE}vN¶ى%G;_]*0gFEe5Si5O̅m/mIʱKtfgs5)j|~G IOYLdƒH"Ϙ=$I]FpKm9ϙlx }2kCONm޲Ld*]3dot~%EY c7k;k[mZFI|JF㮗<=QYu?b~m/duֱ8jfTlYQT1rрL@Af]XˏdR1[ii/IJ,g(8,ھKeMn2j* XZw(奔Fb2HRbqtsbԑ<gѽpd3 H{cXY3˖]/!Ux=޻lXi>Ʌ'9d-Mo,I]@\7`Og~\uڵs"g n 49;RAV$]tfzB^(< %⅗` UTOк3wݵ`H_eBg# A+ Zc8G8C$У8ܫY%u=4TCDU %%@~Ȱ2գAZdU)&ߵB쪙5Zc(h92Wr9̥?KdJҳ*2" QU? @4"ɚ7h}NƠ-̰ȍA]SD#07ؼ: Մb=ꉛ$3]MZvqD'ު@x5^}ϝX(Bk]Ov JL4Ę`{4iwA8˩fOϊ@̌L1/TVeeQ(‘]wmZz˼36/º!滠P0Dx{|. N=U6)Kߩ-M(\Z;PiH\( pYwвĪ,V.ly/'5ݤ h_AUNV"Iz\N'Valbfgl@b#ԟQIU MR[ü2g%gf[xԔ;-bm¼MF HT=b}{

g-]}9*WʮQ5KI/6-̇.ÁpUFhqEOCⳉ[9n=Hec_c i70.JӦ~ܴ*<,:ߍcCV}$҈;'nDՐ >!G|r¨HSAUZAJ'SBӢrиͲ*G ŶIi]сhgVv:R~c\ZqRag7Q* ívir޸ ϑN~xP>;ZI#[x| ,Ef"ܳi[U, _ rZ_i$Lh)F[`z94!h2jƒnG|yCrv>ZuX O >.&EQur ˯f0,I閪,Jᓭ .}T۱TEbnO}2ea"#j! <5uʹ \c,!%EY )P6[]{`f9 GdKRx=?clL!z΅\D+ϿSWTDSy |YU;nFt08`)Dڸt)cNʅ)v~K-E4Dхhc91SDSpϭ:oF8RfM?~d~w+8Ǫ@7$"E:ܔ4+ګdӾMJ]_j>k}O P]\تCQ۩Ba U |Mp]P9dX5Ь4ĄX-[89Qp?UH *qE q4Bmd:Ɛ'5ݣ18¢ͥTש/c:k>Y*ϸm?YOG'4j& K?_0f:~!')~&P  ninV_͈i78B3:l͌͡P bixk9= ѢE:Ѯ.6~c֠M#ϥ%3o?AWZ@ ]BVmkr_LSOp/q*#(nDqW)V{LP;q+a}-_޲AЧE}{qH?z{p!7?GŭL }m,İaS $Z8k 4^Nn,ۀB%WsjV4OBe0#vQ,{5փ /IpOXXrn{oRu]9Jh*U>ͥYr>`%k#Nu%Z3)+Stwq35gdo 7X Z6%jiM4i!^(Mx84(&ϔ7M\]bPw./Q_ B7eM[j8y kan_3FE:zJ}'gӿhv8my fZY(i>XUMaX(M|DTu5I&MoqI[Fd΃e/ `ПHnoiKicݼ(ˉWsMoi-&X2ȸ4d0VɏJ(K* +ir]u{t'y-xc5MNFFVR`X Wu$mԔ= e@EZגQ312A;[Jg6w 8*-Ы5/F/Kڣ#oJxP9f3|K#sq}-Wb"C-.p3M½Æ,r3Ӽ'հ?Ν_b*M^.Pap#^h!.{5ѹ-yзdQ__ζIr$0DM>Gq}~] i3Dїc+ L&T.uAwwՙWUk%&7?W`(\Zm&:V^{&I]ΉB'A~DhִY!U< ʼ1g2 Yja|S[NIշ3=eZXa+@>wW V1\׼O,$(b&Quj-:`<tCcvc)es@ɿ~އjMWC'HMAPbRPːL&{xAjyMG AXTr A=Yb{"g`ƟtG7ɟWJar /$[Xn-G^fRAWT,5*R|6X63+T+;YluYm=twS/vϑc9?+S۹.4/:uEץ\mV+-EX9pVb% ۳b$+.JC}vOEޯd⡉G8ZO;ߊ>O(=YoܵڭJ{uxJk`JdQĮsd1b-?Y|MhU:3]Q@ WrX/VF⅙7CïlDgM7!˻I>zuF)'s;q.B$| ;.GլX>9 =h?O˸M-ł6zfu!kDp4S' P#3ٰIOL7ZJѐ=.'e%kN@Rg>#.b>M/Q+DV2*E ITͱ4<؊ ?s؄ڵ tW.WMj;Nv'v-j;y_AgLr/vL(-6lЯp&Kh$q+jUw+1h`@\e_0J茲v&gaN 8n°t85d@\eq(.7{|ѬO y{ [.8mUgn~o蠄 ͩ EF8uYCM@uq$$ TPx#'.As,3p[Wxg?.׆6ThMz-yd_B2Ϫ.[£!- q57 w=Ll[^sn[DhS.4qȶyluύzfp f߽`7 N 1{ygy"=zBfo='RGlckܝ* 0n/' *~t5' 3FnlUGvcW.O:YPB<.Kck8~ )Eo]7g fG,ǒwAHЉZXDrJ4i ~iZ )*ڌ1>-0ȺY_G4 ~(ʵ)e M'Ab4L6|ָ5}c7eQg 2_0YbSW)N%)zhi7PF'/1\sh509Z"صF0V0:DS]>8&;t5Y?e6&+ȳFĺph}{EHb 7?FϠVZU@W|1wіtWE+] Ob=7OA9Z>2y4z>~AgĥTtAxԴCa׫U- :x+ȸVā)a]'K_֕g}"6HwBo$ @q^7瘢^0;YWFC]gO:~,0}9I=*D۩e >NBg͡uJ+DoC({_ .4s*I$Eۭh' T.7%v*AM6`OQ;đc>um`F;"LmF^yЯ? MP{¤,CGkzCz "rF\hۤhh覀(WW 7DCd4[<OyL!xӍL- ?lZnvhz :9 }Ϳ!6FILqJM"]VaiHSlcOG+Zn+˞V xᬛW`< n-5m_d8:TrhȘ: pu(t)S\R]fP)pMށ£z4̝* W c%l xU(MƬUD݌ve`u*g[Co bGI⪖7)UNh)?;ѬM) [m1?+5q6s|.G1 gIG'^A2X+Z<VWTftaMrOه̠; Gr œ?Jӫpo0A: zf-h𜭇`d'rgY,O>Jol0IΟ}X.;li=+wWo; $䖡 {F( /JNxW0tO4&FaHU){q?^%rב FJi/_#B]*.%VX_YwP+ w1H읓fy Hs ?zyS{TG@ǥZ||?i\-g K>@Ro'R/7#UUEEۃ̛9H@E+G(>*<,w17m7q'.noHߗ3quYQS->ސ= s),_HϜJCumx7Om\+Hx{Aybh] fBˉ4ejL=Ci}1&zzDAGT&%QJ=eVr<.YW˘kS]&@TYU6(CsfmXgU6_|a.қ/[w ߳LHZQHmςEӠ? hZ^;= 0OHbq_]V&f_isC̡%^o I߬LsBzɁ ,̊?{<߾4'Q;|עFaF `D$EpW1v:F5WT>Uj~6aq.Dn1H]5)("f9p9 Wt9g#lq{냭@a:XǠ̢omi{dDMVu/D{9~LqC n'0wd#iMv%BOC9aDVN2>qCֽuWvۤ`+FIwħ6 Koȴא `{UoIz:忝`*H=&4<˗;50}Rcp?w^ ƄFv{l'F~_%g铛3_XܝgkXՌFvf\*mnNNkc"qВnZ킖+3 YZ