libndctl6-64.1-lp151.2.6.1 4>$  Ap^Up3/=„/WYVK\@lhEQ,۾C3MH¹QTqڄ~$NIǹׅ'N GP;\ȨvIBVIe`kE#M˙()jkcP)(~[ٺW3"M\%$z?3eOqV|o6р=@)x/ťWp)={P)Kc &H"ޜl"MHAz3 ,y׎OLק90f370f2c96b51f9a554a476c98f78b254d885783331a5adf2b36faff8a88e0ce935803e4eaf670b36187593971ca0a9052c54e5d$^Up3/=„gjД)V7_[wH$6%y;V~9h?򣉤lqw#P,Mů*D (5H5 &*Ɯpa uEDLr$#V%)tmQvӏYK?u WuB[grsfLYJݾp|QǸ. U@,TW[% Lv{Il f-1;%@ֻnJMLi墟Jm\>p@{\?{Ld   hLPX\ox      0  X     8 j  l ( 8 !9 !: ~!>t@tFtGu Hu( IuP Xu\Yu\u ]v ^vubvcwdx)ex.fx1lx3uxH vxpwy xy yz6zzz{{{HClibndctl664.1lp151.2.6.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).^Up*lamb10openSUSE Leap 15.1openSUSELGPL-2.1-or-laterhttp://bugs.opensuse.orgSystem/Librarieshttps://github.com/pmem/ndctllinuxx86_64I$h@gA큤A큤^Up&^Up(^Up'^Up(^Up*\Z.\Z.\Z.^Up*\Z.51578a99ec7d4db23c1102506b5aa19cb857948b89d57945c2daaf1bc525169ddd56bf11afdeecb099e8539c8dd819ce63c6bbe7c6c2406ee0f7f4191df028c689807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e5c37e41135091a39821cfb306ad8516625b0bb49510ce56ad85c347bbc46df29c3f2b59a99aeec31782a4b1d45cf5c0d6fe105a50dbf09e8e94ec4d84b53a30f9397d01be0ec93d29384447ba18e532ab7b01af8c8b582ece9f10ad45b9568dblibdaxctl.so.1.2.1libndctl.so.6.13.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootndctl-64.1-lp151.2.6.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]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 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/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/ldconfiglamb10 1582657578 64.1-lp151.2.6.164.1-lp151.2.6.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:12034/openSUSE_Leap_15.1_Update/c20c1144e324c8a8b6f0ccc946228172-ndctl.openSUSE_Leap_15.1_Updatecpioxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7df4615c112549aa30668863a24f68d18e5b1657, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6ea66c13c2b8a9e15530d2e7eb7924c425157f96, strippeddirectoryASCII textASCII text, with very long lines#PPPPPPPPPPRRR RRRRRRPPPPPP P P P P P P P P P PPPR R RRRRRR RRRRR RRR R\qdΰ@S>8utf-83617d01824399f53b94ebb30376bfa79fb80964a311d5c0b7c11b512f9b3409b?7zXZ !t/[_] cr$x#1Kj.\ @X be ` 6'4h,Sc8CppCPꇎS'4^iwCCt bWJ[bZEC<hyRGwx}uN!^1ҧ|K!Lw&1C)a JEn) [Ȃ u|{[?9嶁)8D) =Bp.*:z{x gDucċZ}oHnΛ1P`Ti=Npa- q#qn[.E2vjCkYkIҢHO_P.E1tg 0B؊XKfQYXB!E>W&mr]GqtxhQI9hZ ivD0v%m /éa/LHnEȺeYbRd|فWαg雧o9* Lna_,Э |łE+`ZD 끸]t/z͗z|+[mKN?M7`\"#TƼx6lR,G7eWG蠫[<#ȭo ;Gh]k{ 0HT(Ȥo%|9&Eul$XZ"0  PV&lmA*4a)I!)ΡSql= [j!}a]C75cuȚyCJF E&{\<ߕ %$ߏCzX}!EМ~TU%eu]o`n4@Shi0EaFf8P$lM٢etEVܼ+ \h?1"ӯf)=`.xe0cJL>9cb^(j˪eLe.d` A3>L"=iKF#`B KY o&sl\HWp5W#Dԟe1i}B!yTKĵ47F9r&鯼Q,8-%j]'Qjx-~%1n9^.؃,oD8b_θ\:sٻ-"]5VV5 oz. >熌b=2#8.2}}p>pԦԁ^#Sηv`ԥC {~zJ>p>Qs?- 812 U(Tڹ +e8e#|CB fw?RL})ԀfY-'b_X ?0sQͳF[zADS~oCSh/C)m[>$P'¾(~8^r0xqT`NIS@ƀ>T|@^nM̈́lb!nVMˈBD䆝|m~Žv =XZVd#RzP3? "Bp܈?b!>=qTJh2w›*N3R=Er|DR8޽%Xpv+K͔Qy Na|v!ioWKDNA-pEY}*+JT#*F7aǣe-b3H,: FB ~@5[ daї^VFn^+^2(F;; sSZ -'͙@rh1qޗ al: #b2*ŕ4 d?FkH4*3ێQbȏ-fEzg|#m߭9\ #wH)wݒqtC2=ZmvZ=QAʋߣcKnLpzm0ݾŐzvA?4R)w",Q4mZ{m(mrR)!uKM9'z16H {7,䝎Ru0An  `)Bp.AKtģ*i"pῙ")W` 6B" P VcQ(KE!7mV4y.954)EΪQƽ檞>lY!3-&R$ܲveM] ::lh cRgr.RIC/ͣsV+.ojf&9Wo_Zr/R10GT2fO(׷yteSc%36Lf&'*TK6oVǾ<4d CIjui݁.0{Zn;rOpլÆvo11rtHSc,67:Aoy~0R`OH&z)ւj)h N;/&$-Oct@-L'ccYe6C5ۜz&yS;hlxdOũ݀$}5(ζ7p֔aK2,z, qQ6ȣtS rmfr8$CLIIwke$ bM1hٍ5wz`/O2in^$wnP ϵO\9N`b&IJF?ڴ 1żoPCߙ^5ʆϡ.Zﮃj6vLg#j=Bts`WPdH2@r C\6dހX{Q:# m&5(]m˽+1PtRߐ [=ݘӮFc YaőW|ꁥn@,!G-Hɝ`"XjxҹZS7^>3>SاUGDeh1@ ʺ*D$Qlb2 mZ9A n%#9[ianihe$_'_axp-IQ*W3ߨjNƐ)Q%A3# IΰzTi893o3?}Đ;%$*EV 9l] {Œa՝hϏ zGg6\P#a !e]ݸ޾ш8'YtqU吜iz~ҍ G~5.O R8bO= !l٫ DMs"ţԴR c Kj,9{sK'qC>E'/]htr\@J.+-J^@9%kFkR-b#Kx(bB.ul  r0[+Q,eNv:L(I(iMd2vϵU6rCg(Z(/ >ITAJuvqeKIy JV QZ WR Q<}۩W>J8w^_7U 5.8K/P`s{&ނc\__w:"#]PF.FLrەbpBd=Rܡ ܌/OBH=4olpqea\GV%gםߖat'}!]ʕXx(`&DW sCǖ\ bX < O~355N 4It뢤.W`v4L% *?7֨`Bѭd1^iZ85$*ND @ SB0_%2>ؙFi-ez<.1 8FE~W9N7$(4,>@8aݺ96)7ċ ЖMm7ұAyNR 0!=Hq䑭tȅAfYbeQ͹\Fp2d冑W/h"(z6S' ar_Yyx(-ZtZA8. ̶,N8Ijt.f%>e/yn:QYqЊg`Eަ|sI@v_06w,ہQtҢV"N1=G`Py4!mh4}+B8lvhO[JK2[W[: 0s>T1 Q(u;,Q8qe.ڐ ܠNgښi C6Qh  NHDkl@|>VDl }H saq; ( 0!Hչ.h<dΘ'Jnz[U?@ $vfàey[ U~ 3X\nhoqHha:w$aw/SIAXIvlDl-!-_|P)G7xIrO#a\ EɄĜNX`vl`лh7pڸM-5 E~+~'r_H-_PLME1H =ͥԹx$zu "oIV\i}4!#ZЋ3&?$G)O-kq+R΍7x"^rqhfghD]JCnڂzw:!ei1a9]siO 9|P &jm251\d#r@JvT WkiS 4 ᠙#MW3*cɈзǜ+T!.nUC%F \glh i?HqwOTe`~hҥD_[CZ'}/svU&Mx-˰Fg"ZOW'b,DE{ӏ1B 5 0+Tj$ϖ/ # 8a iVܷ<̀'|Ӄq+_ #ԺmzN=Ѝ|V>1K2lJucU܌s"v, ZD[\3ﵪhR&@A؀r ٜlm ~U_zx33X4W݊6LuOVg{븄4C Q'!{+Β4HY$鈞iۺCBgqM؏ӠGTǿyJI8G7vjicsu!E)GQvD({ o"E V?=wqc0GhѸPj: c #K=uH0Ctξrg3#6"[VT deZ71@A80F'E/5.Π3N ֥\SG/e9S9PiӨ;t+QLvlG8!0c1 6փO3J? d@(wRDr[;ʆ[5.ìaΔ@wX>jK 'I]3s1#Eg6ֻTFDRE%,Qd@eVt BNC7g}!(5h_Gmd8ƔH9_Q8z%OyGvl)ׯھDq8pO=BЍ rGW}v,UmoZ 6UQrT(/y>P4@:C6)XUw4 pyҍ= f4[D>E;7^֧-o'}پwRkođ-$W&Up9jmr JS,mQ5zh Մ y1얨sZ.l-iHxrp^R6Ne<%Ԅ P9k[#Ok8VaHMu I}7w8oC}_ -lx?(ōJ8o{R7p.KQU~۝J,&|1ޯT ~BL\,CTr +W<s?K1HaV􅍄Lx6}9d!j_bl!=/ m:0 Q-sRYN{Wаg&ҿ_0N&uʜ<Y`)5d;eDpćuˊg7q !QF< hk(XDVrvTDF-]tȷȂl[F@8m۽W.w==WaS+``7u]> ܬ.Cnf7Xg3#Tm(@0`ʖܾ4JN9{֑:k6QV}. R;|mpom1"[~-;&)( y*F;N;V:l1Ȉ"`Cu6_hꋖ+&:8>|% K}-l|;) =t8[]XuVGָdyFT7UZb?W&#HxXϜMߔH4ݙv Y4{wlfaGW.Sv F'ӓwL]C.O򽗳OKTLIօe,wn=l!ε4ar@ i= SZl49p"1ӽ? ZvI,:cB%x4(A n撄L.§WDXs\lnhN Ѣ2|._]ƋIeNU\'ݪ!= UsIBИ¸'ñ;L \B. TdJ&G uBbtªLSkn caH~?vW ,sR $qMX.M De"z1Bhlmdvn>=^gXU RrG㏂ch]bm'|N؍+>yK$&Bb#vN4H%֧_vs^RBXҝV&)ӥE\ x:mKTaJ=1 [y|>(Ε%Prg|nU@zU X3YeTslHkT it (ֻQ(ƒ˜XG ǜ7\!v:ffOSK N_r%]sL%+6n%0wV4p)хetC6S)Dhb6Q4xX[lCi֎?gPɖkZSzjQ" !-axl;+W^Ѫk+$ w#/$tOylr16? s ,MI0)e:C[M`2&0h#KbW)D)v,TiGJ!sg[ XhHdչL )BIˌ*'ށ}%tdU IdyjlDHj _ R!;oBxeF[업Dj`oEV6 z^5gAA$S~-u#wQoX@o]c`G@I;TXDPϹ`Qy7C[k[CyA1j_w ܆EfB*ۤ]t6z1]`GO Ti~]nKD?V_aDLr1aU@ N_нeѪtbw!,{=cLrϑUGIk:ث98R(~֜D$,J)8 үD>n#/Ds5CF3ͺ*;La^%rI /!@fG_ZǺKlzph: +F1&]3\zuH-TxgFƨw\Lץ.*uPa>iJ!AT(u;@U򇍖7Ϳρx,ŖEC9п+9oNYZ9,kߛ Af!x j$`[gY4}.Po i[R-@<̅Y[n|mQX؁DY 4뉊meLSϖh2ʔSW\Yi'A"hY n9UZ@;c5'E:#'|~z)opDeDH!; F0#3ծLF=,R)LLjJǭbhK:Z|pq>18Xac{rLfοPfڋ7>m=nJ .UU 9PN$Z#_D9:LNT%Azud뗖z1]Hlog0r`vH8G1cv[_im]tl)uE%mN_$X'F̜1+IU)5'#DIqeQTaw^iɬrI$("PlHu%9Xg-Oy7cx#70׶v^t מCT>-ұ} 抔O~C`LoZ k=MiCWK[ cG />; V39k9P_ee`QOX3,Bfo'Bg}-5$)%m4P$YSTZ~^F[,&5їj䡣IgWTMl*fqUo3U;]Ǐ|"sXO,7DQ j}ZC,dwg%^ǚ0]Uxgf@VCD0 \y#oZ]cnPtoƬmC+؝p~ MY3CG_P1miXG_wk woOPM&$ORjūki?Kf; /pUaDR'!Z\5?{z ]׻P!piBt,nqWo 1$1}OQ*m} 5VWݱ( Cbc܊% cq 0Pwa|nN@94Y]ɇ9xشީ3&^gnܠ 8굶νSUAA`Ħh~FN/p/9(1pyūk>%j^VSc@o x䖌 C4ˮ bS#)mn\N~Z ;/0|hBjy#d{N;>{R(:<+?s!F 0iK9ʊ\|'إgxAf"R.qdAWbpxn ēiIheNw/gM37h : Ӱu;*B,8Iϙblh ZdFsDT#!- ږDSX.kR<$;?ݙْ숑 Zca_lj[Cܑ&,γ~S'һ} ݅23{ /-2ׄi:9nZjWh$T_qnNN"EbH.U6Mv lprMn`7@~ߎeGW>'Ib0@8NH𞝜7)SThM"*4G4q%(~^\G^k⃜Ոق3}GZDIr[/Jl25(asAOr;aq`G$4;"SiԺqwoxŇxֻ#XߕSi<{ 6xp1:õ@Hm"œ Щ&-KФf2K* S$dn qIc5PJC5Q>6o5.. {ofKoLOwO]VȪg Z%'GU FF t _l ›/vt=^5[]P;8m:?5Q=^=x&dab9{L֋sz"V>FW4q~rVer^xgH7 ^ȜowI07f7MЙ~&?cfl9S8;F\~VRuiy%S7m?025uK 608cث?-.jO"`sQqݩ{ { NRI|&E-dgrO~LF[f_c?p>}E΂iYnyw7P{wܱs"~t&LDZ?!E@.NKm+yD5Zn|<t0a!z٫\ݧņP0T8.!{ 31:qdNkF65qH Ȑ xpi:Iq5^H₌Y*ߍNt#mWe}vgvUAL4:В] 9˩dL:.`3< dkK Bixgq"hE0BqWsxjvcXOan 8>[ņYG. :yPGhp֬zl]4ù:VL LY j?FT'$} и&E@m\װ`RP^lcסP\鈬In"e1@ RɁ1J [wubܰGh 8j {o]b'XK ?S؁vaEJfB‘BZ 5rx,.JOH{l|ihY.|'i5 x[ <#(rtӷ/cȲޚ%PtA]H348o+P( 3MR J`NȎ,-o-h\{ Mj--H"+iVݕ^%| ?V_dmVp >mbw{jĝ2H]AT>6h9s 7瞖^l1?^=Qꢻ࿑g4lg 7rqiQ!fΞnSՔ?& rjaȔIFZ/`Mvn(DR;ι_?_<ا ~2:F PӬeٱmal\ʸy9O<ǩBX~aQKO}/}4mG3uΪB > D;Ȳg=%9o Uةz%p)ݐBX xZ,T<]`aęrz':-"[U_ۜrX NTALDUO0rꉁбai凔qV V9FVAh֊$.{3VL b:hl<ϒ0H5:47(1qi5B ƹ#dgAůo%%~S@h)N(Zg!ԫ.u@➏X mDg+P<)37_N|~b<#B EZ\^c_! 5n˦ ̾v2iQ@*YK`g5iQ]__ۓo'*8 8s- g'z o%èpc 2c/VA-lAeȽ& K7 %l!ƺ8uWn9B0nd́@%§L~o`SBkqzBJO3Z5дOt/$ˡ"AL2j_F* >tn耆-^AL:Fo39ə3|KhC,ys5T"MņAbb\Pv5n,#\5]%GW FYO ֝HrLLfmTi>9MMf~R]2CR``g{͡R5'զ^,k5uثx:&-Wh%躼dӼ= gIDWm3 C@rOrn2K g 麊3`_-)9`TR? d d"ZWk)+ɤXj"wY-Et̞"0A)4-7խF4"wr(#wci 8EfgZw/da GI(Rlr'[˧[n)LGw8)nO\PآUH7?yMiSҀNy~f1qQ\ utf!9s'Q,-$'LVuY$kA{?&> wTgD&nܰ}ns -\ /"v@(A-6ɠ! FEԯþ*Ѿ>[Y6;@F6b'ݕ~Cy}n&&#Kj{΂ ű`KY7>ޠɝ}"+p˅Mn/^}4JfVKٹ } jnN[b~3p4~|%1fjCH6lw&{ܛ;Jaq2 rM5\@sIozjNNJ 8wrz}XʊnwCku0B%VhV~M2}23<֝:4 f nL;jLA2SV DOxFrY!=DV"*K {AX[$qvOf)׭K…"!+O9ضqjQrzX-#_M؀)rs8FQu;&L"z}ҠFE C1O_`kZv"W:!f[f1"=m~츘3? thf~ VS 8tmW!ZN#H'pdRI nG&]{`[4Sq:\O Njk,dbn>z5 dĮϔ?lCIIB5q JT;7q^{0ۯYn}Y;&8iɂU!4*_jK IiZhgzķ\9(zlVx?Q۔Yp!+NƇu!vFFQ0䕜H BWՉ|kpJyJ.9~8:ؚxjF5L^9[l1MDz̀i9mJZ5 #٧4 ^4!bWКZx C%d5@8jNv|,GkiE6aAsANv0~k7(}͒+ 6s`ޡ籟HCŨw)xK\m4'nʼ_hyqˌzBCoBk:Zj]Bqq]/ojP\&9lIH/ut阓s*˧{ɇw5K'Nhi==&}ЖJaE{|e+!IJB@"Є6Eomã 2zbfq%_Gn[j *тˍA<;tk) ax-٢fRb#]5>e/z8V/"r&lf[E_|vvvD J쨻ص)EY+e+S +p4 W~zVmN)QNF^l,#Lp"lRh;ڬo$7 g~&Tx:M5g_ÓYB hİ\)P;nLSBt9਺D0_9vxe;"p}ܨJ"'GK> 2K*x zՔ)=-}TbU&Opw/FI郸ᶋWtE&Ogۍ򚶋bCa/Y2A:]B0>ȼ/3mS#%@]D[HCbbxg;避9%wԿ&c}"*+R*,Otr*v!誦՗#8cdK[xJkLYVREoit*zѨS Y=*) 6&wkۆpE d-2N9EP{RZ9щ'!;`߇˿B,P;Zˆ=~l:sُ78j#-{3G*d?B'9\ߺ̮Q!V&'TrAdd %+kIZov,j NljZȍUzSJ\JԎ Zh(‰a&y[h6L 4UOc`38D9O4n_m p  ? S ZIP Xxx FۯaͿlv*qKi2PJSHd,nGTr!8wMBˢ;oQE@T ,`^0 S,i,_xvP]SdkC%osþ)~=FQ! b3LnX[PSZ $"(6kMU!Q,j^%r%(c+ďAi#,yh"r0.fv l(ZvҴ*ubi@T<ItLDl3n8 ":*xvoki t{ WK(i-r*h͑y K4-t> KvSNib'm w^9ut^i^CS|IaƂJPN1Zbz{|R23mK#ӶŰL< 383V C0*px7€<)7Jc-F5Aw롉% uP˼J~͍ބr}tFKkF.#&Y2Տ `󯸦Iگo( kР< <3OiG! 1i+!tX=C)`8u@dq ƼR2W]"lp8x'د^0:\&z ʴI_MMr'\û3 +-(}?HRvR!G, q[& ]zA]WpYrZ\KWNC~Y\TS5Kو#\9$p!ļ~roj:BDo:D`ٖB9A;u\(![ .@T]ID"m|R ;u-gۚ%,cd3q@  KMs7Qzʓs%Ek2Ck&@gsǟDE쀾@hDck%B 4)(翭w.}^C1g *1u0XD7~r/2}YYv^F*? D-EXh|GR@~ mBnJ8b:ə(4[zEA׏4"> WxefJ@ ,ZQu!q{D碟1NoGvZ<0\_L}8ҵ0[q>?c2 Py`ob]g-Ϛs!Ӷs Ҏ Fx< -C8GсVZvima!.sz_F\;յ2t&eCQ_L ucmɠqbSM^Uo.5)`l+o[ee}GSg@o~IE:_VVe5 B-XHq=ŗ̀ v1|@|].^b[ GT',qĔ͋3e9taNnF'Bj Z&w>%~l9S-:I\zѓUz$G,duH\T~ߥp`cմZr/:c&lg}bIA>*"nXjΆ7ڬ,,72㯜ֹ_;.>WCA[!YpY݋Yw^+/qXX%3?u)@<84F\UuI396 T׫Y~;0泽Ig@@'c<w:NwBRcjRXzIF5}/2U8Bsqno7d=8.ZH Ȟ8 X(@8U=Vh*ĎW@>N~3Y~*C7BUo*+sfs#-M  'i wr]=Jcs*S_ġ0e5chZ&ǻP/~{'v*d(`pu),GM\P #Rl~>K›a (%w VcPIYa޼&EKH^o^`+b 9i]jLnZ2oRQҫ}mie;nF+ZdI~Ӗ&w u UrLr&o}OdɩS|c/*sJr/BWYJ#ьv2{euPXocfe#CgV_#`Hbq#R̤Xaz|{2[jv︍v1ETyMzqNzu2_)Ϫ-!˥"ܴm,9g"q`l1Z(F\}*ӡR"UGIԱ)Ĝ$xݓ} |ƀ6=u E]z*Uԅ>DX{يZ ^u.Z0# S"WD?l\KZTxHiR:\Q+u9*oy?WNjD3 Ӧ jZFq aPQ5a1[n;"ZyT ? aVq>ZbQ&n71!b(")&O@~yCXb} (+o]R6|J<6#(b+Wϯl졯0 !W?0p;"7ôlKu.WxZ}-IvfRsS)v@m`pv4nKo.>b. ߖk5Cd.>S*3C Eb dpn}w90Zn t+ :@Ƿ(n#,Zك@f5dX?HͶ=Km^VGp]f篈@AɧezT+c:?aYD!g+$khk) *Tv9W_ޛGT^ EYct~jy[^mX(=8&^1us.P,^v9kX 4\hNk>{n'SIE&{:T<+Ϩ3=X4=EgDI2`;:ي;6s+ < vvi`&mtݤDE^ݩٽx'b?5I8Җ.EZN'\G68oq&gEIͨS5 +(~ǩ~G:$q??[SO2;Fڗέ@=;1D#Y1g_k3I֑+R232J6DžDՉKDU+R?4.pWLGqܘV|%aT%.v*:E1@v %:[ꀋq$m2-+2Ԙ{ijdRfk;h9@;x@FzBD!3ã3Ci!⾫n5jA~2)Lt+)F]R%V/ABcJnHV7R2}v0wH6\6{8T4J4RSlZ衊ŘV>eznҹk`B Ҟ,t 7SM*)*K+8(|~aFTz";sŶ,\9BdV][X(WJ5t}Uh sؗI9iyK<><9Z\}OưnhbǸ7,e@j5s =S>0G*GmaқFa3K qW/3gmW\q,.8Ϲ}{)(r N&' P#lX:%a2[ ׂ^wz>zяjJ*<,MV&LfUiv<0.?s : o'EW.0ǔVU[;Ȇ!MED#^F7zq|{'4ܜ%@ƕo󡶈C`m ds\v7v;@3[0DqHDsG>YjB;ƌƩ@!O 9*X3#R,b%X7tsV= |,)3'y\\ EA|J/o%tZ,թƾ9-x !Okz&tUJR]K|M&~5Z2;jWmWqv|>>̞pvNYv/VJ1*h|{T^,}5BR?@Ĕ3VX;kjV˺ D Zl[aԿpoaKv?<>Ym4NJg)o7wevS{X?PuA؃Qy ںWHPԺԥDںtttZѸ٭(|yb;dnsiChܪ% ]r53\oHڇ\|$-&Mȩ@$愷Xy$hL8wp@CCfۅ6lY?3XMމc0t{W>۝IW[ /ڷv|poiVey|ThP3)' :Ig.pP)5d@EP=So'Ju~:fr[`iKWHʣ/+ruYVX[  L6HTO*~c>Rn|C=(R@ 1ⴹ.z08#46n*j |3Kn~. G(D0,i:" 5w5~Y`Fa=gbivsIgR k[8Pֲܾj%ApX;<䭕 ަpY eHX=+ʃ׹MHjѽobj8g>^ VPm5SG}/lۢj˚!)b_/eb,A?0UNalc:9`MZ%DH`1Tw:|Bhi`t!Sw8s:W+LGs>Ҝ/DUVetO'9"0Ր݀vAz|۸CNoSdKUC50P^z -{MVlZ7d~&+zͣ|KATU(x"+ }IN|KnK 2&& sonH)V@Eu,'Ah 4opW oQ@s!9 \ P1U0Cdi =fXPu>b{UN*(n;km3l&]{q6*07x5(LsJ* ;xDr]ySTGfMF/:ZU/C2AoܩH*%PfR̺دOM~7W;Dy:j?^\[t~0&[jSRDv~tw75oXCBNKm9 jCJSٚ0~oj媝|ǒ"0C/r7XV<4玷sYs2~罤MC6IhÌtGĉ`|u"MWpR`Ğ6Gfd̒,neK5>HL 4%|ضȵ]7@mzor<$ E^a(5k 2.NJN7c3M>ݾ *ҡ)j2B`ׂ4h_dt&&GO(̃"Zp/v0KV.nbMRY&zR7 {܈SO_Ir@;i*XKTiT&3CO ڃi*{bjv[iԅjJ|i TͲ`oM)9ò\0GEKM ,ƒsOu*y !!yqa[a5w"ܖn[`3ȓ "n ֔^ƶ |Rζ@y$06h5]v|0Et:xcO|K(KIjg2~o Շ x Vw$e ]gPvB5\dioqtK;Ÿc0 1о4rX~뺀d,(y J` uDZכDTVy⨟r9B%]uɫs ĻZ~;:p 0R=z H&iHQHEÚnF/,p3s37 tF_rӾ(WDQ/LͅbO;YҤ(A};Ķm0i}j7 *P]:Ɖ~~= @0T( &b嵯58kO!{Zxϣ6FP PB&Q:]A-<R*(5/qy=h`=ĥ[W=EZZHE|J^2pDici׸9xEs_Q:\ ?\j@xy1gRE~jFzVegMn+mSfw!n~g#h᧑f iTGA1Ax! lv3IЋf $9(rA\v^0vEW! Еq_'YZ o'`Fts O4X'n3՘gtMCՁV Mi\=̺R[jfٸ{_g'ě8Ԕ@\ƊVd>|Tfd)_|{2IiUE: "!j|]KU$EKrO8[TQR]O7ѭǢ9gY6b}7aDW|Vu%;~߅O;ERWŁ"-+~PNUj&2C~]b6itMG\1zXzN7_?$#~[?3߀.Kx  *k˒@N)]! էODKQ;:jQ_V:{m8u6CԖl)UWh:?sNIݽ*bDzTQpux[|D7O%=C-Բqϐ^GGApyspX֮S-B7GFm4RZ!j.y- 0BDY D%QP*RG`?MC0`Ŷ>^A!\X31,B(PE 0Ӄ1J ɿsNfeqLJA[X5b[=j6֌4N7z!U@ۄ$lĝ2i;_Xn,qk+,p:M!O _34!\ 3EB~XFe|3LT.[-4i S7xJ^¢0ۊnfa&.rݷfܓsUU!ys+[m 4MudKg9q*!tE&YX>Τh7s &H '* x7n搿K|Y0˭xըTH4s]UNM/(/Fhi0z`'bY\}(%?5x;Q[KZԈ%4ZEݣ3PpNV_<2fjva/o˿l6 wHs _e4 .r);µ2I S~ہڈ&x P)(%b*&$KX-9B4YyVݿK*Ɔ-+(/.aJߣQC6i&xH/j@Le7@֬u$ߓ([Gmy:VnÕ2NͼR'Hp^SCgmuq7Һ*OdEqXz;r6 d+T# SfR2v˰ķt|,$I(HA_A'4H XM_7NMG1Jh[s2|S]wsQY2%VY46;RJ3/Ap5F[30Ml"v/NbV_uݹRp7>Ct+1z6Ά[+&?æJ$l4nzbsaIn7k-. .6 ?,lX>K+k=xuܚprj]ݠIXdaA!{dTfjΔu:lt#^18WDy{%em#Ɯg  $deNe (y k5jŜL|g%tY&p\nftK⻭mM.7Cڒ5RZ /ɌU3c@1DK~:7tuZ蒖w˾&.=N(A@l柁sR Uo:B <Ѯ0 !@}Vt>4h`>qch!&+~I D#l“] ھsp s&ݤDAqk$[fB2|i=@xXv\I.b~ F~P%lEx bGqVjY*gQ>Iu{{nswSM2vXC%¯ _/m1 IP3L]8 ^d:u gfԊ3c1Anv4p"f4uy4f8/] r0a_9+0UE;% M-g{ܲZЍ:EĢ8f2ݔ!NbPЙwPXzqhЮQFvo0H΋DeSPFu[!|ꪘ>:{Ӽݭ"C @e, i?rHLUc&|@V؂4JdsNjC7qmkr_ĄIr>ؿ\@ g:Q %|v0_xSM{2C_C>Veyp.3>]mL };e5WQ7GMΓ.GMZ6uM.+CX|)8 A,1&|۠>ٴQ]K":1 Rvg혲` =:[%;cGNOBf`ljr[ h$F1uPmپR T\`ӷ{*ⓔ ehm蔂y8$*GmS؞o6%{786%58 XYf}R]\4Ч"S}Iџ62eGQ| #Љ4 NQ4߷:(|YTl.*!92fC CW%WX-%BZ'Toȼ$Z7⿗2[(?n:{OPdyME? XViT4yG_WGkDSܴZTuWښs7DVsgT?U]a ()bFۋKMra{`feȳ gz#[ʪ ˧mp&4^Ik,FF7Oŕ[\8 +9!3p;# _ʍuq Pnɱp(t 27}@Aa;gR/!%5x%5r+KRKəG]!% (~~4[ 2յdp3.?[(}1/'Ӝ]%dT7,:/_R_xNcFGj |\)@J8frSd Vڷ5g ըťM,'N$Z v{yQe2 "-G`4'\p71ꦸA5:@3[,eWZ~^K@cfKF~a0^ʂuxekDц~1O3M鰬]|^m= ,18Rq}^sp;GM &5ae gQVbc>9 @8'U]+;k ೹aH)X]xUL1.&>f` 4bl:Vm m%8wht|c5@] vB=@`TgyfpYk| ޅ6HHY;M # %X俹{h2Jltle^%U@)]L-}-8`; pCz8{'ލ0_ uY=J:=wů= F#M`<*Ks{/a}-ʞl~q$@rylj$lNw_ f<˨Cbwrb龑K)ɼ}O!9@, 83@~pv wUk@>\B*Eb-I$9%p謴nwWo[,ӯ-4^vNP Zx4^ nEM8tuwOZ|)W_ʻd.?}#HX&Xx C4?,٪/r& AqXa' ز}cIcLkOR,B'{;3|jȤ)vKK2u}";gY/) plM^'_n|g J{-s%(Mqp"*yž+ɐ\@dK:zW  [wI`+jHEd&HӶxW{* JИMq} `m.c'QXMn׏M5<ުH鹵.uܼ%˓~vq=&PtBX4`~&Ѻ+Vѫʈu{.-Uq۶v{IR)$*Sw=sC_\FʆNh@ -{cJKZ&'P2'#Fr.{ZZϤj UfKyK ΈEF=uP[Tc^w#_ p6ޙ_O fvܴlƹmaXYN brI KY쐡wSKL[66&s: H+S ,穐pWc6! kFkFfYkF }cJ1k-\q.m1Z^!xGS` dֵ/!:H8MQV&Џ9PNz-)G!Ðlw=E#͔l_j4ZvRH=b ۇBG5VI>kJ2&sFIO) ki VA']Ђy* - ,)X8 .>>kkZ9Twǟ1.u,<4P`Ŕfv g\z }/@nc ӿ& dUդ 3%FA>-DQ`F"šķ|,x^1XpbAlxOh/oYU*S8:ѣÄu` @uwګiUo rQz):P?-/u)N_Q:ؕ n |l Wh:qdY+YeJ[3MU 1vwjބ&G""&YK5^FhglK%pv %"mVFZs[;7Ht$޺7Ok$wc_NE/ʿফեW9]?|1XvG.",ރU. 5oS7tlթ9*/iPB:!:A^E{زA[umbI̪EG4VO|BC{u>" h_z%Pn]zQ:8@ P m\Cɖ]z@IS/y۩ j3Bg$l_hY 06x- V)±(b.+-|Wo0.^vƢ?>( V (~1aq .nϝQs?, I ߳b"*\mesPhN#q#-lڄf}IxHV+a6Z*ؘn2{v.tnf oUNߛ3eYҺ!wj S[PkOo*03  mח^Ko1;t/pd$PZ"KYpX-AnnmsS,cH8JkcvL[qcc~ˤ\)z(]iO O{)u' H(ų $LL @Mf40iPv@hʹAI.nbSwqM h铄e-wT,,O0~iz#zi8f6%32Wj6QLay,h:3|b#b]YpXv}6|5&WRDg~U5k C86!BVLn?3IV\QhxڢKh iݢ'8lqo' jI&7X3煔nK3^~~gqn)"ֶEIU)\ʒFo ?fRmͤeP7 ]_%2S3w6$57lvN;{#9—MGJsgAQDMzIӪ0InUZ,o2$a`3B#KYU" ⷛ#k?xAԓZ͔>K<43͋dWnL,p}chLaAS VcߠWFKԍGɏJN3҇-Rk3!i!`jG`n :qY fLD(И;L0)z{6{Ef*u^=L;C#r-,:oLʚcld[}MȐy5C1'(C/5~0;e%3 +֝bn]uP.jw^Uc7D"3!oj!?Y"Ihn}rJDo.D hH 5¿FϦC_?qjD;~n>jU X :XjΈ%r渠Q!ދ8̿ w GTM%\Yugq2̞;7}b,>MafQKcfؤ`6m2dYxѮ0I1ii^/o"!詏-VB~Vl0KkqME+0]0hojrpG3+O}BҴx=v-tZZj3v@Hd ?gTGal gߡcUe;=Dmet)2IZ=OH^b5)>a6 _5ͥi< ZFM\mBU.g%?:䡡KJ\,q`XϼP':&Pݚ>J@^`fuOѽWg\$&4 xlY4T5 Jy&9΅눔լ[g-:e3z- 4,/kWDohy;rodJx%jQ.a:G}Ȼ)u+byC_{cҋų)F [~A=JG,I`7DTUҶa^%>Ymڑ>n'"F0Gϙ@ (IyĆ5mzħDe^pbrEPN7^,h4:|.禧1 _&DGZjCՋ!5QIо38}TO1^4 m']W~YLt VICQ7:Q}A\D~`oFw1Xӌ0>m_~7X=cwR c9)4u;_U泓;Six  -T1 +,4g.<ɻH|}N7@*cAa\1٤U1W% 4*ۚrkLz@ R%͉;EHfD"`]w셲"3`~nF8HAwh7Txl+@i:{Æ_Ǖ~ِ+o0cʄPWD"o#g[ uٵk~0BlrTM ٢*m=ޢd=L NGVp~Y:5lv;'0a.|@4_}6[Ŧ=BYk`Nԁ}lF\sAZk210R 7RfڐG ,ϖ/]n2bؿҕ{Y{E+JrӍ=diIOcchF_Dž( j'j∿]g3z 3b""BdQxfum8mݶ0:]{Ť.YNAr1g̘hD"t4nx:YOڥ_< IPF7,Zu U D4xbF[RqǕy`YjPWfm\H\ 7gA h}\'&h4ì?BviJȞ'\ @;\6;db)uO鰙ЃS9>#ݱ#\ʰB\v &@{zЏ\3S!롵`RgXS=5c"]՞X݆p?﹩ylq6"t>`Kwӕø+ّfH߆dpֆ/A"G?1_fuQT͞NXQ(CKO]2:BזuN1*M=z,X.!mYO9TM([Ys#ʝ&*8&Zg/꫁}b6z:ssѷAgMCxyaTemd'3I}tIKFB}Okm#00yJVALHIx7 r@fwj /|t2Nw=%0G,Ǡl<ƣfNlÒs%;\בPҒ,R9@=w7 '4i)kv8`H& 6g%ܩm-֙b"fw);\?AL7 X(#4q4 f/ִ袆שcB71*2$J``Y3 l@>B?DnjTm .77~O+ .wU Cc{3*T=Y&|)NweApFI:sӖ{pU"0{i¬Ũ0n rRH|dĴSVj܈>0:'L(ϣAYPڱuΓ ΡNZ(ҶBxLOf1/KiO ;5>v{h6;#RP ypf{em-Ncݜƹ𖄿T O\IV-P75[;KxO6ٙQn= D)m6G\^EJ76=wζ/CJ.lsZFN1Oʤ5U[بl9~D͸{'s8*'WL.0pBj7o1]/3{[) q]1DhHڗZZز#S#$7xMR>ֶ<6tQFniy))Lj%'. ϰ@TΠQ}UF$Eˊ"30u¾(7Y0 _kuw]I۵jj&C㘾^u5~9n?Y4@ F Q.tx\q\)ش Nl]}{xhjL;e!G? 3;j DX" Tf#&=WQ4Qo4H_B!R;ɾQ'fCX9HSu>5'G| B"n.3e_:)_ѵHeB$ UlrBIZDTCWhB{.ƅ-fp^P5>drS#T: CvӍ@vhOg R=o7 tSb(f҃Hf."}xLc~oP|*ͩ,30l)$ۈM,{((ƘI~mp& b3e1xHbt"h2Ԇ9 (],n)|cCD'4O.jYпrBsQ[<4?~qC bFsLqbb4" :ʅT:<: :]#Կ?/k UY2+`17~a0,̱ʦ ~)|K/Q["7yw3y5kΓ! ` A7̔9Nedn ͱpn5.mA$*֙v3a;(|ZU@x f9xZ$u H)țh"KR&Kq7mFl7ŦLωr@Y!6tg ir- "# ,*IaczH Vp"ɠI=VqkM[JX~^Mq`%+8fgxWf\QϿH6!կnF4wɕ-ݳgo}vfja0x}hxnV UU1 \]k]i ryH !:UZ!Hx1z/^1eD ]?v~s|\hHt(guqKb<4by#ӆ+%bTt>Am&J08[s*HШي[l_X$55|j \@3ۋ { U}qhnQ+7C6ᮇgy5Z 2RScƳrs@k_Ȅ El& (At)UPG[ h \ C.-$-ө n{֨ 4UyQ%9\O8`U+WX,xP2U@S"} EnUahʟ'C1ϵW{L%OlQC5z$Z۩'%p\\ľ /ץ.rῃ%G(:lp|%3r4xݑ4*mbZ"SX=B_ :m`SM`q' 8ww]N&;+CV3힮xNˤn4  ,5;^봕Wm #cMzhKƉddZHş*;ݚ\k-e/a5'꿬٦YEc =QC|X օƶN)r\gl*}3GOZZ~"3Σ CtǘEn!'Т!ګ+͐q@Iz]b.N^ xr[=YПT?aGJ[}א]goP7DԘآ4!)C[Zgrd |hEqT :~эj}bqvjU͚Un>ƮyDq3DQQ6i$ص0WjGz"sP`fy-FZA_0]w Jx+v8 68 2H#)J7hw̓(oJ.!)biq 1`}مas:)`^El>GWW@YO&y/nvEZyfT;`(g6֐whh%-, lb[c"Rw8K i$i"Y¶yk%N}B*Sl<5EKV`9F4lv[!Ydž.;DIEkf5341:A26ձդU'=υw&D[k?PPy+,U;,xV] ~{Jgf/ؑj5n,j:pNT-?VqHCGC~z%#5N%:Cczo V/Gzi4uT+m"Ъ%oTU k.w.`4iѡǪẬJ}  SiJ ۫oC!knB-3 ߍzوG0S evgP`Lҿ${l1ݛep Œ"׸9q9QYeOӜֱ gZ uPD+kpxZc%,Y|d\ ;J,P{61 ً(Y' H׮>8NIˤ9BۥtbTzʸ˧ ;'Zň8Ij4NK(DxNH3m˞V@P0.ofG ENJ?41ak^C,LV zc^2VV3 aڍt/ P?z$D0;5.IP3%cGbPS۶|샙jZ\^;g-&\ګE_.LL+APخyZR>?8^:@̦Ts meۨf% iu58L EhGF GJ #znT<e/O5}ͺo9OE<"8JjҤš[890oyB(g"mVP$]}:{d)0duW[p{ 1 oj<So9r H:ydG![Vj;"M`flK"5v9L&҇O=bZsVG&b ܊u (C̢HA QŢ]C-'dQy2^i OtBœNjwFrR5>L|}WI&[ )u*z%"4NQGԲcO!FR#琈Vitb3[ r@dqqcR̡ҀM.`(U!4"aY1T^Qq)r@P[j=E(BSfPk:!3:Q8T..SXI8᪏YM#:EEIJ9\e/И{~KҲYH@Q&)yh92sWU|5&yD쯆`s?L0&b9XN?o<`~f'0H $j*aF1kH:LDl튅C:'ut/_ dCo$p"fKK}H1/)`g"%CMS`D)k KoA$,ij߲°͌-%!÷SZLv8s_n< UAR([2$q L~̜bwO+yGԎڥ}okx 'H"0¡eF4 |9g1R@] *?#P[*JȷA|?`$ F(W7Z_#*8T̀aoVC9vw/h,u.UfS'r[|o`7o S_Э^AJe z L3z,4鿽cy5>3ƲN`1/Y FNA"2c#j ?MaD^ث|{5Qð +哞c 㵜=PVdOxm({8bbeO9uPyLKP(ZRRH1E?ۑ$ SU:Xa!#ZPNGݏC|DY\0m@ipx&y/91vߧvҶnWYg|73m\qK7_bȰsUe )Z QRnz F!O<n.m>Vj'tRj(1j?-b6xGե?v30ϨG6׸|MXvsoW? 㖾AzMPG)ԷGy4eoe̎~X?P7;7Qɻy yNZ=)PIW'*»NIEC ژ8ww nCުΊ[3?0dY}OSۤDܺos U :?*pA𴗢^]Ci 7NN),0)'VTcġ!+))t!H gR ftww1du{M@*n焀?2]ˣ dHy!%^_}<5~v劃v;Ot[Γ L'ќLI%E4Krih~ӌtA׮8;Nj\o79޾=Hi6KY1 x^_%xʣsҪwKٿư$\m&"4K=頡oPb`~m3zߋV>Dfޖ؎I*@oM3h\jKc0۾m/h@TvRnZ:g;=^+0([2uVoRtgĸNq\w_?ׯkX Xn,8JgpAy 0aN'/Gz2Tr$[sގZ mr 8Gv uB%o~b:n·^y2lwZ0zjS7/){[+9b&@]Eo[ CҸUfe+rAfLM=9eQqX:06@6R ֍j}Fh王ήQn$E`?ugK9nؒQO/,/S_'pfϹBCQ)vf7] ]ffC2D\iufU䔥hK>[Pi\؎NY㖞|㰥&@.Y=owJb\7LA]k$t|&)wENKzfl9/VQY(BQc_ARRǸ'Df̟4niA<+,ʃiR" s_"r;AY~Epn~cpCe*bQ'; 5R 1Xa&aQ FL\}CR()E9]?d,Q4ey ] ,B4$d,R8tɉ lĭF؝BN6Һ.a CQŶ9C4Cc%b`ق_(Ot)ejp~* ܉x '/z`LR )9PV^I5Oià,Wl$&E D`;^O]-#6[@ WK|ϻTLux$LϜZb7ܜfqV?U\-C`7M6eB~ b5 #ƄU }ޝ{W{;ΰ7/2r. Z uAe 8sǤbJ`b-3㲍&}id@?nHv +jPE`-V%ppU 뎦XAGۘ‹c`u8ڭ+HhӲP23i?CIm(T-!m?7I3Op9SJ/jm#_`G𼅐ƞNvuQ$?$#11ύ@9&Zݏ|xb,JO6w&=?AOY8 Bh} ĽExzS3}7YC yaFJCfʥ% \Z2b|ė6.*{x0\PgWb*ԑm!vvы?9l%A0u'xc v%5 BA>l+ck{$3wLɟTؽH &KF+Yww`J; } | 5~mX/7#Ly+%֙42mX݌AX4p.i%xB靕P6t\S x;d Mp4;x"8Dh<@(l'P|o/% S× ִ5b¹(\[MmКw̿7]Kz1 L6OD45 bI'4t1{1| wxNkyw6tG4o6SA0qBɏ2E<vHeWI7ҠPR_(#$ͦ&P,H\J[*! AMY@ґ=eS> m4=Ҳ1G%lSt'/3! YЯ=7kɉCmwD#yMf׀Qw$"-&9fAcV*n5R{Ǔ)?儬)z01uy:0aH4̱K251h?>mMp$LPIsWw滛d/@FD&3]j5hx悀r^oeY6lJF\Ә)֓e elH[t|:`@5#9In@`7evm]B(U !T.걿Kikm_Nt̮yXX7G2Z#tT*N oѓXx4V밖^ ,Fzd3 HcNWa;aXj*d2@tfgD5"!aQKvc4LN;<$Ӫ*i:{ޙFMHR0(5sd]h2Th\=F<0[,nNjs8 O&[~ưWph' N2J__)pEHn&j08EG<+}ӁTw pTm%JYUq/y!.ljt>ecynݘנu{LNr>ܥ;6kQ9!|zsLxZn5XDH=JNuanW'R*t B 1t{WP~.Њj(@vXmJR!G9Nrj"x'/ҲZ`%  MOqm†h)o?\~]FTFOpQ֚8u١I5C> 4Ñ C&zCĶNus;G>7/O"L{)RƇkbmeĠ敶`V2zB&E~rktMD~ -s?tMC\@ F NoElXWivyY՜mW|bM$ 9}ÓZo~7IN+hz(6{sf;mY}Hb50ɗ \p,JL%(Gڛ!˛:3َbU +(K:WiDI[%}<]`t& (捁A]'@iigHqA1>&f1Ce~O_0 @;D3 g 2G6~=v(]CnʗǜPj3|=+9:JCXQqq0CW=[~H䑉^`7]4ٷj0b;f@9}!g<0ZSǿLcᒊ[s{3)NsE ]Ԟ#_DVτ&v,$IFM˪g1WVyi1xiNN,:x#-EN=(L9Da:"'7[}/ ^n}KmYC^D-nY?6fY|:R&Cՠ0`<9SN{e~b gDV1\~kxΛet;L tR%1^ƆL'rDxu We9_'~bHGYBZ~LĭJA'nm 0TqFB:P,KБ1CO^WY)?'Ȝ?ltkQillUg*\{(4?b[B(Jhg*E/R[+=k$Oinmh1{5/0G1ǎ{΀)(q|?&~\G3Ds[wNJ<'%q#ة (I87xHKhBʘ>&|'Wɉ0@AsatWvT5Og˖15ktԕ,@Al3\#!8%a?ZF"Pl':%VVȶ zS^'cWQx|D=֧YPjƑKr6! O]h|d27 O;BrRpvXBYCKR 0'tU٧z~(s'ܝ0#gajZy/B0dٝBoCWt]7*Q*j!$yak/J2m 6H*v^V3VNoJF+<0m _eMkA_啙Ioq&ӌLb3ܖ+m&lf` qomV3p73Jt6#f`SwtwݒuکFy%)yvFȗaX-E/QE&}I$Lr:2L }ހVzX|G>MfaCCIAsj՘9 rvTntzM3G|4c:.虮$oxُbmw*|J!8muE@' IUzW~wOϴ՜gݔ2ͻȯޙGXIW r\ztqCQpu7Xt!Vj#]fff9ndWӽ_ezxs?CL2ȑ`%GŔth^^[]w;??Voi_ȫH+y> ~u֯ikOh#n&2*62PDed{i=W | Hwnj@cjb.'ӎ/jzLz,;clw]nC#d[V /u'=>{kJTUnE1Nr,Q%fə7]8@ȼqEBr+|0*HPiӱ-'19?ʍܴN5lHnj`ݶ{I'-<-z^+J#~ '&#h\x:Mb%5bMlz- -oBʧw܎ Π2 YZ