libndctl6-64.1-lp151.2.9.1 4>$  Ap^s߸/=„}UR3uH8:p pZ3AԸd ہqm!@&8? R*$$.-MZKS$ +yB!q>&PtSqJAD@ DI7 &MC^H[ON(C1-[Sl`@*2WRCHSҋТ&c'ߏZG0EY~F#ϣX;`eom؀+XNG&|I״}ngc~K3 ~װE@04֗&ҝd٦656735033f38055df99b03cd46336e2338e0f555cf66b310e1b66a5273bdba5362fa4bbea8d3187a0418b0efca91efa0793870faeH^s߸/=„tvh%Gfq!X4v1_R+H wkI[U(όXV9z\X$&҅T(^'*@/X|6&e`V][rѯ#>qYIlq_>0J{+O7S9=^$d>H|5X/PܼLV#~ՔJe#>2#X_Ϯ7MKDCǚY_C̎kCK.2hϐ`^Ǽ23IH@Ȏl^8N8=u!R7\>p@|?|d   hLPX\ox      0  X     8 j  l ( 8 "9 ": ">v@@vOFv^Gvp Hv Iv XvYw\wH ]wp ^wbxacy dyeyfylyuy vyw{4 x{\ y{6z|\|l|p|v|Clibndctl664.1lp151.2.9.1Management library for "libnvdimm" subsystem devices (Non-volatile Memory)Utility library for managing the "libnvdimm" subsystem, which defines a kernel device model and control message interface for platform NVDIMM resources like those defined by the ACPI 6.0 NFIT (NVDIMM Firmware Interface Table).^slamb22openSUSE Leap 15.1openSUSELGPL-2.1-or-laterhttp://bugs.opensuse.orgSystem/Librarieshttps://github.com/pmem/ndctllinuxx86_64I$h@gA큤A큤^s^s^s^s^s\Z.\Z.\Z.^s\Z.f30431d36003fad93018698e826301611eceb0b8e19df7ffa083c71e86ac74e143b86713fa0b3047eae0611bcefbadbe1ff5e841b41494c00f4eb9d7916fe88689807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e5c37e41135091a39821cfb306ad8516625b0bb49510ce56ad85c347bbc46df29c3f2b59a99aeec31782a4b1d45cf5c0d6fe105a50dbf09e8e94ec4d84b53a30f9397d01be0ec93d29384447ba18e532ab7b01af8c8b582ece9f10ad45b9568dblibdaxctl.so.1.2.1libndctl.so.6.13.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootndctl-64.1-lp151.2.9.1.src.rpmlibdaxctl.so.1()(64bit)libdaxctl.so.1(LIBDAXCTL_1)(64bit)libdaxctl.so.1(LIBDAXCTL_2)(64bit)libdaxctl.so.1(LIBDAXCTL_3)(64bit)libdaxctl.so.1(LIBDAXCTL_4)(64bit)libdaxctl.so.1(LIBDAXCTL_5)(64bit)libndctl.so.6()(64bit)libndctl.so.6(LIBNDCTL_1)(64bit)libndctl.so.6(LIBNDCTL_13)(64bit)libndctl.so.6(LIBNDCTL_14)(64bit)libndctl.so.6(LIBNDCTL_15)(64bit)libndctl.so.6(LIBNDCTL_16)(64bit)libndctl.so.6(LIBNDCTL_17)(64bit)libndctl.so.6(LIBNDCTL_18)(64bit)libndctl.so.6(LIBNDCTL_19)(64bit)libndctl.so.6(LIBNDCTL_3)(64bit)libndctl6libndctl6(x86-64)@@@@@@@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfiglibc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.8)(64bit)libdaxctl.so.1()(64bit)libdaxctl.so.1(LIBDAXCTL_1)(64bit)libdaxctl.so.1(LIBDAXCTL_2)(64bit)libkmod.so.2()(64bit)libkmod.so.2(LIBKMOD_5)(64bit)libudev.so.1()(64bit)libudev.so.1(LIBUDEV_183)(64bit)libuuid.so.1()(64bit)libuuid.so.1(UUID_1.0)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1^^F]X]@]]2@]Z@]Z@]V]R@\~d\X)@\4\I[%@[F[[~[,Z@ZYw2Y"XX @WWi,@WL+@W W@VVVUpUUMichal Suchanek Michal Suchanek Michal Suchanek Michal Suchanek Michal Suchanek Michal Suchanek Michal Suchanek Michal Suchanek jthumshirn@suse.de jthumshirn@suse.dejthumshirn@suse.comjthumshirn@suse.comrw@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comrw@suse.comopensuse-packaging@opensuse.orgjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comrw@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjengelh@inai.dejthumshirn@suse.comjthumshirn@suse.comkkaempf@suse.comdan.j.williams@intel.commeissner@suse.comdan.j.williams@intel.com- ndctl/test: Relax dax_pmem_compat requirement (bsc#1159523) + ndctl-test-Relax-dax_pmem_compat-requirement.patch - Add -fcommon flag on Tumbleweed (boo#1160286). - Fix 'ndctl enable-namespace all' fails trying to enable idle namespaces (bsc#1165509 ltc#182068). + ndctl-namespace-Fix-enable-namespace-error-for-seed-.patch- ndctl/dimm: Fix init-labels success reporting (bsc#1156308 ltc#181441). + ndctl-dimm-Fix-init-labels-success-reporting.patch - Refresh patches with upstream status: ndctl-Use-the-same-align-value-as-original-namespace-on-reconfigure.patch ndctl-ndctl-lib-Fix-duplicate-bus-detection.patch- Refresh patches with upstream status: ndctl-Use-the-same-align-value-as-original-namespace-on-reconfigure.patch ndctl-ndctl-lib-Fix-duplicate-bus-detection.patch- Refresh patches with upstream status: ndctl_check_Ensure_mmap_of_BTT_sections_work_with_64K_page-sizes.patch ndctl-namespace-Handle-create-namespace-in-label-less-mode.patch ndctl-list-Introduce-region-capability-objects.patch- ndctl/namespace: Handle 'create-namespace' in label-less mode (bsc#1145471 ltc#179886). + ndctl-namespace-Handle-create-namespace-in-label-less-mode.patch- ndctl: Use the same align value as original namespace on reconfigure (bsc#1145577 ltc#178224). + ndctl-Use-the-same-align-value-as-original-namespace-on-reconfigure.patch - ndctl/lib: Fix duplicate bus detection (bsc#1145573 ltc#180249). + ndctl-ndctl-lib-Fix-duplicate-bus-detection.patch- ndctl/list: Introduce region capability objects (bsc#1145772 ltc#178159). + ndctl-list-Introduce-region-capability-objects.patch- ndctl, check: Ensure mmap of BTT sections work with 64K page-sizes (bsc#1145421 ltc#176079). + ndctl_check_Ensure_mmap_of_BTT_sections_work_with_64K_page-sizes.patch- Update to version 64.1 (bsc#1127799): * ndctl: release v64.1 * ndctl: fix ndctl linking with libkeyutils * ndctl: Fix building in the absence of keyutils- Update to version 64 (bsc#1123024): * ndctl: release v64 * ndctl, load-keys: fix a resource leak in load_dimm_keys() * libndctl: fix a couple of theoretical buffer overruns * ndctl, keys: fix a resource leak in verify_kek() * ndctl, keys: fix a memory leak in dimm_create_key() * ndctl, rpmbuild: Add a dummy readme file to ndctl_keysdir * ndctl, bash-completion: add helpers for security commands * ndctl: allow for a 'secure erase' using the master passphrase * ndctl: master phassphrase management support * ndctl: add a wait-overwrite command * ndctl: add an overwrite option to 'sanitize-dimm' * ndctl: add a load-keys command and a modprobe config * ndctl: add a unit test to exercise security operations * ndctl: add a sanitize-dimm command * ndctl: add a freeze-security command * ndctl: add passphrase management commands * ndctl: add a Theory of Operation document for security commands * ndctl: add support for displaying the security state * ndctl.spec.in: remove obsolete Group tag * ndctl.spec.in: remove obsolete ldconfig scriptlets * libndctl: fix bb iterator leak in namespaces * ndctl: Add supported_alignments to the JSON output * ndctl/namespace: Make the create-namespace JSON output non-verbose * ndctl: Add alignment to the namespace JSON output * ndctl/namespace: Validate alignment from the {pfn|dax} seed * ndctl/namespace: Use seed alignment as the default * ndctl/namespace: Check for seed namespaces earlier * libndctl: Use the supported_alignment attribute * libndctl: Fix the failure interpretation for status translations * daxctl: Add bash-completion * ndctl, Documentation: Allow for Makefile variables in Documentation * Documentation: Update copyright * daxctl: Opt-in to /sys/bus/dax ABI * daxctl: Support the /sys/bus/dax ABI * ndctl/build: Fix config.h dependency * ndctl, rpm: Mark monitor.conf as a configuration file * ndctl: Introduce ndctl/config.h * ndctl/init-labels: Fix label slot accounting per UEFI 2.7 * ndctl: clean up usage of ndctl_cmd_submit * ndctl, monitor: switch to ndctl_cmd_submit_xlat * ndctl, inject-smart: switch to ndctl_cmd_submit_xlat * libndctl, intel: Add infrastructure for firmware_status translation * libndctl: ignore ENXIO in ndctl_namespace_delete * ndctl, monitor: use type=simple instead of type=forking * ndctl/monitor: Kill usage of ndctl/lib/private.h * ndctl/monitor: Drop vasprintf usage * ndctl/monitor: Fix / cleanup log_file() * ndctl/monitor: Unify definition of default monitor configfile path * ndctl/monitor: Drop 'struct ndctl_ctx *' casts * ndctl, daxctl: Add type-safety to command harness * ndctl, daxctl: Split builtin.h per-command * ndctl: recover from failed namespace creation * ndctl, build: Define HAVE_UUID * ndctl: fix zero-labels to handle firmware error properly * test, dsm-fail: Cleanup leftover debug * test, device-dax: Fix intermittent poison handling failures * Drop upstreamed patch: - 0001-ndctl-monitor-use-type-simple-instead-of-type-forkin.patch- Use Type=simple instead of Type=forking for service (bsc#1120931) + 0001-ndctl-monitor-use-type-simple-instead-of-type-forkin.patch- Enable ppc64le build (FATE#326817)- Fix rpmbuild failure on SLE12 SP4- Update to version 63 (FATE#326198): * ndctl: release v63 * ndctl, monitor: in daemon mode, exit successfully if no DIMMs are found * ndctl, monitor: fix the severity of "daemon started" message * libndctl: set errno for routines that don't return an error status * ndctl, check-labels: correct check-labels message wording * ndctl: Revert "ndctl: Create ndctl udev rules for dirty shutdown" * ndctl: Revert "ndctl, intel: Fallback to smart cached shutdown_count" * ndctl, lib: Add dirty-shutdown-count retrieval helper * util/json: add a util_namespace_badblocks_to_json() helper * util/json: Add comments around re-checking the UTIL_JSON_MEDIA_ERRORS flag * util/json: fix an error check for region resource * ndctl, lib: add APIs for retrieving namespace badblocks * ndctl, lib: refactor badblocks retrieval routines * ndctl, test: add a new unit test pfn metadata error clearing * ndctl, spec: Use pkgconfig for systemd * ndctl, build: Introduce --with-{bash,systemd} * ndctl: Suppress command errors if fallback exists * ndctl, namespace: rework namespace action accounting * ndctl, destroy-namespace: check for an already-zeroed info block * ndctl, test: add UUID_LIBS for list_smart_dimm * ndctl, docs: Use asciidoctor by default * ndctl, list: fix the verbosity level formatting in the man page * ndctl, monitor: Fix formatting for --log in the man page * ndctl, autoconf: include sys/mman.h for MAP_SYNC- Revert to version 61.2 (bsc#1110425)- Update to version 62 (FATE#326529): * ndctl: release v62 * ndctl: Work around kernel memory corruption * ndctl, udev: fix a resource leak in save_unsafe_shutdown_count * ndctl: fix potential null dereference in the smart error handler * ndctl, prepare-release.sh: fix revision update checks * ndctl: Add 'list' verbose options * ndctl, test: fix a resource leak in check_smart_threshold * ndctl, test: fix a potential null pointer dereference in 'ndctl test' * libndctl: fix a resource leak in ndctl_dimm_get_{{event_}flags, health} * ndctl: fix a resource leak in submit_get_firmware_info * ndctl, inject: fix a resource leak in ndctl_namespace_get_clear_unit * ndctl, monitor: add [Install] Section to systemd unit file of ndctl-monitor * ndctl, monitor: add timestamp and pid to log messages in log_file() * ndctl, monitor: set default log destination to syslog if "--daemon" is specified * ndctl, monitor: fix the lack of detection of invalid path of log file * ndctl, intel: Fallback to smart cached shutdown_count * ndctl: Create ndctl udev rules for dirty shutdown * ndctl, list: add alarm_enable_ to list * ndctl, test: add a new unit test for max_available_extent namespace * ndctl, documentation: Clarify the dimm id for ndctl list d option * ndctl, tests: add a new unit test for inject-smart * ndctl, inject-smart: continue in spite of errors for uninject-all * ndctl, monitor: add [--verbose] option to emit extra debug messages * ndctl, monitor: Fix duplicate prefix in monitor.log * ndctl, inject-smart: add an interface to inject ctrl-temperature * ndctl: Use max_available_extent for namespace * ndctl, test/monitor: fix inject-smart field in test_filter_dimmevent * ndctl, test: remove the firmware image file before the test end * ndctl inject-smart: add an option to uninject smart fields * ndctl, inject-smart: Fix man page to match the current behavior * ndctl: deprecate undocumented short-options * ndctl, documentation: document the label-version option for init-labels * ndctl, monitor: fix a resource leak in parse_monitor_event * Documentation, create-namespace: clarify fsdax wording * ndctl, monitor: improve error reporting throughout monitor.c * ndctl, monitor: Fix memory leak in monitor_event * ndctl, monitor: fix memory leak in read_config_file * ndctl, monitor: Add a config-file section to the man page * ndctl, monitor: fix the lack of detection of invalid dimm-events * ndctl, bash-completion: add completion for ndctl-monitor * ndctl, test: add a new unit test for monitor * ndctl, documentation: add man page for monitor * ndctl, monitor: add the unit file of systemd for ndctl-monitor service * ndctl, monitor: add main ndctl monitor configuration file * ndctl, monitor: add a new command - monitor * ndctl, test: convert remaining tests to use test/common * ndctl, test: fix tests for the array vs object listing fix * ndctl list: always output array without --human * ndctl: simplify JSON print flag handling * ndctl: add an API to check support for smart injection * contrib/do_abidiff: make the build more robust * ndctl: Remove dependency on linker garbage collection * ndctl, test: fix timeouts in device-dax * ndctl, test: Fix dax.sh return code * libndctl: fix the uninject-error API actually injecting errors * ndctl, test: add start/wait scrub to injection tests * ndctl: Add CONTRIBUTING.md * Documentation: add a newline in namespace Theory of Operations * util/strbuf.h: include sys/types.h for ssize_t definition. * ndctl, test: check availability of MAP_SYNC for poison test * ndctl: release v61 * ndctl, list: add controller temperature threshold and alarm * ndctl, test: remove an unused variable assignment * ndctl, Documentation: Add namespace 'theory of operation' * ndctl: add a test file to .gitignore * ndctl, test: cleanup test scripts * ndctl, test: Add NFIT_TEST_BUS[01] variable and some helper funtions to common * ndctl, test: Update tests for capacity vs namespace-label locking * ndctl, test: Disable poison tests for now * ndctl, test: Update libndctl test for controller temperature valid * ndctl, contrib: Add helper scripts for new release * ndctl, list: Add controller temperature * ndctl: Update README.md for code blocks * ndctl, test: cleanup test scripts * ndctl, test: add common helper functions for test scripts * ndctl: autoconf detect BUS_MCEERR_AR * test: Add device-dax MADV_HWPOISON test * ndctl, util: add OPTION_FILENAME to parse_opt_type * ndctl: add an api for getting the ars_status overflow flag * ndctl, ars: don't invalidate the user-provided command * ndctl: refactor validation of the ars_status command * ndctl, list: display the 'map' location in listings * ndctl, test: fix sector-mode.sh to work with label support * test: add a MADV_HWPOISON test * ndctl: hide null uuids * ndctl: fix libtool versioning * ndctl: warn on variables declared after statement * ndctl: remove warnings when -O0 is used with -D_FORTIFY_SOURCE=2 * configure: add -Wunused-result and -D_FORTIFY_SOURCE=2 to cflags * libndctl, test: fix a couple of unchecked returns * libndctl: improve debug prints in wait_for_scrub_completion * libndctl: fix potential buffer overflow in write_cache APIs * ndctl, filter: fix "keyword 'all' is ignored" in util__filter() * ndctl, inject-error: add a --saturate option * libndctl, inject: add 'v2' APIs for inject and uninject * libndctl, inject: inject fewer bytes per block by default * libndctl, ars: add an API to retrieve clear_err_unit * Documentation: add asciidoctor-extensions.rb to .gitignore * Documentation: Add the support for asciidoctor * Documentation: fix title and section markers * ndctl: fix ABI breakage due to rename of fw_info_get_updated_version * ndctl, filter: refacor util__filter() to support multiple space-seperated arguments * ndctl, documentation: add inject-smart to the Makefile- Drop 'v' from pkgconfig-version (breaks 'ipmctl') (FATE#325527)- Update to version 60.1 (FATE#322885): * ndctl: release v60.1 * ndctl: fix ABI breakage due to rename of fw_info_get_updated_version * ndctl, documentation: add inject-smart to the Makefile * ndctl: release v60 * ndctl, bash-completion: add completion for {start,wait}-scrub commands * ndctl, util: add a raw_uuid field to namespace listings * ndctl: fix ordering of closing vs invalidating flush_fd * ndctl: fix libdaxctl memory leak * ndctl: add support in libndctl to provide deep flush * ndctl, test: fix pmem-errors.sh vs new ARS rework * ndctl, scrub: add {wait,start}-scrub helper utilities * ndctl: add new START and WAIT actions * ndctl, scrub: add ndctl_bus_start_scrub() * ndctl, scrub: report the bus scrub state in 'ndctl list' * ndctl, scrub: fix ndctl_bus_wait_for_scrub_completion() * ndctl: complete move to "fsdax" and "devdax" * ndctl, read-labels: fix json reference counting * ndctl: export ndctl.h * ndctl, test: add write_cache testing to libndctl * libndctl: Add APIs for query and control of write_cache * ndctl: fix ndctl_persistence_domain declaration * ndctl, rescan-partitions.sh: fix skipping for missing modules * ndctl: replace direct errno prints with strerror strings * ndctl, inject-smart: fix usage of strerror(errno) * ndctl, check: fix a few error returns * ndctl: Add support for get bus and region persistence domain * ndctl: fail NUMA filtering when unsupported * ndctl, documentation: update copyright * ndctl: complete removal of daxctl io * ndctl: fix input/output size for Intel firmware update DSM * ndctl, sysfs: null terminate buffer on error * ndctl, list: fix namespace json object parenting * ndctl. test: fix module-taint sanity-check * ndctl, documentation: remove '...' from label-options.txt * ndctl, docs: cleanup the man page for create-namespace * ndctl: removing daxctl io * libndctl.sym: move new interfaces since v59 to a new section * ndctl, list: fix sector_size listing * ndctl: merge firmware-update into dimm.c as another dimm operation * ndctl: add check for update firmware supported * ndctl, bash-completion: add completion for --numa-node * ndctl: add filtering based on numa node * ndctl: add numa_node support for regions * ndctl: don't print erroneous namespace numa_nodes * ndctl, tests: firmware-update.sh post-test cleanup * ndctl, test: add a unit test for partition rescanning * ndctl, create-namespace: fix minimum alignment detection * ndctl, list: refactor core topology walking into util_filter_walk() * ndctl, firmware-update: kill usage of flock() in verify_fw_file() * ndctl, test: kill usage of fallocate in firmware-update.sh * ndctl, test: skip btt-pad compat test on pre-4K capable kernels * ndctl, test: fix dpa-alloc for kernels with 4M min size * ndctl, log: add support for LOG_NOTICE messages * ndctl, test: explicitly request namespace size * ndctl, test: fix stale json in btt-pad-compat.sh * ndctl, test: fix tests that use error injection on older kernels * ndctl: add test files to .gitignore * ndctl: tests must use local ndctl * ndctl, update: remove the check for !cmd when dereferencing it * ndctl, update: fix uninitialized variable warnings * ndctl, inject-smart: cleanup uninitialized variable warnings * ndctl, configure: add -Wmaybe-uninitialized to cflags * ndctl: add option to list firmware information for a DIMM * ndctl: adding unit test for enable ack shutdown count * ndctl: add support for acknolwedge shutdown count enable * ndctl, smart: fix threshold temperature helper- Update to version v59.2 (FATE#322885): * ndctl: add ndctl_encode_smart_temperature() * ndctl: add a new command - inject-smart * ndctl, bash-completion: Add bash completion for inject-smart * ndctl: Add CONFIG_DEV_DAX_PMEM=m to README.md * ndctl: add info about CONFIG_X86_PMEM_LEGACY to README.md * ndctl: release v59 * ndctl: fallback to sysconf for PAGE_SIZE * ndctl: release v59.1 * ndctl, hugetlb: skip, don't fail * ndctl, firmware: fix kernel version check- Upstream version v57.1 (FATE#322885) - libndctl-add-support-for-the-msft-family-of-dsm-functions.patch This release incorporates the capabilities of the 4.12 kernel. Major highlights include the new 'ndctl check-namespace' utility to check and repair btt instances, new option to 'ndctl list' to enumerate device relative error offsets, and support for the "JEDEC Byte-Addressable Energy-Backed Interface NVDIMM" SMART health format. Commands: ndctl check-namespace: check and repair a btt instance ndctl list: new '--media-errors' option ndctl list: add acpi 6.1 dimm health state flags ndctl write-labels: new command to deploy data to dimm label areas Tests: blk-exhaust: validate aliased pmem vs blk capacity accounting daxdev-errors: error injection and clearing for device-dax device-dax-fio: i/o traffic sanity check for device-dax label-compat: regression test for interleave-set-cookie compatibility Apis: ndctl_dimm_has_notifications: acpi 6.1 health-state notification flag ndctl_dimm_failed_map: acpi 6.1 map failure flag ndctl_region_get_resource: region resource base address ndctl_region_get_{first,next}_badblock: media error enumeration ndctl_namespace_disable_safe: check for busy block device before disable ndctl_namespace_is_active: check if namespace is enabled or claimed- Add support for MSFT family DSM functions (bsc#1040158) + libndctl-add-support-for-the-msft-family-of-dsm-functions.patch- Upstream version v56 (fate#321506) This release incorporates the capabilities of the 4.10 kernel. Major highlights include the new 'daxctl' utility and its 'list' command, as well as several usability tweaks and cleanups to 'ndctl create-namespace' and 'ndctl list'. Commands: ndctl list: add support for filtering by namespace mode daxctl list: generically list device-dax instances in a platform ndctl create-namespace: reconcile namespace size against interleave-width Tests: test: sanity check the unit test kernel modules befor running tests device-dax: extend it to test 4K and 1G alignments in addition to 2M multi-pmem: check namespace deletion cleanup Apis: ndctl_{pfn,dax}_has_align: detect kernels that lack the align attribute ndctl_{set,get}_private_data: attach private data to a library context daxctl_region_get_size: retrieve the total dax region size daxctl_region_get_align: retrieve the physical alignment of the region daxctl_region_get_{first,next}: enable listing of device-dax regions- Upstream version v55 This release incorporates the capabilities of the 4.9 kernel. Major highlights include support for retrieving the health status of HPE NVDIMMs, and new label manipulation / validation commands. Commands: list: add HPE NVDIMM health reporting init-labels: initialize a namespace-label index-block check-labels: validate a namespace-label index-block create-namespace: fix crash when target region disabled bash-completion: add {en,dis}able-dimm and {check,init}-labels support Tests: dsm-fail: check that namespaces stay disabled when label DSMs fail multi-pmem: validate pmem-region sub-division support libndctl: add btt-size check libndctl: test health event notification support device-dax: validate "invalidate on shutdown" behavior of dax devices device-dax: validate direct-i/o to device-dax mappings device-dax: check kernel fix for file offset to phys offset translation device-dax: check kernel fix for crash when reading /proc//smaps clear: check kernel fix for making cleared badblocks stay cleared Apis: daxctl_region_get_available_size: new, in support of dax sub-division daxctl_region_get_devname: new, in support of dax sub-division daxctl_region_get_dev_seed: new, in support of dax sub-division ndctl_dimm_get_health_eventfd: new, fires upon firmware health event notification ndctl_cmd_cfg_read_get_size: new, simplifies label manipulation routines ndctl_dimm_get_available_labels: fix error return value to be ULONG_MAX ndctl_region_get_available_size: fix error return value to be ULLONG_MAX ndctl_dimm_cmd_new_cfg_{read,write}: fix to not overflow label area size- Update to v54 This release incorporates the capabilities of the 4.8 kernel. Updates to the unit tests make up the bulk of this release to account for kernel commit 1ee6667cd8d1 "libnvdimm, pfn, dax: fix initialization vs autodetect for mode + alignment". Commands: list: add device-dax information list: add btt size information create-namespace: fix handling of invalid sector sizes create-namespace: static analysis fixes bash-completion: namespace completion enhancements Tests: libndctl: updates for pfn and dax autodetect changes libndctl: new gates for running against older kernels device-dax: new pcommit: remove, the pcommit instruction has been deprecated Apis: ndctl_dimm_get_manufacturing_date: new ndctl_dimm_get_manufacturing_location: new ndctl_btt_get_size: new ndctl_cmd_unref: fix, accepts NULL input- Fix rpmbuild failure on factory- Update to v53.1 (FATE#319859) This release incorporates the capabilities of the 4.7-rc1 kernel (most prominently in that kernel 'Device DAX', DAX error handling, and third-party DSM support). The ndctl updates include: New commands / options: bash completion for ndctl commands DIMM SMART data retrieval (ndctl list --dimms --health) ndctl destroy-namespace ndctl read-labels New tests: DAX error handling unit test (dax-errors.sh) Command fixes: ndctl list ndctl create-namespace New apis: ndctl_cmd_smart_get_alarm_flags ndctl_cmd_smart_get_flags ndctl_cmd_smart_get_health ndctl_cmd_smart_get_life_used ndctl_cmd_smart_get_shutdown_state ndctl_cmd_smart_get_spares ndctl_cmd_smart_get_temperature ndctl_cmd_smart_get_vendor_data ndctl_cmd_smart_get_vendor_size ndctl_cmd_smart_threshold_get_alarm_control ndctl_cmd_smart_threshold_get_spares ndctl_cmd_smart_threshold_get_temperature ndctl_dax_delete ndctl_dax_enable ndctl_dax_get_align ndctl_dax_get_bus ndctl_dax_get_ctx ndctl_dax_get_daxctl_region ndctl_dax_get_devname ndctl_dax_get_first ndctl_dax_get_id ndctl_dax_get_location ndctl_dax_get_namespace ndctl_dax_get_next ndctl_dax_get_region ndctl_dax_get_resource ndctl_dax_get_size ndctl_dax_get_uuid ndctl_dax_is_configured ndctl_dax_is_enabled ndctl_dax_is_valid ndctl_dax_set_align ndctl_dax_set_location ndctl_dax_set_namespace ndctl_dax_set_uuid ndctl_dimm_cmd_new_smart ndctl_dimm_cmd_new_smart_threshold ndctl_dimm_get_formatN ndctl_dimm_get_formats ndctl_dimm_get_subsystem_device ndctl_dimm_get_subsystem_revision ndctl_dimm_get_subsystem_vendor ndctl_dimm_get_unique_id ndctl_get_daxctl_ctx ndctl_namespace_get_dax ndctl_namespace_get_dax ndctl_region_get_dax_seed daxctl_dev_get_devname daxctl_dev_get_first daxctl_dev_get_id daxctl_dev_get_major daxctl_dev_get_minor daxctl_dev_get_next daxctl_dev_get_region daxctl_dev_get_size daxctl_get_log_priority daxctl_get_userdata daxctl_new daxctl_new_region daxctl_ref daxctl_region_get_ctx daxctl_region_get_id daxctl_region_get_uuid daxctl_region_ref daxctl_region_unref daxctl_region_unref daxctl_set_log_fn daxctl_set_log_priority daxctl_set_userdata daxctl_unref- NVDIMM is not defined for any CPU architecture other than x86_64 at the moment.- RPM group and description update- Update to v52 This release incorporates the capabilities of the 4.6 kernel (most prominently 'clear poison' support), and adds the below features and fixes: New apis: ndctl_invalidate ndctl_cmd_ars_cap_get_range ndctl_bus_cmd_new_clear_error ndctl_cmd_clear_error_get_cleared ndctl_namespace_get_resource ndctl_pfn_get_size ndctl_pfn_get_resource Api fixes: ndctl_bus_cmd_new_ars_status - output buffer sizing fix ndctl_bus_cmd_new_ars_status - input validation ndctl_cmd_ars_in_progress - invalidate state after checking- Update to v51 This release reworks spec file generation to use automated tarballs generated by github for each annotated tag. It also includes a couple of minor fixes.- Update to v50 This release incorporates the capabilities of the 4.5 kernel, and adds the below features and fixes: New apis: ndctl_bus_get_ctx ndctl_namespace_get_pfn ndctl_namespace_get_mode ndctl_namespace_get_numa_node ndctl_region_get_pfn_seed ndctl_pfn_get_first ndctl_pfn_get_next ndctl_pfn_get_id ndctl_pfn_get_namespace ndctl_pfn_get_uuid ndctl_pfn_set_uuid ndctl_pfn_get_location ndctl_pfn_set_location ndctl_pfn_get_align ndctl_pfn_set_align ndctl_pfn_set_namespace ndctl_pfn_get_bus ndctl_pfn_get_ctx ndctl_pfn_get_devname ndctl_pfn_get_block_device ndctl_pfn_is_valid ndctl_pfn_is_enabled ndctl_pfn_get_region ndctl_pfn_enable ndctl_pfn_delete ndctl_pfn_is_configured New utility commands: list help (man pages) create-namespace Api fixes: ndctl_{namespace|btt}_foreach crash fix ndctl_namespace_delete no longer errors on "io" namespaces miscellaneous static analysis fixes Utility command fixes: {en|dis}able-{namespace|region} return code- updates for the new versioning scheme introduced with v47 - synchronized the spec file with the one produced by contrib/genspec- cleaned up spec file. added licenses. added make check- Management library for "libnvdimm" subsystem devices (Non-volatile Memory)/sbin/ldconfig/sbin/ldconfiglamb22 1584630485 64.1-lp151.2.9.164.1-lp151.2.9.1libdaxctl.so.1libdaxctl.so.1.2.1libndctl.so.6libndctl.so.6.13.0libndctl6BSD-MITCC0README.mdlibndctl6COPYING/usr/lib64//usr/share/doc/packages//usr/share/doc/packages/libndctl6//usr/share/licenses//usr/share/licenses/libndctl6/-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.opensuse.org/openSUSE:Maintenance:12141/openSUSE_Leap_15.1_Update/a42bc5ea46bb36203935a75167c80d09-ndctl.openSUSE_Leap_15.1_Updatecpioxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=34925dbb06375ff6369957c0183b311d690211b7, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1262d2287ebafdc21737ecaed227e8e232d9d200, strippeddirectoryASCII textASCII text, with very long lines#PPPPPPPPPPRRR RRRRRRPPPPPP P P P P P P P P P PPPR R RRRRRR RRRRR RRR Rԭ(qۊutf-892bb057e67f65ba293777f22033ef48ca4b876553b4437c1ceeed708ba1b71a2?7zXZ !t/[] cr$x#/.jM ,?}tckpm4Ipu8! G/a@>\!N b$;v)- NnfDgqao Y?7wD1To4;g^ 9ÙL0$kUuIj3`jF/bرn [(K #گ6(3>K%@TEv9)j3e%\o@L⯥ZI%huf9,߫$md+M ҕW_tưV߁yDNȅhFhKZ~8uMuM:Op`n1dGhc, kbrԥ70rQ@5%-2v4S[~9<\bQkƏ5XB }B0˅%['xʘEI##9\+c\m/yi-0o r=V @NZQ/ɩK&T>,o#yn21]8cr=vm^ҹi^[g#7sLngC QzLRz64YPY2ɋX='%SD| j$Ȼ5NMQ@O0:euTs.a]$NFeePfw&Iʩ歟K|3ke#Utfе-Ж<:l澆[Jkn30bW+JI&V( X!ϫ)mlC ހBEumֈH_UTƔIQjK~_ ͛uNaCAD(L:)-/.RBXd_;MŨ;.Wm1*=V]́D4's!rНúܦ:6):_Y~,.A;[I˪Ά8?:&8QNeUL,〰Cm4 j*X ڇDz@^VTM6&3qn+V/WA`'\k!i(B|;@22|'Fu5,_ٴed:"—T΢"b5E*Eou<,pfI\\G j^R_ae4s8y} s\&4 2? .K`sUZĬ˻CB]RnZavAٴ<"Č/vc] $7h35ڜ^RkK ZN)篵CUz'MߝZ@7x/Eqz*8MN ]Jԣ)8B1 nu_ZkC¥V.y;-uFaM]E;8eHnWHDn-RH$A2 \34o9[#T18$LɅPNXwcȖ!JonMO$ @dl%ɥ]0#X ¯ZB \=r 8[}Jn|HwcJgӄѮlY6&qzLr)5uKqµ@Nr($S.Q*Ώ&ݔgʿ/9Ap㧟\r0jy̦Q>&%-m#CmHNhv$@@U2,ʩ,ͪ"e^WJG*ekWh_hg_+Bs}jnY)MRk)00: S YP1@WM ǐcWMrN3?zb. 1.Ҡ{ݪjb_50اXrCbnUO`mdz`Q$*05xÜN%ܼ\6if[voނFBR]p)R' u1dR>Gⓥ_0]@f++R*?VgJ^zdE $RAj)[ υˈg}> W!/`P_{ٵ/.ͳwh5Q>=U1gYsŚ槵S\ʳ{V\7~vֱ1JT6 zA^n1rĩQ8=pr{ #hFϜ*K -oK2d.E.ȼu$9GLs{EVz b3b8$b6x1a(`tQ/. $2_Q3)⑏}u)i٦y&^<Bi KgEVaㅚճ2Sje]EA;>8}~^CET6' _#ڒP\ pl<+<}"jOC^CwxLEPԮDrn9S1UZqLyiCj?.~a&3גT]%3ҎUrLЧ:s%_O՛fV7Sd"墲(P}XGkFG>(+>*Ԧ !JrOv6l!>[q(vnЙ[QtHҠ!_,R7$ْ^5f3IXAq|^!$ۧk9"mÚ` tЬ" fėĻm2,>V=j .337YB9d yn)+TT@F*;X}H`3|ąt 04ȝ^3/1%Hd]0[|.6u .$`&'0\=qh1o*) 61 ҷiQir>W{DZJde:7DFIqg9k|DK x_w'? v>h $Z UQl%(rwQ +L&F$"lj:XocT`L^,aQNcШ~,Jܦ|{vq_ƪdyWyPQsgu/c }oAr$"@k`3>*hiYNXBKrFd-6nj_ыm&<2`G5גd Ug]sFNY5Xk](ַΑ210@*"ŝ.GO*Vp%jPu.wMXf'u{g)btWrra L$V1ӛ(~TMbz|28dn뾗R<˿4i9 9eB0RC W|Fܮkr~O;ę*^=3fX{D@\QRZ`D}:v!\%b_Cq 8/JAbK.f_.~W[S qpfmyg35MJxPn9tUc:XwªYvuM87 ݃&{b .'YDp`t z@oo&qUq _;Kk'(^w\t{#&{OΒ%:Cy+%e}&5{فC%cS W^oypؒQ>f% ek !Hӕo>hVlfw:- HIZء mT0v>;tf~#WguE`Ο:ɾ#m"@oV LO/Bjjns!;e cI|Ȋ PPF!x 8jHۘPb514+_Yw?R)lC,VjZv̽ VdRX9vyס[*at^iWl@Mh7Ν g$]48Al.1E)AS!7G$gJTCL`wl%6]8:bbxz`]Pݔ7ضuD%ƹ:&뗓5cX0/,.b=;ψT` iŴ "^̤dHyLNU^@~<^ -x /1H\eZOqaEJ)NBXKÑn 5X!ă CcLXݫ)z1մ k5e$ML W%=C$.p([ I:Fg0bVC!D܌}O'oG.dL:+a&X參\\ɭG:C(LHH"2!GP{j6gA*/w\lrw!<Ԥ[ \z3+cs&(eL .u'h-iW,)uAGGZTǓUoao&Gx=%&zZݳ3.4dY$9 BRU$qD8/W =CfkBO'csh22;UɻEu6o>_>((EmQVQd{Q97SUވ|L9e j t{At0fR>[*:~/ s㢶^T<:  K#Y%X+E(\J.z$i.t 0V 4KogS'暘[q(ȍB3O޷? yQ}W:ZL,Æ U|"ßSq~[D%O ;S mǹ F]c҅=.;s&v9'}B-C`%Bx uȂ7Y%w.;;ᇒe;k)(f a&B /mߎSBf(*J[liQ٪gtq) X9 {E3K=q+ATϥ¸'N}s nZcP0MQl,Q{V=SS4Y \J' Q> ,O#I=vd+ 8]_UFcdٗ {=x6mH[ ,iߏ,V:;$VAC.sS")=yn<6F{sS];] $%=K7"I @V)0ls2'H'RľW#'kz[_>Љ˽+ڟCqZtk[/Gp/)FЎd57uV_y'1K6 0mlӄXf09= m>fTݭp/$]l~%*/@اF5-|ƧkƳX 9Ч.XaW+uʿrټ=å6%a$XczV)ȼ0g.pgK!v z|b5Wυӕu|$ (>V $fx[jgF7ޮPU=@&^Ԥ i?ަhwo;9K1ŠhX*-~#ZҙCDrw[K嗯g<*&%b4D ͟yv 'dҚ|nJM֔s 'sA#DaweP{ KP2̒<=IҥZ}p.^˕tV$S[tcE(‡H)2b`<|]fD#zRl2w8 NK<|\̂?"97a9WM;{Jp:盕:*Z%Fu88Kpž]?9ARТ!>3HJ3  ; ʧ##55'Z'߷DF`r?5q1͹& 7+aĺ~ r@quzLoרrF$5c 9hĨg xFFDr%F3h 1`iﲿhE)of5g5E֧O|EIEQhct&~Tڙ}yzD͆cVGPѴ+p&g: @Ud">4-gm5//Ί DeVhE);oBv"z={ .ճanl.)=Eq` QB_fRZ۸33A?DןމKcyVM0Iܱ^LMF:R2TCc*7hî6x!(ٗ^S $GpyFr-3zfx.Koު )d (q{+BV{p\!n[JN>쏚 ='0R?L@nw|"/@Xagj_]Z7pdv)티hd1nDvC&eTFӜROD\-X<rm8lNu˔*GyAF:i1a_}!ׯr[k -03Vռ/Obg12XT YW>A 8k@^ChƤP++Df\ Gc*t0o!H][\2[mRW!gTd3ʠQ)gӸRu7-Ic4)~*vjsn BM8_3ϱ:l$*<}<]̑ _Y=k"B瞀 83 .g./!P AǻfvQ `+01PlVz7αk>`7@:nѱ)ҔtB H-ԋ&N}1{x.8_GyHx xdmo(ItW6vk<6@87cڕѲ:{"Ԯ](֔GdW ]8z?1eT77LA$^i@"{X|yQqyM%HPc~|:rzF3?vEyGJ!<4YL}LmҶԱ+BVn>g<ڡ*&D?2F'<iBi Nc.@,3ϡ e /ʯ#^6{s@  Y+6>a|S.mzٻIuitRT=Q@F٢? CR5dRLp4k)SxO?]ikjD2?r5Sϡɒa4_ȼi3)û}*^-|ԥԐK܀ogo祎'ਆNoݭ4Qblt:5IdPk5Bq3a|x]O5s>fݤg!hB?lzs055Z]|LY{oHPk`Y{:C{δRc0*.JܾCa 6sy-qumװ_$ܓ`],mwmkJ-(j϶ ڂ?2GX>3eft/vlBV3dS $1"}{H` dɂ}HH^lKH֦oO!Fx3g?u,,#k݊5v{ʂбO r0$&0OK=ǜq#Yr S[20 9jb'~/u^mI7ᕧ&rI.錫Gm+3Nl # 17b )Mm>9LcV\ʣFU{#/|ez=D}SC, BpߥQ#Zq& ?|K-,Q9&|/B."P1Fah^|SmE"KJ0Pc="%E9#˔hOn5μF]ϛeqYAV_rr>r q՜Rs[.N528vv':"#n0Yk~:hh Չszdn"yN α5O [y rU_a.xo<׹qv DqP&'O N5ȥT@Q /3d.g|hVH 7ϋk۲0!oc1{A%%̍NI@%BEϽ$6ԽENx2ҧ(r1Ucg/-ČkT_ %p., r!0Z}T$?c %k"5Sp4R:wQ8ʎ%YG1af+2HUs)>Mv轃iz5j}ϰi2t?W Ǣ8AP$v6,eaSg {Pml ʼnT\}ƀ/Bj(AaL5n_h -( w[R[@}v)bp[ Л.@&UA*0.tX'ű`ld Aۍ$p;xc!(vOG44?}ba wܿqnȎZi+#ޒuh>,̵rDw2qn5 Op|HkwC\{bD{:$BS,`'sT_ xwS:vnlI8\r؛|hJ93M'KDO% ~\m S@ v$I9(SA3QLBQuH[#idK\-70'nNzALm)ߴ0X m=ob;Ԯ;&ڒ#0uǹ-R}蒿JzXv 赘ir=IIVVw q* w8:Fz>KV D9w:gThV9myG6Ž )P'Ru5\_n)֚QҟCrB P{bQT[ӎgy IWdZum^ ]*F-&qhH9!_9÷ntf_V~m%[ɂ|r]Î}mىО`ChF .}[6w R^]B!֓epPWNy3C|kZZnIqAŝ1]}Zu#xkxn}՝yW82=s*҇GWy[H9/F~7RXeȓqI0h[2ƫ[RJYۢY0\hK~6Y8 UR(b(-7n3B@K|?@⤘ddǎ1ij$WhĝEGo -Qˆ ̂+v T?kא`ճEd@$uY Ě2pRe"eQCljSB5 +(;0'\W pY_A8)j7-ߋ2N>(Ȕ.=_(nkT+Cxz@/BwϬx af&5;D.?_͜aW^Ҷ9 P%5o1=xA6V}2J:DA9(S? B_/[.ı9+fpe->uYIrC`Udnbq\/@)DF㽸[rP6n}/iQGWK+y$5D_ѐB4x#wtlܥdHf*:D~)y|l/}-՗,vS˥}HPyAaxl"KUUyfgR=y«}FM0A_Xo.ؑ(3lpHg+G4ݯػĉ.>h5Kwo^Lw"W=0(աJ4,Vh:6uJUuugF1zo'`vX0<|khvx(7pLG`62>HV} A½6b?KhĐB\ɢʟRhL#%S)4l߂=*IѫHCu55ߘ:me$y*0'fTBTKﶧlQJT[?^70??;|loE1 D URC~͉ k98ٛT2ƒqQ͒Bj:B^0&s!P2IQ\ Wf(~R.:Ԍ*n(MO+.mc<;$٘nĭVx"&?~&iu:*ߺ>୳&. {p;;;-bFX;N"95*dn38ZV=&9ajGGa_rYlx X\nsEhm٧j'wM,ޅR''? e+L9Qw9f{tA78:A_ʌ  DiChZdҕ_`?(f$*u0|tm`b 7V#/`YXU(G h؜sN]!<0ڂK@hD3Cqܭ!v:ڀ DJL";K=Į~k<  ŵJ)+0D0T*^:7HvUրSUc^x@  %ն%Ģ-i=jF!{Ą~=]-S*%>-ε:I:b@ $߿mqqsu#p|^^wMQjdxYw'$ه$^EjO6-s5/of?Nr8xȎecL=n>+D/T7X haDܟZc1zVSXg4e%L~Ky?^(zS3\nr5gq0i. |9x]zl0[N{P]S%b*倒CzQY/l.-g?ߧg40tGMtEΆ-}Ls懲6dn1H#];) Rc\wyDo"?[Taa+z^rKYh> OɄ Xbc/YsSsXݖk)PKK6ޡ}{ NQ#Z gd5P2[w"Ӝ I(ѧ1A[Be3IpTT^ۍa*E\1̫XrsCünOqn!?qndH"v%}Xq`f; +5W׶X"T+  X$(H/ 1N U(b3 U0]b%{Qě&>u/ѯ2*B#lG>x & Ýki"8!Phix䋸ܙ)uH~PQpEVeu{% !-A6U,.x ~J+ҝNI Fp;!)g~K^e ?fWTQ9'#jVOPbStu;/šB#2TOQj$n-p wS!ZKG J;­]谈APlߚËO)0~qjG$@6qhUdCe̛7m;|5էc0/ Sfe.vvV8bpO;5O}<dB}1ww/L֚Z/Fʓc; -EaRdH@4Y%; ]3_dIJL\BϲHJ.|? $cHs/DOÒ(l2Z塝V$ɻz {GΦ]Z/N @)Ҭ~宇[y*!Px7W8dIM 'y}UT6 NTD N/Ss3@{_!j,,%^v.* ? i?+N̠UY̩uŦIVl~\ac ҿTTQ n<4!!읕MA'"CRXNe$qXD,zǥn LI+1ON+NʰuZjIlH`RͼRCw/ 4q, M V<0쪞 /1f$š}B$6}^1jOp ۯ\>l@$3!9Tb vf$HlԲϜ#H fCy&?[2pقWM_QWt˨LYkJq5Am6B =OILI/j_O`%o{%±̆R+.: /&ÿ#2CH)Wr7eRxgk[zQaeMe>EJA-9&AG?Ǫ,=qf-͍%R|ἡ-חVmO(vLF!,I(,;mh<.woxʋ{7yZ%3a*鼉ϹAVK)R_Ȑ8m>*tia93Mg(-(EyjI'Veȑ̈́2_YKQ^R 2; FD7d1h$ap5ּX|$n3/*; -H8WjߊmLKfK\<FL@pvE!VԮwއ^U>JX?J{Pb^G+VbFPÈ;6{,sZ\II1U?XkťtA{/5kKِ^hIbMĽzz)=.2' q;gCGS[ ] sdGXN1V ƍ ~b)i~_P\Hdun/Kfg@ U{9=fDŽ~*I!Qgr ur'`R*CM;hk((3oEvg4e޵R `a==.Ydl[0Lxg#|'9R^릮@y?NMxbEh9|M=04 ۶Xĥ75+onh!힣~OWܽCwup |>hxNq^J}'EE @/B =d-ָoVOJ`ȩ4]X+!_YaIggz1س̹w6&6W6[\l,\\wmIyGxnYqJo /-YmX+> _$li#sБ:-(UJkj[j@5MH] 0n5z^]f )fOu-5Fg &Iur͌->-k<Ā\Mٛ6%Hgf[YKn_(պF12 ViC#^M;Vގat7U_(e s3QHo9[2%=Ӄp` {v:H~Hp7c8 oI c[ջT,8~Nv249?Rٌ6kǨCº{z 6K@vTe5`QMaOct=z7{TRALW\>{]I_II"{Cl ۆȾ'1$3/Zvp𧘈;qs+CzT:k+*(:K"_%Q_UOcM ەYHR G6 X!ؠy{-Vd:-mu W:[pMV鴚uAT f19ѽGsWsa6FuM5}됵Y^nF)+j6M?,!Wj t$P3L/>rSYh!E02e9̆RI͟ p;Z@Џ@ROj[J`yCtPSEWx`o4,KoݏϷKսqDd;^>3jt`JMD,RI,+Y/~pPc=uG5zct%fcZ;N7R(4f 6'f{F:' L{_yҵn<` IC,}լMRvI`Y5O.:+o~}FT_)=P6q}jl^&CK]_߈Ah}=k46鮋p/\\^* [py2"CH0ҌKiL d⿜ծ_tBRQ*խDf_[4 o{紮~'YZ;bSLyL%)W96R6TnY6 KxE׮]@}'$<_[ĎX<N[?K_D Rݷ9x<:UZimļ6q%qȒg0觪xcr)Q1"_nDZ7/} ~8? eEk*:s)S]]1ت:!5dS\+P{b 55phf3Hy`H iugT'elroQ줵{~ 2yܗDE, 0C.( TwZ&-ohXiA&L ytw}@_(}^n=ZLϪZ°mIQPвr<(JaڧO!xM>я `G nIA.Yy*ܬY_&q0ND'oMW{)> ;a&PBcpaRPBS u|=T3IBҏ'.|c{@`۾*KeS{NT}D.BM fgxeK eob@iyXt9;2R fEo8Cj͊o%<г S%pK0UG6[a m0qn -)1Ox|N:/ݟCr(O~%jۄ2żVsAgԈ}Lϳ`X9% 2B[^CF:@ҙR?:9h_P`FCBۅ"a*9jKA#'7lRx8&..No8Ut\ݡ>Tu7V-\=hf3!" 2ATBqC8#vSI(ִ}ogf`Tgfa4`8 % Ak][u>+rM0sxtոzF+c6dS$.-mh%ğߥbQk3yZUS+Giv , I,r+SxWŅLF ۡ: wmˊXч'cӋַ^.@P؍",%k<4 ! ~b|i>8pY[<;P<?:0zI۠wm"X[wJSGHC}ԪrLKShp[ޯo6iւ3h"#+w8> !5͊]K+TU7SPl .:'i}wW 9F(_d3 }֚b[ZA~>ľW{F@0"DXqJ4]#P3/ٟ|5NezG`LkRZ:/GqD6>)~GT یYczyiƴ_&Y>D.Ap1I(Hϕ.>ud[荫Rs?ƖZ#QQ$ƈ|*Q7:D+WTu( @ dj6t_AQfch ``" I 2o02,+}׺9PmxbF%9XK5q-OW>MʚtŹb:\-ecQI܊[_i"r4GJEc ƵguV3(.~[^kh=T~h!Y(W'4gAhK; ?;ݷαWCs)r(K!y ĐEg{V 9ǶsYD\{zW"K~xxX [~{?m!.r[VVq9p1~>aS]a/O)'|7u0ڸgPYAbKqgCl<S+!1_BOwX \)Φ O"HO/Z/*8;T's,nwsȱ{)X)=/m6iKy9ψe뢎EPF8%&0=\n?G/[7Jo*JqqfxԨm㒱ps $wT4Ld<(j&Pv`Xn4>R?J-CĬvC˛E Tʹ܅̰ ѻ?nZҾ M`Q˟`tmEA8Cc&A"[4 s}1X9: 9pc,HJήl5&a_9 w8 Z7A,=iɇѯXe JO%sAL9KR̺ůQ.zJ/ P^MW/S l3r( 7y^I9m|4MP8OK.0 oH G0eVD,HׯAmoYoGH00(aAhp]&BU$F4y|;U3:iNx YWgxv[%I* M-qt{ =Yo ߷+V#Qݠ*Unm&-ˎt꨷1=ǯ[a\4E!3=p<\{7[Rwnj)[)% "}5/Z\Y"7YD{0wOMB7SYꇕ)<XEĩ0i"6ބLp56)iʢH HSqTgV/=4?vN)+HR 4a.#Zv%0qYh*%c|%rbPGzp!3HgeZkz$s4@sTke~L.no/nEbv5ZڑLZHcv/&,m㊗*5ZPB?>@m }d JӖSEdZ`Ն]k}Wo^Ό8Yf}SƍΆ3O$zB_1Ԥ`ZP=ѸO/.GQQ z#VLnYw(rN$ν9pLcIQbWk0cg˰_Wz߁7][#D"'sjš3Y,$>j(}j vG*&fT=r~9do$#̣9d+n>}Lk$ڊ`Rd0>LbW;(Yh&fbK(=-(m"s[I7PYX/ؼBĮMUMz@Y0ʋ qR%#v ,NSHmh %O_B nM>ё 0*~҉$(Y}P[iv="R fdhܩC6D!^'% nIŃ eXnQ>kprTBd@5/|UQu))*eXʗ:6]-tv;D4fp"ڊĒhzGm0 3fK$bݔE-TF3ϽO(:~v!^8vzu 򁐆nYAX1Tx5O&)E)1 N!1_XU@!x|/e_$fjL5 %#؂d} C\UJlӉ Ɓ aڏf<{_jD(:;(()N[Q虚ᒳKܾCx"$19H ޏΪSpw M&MpXuМ6vԃl芮rNS"!Y 1Kut[Y^i/r\ .(@u0D@)OÀ_!&gnwR-4Fw FroXMAN ^#:NGAo?OL/Š*$~*3CDbU᳒vJse~gĹUu ݩE?0ZlH͊̍>5DBTL0` wB.%<{jqK%8P k7C ` KJ;h.h# 0p)kB$E%{x(kT%!D0CasqjY"p"E[ͮTk8k:dj?)o=Ul96 6tډՅwY_ϒgU{gj[ZҘR 83.~zWZR!n_CyZRp<)U!@̽RI_Ƣ˜ѝ$ 1m*֔ J-;7UJ8D0Vn5F2mc" 5DSˑc;(f7Ϯ']Qk[ |{YTYn.vZ~ C[ 6z!+`-l\($D <-uagޞ2#?j">D9\.'R+!7DIl!w<|B:"pSG[Y*gp(' w7z^n(\h2c;] ݲ$=i~Cv$5/>² VP<br&|`]_!If#.d 8x,;$![n)[" 72 J_ap¤EEVPpt;]gbbQx9 $aj6{?z/վ{ y)^lzO\9c p $ER!do9eE3GSBZ\Yŕe== ޛ|ssT1ngByv?f$*Wv7d|t6#rݲ.Sٙe'ː[Ý ǟ}?m2!Zo֤?#C[5W"2z@(g %P$$=SI~"6NDFGV{J5/kr3Bω/OBC ubobMk :$ JYa2֎.8J@).'y2؂ Xre9jLr$eVts)^w(8-ْ{>U,)_\O'ʀEa0?!''d7WqޗBp8N;?`n[KU ,}mB2xX slj,C/px ̆FvU&, l r8 !.)&Yd~ԼU|;[TD,5Mro-Tq{\)XL=穈BNGݥu<3d3*C>^+**٨=z8@CBaa/,NrH쪪r6-q)>7AS6PDWBi[E`=Mċd Ai uw+|1$'xyBcLfJ'ĎT^q"LKkVo5h@NؼG<NT?hWׄ4̥r)~F՚:`:IvBʒڵW/yz[QJfuU ǽ ?q{S|j׮'Glcb:^Og)RvjP1@K仕Ts{b?w_x<$$ee#4dٸF1!d`Uf +z%u&B{WEBx 8wU͜2غG.k݊؇Dg4+Ƽѷsrٚvo'G]'VwZ|)6P޳f rU=?#*rg*M|>F u\tmTy{ 7 PC9m1Hyc&% \p3_E^ުK;=Uu]q]V75cʀf-T?ϮdD-Htdj}d# I=3VIv*=,T}P_NL\^K*~)_1hJ7)|3O}%vV4*)esxǥ)6 sJ`h#5 27dMHx\Eo62wka+ k!Ydu}Y]-j/d„$#-#.;a~IM\@>/#С⦥cHJ):Ɱ9b-H< u;B@*5_lM7pI9~aŽqv- '|pXH@Uu`L pϻJ 9m8GӲxX?z\?!:BD|R%,Ax~I)q-wN~ UwApnL`S*{&ب~7={GǩΧz(ȍ+o3Э 7,~>t5_$4abI{:ȇJUBSG 22fh##6&Ta[r"c9)$I_}<9% t[eX6!z B5u-];`t| 8 jl.HVb┷o:O7CpZ?}AOcC'4b̮9eDcg" .~$r=LCͧ稝^PC%a)cكA P|Xu0C`,EC_v/ L',-@Oyp3ݗ>cyۆ3RQKz_V^bDDɔڛV*|k(b&0Rp? TMXͯ %G::'U=ܪ6CȆ>z'ZzGwk5u1 #b=:D5$!0b,s>X@^⍦8@S6xE n!Z7 F]`r['Xګiak(}tX@" Mw<ӛC+6Ȃ`=, QW R#N-`` OKKV|?䔯#"txS#2YRZ8l9oMTX)##Wfd_zpn"{zt3>" YѧzC*Ÿd]f3O޷oEGbg_7t/ 51>4 Un*,2F?:QkOuZ׍W`.`ސ2k>Zzk JIŮ*|f,>Sι{=B7Zoqbݹ :y8'ZvtZ9-nۃ7[]Ym~(q^9F;[s-$TK/@[F' g M-&㴭ڛu[]Oہu;h( Ut @ꘚ)sF'ڵ>41 X m,iE᩸J%7%h,7f G>'8v FI˶r>\%AKBUCnOvjASA= sζtlלhr`i8K:PIY'BA,Y귆sBG"w%%93lTd0Rt]c+zq^d{yq?=\'ՆU#=lʝ\*4zvˁeq3p1 !p.h7mnW}R~-YKk2he~x":C:hx\bU0E8֤f%$?zb{cnQaY[3-8B{ʇm{[-ASHyi\T_ؗ%-Bw1?3 R.Zt٤Ֆ140ՁBǸ+*ޖfgqIH^oWٯ~C6)28MsG=xڎtj@T;zrTCmNlF9D/i1rOH~> n`m p`Os^@ɬԱ[N,ө' xcaIO`;p/->" Zb<ע A!!Vdr>521N|Bi4H =j 5&HkpH`̜| u硁Qa$Ż mP>4yRj^Hgo?7 ;fQ'8){|vWx4gFljԼH1XQI*hˀ-326$S3t)e,>`Lw$ǀ~jדnԕSqOSa-:":sAq+ IL_7%?1Pvhx&3u_{IwiM 3e)B-MtDv6ptPP. Q4@r/}oBa}VBWKߘ "{3.4vnq[w5LmZ $CL/ mVRXBrI>jN-=',Uǖ'Š>Za0?K) .ϧsW;ĸۛ+؎W7hiW@e场QI;s6:#]NhMje\,%&zVŌSc< Z\bȱvL OxdZy4-ꚪf5rtGT̏ MM&rD_u)je2۟7T M"Mcq|F^8K.w qf%~!:қCy9ov=4*c1SH:4"8$vT/` 8Ltl&c5:7!;wEI|lc \%nilwv|E@HF; }XY:'h{m"|0V,a IIDz Be^aAгuXKQ4l*!Xu6g|Mj?[+Nd ՚7O yGBh'; k\<_ Mzڪ@Уl!OeUu>V@O;ri*yEN~m>z-@ljB <]'Ӱkfz3g% %zl v`>aN -Qȵ[{ƺs K ?k,׀ܣDrPjviVLPBk2Qeg; gTnMqO#j7HQ C 5{:*l+G3,.i̿73:)}ֵ٬mupo6?X6O',h"T(2=pݖԿOF~,Lx &b6rjlB>9F\5V I*ˠ]D?ͯ)yc-QL%,F )!=V}sDrj V6Czڶbw% ^'L {.okA!7x˴?ƶok1z~qģasniWȺnG*Yc[ ͅh:C$^Dr#+E&&ݨ٬(++9?Xb*-9(9 邷P[;ǯ$K4Y.s,Y7#b/ TͅvFr5{ö#Qm!E u,I8έ;:gNZj.4q>υ'a7Jm)mX3c:W8ao+t#ch(rY=s7BqcP%Kg1, cPSu d^{Y&7 m|8xi-~`a)RTcZ]j iCi +\>AϷog0R SuK˿$~-rx t_s/tRF S&9/y9[&&J梱*ނΝH';XP@<8݄$`+^Kf&_K4FȦ;oxvnЇ8EAn aB*܏%9?y lXlA DBs֞ : }6]e]ϖdn5%nGPo| =j-3ӥJsq;Rquh+K?BУ}ej=\xR|@-(..tAzyu6tnÆdƝ;m8/ka_ CS чHt;!o ġ+]61=Xtϑ4F|vfUsW7.ʬ#Rod[¦>o?ٗ]aCEf 8& , +nQAwTKjgʅF{ gsμRu4GðUK){V4 sXh6+l=@Po{%XV 0^숫7>7ˁES=tvyEvj5܃z);HMO) (_4]҂-.鵀2+ER/V# fN t3BCV*'1k!1%ю\$5 |ڹ5|`TߋN+^.ۻ 5)-XŒ e 3FmFHmܔ. ;'!aSQ26/nζT'H:/RK`H7)f_55~ݺⓤE7Qcl0<ڋA<15#1eAnܢݖܩ+Ѭ{(WȷշPT'.r:D McHk_bj"B;wQUVHȖ!w\IpZCh@y*swi8*Xc_vP XKdz@Пa@uJb'".jN&҉<*iNCKvrq p͏C5tO8n2_lÉQسTnJG2dA#+B 4yN 'ȝ(9UTEb:;$ONѝ%!jq jٚ03M)zz,՞nvGZpl;G0KR Flvᔵ]1X #Ntܭŷ xU(uq>^ߔ`1 [pT4aQ*B.?C \B vn&_X}$q"O|>_L^2컾YfZAH#^7\T9=r_[2K 8U\klP"qL#g=Gs8$yzMƾ-rBerݰ kBpFW7ڣ` 4 !;8^vWi@җW!g Њ`a hy bi'#ӧ2N~^4=j`BO*<^ǧAQ6> ,isq?QO" $-`Hu|g[7SB?G-P;dx_7J86,=RH6)e ƛbq_T) lrW{}P- @ k{H5WE="^<3pªgfSRls 78AE=V wlذwj30^&1A1 F Șrs5y08Z9>WR {O6s@W*bgJ;eJ<Ɂi lkc%(K@zCn6[K]ѳ]./m=f.CӔ8O晓xEosH]Tka!סC8Vpǹb(_>Gn1&W ͼ|l@{:)S55߯oE?P8j_J҅6 ۺnOpU\xSsg: u`Z?RO<8٨%<-?1 j@ G `WU_.ݞm!]b`33&skz܌=q&xœ[|R HT+J^Yo)L1uyI΂Kx?jɬ_FVn*֗& Z&Ӹ9۱+;drQ"Y`g1CnYJleXw _b m]rV4LsOn:^`3APB۾Vm'%>bגk`М}>[㚔P4ȯYߵpl98MRܻ?y_~gJdDkf23du54DjvGECuIS!7/jfV0ePPS݄}o6Mꚻ+,hR`\TXX0;;X"i%qK{9e al_^58&p|{ܴqߝo MbL>P=tPhE$]}Ühݱ^ciM۳M'^ M"0Z}Y&uR+nVKx WH誧E*VH{nk`Ho-~R6BĹCL &V0Tqfdk㸵#d.f+"ϰ'W\: cENܹo9?[Jf~): cMnԍGX6Ii'OH> O#=2z:_ϠkDZːT'0տ565oj`%&&>LJbPS-^LP#mQωsҝjol)Wy'i!v:۴?>@PG$YtUy6Q%߂(5ah(^2V8u //՛>6ڜ~bvI弩EݓwŸߕ͵[a !*\P΍74^lS6m}6|yz/԰&<[Io_O*؍!P8Q G=8 `S0331fvUՏ\Œ]iуU9Tw;r1=ea;.>ITOoRTڜ ;%f:H/Cl imx+@<s\1rvXlq|ϩMعmv+|CJǧvY^!E"C _"^"ETMJ]d<) g.z@Ni+]F&r@7UdxhPS0"D9tXcU_+uypP0wN.xqɠл "$ &eWxc pmnL%TS5?)ޣ[yiQ ]uK WC?`1A/ذǃyo@>3Kϖy>$pe 3b{0lJ/J#FgLJ핱gf>ގmIoRVWh5dیD%dh?iAhj9nt_ GϺL-7X<$72d4虖O$rEI7tLJV'fL'B (k3Ы/x'y3r=oV}cXgr)%kmDz%gH7C> 9/UMK]T0tD(#W^@2恑am&nѳ~o`HW{f pI(|Il xzq-Y.5ȺOT!vw+W>S]]3E4Ξ\ou)rE{u]˨ Lö4j|Drg2HH8`ߡL Ӭ\xܒ=rUJPSpе<@xJXtIؠvR3aX89ڏ?5GՆ'xs&hݹTV?C^,^Kx%NWT6T˱\LyvEWU>kB|iA>7ԒPlZ p2(kS[a'# eag{U%3#;&usd}I`5]H[4yyi,'0J6d!CT _mZ@* N"a2?Aa{ؐM<i&YnUkSPN3D4 k5g˩wk#U⎒ǾuID;̋;DHy'2G,JGmT:M/ xDņЀ:"wcI5f#VBK pw2*0]F <(eD~*pyRgjκihjM)$ww)u u΋nȗ e0_1N`|aKSߡ q{k; P֜7uo}V\mMfŶ+#n 8>nW`7uBU-σf36 'RvlGލ,V;yh<;<2=U;@naǂ u)_|KRli4sdLht}jM\ȏB>Rlb ۱)%ѹ ɿi)hMP@S3XKwFp&47x9T?N$ry)֐Qj3( }u8$i5Z2LkZs4v6qmd@I@.#UifX7{^.rzlB^'v/AF+@Ejas"mW@;Uw7"{&z'#:PP"kΗo`L.5i4-a\&|97$W{L߈+Nu?EbgՒG %0&-OfB3 ݱ=^ 9vB\ xh#G͠?Oؿ535h5۴ޖg)Gn&ђmLMP/q濆ޣfǵaw[:|WI|*MTb Ml0㋈b#2 TpvPnu[$%⍍;_>EtૺK.-LgȤkv1B+u"_ HmQ䦐h-? @@h/K#F8pɰ?^Eʝ2S^Iu0U\7:k C[s3K|SJȂXmjCG*[-9>:v筦5qX1:!]1gZ=?4u +hC3o_ ᙄ"ZjҺNK$ʒ 2R ٖO\V >sX#sMMnXωLiockERqK ng?t{*W뀘 9E]f6>idOGP& ,CbgRWH݉MVQ{5 YTWBN\AƙdHFq,ɴs$SI"k H_aP^R<'0KiTCU PRlQND g)qTHp+8#wL(RDՙ' /Tֻ:!#{ܡ;d[ 9#~'NXKf슷C "xf{U'5@uk/`^y'ŌNe/zl72~֡JP۫6*ЧxGJ t^0Fl`fsS?R-BrYȆ ~|wH Qv-hC"<,r?ZɁn j7_n]-uM/t": l6 T"bjTPG ;0NqpwܯPj|^KSq>C*K 5YdEIS\cx \ѻ '}x *g5oOxJ3~#Mջ7~\Y=2|Y[SDd_()hѶÿi\%uEeщK`>U*L8IxCMIeM[|UjR7꘹FJbFKyGC@g^%+JG{*m]mJ‰ /F7Y  Xȳ ޣ^["JKub7q4l&ԯksrnJ֦׍iLo땚¶_.78zycT{W$y9QX҃['|mths"${4ΩsLN/5n m0g(fd;/$=M2r/^עB^w/3[_X W7NV M*muVpffy}T,B>G@Uw$=͋(Uhs#2^ljb.kk+ K1츸nc`Az%8#xv؃:BOQE= X,)"u#f'rݿ&T-QW-\0Sպ7~-$N8 CӧFQX}``qBfs,v[[ZD: ;=E7o33{ e1.:gM%#@ _ a8 c>ӸBBX&uO@t|Un=M]f,b+*JBHn\6C7?IkX0<4ߴԓك# {x7q!*q޼H?]ֲz^Ś*xT*:ua>Y@spiiRt&f6 QsTJgt1Mې!A$ \=iNVR$]0rM ѯ#d|eA\v,IfU3)[)mS>spJ&!SJ}YiO(!kjRar^LT+xR,Ըd/3<:T-4l~AхM9zlp:$=yh9O> SUcIl9>2@' 5\eIM70z=cEs Z'TlN[H3,Ixpwli{n`ɖMD8J~&MɲQgƊepy+q=2՛S ZB352Q!s*?_ c6Zþ.kT]./EYR`)XP!+0cdU.p_'LAZG53h 5kӺVnOAW\򶤻`Rś;V݆yQ~!FԹRj,-_ 2\S Vw,$'fb&@f(zmKb_6AbJjN&`g~?AwCT0 {ԕAWF_Q;4ۆhA} ٵt2W845|d1]^ вfx5|'9,e2^rDx]6qXo BJBI7 ҹX_l$Ug whP>5Kz5b(;+$a~*;vZd4gf #HPKsŐ+/>3ă]6 bܻҧ#A9,*ۛ:u ϑ6 d!A(,[y!5+\A/d!z ('O}:z{O/C#g_p4TUĭBorNtdGzKbhAŴ AM\YL+:|ũSJ8S/ȅnr#({ SЯOjdrA ]owoh ZviG4_|buHOsb,/G˪mM53$fm*-q |6>3etntp\b*x[`KC@dJC|eM<sKژ[t?_?.H #_|ي5)[H^*a$h>M|XϵQ0PSFWGC񊳫p<%_djmziT g|Pis.Z|CFJGL tAipVb0F>O_KaLsE>ny>,J·Zв<3HL@ X}N遁R}<@ouplMg+; i3m-*YuPvR .,YB6~C4Ui*0O<+p+yP|1;(POusýa +Q5R8iCSz JosŢ !"!E*Y ==#3?||n_k98}<uO̬{7Py+5#*IW z GBDw.hEc~Ľ 3Vs4;]e󙩦E45% 'ȇWlV&QIC; k~nV W!9\D.Vr®Ƌ}Q|Jf(& !Df!ׅ|nWk^H]ŠKŮWM l; !64AF;P;I$#@4E@B њj=n<9ԊXB&RPL`⟩ j{{l5ְ?IsRhé8Fډ|[),v:nA[=NF)>B(U 8;>ZFHgtP -|wV#d~lj<si#QA]&N\Q WrYiC6My1%ޫ 5G BߡJsJ0%@%nROK?i/C Idt? Tw̋f=t8 G2]mYYteIi|4!HR0ߘUCVS1*QQYvJG$I'dнrOۢ: -& _$[I] T$1.h[ڜ=)W#E;%(ZZWICfȋ_G.R(x~*^BQ˒": =.z=z]1[冔7k[8GҭنNߘ-ܠ3? * -x=TՐ2ju`y`n- 򪟓K+(DY^ԣ(u@7u&-y1cbo=DUwL* (;qD`TEiɝtw p]#21n;bj9]wiTE.A!chV]_-&vQh֬kV5h"ߙ i w?jaR+nr,El䖥_8̗VгOWSz5>bMNvoMܺ TtDӇ̝BCp;$'·͑[ Um7(_nB\3u![s],ӵ, JU'{T: psG8bkְu .ۦsҞQ!U6mq}EfK,s-lNl*Omf?u0" pdgA-c7K1ZRX~]𞳩pC0Ϻ;f"Y)]3c s7|5lIi >ċc,EB:86 G Ǩh?'uưTҢj4&/3b8DB4[sX)DM]h)|*3QvO_SBnu$@q`7E{`<_紡NTUOI#ء2UM7s$ UU u2KDRЂ8xq/DJ}7Jː["c._[#?=S1n ޲m)j6oq̅Jvw$;::}ȶ Eyp'XZCa$l򻭇O+Z=݈ bN'ns)LFТ5|^2Sб綢DŽ3I ndG˩r'-dk65ga]:RD.xa %5kX-x3ƦxgUY]IBL7jn>N(nM$KCyD-wS!kqUT?tT9qyo.#45Jc'%ʀ$E נx*Uyz ?,,6t%[:rS=L]Ε?@ @Eb׎S4D@VS-R973iކqj].3x]Bm:"h7V;ĺ;ĭ;7G'1!c57LvY}|D4}30\2(/zTV pㆠž-\tCXK -Ƭ<,OD&$W0A>Qy&wawnt YteHtCϒ3sUi*_Y8aŰcp#N b_yXBOsRɯ cT߬kN]h2֊ΥhACMJ  k\! ,%2HJC9cHY2yp[jB*ɍ+K(~2Y?chgq YZx8 wv N _khZV^_ pbx'4Bkk!dx^։B]dNED# x$N)v`;G, gvؔ)_7*l7K'Q$Z:S5 _FxZgn8/p8r!o#+{ Ël(ឈDI3i\ /X}'S/#I:F\, JmOv ĸ>7.AY`gwrO$ϰNt9ăA/Uiq"9$53Tн{-SFnYYS0H  ,91ވ6;z %P步[wKGtv=jS /r󀭤i.?D}-; V:̱oYJ@x_M6)x U.oƬqo3hj(ѵA@Dr>r%]/+RRerR7*UҰ/Կjg(Zpmcc*,ko+Lm%GR`j U+qLe.{7i融n]]T1$JGƓ"`c<6iQ-ѾN4BИdM=$Բ 4!84#,pO|uΛKlLv%Kd{<>y`73U5 reJ0RTuܚf j^ 3W8oK/Ch|?MėG;v?h{p"BN^)t tcmXjiaĜϗqr-uB n*S>  >?^H/(d1Co>E_tlDh%k&D܅ۢKԌ" {hFIFG;1'KP7h * !-[{rLH9ȅ0q2WK%f-^)/ڬ,`']ӏC_R 년LS Dk5})KuocU2?TwR.\:.OSߍ#Az7ȉ\8 g\f`_cV dd# ֫ `nę28fikvpx6)Y}2M23UcE.,'$yaS.#:/+ "<͌͢PvNv|gO bt.xkI1^1#K| ;&'⡆@dS.ɸ7(Yup}9 Wt#M:gF|u~GN)ĒSFٕaV XmO/D+=W>gVf1ҥwJ9ѵ OSrji-S0% t14c餙58d/OSO2.%ʨ!>-3e=TXLOΓ0C:ъ(n@.oƲϾ#4p¡\0\V"wVg ǥ&5֧|77lBSpW;b>q T߳*TwI#Y_J)N,{.--mt^C%&w`7R i_rS—c |=PT;^tioN}Qs@!Hd'7( dH2HFj D}6 [b91]43.*8A5bJ+?Z<%zNX㓬YڽptUeIύ([=">h&j≀=gv.->Vbm# cV)G+'gLk$6R#b&) # m1l8,TP*A2G mp;EPЌ~^4blo T- ?5CmJ?T5_"/$f [w l>c.m&@(EU, )Hk\eGRɜzI?{4m]Q>默ZˀSqЅ KpeMi+t3k^U1%>+!$E; wwA}P//KcV;s5u*qZ E'kI0nTbV.w4FK2t3%G^WgWL7\B)\;r8 J_B(>XJf:L+),-9%OUʗ=GrXl}\4菀F u580oC+EgEG qbF++BU&b8oQds]W8}nufX *FZ66hJ.Y*FQ+0&sYIQcw@}ѣ"ߑQ yzv F mr9s<0q+zFRpdǴ[ ,k+b"X\$$tAxKw'RH5~VU~Xf TqU;CbHR5|&mֈm]N}S֥ zH35! >-mX)g(R2.}&{yC5̹cnsg Z~ZWgŇO+d.2j6 6iU6dV,Dm?LߊNoV|K 9~]y4E;RW޺;ȼ V@{8d/_<> dcׂLK?sht\A?I=W yk9:% פ15<6{b, ml#3M#gvz<\cI]u|{܂5s7cAEh J<-? +Up;+LQLja}`;jwr3z\YL)E3Q@E6dⷺfuP zuwV82Ձ4xnh^Pr B ɑK -ɴp(a|u`͉ &BROϕ5 dH5a!X Y`gmoNc{Dރ/砩hFP5"J8C1D$r88^4gmʦB_^MjU{TLv3Y.2C(zCozf$4(8-pqMcl'WOLsi=mVmrCCz099Eq祆[wh~c6ea/Mޯ@?HcϝmUZ˫= xX^1F[XgenB"6dc/(uuƁa̐tw&OݮtCf l`p'y-Qkכz-VD$# "zLK'E)dQJK`sj~V}kfs)kik.l_z V+3(3:@oO"^6V1Yoml*8w)V!vT&'v5^mn L1|zlG!1{}Ko8 l<A ƇZBD-8EI@e>3^qb;v~se9Ӷ%μo.gʩ]=kâ`gp֚{'5z +t*)K8+B!&q̜ HC‡ Tѽ+܃*S{7C-b"ɑ. EWZ4Jhtng+p7X{pIuR^_q>u(4?[ ѥu1n8%]@VQ -CXih)yΌeN8XK% ;0{{N,YB@X;V1#T|to5%DA _I&( 1ZmݲZ&e*@\hޯ]ڲ Xb:`QJg %RMGu0lf oSK ԷU T^|UI9qE+@iO&2YEL®KKrf,\\ԄG5E,Rhla0؎G^6<~oae\.mp:Aېs&w|<<ʺsQkh/clrXV71($ii)ĕvgr{"+k+ TDkxQ5Y"~r^zȖ-CY.sv3n8zMTĠ`p`,;n Y'[|ႜLpakcS? 8( czRrkbC>1DJAp{2z\F]/X `Ĉt|=eǩ4H43 CʾVsnM쌕5Jo>WJ֣g !!E(-RYRi1A(,u͛jYc/6 z,^.=kf|UFE(Ҏ@lqB0tDi 2OնɍYy+1s.o;FԨZ4x>ca;2gU0ّB2uhr&#zYvG,H-e\HFpbj3 |i*a5⾂裒 +0!MjΑ2Yf2 ]EYbgPp=0C3=Z4:Cjv.zh7N5K@ mfD.GL-}93 An\lM*Ǝ@Fu8.?2{ucP5$չ$} coO%w\URnQA)XE2v<{ގlD{7,.ߘ$:mȨ? $2]I"_5ؙ*xW5,Ǹqo/mwN.DxφRQv7+- '[ㅺij7gNS*թkWA\B1 }]\AzXywA1mY#&}2۽L@Rdf[LY{ARf +C2)yuxEr+aT1 q{^)Li҅B0( d{A6Y|tO/]c UNh SP\P44GaS)-EA])R(W[5mC57*6ps L<7{ >m-WE6H? NA:,&=u)<3z/5TwX~B01"K0Ȩyƞ~r-IOl]qq=]8|D\G-~P`ސ¶'꽒gђQD ;+ni`c"غ{4zBPaͮ8sYD\f2Z[ad~Sa Il`yU2Ĝ+T:1}6Y%EVP\ƣB%\% lLꇚNUb':;@1b⛨7cp䃬sl}TnUBrºZ5yFGy$恖r[Ê3>3Z sTYe]n mGL >5X6. Rh7zhQG}n8p73:M v(IJ+9#VV.׳MVxd5 y_=LC*Oي f#W$9{_+>e1V!mF2A{xz6ķ`3꒯H7.XILyRB-@XެPygpj @=DFK\9=+L2Ό(H'? "9zG@. _A 5+m|DZ$Ub Q!,DkٮKV"U p0np)Jcmk"A(9`,tcL+g^j)lJCV^ٗsNoVrmU"CA0yxC̬wTw#I35OuۆQd'(B,[uǷ , $}{)G2|]Uذo7GX˫D.p \\7W5mB18KIQ?b%Fcp).$6_q &|oԎ.8FǶ#6ӔvsAT0/uN["gTE Š&RZ. J-P$&F/vWмmuiF $R'X-w/#fMbpWo?<=Yh J 8Wʗ/vs.1cϔh34O7En.=C<eփڰG:H¥gěk:axxɦ:mnokPzzŐure \sw׌i+: M$'`,|Y},٧?€z[.1a8U fsU*8"p%85 +`<!7n׉6bnWms'Σ#za&.=1ܜkދ_zn.U)z sEE#FԌ_bx5~&X,}l*TRbqAm] IƆS8xoIlO ߋpv^ ̝X!i-+i@qƦ~;NoxZh&Z&_]na[G`w) ECnZҕf.ļAx樨0h5}DRzwݨUeL-O)O K}/+wՐ_㕄[  L*ߊsBSRh ]>5:5h*pdA //1Ѻ%&z_6ܞxZS M6wTvޘP]&RG&[:4h ؘc* GMާ-ybྃrd% j/F`X3tiȼ AA~8ߦ:)I=5 |^)-բv)M!D ;7$ +c7 K!'Nµ_L3"*^rt/B*bN_n qDi>5ZE‮kj%WMh9e :х/e>3#ϋzSJck!' qVB.}o]{.dq UA%tPKC fM (+X Jj!?!mxݔMs5q>xsx4iC{D3ҒaĹ>z#m66C/XZFSxF K/nE < !?{v֖o2 5)Њ.Ӱ<.E{?-`4ʖg 8Bg=dItk=+&}g_2ޢضj9a EH>Hzir4P.czW4Aʽ{nTK>2l~|auj[YBi uE<RW 9V$oeㆂSFwt9~/.mv qg莱G*-EOGk!^Gc0ViM]Vu:֐0믥׎jgZß-4èKKe>ÝUIԭ c';]I6cBYuXѷ)mQys\Hvx.4| 78Q"FyV\dYϨVI, JUb`:uba52kl۞61㐁K`᧠Cy?v^d&.7Ւ֖')d_( uM;{ EiJV:)/Zsb`ee\ZtN'}~Z&LtZQa{,`8OgN^%W/|aa6zvk7rS{H7SNv>B( tbIֲ*8uAwLHA< ,&uJK6;_JZNYd%f fWN4 }/ 5?a[.UVȓ+7.MP`9D}oȘԷM╘ D5gph6Q~nUajn]W@4̰1qI%d?SEP/%'QD)߮ B(W`,CcBK(wQL M-0Þ6ǤlhUAI涇0O+b XJ-X4n">q[2 Xz I⏀Ɍȟ]-z%c& {G`_($]r*u 0Dُ|p3bbH%r%|`N}$F!_bf=S~ iFήp!={RQ=/4:$w m -qד?eYC:T.ԛeC병;(y= !ZXE o8SVWZݏiI 301aA6 cKD Kꆩ cd;ߠ_^vN%~w菊q'u <=mDl+c9JwGܼXu`::=! $[qrf#jݽs7lo9{.ږ,Uǀpȧe| ^l_s-g"Wf0 <咑`h| Rhn-dI7[7GgzUp &6I$M?)+ڞzG7Mx.qʂ$zp|v;.>/qEXL!KE'~oڛrPw,vxein1C3[ JN-zU=C`JH:S_$AI0t 'o%!+B2꩸{3r eK|6 ܎ Jqݶ YZ