multipath-tools-0.9.0+119+suse.308c007-150400.4.16.1 >  A dp9|r{_D>Br2e|/>+?n +~騏DXO8{t*.ֆfSݔU]2,Z8 uf$↩Q:hS(@@m1*O} zjƺrxtav!?p.ISl{-Q6f966647ff8d850f4656957bc23be5fb34f2645ac6226edc1587380991c5224f523287ef9a4ffd1ddac144d348526c5666a215ed܈dp9| '0eL%{~ .de+T}m6;LDܛF8>r8n(j2-Yn^ ^#itxzˬrBw"_?O'~,QtGfS+xTE9}>0`]X8UXאoɷY*hc!NHmKB&t;ICKh$jZn.,)2::{TNJ Kj(r?L LMd>pK/?/@/B/F/G0H0pI0X0Y0Z1<[1@\1X]1^3b4ec5d5e5f5l5u5v6 w9x9y:\=z;P;`<<< <GPL-2.0-onlyhttps://www.suse.com/System/Basehttp://christophe.varoqui.free.fr/linuxx86_64[ -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 || : fil`x`qf+"@FHf AA큤A큤A큤A큤dkdedededddddddddddddddcdcdcdddkdKdKdkdKdcdddcdde0357204fd3f3d78ce20d562c020d8b30c101d06cc57256b7c20d85aa542681cd123668a9a437b24f863e8f9c5b56cd07d7dd6698b31fc89ca458dbeb419dbeea051a02963f6108885619a1acf2bc370fa79e72aec278ccc5b5008b04170db99d8bc9056cc786834bdbf7529bfc3e2463d985790d4345f32ce5bad142e2ec0f363ccca50a060f5fd723622ccc51364015b7980fa8b9de63c83802c9988f17c2bae60d39901a388fe0c3beffdca1273738241510165d07a9909e624d6e017ff60806d7605ad8dfbe1ccfeaf7113ec267da9e8c23b898c4ac9c77d76487a0ef9d87fe3d6ba763cc9a45e8895b134b7759c27fb51509b9eea0c5f09b85d4391f38aa64ebde32cf756c2925ad17f557f343ae1d7d8e43f5b8c93c24011604de14a3df543968457224a8cf718b136412b8eddfeff54238fb7a1f6abd6ed490d8f3ebc36f4803ab86c57ee79c936eed2e6ba1a9a8ec7ba2f0d58484dfda75e13ea8022fb0a5d2008c609fec129d2ffd01dd7f65f0e3868bcf465b6fda76e25ff896ce98177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b88064309b8a2db13549895c9135764f47889feea5633f00a53f8eef28d89d79a24489c711778ac43bbe58ae2916e89afc9d2693cca66ff93b950d1f9f730dd0a4ab9464a0a2bfacf59605d662402e3ec3bb578ba30e522e1ef5b0700e841bc0a4a8d53d11a8e8b17e9994b45f276a8ab534f3c8da8176e5507739f291101b5280d885eservice@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootmultipath-tools-0.9.0+119+suse.308c007-150400.4.16.1.src.rpmmultipath-toolsmultipath-tools(x86-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.14)(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.2.5)(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)libmultipath.so.0()(64bit)libmultipath.so.0(LIBMULTIPATH_15.0.0)(64bit)libmultipath.so.0(LIBMULTIPATH_15.0.1)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(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.3d ddac@c6@c6@cbγ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) * 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 * Use "queue_mode bio" for NVMeoF/TCP devices * minor upstream bug fixes * man page fixes * hwtable fixes * github workflow adaptations from Factory / SLE15-SP5- Fix "rpm --verify" (bsc#1207232)- Use %tmpfiles_create macro for tmpfiles.d file- Update to version 0.9.0+62+suse.3e048d4: * 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- 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-rbdsheep08 1688607854 0.9.0+119+suse.308c007-150400.4.16.10.9.0+119+suse.308c007-150400.4.16.1 0.9.0+119+suse.308c007 multipathmpathpersistmultipathmultipathddracutdracut.conf.dmultipath.confmodules-load.dmultipath.confmultipathd.servicemultipathd.socketmultipath.conf11-dm-mpath.rules56-multipath.rulesrcmultipathdmultipath-toolsREADME.aluaREADME.mdmultipath-toolsGPL-2.0multipath.conf.5.gzmpathpersist.8.gzmultipath.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:Maintenance:29722/SUSE_SLE-15-SP4_Update/8401b10af18f6deb3b62b3e290d906df-multipath-tools.SUSE_SLE-15-SP4_Updatecpioxz5x86_64-suse-linuxcannot open `/home/abuild/rpmbuild/BUILDROOT/multipath-tools-0.9.0+119+suse.308c007-150400.4.16.1.x86_64/run/multipath' (No such file or directory)ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=100e1586cac7ea9221041b68619a94ac87ae5ef9, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c2a29f079a98f1138fa7fffa62379b8a6033a4d6, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=38a2715a3cc8ef61aeb11a5070cf87c011b7f6ec, 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) 9 R#RRRRRRRRRR"R RRRRRRRRRR#R!R R)RRR"RR(R RRRR)RR$R%R#R!R R'RRRRRRRRRR(R*R"RR&R RRRR[V+\,/4 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-88503352e63a0ede574bd671d1d1fd3c063d22493c2617ddd7cbdc4f5fb12f179?P7zXZ !t/⭫] cNſ^Js$tMD̓^srsC+.[qՉ"1sj&aqnZ]  |n,~Khqd،K>IQѶXeЂ;Gz&3S~{^͎"25\ZxOwRn2Tduڛ(c6481j WWt*'#.1F FC)%ᬖes$li=qG~@ kp”3l)=ɵ&rd ^]|ՑNG" ؠ,䫼BI9;Jkw5 \'HɠB6J'ᛢEt׏ThY!5 ]R#3鲆az tSYl^N-Kn ˾Ml]f~MCg!Ru$;>gV տ3 `V(ʹ١t,aC؉ t玐3E<_eCnvjMi }M՞i?Oo)͢ ;F[>$ SBNB9(~yxXb߄V\F|Y9*7h^z9|PIvoT좲/waS hбTM[3h٨4{jFIjv]ض\u* : ;Zrgr](d$9_*lIJ&M%.yň񧱚ztf#/\̑]3Y ? Qa C:S`np{wQ C<{SMs@epo˰!ZZƶ~2U;wY @hb sH)C$Bfv$.E)$Έ8qU(,h"-$4~FH̪ ar|3ms81"m>~NJUo,H.^^.oM#kȔ&h`d`&丹N"btb;t]j40PRp" /4/4a(}?^(,/{¯yn"X9hߨ]s/qatai딦Wpu*E  js4|Lcpg~chٸ;ŝջ\xV$Hfܗ`yc8F0Ҵl_l`=(! -k\2Ni}7DrSO-~_dL \FR^*T1ˇOl2)g1=[beGuRSFP&S=Uk<)F58BpW8zz5bO&dS&B#+s썋t]KFVJ(hQOp[TZDtf]iܯl%8=s B@3c9@MGLZ&~xjڦzJc%ٲ,#w@0xq`(s1G[UFϹk)tMee%u+"R%y[-b0r itbJug[h(;mʙ.RDm+0rS귷ތ߇[^5z6l=GE3k2$'״ҭacY~=$aE~w@gKP}xCC|*):=(45`mΆJB$FQlo5kC~̵FFY!S7Քfj~((-*Tf(NMx=Ay$/)'Uk"Q paɪ]{ywۢ'ue.· "6_((k.)"&C*:/#ǰ2{Aqyκ=ViԭaPR|=K>u B, DtɦF@Ln2oֺ=FGvCUSQ:JW@‹@$턷]cؤD^s[s4Lw+Re(>@$xl lqJ)_n:K+Ies9sanLxɚ I8FTN~ɜJeaEjCE6%;~vǢP0sEUz_3,Jڝ)hQPIӤV9$nOOLpk{‚s!!*RUpϝp9ś5Ejixambȋabf:0]w|o h\,[| ^8L;ΟԙG*!I^kDVCOI{4-/B &~IL~f~n3]q5+B /(FlttV8ڽ?/\g09|OAG>(Qfz4za1=µ}E?j*5 *.5MH;!;Hu'QyLܰ@ZƎ^#iϾ+9Ziњ<;G* 'ˉc3l۲9(-PD/BZE<x+/_$.r, RӢ4j#6{`DBCi|^rrпv(?="!T Nz9AZQ[mH M,ɥsA d)I9a[c, ҇Bz kW;,d jSt-59d[I/E5ZnE hҸQJQC\ܷ79PKĺm~,4ۮ3Ez]L{:,|BFr`:<*yC=@c+}syd왅tT(=HcGsZzVqDTQ{ ,c&E(m\dJGsB/X) 0D=#6Q]T•_@@`~Lɔe)a 96mP3ʥ9}_>.\[:) x93~,eb!MٹJ}sA 7Ubf9>ӗJnNoL"rYnrl9"OR*]Lձ!/ A7E&_C2er"!XНF^S:~c:~ʅo{Fy<ӯ`{%PJ8O#nV ps@k1%!2Ee@m3z *.%3 4LDnDՑ@P:ԥ$}JRIZ*Į4Ch\=L_*1PZ-]BΒTѕ]"'5冾q4&r]ZlBl y$tr`#ƪ͛Wj M1YH).W%M)):OHPm7Vx׻xFehm̹gIcӃ#K3i5=n|pn*"hl,!~GYǗ}=da\ffc ֈ&!hb~+y~cB9jد4q=wBx8DGf|W!>ڔ<^[§!7 Ow!6ǰfqLcqy6Vq$Ω¾]8֚Fb׵*U0xAg3+2 3gLiͱGϪ>X|wm4d*BWK$lՁp<Iz&ӑ2Sm;J߆Eg]kuv088O;ԲtpSPO\)Td?zL<WҧldD:tH(@۾ f>G`T}?k#]@?ڦu WIUFטkvkp!$wz"xZ&N5PY/2 vPcj3ZzeNrztf-'zBLB>jLKE1\6m\cMu<.?юV!HȌl ^l@͎TԷ-=ަ@47s67X?6Ց+ SvrP&-ǝJ[ ߌ-̾q0=#(Jhq bEYug+ݫ06VEE i X+~2Z"kR$5\f־)N xƑ;>qƎƏƓL( ~f[^Ծ7 /Ald}dy0M4s|6/0Վў M6Md+vW ;`ZWi'p4n >2X V wRfh/ؠ]07|db/S iKq!Wf{/L> \Օ\rzs:1* ?+&bM -)2p:s3yTΦ!c֤ub*)0f.Qy1a36l _G={b1o>hf,ZZ5ԵD!oZpka`Ug ?dQPub8OD]sGS00<%v2fKI?=bړ`gxA Z(BR>gdKWqARr+-pNޱn6A!:]RcFu_s rjޫ@yC5!bc'~_I(4 ܁բFn5lE]:..{Egj+ssɼɹGdŽe !XPWJW> kgvR1"%7@nd*'dߧLUpkZNX!FgAU-+U g g`mGELhNJkSAY sHsԻHGo25_ɒp_,2(RL<3Es?lu"c)aT~yb>˴x\rIR75=U%߻Q SF#APvT>n-@?S n"NPʑCnl †͚' "WN6H.T㈖@C ${r:&rk0lD Pr9, ~dYMR ^H u:m>nZ?gO%懧oEQT V6O31r.18p1S&rPZ0X0HOw[Oɚ\&Bwt23C:t2ڥR^/g|LY2teL,ǩR4.Y=oywI@s Cl"ɞH _W7 <9>0Su :/fnF4: \ ]y#X,49?oKW*s]Gi[B;b} z/9f{P`4ő@ߟ|]! Qoj_QKTe˃SW;"!qHN ;bb! LԞӖc/8ӉdSU)h;`w5A /o mv>홪KYkI݈ @0+|spV@Rif| $3=ҁfmWgh,[]- wz-73'S4e^b~1!O"fB+~nϧ-@ _Ph@:2Wĝiӗf~IoVuL08a"MHv_Brq]wLxp@G< B7D⑪o{?I8ȁn\)Z5(%K5G;9K*K,i=E`G@f%a-g;96s@;kjeqf~or߸6=ȥM=YLKxeA%ܧ*lܡI|.YZveIԽoFZk-e~J_"1+]Y U a(C9oe$T|VٴړT)hݍ^ _)L%~- fD7?+^T (1@]Gw-)_\KeE{J/A.b$ȂXJB[ ֳY"x܆̺pH-wW flo?2T@;}|O,ѴnVuA 4aR&t`j`8bd43`;Ж,6V;lCHC:Z} 25g-Wh@˛λ,v<-uL8NvBV rdJd#ovwӛ=>Wͫ|H$f8vSk,# 3 Ղ.$puWlI:hኑ~"0Ma$ppwߤ=?aϦ?j;Z:4WY^CԦ%"$ꊳ83 /8qHC+LO"/b *l=byO@)M/53ِKJ.4U1'&w"GGTݰ@+9(@f8G'+E2JCȫE~ܧH?vcn=hQ,ݕj.q &}y( (ems%S6;A@HŘOқLtfZDwZJH k>(b&/%`쎵vkYZzud1!? 8`pf$CΦ/lTXS׆L $/Z_ܢkژB ,l+x}.9w}KC5& q!b,ׁVY'-i/UD6dv % j >uGL3Mo },i/d<9J52Wx(\LHAgϏMW:տ5`rr3뱚ʠyzI@'CǏ&>L6,g2lѥg0 Z^Ţq_wAObt E瓹[H$Y0ԖL8Y QGL+`HMa^;]ICwl^ANf Jv1 "D:Eiwxt4%¢? @p %,zY 1x9xB[ʳ30v:P#osp,8,:Cu3 zjb>0I % %`F-],?^Nt@t܆ІӞމ"U<M e%M)0~T5* v@_y~9 4@{{Sa$k]{\o4P uÎ}_R IG0qƸa~㾶/X۸$efn\ԼKabn!| /,NO#f[b5Tt ޔ1RUyk.`Ze[!>1 *?LWxYg_X^謸+_>G׆#3YovpG@.ǓS IFuqz Nb:q:0vrdف6&4 mp^ըU$5Z ;]1@}D]$D !$q2+Sz#H'ժŀÆyk~x̒ Fnaw AS_';ŏC+fgE0:>bo@Bo\ $kc%jp2,DXC¤oDd>ggT|?K }%^e&Nq8v1T/1kb̓F0'|]i,23B|dϘnOrtg Bpy1Wsz> S6-ZDI_IyG*5(M $>0$?\eySNevd `3?~"1Gz]U/nR5xRxzP_l;qX W>X-E39ĽvW%9w=uZu"VZ"7ʄεݕOeʻsVo4~9p1ܚZzQirQ-ee5ֵq0lGxGC;tpKbvl٩+iN+;W4cxa- C H z FYebü[4SߑޱB0$JfxJ@ 0H?y\(M98z\ɐD\T@"j+C;Y!%l,BP~ PtR )v22XN gvuW&%:B{el w ><"[!167(쑘=Z rQ ܇#ܧҹ~d `;VxD GJf Q%@~JɃܓoc]q4zUzyI`FO*y,3ZQ,Mqm61S]nךcwfZDкL]#[?>}D 63gEG'iuNuLQʥo5ܑ7C>o;IgA^5ϓQ.7YHs:03Ąu$?/OfơzchJx(*Nrx(|XupJ 5YNKϘu1MA)ba99{,aV=]>U8wAZqoʊ-j/_of +k\k|6̉B0L"] ߱w ^-6RO/W&C0gn)JfrKd-CZ?jyVeE*'{=WjtDz'ofY Y3xVS'pަoK&sE[tc)]Omj`f3U@1fw!O-?NHsdm4vǏkշXZFbVr![ٷE@ 6ruKPo#-\k!q}ߑG7 ƍg _7+lK&*El߿?E 'i99D 2Yn_ CQ:n`,1w>t򿪀ζ;;>}\yÓ;8g=Ryb.14,vhź{Cg'8޴h^I3K' |hQܭ:_~ZD\ 1]NRs(3̰0p{57p\Q{N$03vr&lnԶ;Yuae@VK$g5xFpQG9?q/Es&R&}`y:⿭ƙ?za=1O   t@f'*a>wC{H^+^h.ƞ=& |-ܶ ʩ5݌Q,dSeX˕j >U]ύqn8-?# -qٻԝōJGbq3cS4kgya@O2۲s[<ѮsP?R)CS/IHhčo#)W x||E'V1#QZא2tAAyJtLxk~5}]d`M&.;fU&'C<;Ӥtstj~ j58&;z fp-g=0q)" ,AۜEsCVHD;s3OÐѩ2w3OYYu'*KY?5O>408!{ $J(O0Zڳv@Tz셜~_tk#țvA &Pmo=x^trfbICed+~;@|?(A)&ll2W(Y F3SDpz5!Ii)PbKQŹo-7h^t7CШBLHD!I?֫(P,*jWJ@ӫ5i|ViŊt27&Ì+!(_1Q3h-$nrP*"#^ d>S鼝P}Tu'd՟]گg+4?(ZZF(|Y^{$R<$sרl/mϔ,UHպz&ǹBǙ- ,+kS]]?$\`NHr *./,SlH# I >tQ3g2LNU44( RsE?]_uI߁ B#i@zDFa0HddD] B?FH{o$0&B!6GO,o 6 + /sX@bØόѓi|\@TVwK2^jƔ%.1^^u[Y&aOL~wíh4pZ&i# bo**#p¬6C <6r_ –mc$ ~W狭.r9S]f.L ).\;~0љ"J3L\UUwvBY3ڛN}݅V(B*O\zwX{%rbi\ݣMZ[[+%B&3a :GՕUdVAr!GoEP'vFYz}H%4^(_R gPѽ%Uq0ES6ҧ(J֜J$(ͣm'Ԯ܆KX _*F Zt'Kz(_u~"L<tҮ4&%d|D X~*Crjy؈65/VD sȖR`/z<ҧh !9E$G}oqՠ*g4uo͹8--m7|ELC8P6(RFR0>T;wXMQEFH=yIA@Cwn~b*XO} H| py t>5(X42'2ڑΨAE:8*M=eImFOW;4vP}xmܬF]~?0;}d6;Y ٔQ t2$$NW!4B'ʔOP|+7B 5~~^du)G+kαTd&7;\3clLPMc!'Al4Lk0h3FoƄ :yWm'sCN>6cb:>;j[l\ N>t16_XϪ1sSΥPhKQB?<bCqdV0W&c8O>*y]K Np^Ee[85P@ [$JMd~ɈVָ 6";^í-FZ,LG jRkzzK H3n8?{zGI1e0guJ=C3'5 4>Ł}vM)P~}M8C%p_;摍S"2m輽JhI- (f5z< ^XG´=My,H4!3ߡ*v999ru4J R,Iņ1cP'ymx&dsB+QF;kΦ} dE,08ayw5ԘS램JR8@V$+@qUK2:74Px~IT\P c=QcބA/AZ >% ŧN AҦ2I@O+v!돁+wC1,RAb&J˭/6*{@]Fײ$s a ݣ2!e?.7aT=!.[z\V+ݡ<!/e`:39LXVoPl?9^Z]Ă c:7} g'V >>6ѯZUJ>xj+a_ ] ظ/yX|}[qNڠ/myFOHT"2 ϞPRf?g "WXN4bdƑi"w]+ 9V}"6ɗUGk uhʁ~>͙50\͔r/}&(^2ߖ]84[E^PiZ?Cp#кv[A;lv :BxvW0ՓO#:7:L5=;(\7#Ki 5gO^s[Ϊi1Ku>R5, +u0~_U8+BEdvOvv3AVՇ^$KܱGuk"&AteLO],s)4%۵$+"q*۲n˜{b"w XjVM 2XP+!8y &iV|[sIdõ%zKtAPE8>>¨|yE9ePMc~X""y&rMSRɁԱKYYE$*TuYb}'"zf+,b"gs \yMT T^FWGgkwPtߗ ,ռ<Ȉ!}Xe1e_Z$RVIhfi݀Qse,E |_t bcp9@A5ӣ#i"/ $zL˝V0F̥Y2\.pOS*<|*'䣦=}zu\E4 l Ok:.AsKA+܊hӑY/S߮ ˞*7ćcҥ Ir[dP,0y ]#CN4*PzuPg&o MR SZ* M]YhyP?y'Um-;I{Ɋ"=rQ&-|><9OT.}wbe>)>cy"7uUkF!|Ĭ쟽xͯi"&{|SS(0HhCF -'7#-šKŘVpc]g러r  IXiڕxwul$TGY kNY ΏE>Z}74Z4<5?.? ʆ)5*/!B peyj&!A'߮ŰO9x@tc 9b"H{ :umPm-3ۙb=c7:Xemj `[sL+bC^!4Y`^] fE@7 D ӫuL)$f6(͖QNH&nuڄA]3Sʱa[/"f7q?B6G<+(2}#FAa pwD}zǙ7 ojy`(tՏq^+o64g19K{+:v3LȎjjeo,`֬ 6N郩\iaQmNGI,:zQ14vP誔 g&A3"opǹ'ɧy6~bzN+<*Շ f^;}D8_%Sޑd2L2yM-]yt TwY藅$:Гޠ޲r}%&x`XNּ.u_(p|I^"wbȎ^îwR4t >QLE0F?)zzxZP0I7. h4~ch~yvi%g(4<F7Kl\yjU>*bo4Z_IS~G&aDKL!.kd_yI<^؝$(Z*WrqɑJ95d ޶Q ϻHjl#[Em= cL+=C~0_- <$X[ysJR<(OJ|a\?8||1֝?q6tEHC9LsgzżG0PatM\?ԀDWF~Z.e!c1#UA+Kzb^;C 1\^nV $/4Rp<<PB3&rj]%1&XIbA.Q%yfπ7G!z*+NASḾfS r$́9vBi}Z@hG^nZO9%0d6(`=uU7O~^@8տ]TLp_ZbT*ÙsS}Řo'u}oef9t-2᪐ǡt'6ߓў.R,f'.u=clpBȪ6r63'tcث ;"f!jĎ@9wשnH/!6e9nͅM@y.'~&xU+j).sM5D; y'W/R%mNsd0q+v&q޴i(`qn7,L _VzOI32H$ιRWjqܪ%kOUd"<|*!:SLfw9c֏ UoPޘ+ROBSPz^ a [wunMzýەմڷu<=Pnw#,c~6RtÕ̃wAd*כ)cuO:T$8ef90j(K3[JM|^4cxTΏ &-?*6=cz_Hۨyp7J66^ڭbglkH]I}L{"⧝e8nB|\r]j=ZZ ®E!.t?){JA ֌LP&icn?ox8© drR彩u _D!u}sMG?EVd-pҖlO0C#sPg]/?+ JTpA vV͠=E'u3ףI&xKiM3j*]Ou[AdgދGho#P&RUpAz nJf:E@Lmһ8~`ś=oeހX5)0k2 wԩMKZXAHSk9C֒S 9T0+Ɛ.Z upgi?躛3/}j%x1MZhgW+7 dƸ]|Z=z)w^RۇTGM?QHOW$ctfєтfSyX5ISAcBj$S "<&b[ԅ/.1Ii(l}l!F LGZL~xʚhZ.C$HZ^:Zj;RBa6/Yio%ៜwܥ#< t*3g=[4obo #qhEN,›HSq@L؈? Ʈ`r{-nwgL} RuI3QXz.fx֐\ncN0e'"dd+zF ͊{vi6_ʢtLʖWv:Exw8Y9A*p\:uJeH1ұ? {o$ }uab!7-}abxC)B<]٧sky@w{pF<`ΦVZ[kISU4Mē!i\6>8U׳"Ç~a1(ΰg(=K{Ӏ:&ald&; 01"5 6to]S(Db'b]HV_$m{)d:| cGFH aU;tԎV ~p:3_+_Po{ 1tXn$:hz׷0 +8,b:`\6AP|pGevѭHIO>[x0?Vd9>t?037L!wuzc:3hby ly3q=XzAs|0!wZЎU UvZB>6鑦kLb*ӟ:֌}hI𺽁 չtTk rᢍe.´2%* .Xtz;&EZ7g lE-7wY6N iFBUfR$DZNk>)P=s̭64<Ȏ߳.PtUO}ï&H0!I`|~i!:¢x./)[ քF ~e*[{HY7X,6T|yeMb-J`MDL^\/4GY/dF5~``"!:fIbE\=9NW0Uo824>W"tcKX%*՜tz?|+$Bxb>2;KS|Iql3n"nbV9p+Z.b&D,rynT 5H=AR^{^Kg2YjSJM%~SAd(ocduӎE!a4zj$%43(Z~4pب6|O/ s ^) ,T4?S$i daiiΓ{.6HK%eVc\H2pcuQaQFTDTlR\Pg 'x,Ē[+>y)QHf1汻d+i\ 탘<Ǔn7z6MP$Tvm&qm,q"jzT,hT&/Vq>P#9Nv5z4_k[(LjKH}+!FM}B9@ {vC\D9Uh؜(ؤC߅]o+k;Aikj>CJ.+ԑꅗcXh]ack tNre @$gy nHgN}JrRpi}#KwILʼnd =*+C*EܭO8!DƇ`_6/Gk$+Ո] ˺ije hlF략ڑJPX|2f]H޳C&*M!tV֘? &<^L(ʔ~6R'v8|$Iߺ+c-(PamQx~~ hZ)/P< Gc(K\vjZT;(, e @ qlGqi< pGE1K0L%F^藨-z@T#3‰ %SдMqh[dyW;/Mz Zk[.nԯۘmGO[M%x I@qx~%`4Wڳ`0:}z=#rf,O[eVخ=jZAWTEϯ@V> Î`%Z唇Ra$zV`&G.Nُƴ=y)Rw.F]$iMVMy=n#S|Y[B7}81w3)l8|!&"鍄4jس)ٗLiSs4[yƛNކ5/:CP%=iD wYUN`ԍHMjpM6# \ؼx̸&- 4_ܧGt5`Sd+ڐ8VK Ba5C[*ykFa}y(MWW4 Rjnw˦w1B$ u|]/|zPs]KpXXfl^ VW^oTD`w(Vc%L8 &+7z ]9rlk@}l!} 9i]iQR ͥ;%|yUOfAnX}}=R1C(+^+|;>&JUـiTGQ>WP9q$m86`zDqJnű=CjD-sމ#Ԩ[`~wb݁rN x7Y&k=\s8)r5 b]yPeBFɗ'G Sm,yTL6 |IDdId8Y; rm483/_Ge¤3^*j;= z ։)OLFI 檳ĮcbQtSUX@_W.mo`eնZ>5.X}~3W)4I\PPFLoNDřs;B|dUEf=(z4,M-ˣ7Á6ꚲ=uCID?C7/M0}XƝW'>=omrDk3O%rhC 論n$VEV P}8dFƓ@w߬V MDC u)"gxavp+(F:BAІ8 . sd9ߺI|ifh㝳(8OutLK,{$SMeWPzl%UyLc ,4IO"@(7)q}q 7c#J"2DcG lJSX¨J6Y6-fLB` k> 1"+ayMgHl:j/^mUV5d7^+|xmTźETM@Ewc@ެsk0,4EnqҜɄ{!"{IB=.jSM+8=,GB7yZkL "FkB(`&p|DgvA " ?a@ v*@)!%tʁN^KЁ+w9[B fy됣Ȋchoˆ҉F4޳3[W$K5]]ɽ3B۽Ξg6Zc13ZUTaZ?8I7uX8vާMnsrѠciOAojlo8aȫRdʏe5{&_hktYғQ\_<|lPQMp(zF$VkXq)U'sN%qu4Ah#B+9ASa=zcrpBao) 77 vlwl{6:B@6,}$ePg$[C_oqx@"_g!IUѥAzˉ3CT&ʥ.Iʢ\4fy8/:D•Un}H0|'Ր"ĺP TmJgy奏BtE ;c5:S`ve,'Vw )DO2P؊ eLs0*3g'"gC6=zLCgPS > cXVGR@6jwaMWЄE  mjg:0#ԯ B.&W)ӣ`Yu)dVR¶uN(.}` i3U N=G;C;R̵DŽd6e\na8ݛu[Bӵi8%5\-.;UFFm orv~(x|"nմݴMu2B8C X.HtϢLI!_Ε̉[ɲsC:~kc*c)_cbdQZi{W o  d}ag>9i9D:-'=E2BRDV:`6PLmQQ}b[Ơ3BGzxIIKC%Hzt&,nIt-oqº"l<ΈI <u-qmք)R&1+&WuhlS$L)9@ 1ԜނPpu!kK6Ey'78rƌCո+s|EDTՔPcZ,`/:CPʩsb SMS%+-r=!UQo4s _lvjZmN2L<ڞ^ d7!lc4%'|,&n-A/'Vnɠ~7(:B0]^&Y|;c4lpAZk 㢉U&ZޙWa'N$oEϔSvPV( Fȩ?#Z0,~m["LN  EV M/d3?ٞohA{Fd:p-Y4+%YGi6.9bi{-=LAgj E}Bs8uFF4yv)yȏ,Ã{*WhD&ܧhxVrq0\{ J?=ǀX|gĴ(p+LlG++HiिVRrQP^Blx8!, :R3`bBx6`yWAݦ2;#M`Oh4|LMT0cZF'ܮ\$˱ZӮ'ޛsK  aiM-:z!2&f]&~W%>`ao/YXʟ˥歗};rl7]Xqҝ6 l-v8 Wӛ 恚ysv{WKarW9|*m{ˑ{*x/:wG1B2wӟ)W`}`.~2\mMF{ЦnqN}Ձ؏"$1tB2t -AB*Ie~dТ YzH6NG bC^=e`?~'D/1 +D?6I{axz9x2d! &NIGW'& U!*~0-6e| xߕhnvИV0g7SjI|@ Ylɿ+<[Ԫ6D>Z;˫ׄCh kZ 5:Km3fw4?:n`2#2G-_%5Pխw[}yV d3. YydsnqLI$Z10K*h\ | Į> LfLCA'N&Hy-0z-,lyoA{KͱLtbigC A.YFFZL3}ys l g[$5dmD}Xyo.#wr˰{)c} Nh:[Q(PO IaC ~\?&O3Z `5CFu8ҁ 2`^9: &'ב5^e6Y'9, 8"g_HPe is*;o2, +vSnVԟJ} S =<?2AMuqZ}6zwp Okr$_84+QmwyNE%jak(KnPh>sSO^Gp $_N8o"NjIѠF"-$ E)`~Kf#ϩ; $S!q%M7joKZyuo7OqHʴcDCY*{C|bn'=ha,tb%ud_f{G.62ﭼ̭rbmjY01Čl+\vè'uzh "mA5[uh:KJ!l*\ٔ9/8sW Yⳑ]8?+FQ ?\"1sd 2; (͋p AiӡYiKRs"qD wՇA\J.1Va^c zr5daV v4GPCʈbMax:7Rcu[A{x|7m^+t|H$xp|u;3 +|(%8yqn̿jUmSړkE 4.cn*Bn$ʗu+PCuKFl4Ztk ͠% -koum@rq6aΖӏ$31X$&"ey%D>]yK[ f~,0jZ~ӭ%fu2JTP!́T Zno]Ơa5PoÑZvSRBkEvaMd_3I]B"q79/+3Ö[e+cOBap+B1 jIʘQ48cT#W{oIAC<ы,Cxp(hJ:CzDFQI?8;qIWhEl*~!'À> P{Ǟ< G[ikha7KGK`vhp3 1(,ߔ_N4Q.bKL(0N)~3Ի] rE%Y4ρ's^YGs&c1hSd07כL?L wU[E3q aQb~?}pg_SZ|ޚz0 /蹎k$;EH6:V:ق}2|,wj )]0` 98qD䳖dR U8̟9}:|:Ko{ |HXVm<Ӕ&ך2Zh[o}LC\}8 ((eO!!Fg[x86xqx:Ƽ˗;:B:a37̢RnyvQe̊nap1,8+4J>TG0$w] nCbŋ\ߪ7& 3ds׼䦱x^^P }2 0x[zİg's`ՃTb0n W_WzI '$&ljBFu_-(v(Y5V0[p;4_9I*fN) `Ufp aS=,@4dO>ƊLRw429( OBǁ #PPА-Vv_u{VJ4KI" Wݔ~ׯ,,cX(t=<~{dtDh%:2)BCR}qQ XL989J.O0Fغ0QP]D#y$Sqq2qu˘b ?R8[>$ hBt+璁c,.XƟY5_`n\d` {3RǴYl:yTSd0ETKC]ej9{:7n$YxRu̠_YWv$%cb2gyʟ}Blb0>9_IplKZUCa\#7KfyFϾ4ˣXce'wfK(ܴYߊMعvĭ ПSך>hȖd ?Ti ;$ҟwolRg"g^bl4q5-:;C|/96:s) '\vP߉3awySL L $K8G5:Vu .߯&M̅V\"2ZσgƌX%*2T>o|3VTzWX5r=10aY`%6Wޙh] AD>m oAW̫!cY$\f^/nch}- y@0u=_D^G*æć:V?ՐR[9By]a*G*u͚O{}H%X,0YG3 &8,B YxFdsީ>%EڲPH+* ^d:hbw34q}EPjRGCD\lZm]CZeia[ M */ˆApv`هp\,֕B4c=sR]7^43MM0k|qq9t#<IU4DDְV L47_ 8Oҩ0wn !3])VMV)J㣥WAHkV<ו{@GƳM C.›v镍[Ù<,>U,Ǹq">V=[$H<{=J@Tž|S6"c{$P . 9RS)j@[q}/[) (l]W6se9 P:/WVepF1_(p!t`2pxt#\UK>(3l{.0z|,^A'qHRjRW@4_ 3E3E+y._1v?TwXi 5Ciykl4d>l'L8[݊q)}(슌a]pÁZde㟋.kmt}3x ()np&NPYuʜ08kxh5Y}#Mu()" ,B= ,,åUB8P/E%QeRWG=5(S9!9m4wLHrs$џ (kW=iXP,} 8gZ>sq{\~7<ܡ')Qg@~ Ck EF rm!K@6Gw\>q=[:tTp(F㳰HNh!X KT8½'Dam%gTt棬>w! -+Z(a7nGP;6}Y\E2 $II=d3Df@}MlK1vf ūmh`#m+^B._ T )F!uTk1q$R/:đ"J]cR{BO>j d/T`M& 9,V}f҇ȉL>RRS-c~[T ~PSb&`=%aFX!H7 M tg'f F =!$^oJ8g3E|at5fP.mظ"Yɲb /֐;jڒ' S9A!$>p~&]rC 9-Q:>q?+VӹO1 ?N^͏NҐ2"B>i%mЀ鍐b"T+cn9as7Od @ϟSaKڎ S!DrkNξa"󷜾X 誓)BBHgmph@|HSj`6ympIvOݏ>:*.WRsL'558H73>'PǼd2ء?exQ)fq;cbU/o9uSAv*j0^n,"dD9q];pXgwWݳ~OdWH*m5Tk0TSTr!ӄΎH '~wq'\p/0BU4yAөwgkl?ԣ$eo שH8 '5]E5,>"3[o'Cg1>y^zi@pt5O)du. ĉ6yȮ<]p7E 2ƬTOJo7Vx{1MעflBgx2G 7[s5C^^s={ڃm R Uǀp~YNYVmUm v)VuC2-b;޴Fx/Qg}|=#5aױu'Z詫a-7K6)1K?=#bM2<\XQ8ŀcP'PkGIt7I( Oj_[.g^ƛp)5;r.P ] P1YG4ڴ޶ۖ7ˑH3A]_1ϲrST GHMD2nq+Dh"JN:dZw {6HdJ~J;_!uKLe5ӏ 6<avM0*a&v6.H_/!4"De~^ř6f h*-.x=rYE <'&֝=1iY3h"2.K$KfJ=$5n D'է12RźFN#wa057GÊ`u9s!D/{gv ؙߺ}eKz^G72rCZj^| Q=sVi} ON&4e_f[{tZ[_ܬߡfqE>R Xuq񧿴Yd)wX{S\OqJ:ΖA2 >;4 u'~]AH`,؂jdf2j`r0 -^%tN}jMʝ}AY[;tլGɞhU3?D4mfO]pX|Bh{|<oINU& dh\z٤)6sx* ɗX3;,nAm" ԃ^XO ԃm0iЮ 1G^HkLӀQ} y@ؓEܠMldcw[;4isvO@qwIn%җH^XibA^2ةp<(O&8,h$_P!"Gxc7eRT*p MR@>jѳt$+~Ur? }) vT#:Ⱦ7a*HPub0s}eS]"`pb`Ӯj͔Gҽ{!U`a*k}_P|Y_*9&$2xX c ;p7Xz;3)xo*r3O:H]?S챟FVO/'d41h+a0y2c&IQbl!#JNPʿq{5Yo9)UKۻ9˺R@Pпa:o}QA'mR%xrHU'`{%k WrS8{60Dg,Tɉ6̩WA}uh$0GSΊML#84GHeX_ǸI%{exy=f;Iȥ>16e/6W&V_<?e AMN{5=e GUk4L Kx~zm p8+#sB9[M%˂qt)@gƅLJ4bO^*lmn1 .*4p7vsw5(QOô C<ڔ|/M TnZy1N?%z E`t#Kw34ց"zd;#مoJAÚXEb dp40UR/<-{fRR~QK391u9ݹHAQVO^bJ9FhԎ$1^lCY> SAY]5LCQG cggkd&OL5O]S"ԏ'B&5kMJlơ /pge'q Q>zV OPAZPQȾo !ɳh/YϥE\! 0quQNV\y<|xS*ĒFm$5ϰv;\'*,)Ѽe昖yPYo{&'z0)CJoJ/].'8")5Xh@Q[Xi .}2Mý[`r`t:}iAuZt#ط룫= ŠDS7lW5[7 ]&]*v=nOP}"Vned`;֛H + Epl{zw#FFX8[_;iDoґnð/+xlFCw(=]rceg9奄'S}U(^G璅 {oɋGͿbkƓÒ" VYCbqo x pU ]WQE>RDRBHmg~p]۹RKZ̓Ļ> î/)Jl릴?&Ȭ >;m w:L9 Fb1ȑfSrkDx8ގm2T>;g8H)&gD K; 涄K$bW]N")Nq\zSb?ɾ]RҡbP&Z(9HQ\c0s>mʛtůQ:UaGWLHn1=bSκlrH )۱p,qaJžõZ-ćJqatˆ\e4B#!u UDBUuwG/LXxJ^44mm|O42gp ?W>9`Ǜt:}sTK~Lt>~/l߱]!QjKs)Mk㉡yZ9C΁ݒ-:0A0H+0n,Ɩ:gUAsU7v˛0,@siOp6ظz]_H99:-=ټed|!S`<úfM:c?g}ٮ)$|X#H{GtBg5|H[+Н ):=0fXGQKL߄9f|`wIf5I3霾-LQnOUm,d;z| 1D8f5^ U2gC8L3V%ڼd幂ȟ*4.'JO"\0dH|w7()o; )#4l/ukuUzCw3MĚjHN!g!xQ * }" ´^vw9$MEmiJ0Ҽ,C<XA5bg6ZzL ۧjOݑ#Agcf:SR&"Jęhd '̒WmHoq-qFiс>(dt sH8^"V5w&'yӎhyf^ۭy,pp>5 ެUade%K֡Giݣ%i1&kڕEv}'ZEl xB(d ۗP_#?)y aM OP῰Ϋd8aӵ .IPӻ2>Q+}vmi76MޜvV(z[R^%%0pJ[A-<)ۑIl617_RSo0 ^KbyX\"9EQBgqce9OaV~c>2%t`kxGBÚ . ?ۮ(j `́ٓaE2LV2$@7ZfUI\ꇔ]ĝrViw= SLJ(zqdIZQ(Aݬf"cnPZGZ ϭ3Xnkj]9Mz)G)̤LuiD;VLj`tS;Oڞ"0AIx%QEzLW c:Oj5T3#A)}2$ 5 } "إ?\A=yVcFE g*M[S%J4^免,ow .]>eyI W1,bo9>= Z[fX~;Q}|0(ZMF$o^ ѻ@| /IQYKD5FHAxQ}Ǚ* ;rz OsAmY?y?v*JwP(e590gvE\J1tp ΛW@^pDԉZ~D1_E5&A\z/r͝hR^9бs8u9/zi7AM TDV>ܙ;Z]Laol=Hr/ p?ݭ@~;s:e;3U'vh!JPl hf*rG"jq&Wʢ9WC-2vI%،D30f(cxװF[ 'tQ(gQyx (ɭӑDSr/0"%PNeE[ Q.m6փerw0QçzջYeD?+W - 0ph J&OẗH͚Ƴo2;B Ǐp2ԅɚ;:EEꖱ~¢w[,ŠlY&7E5GcL+KD\ΰGzՎ!k7J;/nk꽗&m\L1LVnr 8)ݢMӣ8ٶc6߾Xz ;C%X~/ܾ ۟sL A,\ Apy:Ok>z7m&,뇶%‰ͦէi.YŴJ-0tI b[_FO\~zs"%KM47O2(FIahom|=˵v\`@%:"`ٺ-uC~۫a=G!yo^E},L7Qq Vj [\[YN9 ]z%4s"LJȷ?!y pj/x`ru{I%5& -#i;lQ֞BKᲠyn ?n{=)jN *Օ| `m-X]{q@ᴥrBo(j}yAvmd㳾@pZ7R;UF"h,f_@uɓUn縙 DK\>~i8[aiZR1֫=;) *lD ʗkؾZLCXԪtz2ёo: .[5hT|K7H0 IRd{whXT#\?9'@|ZL8A¼l>^vaʻ*1݇WDuJ\FkRz?igW,y40scͼƈ1tӟ/F;f*'D.uwU Kx0Dax;F/P {}F~rāg;Lq˶`(VҙWL޶Cx,J<,A?sk:Im9Rrl紻ljla13K@T1sƪjfZ!#8R_^ 忱ӵJQwW k?W)'ub)/= Q 8U=(pOGb̈6yӍ$RܤVf%S*T"Ks+y׵D u 紺F$>sƁ. )v ;f"w%6EcC`7 "5{hd^ Eט9*N͡jpĩK7 1,8PN7PT W([s5q4*cv%r/:x>4\'XU0ޓxrZYBt9HRu p54:m oXM,#TǓ799FODd}Un=+t>AL+t8 pXMdKKf` x р{ h=N1!EGi b٠MZ]Cہ\} dk7|FԦh6t:y(r0lJT+fdu#XLFKP)Nu=?`D&7QnR̅mO?-D&Qt`uQTA$}¯'ɸIqA$Kbt _D+V_չ?Qvy3j(&"ھ!/dAo,Yʠi9Z׋Y'@$E۬kC 5CVv4}$,BDAV3ǔXogY [] vGu$hO wlpmbnJ&K~NԠҹ0FU\+ 2ɳF Js!dԕ%t\ݠP:@c=jU"@}1+۞O;{`+q:%cV 68INt"b>囫Z6=)n66I}0/n;<1[H=C}bBe3$I{]e> Ru!۸8FMn[|V/kS  br7Oa 08L^ M* %5o%(n!'ٵJ\Vɱ5t_<2:&sU[qA%jR~}nDK >:&w4iU[Ylף C 9ӃN8LJ=h7q[P;Rnr8_jtйT9Lh:CaF=s:"68m 8ZۢH T׋y1SMQRTOw#KobEkWJ $/ ٖX"|13|38NjpcjlrRТͥtT"!-;g- rQ(&( "ձ۷-Rp~KJJWϕ=|uJ:wqJ[E@ g܎#8gaeAC( _@-d D/Aa$k&l F/昶s'4G L)4J,،?KYn&S\'rZnGxr^/Er8Ow%BE̙tCβ K Zʿgwΰ h綳Qؘ$G^a(1i[$"<ؽeŚq恐vbn5 gn^BX0R Kl)(pFy.bO=Ë"Hq/76Hlp"UH+A" Nئx>cłq<*n;w?0S Ƒ_lMkfQM'0T.Bmgk0Eo!HH'sp/e &6]jg. 2[P0ÓiZ('VIV"HdO2ҶNR)R]'CZAyԑwY[퓩N7!n *.P%кE U^k_(8ѝzn}XLe>%2`[mډK O`m,X=]Zer~hw1+ϸ]%b ,~ڵ۔0zJ17vFSY 2Ե~Hc0d`tb&_#BS褴+ke:d{`$]Yf%1(G݂.ѷX7 K {%wdWuHh!b dks}^qsjʪ[^ lF<56mcHH :%qtU{3$ hCdBn̹:W^%Zږ¬}Cx7Gھ$Fɞە~qh/C9ӱ*&> " @?+֜//;[_=u4v- ;6Bb]K앸r7p)މk6k(h/3{QOX(I3>x}+ :e6K*<_ʈ#V13VaP6QNj06CÇ@JiL!C/zb#% 8AK䆡1aoGk p_&ߺbt^JWƎw2Lܛz^0(դv–N맮*m٥̒ތG+FLtvVvoL0٭7 cG 6&Q!Y{U!ݵ*EU_E#1?;FhaHs##Eݥ@uA4k,@}*#WՓc)vlIq/dيޟ#8谙9FQo"lkrMc&Lxm )ab/ i5!ꨂl _ͱh]wV[IjOҁIWB@1 @' iw Qt.\$v颶ңmoa]BMV#b8Ksy 0TFO{fpʭ-0:HǗT]?ʤ_a'hrTOZ s kƶ5|}YхMvcĦME"-0:e*=݀1!<#BԈ qT36S0ok (C-6A<>,L:}q"=Ԍ}fWݺ|_aR{/=akth_( / 3#+#^`ocGW)$Zw9P*jչE.c$ Қ /V8Ԏ'>K  vl \[79 MmL~*-o846&+k\?鰗fuyLm]7Zx)g̐hF?WH磤d ZTZ^"n5&⭡ u9.*L55q4)̔VT-OQk³EWkC_D|fI+0Ӹ8Q'pa-;AטmANbC4;ya7UĂ UNta^4N7Q,a+#'R3?jE*$0whؚ?8nglVx9 m}!/DZW1fPxn-˳Ym~&1w~5NxQc_5f Á*m|<*%|_i0魣K Ρ qg~Jr G]APG\(1HĒyrC8H IK: N{jSXTLkL6U 'T Q*[&[3h>&J" j_4M7GGߪ՗&y'g~CV a@ԃ0NtZЋulb%eC–ȪJmY!R"\4Qߘ% ʝ[~/GKn!jÎl^x,w5)%+ih= `({҂(]D1"6 _?Wu'w}0Lj8W4piIqn` G _K6{Rۺ6UG:uR+غ\.4r]y"]YO0982_A6,3kοk0o6?{:.Qn$ !T! [bv|ȩ 9REc EL7VSS%G $nwsVSc@wޞ19gls0tuUsd-)e|Rb!ECDE't!LaQXI])'SFoU3iD &n74w9PKvڥV )\z`gAZhĉ_{4q?Ya٬ ٛ$;]6}TjX#ͰZaɘRj%]˗. >m-R'ICSNBs9!> EawR&Љ ?*J)Q˒lM׿zK5oʳ1+.uE ^إ&-?$ ^ xSX1CCRiGT^=2hzZA>?$nw7 +‚n͇Հ7-`WOH9[%pgNIfRc ]hm2q6:-;9"Μz"uo~YNO-Y=K;1zP|%G?׳q)O6Mق#_O"J I^LsW0b˄ϹNYk2I4iZv9 `? +L50S doڒZGdA Ar 7x[cMWml R 3S+ck"^A+V%6>XB>lF B0?r8 ?wAy'yKmڏ(@۵*tGT BEǓ[3{C]Qa}|*J ZDAs[;>,2Y 5踓sҬ" LW{dGJ|084HAZY欕CAv:g5jMgMq3H[םK&`uƲ7:o~&f-w+5f!J$p-׺#zݹ4K ulj>QZC&iOҚt<4 毃+#G}C5% 9!)1ϻd1 yեOw U_ ,]gkozŦ*Sn1T*(VMqmYä\U7̈́,Tր]H 4ˎ{(o1=`b+.kf?6x^,-K@c nH)Bcp/4{J3nK~6\@R?u+8A-*ջ[OxR?'5 Eoa@(ZM6)X  T꤆N)R)vGe dZAPk3 F;b+/;Ӆ"3!ӫe],chn~,'|| {=PYz`oI5(:[n4I|c vGy n2jO{/(͖r],l 4Ɇ3oP}-H ǶqL*LpNw;bk؉T)҂m@,O.Rf;QQǾm̏FOn}-#djK79k%W%sKa{'S ɭTuJcD/ !_Ybo%`]0Ϲ_ ɝ>= 01yX6Gh:8 dneN_ě:}ls)~`z⑍o>_C^uLŠ_0g$W}c}t -% 0VE~#۫~%4&`⫗rgnjlgۑ@Ng٧1sgSU0E.Y/|` @vKՓOMRZ+e~R2iw9ݼH̋; oYGFfJ\5h 啌-k{lvR,|bWv!koQN%TP-u`pm]ό@p8!_XE'4[ no*! _$ԗiqO[?/9tu2ơ h!g-揲pcuz:-eKmdE{&MoyoDꀶ؊ͷۤEM5H, )7;_-_w Xz[v_:S 惵Imwe(ˤ45xWAt{3Oѯ(?6#Rrj:pAf=Z/܆J⩴̖҃}Y0D8x┫u?<CDpP;~f`YGÆbY 4eߛMiJ## dp'+Q+8>ܰwx'v@Nj㝺p{GFR0F .\,=&9R"figw^cg>\4io*gw&?msɻf!#0lٴ`5Ȕ ;qL4bO}h7{W7̈́.~[>g*x{"Q4B ^r sg!mMWG46N`o"ns ݁k7ɡ㴦峗L5u]lc \X{{4_ ?rO7bmcfmHE3R}i Q YƷ4J 8)ֱG]igY7 CBp{TXq#q$j0=+荸MgP.X}avk^U]–854_$ =~,~P YÝ*#" Ƅ,,PJ3Jxol09hZ lggnu$c%'$]Ud|: ktoB$䲍L߫5 ȿkΜ|v|bO D5i#8]Qc?p}9W_KR&@W7TA n|k| ]Uٽ Inb4ߥFcNosp]x_Ao[z+ޤ SvlFnHT;l+(Q3J\`򌳷B 9UÀ *<پok ~.x*b{fW{;sƝ(I8綄 )ά$5֪ ymI;[c(-,pѼbA,%_yP nZ{Ơ {- n^[RKkPl$;ZksVajpF@´>}7H֓ٝSSl z>$i؏Y}uhN*LAɴ`[४ wnz02aqL q[DJYTtW{\vd>(/&ƙCɆ}Gﴻm0uWr|ÇFH2ztCIhkZgFfpJ!m?XRZ~^޹}m=Z녩_.J*#cl3֞))'VJa;T4c&ז^"¨ZhJwOA3n`ڊ Ũ춀Шz q} "5{.'1PaU}0w"YRYF'".(sq+yD)tEm/9* #uH.sDG0 F:;]5)?攒K-OuT׼@y+Vi 0;,Bu''>]`@,#Un&~c[zwdUnLNr5b0؂yɯKvDAܣRf~RU gج5iKyZG:ƄesV~"@]YX 6PC33\Sr=`y^Q,qS &!ppPnap!e'Y7vNTqͱk}T: TP%'\#7#+҈=Yͳ mnrŲA ȋu8Z@˝ӻK3\ܐ&.Q5|2P>M$eJUw1hrM)+Z9.΢ZNQ6t@ujN ARtmyG4ޕ~;4e%}Kfm].ླ5؈[<dK=R1 OX9BH՞kV. cW A  _mP%,͠ǿhŒvĿ-Q6Hڷ9 z;ӚF n@ t> 'zVUV7գm%^0oj1@Y$74ƘetRX /.zA4i'e9Wgo.]1>{}~Y#S%}#Pѹ̖XLjm sk,QGR³̪z'nZ8Pk tc{T5ʼx>DMQ&M%i=֕JN{ٿ8pck]iz՚5=I٦'"\2Q"Nآx3壤a0o1nr !͞Fj>Di-=ZGLwfHgyck`UgzH,ꛔ]~p\zhJ,{|iim$va\ab]wӣ鱜OAPD+#z4X 9,H`'@?H /6ꏆԽ7ޛկg@a6.k 6>`ZY@KH=Mvf1LxNZb( TY\EYhhf/fy"ES TF?2 }0Ar2?GTiX(Kӝ6"D8DC eۮ@϶R} Y,/74NLs&RW\L7 J=;l 'ۇ^=l-%hqaH\ܑJH`8+ART:)wLG:Ӛ 9I.Vs\ӎODeq:K9EƮ]fƿDe> ^HF# ʆe;zR \I҆DmFs"L}TѰƍP"Ѷ1LAwW`GO#pܸij,(⡪HAZsu辮3k ZIX!" ,9B?2"!=O' 8ꮛx؝2 bBR1cRU.bDITÝc&l,BirWOUSޝ~vOZd1unU׿^ ͞Orb)  }x5!=UpbJ02%Js>7#fsC9跢f LoW4uB &=1pU60IYN轁rFa?*w(DJ=tVgrXh"uIg0P3[?g59V`fErHBwcjZ'X&⧒\Mf)N3FLyNs8lt"xӆwtD f]U@*5U e b85: GyۿH`EXq/!!>gw~SLnBoh J_5 hw. `9 YtI镬81˧f ޾<(׫֦pZD3հ|ViuWm#S|{t.^+1.Q5yoVs$4'o3K}M|-7=qǭZ&|D|xeZTP )>αek&%lV*O$ݨ&xj)MZ2[rUQݽbGj82DQAqa:2xƟ/QR*NNQ3G>n#N-;{fG-rKݺंbظo Yb8 ˁ8ܳm'DgWϺ 0= d ݰ+s?ңM-j`K1ڛ?!PkVs*;1oc]Ju \\,&Z){ Zx':HZ"r+40OCwʆʡCjbBiyK/ iutSnz0{|˙.ŝo\Anp+9%A{7C %)1 D~E4vxUujk/l(K7'L!m~Ƨվ9d̫EctsL^amlD{;Sˊvc4K{J@GXQ8 D^_dQ}g 'ߌWCsZI'{FHo}QJ p*>Z^XCٙo=a7p:[{N=C#;3Il!z-)Xd,,VS71Y>yV0)SlFVek:r6瀗$?k 1J89 X#Gk-_pڷN6XdCu@-j`59hDѹ.HscFڸg# dE4MI#ZWvA9ڎrJ3 1@HSUB)EP: `3*}p̪|I s|*,X^n$2pW.BAìyTSLDNEM(ŒBI!l'GnMn.ӭn f̤Dc1B*mn̘x\?V00x/Ybn0ZJEc!A1nӒ2)E([C5ڣ4PsCvw.z b%!YBR{#7͹g ۤJ^n-ZWgz7/xcz.⧎g.3M&QC+k:>i5IRv 5-;B3 n"ء*+G=jT]Df1;g\|̀95 S< D|jDJZqeQɃ0S p0nUɓ#)KD@ݨBCQM,`'k9hΞ޲#%U@u50 o0q@Oqv_w`>VH9-v9:R[BXph 1,3BS 0[HJj[*ԗ2 /Wz)]IG*D&Me^BvvaD21ƥ˓(Sr"IZyOY@(m-ꇟdUYq?%ih ! C¶XѨR"JV$ c|+W{F"q۳C?x ~`pQ}]bc-sW:bxљ'-#jH[s5|qxGMVE2sNH<ƣQJlEP$Xq"[9| N;g:a5X/fJ$7l>_<:$W+GGlD~߾=|coWŌY58cOT-ʊ󖧰nL1$Qx ҌMyV^X!n-@?~/sMRSXόgL"k_I`k>\d9p3DJ+gh5 |Z2b7Y6.8i^R}ihy#ZfI19i\a_* P897N[S2Vh(8\PV0HTFF YjNQRyjڻ">,=AIt<ނލ16QN*eu'ƛsR |y.2! 1 N>wUFB;ΨWal_/ -dRGð' h6,pqpVMh1=X )Ke˭jd{ò ^عBتRg¢#WM?eٕ٭Q<wKRzҰ퇣@n\ˈOh[rAR%gדtУYl˵0CfuÏ! 1('U4͹ xD3$[& \dr=I^6/\>r N ݏpNQyNNf,Jh8|HS^sD!*(NO)L`7:HUOK.H28 O 1yȇ9zꙿra?w ûB!S g򚒐dx?? d@5[ JST].g?3,R4ys^+ٖ =fwdR.x$"zw1I.F@)ppe23b3O%;W*O}N6]H1Ц+ Np.dY?iOU0D5ݩg6*B~ q3X?2~dB,Eil8yey֕OG*~B LN"~oM@ h'HeE]o/#o(O}9آ !vSMaÜ8 /_O ;l#]Hh-AKV׶Q{i:q1V۲0?PW5!7s2EWn3Zt[w=^ /|P™'g^{W5˥0I:TnC M0-ihRHiarWӓԼ؇K;=)Ь!aoTgYjr5<*3%cFFw}I ]\SQ}>Z=k<ϝ 0CY%p)6\t׾Æ%p3 !:C7bBd˺6T9iuiy6ۣz!Eg4iQ%nbv f; xC0޺otwޗmUiQ1.*R`Qy澯v?ę5*#b/!ÏXT.9^z:*m]u=d;VH4yaܽ2hy9mWUbAL{I dpZ"[:  o$ᴖQ=E Kwz `Lnu&܆^<<+U9Fd-.9 WDOr{t 'DETR!6¶4Y;xq/+E EIۅ,k\iS[W|U#aAն]փ 'i.Բ}` lij9oʴ=篿FI)8EÓ>xlVOOg`RZv:bU\&CQȥ8KJ\ȵT&H1lyMe(lϢ<I3:%R6|L[74#jϝ}8 R0ДQ:A3 efRHyyHh* XIjWtCKc;>Sa\Zݙ~ҫkҽ@ :ENs2+lmtPFÁDHSG쒠ϒh>BDZXV`%H2 ꟈLjBLВb?pꚁ qB6Q$prm>6)x\!4uvLΚi5 <~MNņxIW_x\~<~_Mvh︄sh yB ,C) ,}X8_Wz+ײ| sx)Z8>D:&vZYT\K Dѥr\QW ZR48&_] R4.d2d_>VQ Z%XEcpbEG`G^ Ut?[p|BJJ9pcO zJ.enG}H%9g3Qעp{()T?2T?mG ,lwK7lD"Tkݽ:.A w"]}D -tXYmӺ Ci9 ik$9d%i!VE{$I3͟CSmlXx$Nwl'Տ +Zq"2#™n.oeY&ѬDo8sܙP CS}lz%pztgj>O:,b*?\Zj;}1R )\Б5671}'(KCI %"%$;[Zĭ)gr~-+EEG?M^ Fv&ԇ-G=x|G.ags2@J:';$T9WY0vg!$>kD4<'$W,/gFjD*Anp jQ'{rAa-xjJPm7jjDծ§ON_sN_ 'g?:k+x,NXe_2 IVxщIr ;1!o:YXUX gkp9H{f[ 'UJClrԌMؔ͊3lsW:8B3Stu6RBϘxs~j{$=U͡ LT`Ij R?Z"@ g_; zɏF~׋0;[>Hj 1=>Y"b3-Ё%Znx֏^Äcr_jTsD rx 89E;7XHҹEA5&ЈvL&[i=ODt,+5CsV4 TqbK1|l̹ۤ!kWO.? BX} &B({0۷S20 B]5QwWP%CcJ.x\@qS7@@}%?HFc/Š$(PnndFؕTq瞢ˀP`3/y3ߞG@3!cu <Rs!?;1WZɚ@0o /8<6.`C)6͘, y0ކBV:2 YÔm?Nt\I$4j08Bc[k-_t_Hұȋ6Qϧv߆cO.*F tfleF4ݒw2mDn}~p0 ߇vU%3+>{lsӠΒ۾0q6wv MD!S%4{.%QzmͦQ/j&yQoWWyar;kdlzCTB+"(tBVJApA&&B(_ at ڽ[d%;/Z'd386p#!Z:直tfJGڲ=~}!!Lt PPdK8CH?UQ=5M tqIz.7%b:ƒ}! i46"G#)LWѤ fUkw^gG=LqeZ1 (7G?3ق/ 1K)rP$>XƐU)jgīוTPعK Ҍ4 vS?D%Yk_W*-9ڧmkKn9`o INbM3=Q;p /ܾlUheJ4v:K" [(0 ޿ as5P3+Y!<A|'Zoq<%/1 xL*3?xeՄ<o> su:ruX.85 t=X;~!q8H3l[h1d vsLy|"uVynܚKYlȶ`b#AX\scSjTԐ&Z+H5$Qn>!ľ^TvNdح5+b1p'HkANd&ߦsHqJ7` zI#!ލVƱ}~-$"C iE^TD᫡rzh5qBûl@ޠ9 ˽\ȝ;yCBXR]ny 8 '2.*`ňGk(!E,X_(• Bphdd_dW»&Rʀ{X&իB {X[yLu4GE!idLgX[_LSn7otx膴Q'ǐKe$fTF힃+x]97u}Q}W FbL2{{uŚEfMexA^%`ʨQˁWyv!_?N-*6T[gQo&cO+RuVw(zR4(fV>Jҋg$bEG3=|2e"=)Ύ#SdÉ`а7pb{;) +P.O j3anzXjN*0Kt~ 7ܴt)BNǨ8FP<`^E|[&gaO Kjs~D7Li:YFhIHXH0WSsb#ӸO@u@ RՃy퍑]Kt$]1`J>*  _vDA`b^vױ5NLx8%KFԫ8^)Rw$9IA_m@Oz(rҖWw HX ĥޅ{dED&'<8>+~^V _&.A`d^TeHCў}F[R4rYD%}¹=eې|&`ffI9~_,NUeHT-Lb؁|Řx]vyVv&}y"T8{qǔջrDoא[gda?eG0"sAǒc@2.YKqY)Q٥xw+=a 2cg\(bYH )UTSS?2f(SYe;ƀE#YpU딵4LЉx(([Hywkm&+gs1-OgAQ|-ΖxÝ KcBIPa=Lcၴ{M˭h4vmزZ%!떺r&s`q~iۆHE`iFvfs=D|q>sZJWe>VPm}a|#):a92Hw2P& \bt:r8*0g&,>;%4E)5;zêߍm5-`Y*[@hTYR\?:"pqE?}* q>Q6zh˽"J!kkVqJ3JmWKZ'X[ zI1N{%6!n5[xjsMl2MLK PE*~'P|Ƙq̑/~\S3T2zEåjP#oh~C6F%IT:~7)X_#mZ79 |RVUͤx(!*ÁG6\P,P*fcv[Hy(L s"x=C& >gScm SW1J 'iiW*e96tj93XfzTVR`+}*x ~‹3u PAc_$ȠX^3.q(1ս?iw “\P%'!RJ'2ƥ#u|VIVu"F )luCdM{Z}J7Kl&#߉ t++wC_U.rRQ D2Ȯ~TUc,Q"ݚ(о7`T `[/V%LE.LEXOjU h:jtc2"7{kRDj LrͶt%T9`i˘ .ΐHiWٓԬW*@s| "y w}Px{JfL{wZ)I:kYDBoUB Q0fᕲ#ßU;U6)M}Z]陟cߞL9Ќ-ɒG)dАHR;ϭEj?ɷj S-~UJ̕!\{.!/F[Ȗ;wސ!;܎,nw>F&&2?3VKfV' )ҞoJ44:Ds& 9*2YAr裀<%dvÒXEDt8=I-5k&b[ A^&띤j5y  YHC葉tA 9Rߵu w|;%M(тg#w:wacEbFs5! wYVeǂPc&. QuàA`؃>2'Em]MCS,w- Th^+ך6, k$"b2>Lq]ʷrg)]m زOh(U]Nվt:ĹO:ɨR?UF=N;, ˔D?;-v[ 2ۅ4}?L=HlLTC/¿9½JPO v lo=&c m◺7VЉI&̴"B?Bm"\#8u] ηvU%:RQ&D2xؐݰy1o`0M0>')ԲpN^)S/K#O9Eɒ7>ws:=8G-R؅)[}Ͻְ 5ό 4ʝ9S9(UQR? mQ(8M~&C;@ɀh? Tx+ur^ye2/&{C 2oT?+ 8=m=瀈Jhs?\+vYԝԔDaȹi ).- @@FxUv}w<_ǔp< P:؁BaTMH+O$sۤVd9ak.o-r poe64Gc\&M`V֒IRt*ߌS̭"\c!r:3 U}Fؒwh~ !#b̝C peKYֺ7?zZ`D4+wcV}X֟v#3Zĉ9iՖZŭ>˙Ld,F4^s!#;QDp"؍m(:o {(l8deX$}+I!E,0:l4Ktf0Lv;>R sE}-˩4o?voe-{񢓵>V].4ȟWM76YUhŶ%v%UG a_5`/PJTqIJ( <.+?=kuj<$`ʲ 3Q%W U>Ճ'M[ zޟیJ|瀡P®k0$,Lܫ356b[~,]=y11b?McIO]*y]1=YF7j%>c gØsx <$ެysj0A/04|<Ƀ AC|(>ʈ6Mt?eS c!\"=QLA&v.0x.cXУkvL^2'ENAe]\Y!+. Boz?Df" v6'K0l:}W>6LLX.kDx|$l&VXbWI@C_Tk3݂nwp0*MqKsɩ^{v3 R7e|II9)t9!US]Qv \C,^ }CT)T{٠`[[:3s */Q/ 68G 1Ŗ]7o*iRm ˙?hC#oo/A 텔69rl}?*.n)FW|f@*RDY\)!uÀ5e?~zxGBsucWݑuv1L Qh j@ރ-ʎ5\JE?\nR=:E ϖA`ɉ2\.[3iRN)\~-Jq,~Yџ[C䏸rh~ahHp1.`W%' ?D,\{c SӘYT(&XN1N=fq-0Lt>N|&DQr (S`H$|sc|sdZwk{&l.?FQRKn[ogW,Bujt=p֠?F#7ڔA:bzJ,Alϫ[N9/jXpĖơXquLgt MD,gJ5okL+HF.w>9::wV]-~p)?{<7\8MUoÊ@ݺ(\(h֚Dwp|uDjpa[}[VrM9}Ddu]g B\k}`qުJ*l`iWC-ncW&^tI\R0[f 8~`a fwuGX냩9ryp>FN6dRJw4(WxE?/`V>X6LB3ɇ %Ix؃'zEcv_}86 f- ޖ᫤ߍxI@}Q[&_k7-NroAטZR]ov3Fk]C*BBeRkxh<.PrJhD UHߡF7V šeG"X 2~V^sK -3FRiw%8L IUpl2+2!kk. z SuMJOVzV-I031T` dE(E\:MRMZ\3>~+DP"`sb0e[SA]hO聈Pv/6܉(X'o%:''Z'yvcх>&:'B}uf'Q@/v:qe-hDP@v{TSfq*UA+r%ɀ{ْqݼAZsYY] /$kpQ"ܙS!wh*N'u18^~i'f̾Nib+M2Z[sF|,QO\l] @-kpeߛ%Cq7D;( K%-l4sw?i ``"y5[FDŽJљD9nn?歂qܸt=Ƅ/?/3a/QOЙW%7FaOK| TDpeK*xO@F]dc IH@~gFoY~5m}r IJ`M aY2^#xUL̋0@Džix+fy)%mVs\*.:3)naFfh쟞LRu2! .;–eSCѦ ˭٘7g-C&8{d`FrBD+]}?k!kJM+!5#<9FH饚Ue:<-aUQB%1hj* Ði+R66;1e%[/oY" #yWvw0kZ#C;MLwsxb`A;l;%4@ f?n]fn{xCC~ ]s~N"ZE->@x ĭ*lS i2ݴ-QY[xYqw_mm(D%5!PK ``,9U<𾄱\W8R3}kLhA P2 BAkudr&g32b \mF]NxLvZq!a :vR!{(F܋|e8pMfѵ=ivI(#( d404(]VaLUsF۰)JqPkzN<_x^9h*+ffF!HgHVd_}TOoSb;<_7 Brb{A-N,N$ zgѮ]AY\)/\Q8~wN^ p_5LX;!5{bz+F Ịօ$1LY9c(Z7- R4Hbrp5(lOn-2 銩ћ-c,QM :}րŝ B{_DCĪ;V~ ;y(tuF;+Ybp(.g݋$7ҌKNҵSarp}9_i_j&FFiC $D0Ydb`K.1a<7PDw?,ɩ:f.[JqtJph/d}ѻiӫyQUTq\mLh7:ҲA-ov%)Nh(U ZlD(d TV+wHwN~]i0,|%L55,DM;Z H0iC\91~y'f9GYpobbSULGZeQCDCZ$Q}$XypJo7};sv^|[ ٸ8_~ض=rF6f #j?SXOq;~~"9Ȭh brщ,E.R #eE&xd #vW%/<mRFwHPe3$^q4X ]cw'S]]D(]X];ίj 'Do>$KY7#Ih]J_=1]Ql2Kj(FYT'B0,Nz`Lvz,– B `n&UaG̜h$eQe!C x@ J.[>)W?X7 4e `bEy?mC9N*!|úz\%DP 0Q=$m*|t#EL8|F٘@/%(i]I>hjX _ʪܖ9E-!r"XO^)MKT҉ܬ3G"~ze0=0wΕw&axJU{ y93-6'xMo܂i_٘}s2TE㛃I&c? `= >yX^I26l 7׷t^;T>rwmSq`7(wS?ҶJ?/Va+%3֤[[r5 RǰQupSS@,͂9 PE%\I&H|ep)%(dGEPքjP7E |סCeynܾVzDzⱒBXʻ:d[Pi0= v^cS" JZzǫYY! ?#oߜbpJ sgI}_o6(G!꟒պlULYւM?wC_b6crmbZey#p4^R *%|2e0L&`SZz `/uXri};fpG-TY$>T|Tx*(l:遧\ʺ+]Ƚ%)rih͍*[71A0(G)XKhS@WY(.6Φguܪqo>S1?xJQNu %.7Om%̋+ z㉗x ΂ ׯ?PaQgpMWsa"R? [*&::cUM 뢖e 3b˿Khe:% Xۭlp{.>3u c/aϚfaC6:B0ɪx"W0\"I/$d$S# +A,U9$UpNU_IIxF xc4,R!,ǽYb9bo/hpqjW '' {}?#ϗ-Y)Y3!( Dxm_k@ZzK h&Ŗ3qy',twm_beL <ޠSgƫ]a`(eEW;( Ka;2 [rg^ʼnB%q|^{-7ЈhwoEA<L='a+58u~a*p $ä3-o/Η qz*жd|\ҿ.n$l".F [B8дӿ'm3dReRn+D@/J1 řxn@ݳm=QuaRF%ä>z;>*;F}= FdCd>WF2..AYT2y<:hJVtU?g;*ŕuﴆ#Ә¨e8(9  i'r@ZP GBWθ ZQi8 }9d1er>/E{XC%l/9wcئhD2 Fiَy#ۀNSz%%h' b?aeB٣8v!bRx`S&1(uН{t{De2\x,=ܺ7]e{Fzm$ iOqbPw~ٕ)8X?0r)J3\SY=hv )_HV(A")o-IsGz'?ÑUr.+!в2Dcwdo7(~1cZ8btes8h7#|jqj-ڱ %4DZ֒o,&ܘtA4D;^k5r&( E%U|527ur4DvXܝhd6zQُ:vd'5:KCû[rX*^HvxtQ &a gґ>+iZByҮgN^O[ 'x|)􋘽2,lhM^~̏edV ҹr#l@0._:OvF] K˵'b-N4b"΃zq3zAZ uG7`>W ws2'/7!'xd(n Sg,f;o41V  Y-mQQ}; ɸZ#e,_yKˬIʻ"+ e]RfeI@ø|Y0Rcs^t}$\] vʃue_v-D'Lwu1*'}?33m"ZkvzDvWz.nD6:g/3\/|hό2q|Q t&w9,~1<1( ge[l0ȴDKC1L)?!*Bh8(/Dj2YK1L?5We-J'ǟέAlȚ^<[(D 1#(_ϳ2 xu >\ǯ 2*] 0% U'I<zn< G($d5B"e蛊~=2ifhKZ1^bsO BAT V5\ލ0aR^zLiG÷! 1'=2Ypq‘07A24(轤~E ,E5s.[=t7UdH`n լST8A$j=\ I5u(t++T"Mʦtqs_t" 5R3~_MP@*i3E=qvPy(sD0Ak!ó aXe)7:!|?UqUHsĬD]ޓ9Nc?o ܷԕ15dbz:S58t{#RYB A@]FLKx/&P# fpiĻ/F9ŦֺL7ɦ g\9(O cCSm>!;j#칢 M7ރqs!fj:}'Pbp:c|uA$@Z.¿ )0׎q\t_[iyLaӈ\r< pz \ Hy1| bYDFWi8 e8_%Q[hЋrShԘW\QiL{ 3> Tbf[+C)|vop'7+ I"Iph&7)Z# 5EF"&-x12\:ؠL\Z#6$;wk=lqxE~T%*2&Åԇ)bǙ-V̩5+ڣQSt&EUMP$$ڊ.5n6%<yW]k\"{7DmK&VlkOb$ѓ~hR&M?0D:L,JzILqf F-IoHkM uY޼\<ٟYm ʉ^.ߐ;Bd"gF<۲=<|7#.w(J'KՒZ(M<+d! L7i&S <-Urc[^o&ݬCy7#ک⬿97XǶKqO`fr%KMByn.rS3XOr7/ .(J F΋׌}wjV˭`C+t wU"-\[ˡ?w.W!!cݡL.Qh䷪= a&T#KL*a_;a+3֬[vԪ}Sl\aqxVc׷ @c^񃭝5AXͪQsgW؃ci2N()a0j3p _g;Q?)+Pzp&DEg- WN9JƋQp=AcJc.e6cgh5A^? j=;к\˭5*h3% ]l vד؁`"cׯL:@2Zu-i!eɿO(ghYavmTEg<{+ 1RÞQ&rh`6I5sR|I > KAԽCn.׼/bJ+[4tJ!G J anDZm5C[a֑r+G?eiǁ+ל=˯.LTVP!k t`\ā;Ά;>5$kaw*uwxgO& Zln ZW{1ͅ)` (M'% +W^,uggWdĻʯ<2kaeWNYh]˙\<{ ֜O?Lryv b!dd4)KTh}5p@0 R"p:}fn+$0.fMi1UX!.b2}FQ/ݦ2IyR">?l>ltFtrA0ڋdEAljti9{ :Y N1e yA \q=jS>pd+o24̤clԣIVp8ph5^ڬӒ1XؾQ*B| X Igĝmʜ;**y[=7艎l܊ATl>qh7'i1\&,2&q~5]prP9IIyRi̵!& &W"& icu.`Xٝbw_L\NGL#;›3!T/Jb#{DGdNcj0%1!іsrKIù5)0'@ d.LrڌkKl{K UA4.%H,s)M>w5+ĂMUCxl:l݃Ixg\ sY4vf^ť`:Js ^G<:1V9 gsVȱB5U6R˸@t$?=wcf(?:U+' s53R$ [}@KdB^GNC\i5Pz-M8?鸘΃6~FvBIwf{[ޛpN&+2X[ByϚ Wrd`uz>C" <Жϋ {ؽ$T2fEٷ.Baa5$`2'EAO#Ow4z,N"KZATPmH k>?TؑUFKu!$"[xvݚ5굵Nc׷Up t(,4eˍO1)RO/GN; i4(;;+fw ,fjs^93/+yK5RLq +Ѫj+@Nƍp(ا9: WZ;[VUNYzpr&yN J.]ϧ$ahciCV͕){O0H]rb} mЛMcOldI0qM'VtoՂCgrVɦNx~ZTiUυ vA{,$캲JX燘-jA%4Ke <A2]D~F*dVP4jS_^oOKҚ^|.č&J|o*6x&J03 Q46bXԀ0TSǰF/9GPYۂ(_q-$ l%U(TW'v{FB C$7Q׉n/Fc8Ak]|2ANqg"6SUg 4^P/|1멙n[@{;37}(bUjh$#*| IQ MKqiV! >4TC(V dEnH7pqNr4h&rd"ƗF 0l:*%#ɋsֵ}  گĜ˄-ApV4<1q[h 3m 'W*֓x~kנӃjЛݨ `񏳎|J%5juk5tiaL(fEj*/1(EXm`,$ @ sr*N"6l}U֙1[iB`؆~%U(:޵i9cm1*}#|]ZxVU7_Xۛ*b&~=E_ ?2w1XZb\6rnH3f>akd 1 s^˞@YO1yGT$.uy*$(4B=\78Bi$ J2aXy1oz] S/-3K$VI,҅HG!Rϼ[z} ȓkmp7IIF]S*|-a/$] 'r'Gs<>%ҀkK&WǏP?c xn /T&o07vxb56Wd"-{xger9GdQ-騖Ղt7;blx At&k)@݄T> ց:(wk69n$ h4SfO]vմ"'q捒CX|̝HñK@=?WCi:f"no׶8NOz.H%XoFh4…!Dz S b=<"'(+Toŭ{YáW(tQ,Byz47U+yT_}_`eQsS;޼߹Vs ?NSU(1q ?lȞ3y==/q) 4ƭ8- G+_ɔ(xVhDzo{^580 ko:/*BALi:|?\"s|cKD*\pVY0*2zKƺVRn.fsXQR d@fې/Z*U)\wv dď+׮n( Jм9T)b׆'EFY{yIjEiVy]2P[h+ fb _qrk޲Kc6U-!c yF- D>}|g=G@T]G WAK~s3mxeCt_|N+2 d虾9J*Oet ,])t W: Kwϐ2 t̥^Tp9@|G JFl2fxf*{J4rF,j!cJOA4tUS=b|>9kT/< pM9Gyh ߢӣ;q&A' 0Rz6dwZr׍WL{W92]?#؇5$^_nKGا&Ptz:#{?.GW%ȕ1AixPhQv{;a̓_ =< X]Hׇ\GI)nҳ<5BAcT&R& F'AƫtSC.O 9:g#/ 'Qi~M )Z32cNi-Mv 魴 8ʹocƙB/vo|ӓDϻA025I+9(5o̖p:[ÅVrJ!'u\"oX/۝sob,t  -5:Os45HS}JJɂoݽ?B'f$9Q]6zw)GbF+y T<11#^(Gv'\Vi~-V~Etx8W/>g' RƵ/U*po=TML>I^RI5[ Rl x1;" ɝqcX~(f@XMcAW=|zUD-g." UH׆-$Qq]k^ͅ6Tae`$ǦL-xrGɤ t8h^O'X<( F =R{밻?* NKrH)ԋg GyxMSl5?(Bɸ2$rAG걡T;r1԰=^,ԑ9L{YuՖ5AyE UKi![E 1$=I|#5?Հ~5'MX#gHwKĠ.l:#r3cɒ u; dcc¾{" Ԝ'XN xV.POHPڎ`N:ԑ@#Q hiI"]+h>V)DzӀx_dG(qU~yLL@֝͟!X^]Y2kRwl/ qos-ԝV QM[Q],j!v0dCml#gdC/k6HƆWhYesX'79 }e}\Y콬>vhҽ|IsNŭ(CqP),I;0ewF<CMKQ?.*Lhs Փ`[o.hS ?nm1YTrxq:/:ogBv" QeZSI4\vw%?oр|7l(>Zw*j[2ZJzafÀH6Yhd: E77z0{|% {E|ahR8m|Z@ME|$]{R(;X@O)!n;BNJzq9q#"cFrjsvT4rO^Ke7=݀M NC cΐZ¢]+0@VqoXA4ydYx>e] H1v?tؖŦW40׊z߭z O0/+T< ~`'vBovH+ehdÓqܼDn'00RXNG0(]f[ƾz7(&ajW VDt- LsʥsL3&oP^j'Ff͝#>2hDh@4`[3Ƌ'$0D$v[ ٦ !|ykU+CF"<|/t݉pQ %{¶Mi{$pZ2ԧwb"2FcwXIʯm4^д)U-t~|A 'fʊ9AIS H,!RTi􈢢U,=Z ,/-V!nY?3[D 8(fx |*Z/u-uPq"@M"WwLD'GdyS3"垊G70s지]3|Mx4,5hs<Lvؖn74L4TCtn se\29&yqLm_EyRU+~+r8589@,7g l]?j~O7߲͒$!0#\qI 9uhc8E۞e&)ezk蛏[F9Ӑ@Wql{4cߡ}:kpjNDsálې\C"/ OՔ1E1zb!y#H]iiDi]fķ$CD_1$V$ a3\̾6 \>񪉫KN Q~T}/ H|;5d ɉ[ad vHU$@M[*,u6Lwk鯛GP/6$ 䔃~TqwGOA<<z@eә 1 1.gF#r/ɧQgu-rIYpfEz=2/q2hّbL*#L%ZE^W%$N,Z<ԂfffTۈt;R/nNw* Q$Ӟ8&$Tw(ꃗ[z\\ ꑀ'n<-h[Dd`ZQ3c^ll0r+CB~DG%g1Xx+A`<2MQ%#r7wk&=LE-3C1_P"h~4+? d`lâ\dwc+VHKNe>$z5ı[@$N7I!&\ tL}.wj| 7E#xL7 dYaO" 2p\>N1&'< sSTӅeh+$aB_Ç+Y:kizjfPW(S`q͋$hbfrjOt(Y2ϳeBWɓ7t~Uk½Hs<$w~c9Pp\TJHͿK#]OQs:WU>[.;A z;zx-Jb Fl&-̛Q@/"Znt`sv,rP&U|Pz_~6tj.FkjI D^Vw^E˷LvW5 [ ST^*I򟈂D73i?}g9/&Tn,IWVӠ}U7"J+٫!vcˇx({"Wp;*hڴLb+5,uXX1t͏B,RZ ܚ%ǀM4MwRFb]CU *QIg[WOkw t09]1P|qh2Ӏ=ihyēt8?:?7E͔5(ao%< ּ3 g¿[C#(I gG[-y y^!}>~ W?B&Wo{Bk#k9ٴBf##^dz8j?@ЀIC Y& ףݏ tޟ[͑w N~u'0<IWT`zs1)arʿ!Xa:½K=F`Z͟g)n:8ZOU6͓~=m%ml' UvfG7L62rQm#돉` {T|1I3*/SA~'s]bΞ/7+ouX߳7|5~Sy!=~V>ݫQ;b9Obk8NPI 1MYNnX #S~XomBK%Γ!IQBUF\}I}@XM{.Oe[ȹ0$^mN׳ ?HAb,$eO knWNb-]00y-QP٧7\EA ΛSn`3vLFc7aLy.%⑹&1RJ,%+ɤx;ŅшL`8!VI0EܶJ5+#]2=[CjM`d-{ₗFAUg ޟxBzZ#˿tlŚYR.Tfg(i>v&1î+ܐKxfh󐘭-IrR0͡b}VBzG[=imՄwdlЎ zDr\_t^ a)S>tCXDخkqUzZX禬Sd\Z E))L²S .+(d;4К$ nʊmL"< բd]RHnD~:?@[`؟jCGk"6}=Lvd{>ebO*f=pFޜ*遧{W5Iy.|hs`K!@QM-pwl=|aJ!4oK0{讯'<8_2NIq܊9˺:ne =QL>YHGSyG\\a ɉU"D9Fd x#[OEH H辪َEbQDUDV}I' rCUcӗFL:UkH6 z Mw+% ;>?K7y峥>':. v3{;t"7Bwx9f%?e6*@0#ȡǢRƸxvaVɷ_,6K+Zɟ 9%6nrK_[[qӆHa[bQ$k$ڥ xRRi;ŕV;wdM> 1Sd w/sŏo4cZ&׌CϠc\Z^F<] ͦw8>tY@ij+LR|~Ms&XTB.O2Ҝ:c2w<&.ߩwE"CfBH{c΍pC"SCup|ɶtfQGfMPZ0vJ 7:X=pc$m㤕AYǼå\57Ǭh8qȄ ƄiiKzB].Oll'Kz3S#)>_bxIw(lQ HD0W a1{aOͣPKT(qPhtBR%`չfߝ&o;Y|ɠ/Z/`1D{ Hѻ d[YT.fQ7f2&RM\-^45T$V,d,;8 6yL6i`_yj7rnz4s jʩ^ 7eoq` r[AK#U; 7 >.pIwU`Q;ן7x ͱX|ݣ#-Vݓgȁ C`YbIN*f=ן0P dQ>1mLKVeR8it?Bs4 FTJS/lZH4N3e'z_[~:`]JX7㿬dΞp<7<0LҍF&pO#R-^,J0ʉkF@ UU_9 ܟA.cb+aWI7TY3rV1]7f|Y6-M)/r>ZPQ ("Uu.U ^h;)ikMON3ouSMM/Jdt9)&