mdadm-4.2-150500.6.6.2<>,$fa0p9|Sh`"l-^`ExD?I?Sz6lMchAZA?$Cs1 Ę>r&:q ja &ηO{' f*̵:\=?Lj S#F%RtKdz= ԜC'Zp^K|a{B5%Hft\&7 (]l>KZ?Zd   L  ?EL ~77 7 d7 @7  7 !T7"07#C7$V$x7%T%h!%!(!((8(@9)@:.@=I>I?I@IFIGI7HJ7IK7XKYK\L7]L7^PbRlcSdSeSfSlSuS7vT wWD7xX 7yX#zYYZ8Z@ZDZPZTZXZ^ZCmdadm4.2150500.6.6.2Utility for configuring "MD" software RAID devicesmdadm is a program that can be used to control Linux md devices.fa0h04-ch1a*!SUSE Linux Enterprise 15SUSE LLC GPL-2.0-onlyhttps://www.suse.com/System/Basehttp://www.kernel.org/pub/linux/utils/raid/mdadm/linuxx86_64 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 mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.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 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 mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.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 mkdir -p /run/regenerate-initrd/ touch /run/regenerate-initrd/all PNAME=mdadm SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.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 mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.service ) || : fi fi mkdir -p /run/regenerate-initrd/ touch /run/regenerate-initrd/allR,,A GZ@ F9~1vzV O--e.Vm  F?U m,A큤AAA큤A큤Afa/fa/fa/fa/fa/fa/fa/fa/fa/fa/fa/fa/fa/fa/fa/fa/fa/fa/fa/fa/fa/fa/fa/fa/fa/fa/a a fa.fa.fa.fa.fa.fa.fa.fa.fa.fa.fa.fa.fa.fa.fa/a a a fa/fa/a fa/fa/fa/fa/fa/fa/de65e7c12626c8650119db1882680d4db79d46896976919e413de7261961520fbd6565d1f12c78726f95826d090e82cd2b5ec5e73db029bbc5d04191834bc6a974749acacce7cfb528b21470cec1902b761118573fe3ed5f3e3cbb27cbafbf67d789d3d1867df89d312d17cfff73b0cc4b47379486bb0ea4f059708dd2012078bd8f33c83deb95ed60e2983e2f7df2994a086e6fdd505a00f168db6ae7b856ffd3957a71e448cd8425d585405606ab1c5f27cf72aa092c0cf1a9a9fa46d2036fa73495654d7d02f0b3da7fdcbb9e6ab35e7777478818f4fb226966efd1d0ed8d1d23260664142e2def5f249899645ed5abc16fe158bf586e0ee12bc0c3b6d70c0bc69279653d690bdcccd412fb613909578910994b926dde53ad63071575f0fd615e8af9d8429de6c1a70eb418653eee2b201b8061d92526cb4b2f763be1d22287befe5e61b716be922ebd2be3bd05fc24f512082a00e38f7742cc2b7d52957bcf361de81af7cc2962d7eaf79f80ea64767390a6c9bae0d4eadda50d8589a2a179f5ab1e4c7ca00916e1444d8d47e1181ff6e9bd5fc8a511bf84a16a7ca833ee94c8d7c15150c5b9c826eb213217c30035733103349ba38d06fd88e5c6bc39c41bd0e53d55ea78b78f0b442c2ee32ac9593ade4dc3e6e2065f0984ba522e1d53b7a0597152d10e09dc4f6b5e9deb85dde04b48ca19bf458cc8e0679aa66c7bfec7a8b98a69aa04ab96fabe36591074b5106e0a6bf9a3db6b6abc3d685a20c28a503e39d471c29659d5e67e690dc7ea543d557d8f0e8f3169cf1f3d01b367a0ffd82179d20dac72aa7c9536952df0d8cb5f92d15bec37ec2c290083f135b1bcc1d72b3245d3f6f6fee432aeb23fdf7c0c2ad5fe2c1e197c757dcf1f8384515e66da08f4125c0a269c6a67b3757b7d9fd09e14c6f67bb8c7ff1e541d532dca4da308a09f94e7c1c57032e19e3ed4f5e8c18c5ed533e47d35d833e608cdf7804e3207ec768327b0e324eab80693a68852d342bd19285bf7356753e566c5e179f889902a174c2f7e71b4eb1b1f3781e9577564db0c7b9b1b5bafab2f6f2ce99095a3e6f6d62f227eda2151af5db24ad5e728ffc437a3d672e828a1e7b81bd7783bbb76890b029d204368a9be769d3ff580110f0e7742db48b1b026ec56a0a556e786dc763e2231d021ebcb1ac6b81b2b86c7d53a23368ba6f38b0f5f347278156f9496707ed85c848e03daf5dd08d0a66e448308ec62df3bfac5e8529ba10e077447590676b7918d24d93c8eaa4b56926b83ff31493b122e688e44fb967258a36752921e40b0e7e1ae3303a4a293d063f4b6ae0a95f2f5590fc184371cd20c6b6ac9ac0448ed2dc45a3ca9b523bfe870cc904f143139c50f827ad981314e654d39ddc46c0dd4ff25105ad19addefa46ceded4a1e13c43d45441729dcf14d6bad9e656f25779970c7da4d4620c6b9af103a91a3f2eea5729c496979766e5e0bd858c7732fc467a5756529eb357d4ed5bee9c8c234e812454211b2e12ef75a4489583dcd5828098c7845bf48876f3a2b8d66182bb0e893ddbda1237c68fd1c6cab4a9f27bc2a41b759d69136223ee282ad38013331a98c864dcd6edaee4a58f2847336eeda765be954c997b8cf79038c7fa64223c46505f1e8bdc65937ace772cf423b314c5722b29ee8a268bafb4044116175f6155f21c9e6bf843fada369fbf0fff3d0c6892ad74cce318c0521dfe2e1244449e52fde377fcc5edca1c4eea179d208945c7c3caa84969b8c5ff013505a35eeb1c1a8e09629fa471eb3b9e05ca138d68177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643efdebca020982dab2413f0e21186d8a6064fe95477c63cbe758611611fa3e34d61aa07a330c93a980cf7b290fb637202e4dacd00645b8b9d1e07a805544437d37c63974846cb9ab8815d924c11e16135957ce8883fc01f591e24776baf737eaf9f43b6c92cf23e740ed51d0b828879b46bbab0515e7611c2d11735743d7f81021c318d317bc193e07e27c83dffc45832ca1aeda1f4d99df96e79e16e41a5325c/usr/sbin/mdadm/usr/sbin/mdmonservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootmdadm-4.2-150500.6.6.2.src.rpmmdadmmdadm(x86-64)@  @ @@@@@@@@@@@@@@@@@@    /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/bin/shcoreutilsdiffutilsfillupgreplibc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.15)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.27)(64bit)libc.so.6(GLIBC_2.28)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libc.so.6(GLIBC_2.8)(64bit)libdl.so.2()(64bit)libdl.so.2(GLIBC_2.2.5)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libudev.so.1()(64bit)libudev.so.1(LIBUDEV_183)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3f@dp@dFo@d(cc@c\c\cc@c(Yb@bb4t@aa]a0`f@`f@`Q@_T_v@__K_c^@^@^}^^F^^F^^F^^F^=Q@]{@\@\b@\\U@[$@[dC[dC[dC[3|@Z1@Z~ZTZLZ%8Z Z@Z ,@Y@X @WA@W>@W)@Vii@UUAUWU@U@TPTи@TWn@colyli@suse.decolyli@suse.decolyli@suse.decolyli@suse.decolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comheming.zhao@suse.commwilck@suse.comsweiberg@suse.comnfbrown@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comheming.zhao@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcallumjfarmer13@gmail.comcolyli@suse.comcolyli@suse.comnfbrown@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comnfbrown@suse.comcolyli@suse.comcolyli@suse.comjengelh@inai.denfbrown@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comgqjiang@suse.comcolyli@suse.comzlliu@suse.comcolyli@suse.comcolyli@suse.comgqjiang@suse.comrbrown@suse.comgqjiang@suse.comcolyli@suse.comnfbrown@suse.combill@merriam.netneilb@suse.comneilb@suse.comtiwai@suse.dedimstar@opensuse.orgdimstar@opensuse.orgnfbrown@suse.comnfbrown@suse.comwerner@suse.demgorse@suse.comnfbrown@suse.comnfbrown@suse.com- mdadm: define DEV_MD_DIR (bsc#1226413) 0062-mdadm-define-DEV_MD_DIR.patch - mdadm: refactor ident->name handling (bsc#1226413) 0063-mdadm-refactor-ident-name-handling.patch - mdadm: Follow POSIX Portable Character Set (bsc#1226413) 0064-mdadm-Follow-POSIX-Portable-Character-Set.patch - Detail: remove duplicated code (bsc#1226413) 0065-Detail-remove-duplicated-code.patch - mdadm: Fix native --detail --export (bsc#1226413) 0066-mdadm-Fix-native-detail-export.patch- Grow: fix possible memory leak (bsc#1208618) 0060-Grow-fix-possible-memory-leak.patch - Grow: fix can't change bitmap type from none to clustered (bsc#1208618) 0061-Grow-fix-can-t-change-bitmap-type-from-none-to-clustered.patch - Use source code mdadm-4.2.tar.xz from kernel.org version for checksum - mdadm-4.2.tar.xz- Fixes for mdmon to ensure it run at the right time in the fight mount namespace. This fixes various problems with IMSM raid arrays in 15-SP4 (bsc#1205493, bsc#1205830) - mdmon: fix segfault 0052-mdmon-fix-segfault.patch - util: remove obsolete code from get_md_name 0053-util-remove-obsolete-code-from-get_md_name.patch - mdmon: don't test both 'all' and 'container_name'. 0054-mdmon-don-t-test-both-all-and-container_name.patch - mdmon: change systemd unit file to use --foreground 0055-mdmon-change-systemd-unit-file-to-use-foreground.patch - mdmon: Remove need for KillMode=none 0056-mdmon-Remove-need-for-KillMode-none.patch - mdmon: Improve switchroot interactions. 0057-mdmon-Improve-switchroot-interactions.patch - mdopen: always try create_named_array() 0058-mdopen-always-try-create_named_array.patch - Improvements for IMSM_NO_PLATFORM testing 0059-Improvements-for-IMSM_NO_PLATFORM-testing.patch- sysconfig.mdadm: Remove ServiceRestart line to mdadm since there is not such systemd service. (bsc#1203491)- mdadm.spec: create the following symbolic link in /sbin for compatibility, /sbin/mdadm -> /usr/sbin/mdadm /sbin/mdmon -> /usr/sbin/mdmon (jsc#PED-1009, jsc#PED-947)- Drop the patch which is reported as regression by upstream developer (bsc#1206139) 0045-Manage-Block-unsafe-member-failing.patch - Add jsc#PED-947 together with jsc#PED-1009 in mdadm.changes, they are both the requirement to update mdadm to latest upstream state via different requestors.- Call mdadm_env.sh from /usr/libexec/mdadm (bsc#1111960, bsc#1202090) 1004-call-mdadm_env.sh-from-usr-libexec-mdadm.patch - The patch (bsc#1111960) which fixed rpm check failure is replaced by the above patch, 1004-Makefile-install-mdadm_env.sh-to-usr-lib-mdadm.patch.- mdadm.spec: remove "PreReq: %{_sbindir}/mkinitrd" as it is unnecessary now. (bsc#1202352)- Update mdadm package to latest mdadm since mdadm-4.2 (jsc#PED-1009, jsc#PED-947) * Only patches directly change runtime programs included, - Unify error message. 0001-Unify-error-message.patch - mdadm: Fix double free 0002-mdadm-Fix-double-free.patch - Grow_reshape: Add r0 grow size error message and update 0003-Grow_reshape-Add-r0-grow-size-error-message-and-upda.patch - udev: adapt rules to systemd v247 0004-udev-adapt-rules-to-systemd-v247.patch - Replace error prone signal() with sigaction() 0005-Replace-error-prone-signal-with-sigaction.patch - mdadm: Respect config file location in man 0006-mdadm-Respect-config-file-location-in-man.patch - mdadm: Update ReadMe 0007-mdadm-Update-ReadMe.patch - mdadm: Update config man regarding default files and 0008-mdadm-Update-config-man-regarding-default-files-and-.patch - mdadm: Update config manual 0009-mdadm-Update-config-manual.patch - Create, Build: use default_layout() 0010-Create-Build-use-default_layout.patch - mdadm: add map_num_s() 0011-mdadm-add-map_num_s.patch - mdmon: Stop parsing duplicate options 0012-mdmon-Stop-parsing-duplicate-options.patch - Grow: block -n on external volumes. 0013-Grow-block-n-on-external-volumes.patch - Incremental: Fix possible memory and resource leaks 0014-Incremental-Fix-possible-memory-and-resource-leaks.patch - Mdmonitor: Fix segfault 0015-Mdmonitor-Fix-segfault.patch - Mdmonitor: Improve logging method 0016-Mdmonitor-Improve-logging-method.patch - Fix possible NULL ptr dereferences and memory leaks 0017-Fix-possible-NULL-ptr-dereferences-and-memory-leaks.patch - imsm: Remove possibility for get_imsm_dev to return 0018-imsm-Remove-possibility-for-get_imsm_dev-to-return-N.patch - Revert "mdadm: fix coredump of mdadm --monitor -r" 0019-Revert-mdadm-fix-coredump-of-mdadm-monitor-r.patch - util: replace ioctl use with function 0020-util-replace-ioctl-use-with-function.patch - mdadm/super1: restore commit 45a87c2f31335 to fix 0021-mdadm-super1-restore-commit-45a87c2f31335-to-fix-clu.patch - imsm: introduce get_disk_slot_in_dev() 0022-imsm-introduce-get_disk_slot_in_dev.patch - imsm: use same slot across container 0023-imsm-use-same-slot-across-container.patch - imsm: block changing slots during creation 0024-imsm-block-changing-slots-during-creation.patch - mdadm: block update=ppl for non raid456 levels 0025-mdadm-block-update-ppl-for-non-raid456-levels.patch - mdadm: Fix array size mismatch after grow 0026-mdadm-Fix-array-size-mismatch-after-grow.patch - mdadm: Remove dead code in imsm_fix_size_mismatch 0027-mdadm-Remove-dead-code-in-imsm_fix_size_mismatch.patch - Monitor: use devname as char array instead of pointer 0028-Monitor-use-devname-as-char-array-instead-of-pointer.patch - Monitor: use snprintf to fill device name 0029-Monitor-use-snprintf-to-fill-device-name.patch - Makefile: Don't build static build with everything and 0030-Makefile-Don-t-build-static-build-with-everything-an.patch - DDF: Cleanup validate_geometry_ddf_container() 0031-DDF-Cleanup-validate_geometry_ddf_container.patch - DDF: Fix NULL pointer dereference in 0032-DDF-Fix-NULL-pointer-dereference-in-validate_geometr.patch - mdadm/Grow: Fix use after close bug by closing after 0033-mdadm-Grow-Fix-use-after-close-bug-by-closing-after-.patch - monitor: Avoid segfault when calling NULL 0034-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch - mdadm: Fix mdadm -r remove option regression 0035-mdadm-Fix-mdadm-r-remove-option-regression.patch - mdadm: Fix optional --write-behind parameter 0036-mdadm-Fix-optional-write-behind-parameter.patch - mdadm: Replace obsolete usleep with nanosleep 0037-mdadm-Replace-obsolete-usleep-with-nanosleep.patch - mdadm: remove symlink option 0038-mdadm-remove-symlink-option.patch - mdadm: move data_offset to struct shape 0039-mdadm-move-data_offset-to-struct-shape.patch - mdadm: Don't open md device for CREATE and ASSEMBLE 0040-mdadm-Don-t-open-md-device-for-CREATE-and-ASSEMBLE.patch - Grow: Split Grow_reshape into helper function 0041-Grow-Split-Grow_reshape-into-helper-function.patch - Assemble: check if device is container before 0042-Assemble-check-if-device-is-container-before-schedul.patch - super1: report truncated device 0043-super1-report-truncated-device.patch - mdadm: Correct typos, punctuation and grammar in man 0044-mdadm-Correct-typos-punctuation-and-grammar-in-man.patch - Manage: Block unsafe member failing 0045-Manage-Block-unsafe-member-failing.patch - Monitor: Fix statelist memory leaks 0046-Monitor-Fix-statelist-memory-leaks.patch - mdadm: added support for Intel Alderlake RST on VMD 0047-mdadm-added-support-for-Intel-Alderlake-RST-on-VMD-p.patch - mdadm: Add Documentation entries to systemd services 0048-mdadm-Add-Documentation-entries-to-systemd-services.patch - ReadMe: fix command-line help 0049-ReadMe-fix-command-line-help.patch - mdadm: replace container level checking with inline 0050-mdadm-replace-container-level-checking-with-inline.patch - Mdmonitor: Omit non-md devices 0051-Mdmonitor-Omit-non-md-devices.patch - Remove the following in house patch 1004-mdadm-super1-restore-commit-45a87c2f31335-to-fix-clu.patch because upstream merged version added in as 0021-mdadm-super1-restore-commit-45a87c2f31335-to-fix-clu.patch - Rename 0000-Makefile-install-mdadm_env.sh-to-usr-lib-mdadm.patch to 1004-Makefile-install-mdadm_env.sh-to-usr-lib-mdadm.patch. - Update mdadm package to mdadm-4.2 (jsc#PED-1009, jsc#PED-947) All important modifications since previous update to mdadm-4.2 are listed here. * The patches about Intel Matrix Storage Manager (including VROC support), - super-intel.c: Handle errors from calls to get_dev_sector_size() - imsm: change wrong size verification - imsm: add generic method to resolve "device" links - imsm: add devpath_to_char method - imsm: Limit support to the lowest namespace - imsm: correct offset for 4k disks in --examine output - imsm: Fix possible memory leaks and refactor freeing struct dl - imsm: fix num_data_stripes after raid0 takeover - imsm: introduce helpers to manage file descriptors - imsm: free allocated memory in imsm_fix_size_mismatch - imsm: assert if there is migration but prev_map doesn't exist * The patches to fix program issues, - mdadm/super1: It needs to specify int32 for bitmap_offset - Fix memory leak after "mdadm --detail" - Utils: Change sprintf to snprintf - mdadm: fix coredump of mdadm --monitor -r - Fix error message when creating raid 4, 5 and 10 - Fix buffer size warning for strcp - Fix potential overlap dest buffer - Correct checking if file descriptors are valid - Monitor: print message before quit for no array to monitor * Improvement or bug fixes for mdadm itself, - Assemble: skip devices that don't match uuid instead of aborting the assembly. - Assemble: apply sysfs rules - Assemble: start dirty and degraded array. - Incremental: Close unclosed mdfd in IncrementalScan() - Monitor: make libudev dependency optional - Manage: Call validate_geometry when adding drive to external container - Remove Spare drives line from details for external metadata - Don't associate spares with other arrays during RAID Examine - Add error handling for chunk size in RAID1 - Add monitor delay parameter to mdadm.conf - disallow create or grow clustered bitmap with writemostly set - mdadm/Detail: Can't show container name correctly when unpluging disks - mdadm: block creation with long names - mdadm: fix growing containers - Remove the following patches because they are all included in mdadm-4.2, - 0001-Assemble-keep-MD_DISK_FAILFAST-and-MD_DISK_WRITEMOST.patch - 0002-Document-PART-POLICY-lines.patch - 0003-policy-support-devices-with-multiple-paths.patch - 0004-mdcheck-add-systemd-unit-files-to-run-mdcheck.patch - 0005-Monitor-add-system-timer-to-run-oneshot-periodically.patch - 0006-imsm-update-metadata-correctly-while-raid10-double-d.patch - 0007-Assemble-mask-FAILFAST-and-WRITEMOSTLY-flags-when-fi.patch - 0008-Grow-avoid-overflow-in-compute_backup_blocks.patch - 0009-Grow-report-correct-new-chunk-size.patch - 0010-policy.c-prevent-NULL-pointer-referencing.patch - 0012-policy.c-Fix-for-compiler-error.patch - 0013-imsm-finish-recovery-when-drive-with-rebuild-fails.patch - 0014-imsm-fix-reshape-for-2TB-drives.patch - 0015-Fix-spelling-typos.patch - 0016-Detail.c-do-not-skip-first-character-when-calling-xs.patch - 0018-Fix-reshape-for-decreasing-data-offset.patch - 0019-mdadm-tests-add-one-test-case-for-failfast-of-raid1.patch - 0020-mdmon-don-t-attempt-to-manage-new-arrays-when-termin.patch - 0021-mdmon-wait-for-previous-mdmon-to-exit-during-takeove.patch - 0022-Assemble-Fix-starting-array-with-initial-reshape-che.patch - 0023-add-missing-units-to-examine.patch - 0024-imsm-fix-spare-activation-for-old-matrix-arrays.patch - 0025-Create-Block-rounding-size-to-max.patch - 0026-udev-Add-udev-rules-to-create-by-partuuid-for-md-dev.patch - 0027-mdmon-fix-wrong-array-state-when-disk-fails-during-m.patch - 0028-Enable-probe_roms-to-scan-more-than-6-roms.patch - 0029-super-intel-Fix-issue-with-abs-being-irrelevant.patch - 0030-mdadm.h-Introduced-unaligned-get-put-_unaligned-16-3.patch - 0031-super-intel-Use-put_unaligned-in-split_ull.patch - 0032-mdadm-load-default-sysfs-attributes-after-assemblati.patch - 0033-mdadm.h-include-sysmacros.h-unconditionally.patch - 0034-mdadm-add-no-devices-to-avoid-component-devices-deta.patch - 0035-udev-add-no-devices-option-for-calling-mdadm-detail.patch - 0036-imsm-close-removed-drive-fd.patch - 0037-mdadm-check-value-returned-by-snprintf-against-error.patch - 0038-mdadm-Introduce-new-array-state-broken-for-raid0-lin.patch - 0039-mdadm-force-a-uuid-swap-on-big-endian.patch - 0040-mdadm-md.4-add-the-descriptions-for-bitmap-sysfs-nod.patch - 0041-Init-devlist-as-an-array.patch - 0042-Don-t-need-to-check-recovery-after-re-add-when-no-I-.patch - 0043-udev-allow-for-udev-attribute-reading-bug.patch - 0044-imsm-save-current_vol-number.patch - 0045-imsm-allow-to-specify-second-volume-size.patch - 0046-mdcheck-when-mdcheck_start-is-enabled-enable-mdcheck.patch - 0050-mdcheck-use-to-pass-variable-to-mdcheck.patch - 0051-SUSE-mdadm_env.sh-handle-MDADM_CHECK_DURATION.patch - 0052-super-intel-don-t-mark-structs-packed-unnecessarily.patch - 0053-Manage-Remove-the-legacy-code-for-md-driver-prior-to.patch - 0054-Remove-last-traces-of-HOT_ADD_DISK.patch - 0055-Fix-up-a-few-formatting-issues.patch - 0056-Remove-unused-code.patch - 0057-imsm-return-correct-uuid-for-volume-in-detail.patch - 0058-imsm-Change-the-way-of-printing-nvme-drives-in-detai.patch - 0059-Create-add-support-for-RAID0-layouts.patch - 0060-Assemble-add-support-for-RAID0-layouts.patch - 0061-Respect-CROSS_COMPILE-when-CC-is-the-default.patch - 0062-Change-warning-message.patch - 0063-mdcheck-service-can-t-start-succesfully-because-of-s.patch - 0064-imsm-Update-grow-manual.patch - 0065-Add-support-for-Tebibytes.patch - 0066-imsm-fill-working_disks-according-to-metadata.patch - 0067-mdadm.8-add-note-information-for-raid0-growing-opera.patch - 0068-Remove-the-legacy-whitespace.patch - 0069-imsm-pass-subarray-id-to-kill_subarray-function.patch - 0070-imsm-Remove-dump-restore-implementation.patch - 0071-Monitor-improve-check_one_sharer-for-checking-duplic.patch - 0072-Detail-adding-sync-status-for-cluster-device.patch - 0073-imsm-Correct-minimal-device-size.patch - 0074-Detail-show-correct-bitmap-info-for-cluster-raid-dev.patch - 0075-imsm-support-the-Array-Creation-Time-field-in-metada.patch - 0076-imsm-show-Subarray-and-Volume-ID-in-examine-output.patch - 0077-udev-Ignore-change-event-for-imsm.patch - 0078-Manage-imsm-Write-metadata-before-add.patch - 0079-Assemble-print-error-message-if-mdadm-fails-assembli.patch - 0080-clean-up-meaning-of-small-typo.patch - 0081-Assemble.c-respect-force-flag.patch - 0082-mdcheck-Log-when-done.patch - 0083-Makefile-add-EXTRAVERSION-support.patch - 0084-uuid.c-split-uuid-stuffs-from-util.c.patch - 0085-Include-count-for-0-character-when-using-strncpy-to-.patch - 0086-restripe-fix-ignoring-return-value-of-read-and-lseek.patch - 0087-Block-overwriting-existing-links-while-manual-assemb.patch - 0088-Detect-too-small-device-error-rather-than-underflow-.patch - 0089-Use-more-secure-HTTPS-URLs.patch - 0090-Update-link-to-Intel-page-for-IMSM.patch - 0091-mdadm-Grow-prevent-md-s-fd-from-being-occupied-durin.patch - 0092-Specify-nodes-number-when-updating-cluster-nodes.patch - 0093-mdadm-md.4-update-path-to-in-kernel-tree-documentati.patch - 0094-manual-update-examine-badblocks.patch - 0095-Detail-show-correct-raid-level-when-the-array-is-ina.patch - 0096-Don-t-create-bitmap-for-raid5-with-journal-disk.patch - 0097-Monitor-refresh-mdstat-fd-after-select.patch - 0098-Monitor-stop-notifing-about-containers.patch - 0099-mdmonitor-set-small-delay-once.patch - 0100-Check-if-other-Monitor-instance-running-before-fork.patch - 0101-Super1-allow-RAID0-layout-setting-to-be-removed.patch - 0102-Detail-fix-segfault-during-IMSM-raid-creation.patch - 0103-Create.c-close-mdfd-and-generate-uevent.patch - 0104-imsm-update-num_data_stripes-according-to-dev_size.patch - 0105-imsm-remove-redundant-calls-to-imsm_get_map.patch - 0106-Monitor-don-t-use-default-modes-when-creating-a-file.patch - 0107-imsm-limit-support-to-first-NVMe-namespace.patch - 0108-mdadm-Unify-forks-behaviour.patch - 0109-mdadm-Detail-show-correct-state-for-clustered-array.patch - 0110-Make-target-to-install-binaries-only.patch - 0111-udev-start-grow-service-automatically.patch - 0112-Incremental-Remove-redundant-spare-movement-logic.patch - 0113-Dump-get-stat-from-a-wrong-metadata-file-when-restor.patch - 0114-super1-fix-Floating-point-exception.patch - 0115-super1.c-avoid-useless-sync-when-bitmap-switches-fro.patch - 0116-imsm-nvme-multipath-support.patch - 0117-Grow-be-careful-of-corrupt-dev_roles-list.patch - 0118-Remove-Spare-drives-line-from-details-for-external-m.patch - 0119-Don-t-associate-spares-with-other-arrays-during-RAID.patch - 0120-udev-md-raid-assembly.rules-skip-if-DM_UDEV_DISABLE_.patch - 0121-imsm-support-for-third-Sata-controller.patch - The patch from SLE15-SP4 is removed because it is in mdadm-4.2 upstream already, - Monitor: print message before quit for no array to monitor (bsc#1183229) 0120-Monitor-print-message-before-quit-for-no-array-to-mo.patch- mdadm.spec: add EXTRAVERSION string to make command line (jsc#SLE-24761, bsc#1193566)- imsm: support for third Sata controller (bsc#1201297) 0121-imsm-support-for-third-Sata-controller.patch - mdadm: enable Intel Alderlake RSTe configuration (bsc#1201297) 1005-mdadm-enable-Intel-Alderlake-RSTe-configuration.patch- resource RAID failed during cluster patch, Mdadm gets floating point error (bsc#1197158) 1004-mdadm-super1-restore-commit-45a87c2f31335-to-fix-clu.patch- skip RAID assembly if DM_UDEV_DISABLE_OTHER_RULES_FLAG (bsc#1196054) * Add 0120-udev-md-raid-assembly.rules-skip-if-DM_UDEV_DISABLE_.patch- Use %{_sbindir} for prerequisite of mkinitrd to work with usrmerge of dracut-mkinitrd-deprecated- Install mdadm in _sbindir rather than /sbin. This is more appropriate now that we have a merged-/usr. (bsc#1191076)- Remove Spare drives line from details for external metadata (bsc#1180661, bsc#1182642) 0118-Remove-Spare-drives-line-from-details-for-external-m.patch - Don't associate spares with other arrays during RAID Examine (bsc#1180661, bsc#1182642) 0119-Don-t-associate-spares-with-other-arrays-during-RAID.patch- Grow: be careful of corrupt dev_roles list (bsc#1181619) 0117-Grow-be-careful-of-corrupt-dev_roles-list.patch- imsm: nvme multipath support (bsc#1175758) 0116-imsm-nvme-multipath-support.patch- cluster-md/mdadm : avoid useless re-sync (bsc#1181341) 0114-super1-fix-Floating-point-exception.patch 0115-super1.c-avoid-useless-sync-when-bitmap-switches-fro.patch- Incremental: Remove redundant spare movement logic (jsc#SLE-13700, bsc#1180220) 0112-Incremental-Remove-redundant-spare-movement-logic.patch - Dump: get stat from a wrong metadata file when restoring metadata (jsc#SLE-13700) 0113-Dump-get-stat-from-a-wrong-metadata-file-when-restor.patch- There are some important fixes merged in mdadm upstream which should go with jsc#SLE-13700. This is the update from upstream mdadm including the important fixes we should have. - Detail: show correct raid level when the array is inactive (jsc#SLE-13700) 0095-Detail-show-correct-raid-level-when-the-array-is-ina.patch - Don't create bitmap for raid5 with journal disk (jsc#SLE-13700) 0096-Don-t-create-bitmap-for-raid5-with-journal-disk.patch - Monitor: refresh mdstat fd after select (jsc#SLE-13700) 0097-Monitor-refresh-mdstat-fd-after-select.patch - Monitor: stop notifing about containers. (jsc#SLE-13700) 0098-Monitor-stop-notifing-about-containers.patch - mdmonitor: set small delay once (jsc#SLE-13700) 0099-mdmonitor-set-small-delay-once.patch - Check if other Monitor instance running before fork. (jsc#SLE-13700) 0100-Check-if-other-Monitor-instance-running-before-fork.patch - Super1: allow RAID0 layout setting to be removed. (jsc#SLE-13700) 0101-Super1-allow-RAID0-layout-setting-to-be-removed.patch - Detail: fix segfault during IMSM raid creation (jsc#SLE-13700) 0102-Detail-fix-segfault-during-IMSM-raid-creation.patch - Create.c: close mdfd and generate uevent (jsc#SLE-13700) 0103-Create.c-close-mdfd-and-generate-uevent.patch - imsm: update num_data_stripes according to dev_size (jsc#SLE-13700) 0104-imsm-update-num_data_stripes-according-to-dev_size.patch - imsm: remove redundant calls to imsm_get_map (jsc#SLE-13700) 0105-imsm-remove-redundant-calls-to-imsm_get_map.patch - Monitor: don't use default modes when creating a file (jsc#SLE-13700) 0106-Monitor-don-t-use-default-modes-when-creating-a-file.patch - imsm: limit support to first NVMe namespace (jsc#SLE-13700) 0107-imsm-limit-support-to-first-NVMe-namespace.patch - mdadm: Unify forks behaviour (jsc#SLE-13700) 0108-mdadm-Unify-forks-behaviour.patch - mdadm/Detail: show correct state for clustered array (jsc#SLE-13700) 0109-mdadm-Detail-show-correct-state-for-clustered-array.patch - Make target to install binaries only (jsc#SLE-13700) 0110-Make-target-to-install-binaries-only.patch - udev: start grow service automatically (jsc#SLE-13700) 0111-udev-start-grow-service-automatically.patch- Update to latest mdadm which is requested by jsc#SLE-13700 from partners. Mostly the purpose is for latest Intel IMSM raid support, while some other fixes are important too. - imsm: Correct minimal device size (jsc#SLE-13700) 0073-imsm-Correct-minimal-device-size.patch - Detail: show correct bitmap info for cluster raid device (jsc#SLE-13700) 0074-Detail-show-correct-bitmap-info-for-cluster-raid-dev.patch - imsm: support the Array Creation Time field in metadata (jsc#SLE-13700) 0075-imsm-support-the-Array-Creation-Time-field-in-metada.patch - imsm: show Subarray and Volume ID in --examine output (jsc#SLE-13700) 0076-imsm-show-Subarray-and-Volume-ID-in-examine-output.patch - udev: Ignore change event for imsm (jsc#SLE-13700) 0077-udev-Ignore-change-event-for-imsm.patch - Manage, imsm: Write metadata before add (jsc#SLE-13700) 0078-Manage-imsm-Write-metadata-before-add.patch - Assemble: print error message if mdadm fails assembling with --uuid option (jsc#SLE-13700) 0079-Assemble-print-error-message-if-mdadm-fails-assembli.patch - clean up meaning of small typo (jsc#SLE-13700) 0080-clean-up-meaning-of-small-typo.patch - Assemble.c: respect force flag (jsc#SLE-13700) 0081-Assemble.c-respect-force-flag.patch - mdcheck: Log when done (jsc#SLE-13700) 0082-mdcheck-Log-when-done.patch - Makefile: add EXTRAVERSION support (jsc#SLE-13700) 0083-Makefile-add-EXTRAVERSION-support.patch - uuid.c: split uuid stuffs from util.c (jsc#SLE-13700) 0084-uuid.c-split-uuid-stuffs-from-util.c.patch - Include count for \0 character when using strncpy to implement strdup. (jsc#SLE-13700) 0085-Include-count-for-0-character-when-using-strncpy-to-.patch - restripe: fix ignoring return value of read and lseek (jsc#SLE-13700) 0086-restripe-fix-ignoring-return-value-of-read-and-lseek.patch - Block overwriting existing links while manual assembly (jsc#SLE-13700) 0087-Block-overwriting-existing-links-while-manual-assemb.patch - Detect too-small device: error rather than underflow/crash (jsc#SLE-13700) 0088-Detect-too-small-device-error-rather-than-underflow-.patch - Use more secure HTTPS URLs (jsc#SLE-13700) 0089-Use-more-secure-HTTPS-URLs.patch - Update link to Intel page for IMSM (jsc#SLE-13700) 0090-Update-link-to-Intel-page-for-IMSM.patch - mdadm/Grow: prevent md's fd from being occupied during delayed time (jsc#SLE-13700) 0091-mdadm-Grow-prevent-md-s-fd-from-being-occupied-durin.patch - Specify nodes number when updating cluster nodes (jsc#SLE-13700) 0092-Specify-nodes-number-when-updating-cluster-nodes.patch - mdadm/md.4: update path to in-kernel-tree documentation (jsc#SLE-13700) 0093-mdadm-md.4-update-path-to-in-kernel-tree-documentati.patch - manual: update --examine-badblocks (jsc#SLE-13700) 0094-manual-update-examine-badblocks.patch- mdadm: treat the Dell softraid array as local array (bsc#1175004) 1003-mdadm-treat-the-Dell-softraid-array-as-local-array.patch- Fixes for %_libexecdir changing to /usr/libexec(bsc#1174075)- OnCalendar format fix of mdcheck_start.timer (bsc#1173137) 1002-OnCalendar-format-fix-of-mdcheck_start-timer.patch- Detail: adding sync status for cluster device (bsc#1163727) 0072-Detail-adding-sync-status-for-cluster-device.patch - Monitor: improve check_one_sharer() for checking duplicated process (bsc#1168953) 0071-Monitor-improve-check_one_sharer-for-checking-duplic.patch- Don't list XX@.services even for sevice_del_preun They cannot be stopped without an instance name, so there is no value in listing them, and it causes and error with "rpm -e mdadm --nodeps". (bsc#1093163)- Update for latest mdadm-4.1+ patches, this is required by jsc#SLE-10078 and jsc#SLE-9348. Mostly the purpose is for latest Intel IMSM raid support. The following patches also include previous patches with new re-ordered prefix numbers. - Makefile: install mdadm_env.sh to /usr/lib/mdadm (bsc#1111960) 0000-Makefile-install-mdadm_env.sh-to-usr-lib-mdadm.patch - Assemble: keep MD_DISK_FAILFAST and MD_DISK_WRITEMOSTLY flag (jsc#SLE-10078, jsc#SLE-9348) 0001-Assemble-keep-MD_DISK_FAILFAST-and-MD_DISK_WRITEMOST.patch - Document PART-POLICY lines (jsc#SLE-10078, jsc#SLE-9348) 0002-Document-PART-POLICY-lines.patch - policy: support devices with multiple paths. (jsc#SLE-10078, jsc#SLE-9348) 0003-policy-support-devices-with-multiple-paths.patch - mdcheck: add systemd unit files to run mdcheck. (bsc#1115407) 0004-mdcheck-add-systemd-unit-files-to-run-mdcheck.patch - Monitor: add system timer to run --oneshot periodically (bsc#1115407) 0005-Monitor-add-system-timer-to-run-oneshot-periodically.patch - imsm: update metadata correctly while raid10 double (jsc#SLE-10078, jsc#SLE-9348) 0006-imsm-update-metadata-correctly-while-raid10-double-d.patch - Assemble: mask FAILFAST and WRITEMOSTLY flags when finding (jsc#SLE-10078, jsc#SLE-9348) 0007-Assemble-mask-FAILFAST-and-WRITEMOSTLY-flags-when-fi.patch - Grow: avoid overflow in compute_backup_blocks() (jsc#SLE-10078, jsc#SLE-9348) 0008-Grow-avoid-overflow-in-compute_backup_blocks.patch - Grow: report correct new chunk size. (jsc#SLE-10078, jsc#SLE-9348) 0009-Grow-report-correct-new-chunk-size.patch - policy.c: prevent NULL pointer referencing (bsc#1106078) 0010-policy.c-prevent-NULL-pointer-referencing.patch - policy.c: Fix for compiler error (jsc#SLE-10078, jsc#SLE-9348) 0012-policy.c-Fix-for-compiler-error.patch - imsm: finish recovery when drive with rebuild fails (bsc#1126975) 0013-imsm-finish-recovery-when-drive-with-rebuild-fails.patch - imsm: fix reshape for >2TB drives (jsc#SLE-10078, jsc#SLE-9348) 0014-imsm-fix-reshape-for-2TB-drives.patch - Fix spelling typos. (jsc#SLE-10078, jsc#SLE-9348) 0015-Fix-spelling-typos.patch - Detail.c: do not skip first character when calling xstrdup in Detail() (bsc#1123814) 0016-Detail.c-do-not-skip-first-character-when-calling-xs.patch - Fix reshape for decreasing data offset (jsc#SLE-10078, jsc#SLE-9348) 0018-Fix-reshape-for-decreasing-data-offset.patch - mdadm/tests: add one test case for failfast of raid1 (jsc#SLE-10078, jsc#SLE-9348) 0019-mdadm-tests-add-one-test-case-for-failfast-of-raid1.patch - mdmon: don't attempt to manage new arrays when terminating (bsc#1127526) 0020-mdmon-don-t-attempt-to-manage-new-arrays-when-termin.patch - mdmon: wait for previous mdmon to exit during takeover (jsc#SLE-10078, jsc#SLE-9348) 0021-mdmon-wait-for-previous-mdmon-to-exit-during-takeove.patch - Assemble: Fix starting array with initial reshape checkpoint (jsc#SLE-10078, jsc#SLE-9348) 0022-Assemble-Fix-starting-array-with-initial-reshape-che.patch - add missing units to --examine (jsc#SLE-10078, jsc#SLE-9348) 0023-add-missing-units-to-examine.patch - imsm: fix spare activation for old matrix arrays (jsc#SLE-10078, jsc#SLE-9348) 0024-imsm-fix-spare-activation-for-old-matrix-arrays.patch - Create: Block rounding size to max (jsc#SLE-10078, jsc#SLE-9348) 0025-Create-Block-rounding-size-to-max.patch - udev: Add udev rules to create by-partuuid for md device (jsc#SLE-10078, jsc#SLE-9348) 0026-udev-Add-udev-rules-to-create-by-partuuid-for-md-dev.patch - mdmon: fix wrong array state when disk fails during mdmon (jsc#SLE-10078, jsc#SLE-9348) 0027-mdmon-fix-wrong-array-state-when-disk-fails-during-m.patch - Enable probe_roms to scan more than 6 roms. (bsc#1156040) 0028-Enable-probe_roms-to-scan-more-than-6-roms.patch - super-intel: Fix issue with abs() being irrelevant (jsc#SLE-10078, jsc#SLE-9348) 0029-super-intel-Fix-issue-with-abs-being-irrelevant.patch - mdadm.h: Introduced unaligned {get,put}_unaligned{16,32}() (jsc#SLE-10078, jsc#SLE-9348) 0030-mdadm.h-Introduced-unaligned-get-put-_unaligned-16-3.patch - super-intel: Use put_unaligned in split_ull (jsc#SLE-10078, jsc#SLE-9348) 0031-super-intel-Use-put_unaligned-in-split_ull.patch - mdadm: load default sysfs attributes after assemblation (jsc#SLE-10078, jsc#SLE-9348) 0032-mdadm-load-default-sysfs-attributes-after-assemblati.patch - mdadm.h: include sysmacros.h unconditionally (jsc#SLE-10078, jsc#SLE-9348) 0033-mdadm.h-include-sysmacros.h-unconditionally.patch - mdadm: add --no-devices to avoid component devices detail (bsc#1139709) 0034-mdadm-add-no-devices-to-avoid-component-devices-deta.patch - udev: add --no-devices option for calling 'mdadm (bsc#1139709) 0035-udev-add-no-devices-option-for-calling-mdadm-detail.patch - imsm: close removed drive fd. (jsc#SLE-10078, jsc#SLE-9348) 0036-imsm-close-removed-drive-fd.patch - mdadm: check value returned by snprintf against errors (jsc#SLE-10078, jsc#SLE-9348) 0037-mdadm-check-value-returned-by-snprintf-against-error.patch - mdadm: Introduce new array state 'broken' for raid0/linear (jsc#SLE-10078, jsc#SLE-9348) 0038-mdadm-Introduce-new-array-state-broken-for-raid0-lin.patch - mdadm: force a uuid swap on big endian (jsc#SLE-10078, jsc#SLE-9348) 0039-mdadm-force-a-uuid-swap-on-big-endian.patch - mdadm/md.4: add the descriptions for bitmap sysfs nodes (jsc#SLE-10078, jsc#SLE-9348) 0040-mdadm-md.4-add-the-descriptions-for-bitmap-sysfs-nod.patch - Init devlist as an array (jsc#SLE-10078, jsc#SLE-9348) 0041-Init-devlist-as-an-array.patch - Don't need to check recovery after re-add when no I/O writes (jsc#SLE-10078, jsc#SLE-9348) 0042-Don-t-need-to-check-recovery-after-re-add-when-no-I-.patch - udev: allow for udev attribute reading bug. (jsc#SLE-10078, jsc#SLE-9348) 0043-udev-allow-for-udev-attribute-reading-bug.patch - imsm: save current_vol number (jsc#SLE-10078, jsc#SLE-9348) 0044-imsm-save-current_vol-number.patch - imsm: allow to specify second volume size (jsc#SLE-10078, jsc#SLE-9348) 0045-imsm-allow-to-specify-second-volume-size.patch - mdcheck: when mdcheck_start is enabled, enable (bsc#1153258) 0046-mdcheck-when-mdcheck_start-is-enabled-enable-mdcheck.patch - mdcheck: use ${} to pass variable to mdcheck (bsc#1153258) 0050-mdcheck-use-to-pass-variable-to-mdcheck.patch - SUSE-mdadm_env.sh: handle MDADM_CHECK_DURATION (bsc#1153258) 0051-SUSE-mdadm_env.sh-handle-MDADM_CHECK_DURATION.patch - super-intel: don't mark structs 'packed' unnecessarily (jsc#SLE-10078, jsc#SLE-9348) 0052-super-intel-don-t-mark-structs-packed-unnecessarily.patch - Manage: Remove the legacy code for md driver prior to 0.90.03 (jsc#SLE-10078, jsc#SLE-9348) 0053-Manage-Remove-the-legacy-code-for-md-driver-prior-to.patch - Remove last traces of HOT_ADD_DISK (jsc#SLE-10078, jsc#SLE-9348) 0054-Remove-last-traces-of-HOT_ADD_DISK.patch - Fix up a few formatting issues (jsc#SLE-10078, jsc#SLE-9348) 0055-Fix-up-a-few-formatting-issues.patch - Remove unused code (jsc#SLE-10078, jsc#SLE-9348) 0056-Remove-unused-code.patch - imsm: return correct uuid for volume in detail (jsc#SLE-10078, jsc#SLE-9348) 0057-imsm-return-correct-uuid-for-volume-in-detail.patch - imsm: Change the way of printing nvme drives in (jsc#SLE-10078, jsc#SLE-9348) 0058-imsm-Change-the-way-of-printing-nvme-drives-in-detai.patch - Create: add support for RAID0 layouts. (bsc#1162479) 0059-Create-add-support-for-RAID0-layouts.patch - Assemble: add support for RAID0 layouts. (bsc#1162479) 0060-Assemble-add-support-for-RAID0-layouts.patch - Respect $(CROSS_COMPILE) when $(CC) is the default (jsc#SLE-10078, jsc#SLE-9348) 0061-Respect-CROSS_COMPILE-when-CC-is-the-default.patch - Change warning message (jsc#SLE-10078, jsc#SLE-9348) 0062-Change-warning-message.patch - mdcheck service can't start succesfully because of syntax (jsc#SLE-10078, jsc#SLE-9348) 0063-mdcheck-service-can-t-start-succesfully-because-of-s.patch - imsm: Update grow manual. (jsc#SLE-10078, jsc#SLE-9348) 0064-imsm-Update-grow-manual.patch - Add support for Tebibytes (jsc#SLE-10078, jsc#SLE-9348) 0065-Add-support-for-Tebibytes.patch - imsm: fill working_disks according to metadata. (jsc#SLE-10078, jsc#SLE-9348) 0066-imsm-fill-working_disks-according-to-metadata.patch - mdadm.8: add note information for raid0 growing operation (bsc#1129900) 0067-mdadm.8-add-note-information-for-raid0-growing-opera.patch - Remove the legacy whitespace (jsc#SLE-10078, jsc#SLE-9348) 0068-Remove-the-legacy-whitespace.patch - imsm: pass subarray id to kill_subarray function (jsc#SLE-10078, jsc#SLE-9348) 0069-imsm-pass-subarray-id-to-kill_subarray-function.patch - imsm: Remove --dump/--restore implementation (jsc#SLE-10078, jsc#SLE-9348) 0070-imsm-Remove-dump-restore-implementation.patch- Rename the following patches, they will be listed with new re-ordered prefix number in following commit, 0001-Document-PART-POLICY-lines.patch 0001-Makefile-install-mdadm_env.sh-to-usr-lib-mdadm.patch 0002-policy-support-devices-with-multiple-paths.patch 0003-mdcheck-add-systemd-unit-files-to-run-mdcheck.patch 0004-Monitor-add-system-timer-to-run-oneshot-periodically.patch 0005-imsm-update-metadata-correctly-while-raid10-double-d.patch 0006-Grow-avoid-overflow-in-compute_backup_blocks.patch 0007-Grow-report-correct-new-chunk-size.patch 0008-policy.c-prevent-NULL-pointer-referencing.patch 0009-Detail.c-do-not-skip-first-character-when-calling-xs.patch 0010-imsm-finish-recovery-when-drive-with-rebuild-fails.patch 0011-mdmon-don-t-attempt-to-manage-new-arrays-when-termin.patch 0012-mdcheck-when-mdcheck_start-is-enabled-enable-mdcheck.patch 0013-mdcheck-use-to-pass-variable-to-mdcheck.patch 0014-SUSE-mdadm_env.sh-handle-MDADM_CHECK_DURATION.patch 0015-Create-add-support-for-RAID0-layouts.patch 0016-Assemble-add-support-for-RAID0-layouts.patch 1002-mdadm.8-add-note-information-for-raid0-growing-opera.patch- Enable probe_roms to scan more than 6 roms. (bsc#1156040) 0028-Enable-probe_roms-to-scan-more-than-6-roms.patch- Add mdadm fixes from SLE15-SP1 package, - Create: add support for RAID0 layouts. (bsc#1162479) 0059-Create-add-support-for-RAID0-layouts.patch - Assemble: add support for RAID0 layouts. (bsc#1162479) 0060-Assemble-add-support-for-RAID0-layouts.patch - mdadm.8: add note information for raid0 growing operation (bsc#1129900) 0067-mdadm.8-add-note-information-for-raid0-growing-opera.patch- Create: add support for RAID0 layouts. (bsc#1162479) 0015-Create-add-support-for-RAID0-layouts.patch - Assemble: add support for RAID0 layouts. (bsc#1162479) 0016-Assemble-add-support-for-RAID0-layouts.patch - mdadm.8: add note information for raid0 growing operation (bsc#1129900) 1002-mdadm.8-add-note-information-for-raid0-growing-opera.patch- 0012-mdcheck-when-mdcheck_start-is-enabled-enable-mdcheck.patch 0013-mdcheck-use-to-pass-variable-to-mdcheck.patch 0014-SUSE-mdadm_env.sh-handle-MDADM_CHECK_DURATION.patch Improve mdcheck (bsc#1153258)- imsm: finish recovery when drive with rebuild fails (bsc#1126975) 0010-imsm-finish-recovery-when-drive-with-rebuild-fails.patch - mdmon: don't attempt to manage new arrays when terminating (bsc#1127526) 0011-mdmon-don-t-attempt-to-manage-new-arrays-when-termin.patch- Detail.c: do not skip first character when calling xstrdup in Detail() (bsc#1123814) 0009-Detail.c-do-not-skip-first-character-when-calling-xs.patch- Update description. Remove references to historic software.- 0001-Document-PART-POLICY-lines.patch 0002-policy-support-devices-with-multiple-paths.patch 0008-policy.c-prevent-NULL-pointer-referencing.patch (bsc#1106078) - 0003-mdcheck-add-systemd-unit-files-to-run-mdcheck.patch 0004-Monitor-add-system-timer-to-run-oneshot-periodically.patch Remove mdadm.cron Remove crond.mdadm (bsc#1115407) - 0005-imsm-update-metadata-correctly-while-raid10-double-d.patch 0006-Grow-avoid-overflow-in-compute_backup_blocks.patch 0007-Grow-report-correct-new-chunk-size.patch Other useful upstream patches.- Update mdadm code base to mdadm-4.1 (FATE#325869, bsc#1111960) - Assorted bug-fixes, minor improvements, and code cleanup - Add PPL support (alternate change-journalling model) - Fix Makefile to install mdadm_env.sh to /usr/lib/mdadm/ (bsc#1111960) 0001-Makefile-install-mdadm_env.sh-to-usr-lib-mdadm.patch - Remove the following code base and patches since they are in mdadm-4.1 already, - mdadm-4.0.tar.xz - 0001-Makefile-Fix-date-to-be-output-in-ISO-format.patch - 0002-imsm-fix-missing-error-message-during-migration.patch - 0003-Fix-oddity-where-mdadm-did-not-recognise-a-relative-.patch - 0004-mdadm-check-the-nodes-when-operate-clustered-array.patch - 0005-examine-tidy-up-some-code.patch - 0006-mdadm-add-man-page-for-symlinks.patch - 0007-mdadm-add-checking-clustered-bitmap-in-assemble-mode.patch - 0008-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch - 0009-mdadm-Specify-enough-length-when-write-to-buffer.patch - 0010-mdadm-it-doesn-t-make-sense-to-set-bitmap-twice.patch - 0011-mdadm-Monitor-Fix-NULL-pointer-dereference-when-stat.patch - 0012-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch - 0013-mdadm-Forced-type-conversion-to-avoid-truncation.patch - 0014-super1-ignore-failfast-flag-for-setting-device-role.patch - 0015-mdadm-bitmap-fixed-typos-in-comments-of-bitmap.h.patch - 0016-udev-md-raid-assembly.rules-Skip-non-ready-devices.patch - 0017-Retry-HOT_REMOVE_DISK-a-few-times.patch - 0018-mdadm-Build-check-the-level-parameter-when-build-new.patch - 0019-Introduce-sys_hot_remove_disk.patch - 0020-Add-force-flag-to-hot_remove_disk.patch - 0021-Detail-handle-non-existent-arrays-better.patch - 0022-Generic-support-for-consistency-policy-and-PPL.patch - 0023-Detail-show-consistency-policy.patch - 0024-imsm-PPL-support.patch - 0025-super1-PPL-support.patch - 0026-Add-ppl-and-no-ppl-options-for-update.patch - 0027-Grow-support-consistency-policy-change.patch - 0028-mdadm.h-struct-mdinfo-reorganize-ppl-elements-for-be.patch - 0029-super1-replace-hard-coded-values-with-bit-definition.patch - 0030-mdadm-Clean-up-some-ugly-multiple-actions-on-single-.patch - 0031-mdadm-Fixup-a-number-of-whitespace-inconsistency-cas.patch - 0032-util-Cosmetic-changes.patch - 0033-Grow-Fixup-a-pile-of-cosmetic-issues.patch - 0034-Grow-Remove-unnecessary-optimization.patch - 0035-Grow-Do-not-shadow-an-existing-variable.patch - 0036-imsm-use-rounded-size-for-metadata-initialization.patch - 0037-mdadm.c-fix-compile-error-switch-condition-has-boole.patch - 0038-mdadm-Create-declaring-an-existing-struct-within-sam.patch - 0039-Create-Fixup-bad-placement-of-logical-in-multi-line-.patch - 0040-Create-Fixup-various-whitespace-issues.patch - 0041-mdadm.c-fix-compile-warning-mdfd-is-uninitialized.patch - 0042-mdopen-use-parameters-new_array-to-create-arrays-whe.patch - 0043-mdadm-manpage-update-manpage-for-readonly-parameter.patch - 0044-mdadm-manpage-clustered-arrays-don-t-support-array-s.patch - 0045-maps-Terminate-modes-map-correctly.patch - 0046-Grow_continue_command-ensure-content-is-properly-ini.patch - 0047-systemd-mdadm-last-resort-use-ConditionPathExists-in.patch - 0048-Detail-ensure-export-names-are-acceptable-as-shell-v.patch - 0049-Grow-set-component-size-prior-to-array-size.patch - 0050-Grow-don-t-allow-to-enable-PPL-when-reshape-is-in-pr.patch - 0051-Grow-don-t-allow-array-geometry-change-with-ppl-enab.patch - 0052-IMSM-Correct-examine-output-for-4k-disks.patch - 0053-imsm-allow-drives-in-a-container-regardless-of-secto.patch - 0054-imsm-allocate-buffer-to-support-maximum-sector-size.patch - 0055-imsm-don-t-allow-disks-with-different-sector-size-in.patch - 0056-mdadm-mdmon-deleted-the-abort_reshape-never-invoked.patch - 0057-util-Introduce-md_get_array_info.patch - 0058-Incremental-Remove-redundant-call-for-GET_ARRAY_INFO.patch - 0059-util-Introduce-md_get_disk_info.patch - 0060-util-Introduce-md_set_array_info.patch - 0061-md_u-Remove-some-unused-ioctl-declarations.patch - 0062-mdadm-grow-reshape-would-be-stuck-from-raid1-to-raid.patch - 0063-sysfs-Use-the-presence-of-sys-block-dev-md-as-indica.patch - 0064-sysfs-Make-sysfs_init-return-an-error-code.patch - 0065-util-must_be_container-Use-sysfs_read-GET_VERSION-to.patch - 0066-util-set_array_info-Simplify-code-since-md_get_versi.patch - 0067-Assemble-Assemble-Stop-checking-kernel-md-driver-ver.patch - 0068-Build-Stop-bothering-about-supporting-md-driver-olde.patch - 0069-Grow-Stop-bothering-about-md-driver-versions-older-t.patch - 0070-Detail-Stop-bothering-about-md-drivers-older-than-0..patch - 0071-Create-Remove-all-attemps-to-handle-md-driver-older-.patch - 0072-Manage-Remove-all-references-to-md_get_version.patch - 0073-Query-Remove-all-references-to-md_get_version.patch - 0074-bitmap-Remove-use-of-md_get_version.patch - 0075-mdmon-Stop-bothering-about-md_get_version.patch - 0076-mdopen-open_mddev-Use-md_get_array_info-to-determine.patch - 0077-mdassemble-Use-md_get_array_info-to-check-for-valid-.patch - 0078-Assemble-Assemble-Get-rid-of-last-use-of-md_get_vers.patch - 0079-util-Finally-kill-off-md_get_version.patch - 0080-mdadm-Fail-for-kernels-older-than-2.6.15.patch - 0081-Revert-mdadm-grow-reshape-would-be-stuck-from-raid1-.patch - 0082-Retire-mdassemble.patch - 0083-super1-Clean-up-various-style-abuses.patch - 0084-Detail-Remove-pre-2.6-code-for-printing-info-on-rebu.patch - 0085-Assemble-Remove-obsolete-test-for-kernels-older-than.patch - 0086-Detail-Fixup-ugly-if-foo-abuse.patch - 0087-Query-Handle-error-returned-by-fstat.patch - 0088-Query-Use-sysfs-to-obtain-data-if-possible.patch - 0089-sysfs-Parse-array_state-in-sysfs_read.patch - 0090-util-Introduce-md_array_active-helper.patch - 0091-maps-Use-keyvalue-for-null-terminator-to-indicate-un.patch - 0092-util-Get-rid-of-unused-enough_fd.patch - 0093-mdadm-retire-mdassemble-in-make-everything.patch - 0094-Query-Quiet-gcc-since-it-cannot-know-errno-0-in-this.patch - 0095-Makefile-Default-to-O2-optimization.patch - 0096-maps-Simplify-implementation-of-map_name.patch - 0097-Don-t-use-UnSet-with-consistency_policy.patch - 0098-Detail-determine-array-state-from-sysfs.patch - 0099-Detail-Respect-code-lines-are-80-character-wide.patch - 0100-Detail-Reinstate-support-for-not-having-sysfs.patch - 0101-Incremental-Use-md_array_active-where-applicable.patch - 0102-Incremental-Cleanup-some-if-statement-spaghetti.patch - 0103-Create-tell-udev-md-device-is-not-ready-when-first-c.patch - 0104-Incremental-Use-md_array_active-to-determine-state-o.patch - 0105-Manage-Manage_ro-Use-md_array_active.patch - 0106-IMSM-Initialize-my_vol_raid_dev_num-during-vol-creat.patch - 0107-Grow-Grow_continue_command-Avoid-aliasing-array-vari.patch - 0108-change-back-0644-permission-for-Grow.c.patch - 0109-util-md_array_valid-Introduce-md_array_valid-helper.patch - 0110-kernel-patch-Remove-obsolete-kernel-patches-against-.patch - 0111-mdassemble-Kill-off-the-last-remains.patch - 0112-mdadm-util-unify-fstat-checking-blkdev-into-function.patch - 0113-mdadm-util-unify-stat-checking-blkdev-into-function.patch - 0114-Fix-typo-in-new-udev-rule.patch - 0115-Incremental-return-is-not-a-function.patch - 0116-sysfs-sysfs_read-Count-active_disks-and-failed_disks.patch - 0117-container_members_max_degradation-Switch-to-using-sy.patch - 0118-IncrementalScan-Use-md_array_active-instead-of-md_ge.patch - 0119-Mention-endian-in-documentation-for-update-byte-orde.patch - 0120-Monitor-Use-md_array_active-instead-of-manually-fidd.patch - 0121-Monitor-Code-is-80-characters-per-line.patch - 0122-mdadm-md.4-set-page-length-as-1000-to-avoid-warnings.patch - 0123-Allow-more-spare-selection-criteria.patch - 0124-Add-sector-size-as-spare-selection-criterion.patch - 0125-Monitor-check_array-Centralize-exit-path.patch - 0126-Monitor-check_array-Reduce-duplicated-error-handling.patch - 0127-Monitor-check_array-Declate-mdinfo-instance-globally.patch - 0128-Monitor-check_array-Read-sysfs-entry-earlier.patch - 0129-Monitor-check_array-Obtain-RAID-level-from-syfs.patch - 0130-Monitor-check_array-Get-failed_disks-from-sysfs.patch - 0131-Monitor-check_array-Get-array_disks-from-sysfs.patch - 0132-Monitor-check_array-Get-nr_disks-active_disks-and-sp.patch - 0133-sysfs-sysfs_read-Count-working_disks.patch - 0134-Monitor-check_array-Use-working_disks-from-sysfs.patch - 0135-retire-the-APIs-that-driver-no-longer-supports.patch - 0136-Monitor-Not-much-point-declaring-mdlist-in-both-fork.patch - 0137-Monitor-mailfrom-is-initialized-correctly.patch - 0138-Monitor-Fixup-a-pile-of-whitespace-issues.patch - 0139-mdadm-Uninitialized-variable-rdev.patch - 0140-super-ddf-sysfs_read-takes-a-pointer-as-device-name-.patch - 0141-mdadm-Fixup-a-large-number-of-bad-formatting-of-logi.patch - 0142-mdadm-Fixup-more-broken-logical-operator-formatting.patch - 0143-mdadm-Fix-broken-formatting.patch - 0144-mdadm-Fixup-broken-formatting.patch - 0145-Detail-don-t-exit-if-ioctl-has-been-successful.patch - 0146-super1-fix-sb-max_dev-when-adding-a-new-disk-in-line.patch - 0147-md_u-Remove-unused-ioctl-declaration-of-START_ARRAY.patch - 0148-Get-failed-disk-count-from-array-state.patch - 0149-Monitor-don-t-assume-mdadm-parameter-is-a-block-devi.patch - 0150-super1-Always-round-data-offset-to-1M.patch - 0151-mdadm-r5cache-allow-adding-journal-to-array-without-.patch - 0152-udev-rules-introduce-rules-for-cluster-md-to-confirm.patch - 0153-Detail-correct-output-for-active-arrays.patch - 0154-imsm-rebuild-from-2-disk-RAID10.patch - 0155-Error-messages-should-end-with-a-newline-character.patch - 0156-Use-correct-syntax-for-passing-DEVLINKS-to-mdadm-fro.patch - 0157-super1-only-set-clustered-flag-when-bitmap-is-presen.patch - 0158-Don-t-use-exit-ERANGE.patch - 0159-Monitor-containers-don-t-have-the-same-sysfs-propert.patch - 0160-Monitor-Include-containers-in-spare-migration.patch - 0161-Detail-differentiate-between-container-and-inactive-.patch - 0162-mdadm-install-two-more-udev-rules-in-mdadm.spec.patch - 0163-mdadm-set-journal_clean-after-scanning-all-disks.patch - 0164-mdadm-bitmap-examine-bitmap-failed-when-bitmap-is-ex.patch - 0165-mdopen-call-modprobe-md_mod-if-it-might-be-needed.patch - 0166-lib-devid2kname-should-take-a-dev_t.patch - 0167-sysfs_init_dev-take-a-dev_t-argument.patch - 0168-Manage_subdevs-Use-a-dev_t.patch - 0169-util-Code-is-80-characters-wide.patch - 0170-Close-mdfd-before-returning-main-function.patch - 0171-Grow-stop-previous-reshape-process-first.patch - 0172-imsm-New-disk-controller-domains.patch - 0173-Monitor-Check-redundancy-for-arrays.patch - 0174-mdadm-grow-Component-size-must-be-larger-than-chunk-.patch - 0175-mdadm-manpage-disable-bitmap_resize-for-external-fil.patch - 0176-mdadm-fixes-some-trivial-typos-in-comments.patch - 0177-Don-t-abort-starting-the-array-if-kernel-does-not-su.patch - 0178-super1-Add-support-for-multiple-ppls.patch - 0179-imsm-Add-support-for-multiple-ppls.patch - 0180-imsm-validate-multiple-ppls-during-assemble.patch - 0181-Zeroout-whole-ppl-space-during-creation-force-assemb.patch - 0182-imsm-switch-to-multiple-ppls-automatically-during-as.patch - 0183-Grow-fix-switching-on-PPL-during-recovery.patch - 0184-imsm-don-t-skip-resync-when-an-invalid-ppl-header-is.patch - 0185-imsm-Write-empty-PPL-header-if-assembling-regular-cl.patch - 0186-imsm-always-do-ppl-recovery-when-starting-a-rebuildi.patch - 0187-imsm-use-correct-map-when-validating-ppl.patch - 0188-imsm-write-initial-ppl-on-a-disk-added-for-rebuild.patch - 0189-Grow-Use-all-80-characters.patch - 0190-imsm-Set-disk-slot-number.patch - 0191-mdmon-get-safe-mode-delay-file-descriptor-early.patch - 0192-mdadm-mdstat-fixup-a-number-of-broken-formatting.patch - 0193-mdadm-mdstat-correct-the-strncmp-number-4-as-6.patch - 0194-mdcheck-add-some-logging.patch - 0195-mdcheck-improve-cleanup.patch - 0197-mdadm-grow-adding-a-test-to-ensure-resize-was-requir.patch - 0198-mdadm-mdopen-create-new-function-create_named_array-.patch - 0199-systemd-add-I-to-description-of-mdadm-last-resort-se.patch - 0200-Incremental-Use-validate_geometry-instead-of-avail_s.patch - 0201-imsm-fix-reading-scsi-serial.patch - 0202-To-support-clustered-raid10.patch - 0203-imsm-More-precise-message-when-spanned-raid-is-creat.patch - 0204-sysfs-include-faulty-drive-in-disk-count.patch - 0205-Monitor-msg-Don-t-print-error-message-if-mdmon-doesn.patch - 0206-imsm-continue-resync-on-3-disk-RAID10.patch - 0207-managemon-Don-t-add-disk-to-the-array-after-it-has-s.patch - 0208-mdadm-grow-correct-the-s-size-1-to-make-max-work.patch - 0209-policy.c-Avoid-to-take-spare-without-defined-domain-.patch - 0210-mdadm-allow-clustered-raid10-to-be-created-with-defa.patch- Add missing patches which exist in SLE12-SP3 and should be in SLE15 too, - mdadm: improve the dlm locking mechanism for clustered raid (bsc#1049126) 0218-mdadm-improve-the-dlm-locking-mechanism-for-clustere.patch - Assemble: provide protection when clustered raid do assemble (bsc#1049126) 0219-Assemble-provide-protection-when-clustered-raid-do-a.patch - Assemble: cleanup the failure path (bsc#1049126) 0220-Assemble-cleanup-the-failure-path.patch - Assemble: remove the protection when clustered raid do assemble (bsc#1101348) 0221-Assemble-remove-the-protection-when-clustered-raid-d.patch - 1001-display-timeout-status.patch- mdadm.spec Change %doc to %license for COPYING file, which was warned during 'osc ci'.- imsm: change reserved space to 4MB (bsc#1101110) 0212-imsm-change-reserved-space-to-4MB.patch - imsm: add functions to get and set imsm dev size (bsc#1101110) 0213-imsm-add-functions-to-get-and-set-imsm-dev-size.patch - imsm: pass already existing map to imsm_num_data_members (bsc#1101110) 0214-imsm-pass-already-existing-map-to-imsm_num_data_memb.patch - imsm: do not use blocks_per_member in array size calculations (bsc#1101110) 0215-imsm-do-not-use-blocks_per_member-in-array-size-calc.patch - imsm: correct num_data_stripes in metadata map for migration (bsc#1101110) 0216-imsm-correct-num_data_stripes-in-metadata-map-for-mi.patch - mdadm/grow: correct size and chunk_size casting (bsc#1095177) 0217-mdadm-grow-correct-size-and-chunk_size-casting.patch- Assemble: prevent segfault with faulty "best" devices (bsc#1082766, bsc#1095729) 0211-Assemble-prevent-segfault-with-faulty-best-devices.patch- mdadm: allow clustered raid10 to be created with default layout (bsc#1083881) 0210-mdadm-allow-clustered-raid10-to-be-created-with-defa.patch- policy.c: Avoid to take spare without defined domain by imsm (bsc#1076588) 0209-policy.c-Avoid-to-take-spare-without-defined-domain-.patch- 0208-mdadm-grow-correct-the-s-size-1-to-make-max-work.patch (bsc#1074949)- 0207-managemon-Don-t-add-disk-to-the-array-after-it-has-s.patch (bsc#1073862)- Update mdadm for SLE15, for bug fixes and new feature enhancement - 1000-The-mdcheck-script-now-adds-messages-to-the-system.patch is removed because upstream has similar fix with almost identical funcationality. - The following patches are not deleted indeed, they are renamed and added into all other new-added patches with different perfix numbers, 0038-Create-Fixup-bad-placement-of-logical-in-multi-line-.patch 0039-Create-Fixup-various-whitespace-issues.patch 0040-mdadm.c-fix-compile-warning-mdfd-is-uninitialized.patch 0041-mdopen-use-parameters-new_array-to-create-arrays-whe.patch 0042-mdadm-manpage-update-manpage-for-readonly-parameter.patch 0043-mdadm-manpage-clustered-arrays-don-t-support-array-s.patch 0044-maps-Terminate-modes-map-correctly.patch 0045-Grow_continue_command-ensure-content-is-properly-ini.patch 0046-systemd-mdadm-last-resort-use-ConditionPathExists-in.patch 0047-Detail-ensure-export-names-are-acceptable-as-shell-v.patch 0048-Grow-set-component-size-prior-to-array-size.patch 0049-Grow-don-t-allow-to-enable-PPL-when-reshape-is-in-pr.patch 0050-Grow-don-t-allow-array-geometry-change-with-ppl-enab.patch 0051-IMSM-Correct-examine-output-for-4k-disks.patch 0052-imsm-allow-drives-in-a-container-regardless-of-secto.patch 0053-imsm-allocate-buffer-to-support-maximum-sector-size.patch 0054-imsm-don-t-allow-disks-with-different-sector-size-in.patch 0055-Allow-more-spare-selection-criteria.patch 0056-Add-sector-size-as-spare-selection-criterion.patch 0057-super1-fix-sb-max_dev-when-adding-a-new-disk-in-line.patch 0058-super1-only-set-clustered-flag-when-bitmap-is-presen.patch 0059-To-support-clustered-raid10.patch 0060-udev-rules-introduce-rules-for-cluster-md-to-confirm.patch - The following patche set includes the above renamed patches, they have bug fixes for bsc#1068030, bsc#1069165, bsc#1069167, and some other fixes and enhancement for raid5 ppl, imsm, and general mdadm code, 0038-mdadm-Create-declaring-an-existing-struct-within-sam.patch 0039-Create-Fixup-bad-placement-of-logical-in-multi-line-.patch 0040-Create-Fixup-various-whitespace-issues.patch 0041-mdadm.c-fix-compile-warning-mdfd-is-uninitialized.patch 0042-mdopen-use-parameters-new_array-to-create-arrays-whe.patch 0043-mdadm-manpage-update-manpage-for-readonly-parameter.patch 0044-mdadm-manpage-clustered-arrays-don-t-support-array-s.patch 0045-maps-Terminate-modes-map-correctly.patch 0046-Grow_continue_command-ensure-content-is-properly-ini.patch 0047-systemd-mdadm-last-resort-use-ConditionPathExists-in.patch 0048-Detail-ensure-export-names-are-acceptable-as-shell-v.patch 0049-Grow-set-component-size-prior-to-array-size.patch 0050-Grow-don-t-allow-to-enable-PPL-when-reshape-is-in-pr.patch 0051-Grow-don-t-allow-array-geometry-change-with-ppl-enab.patch 0052-IMSM-Correct-examine-output-for-4k-disks.patch 0053-imsm-allow-drives-in-a-container-regardless-of-secto.patch 0054-imsm-allocate-buffer-to-support-maximum-sector-size.patch 0055-imsm-don-t-allow-disks-with-different-sector-size-in.patch 0056-mdadm-mdmon-deleted-the-abort_reshape-never-invoked.patch 0057-util-Introduce-md_get_array_info.patch 0058-Incremental-Remove-redundant-call-for-GET_ARRAY_INFO.patch 0059-util-Introduce-md_get_disk_info.patch 0060-util-Introduce-md_set_array_info.patch 0061-md_u-Remove-some-unused-ioctl-declarations.patch 0062-mdadm-grow-reshape-would-be-stuck-from-raid1-to-raid.patch 0063-sysfs-Use-the-presence-of-sys-block-dev-md-as-indica.patch 0064-sysfs-Make-sysfs_init-return-an-error-code.patch 0065-util-must_be_container-Use-sysfs_read-GET_VERSION-to.patch 0066-util-set_array_info-Simplify-code-since-md_get_versi.patch 0067-Assemble-Assemble-Stop-checking-kernel-md-driver-ver.patch 0068-Build-Stop-bothering-about-supporting-md-driver-olde.patch 0069-Grow-Stop-bothering-about-md-driver-versions-older-t.patch 0070-Detail-Stop-bothering-about-md-drivers-older-than-0..patch 0071-Create-Remove-all-attemps-to-handle-md-driver-older-.patch 0072-Manage-Remove-all-references-to-md_get_version.patch 0073-Query-Remove-all-references-to-md_get_version.patch 0074-bitmap-Remove-use-of-md_get_version.patch 0075-mdmon-Stop-bothering-about-md_get_version.patch 0076-mdopen-open_mddev-Use-md_get_array_info-to-determine.patch 0077-mdassemble-Use-md_get_array_info-to-check-for-valid-.patch 0078-Assemble-Assemble-Get-rid-of-last-use-of-md_get_vers.patch 0079-util-Finally-kill-off-md_get_version.patch 0080-mdadm-Fail-for-kernels-older-than-2.6.15.patch 0081-Revert-mdadm-grow-reshape-would-be-stuck-from-raid1-.patch 0082-Retire-mdassemble.patch 0083-super1-Clean-up-various-style-abuses.patch 0084-Detail-Remove-pre-2.6-code-for-printing-info-on-rebu.patch 0085-Assemble-Remove-obsolete-test-for-kernels-older-than.patch 0086-Detail-Fixup-ugly-if-foo-abuse.patch 0087-Query-Handle-error-returned-by-fstat.patch 0088-Query-Use-sysfs-to-obtain-data-if-possible.patch 0089-sysfs-Parse-array_state-in-sysfs_read.patch 0090-util-Introduce-md_array_active-helper.patch 0091-maps-Use-keyvalue-for-null-terminator-to-indicate-un.patch 0092-util-Get-rid-of-unused-enough_fd.patch 0093-mdadm-retire-mdassemble-in-make-everything.patch 0094-Query-Quiet-gcc-since-it-cannot-know-errno-0-in-this.patch 0095-Makefile-Default-to-O2-optimization.patch 0096-maps-Simplify-implementation-of-map_name.patch 0097-Don-t-use-UnSet-with-consistency_policy.patch 0098-Detail-determine-array-state-from-sysfs.patch 0099-Detail-Respect-code-lines-are-80-character-wide.patch 0100-Detail-Reinstate-support-for-not-having-sysfs.patch 0101-Incremental-Use-md_array_active-where-applicable.patch 0102-Incremental-Cleanup-some-if-statement-spaghetti.patch 0103-Create-tell-udev-md-device-is-not-ready-when-first-c.patch 0104-Incremental-Use-md_array_active-to-determine-state-o.patch 0105-Manage-Manage_ro-Use-md_array_active.patch 0106-IMSM-Initialize-my_vol_raid_dev_num-during-vol-creat.patch 0107-Grow-Grow_continue_command-Avoid-aliasing-array-vari.patch 0108-change-back-0644-permission-for-Grow.c.patch 0109-util-md_array_valid-Introduce-md_array_valid-helper.patch 0110-kernel-patch-Remove-obsolete-kernel-patches-against-.patch 0111-mdassemble-Kill-off-the-last-remains.patch 0112-mdadm-util-unify-fstat-checking-blkdev-into-function.patch 0113-mdadm-util-unify-stat-checking-blkdev-into-function.patch 0114-Fix-typo-in-new-udev-rule.patch 0115-Incremental-return-is-not-a-function.patch 0116-sysfs-sysfs_read-Count-active_disks-and-failed_disks.patch 0117-container_members_max_degradation-Switch-to-using-sy.patch 0118-IncrementalScan-Use-md_array_active-instead-of-md_ge.patch 0119-Mention-endian-in-documentation-for-update-byte-orde.patch 0120-Monitor-Use-md_array_active-instead-of-manually-fidd.patch 0121-Monitor-Code-is-80-characters-per-line.patch 0122-mdadm-md.4-set-page-length-as-1000-to-avoid-warnings.patch 0123-Allow-more-spare-selection-criteria.patch 0124-Add-sector-size-as-spare-selection-criterion.patch 0125-Monitor-check_array-Centralize-exit-path.patch 0126-Monitor-check_array-Reduce-duplicated-error-handling.patch 0127-Monitor-check_array-Declate-mdinfo-instance-globally.patch 0128-Monitor-check_array-Read-sysfs-entry-earlier.patch 0129-Monitor-check_array-Obtain-RAID-level-from-syfs.patch 0130-Monitor-check_array-Get-failed_disks-from-sysfs.patch 0131-Monitor-check_array-Get-array_disks-from-sysfs.patch 0132-Monitor-check_array-Get-nr_disks-active_disks-and-sp.patch 0133-sysfs-sysfs_read-Count-working_disks.patch 0134-Monitor-check_array-Use-working_disks-from-sysfs.patch 0135-retire-the-APIs-that-driver-no-longer-supports.patch 0136-Monitor-Not-much-point-declaring-mdlist-in-both-fork.patch 0137-Monitor-mailfrom-is-initialized-correctly.patch 0138-Monitor-Fixup-a-pile-of-whitespace-issues.patch 0139-mdadm-Uninitialized-variable-rdev.patch 0140-super-ddf-sysfs_read-takes-a-pointer-as-device-name-.patch 0141-mdadm-Fixup-a-large-number-of-bad-formatting-of-logi.patch 0142-mdadm-Fixup-more-broken-logical-operator-formatting.patch 0143-mdadm-Fix-broken-formatting.patch 0144-mdadm-Fixup-broken-formatting.patch 0145-Detail-don-t-exit-if-ioctl-has-been-successful.patch 0146-super1-fix-sb-max_dev-when-adding-a-new-disk-in-line.patch 0147-md_u-Remove-unused-ioctl-declaration-of-START_ARRAY.patch 0148-Get-failed-disk-count-from-array-state.patch 0149-Monitor-don-t-assume-mdadm-parameter-is-a-block-devi.patch 0150-super1-Always-round-data-offset-to-1M.patch 0151-mdadm-r5cache-allow-adding-journal-to-array-without-.patch 0152-udev-rules-introduce-rules-for-cluster-md-to-confirm.patch 0153-Detail-correct-output-for-active-arrays.patch 0154-imsm-rebuild-from-2-disk-RAID10.patch (bsc#1069165) 0155-Error-messages-should-end-with-a-newline-character.patch 0156-Use-correct-syntax-for-passing-DEVLINKS-to-mdadm-fro.patch 0157-super1-only-set-clustered-flag-when-bitmap-is-presen.patch 0158-Don-t-use-exit-ERANGE.patch 0159-Monitor-containers-don-t-have-the-same-sysfs-propert.patch 0160-Monitor-Include-containers-in-spare-migration.patch 0161-Detail-differentiate-between-container-and-inactive-.patch 0162-mdadm-install-two-more-udev-rules-in-mdadm.spec.patch 0163-mdadm-set-journal_clean-after-scanning-all-disks.patch 0164-mdadm-bitmap-examine-bitmap-failed-when-bitmap-is-ex.patch 0165-mdopen-call-modprobe-md_mod-if-it-might-be-needed.patch 0166-lib-devid2kname-should-take-a-dev_t.patch 0167-sysfs_init_dev-take-a-dev_t-argument.patch 0168-Manage_subdevs-Use-a-dev_t.patch 0169-util-Code-is-80-characters-wide.patch 0170-Close-mdfd-before-returning-main-function.patch 0171-Grow-stop-previous-reshape-process-first.patch 0172-imsm-New-disk-controller-domains.patch 0173-Monitor-Check-redundancy-for-arrays.patch 0174-mdadm-grow-Component-size-must-be-larger-than-chunk-.patch 0175-mdadm-manpage-disable-bitmap_resize-for-external-fil.patch 0176-mdadm-fixes-some-trivial-typos-in-comments.patch (The following 12 patches are specifically for bsc#1068030) 0177-Don-t-abort-starting-the-array-if-kernel-does-not-su.patch 0178-super1-Add-support-for-multiple-ppls.patch 0179-imsm-Add-support-for-multiple-ppls.patch 0180-imsm-validate-multiple-ppls-during-assemble.patch 0181-Zeroout-whole-ppl-space-during-creation-force-assemb.patch 0182-imsm-switch-to-multiple-ppls-automatically-during-as.patch 0183-Grow-fix-switching-on-PPL-during-recovery.patch 0184-imsm-don-t-skip-resync-when-an-invalid-ppl-header-is.patch 0185-imsm-Write-empty-PPL-header-if-assembling-regular-cl.patch 0186-imsm-always-do-ppl-recovery-when-starting-a-rebuildi.patch 0187-imsm-use-correct-map-when-validating-ppl.patch 0188-imsm-write-initial-ppl-on-a-disk-added-for-rebuild.patch 0189-Grow-Use-all-80-characters.patch 0190-imsm-Set-disk-slot-number.patch (The following 1 patch is specifically for bsc#1069167) 0191-mdmon-get-safe-mode-delay-file-descriptor-early.patch 0192-mdadm-mdstat-fixup-a-number-of-broken-formatting.patch 0193-mdadm-mdstat-correct-the-strncmp-number-4-as-6.patch 0194-mdcheck-add-some-logging.patch 0195-mdcheck-improve-cleanup.patch 0196-Move-mdadm_env.sh-out-of-usr-lib-systemd.patch 0197-mdadm-grow-adding-a-test-to-ensure-resize-was-requir.patch 0198-mdadm-mdopen-create-new-function-create_named_array-.patch 0199-systemd-add-I-to-description-of-mdadm-last-resort-se.patch 0200-Incremental-Use-validate_geometry-instead-of-avail_s.patch 0201-imsm-fix-reading-scsi-serial.patch 0202-To-support-clustered-raid10.patch 0203-imsm-More-precise-message-when-spanned-raid-is-creat.patch 0204-sysfs-include-faulty-drive-in-disk-count.patch 0205-Monitor-msg-Don-t-print-error-message-if-mdmon-doesn.patch 0206-imsm-continue-resync-on-3-disk-RAID10.patch- Add udev rules for cluster-md to confirm device (fate#316335) 0060-udev-rules-introduce-rules-for-cluster-md-to-confirm.patch- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Add one mdadm patch to support clustered raid10 (fate#323171) 0059-To-support-clustered-raid10.patch- SLE15 continues to use mdadm-4.0, synchronize mdadm package from SLE12-SP3 to SLE15, re-order all patches. - Rename the following patches, they are deleted and re-add in next part of patches 0001-Generic-support-for-consistency-policy-and-PPL.patch 0002-Detail-show-consistency-policy.patch 0002-The-mdcheck-script-now-adds-messages-to-the-system.patch 0003-imsm-PPL-support.patch 0004-super1-PPL-support.patch 0005-Add-ppl-and-no-ppl-options-for-update.patch 0006-Grow-support-consistency-policy-change.patch 0007-udev-md-raid-assembly.rules-Skip-non-ready-devices.patch 0008-Retry-HOT_REMOVE_DISK-a-few-times.patch 0009-Introduce-sys_hot_remove_disk.patch 0010-Add-force-flag-to-hot_remove_disk.patch 0011-Detail-handle-non-existent-arrays-better.patch - Synchronize patches from mdadm of SLE12-SP3, the above renamed patches are re-add here, 0001-Makefile-Fix-date-to-be-output-in-ISO-format.patch 0002-imsm-fix-missing-error-message-during-migration.patch 0003-Fix-oddity-where-mdadm-did-not-recognise-a-relative-.patch 0004-mdadm-check-the-nodes-when-operate-clustered-array.patch 0005-examine-tidy-up-some-code.patch 0006-mdadm-add-man-page-for-symlinks.patch 0007-mdadm-add-checking-clustered-bitmap-in-assemble-mode.patch 0008-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch 0009-mdadm-Specify-enough-length-when-write-to-buffer.patch 0010-mdadm-it-doesn-t-make-sense-to-set-bitmap-twice.patch 0011-mdadm-Monitor-Fix-NULL-pointer-dereference-when-stat.patch 0012-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch 0013-mdadm-Forced-type-conversion-to-avoid-truncation.patch 0014-super1-ignore-failfast-flag-for-setting-device-role.patch 0015-mdadm-bitmap-fixed-typos-in-comments-of-bitmap.h.patch 0016-udev-md-raid-assembly.rules-Skip-non-ready-devices.patch 0017-Retry-HOT_REMOVE_DISK-a-few-times.patch 0018-mdadm-Build-check-the-level-parameter-when-build-new.patch 0019-Introduce-sys_hot_remove_disk.patch 0020-Add-force-flag-to-hot_remove_disk.patch 0021-Detail-handle-non-existent-arrays-better.patch 0022-Generic-support-for-consistency-policy-and-PPL.patch 0023-Detail-show-consistency-policy.patch 0024-imsm-PPL-support.patch 0025-super1-PPL-support.patch 0026-Add-ppl-and-no-ppl-options-for-update.patch 0027-Grow-support-consistency-policy-change.patch 0028-mdadm.h-struct-mdinfo-reorganize-ppl-elements-for-be.patch 0029-super1-replace-hard-coded-values-with-bit-definition.patch 0030-mdadm-Clean-up-some-ugly-multiple-actions-on-single-.patch 0031-mdadm-Fixup-a-number-of-whitespace-inconsistency-cas.patch 0032-util-Cosmetic-changes.patch 0033-Grow-Fixup-a-pile-of-cosmetic-issues.patch 0034-Grow-Remove-unnecessary-optimization.patch 0035-Grow-Do-not-shadow-an-existing-variable.patch 0036-imsm-use-rounded-size-for-metadata-initialization.patch 0037-mdadm.c-fix-compile-error-switch-condition-has-boole.patch 0038-Create-Fixup-bad-placement-of-logical-in-multi-line-.patch 0039-Create-Fixup-various-whitespace-issues.patch 0040-mdadm.c-fix-compile-warning-mdfd-is-uninitialized.patch 0041-mdopen-use-parameters-new_array-to-create-arrays-whe.patch 0042-mdadm-manpage-update-manpage-for-readonly-parameter.patch 0043-mdadm-manpage-clustered-arrays-don-t-support-array-s.patch 0044-maps-Terminate-modes-map-correctly.patch 0045-Grow_continue_command-ensure-content-is-properly-ini.patch 0046-systemd-mdadm-last-resort-use-ConditionPathExists-in.patch 0047-Detail-ensure-export-names-are-acceptable-as-shell-v.patch 0048-Grow-set-component-size-prior-to-array-size.patch 0049-Grow-don-t-allow-to-enable-PPL-when-reshape-is-in-pr.patch 0050-Grow-don-t-allow-array-geometry-change-with-ppl-enab.patch 0051-IMSM-Correct-examine-output-for-4k-disks.patch 0052-imsm-allow-drives-in-a-container-regardless-of-secto.patch 0053-imsm-allocate-buffer-to-support-maximum-sector-size.patch 0054-imsm-don-t-allow-disks-with-different-sector-size-in.patch 0055-Allow-more-spare-selection-criteria.patch 0056-Add-sector-size-as-spare-selection-criterion.patch 0057-super1-fix-sb-max_dev-when-adding-a-new-disk-in-line.patch 0058-super1-only-set-clustered-flag-when-bitmap-is-presen.patch 1000-The-mdcheck-script-now-adds-messages-to-the-system.patch- New upstream release 4.0 Multiple bugfixes and various enhancements including IMSM support for bad blocks and 4K block devices. (FATE#321941) - DELETE 0001-super1-Clear-memory-allocated-for-superblock-bitmap-.patch this was included upstream - 0001-Generic-support-for-consistency-policy-and-PPL.patch - 0002-Detail-show-consistency-policy.patch - 0003-imsm-PPL-support.patch - 0004-super1-PPL-support.patch - 0005-Add-ppl-and-no-ppl-options-for-update.patch - 0006-Grow-support-consistency-policy-change.patch Add support for Partial Parity Logs (FATE#321941) - 0007-udev-md-raid-assembly.rules-Skip-non-ready-devices.patch (bsc#956236) - 0008-Retry-HOT_REMOVE_DISK-a-few-times.patch (bsc#808647) - 0009-Introduce-sys_hot_remove_disk.patch (bsc#974154) - 0010-Add-force-flag-to-hot_remove_disk.patch (bsc#808647) - 0011-Detail-handle-non-existent-arrays-better.patch (bsc#966773)- Added 0002-The-mdcheck-script-now-adds-messages-to-the-system.patch The mdcheck bash script now writes messages to the syslog about progress with check.- Do not list XXX@.service files for anything but service_del_preun. They cannot be restarted by systemctl as they are just templates. They don't need to be restarted at reinstall anyway. (bsc#979749)- New upstream release mdadm-3.4 Adds support for clustered-raid1 and journalled raid5 - 0001-super1-Clear-memory-allocated-for-superblock-bitmap-.patch Important upstream bugfix relating to uninialised memory.- Add missing pre-requres for initrd macros (boo#958562)- Own %{_systemdshutdowndir} in case nothing else does. This ensures build success even if systemd-mini does not own it (happens in some versions of our package).- Do not BuildRequire systemd: it conflicts with systemd-mini, pulled in by systemd-mini-devel (due to BuildRequires: pkgconfig(systemd)). The reason systemd was added as a buildrequires was for 'something' to onw /usr/lib/systemd/system-shutdown/; systemd-mini does that also for us.- new upstream version 3.3.4. Important bugfix to honour IMSM ROM settings when RAID is disabled. (bsc#939748 bsc#937363)- new upstream version 3.3.3. Lots of bug fixes, particular "mdadm --assemble --force" would often not do the right thing for RAID5. - 0001-Grow-Do-not-try-to-restart-if-reshape-is-running.patch 0001-Grow-fix-removal-of-line-in-wrong-case.patch 0001-IMSM-Add-warning-message-when-assemble-spanned-conta.patch 0001-Makefile-install-mdadm-grow-continue-.service.patch mdcheck-careful.patch mdcheck-no-devices.fix All removed as now included upstream.- Make it build, that is build-require pkgconfig of udev and the package systemd as this one is the owner of the directory /usr/lib/systemd/system-shutdown- 0001-IMSM-Add-warning-message-when-assemble-spanned-conta.patch (bnc#882634) - 0001-Grow-Do-not-try-to-restart-if-reshape-is-running.patch (bnc#887773)- mdcheck-careful.patch Be careful about reading all output of "mdadm --detail --export" as shell commands - it isn't quoted. (bnc#910500)- mdcheck-no-devices.fix mdcheck mustn't report an error if not md devices exist (bnc#903051)/bin/sh/bin/sh/bin/sh/bin/shh04-ch1a 1727095088  !"#$%&'()*+,-./012345674.2-150500.6.6.24.2-150500.6.6.2 mdadmmdmonsystem-shutdownmdadm.shutdownmdadm-grow-continue@.servicemdadm-last-resort@.servicemdadm-last-resort@.timermdcheck_continue.servicemdcheck_continue.timermdcheck_start.servicemdcheck_start.timermdmon@.servicemdmonitor-oneshot.servicemdmonitor-oneshot.timermdmonitor.service01-md-raid-creating.rules63-md-raid-arrays.rules64-md-raid-assembly.rules69-md-clustered-confirm-device.ruleslibexecmdadmmdadm_env.shmdadmmdmonrcmdmonitormdadmChangeLogREADME.initramfsSoftware-RAID.HOWTO-1.htmlSoftware-RAID.HOWTO-10.htmlSoftware-RAID.HOWTO-11.htmlSoftware-RAID.HOWTO-12.htmlSoftware-RAID.HOWTO-13.htmlSoftware-RAID.HOWTO-2.htmlSoftware-RAID.HOWTO-3.htmlSoftware-RAID.HOWTO-4.htmlSoftware-RAID.HOWTO-5.htmlSoftware-RAID.HOWTO-6.htmlSoftware-RAID.HOWTO-7.htmlSoftware-RAID.HOWTO-8.htmlSoftware-RAID.HOWTO-9.htmlSoftware-RAID.HOWTO.htmlSoftware-RAID.HOWTO.txtTODOmdadm.conf-examplemkinitramfssysconfig.mdadmmdadmCOPYINGmd.4.gzmdadm.conf.5.gzmdadm.8.gzmdmon.8.gzmdadmmdcheck/sbin//usr/lib/systemd//usr/lib/systemd/system-shutdown//usr/lib/systemd/system//usr/lib/udev/rules.d//usr//usr/libexec//usr/libexec/mdadm//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/mdadm//usr/share/fillup-templates//usr/share/licenses//usr/share/licenses/mdadm//usr/share/man/man4//usr/share/man/man5//usr/share/man/man8//usr/share//usr/share/mdadm/-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:35776/SUSE_SLE-15-SP5_Update/1651c239f9b9bb92c90e8a5e9c942502-mdadm.SUSE_SLE-15-SP5_Updatedrpmxz5x86_64-suse-linux directoryPOSIX shell script, ASCII text executableASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8a04bce594f85946641832905c080c44fcb4e13a, 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]=d36994068b21174505a66bc4f9e51ad9ec44fb52, for GNU/Linux 3.2.0, strippedHTML document, ASCII textASCII text, with escape sequences, with overstrikingtroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)Bourne-Again shell script, ASCII text executable"RRRRRR RRRRR RRRRRRR RRRR RRRRR RRRRRRR R4r]jPL 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/shsmtp_daemonutf-84c6137a7a6418062f360ee7a98a6b084585b9123f050f9c804f53b37543e19ea?P7zXZ !t/4{]"k%]E)/]09;2]+yٱo[mq=23:[LSYipF?U[H[8{ti)WPRIyXG )TwB<}Yz$}nz/ebwz?@3].d %jqm"Q,!Kzv/?@< c1e0܃7\CA"/0 +LOkUJQs ő4-,\@"WGN6RVm"upxg8oOnoGiVN/LWbwy4S, naз@4pB+ޝqlfXh,Mq4T3I Ke?'ͦj&=A0${Yo35w}ϞkG.fNT,=@xt3%Z$kǞ $F1|<2U.NB'*w.JPuyuŽ$\BT#۱;-J=XEϹ}oHjvoI*NV|Тec6fxxQEY+qAiP]r= 8a3š"QQ[cz=zߊ(!+C`Ƴp}W`zmՒ̐)ux9d36Lf^dm*g^(89gRM*c(/z?eoQ4|$mTOYL.<"Ld|P>?ftEټZ!<c 8F//2g?, Rd}HΟY/lB*`m }hyH =)ٷ@jat8ɣk,4 a`]jS+:AY s| Vjn4J}&vr$Q̧ $} c,8OڏӫwֻԪl-!Utxw_7! oL$9iv HN*rgCGdRI 1O\H_=n}B@s?w#"G*) ɠ۷яx&]HΘ|1B$-ˎ;? 7nK&xww:|zəs t;&s:p,-N[NgrYr>M/f CӺ."ݰI^:wJ|˅l G~rdbf<6>6?_DcLʧg Ec(.Ӟ\龠 )XDD=[da̠K i*b~y9~P:faQZ>b_WX怓D'N=6N!vUg: b&+{kaV[y R.PP#Y-N+qJ3@AHzO\YFE &43z}[ >_T+ܓ&Ǖ@-n]b;x ׇ1֝z.z~M&ŰծFH u[x jm}soP"w#aZ3\b\m\>@bI%D(f|N`kZ>2:- Q|qqkmџKM jo'$S C|1E_na8_Kܡ QmN|DwQYmJ{*(ߤQQN uQ\RT|E 2"yVtA*>>DU)ij VBXT so,Wk@a*d/N?r5+U‚ܼͱǥ5Zơ*e & Raì"$óy>L,8-'j q)a{fk| n7y&l/YgS`N( G93g5@/?Kul>fqGl[<ɰک`5 p5BdM'V)+y\* H<ݞnrJ2H"Xc[x}v!`J&}26 AF[j44ĕ fS 7S`7W_($5v-&r`Ѣ?TN>v`L2[hxl_CH*J b^*ԣ ~ _q((Es#Rص@ҼEOtJ3WOpp)@M(eV\h|Ew$|~[W_A7x}fwӇP}gP u6fG;7N9[֦M.xGjȹҞ ;\P; r2g؜4pud/հx8.FpWa]Y9vt[{eզ9}BoN@vz/3@ O|H6mB4F#EVE/EKh!>MLkKFGN#_N'?.4AvރM--3dMZWȰpƨ߀TV{W2'S\*FaQ%SŇMDHWY  ev旃8)Q!~Eyidv-ͫ:ѡ#TdKJ14 HKEk֗?1"#}`D׻e8>{vTuOӡm`@as<)INaiNɅo]:ԣ-@WvM<2, }q F G3pYlnd8՘A>`,G K3,* yQD56+\;",F$ϪyFO GȮ]}$龼ȦC{p5j5,AM+te K1w;fS~Wxu%J #^u=\bNΰAvHt,)<(9"ں{/E abajN@VajVDJkviɈV$Ӭ/jGX;SCy -}NG9̻#*;vYV`G<{Kh-3Qz=)F=H[fVٴM $2Mh%475:g <O5&sfDX;"R|](]=8%/|dN#R?妡 "^@\B/ :[$ f%5{%%)+:}yInaҐ20GИq #[Q-DPfV sݕ!.O;B!e^\w>26Lx12= U^֍ל8ԭ4YLiQ+lpgͶ ? .>o9jHn e/Ì SA7Цg.'Vwtvm>Ƅ;pop%n<tRmƤEՏq5Pj\u A`NcoliFx݈4:/SyµCfaZ}ߦ4 TSp}AA5y ICpfk*TalaJB_s?:83y9tU ~Zwa0וd`01 Iy5.W)~gߙ:D 6[?i jàaO1]"kU$` kDwC7= :ZnZ`'z^jw}HmZw㦉\ԶP:>xp/{B wI{l\q\ϑǕ O"D4 =c3ҎK [4aUWNh"N;`'ʸs~-@00JV9N D@ ΆOIb 7)\sOyzrɪLz0ؠyPQyw(nWŰV?&FywOCkW`88 ^|WaYxZ1v&i ($mcŇ} DXBg8:+ sYi`;jN` JIe$^*UO3i\Ufȓ Wו F>w+Y Ng"yW Dk}Фg+Mv頢#n]\w֬W1~FV|ěcQi䭠,#3=':7 b6L='fvg0-EPv]a:,p~gDi$BZ$;[0\x@mhRg(R+IoZ|}{H_ ͩU7r@ԆZx_t`rg[Lb;7S娣bAAə )%S1NE7e_.iS#p3&MB5Q'pB.&r RU:+Pz#Xk<Zމ_+Ja~pM8/5$M_ԑu<%_,{P `/@r(_ۯCb$*{OILa:{[ؠOř0 %v+tUM\Ҽ;dƉ%*Y;^ V*ucx"N\iāsNFh pAѯ\ ?g(q|4/S _q?+Jqm D|\at]׊ ʇ/fq,ѺѣQxaE+͙- 1g|&mVt@\OJm!%v3)A1V)k廞%?mz&KE2EPTqg<5PI~Y()^S)()$P3FVQ2.%ȏa_/2竘 HoeZ]OC53{w4 JB >4§.}8fW\)MU?`my۝س1/'>91Ң " hN.(v?<>ZDw`R'5Hx{HOmֱqSٵ!!nd=؁T:Pxz2`Xˬ}$6}kr@dG 1ޑԿ#(8!* !7j%xbw Dzm$ҩ1AlƁ|hz_Fp Bw0W! 49I(ܓq cs? `.-4 ]1 R0yV#-tdb0Cb3Q35){i'mĨXRkb)eWnQ*2 odY}:aMl/>>y %zHwiaJ=M yuR+D ' T͸(\o) Xb`X9^%  }zWu4+ày_Xrw io .`SvEbimPHKŢ1VVN\{)L ZҹdFVذҷY%_NI^'dUf{^ghFu5*3TLBSdqnH 2`u:MO}Zф/oaN@@t ᑎd@ohVU=Ƶ^yPDz];)p.K8IIzHM8T2@'B Cֳa~h*~״a.ZD!nҰvӗ74Q:)W&0vRjz.y0;fhp Tf`ZkC ]dF :GPhe-`ԛel\C2bknl ¢suj?H"_Z2DE% G;͚Λp p\gă b<`A$<`tUONOyj5a1zIhSL(EQ|vfz>S= gf^B`RZGwgEڕAsFaֺQ^6=DF\7QdaJƯ9 ,OjۯM\_xf}V0fXUÂ9<wH9dfYR (\D?Fsp;p|jB"VI| ի:,]8:]ے—/i9 >;1]HQFKVX| &r` 0H7x'|KDZo_ݿB^mUYFG654C)A? /i'gg6ۑEdŜO&-PՌ4-P. ^tAU=-Hy8ϙ+2v1h8-O;+U+m  SK{+V`y. ύGN0 Ldr@хx,HgfAi)q jtUB#L4-1SPeRCy祯nMv>q8fnn/ldF3C(ݨ 9 K`'XQgWF^UqepneGu8T)*ۜF4R):3ŽSy.KA QnywB La ;O MmqgAjKkt^-sX"׸F% ۰95H(inRN|< jDa%ȅ vnEmQ5NZl`]#Of yZzggkX$MĈTyd!%gvۭ*.=/汹X53i ƕ>~a6v"v%_Pw O7rOa_y=1 (ĭFSHsd{:M4Wx2/Rn.C;FJ3b쀃0"`ICuPݯËڀ%aDŽE汳<Ὺu=Q.]8"r`/ߐ_fuPU¹2iiR>ǴӇl7̪ 2Ŷ"cc*o NUm>EpȨP= D0߬p%ooSe⻚~p$GDp{FK$r4|k(lC=Kjʤ{'~avm`nJ6J+.Y`;pB9ڝT!g}`r T˿9q xxܧ\&Z Jm a-[skBp 7x:l痕5Ke&pdEk+;.{$?Ʊ*_8S7 1w:mFڻŐ*L3τls o7EѮ|d/ak { @UICbhNhKg= C&O۹"ـ#,B8 x󺞼ّ|&cW<+OmРRkr?TWaF]bYwLRUMKлq2>{OoD9x+9Rm`>ʸG648*'a, <[4jٿZ҃zPlʯlyDWrl4V)kJY6yal. KP gh,c㲰Tz=fc! ;ͤ#q"lLgݨ`i/;WsCPA8x`7 ;[p< ۫>9%#BdکLu6խZ@NDv։8.BIef  qI*c'2%NQ"eYTZmxMўXa <-@tx2`'H yho 0[V zQـAQ%ys\'e"Y60u&zԌv@ ^J2:aI' Wӣn :S(DfK#VrK xyz=mJ=ލ7y8--Rfz3ٙ~/}ׯ]{ege6K}78Ϙ G}7UPaQ4&oD-#nT |]S JiZzNQF}f໕zkE pR0A@]D~U_RrRK FBi;9e=y ݛa[>ËgZAg$dk`in?siptDZ mW!-$t!oȔqDg7loxS];e0i0J_Whѩ8*Q]hMb r{x[I=Cs' Jma<]c6`@_}qM!617_KJ?m/ltѲN.3fkWj V|Crp\t@hv]za|' F!cG5MoDBjY`bw#Go@h\? E;IX޵u+v^L(4.,@û?U_[Ҳi Y^@6Vu+*XD> iqߋ̇a ~q&o>(=F-<G]$׀vN/K*JXiNmIFjl!ǭ "bNëeXlil>P̎*w2=Ɔ|.[ R5Gw=YaRMJYfZOW\|n@# #@5qHş4gj0(VH1WL6 YvIb3:c=BX9(tY3_P͍47LA 4]RRy+P B~/(WQp>Xjfw )d>zRqШ+4./7lf կ ȸ/FZai\2tGLV@i1l$SH(clcwrcE>!W#"S)rr ~EӮ0o/?u_bI/q|_un 2omaƒldżnfH#._OfAy[ "< aUAr X%Pʬ3NX̉`+8L^L(4Ss;5m\o:{z$DٻҢD-[wESF@bJ5/uk_0R*rf;oC4]. ۽"qufFfC). ;|c.8ݽh@R2n '>aMP?3VͽyjR)&e'˗~8h 쯝9}-EZV6 k}N:zcț*|XGߘWCXj*cY6ʪ:rŀsu,-g \]P=<ƪ9 ̂5Ա0bܩPBat#rhXwRP]|zȆ9S{ybEvŢ@&~[ 0jqW=sP5%0=o]7MDoΤ0=m&t'"M"AY0eoRF "ѬlgX~G8ʴm3̔UED4=+nS'ϧI -S5.x>LF=#P+ -/©ލE/k*hB|:^F.+މB IVGe{ePׁ=VjoX&nyS0D&yӰGF5OcE4]FOG[ά!edZ%pi2}%аDmuHv`4'{%w0ϼW>mifanKoݳ@\$E*W AC"kRVc)' Ss"'h J GՊΉl&0mPھ)I$J7LC=b[P{Vgު&A=u'G  7BY R#Saj9˜'*ܦ埜O .:rf`R45J-0D+a*q9'Q/WVTBXX 5=2Azx 4keޣ%ڲ]_ Nق1uKof(c0WA_{2XwUoج FuW0xF Pۥx3ʄXq}C~ m%:z[b̆IGOXt[>rIap11 dY-P1[ƘG[(V[5N酷][_>\V`#|"\]=f}W`9\n }Ow>ӡ9ՒR-|m'7ei"tHc#bhRkƁ+*[|ā?ش`v%%i - nB!j.v&f뭤x¡[:! _a!*#:vwAwG?+ty9NK&i2$5S w6)^oD h_!"Ѿޢ|g:Uoߖr!Am~[X!{s&ˣ#8Е;,H`7tj?sCХ^W.K*؊ޅsf[<+˰-6b'u~JxuŮ{Qv (Y:lbi#_#VE.Vv L&DOLq^M2; _{(EE29#c->٠B5 #Rac4ptvqDR]4luqT{/FɽBAi]U d΁_xXNU@G/$T~/:~=}y DxbrP aD&J_WC@$nvzZNy3lLyPbm'Ӽ! CSR?lsѧKy[X|`dܺNPUԐ9w\|-yoL;'=6qk2]pa巖c?. p?&ܮ$_a_%#WD9@AaLc~ %ܵ7")= 3"\.֦0?4zƄW{haHgߣ~a+4KLH }aEuo ҋD*zAiWDH{1E.FbW.. u(Xy؝/%c&"2'Ӹ2CWTq\ɝ݌t*fBGlJ4elR&A8~zJ^7hjϛT]SӞ [ SXnPT S,f1$1Az@X($, IKʀZ1VR0;\Gg2Vr:r~S7ەzs_H 4oj.'(F{|t&%JD6p5 @9o( _G4y 팏ɯi?rR3Nz쫐M,ٿ F]8eR.>@S#(f.4T 2iS(3-4^ VC5 9MwH1o|@{T q;odn qC R~ze&sn @΁ <?>F|=op^V?ro>XtXm@!@9xLN?R唰umpQKGbMS{jmQ]P?ȝ!e9UևMuXl="zv[c#&q2I;Xum-rW`|I;K|X_b-k`Ϯ) ݅Qz^-:{ҿg2 { W8/9̸zQ~U0+#3ŋ>< 'IAb޽]3dK0!8-8<|uķ_~{O)b7}PhK!V0jر4D>n'=bB:z~߆ b@#7dV&+MiGnu& iT xmRj[/1'ovj}/ (pt,Wνe>pǴz_?5k?BvZ ;wk~1L!4GE~ KiߝMCv,tAmHs{byOX s3Hnb@$Q5ȑB&Z[ax!F\,ƽD׫tĐR ^_WYplXJq:sn]\BxF՛ \4qza)_ʆœvm5aO3YmG:+[ f.%lLjUvemp66D0kJ(o⳯@Fhob`!frcB]{FGr'sKhkss1mEtgQxn顾loG N\9QZxO?xQzsɵ> ?YA(lq59m2\^ K&67i\ %l3k6\ԉE$pKl ,5f{a ;L/4jNءq؊5@=sw;4WdIނ_I_-k jaflNu0VˇqǤ6Ի_d)2:*i%M-+(R::KMY <,zKwQ緣VjaP}a0]0[(b0RELt>^b~#_ ۜHᘈn ^Q]OQ{R "{8dvvB 4F $t;S i)/p-WG ޹Z(#"rZZ(Vr s*6GA?хs2S_+dlwPGDMi1|.XXK!CQ/0\!/3$#Fz>mӽ~jxCgp}\&40D |@GYʊ#=b#SM ,yJj|o#`Ӣe\Gұp Iśoh;=kRUn":W wkT'K.jBUN2ɀ ]Zڡ, q 拁W 8`f^pSΕ:O @4i_ҖWف@OuZag85~'p)K7qw4 so_mYfbڌІ /sčk$-C*e|8! Vj=åY:7c"wk̚UQ,%v֣nw-d|Җ#i_0KvU%[Y/ vcdrz8ٱ[wq1=͘:: π=/0USљqRA_s4D R @+ǦuO -:6dHPƝeu!Hdrb'yO\%tLF2E%uzT*%J1M\$_t"1a ghh)1E)ic[5 mbJT#SvHE*?{d'P­;Ӆl"_y#=ߒQ fbmBw%⺠Bh\bԟ|Ge1 _jx~.7)_@:.}w&m]Oo)%]oŽrtFU0<=!%7VG?,HӁn 1X`U;YWUM(]$)xѥUߍgssܦ WLOpypnIBI^J,G*߱`f3)¬7> XNKB\*)D,S9 jbyAͽ6s<`:R /5{A}R͌;t:it.} g`1V񏷖7D)` ɡvgQ`VH=z/Kdp T؇0J4N~#22?B =D1Q74Yղ;drZ5e{vGV'r tn'ihCgk!2mB x+h?h NѨ&-@Tn qv~N(:Ʊv @Ǟ׿+D;ȴ)ևfiO/QM.i^8JV?5Mb¼aj憝BCga Q(l*}Qf}#{f36nS^opv˒,J+;sad>xQݨEq}mTwS,B*cTH{O(nvzTu_N61q4c;o>{]/=vhwb_ů ZP|Z3XF4A[-l副+H-P;5 uaC)sƐWE0'tr aMU~lWf_XML&'7}0|sw\v\rčd1Gn4__x\V]C^81ڶ904tPA#Վ$˵tWܡl#|kE׃-- R9ɟsAQr}% Fޗx*k&jciډW,Ka% ^Ne{CpUUA$T.oSsD,; kqGVzq5X~8`ҏ/ Ff)ZAjC6:3Y%$ H/A j*t:’&C/F\ 㵏pG̝z,Gnޕ14DD{=ʧ/=V Վ'Z5Ͻf'IXg T.sb [ rK'dq죢Pb}=J俇ehF<m쑲p6rU_LV\_ ri B^xKi(LF8Bb,~Rџd:BNP Z AyEԨA *'-~h+uQ)ɼ"&jܒoN;؝UJe KQt z֫@ Dk*'(o+x"Q`0reFœs5H]v?"?c 9h~6A΁SSt30=3CmξGOlҫynCW)X]t s*mIgr3;>9Y%$ۂn= 9- -J?l*j,{`zqU!Ӄ)O.sӗ^:٫-+}圚E4wpV:.~YMW$7$JՇZІrs}Oma\$~P;4c [OHc&ᗼ)JRL56)j5h~)d" S=$'n%VT$a3֗O<~M=ᑅP$+ZZ9DԮ܋ 00D~FxMeI+"ZrwvroBEwrD1#T#[l4]LRK:BėK;79XA1BWz®v,>D$;UC_C]mA pdTEL4IǍlP_J#> z /ۗ=ev)0뮜BemŸHHBȽ]t辻Ev#?  zۀ/"[I|.Q]xՙưfZ7k:ػ85MVkkd]x-+'?t,c=Babރa.k5h5di:\ Z;u)6 kTf0ci [S)ұѯ; 4Yl<2&GVDz ]@[ 2y?sƃ0x_ZRyŌ.Tt Z "g.ʪpzrVZ='FG xzkz:-Њ@kA_h Jq;VȾ.,vXSL^2>,[U' NDgVk#у\/ծctBJqVH+^?@\jdh0-isKyZ<~7s<#+%z!SW u'[>ܻ =5r}qSު/˲<:-'vx= cHƁscs~'L2R}nkpJɇD.7ęJ-huu纃Y$6ok첦Q>pKßӉ"ri%FGTئ "{T?rB cH.N#Wf(h1&-,T.I!Q/]V[j@оѾûey:p鐈<(|:=d\ 0jv1VY~d"0ed_>.t1لL&7s7yg鋶-KJkLbkؙځ`bKÖU4}sUDWqr"bY JvEq雼B˴^bۍ p~:do.!87S:VR qւj|h"tBqM)3,ϰl=کR4uЎgJ_q#;?p~^>8Gd}1o\q^GCA(tQWC`0%3mJ]D7I ɽ Ezpbϟ~!Ers`oi*lb穠 |\u!LzB {-|oސ[o $@88>^r`tՑmMҠ<C:V)Tmz˟F^pBd2f;;sN6FJ^pm++a? xhF+š>بBrNVD<Ղ}vk._+\h_9Ot;RBESZ|95:T^t+y @"ߓ}QUC$_5鈶*`𝎨7~\IdYA0 + `]/GӌCl:m`s &1 7䮠٣1Ջ {ư0ڕW֨JS[#Cw)Jwd5fA:Ω/zCryB#DCFTL`N"皉 z.+XCٯpc NdX:^U~佴4ts^9jxfvb:=yQ<^ v#,s~t$kM8T|6̌F|7:XQ9n4 ʟUT]#i_@|w,(R?)2ʈ0\/aC&`誵n*0Y,>ݜyݍ3lK &d@EccQ[yMc }6A.(^Z/w;­owj)N8#(QUh0V[.r=>o_ Ey .G$̘t+;Yv+*T? _xj=KS}eKOlw#hI*PռʴAD+,`)yRQEHIB??v+S%A ?; KWnYud-MRWIǟ8SՁ| g -ăBد y#Lq_Ob2k+i ˠ]V]aG ůcCP*bFˏZ&0R*RD˂Gw[u5? y R-Olv2.Y!$l=(١.t c dOH BW‚tݗ% `P*K@3+]26Z{#D]/" y:~mȍ):ÒZ3z,\rJ8 |J̴O-X[ߒS bvN5;cOB:{{T30 2;u#`Tv>7"wP\S7UzoCnlߡt h n#3ny*LJR&ٴq>(k?dF>4T+m 3{z ,?@_T+1A պ hz&G٧W,M]/r:҈.cU$.Ozr ^wȱ|%ᕪ,magБ::K`W0P!pDz=XP̊Л\(?:2m=ҳvN  dc!ok[7fM`dAO+ԫ>#G_+w'T$hñVdf&£#IY}=25rc$,v PZJ*5MZdiP^:B{(v)F n*1k̮7=z?8~XL`ܥ5)MealI[8y0Md v~ј8{paIРMpɐZ]\Ч逺6uQEn =Dx<9}Ƭ$Uޠ7G=֣xbߴ$4͝ծe:n |,q2UOrbj0=O|pg\ ;):2>q.Q_tebZo 7``^l,έc8JOޛ7s{)UvTb+ybo~A_i76 NJ#9uW2xKqD aGm;tR Z\F ܌Vй60=`5Б l{272Ddu,v]ZZ:>X6&(9Ge)}&2TOruǎJnWbO2bf|Rڐ]ȱ->ޙ*ݨ\&f*9nFXG39 /o,k{lFaw7״kR L1^9і= v*ͩlhЫaŽ6*Ju؞B=.CɊʢ.FL-;NL5ȳBO暑(SlJE5]푿=@Z\Zwvdv 2ttAH@͖L80Բ8bUV33*7)s,gz։Y{)y6Z6>u|e;NFx_sl#E=竎%ad+T,8[QvZ@FM uViH5=>\a /|d7x~,R"MՎr6d7:>__kL*Ź.ScK\4`UB i(HkT5/'#uxB@lU8nud{pz-+- ryw)L/n,"cR,Q5J(N!Ʈ2ԕɶCsp#5E'&J"ǔ4tb|qjr zo6!r^g.n#?BaTQ~H!-Ni_ivlGմK>d2"  )NZ1ì@k$WD򪅛ppm2YS5 l t4#%N.@;אX;'p4uߐ+l_C@;gm}b&B.`A~Lc݈$ĹQ,>p *5gB}ݕpJ>RP*ze%W8d6w4]#Uݭ\/oHstB܆(W{gCb>Q̦ZPv]ۜ@$TL)1  4J穇;Il@}Sdѿ0D*f Հ DH@9#oʓvPpaD,r%(8IKke)Y]q-ʗ]!G +Kfd17ݚ&GRR:4K|Q.){wt$آ\l @BYowT%vɦƟb%p⩜ǶWcTb>#ε?TkWWAPBCm;6"Pf*9X(TIya'h`=a|6l*g,\dBr1 \7n!ǠƂ$hWkT$= .m.n-mSϲ~02Z37&}B3/).<ڰ,Z[p.PI Tc!\0 ,SK3*%|zR% [,T"&SH mY&Tųn!톺o)v!צ!uu?{Q/ko-#6 O"^%MmxcpyrVAᎂw#v';܇< 1֤ 7ہ#voTzҸV7uT4rMgG2nңz ojsxߜx5.SX|R oa{u m@];5T2[CΚ&YYQ,?Zm:r!BVL1PG".Ty9!@ uNtcԁ (ܟ" I\&Y 1$Ы ǒW]K~#3/k^3NCrNO!Ҽ nD[QD`< DM!֌MMjH~ro@㦘Y˝o=Svˋ"Hjbe"b" Y@G14 `F|^@˩!)gѹ0с}e :Fgc޷^75cɎڀ/7p/;:Lyuio9}sT~-VS[w~RكX(4lt%ٺ $;w90-:R7_+ &[hxGQgL nm<BC&%_f}ݙ9.q5w^b*w0i"+yW( ,k8T_% ]":(LyGSbEHO+Ju-٪sufב73]&oˠO]G[Kk}:AS G<E'bAHƶUBG-.$ W܁hz9&(tɄ> fLTqnԧkKnʎk·62"\Ĥ`¼q >B1R& >o)O}$FBX%-o\m~k58tqr CL=-f,<ݙN4bR Si6&.UTTaZrDS6Ӑ&tpc~b"a윒/8CXNҀQčůuRz^B=;j (z24TfQxG&;`)ۀ- z2@E$$y"LZn[n>?qtеݪRt!_Wpc_QAa'9y⑈kγ{rҗf.Yj4m:Zֈ%DI!ݘ^~\ܵs7@%ecqey^K1nP6>*Nү"oH傩K1Hj 5 y(Tl3q2ɕξt[-O~BCH$ i?y3b?Sj%vj[ڤ)yq3:7MrU otLNIA9*<+X*[?ع `2ƈ(Y-a@b!ʶDRc Y5l |ѽ0 ɚtby#\eZV{a@ 7"š+[́: ʯ aE^Jc|i w f:V/L_;Jӳ0r-VEEyY =%UdMkպl n#u#U⚅r"/Xڨ} ~ NoM6wj_ͩ3A;*l ?RvzƳ:[cvtd9xv{)s86zGO@#eMvFKao ÷|A9-00 e$'LvtX}54}QB;9X@ L=|TE:Bmk=χ? t˴bwGxPfQ_5f<#$]Ge[zZ+h7'2S2e Sq\oF'60Q#cʩl<.3OO`Ȯ 1h䤠JNҞŹʦyyخGBKd9lM70|\LC"}.w|}L ReaC<۲F44˺{H`_5x- Z>;YWOa`߫(lzP@Q-aa'S["r8?c+*L -KeW0/`{Tܕ?4˱Q4^!xgzʼnQF h&NQ|_c\dc'ƛ -CRoAqWrZ-7d@-7R3SӃ +W?f&G 0⺗S14ufvo4x2t}Ta SW $ISخ%if3򌜮.Gî{لS`6MЍP}2Y' \~Vy`D&\C6ڥwki1rF"^ZzW{qMy픛 ']5.,; r8Y bn(Gr=wp) r~ W5'~IΘOa8'ΦϷўqf5гv[0# Ɉ?F[IASKJ3v%E?OOdSCdˆD<{HU Q#OMBWA!)sa^s \mdB h TŘ"Np,ݴxj}#~)d$JL1̾Xdr×@?ó|VXwKe8(`/wx⫦uT#G=ROB_:+c[7Y&qq;pOA:Z7刢([51D0qxxz_PP4W|`jwD E"~ lQ ]iaE6xnI?S1ԭא(5PZBO(]2_K$΋FTW5F3%Q~#m}g . 2#bt^P)9Q^HЊV m&|S~]ʎG((ہǙZ*TWV!XܯDI)J"S, yMCnRp^z3)N\|ىRqIQ_s?Jߌ }g6%߬ruN~q*i]9\K`Gs"0W)9'z'&#q}PQdc#-*)>A"G+)˿/")",9hR͹%vrVkꮗQ{%u߾x3;[0pDPcknhIxJ[UFFGϪO:Z浡S ݊4rYR e]8xw{p 1SHsJΝ4AO4-Eɗ;O82{r1'IU<<_dNS,`"ET,/)v|M fčMF[KWHt ;JRлc~ohHD<ڵ3ƕO MgEKהΘ͇0C@ncqN>hTն~f p9LSV.E@Yu8#sSdbW{/PUfU 9^QzI[a^.SFy!{{KՏ)a7NQߨϫiIr{ȩ(Ym5wu'Wk_CZxfZP4T'iz[>E")F#5c K= k%g: b0*M u)u~?/j@וz5cw\qv"  R7R 'L7cwcQJK>tp̳$ 5<<|?>ر@Y |_zE+}6E ψav-˝z4>*g_ɪ LTfhz-MS.Ms\OTwdRqSlP«U_&DEPV)$^Jik7 XX1Pb&(;\'KS?ΏW9 G!*)*OO4*PΈKn7DެbG[f1ƥ ?3 X$6ےKC͎QDp<%zc_bZ0'zGڄiG+yJ.;';%~:@}'@\XVkzb>p%| R'#`l$fgKE~ЕQuWceNxۗ jehL¡{*ydeBƿ:x]HN5ћ47xI9\'590as`WεR{Biф TKݯ ciB|Y6I$f&_#z:XDCRj4ƨ*>0~:XO+񂶛k{z-DFjPW٭WFajPD4!_Ŵ~C]ˏscֳ!d 2K VVu,z>3vS+ B7"ᧄ8hMk-t_Q5)ph+E=ji@"TXj<}/&6i#eO>%*=y,\ȤPw$o[[sdt3ą9#zo0!*4z"exZTDϞ] uaSUX!q<Θ:ƺ?ڸr _Y M2ӀQ:dbϝ;uQ$=-Ȳ3CuG *x~S3aѻ?GZfFC+A}@fVϓ$6v/v6(9/8{!gvِփm3bK@7 =2/dwB}0 {C$OCևzM&ޜYȧ۠=9dG}Ǟ% (­i\%?z/iELEW%9hn@WhuuōpΏ;x~'xbSs8 Mg'62d >lƥyێ{Qva![Σfs ձ'̉Sl*E~{T$Gpa\aDNn:4s ) Qt6`@-ќQuuQt]=;%:3A{x+hp6o'sd((/OƳp#fo{ 2ES-a:FSI%LP]OI[>d W}O9G`͉w/wFiYnf 4+'A9D/oYb-(X ~7D pV1hjF7}񞤪ZI1\j}3c>d=؋GB8\FqmZ=YlQMjhJSÈ962w$|﴿cElEÍ.6*vW-zdb= P)xNOlM*6',?@ _:o˸;.g[&Flli\ x=ݧYirI`lEeat`17Op}=NTp, Lvy+e*:UIO!* GV0/ɫX''^,26+c;%!}[0d?~+QOhM \(DҖ](.dz)ԦJD2rޅRPN~/gŘ2*(6C,|^\XZ_ԛ m(ҶԻ'ud,e3cbD3¥B69ұǙgӒt*+_$YM 3me%bпcZQ/9P/ ٷ䖽XGq) "M {y&soFF(v,=ЁzGؒӚlz6G >Tp DBK ͯ ]崫ogJԁWhhA TN?[᭕4пĒ;^(* wN! >նR0H$YB{ /BWISQR; qN1\@1_iXR\8mFj4ȴHOg[DTLeg錺`E.Xr E,bZ]EcyO?L(]@ eacJd )'Fǣ5Oƥ˞fu;w]&/rX\\+A$DH`@S*(K#* =c:wC i\ksCP63lCwi[(|3:$8Mtlt(`?<<纷?&F~e~NT=7nk޷8ϡh}Ƃ[眾sl` _/|h>K6}R#o}e|i<$LsrTX&05!ͩ$V21e&|DHMÙnx"+>9)YSt_# (B 2tn RzCvyj 4fv[?qjlrYx3RWar1;L Jq4/X 2fWhʘg{!_Zuq ]Ֆs/b$? 7xd/_o,-&4!őF=GKF;iQNA˛ RXԐJVS,m 'YB~<*(%Jo`6Ͷ[B`o7sE&Fb;ML2 bGx$[ˌ1GR n3^Z#bnCqPUY&+iң7Ӹ%"[~. 6m ?.>1 kBඅm|Ts8X2<o;䑻J`S Q1y6[䘀L $ox$\Y wI" 988+ SRa7)slE"fL``nĞT&$yދWx,\"+3qGreE Z*=K>upm(D +=b4wU D̊zW:s@m%+=,{n^@RVrҤח[lbįX)?"bFѠ47(G7" ܗHZ")F?13W̜>Ckse {^.dژQ}E.֦(KqN)^_ij a;O[̒z =!Rh!E==^[{HԷ,aܬlgHЄ,͠S84 2VζR[VsiR`77]r>ՙM3Ő ]ԤVߜ LB(b;rІI`宾9S<\h eGK"p ^vU#"BrY\Di<=V&iT <վzD IOrF70,X*.xBp(~%aM/BtQ/XWxfÁ oګwa AIATbXL1cn_"ȶC)~]f5W:_#=nt.va*H ;[&#WP/$zF "V#sgEAHbvLD>{UQ6|v֞j}̳;qK$=+xtu Uq+d }FPd\F,EʅRg='19 %*PSl1yLQYVi#aOqȇ9~g_%5C,1 ؑ~Fcv})+mw];P2jtB KvEj*)W=A|>ԉ;}nQ WGD>ۚN"R>6C- xqż;kz7?hoEks&˕3}NijAlW@27Wyo$I/e\P*"Zn8{8D ʰgxDfn6{3M, :x#qheazϛَ8whLBg]_]#uIz[h(P j!HJJ5%e9\n6dБ鰨^nr5(-Cqĩei`5FZ8,.ݝ/lm&m@#zOrz2?lMBCܡk3Y[:x0o;fiBo+o1ĀQ@) O?ΔVb3:b@sݠsC. 鱉Qbjq Ld+Sߞc~-E;WTݸ%*E.kXȂL ՐOdI{kC_LU|am;!oa1_6 6j&aH~>Fz`c D$EEύ@!wSsKB Jk*kQy;w?c֋:si.-I5HL Aj'sHLX|m(cip2ȥOè$$gUz8._S$DNcP>Ҥ{8WڐdH66S& ܛS6DFGZ3JP3Otb k[[wI⏰r9@m%P <v>6}~;KЇ&p$e"m4+(]HkBLF_wiTP)#w{hbE0v* m J @ 2rqw޹>Ԭ[E !X?ba6T05!]Hň4c{ bf|ZK6.}sa~$_fGA-(T1$iNϛ,@S#8tE/n7FN y\9s' f @AA7`]Ƒ?qԓM_wug@IMdeNwA`3ӈG2(-s{+&bQ`]zY#̷z*{3ƘhZG[8|!*d@V+6ĝ!vyAU*ӅP#*^Z䇬viN{{AOT|D (s>ξ1<y Gu̴E)qZjyH'GLBacc1\Ue<SH8$i6R(Fnu+dOٟ/%۵W_3}#()?LZ(q/Ģe\j8U'H9=}qr zr9M$-Vz/<n==uu7*O_M23Zwk{eEc.y匡prjo )5$' N5@UovG@#"q9bTG0կ-oݏtj݆L0uu'6FH݀:x׉Nr?CV@c/Zի8D,)Y+emұÇ9#f6kyrV%Tkw2t 9E pQ,/çGbOK8a|7EHm܀OE|d؄D(ʌwxH+ΩmHs[_AӰ!f:*q,羆qБVi(KQۀoܴSYխ ( ޺^oFP)qR\Lt?W!5XHaLpʊ^(uItDzfDA=p@l(,57{O~+Q$֦cIf~fApC/}B*~K]W$F8ǟHJ6ZQA@5~/IPGYc-nX<3WUǿSJzPmgbrTuOݴrL.PXb qS@x8 G''&P߯*֮:F`m:jt<.K5Т,p~/6]!)@N34bL bi9r<`uxakQY}1! uT%N%="n7'.I'˖GdT}v 4S ']\b}* O?~PG:1QW,1bdH!݇3Q0YPE2a{VIߕu4prF◈d\ȍFHepqcw;yˣ%,s6+[cNF""F=ZoLHW>bcp­XQ]x`'x܆s~U%vUrD{9IHL~2ka̫MY *XL 75,rW}1ެEN% J4OoZ㌛usB)~1IɧڮrHŵ 8\)=;0wvD~cQt_UAۜ2eFV&-*g%܎%Rs7?c\q< m; W e*Z?wmL,$Wi4eLt%ǁA<6" L!s-įktVeō鷸b@hؼ~,^b/x L^즻'jYFT-hQaߗ6[AYЧW@vcsŒwm8ic¾5OݎGg*!ʿ NpX$#LD.3#( kwN=ixjj7oޫY?(ҥD7mPΖXo؞Vҽ1x%U,- ˪|Kz{oS.W9'n\^] :߶*fZUAD5I^woRPXb+XJp3$qDxik( n/ hBlP^ ԗ,=K9)hTQ*C}'o3al̄VVA/>lrW+VDGEw a=T,padZ4#qU5o?{wo(;l@)kJ6uʐ[" 84о_:xbsV* S#' yJ4ByK3e淌VFTSŝNi`tͷg%咽C Be9nH1lңXh[[R6y;W?rtb;tZ.&v,\_'ש7PwP"_AM :]{d t- 0-5s.\̶VUhhttmi:SQ uTj^斴z솭-LՓq;2ABLhRֶg%4m]| N0X2M%JY!G>dFG0O낇GV:(޶ _s"=+iL5]`l%C#UϑЂr۠o Չ&vvK=qcGuz1l7*_v%+⛧6l l^nNMGA1l90; UHm:Ev kMq F4qx=B\xW7ؑ.]l}=n"wƑ%{lf!YV召TWiKi]NkʛUQ?6cc"" %N>",:2c",,6Df\ocJSɀe N܁)x5r~4i dR_[fmmCI\זRee"r3{ #`#M:~Zv>1ю;{s6c0ZuOO .)wv:ؘ Zg#m*Oi:܉b qwF'z4+LMc_=v:XS^o|K˘0:6PGbk;vFsOqӨZb(.^D/ 1B#']gJ NeQ][^Ol*F^ "xgaDE|/17[4&PJ=6d`*p{'mgrTPaeH&}Mb s4 חbuy(~>#Qh p7Lc~h7ڸLpPwtbt43j~6F5S )B&@r !c` +k^)y3IK/J1=>]瀧!jۖK/uq`AUhNۉ6Q׫!6e0;!ޡ5& 3Yf7T^aV4E6>n燢$V ?= tx1vЬjfߤڃ{@J+@n, k˛JFA=}J\TAon R^;PjDoוd.ܛ6KY-j%PE jCm-NoPCohK #y"ex1]ϽpiPo5iLFf/0J\t-b7; յ{ݛu4[ս)S8E*i~35$S2ޞ(-.6ndsh` ("'0Ϝ,&h qX7f KbBH")MWpM3wfJ"/qA1z~id<F={mCd[H*η]!_",dxYrJep- VPy 1Uz]Nle(e\m3D]ʉo.20 @_6o@vc[Z.f>,cP"9=^pC!x؎*^oRR ыj(rNh̝\5M0!t\B!zW(L4x+UJhC/{k]B OUn,? 6ſZDGciiUw &51]BN]v!f\pMݍ }Pʵ{18+VY luCs34gҁi ,:{?"?˩9@i:A i5uY/bu3iaPÍs T\-v17{C9r7˥x?41/[XU#Z[t^B 2 S4ߏΎV$N>Bo!a:6sgy_*!sZ`y:c'GT@j \/%Y{F &W\v)|㱬U{^gU=&3`x=U F%C}P\6rC IQPkfg=yϛ*drp^#eOszce6I{IKPihT2 _ T#o-*r"A%  Uة/_at>NՀmV4Z%%k81goVu%ug;v^ 'RRl(z)_ҫt}VFFRU. =P^ 7x K7:; D zUG mҨA_ e-Wj4L5F.Xեa>JȈ5E6|I~MD`.) jL^v 8ʳ*m¼rԱ0X:8|8A8g$eٽ|5 a9UI\hVSU%,yY>pCܨM +##Y'X?"^sؘI&ԴVMZC-Ö.}?!+=#f,?~gc jq ~AH4-.oIia9d\PT~h/7,ӠD47P 84]n|͘\e=A 2w;-Nrt6mB@e XRΦ/Mvv%od_-Ѫ])~6p[5ͪGĉ)GʊDԗCAAuݤ2F!FyUohE4(4Lq~׼[B Ȅ~:3S ~~My w +2h*=$w 3+BiQebƧ ەwi iqf 2#l/*0c()>:7 Yt.)HVn !yIR\:%b *<xQvBb86\j~$2"V.:,fT.uM9]x`|eAg_WvYGGv?TM*y>b7,I$hEj] 3^lIn9Uj7oϴW' 8Pz^y;4oz \ܝBLR7/\ xI2JbBq p@;i#of~+Qkc:q|_JW* 9vlA=A"`HI| C} zr8T#vsz<;j.-Yћ)9w*NCdJY{x0|V|{)|T6Px{8sYb]訌uFi`~N:]/"=R 4(hi 6d&Zr \*q.7!0Sf6#67#drr\Qr^ r-:1mXĞ%cL@)Dy)Fd |[EefPDNV\>lnq+ęk3޽9 4x#jD 7ĖIOfP~Pd ߘC:;=D j]rP]+{;EzvM1q~ AM}7 +9ejW?]9P7c3?ڢbnj 3.F8l!ӒxtvC\&ФҳCA7b3 'i&h X08@ۢ[ͶNmpaN a0L_y_IO1kLP*QZiJ)odǠLLh\Jr+ݹdD%"׎lvkKVf3F|ћ߇.;w|hӬM.\pm?(tIH,넶؈[p(8Hwõ?/U9h'-?+T`1"N "+G eVVƞ:sηؿNв}O8{V[f :8UBLrE4 uޝ2)gCCJݲp*nS|ݖb||DÖQc3xU z+2˘2Ye#'ҧ;tAvfߴ2xh1lE^XS)LDk]ٲi g l(5>R<CWomi't[MecYǸ1)Qsƕ8H#n@AOD4сќVDCA_aD9_?0U0<%>Ieؗ~'5YqSQ;ٻ#m;F"iE;b!6K٭{LdG2:0o[7Ρ*1{(.V[@~%䥳u5*Џxj])>c:nǾEI$>KlwQL2twiPb~@SC;&s.$SNGSK~CPʈ'w8MXӵ823t_ҒELc̘d~0AA@^Ƕ`CW|.Avk73q2bDˡ G73bH2&KHX*"5CzR2j:r)J^ax눟x9C>x&5 4#󎉮Mr$5pCBRb7dTi)fL/X7$DOe*N:\Qdn``l>Y+3f&.qo0WS,`@go `_7 >-OW U&*_.K /X^Q=[T(W]vڵI;>LF~;/yO^LNWzL"ӂ9װ|Ms)~ Fr&izށq{7,}i>sYpc{ٱhAv8E U<:ydXq-*jzrNb[%"Kt/ Y4 +sF 6jxVSb9Z]BH^zu_U[Ղd({6ܧȧ|*!}c;zf m0uAG Yp\Ka[Kv%eowTW>G2 Wb:P8$<G)ZPk6yY`V(4tTbYɹ1%a"R$t8|D`x[nwZ%W(Wm]{k+֊f'~ 6`q$SW{P9eڒ!7+]유5jLa؈.ݫL ت.w7S[u*cNP;f+E NÑ6ZPs<#fWw2l[@G\S1z+) ny5h9Τph/ϩF[+vvô-2ڌuG'BY P.E fYYTh#hNpz‰Az #\qNF:!#w"ԫu/$`s)Şv _0ƒ/CkN ѯ%%J]>%~']3-)lL/Pg\}z A˃ )q!-mkp4(uBqCB٘PKAcriLUκvR VbmΝ)Ƹ6.YNd7Rs=1m*&Pݮ"%Tu9)6i38#*P_,fիC~Z\}z~cח^ XFB){`l $]x/ukM?9t[_ ҝIdEO-_E M,s]!x8Ry$djQizv$ UX6ң/AsHΙݳiy'+p yPF6APp@d-Ol)$W֥,5iR(ԌӒ]Æ"O~,1FqFIK#˕ 7SIޗ;3<8i !QySm"l9ui5Z.'S`/swxB_ֻx#/cc7žyWǯゑ^cRǿ;>gUko";i`Lb dBv JqbڏVcsQwp8X"bI^큼8ې/m;nAMfSҸF,<%ΨY;\B\(9M|+V眘cv@{j{|耾)0vCν>9 slY65@jRv*'L}},{'hܲ-ގ`Ȟ<#m~Nj6CMYT<1O;桒>~qzpҹa7^ܠ~=Sр.Qd`:aIy l!pU}GTUfϚW;d$&q~MiJ0uRD B'f!3aҗ>aMg\bL#&&2, 45I@돏0Zz;9GJktx?0c={{)3wԲT+J~W~!.^Yqh\Q> 3RXykJ2{=oEW ֒dY[3K +gf ?~{iA%bߺc6dA3du84IX.ݧi9nq}%#1hEh795tA7mK"T/Gb B@+"^GKM3;>[0XrA Ha.>$r<:=Hwٔ Dxk3VKK,Vۮv_+"4)Q>T*f!xS<ҔEnC e2jD4Pee:]vD}NNn*dh+վq_\GK-%-tLF؇^w(2\2b%/w~`dc'TlJdKXуJ"w2)߀8|?u[ r WdeD:hv#K%ٚ +i߳ΦNrE`ʑ.An ¾w@yЊ Iq-C:xpTgLaVq kJ/(]N't$NQSWXW)MwO~ jDj݂T4A[Z`3Dg\=ǐQ& 2@h WB)R1&*ݹ&7 wίdS/ΤڟxkWeOnv[E92\p55/TbInΓGőo`v#˨W(U4T)Z|vA|qOL4:b2;H:{|2LuOi~:ATiJA,i$]P~wH|gy<#s; -^DJ9܄tFے*`4E2#Ԯn,O7غvWɊk.bAp3E>fpqk7C.-Hc+.M[&y23C @,c 0/$iz]Z0Mbk+;eƣ![r0Xx޻9[}6o@eTQ $yâ  XlniLO@1gx_6Y :wb,H%4[׺U)z9M\.ۆ`gOB]MtgC#TD;dZZ"jמ@0f~g1׌a :UMgѠp`J0 Nbu ?k(sfxVl9#֣ОHs6dXK𹯊+~[vW^(0[yZǚ!J\y-D]yŖral(FJL9LdDΘ g(aIk@< 50E wʩhFY.ޅ*v^5$Ekk. Yy³)"Ӛ@֧%P)Ew-PUIIz0Q b:FvN^"TS TȽe@T"pW_VlK&Є?F MR^Vf$,xA36#w;]V* 4-9AXDM ϳ m1 2Lk sJ$3W&Q~.cu탵..ZX\J(TDÃtGZ;۽$5dIbjy7׵%A/(k(;oD;t'ެ?LXY mVU" LH)n_pfv&=R*@p02#-go.r<hZpeQ8 :xR0*܈J'e&&c43[Ϙ܄tCf9P\ة;hDD ] (*,ڠh2LH(Q V(^ 4l2SeCWLXLB3lSDVw' #Mea%^'y$'l%~CH%SQM+N/?Krșkֳ c h9W{>V@H[ã& dXݤ> 5@G{Y%?KpˠD S5t`!Ur-ÔnM@T {ZӐ=u?l7Gq 1`|tXSO3@X@b_7Ij}3.ҘTF3j9)r8  Sx~4;En2FG5{_0W]JX13A*v>/,)g93SWX wvԓ_@ug1*?w9Y@i?~^¡eHYV :}CqJP gw5e,hN~;WAqpj<%Ѭ,S_ĥyu(7搯8ڄ$LE,MsN?~-;+P;ܺ0TIzzK-_o':ijQ<O'P`Y_z\$| ~ޥ8 (g-L)2wFb珟\6kL ?"072OvDIEaKR TJ!ވڄFVItES1t K 9FjeLD7!;-[/ٷN2`Eh۔絥wjE](S42YӶ*-%+<zDJbm#Jb$f|R #y@ى}18 B/~ saJ"/N M#h8gW,٠'vǛv=5*QiЅh}˽@2p#.v|E^ RS!z!V^+u I"]O3RϡPl{ʅ"g>M^\P9krۉl:W@b$m|*nC%r؝!dծU#y&1(Wl&mQ+I;F#ߠi9{l^V|i˛ZCL5~".1G*%ҬE0M?w;+>Oa$F$?.(MʾL6"\r@ͭyYNy8p7(qJ+|AK:y]l hTŶZkbO~C?x9oċWV7'?ȋ.b{ebe8ſRQaXx5c諸8 Ԯ68Rݷvcq r'#K8ARj1dyFׁgVM.n3 BO^ KCsKQ  'ou@4YՔ|Lkr}O3`%Ǫl,u5;2{L*!GM0|1l5b\{]g|hdf}zlLcMezs$J@Yv1N#,%4=fLJGH16Ye;g8]3i⧚+-a5uPe0) y"7܌weeH<)y)Nwf  رM K7B k?ѥV$_Ʈ/Y7b)M6rH\:'q^ӓb.+Sj,-rD]s j,I`[ {TA!EIXO5l׭xk ֡/ ;[ qNw5gyЇ#D#.«(\}QӌX˫&d3".&Q fHOE+K!Y Fx_n|u!fL/>3,}1|U5ޙ+6a̠".),'єuu6oJ;0 ,LbK7XCSXT17#)`87؎6F3RkȝRaS0 3ɛ%}욷 4Y$F#ӽJ 䤹5kV3L<;نC(G 'B\"MB"+4)*ooq!(PJҙ%V\_ӿgV|)=܎9ϸ\#3C67 HTQ!V 7vB["HJ>qwq(^\ % E/($zT(޼}]؅Q ;95LmYP6C #HZ1VBU{d?|{N/IxךJKu &DJ}B֥G5dmY|E[(+֜T_hPSh/i|$h' NU><]LCj厕G .i3ʔANҕDکɜR51*TJ+ -J h%ւtEy,LOi"!zS'[b}ÄCoX;ТE >`wbEZXb?=!4Ii `1\7ɢ/33:*i9Ԇ[ |$8hsuE!Ee&f2ǕRĆkNIxDH+h6i$m({ZSȿvΧ(N$ŦLQ;~/mt4B3>¢‏ }@Os.+*:Ȩ*{^sVN}WACzG';6+S;Hk_M]dqldaN,X+RbҰ0zx[)/o[@[n45H4N\< V 4| m|OϢ[n#{XjM!Oכ)n:[ەZ_G1$_#aժ<4hqokuc YE:*\{C*ӮmA(W޳Qg ΪB!mF`kkgzoWz[F5W7U:Q9gc뮕Ks:K(͛qq%_)eUR֮li 8Y7,yv.Νsb\4i2bܪl=^?E="Ý!y]֕ fڙ4$ʯ ǭEq0U3 '!T^&Ѯ$2Vx{4i|R;دA3tA~TQS,Bu㞣PύVЏUU[q:)w[g nv9=-0G V ϶eCF 4$lhM+s úPƑs sf\7H7i o:TǪ3 nAҶAs<#ޔ7\7Egr<.e0}}1?KVٖ{έm66 b.$#6}Lo:s9..pꓦ>wG,Fe<+9NH "*i4|^^#wQ7h^'HIkUbm@PM~h%a<ųz; 5Soa54HH۾fLVRP[c!)ցz.Ć{OYg1.ZJ ^Udkh] %i\%,Sqe`k2@DcJ.n"]0 & wێ֘;ڲ9!+lYdJasAÍtA#MXȯR]?=^@$*(Jofg34Pg˲zљ&5D,KyٗX@ {F_,(^k 3Z3=61/%F3 Ɵh 栐k9ʉ5q[4V0c| /=s0Ca8%W ƭ1kmَ𷚪3kOTEZϘ=I#w?iV*2G|4L6px˅5 VAZ싗$(I;MӕИ8ϱr8ը籛s1V7E źøu{ꌥԷubI=͖Y7**cc ǮOmȳ{ָ^(teEjR\ꖛĭ`#WFbWE׌d-+O"`zlmX {L]?VE}@~\OHnAR~B>;:t 9't_TnD JӝVp$mjA'ߊLe퓺9 ]KuwW ;" .;ٕK|bڧ<>2"ksAT1F~,0+BKVJ0cs]X5$T=/3?`[>SٌڣϭEcw)Fe)tM}O_20qr Bfg =r54͕j릩C|T{LK>{3FkFf>D鉔1_Ʌӳ2mtK /k%) ixqsĮ* [}ߜ`'V(W,7Y5![4 .{o[.s*P% d:*|OD 'U_K <2V{]>WAX)ՠ q@B& A. SÀ7n~@ZelD4S#]( dY\C8 t:6KB=`|39zմVK rXu tXHtiB {"O6YF_bHa-D>ʩap}fVoaeP}-1ȆI"3tV[գI\"- {7m ^E|Ij=IDrZ=%?5 Bx׊!@ ӷO,.'D:V\up_uzQށfs\Pd2TyyD|c}Z﨎V0֮1UMO:}t~( lk&OO@,YXi!9^e@gwv6_,'ڔjRc ~iC=ˤ;ڀ#T;%5oY)i"xC(7yKܖ/.f}! Xg2YKF8Y/#/NxrxB~,un%Z3s,K՝D4.mp%HIT[`슺 3R<_ ]_/"HK[*M_x;-ZGۃ* .nqp)gnj5)>sp=D][w82|݈YDO1H$F7"ʮ)x =SXWMxW¨|2>*r()Ӷ{Y všXG{M?Vԑ>:C$! n%aW3SO7BxH6 " ,SҳEcNh_{܏vbDUGQWH Zc5*"o"XKƤ__+x(eCYMMWayOo45\!opC1CS(G; ae.SQR|TマXH {|[C@BSvd|Zi[&'4QS~ӵ7[P-z]1[j PgCVID/Xއˉ-=۱Fs(zr1q7&{F+Eh;#*9c|W3қ99 -s$`nD<ܩskf -;>eyruKbzPƇIzrj))* kxtk2(ؔe[8WM1BZLEԍˀC~wA5cWHӦhk)>?V"OSԶLjb!L}bn(wF+^M&R3/W "&>lvuupd6c*SĈ,!˷̸"~E. a҃{z/q6 cG2>ƹٹB?gv%Xn2ZQ~*`ɩE`~nnoKVmt-caog ! ⰻs3j YxFT:ٯ mU3a`|,bӄ;Ⱦ6*९A]flo$="ՓԄ-[PɃ8(u.Sn3 #*]{4Й խ_Lzrf*%I1~*f;7^Pͭ3GiK勂rK WZ̔*Q]tT/[j)ʲSAI՟-Zsb.!V5X%:H;sYUuv.fP ˨#JdmI+\K"]\l8[,;HRN8n'| F{Y@k27z/\u༚C "Yg>kÞY_6~)v?ϦqAV*?]vR/w9:N[N& ~"32ZDpqQ?'wy6hK?,uy-0̉ ( 1[+} UhN(o0o pCJPeN Ⱦ\rXBԥy㟣Tj5ԗ;I@ݜKv(C˜ڊJam)s ^g*Zrnij?OHNCke%J| 6!{Iܩfg%*b-.dcN~ z!LkQa?)E 1Ʉ{K:eJ:@j5Z K)7@*>rO1_fCin7%Z;-X܇)*=CS^xH_j6i '^n1)t=O+ki^:\ ­a~ 0ʔ,=̉[8?"k=AuFb}J]~1 )! 5cVV/[_un$Q'`vaKNn{h*=JX@$ø )M90`+} j&Ѱ* ʷTvwm=!wJZV|̬גB¿d߆9E`2J|9FAZu=< Vy(6B(KosW"Z*w/]lExĜRl 6zu˾sSiPE*2$ܘe9zAy*v1>I7vOܻZ7tY$"rI]HdSOnmԈJ\9[E1>{K,y<Evuc\]ƷLN"wN]FA(Q`ڃ QKPj&@W{ә+|F/ތB{AIc5+Nvx9fh_(EcT_!ןqpz„%.Xڧ9.R oiU\NM%F=WڪA8m+$UYۣbU-QszJN[ DW3 kx,x08Ŷunڐp캜@I39,5TU6v~o#Drc6Nʣ{~H9W,cqՅN.FҀE 4'$z$$j$UVg5_3֜kUğܨiA㏙ pB$0hu6Vℐ>mWϜK v-8E_w[<1& 8T\:\iv?K7]۫G‘xxRŷ"r_> Ev+$M1p:N?94MMt]b=a7nCX6ܽB`ϊp@i4WHKUl1RUPo'w#猅ቖ3s"L?UoA(1 uyDCtf!qmy]/AHڈcv [T)221FWuu,X$)S .VB5-_Hx<0B)Vw#,%oS(yc\RTk¬8O䀑H؟Ϩ)g%:Eڥ):@P.Y!@Zvx4HW)L}4#Zĸ2=׷$``-m.> (XbF0C~M gIӫ_?Nkqa=x>lQ*JL>ڗP)hVAorAf9ib&2 #gqx k3\ M62te5%5y]]ÊA:E=DQe2T+ !P 6ueoGweN?v=q#²xs15o%h}|QTX=IC~92sI.߂ 3rƸesJbMd6&Js{< cdzO$,-}q3#o4 aǗBXĞ51( |h1K M:*D Oq5Mn|Ciw3GTb/4lNU]^i'j*l+OsiQn>6;eUgdXXNvbg P[ȶؾIŴ<sfgG AzʡgXR#^28F} 773itx)h+HP.ӆ,m\/_(v͘}uhI<ۈZ΀7#F.4 >3*5KtJ-)=Ӭ#?nɁb|kͰ+oh鿣@tLQcn RRkT:ʖ9'0 ~GhXߤx˞G9U$kH4p )>Fr %iV|݄W )>{9K2f`*XL~ r$,sYZsϭxKġ]4%?vԢ.H;^E0u):~AIi=fP ڄ _9 Rpè7Ƅ߮24-<pzL{-:olɀrZ+%A(J *Pc[~ʍ0y!. 68RjD"cckgZk!?&sPb|f6Kgպa?, QnL))FpbUN7P:sbfW32'{')m9p ?@\rLɩg6Qihרf&声Bt.S?_x*_bj$v No0*l{϶~rhV- twRVE'wr$q,I;ڹ1U$>A-@ ?ΐ>taD&.O<+ \ q.74GevM$[@-p8ws:>=Jh<eիBcZ7]kG#Zs\&V7T*dKO䌱 /|~ꕲk0:/ [54t%Ys8(?6 Z]n@7%)%XmI逨h/Tm9Ä{zLq3}q0TLJ/V7i](_)SEXq=SnCv@ YF\hW#j!n&* ZM +D15Ƴ;O Gi韩-Ʌ[\3L94 YY\Γ@N -J)KK|Bx80>'{K8oGc*i0as'dʜBY[SP4V⺆.&[> Iy* 91σA_-`)>뇣pp4V 2r`A[`#Al̓l!aEߟfoqikȻ|JVT0G}w + 1Vl}Zjԁ.|Ƈ|݁0ѝsGcI\ t30UY}[r\ձ|nu_qKp)TaD! X~.JPNJ`xQr|bu^icp[d5#z,䱆qoʋM^mp[߿\fWVG=IKӤſqQስ1VαKֹR} ']e0z%5sUb72Ex c½,$x8ȟAf|˛Dhk Nу(.[&C{%uU3 ZTB#վ}Ȼ ;QGAcYXvx$먷d O 1qQ5>޸ 5(Q@.׎k`%eЅW;3|Kw͏i(c6J4!J&]+202!h%g~6M2ETp쭪g7]Mswk2ɋG4UncʅB%'B׃vN6M;S/n‹ 1ş:ŀ8h83LtAAukHXFzS[=wȈJ!"&y?XH;;^#VCM|w-jBѷ6@ܣ4 H;jĺs UjFt„RfS)t d$ U?"\Ӵ;wy@HPq}L /Gk3o|_ie6 bM%>R姶{4<*Ef5oI\佑e)Gz0Z~p"/F$T[lU5Y,'%{8Ci i}آ{_Gtt̼Bӆ;oŀG&j-}į I\4?s^eZvod[nAܾk$43sZ;)SF 7H-}}@ylV\e^0!6X."4 Dy o6 EoUilX M +g^sUy6 >~V-4 .~f7bUPKr"}5POYMɾ6}QT`_' ifXb!`2!ɍ aMD;"@+oNuoU\S 4W?΍$%E!9iOS_=p!G .A!M`䩚Q >~za!ghI[7>gL/"3:)aI81K6u"@T:R qbmLЊ@%s3-@fS8xs)A6->.-ZȒy XWyDT`5|_g.F}m|֛,Gww" Y[Cr[}{< {g f8 pXxa\>\):6:̅|x>D}>NA@f*Pf\ +$0q$Dg_ [ HZ`J;Fy1o)'y9bb"AA@ %X[_"뒐}z'~:r\n\Å&P:5{@vk5aMAϫs8"˾fRQU `R7h_ING5 f.WI{&>%g!2j q&!ig~3JI8D=dzHè`n_Uw0 O汨eU˗C\ f}+=Mz-3o}stu}f4;LUYA'hD/_# ϚrAn$b|Zu +1WVp$}^UZ_tm սlӍ/T v!Su@DZN@/q|X;6$ot*&8[}oce}U[L`pK}J }~ޖ\>g¼B[&̯ZڠF1҅T b'i|!ì[ҕ_0 ۩3uLt^HZ/V4(8z0}+Q ;`5ū1NoTof&;mlC49NSRP4_A h񚸎FCyHBEȴ1PB4Uu!Rgf7kl`SDpEׄv,cO\DQq#[WQwlmk}5E]*3 $Yy gY3^/w檢7'2HŽ7NS '738r͜ݾ$Ē{ocG5Q%^$* ڃWjL9~!ʳXY9(ˎ%u#=L4A  sۅ;'s1Ԧ"r*&jfMÇi7O\|/LHzزƙɍGmYX.o=r3`5Թٖ/ְ~V!PǜQ+rZDJ.P6N>0}W l Å?&EEGEチ~weگ-| _ֈk͉`=AHg<<X[Ϝ|fw1\l]*!Q.|Gk 8z Rl(ŃW ѐ&Y.a|%eCub|f#S1i?\[a,Æ=_lY/Iu;^w,0N79&'Jf,q=pѲXL޶eA~粙%x G K!~{6eڪ[odbX7Ԃ %''p\-k*{nC($`KZ⯦}i?\Ė2GT6GԦO"Kr|JY/fHP6o+)RXx;M7TJdW^= !YQoYL{fL5JoN{<}ʄ#<4H+ 60gt L3;D27 6H3Qfs82w6wV죌·b6(VfsjDl>II|Kе*3?ptse"FN nVQ*[SI ҧ~)##39݊y2k\Tsgrf՗74!?p;6O`U20ey$aLTY-\W Pg [,xp:x({g1'6ʏh)t UX$G/t[YIˊjI@5W^rh7כ;rAs2㍜M轝u1QH-^pt0d m,3}|QK OZs0axOuSST[DoFW'γy e{9Ab?GOpk,.9MR1!8 8@%3]*ZWw7'H8ы}gWZ3E@#}!lsp#^q~EEPQc~cvvsl|&*|Kl5YolYMmiexGpK}}6AP?[v_46Ƒv/U G:n:>*t}l>ۏG3]ɾNުM/w%u\ARcC%Jg*e{N FOl56 ,ܑmq<^# f>8oKbWWka!P\ jEt8SJtG6FIYZFMcn|Z\'dRyԺ ȊZ林a"}8  &~x-ڋX۾s+HMx>rN.i\cnBFkW%s`Pǹ(^a153P#;ſu{c‡{roאtґ?nĿ bL4+Bo0͔EmGޯox֤BgzC/Xl"Ӕ-g`+̍S1R̖"1ժ^B 譥>|ېx}J-d;="b_O[uJ]Fz:Amϴ!*•s{Fvb<twd~y(fblY9I].ʦ v>|(BVK X&7dVe{ݜfϏ511˷pzkťOl h[)+^ KK$ʚ=Y0y=ք|i MtE ܯp+C hxWIx.F į)93s[XLj; @,0tŋwX|liشoiU8J\s"͒ꄮz[̓+g@F;6ӠF mԯd-kRدeiNic̛`"m)gD4B/{iQ9~[x]z}mp}*͟#3CLRCuQ|^#.iWB9,WZ@7N GK-L#Ҕ$A9a-9rJ#;\UU u/ܔq Ӌdsv>YoR[E u߷`t_N;_,R([OP.r*V}I8@^ di݁+p{ `;15: UtmwdQ.@SuƾE-ԑćW\6fku;o @/Q~8P!<U#ǃǿF]UyK` g@<̹LRB35HVyvg۰aS9}2O |5j-fyo͒JNWezI.0rp^oa;7h" mOWQi(g`L$Z~2ݼ#Vsn <*()T˝׀AO֟C22L9(SᔝۄhJ9Q 3ߏ7@ꠋ9GοGԫˆ D&9Ăk¸; 3 ovKJ ,=զy?=+=g>JZ L՗W9T>- P/c39'"- 2scP4BIv&rwn?9wyl|&`hC9!4H"5/T~l#oM6jS{\畐HW}+1@tF|첬!N`̬ Wcxaj6 T1P8KH-0~հB }%EM9q X)fJ6+m *LF"512m(cefD)i:QēNO_ߴD@Iz 6$kl`bxiuSweC!x He']Ī$ΖiLW _g`}})dx=9Fg/մ[D;;򬋓<^>1/cim"*s<֋lS:{: v t9QWu.? D bp@=?y!wwM_UA~ycEyBX̩`U'% 26zP6,,H7oo/ӵĵݪY̿2oZ!HH\NX57 nLw]:zC(\&Ӫ^9UF Tƭ^Wz"i!,oqmZs =+y5]N%S^', O=/k=(R*vnu7Lzg7(']Ϩ-mgOvv iTڗQZd7'3f;<].zq)rp۔׬s@r7D4+(GC9ņ'y"jI8> mfa젲N!>EVA=[i L{>+1Yy(}IquHGl;cz2ˉ&r뎈Izm4QAc>u"Xc0Z~8 n(MWC4PVfdT<O6Qo))00B<* Y)j&y* ^js?9&,yL3AM8ͱY7zf vF Vfj?[#'DhQSF&WS&ٱ@Cjh TF@<kjH<[3ñV{˟YqNطȲ|>M̖ dU-w>$srf J>W(,'t. >,MɃWs@W^66^P{>O_y?@zrD7J"n31 |g׭886K[_+LQui뮤KVq[ @GP),6SD_/&6& 7|(FؐVD*hN蓈aY([R' ^ۥOEJA?+u zwiL\4̽/08:=f8Z?Uݘ;|R+nfEcUK{- &XH QX}z39_ v'a dY+ΰcahj1;tG Y|WK7/04(H.R2Y Go+8ޤ&-cʍ}Yi88b % Ю !zO@S8j/]'<VT9 WX3Ԉ=(kFiޥO3P>GasEZa5Yk{Vn ^0ŵQ 8x*F6ۭ {jQpt˒Lu$)ٶ?Pt1s[0gHL& Ϝ!HIƲ4//=.o~cSΚvLD9N|ܥUSX7- >$uL˶L~I˟MH6.'GiExǘĎA$/;"*W,by)k9mFnU "&hYa9wQoY8㹳[ (1I`E cx|g(]T5?,oٜm:3F9{]Z%S4KP䘍24kkVڶ lLg^v@Zf6`hv=Ǽkn^6f ̭ {C6Cb !7ײ!<AycCח5wzPDoN^ߒQB^7` M^ ,LR@mtDA!QƐfӢ [cff .nS%'F(!2zrp#|tfkJwMLin9DƖ}yVUU_qr _Џx#CŶ5`rduŻeY~2xVW 820'e{To-7r5 NSEWwL$3_zL0^3f-Ѿ-\p6 u:{<@*v1``d{mH7f58 7kT%=bNhcŨ5`e*#8> 8u+VvOPګNWNqv憙; á16ЩϓZE"Hվz`-g eKm]:0ϥ59[25s&} RX$hx6ң1Rأ :Q #P̳ow",͒w* 0}WOtH~aO :$Ҟ~ +NN[| 8 -bndn+v 9K׸s/@.كeQr|wLd Z°T&HGW[-JAe@cRvs8\emf)gu.1-h(,"ZEEZAG!i+AHqMAR:KA;VmTTJK%%y>q63O@Ñ\t#iG.#HQ}dm)Ă8 }AL5L]R!̱2"`-1ĉ 0~>Xf.|w݄S$,j!ؿz̼F{i(XLے$OYPUٶW5(QMy&r\}i.+33D [_YXDOGĠ?:MW8=]co2-.0X fMt54"SL.ofGK]ߕE2Tͱ`m!˩f* \hEv(zHqTZCJ*E sqf}q 8nA(p:FDM@ȴ˨gUS6<,j5*OCu4~}~`:/Ot$ Fz#fWzKL+,n(#!WT4]Y͈pڬ-g;9Q 9  ϶9nZsЋmn)$^%戶sKnי_>pcޒER[NAm͎1hCt4,CKЇGȧ̕SqAUXPIϢgc!bo&t)핰l(oOyލ/ExiaZ|H/}%sAA 9Ԙ@f^i)}Oasz;zw76hIjm/xf }V;K,F 7ȍl՗[M)͝dP>mN@?ʰyĭ_Y051qKKYm`sGH/QN"sLZBdR6!P}ۃkD_GHgC7S6F- #/ې^b*Z 6-~!![H ^b$i/OV;c2tѩzHҤ>f msetQ3`o_gM7Y̔r5FϣX 6ul"1N_}x-qpj3&5pbqwQ'γtHBgGMW :L o\~|':JǷdV$ ο&cNQn٪'݅Sv7fk8X7= 3Lk=OA<#2U7ټc+.⻯$ N7p?~ěqRm:j̷V nS[( mBHuyN^wĬt]fN2DxJ3E,+/%Q==ø!% fʢ _8N.9%= rY;SGMcpl?Zb  Z M;2JfZvå=Eg2 ~<ѿr𚮡FKnQ~n Z q VD3Xr X8$Ě]C@Y@:/W|p b4s ^4i0+MK>_T#x L*t`^Nc4$dcȇ8*)fyN-+Uo4fI܋+П16u %PϜ~+DޓIէ_7qk?"۞FChYf>ȩy%cNmsX K:,: fr; Iw1Okooԏ 7N?'B_)6dHO]V>>.ϦjG9 KwWtiM^<,wHH4PZb?)>9d3(]J :ܹr`(&`QD 1f\E4;ի6+E[N} _ /+'Zb*$ tbIW.vC'z8miWgVXehx; ^M ShbO">"q^] tvUT6uF!p\;2vܐ/+ jSI tZ 3&9%T8 E+G5)5Y9.ET n2QJhGVTYl15o 9uq IM2mIksٛYbhMfނgv[<Y Np&4N.+d<3"р+.B\ СhU*j8Ҝaݛ"R~+F#ɠ~0{.{&e2c ֜G(<.?62T~qjUPq1z 7L0"ŭIXdqmVxQIċ ׂ'ne"+Zsdt*Q)he; o?.mISHqHcIboJIApg hsH3ӹv?j.RA6q}-(CUӝLI!ZJ X< HyAd+f{1d9K˽k_Y!M$u;张n?Ļ H!?,̺'~ƹPXUb[@KgQW#A3S'eX<ќ6 \W (*֛ 'smERƏb%,4L}bQI>)Xa7HuL7YP jd$k(8Bǒ:tHa"FY7Iorp3Cרԧ-/f߰, O"k5X`yl.RceL#zNYSziGG clW[3r|&6A$ݬq #: 'G)AmGAt\ЗP\UmEˢ鹽4>gt{?6A:G[KB{h_5h`d660{R}wqIW{L  톚kxd d}H<*f8x`A{v?H9 =*BVYa_ .ZDYi|_)}nJWvED.Ƴ|y b'hCDw2n0\o:̷7!>7;+Do*J_[F }M t!f;Hs&s#EPG@|Urw.v7J*jڼoF^? X<g`ļq9FX'a;(27t.m+5ULjʸ/a`GNSs #;ut`40Oqg2:‹9`qH2֚LP'#ڐ }ʼnLIv8Jw--ݻsT#$Z-+M}QAE&{9qȷ 8A2ĿvX4[Gwk_u|C)>=,wU~rx I[!:r YZ