ploop-8.0.55-1.vz8 >    aw  }Dͭ*8;$vעX}2If@>byYg&uGg9Zsb}Ti*Tu'NoT> n\YfSݹdg1[~T3q@nSbT{e54c4b7e61466f1b814d9015b26c401dc7781bd65190f7af59aa8392922614f18fe10dab1ac122bdade0391f685ead6800073e61oHaw  }Dͭ*W:gCl74w.Լ Y؋#Q|ҌE]pVV?f|"Lweꜚ,阐3l⻠q!_mnRa{hA e4א]>_}d{#3cϹ'grRANKHB>p;`?Pd  !dh| `   H  4Vt  \ <( 8 9:.GHxIX Y\@]^ibdefltuv wPxy82 LCploop8.0.551.vz8ploop toolsThis package contains tools to work with ploop devices and images.aYbuilder8.eng.sw.ru1IVirtuozzoVirtuozzoGPLv2Virtuozzo (http://www.virtuozzo.com/support/)Applications/Systemlinuxx86_64e^#"!XT0dcBd(FA큤AAAAAAAA큤aVaVaVaVaVaVaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaVaVaVaVce719ee699aa8bc0719b89d6e6d4d3c6460aa4a4a82a9fa5e113ed9a131f5f8389d30139f0d5e221bd2e486e1854220b85fec36f70dd6344fd125c1e4f525c651864b544f0ee7f4ba9c988d7cf7f24d04092f88be24d15a85c19a03813a0d735b9f92d3af6d5e7f9fb47cd1c3e3808fd0f8951d1fa2a8cd5a28aa9cb1c1b394de8f517ca0eb06809ce5a1473fdaac4408a4a04d4179b46d6637fe18dc018d529d73c308f688af1eb34c6cc0f731ed34abc4f6fd5bcee061fa589674c5d2b66ba546e1607aaa9b22081af7c7a3ec6114a417c88423a1a0241dc6c7b93e803ff3edfc6339b357a81f211095d79886baa44fd58a407230081a395d072400bc9178813fc63862979bdf56cbb638583fe81521e166440274cf81e8ec38e26f10afe48125facdfe109ddebd2adfa5f150d5151f517d76a0ae5053ed3f751022ec2e745dd3a548a5de495c5917b7443d37d4dd32bded5eed0ab32a2b2a2249c5271ed5456fd06f309919085ca1c830a94d565d75dac80790997999563beca6dd9c6a2bb8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643381a4f4fa7238394b13b88dc612f80d2825acdd2d6e0fb8d8709af89cb609dca../../../../usr/sbin/ploop../../../../usr/sbin/ploop-test../../../../usr/sbin/ploop-e4defrag../../../../usr/sbin/ploop-balloon../../../../usr/sbin/ploop-volume../../../../usr/sbin/ploop-cbtrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootploop-8.0.55-1.vz8.src.rpmconfig(ploop)ploopploop(x86-64)@@@@@@@@@@@@@    @/bin/shconfig(ploop)libc.so.6()(64bit)libc.so.6(GLIBC_2.10)(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.6)(64bit)libc.so.6(GLIBC_2.7)(64bit)libjson-c.so.4()(64bit)libjson-c.so.4(libjson-c.so.4)(64bit)libploop.so.8()(64bit)ploop-librpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rtld(GNU_HASH)8.0.55-1.vz88.0.55-1.vz83.0.4-14.6.0-14.0-15.2-14.14.3aaa@aF`` @` @`.`.```@`@``\` @`s`s`"@```9@`P@``````@`Z`+`@`e@``dd@__#_@_@^ϧ]}@]}@]@]@]]{@]@]m]@]0_@]-@]]]:\Q\@\\\@\@\@\\@\@\}\,@\\@\f\[@[@[k@[$@[9@[dC[`O@Z@Z@Z$Zz@Zo Ze@ZaZ:PZ8@Z8@Z2gZ1@Z/Z*~Z YYYYp@Y*@YY@YYW@YYn@Yn@Y@Y@YJY@YV@YaYaYoIYP@YP@Y7Y0XXۡXۡXg@XXXXO@XO@XO@XZX@Xv@XQ4@X=mXI@X`@X`@W@W 8.0.55Igor Sukhih 8.0.54Igor Sukhih 8.0.53Igor Sukhih 8.0.52Igor Sukhih 8.0.51Igor Sukhih 8.0.50Igor Sukhih 8.0.49Igor Sukhih 8.0.48Igor Sukhih 8.0.47Igor Sukhih 8.0.46Igor Sukhih 8.0.45Igor Sukhih 8.0.44Igor Sukhih 8.0.43Igor Sukhih 8.0.42Igor Sukhih 8.0.41Igor Sukhih 8.0.40Igor Sukhih 8.0.39Igor Sukhih 8.0.38Igor Sukhih 8.0.37Igor Sukhih 8.0.35Igor Sukhih 8.0.34Igor Sukhih 8.0.33Igor Sukhih 8.0.32Igor Sukhih 8.0.31Igor Sukhih 8.0.30Igor Sukhih 8.0.29Igor Sukhih 8.0.28Igor Sukhih 8.0.27Igor Sukhih 8.0.26Igor Sukhih 8.0.25Igor Sukhih 8.0.24Igor Sukhih 8.0.23Igor Sukhih 8.0.22Igor Sukhih 8.0.21Igor Sukhih 8.0.20Igor Sukhih 8.0.19Igor Sukhih 8.0.17Igor Sukhih 8.0.16Igor Sukhih 8.0.15Igor Sukhih 8.0.12Igor Sukhih 8.0.11Igor Sukhih 8.0.10Igor Sukhih 8.0.9Igor Sukhih 8.0.8Igor Sukhih 8.0.7Igor Sukhih 8.0.6Igor Sukhih 7.0.163Igor Sukhih 7.0.162Igor Sukhih 7.0.161Igor Sukhih 7.0.160Igor Sukhih 7.0.159Igor Sukhih 7.0.158Igor Sukhih 7.0.157Igor Sukhih 7.0.156Igor Sukhih 7.0.155Igor Sukhih 7.0.154Igor Sukhih 7.0.153Konstantin B. Bukharov 7.0.152Igor Sukhih 7.0.151Igor Sukhih 7.0.150Igor Sukhih 7.0.149Igor Sukhih 7.0.148Konstantin B. Bukharov 7.0.147Igor Sukhih 7.0.146Igor Sukhih 7.0.145Igor Sukhih 7.0.144Igor Sukhih 7.0.140Igor Sukhih 7.0.139Igor Sukhih 7.0.138Igor Sukhih 7.0.137Konstantin B. Bukharov 7.0.136Konstantin B. Bukharov 7.0.135Igor Sukhih 7.0.134Igor Sukhih 7.0.132Igor Sukhih 7.0.131Igor Sukhih 7.0.130Igor Sukhih 7.0.128Igor Sukhih 7.0.127Igor Sukhih 7.0.126Igor Sukhih 7.0.125Igor Sukhih 7.0.124Igor Sukhih 7.0.123Igor Sukhih 7.0.122Igor Sukhih 7.0.121Igor Sukhih 7.0.120Igor Sukhih 7.0.119Igor Sukhih 7.0.118Igor Sukhih 7.0.117Igor Sukhih 7.0.116Igor Sukhih 7.0.115Igor Sukhih 7.0.114Igor Sukhih 7.0.113Igor Sukhih 7.0.112Igor Sukhih 7.0.111Igor Sukhih 7.0.110Igor Sukhih 7.0.109Igor Sukhih 7.0.108Igor Sukhih 7.0.107Igor Sukhih 7.0.106Igor Sukhih 7.0.105Igor Sukhih 7.0.104Igor Sukhih 7.0.103Igor Sukhih 7.0.102Igor Sukhih 7.0.101Igor Sukhih 7.0.100Igor Sukhih 7.0.99Igor Sukhih 7.0.98Igor Sukhih 7.0.97Igor Sukhih 7.0.96Igor Sukhih 7.0.95Igor Sukhih 7.0.94Igor Sukhih 7.0.93Igor Sukhih 7.0.92Igor Sukhih 7.0.91Igor Sukhih 7.0.90Igor Sukhih 7.0.89Igor Sukhih 7.0.88Konstantin Volkov 7.0.87Konstantin Volkov 7.0.86Konstantin Volkov 7.0.85-2Igor Sukhih 7.0.85Igor Sukhih 7.0.84Igor Sukhih 7.0.83Konstantin Volkov 7.0.82-3Konstantin Volkov 7.0.82-2Igor Sukhih 7.0.82Igor Sukhih 7.0.81Igor Sukhih 7.0.80Igor Sukhih 7.0.79Konstantin Volkov - 7.0.78-2Igor Sukhih 7.0.78Igor Sukhih 7.0.77Igor Sukhih 7.0.76Igor Sukhih 7.0.75Igor Sukhih 7.0.74Igor Sukhih 7.0.73Igor Sukhih 7.0.72Igor Sukhih 7.0.71Igor Sukhih 7.0.69Igor Sukhih 7.0.68Igor Sukhih 7.0.67Igor Sukhih 7.0.66Igor Sukhih 7.0.65Igor Sukhih 7.0.64Igor Sukhih 7.0.63Igor Sukhih 7.0.62Igor Sukhih 7.0.61Igor Sukhih 7.0.60Igor Sukhih 7.0.59Igor Sukhih 7.0.58Igor Sukhih 7.0.57Igor Sukhih 7.0.56Igor Sukhih 7.0.55Igor Sukhih 7.0.54Igor Sukhih 7.0.53Igor Sukhih 7.0.52Igor Sukhih 7.0.51Igor Sukhih 7.0.50Igor Sukhih 7.0.49Igor Sukhih 7.0.48Igor Sukhih 7.0.47Igor Sukhih 7.0.46Igor Sukhih 7.0.45Igor Sukhih 7.0.44Igor Sukhih 7.0.43Igor Sukhih 7.0.42Igor Sukhih 7.0.41Igor Sukhih 7.0.40Igor Sukhih 7.0.39Igor Sukhih 7.0.38Igor Sukhih 7.0.37Igor Sukhih 7.0.36Igor Sukhih 7.0.35Igor Sukhih 7.0.34Igor Sukhih 7.0.33Igor Sukhih 7.0.32Igor Sukhih 7.0.31Dmitry Mishin 7.0.30Igor Sukhih 7.0.29Igor Sukhih 7.0.28Igor Sukhih 7.0.27Igor Sukhih 7.0.26Igor Sukhih 7.0.25Igor Sukhih 7.0.24Igor Sukhih 7.0.23Igor Sukhih 7.0.22Igor Sukhih 7.0.21Igor Sukhih 7.0.20Igor Sukhih 7.0.19Igor Sukhih 7.0.18Igor Sukhih 7.0.17Igor Sukhih 7.0.16Igor Sukhih 7.0.15Igor Sukhih 7.0.14Igor Sukhih 7.0.13Igor Sukhih 7.0.12Igor Sukhih 7.0.11Igor Sukhih 7.0.10Daniil Guzanov 7.0.9Daniil Guzanov 7.0.8Daniil Guzanov 7.0.7Daniil Guzanov 7.0.6Daniil Guzanov 7.0.5- Fixed suspend/resume ploop device with partition #PSBM-132302- FIxed umount encrypted image with partition- update_gpt_partition(): align end of partition- Align partition to 4096 page size #PSBM-132357- is_device_inuse(): fixed detect device in use #PSBM-132072- Create ploop with partition by default - dm_remove(): retry DM_DEVICE_REMOVE on EBUSy #PSBM-132095- Log dm error code #PSBM-132095- Create partition table by default #PSBM-131608- get_mount_dir(): pass incorrect buffer size #PSBM-131691- Do not truncate image at max size #PSBM-129597 - Fixed umount of encrypted device- Fixed umount of encrypted device- failed umount device with partition- Use .qcow2 image extension as type mark #PSBM-131317- failed to execute mkfs.ext4: No such file or directory: #PSBM-130620- check_snapshot_mount (ploop.c:4106): Snapshot is busy by device(s) \#PSBM-131209- fixed 'umount -d device' #PSBM-131030- suspend device before update RW delta- ploop_umount(): fix SIGSEGV #PSBM-130924- dm-qcow2: initial implemantation- Error in open_delta (delta_read.c:168): Image is in use /vzt/disk_test7/root.hds #PSBM-130736- blockdev_set_untrusted (ploop.c:1493): Can't open: No such file or directory \#PSBM-130835- Disallow accidental execution from a ploop/dm image (Valeriy Vdovin ) (#PSBM-129780)- hrink_device(): failed to offline shrink #PSBM-130584- Use umount timeout if specified - add_delta(): fd leaked - failed to umount: Error in wait_for_open_count #PSBM-129839- ploop_discard_get_stat_by_dev(): provide native discard mode info \#PSBM-127086 - 'ploop defrag' should have parameter for threshold #PSBM-127354 - ploop ext4 on kaio: Add defragger #PSBM-125608 (root )- ploop_discard_get_stat_by_dev(): provide native discard mode info \#PSBM-127086- 'ploop defrag' should have parameter for threshold #PSBM-127354 - ploop ext4 on kaio: Add defragger #PSBM-125608- Snapshot mount logic #PSBM-128855 - Dump CBT on ploop stop #PSBM-99977- balloon: remove in kernel maintenance logic- remove loop layer #PSBM-129306- plooptool_info(): the same src and dst is used in snprintf() #PSBM-128672- Attach snapshot via reload #PSBM-129257- merge_image(); remove dup code chunk #PSBM-128705- ploop_umount() exits with 0 in case umount failure #PSBM-128674 - dm_remove(): return correct error- Add processing balloon_ino mount option #PSBM-127420- Fix python module import errors #PSBM-123941 (Pavel Vokhmyanin )- grow_loop_image(): call fsync after ftruncate() #PSBM-122078- snapshot-merge does not work #PSBM-103039- device-mapper: remove ioctl on ploop10561 failed: Device or resource busy \#PSBM-120748 - ploop_check(): image truncated to max allocated cluster #PSBM-121194 - tools/ploop-test.c: update usage - ploop-copy: switch to main api #PSBM-121566 - repair_sparse(): call ioctl(EXT4_IOC_CLEAR_ES_CACHE) #PSBM-106781 - Add only aligned deltas to kernel #PSBM-108314 - ploop_check(): CBT dropped in force mode #PSBM-120760 - ploop_check: uninitialized pointer in free() #PSBM-120757 - Check BAT consistency before and after operations #PSBM-107837 - check_and_repair(): perform sparse repair only if requested - Do not round ending_lba to blocksize on GPT convert #PSBM-106920 - Revert "ploop_copy_receiver(): call filefrag #PSBM-105933" - Revert "ploop_copy_receiver(): validate image #PSBM-105933" - ploop-copy: Add compatibility with old protocol - ploop-copy: introduce handshake - ploop-copy: introduce md5 checksum check - ploop-copy: switch to queue chunk schema - cleanup: move private data from header - fill_hole(): print parameters before fail - ploop_copy_receiver(): validate image #PSBM-105933 - ploop_copy_receiver(): call filefrag #PSBM-105933 - restore_hole(): process CHECK_REPAIR_SPARSE flag - ploop_copy_receiver(): flush all modified data #PSBM-105933 - fill_hole(): add debug logging - BLKRRPART /dev/ploop18626: Device or resource busy #PSBM-105751 - tools/ploop-cbt.c: fix logging - tools/ploop: create CBT bitmap #PSBM-104586 - STYLE: split create_snapshot() - creating CBT snapshot is racy #PSBM-104462 - ploop_mount(): use of uninitialized variable - Change encrypted image layout #PSBM-104039 - Makefile.inc -Wformat-truncation=0 - tools/ploop.c perform online resize fro unmounted image - tools/ploop allow ploop creation without partition - dev_num2dev_start(): adopt to dm-crypt schema - sgdisk_resize_gpt() - Unable to create snapshot with same uuid #PSBM-103419 - check_snapshot_mount: return correct error message - Failed to delete temparary snapshot: snapshot is busy - check_snapshot_mount(): run lsof utility if snapshot is busy - Offline merge can corrupt BAT #PSBM-102808 (#PSBM-101080) - build_hole_bitmap(): do not use header copy - ploop_resize_image(): missed check- Introduce ploop_get_devname() - Get rid of Parallels word in source code #PSBM-102329 - ploop_resize_image(): missed check - ploop-copy: data corruption #PSBM-101845 - ploop_chek(): remove false error message - plooptool_info(): fixed typo #PSBM-102708 - ploop_resize_image(): offline resize is going on mounted ploop #PSBM-101918 - Failed to mount snapshot: Failed to fallocate: Text file busy #PSBM-101388 - auto_mount_fs(): use namespace pid to find mountpoint - Unable to resize secondary ploop #PSBM-101799 - Unable to operate with additional ploop images #PSBM-101605 - get_mount_dir(): return real mountpoint from mnt namespace - lib/merge.c: remove debug logging #PSBM-101561 - check_and_repair_sparse\(): do not call fsync for every block #PSBM-101508 - check_and_repair(): remove duplicate error message - Add possibility to iterate all deltas on defrag #PSBM-101490 - ploop_image_shuffle(): update the end of image calculation - send_image_block(): skip zero block transmition #PSBM-100783 - bad geometry: block count 2620929 exceeds size of device (2620928 blocks) \#PSBM-101397 - test/Makefile: add more tests - Remove debug logging - test/Makefile: add Makefile for test - test-snapshot: test update - Check holes on RAW base images on EXT4 are populated #PSBM-101218 - Faile dto mount RAW image with snapshot #PSBM-101200 - test-snapshot: offline snapshot merge test - Print ploop BAT - reallocate_cluster(): u32 type overflow - check_and_repair(): remove debug logging - Allow ploop v1 format defragmentation - define copy_file_range() - tools/ploop-check.c: process check flags if DiskDescriptor.xml is used - tools/ploop-check.c: update usage - dump_bat(): display additional info - check_and_repair(): calculate reverse map size - Turn off automatic image defragmentation on ploop mount - Use free block from the beginning of the image on merge #PSBM-101080 - range_build_rmap(): fixed reverse array size calculation - CBT dropped on image mount #PSBM-100989 - fill_hole(): access memory beyond end of array - check_and_repair(): use fstat() to get image size #PSBM-100975 (#PSBM-100873) - check_and_repair(): incorect end of file calculated #PSBM-100873 - Revert "range_build_rmap(): incorect max filled index returned #PSBM-100959 - Add tools/ploop-test.c - Implement a way to shuffle ploop clusters for test #PSBM-100773 - range_build_rmap(): incorect max filled index returned #PSBM-100873 - check_and_repair(): fix repair raw image #PSBM-100719 - Surpress log messages on console for 'ploop list' - ploop-check: added defrag option - ploop_check(): log ftruncate() parameters - Repair ploop image with cluster block outside device #PSBM-10012- compilation fix- Automerge snapshot in case crash #PSBM-99949 - check_dd(): uinitiilized variable - remove depricated is_native_discard() - refactor ploop discard- modules-load.d/ploop.conf: remove deprecated modules - fixed shrink_device() - dm_reload(): cluster log is requred argument - is_native_discard(): only native discar supported - scripts/crypthelper: NameError: name 'xrange' is not defined- Create ploop image without partition- Resurrect CBT support - ploop_get_names(): format arg is 'const char' - Export functions- python/setup.py: use python3 - test: fixed warning under python3 - Port to python3 - Fixed compilation warnings under gcc-8.2 - Change ploop to device-mappper schema - BuildRequires: python3- check_and_repair(): last cluster block is not processed #PSBM-98065- Optional header dropped from image #PSBM-97955- image size is much greater than used data #PSBM-97085- ploop_balloon_complete(): use keep_intact = 2 to query state - ploop_balloon_relocation(): wait for PLOOP_IOC_RELOCBLKS completion \#PSBM-96143- Switch to file system defragmentation mode #PSBM-96172- Automatic filesystem repair #PSBM-95789- get_fs_info(): report SYSEXIT_NO_FSSTAT error #PSBM-95386- Revert "ploop shrink: discard balloon blocks directly #PSBM-94855" (#PSBM-95313)- ploop_resize_image(): Error in ioctl(BLKDISCARD): Invalid argument \#PSBM-95314- get_part_devname(): incorrect device name #PSBM-95286- ploop shrink: discard balloon blocks directly #PSBM-94855 - Update Copyright- failed to start push backup: operation with mnt_type=0 in progress \#PSBM-94718 (Igor Sukhih )- Introduce ploop disacrd mode #PSBM-94639 - fill_hole(): remove is_native_discard() condition - fill_hole(): logging enhancement - Error in __ploop_discard (balloon.c:1110): Can't filter free blocks: Invalid argument #PSBM-94727- Error in ioctl(PLOOP_IOC_FREEBLKS): Invalid argument #PSBM-94597- Unable to get discard granularity #PSBM-94425- get_discard_granularity():not correct size passed to readlink() - Unable to get discard granularity- report number of 512B blocks allocated as image size #PSBM-94110 (Igor Sukhih )- check_and_repair_sparse(): native deiscard support #PSBM-93860- Error in add_deltas (ploop.c:2076): PLOOP_IOC_START: No such file or directory #PSBM-93808- Do not call check_and_repair_sparse() if native discard supported - support native discard schema #PSBM-93734- get_discard_granularity(): Nul pointer derefference #PSBM-93385- Use block device discard granularity in FITRIM #PSBM-93077- ploop_get_dev_by_delta(): do not call realpath() #PSBM-91713 - ploop_get_fs_info(): - get statfs info #PSBM-91713 - open_delta(): error logging- read_dd(): remove stat() call #PSBM-89931 - get_dev_by_mnt(): fd leak on error path - get_dev_by_mnt(): simplify filter condition- Fix logic in mountpoint retrieval #PSBM-89986 (Pavel Vokhmyanin )- Allow e4defrag for encrypted ploops #PSBM-89702 (Pavel Vokhmyanin ) - Fix compilation warnings #PSBM-89924 (Pavel Vokhmyanin ) - Revert "fix compilation warnings" (Pavel Vokhmyanin )- ploop_copy_start(): send sync command - ploop_grow_image(): always use online grow- ploop_cancel_handle(): Do not call glibc functions from signal handler \#HCI-146 - scripts/crypthelper: "subprocess.py:1047:_execute_child:OSError:- ploop_copy_receiver(): report error to client - lib/ploop-copy.c: handle EINTR in read/write - lib/ploop-copy.c: optimize data transfer #PSBM-85381- ploop_mount_image(): remount file system if device is mounted #PSBM-86655 - ploop_stop(): process PLOOP_MNTN_PUSH_BACKUP state - Get in-kernel maintenance state- ploop_copy_start(): image copy hang #PSBM-87271- etc/Makefile: replace spaces on tabs (Andrei Vagin ) - ploop/replace: don't check that delta-s have the same header (Andrei Vagin ) (#VSTOR-9617) - check: execute ploop_check before replacing a delta (Andrei Vagin ) (#VSTOR-9071) - Enhance CBT logging - Add bash-completion for ploop, ploop-balloon, ploop-cbt and ploop-volume. (maksimov )- cbt_set_dirty_bitmap_part(): endless loop- cannot create ploop with ext4 on a drive with 4k logical sector size \#PSBM-81545- ploop-grow: don't fill a raw image if the sparse option is set (Andrei Vagin )- ploop: allow to replace a raw read-write delta (Andrei Vagin )- mount failed with: stat /dev/mapper/CRYPT-ploop50869p1: No such file or directory #PSBM-80502- ploop: allow to create a sparse file as a plain image (Andrei Vagin )- Extend ploop size limit 50T #PSBM-79604- free_ext_context(): NULL pointer dereference- send_dirty_bitmap_to_kernel(): double free- Memory leak in CBT code- dump_L1(): make output user friendly - raw_move_to_memory(): memleak on error path - Get tracking bitmap from image #PSBM-77973- ploop_clone_dd(): do not convert DiskDescriptor.xml - ploop_clone_dd(): drop temporary bit - Get used block bitmap #PSBM-53844- Clone DiskDescriptor.xml- Add ploop_drop_cbt() to public API- ploop_resize_image(): incorrect fs info reported ofter offline shrink \#PSBM-75100- get_image_param_offline(): use OD_ALLOW_DIRTY for open_delta #PSBM-75809- get_partition_device_name_by_num(): use /sys/class/block to query partiton \#PSBM-75261- ploop_init_image(): unable to recreate encrypted image #PSBM-71894- Error in do_lock: Can't open lock file: Device or resource busy #PSBM-73316- parse_xml(): check for KeyId != NULL- Export ploop_init_image() #PSBM-71894- volume: allow to use existing directoy for a new volume- ploop-volume killed by SIGSEGV #VZAP-652- ploop-volume: add struct size argument for get_info/get_tree - ploop-volume: make tree and info commands print result in json - ploop-volume: add tree command line option and API - ploop-volume: add info command line option and API- ploop_trim(): endless loop on FITRIM #PSBM-70551- ploop_get_dev_by_delta: unable to find mounted ploop device- revert fd88e52d30 ploop_stop_device: retry PLOOP_IOC_STOP on EBUSY \#PSBM-69753- ploop_stop_device(): return with SYSEXIT_UMOUNT_BUSY on error #PSBM-69753- ploop_stop_device: retry PLOOP_IOC_STOP on EBUSY #PSBM-69753- ploop_find_dev_by_cn(): use only base delta to find ploop device #PSBM-69781 - volume: mark volume based layout in DiskDeskriptor.xml - Failed to provison volume if some of ploop modules are not loaded #VZAP-474- add_deltas(): NULL dereference #PSBM-69755- Makefile: install libvolume.h- Use open() with O_CLOEXEC flag - test: ploop-volume - ploop-volume: add command line tool - ploop volumes API - Dont store parent data in DiskDescriptor.xml - Mount file system in ro mode for snapshots - Always store relative path in DIskDescriptor.xml - ploop_find_dev_by_cn(): search ploop dev by pair (base & top) deltas - Introduce volume specific metadata- Can't mount: Device or resource busy #PSBM-68599- ploop_umount(): do not stop CBT on ploop_stop error - Configure umount timeout #PSBM-67574- ploop_stop(): return EBUSY specific error #PSBM-67574- Export ploop_get_top_delta_fname to python API #PSBM-67091- Ability to tune inode_ratio #PSBM-62212- Add option to set filesystem label- Fix Copyright strings, see #PSBM-58317- Fix Copyright strings, see #PSBM-58317 (Igor Sukhih )- Added gdisk package to reqs, see #PSBM-62710- cbt_dump(): skip CBT dump if not running- preserve CBT on offline snapshot creation #PSBM-62562 - tools/ploop-cbt.c: show dump usage - tools/ploop.c: added -o - offline snapshot creation- Remove -fsanitize=address from CFLAGS #PSBM-61727- Place package definitions and files lists in right order - Move license installation inside sources Makefile, see #PSBM-58317- Added libasan to BuildRequires- Move branding to separate file, see #PSBM-58317 - Add licenses installation (Konstantin Volkov- get_part_devname_from_sys(): AddressSanitizer heap-buffer-overflow #PSBM-54889- Unable to delete tsnapshot #PSBM-59212- ploop.8: fix typos (Kir Kolyshkin ) (#PSBM-58292) - ploop_restore_descriptor: fix clang compilation (Kir Kolyshkin ) - Modify get_partition_device_name (Mikhail Feoktistov ) - Rename variable (Mikhail Feoktistov )- Rebuild in 7.3 environment- libploop.h: move PLOOP_MAX_FS_SIZE to public header- Introduce SYSEXIT_UMOUNT_BUSY error #PSBM-54005- Failed to resize image: On-line shrinking not supported #PSBM-54003- Turn off console logging for 'balloon discard --stat' - 'ploop balloon discard --stat' does not work on not mounted image #PSBM-53998- Rewrite crypthelper in python #PSBM-53278- crypthelper: process key from STDIN in file mode in cryptsetup #PSBM-53205- Use custom script to get encryption key #PSBM-52949 #PSBM-53053 - rename crypt.sh -> crypthelper - pcompact timeout doesn't affect defragmenttaion #PSBM-41298- revert commit bd46a066 "use session keyring to load key" #PSBM-52965- crypt.sh: use session keyring to load key #PSBM-52949 - Use O_CLOEXEC on device open- Failed to resize: Can't fallocate balloon #PSBM-49371- ploop.8: add encryption info - revert commit e35d4a0f6 (#PSBM-52358) - encrypt_image: deny encrypt running ploop- encrypt_image: decript image- crypt,sh: keyctl_read_alloc: Permission denied #PSBM-52358- crypt.sh: fixed result code check- crypt.sh: debug logging #PSBM-52289- crypt: Device /dev/dm-4 is still in use #PSBM-52258 - Use partprobe instead of sending ioctl for LVM- do_crypt: fix using run_prg_rc()- crypt: dump key info on key retrival failure #PSBM-52202 - Return SYSEXIT_CRYPT specific error on crypt.sh failure \#PSBM-52241- Error in ioctl(BLKDISCARD): Invalid argument #PSBM-52241- crypt.c: invert change key logic - scripts/crypt.sh: return action specific erro codes - ploop_encrypt_param: add PLOOP_ENC_WIPE flags - Change encryption key #PSBM-52087- crypt.sh: equest_key: Key has been revoked #PSBM-52134- plooptool_info: diplay partition device name #PSBM-51859- crypt.sh: Load key to default user session keyring @us #PSBM-51923- ploop_set_encryption_keyid(): add operation lock - get_dir_entry(): do not fail on ENOENT - Fix cleanup in ploop_create_image- Add functions to resize partition on block device - Add functions to work with parted and sgdisk utilities - Add ability to initialize block device via ploop init #PSBM-473771- Invalid CBT in the image #PSBM-51513- ploop_store_diskdescriptor(): devide by zero #PSBM-51427- Preserve xattr on ploop encryption #PSBM-51074 - change ploop_encrypt_image() API- ploop_get_mnt_by_dev(): access to uninitialized memory #PSBM-51168 - ploop_encrypt_image(): wipe image on encryption failure #PSBM-50724 - Update usage messages (Mikhail Feoktistov )- Unable to unmount disconnected ploop images #PSBM-51110- fix ploop_get_mnt_by_dev() to work with encrypted images - Pass --allow-discards option to 'cryptsetup open' - Take into account luks header on crypted ploop #PSBM-51037- ploop_get_info(): don't work for mounted ploop #PSBM-50945- Remove --xattrs option from rsync- Failed to mount ploop #PSBM-50937- Makefile: install cryptsetup helper script - plooptool_init(): process encryption keyid on init action - Encrypt/decrypt ploop image - Store encryption keyid at DiskDescriptor.xml #PSBM-49384 - partition device name getter - get_mntns_mount_dir(): make function generic - LUKS disk encryption support - run_prg_rc(): pass environment variables on exec - Disk encryption: init/mount/umount/resize #PSBM-44166- Call PLOOP_IOC_FREEZE on partition #PSBM-49837- ploop_get_dev_by_delta(): ignore realpath() error #PSBM-49902- USe new ioctl to freeze ploop device #PSBM-49179 - ploop_if.h: add PLOOP_IOC_FREEZE and PLOOP_IOC_THAW ioctls - Disk encryptuin: add keyid parameter to DiskDescriptor.xml- ploop_copy_receiver: truncate image on dst #PSBM-49076- Create .statfs and DiskDescriptor.xml.lck with 644 mode (v2) #PSBM-48352- Create .statfs and DiskDescriptor.xml.lck with 644 mode #PSBM-48352- Update ploop_if.h header to the latest kernel version - Error in ploop_fname_cmp (ploop.c:1129): No such file or directory- Add ploop_read_dd() to public API- ploop-copy.c: u32 passed as u64 to send_image_block() #PSBM-47575- ploop-copy: CBT live migration #PSBM-47128 - Fix close of 0 descriptor in case of error in grow_lower_delta. #PSBM-47329- send_image_block (ploop-copy.c:480): Error from read: Bad address #PSBM-46720- Port CBT support from PSBM6- Sync ploop_if.h with the latest kernel version (#PSBM-45001) - Add --defrag flag for usage and man (Kir Kolyshkin ) - include/dynload.h: version for ploop_get_base_delta_fname() (Kir Kolyshkin ) - ploop_discard(): nitpick in a comment (Kir Kolyshkin ) - get_delta_fname: make static (Kir Kolyshkin )- discard/defrag: take into account image size change caused by defrag #PSBM-42548 #PSBM-45364 - Unable to create ploop image > 16TB without filesystem inside #PSBM-45162- ploop discard operation cancelled on fs defragmentation error #PSBM-46198- Lock descriptor before accessing it in ploop_get_*_delta_fname() #PSBM-45496- api to get base delta file name #PSBM-46238- ploop-copy: Ploop image coruption #PSBM-45837- ploop_copy_init(): open folder with O_DIRECTORY flag - send_async(): use pthread_cond_signal() under lock - Rework check_snapshot_mount() - ploop_merge_snapshot_by_guid(): improve messages- add ploop_create_snapshot_offline() #PSBM-42981- python: Add snapshot create/delete bindings - python: fix error message for PyArg_ParseTuple() - do_mntn_merge(): fix the check for same file - complete_running_operation(): unexport- Fix statistics returned during ploop copying, #PSBM-41177 - ploop_mount_fs(): rectify wrt remount - ploop_mount_fs: don't mount ro when finding balloon inode- Repair DiskDescriptot.xml on process PLOOP_MNTN_MERGE stage #PSBM-33414 - Makefile: .depend file is not removed on 'make clean' - mount_image(): kill flags argument - Fix compile with gcc-5.3.0 - Fix compile with musl wrt gnu_dev_* - Fix compile with musl wrt offsetof - gensym.sh: busybox sed compatibility- ploop_umount(): possible NULL pointer derefference - Rmove temporary mount point on ploop umount #PSBM-42493 - Remove temporary mount point on offline ploop resize #PSBM-42493 - Remove temporary mount point on ploop umount #PSBM-42493- Remove temporary mount point on offline ploop resize #PSBM-42493- Remove temporary mount point on ploop umount #PSBM-42493- Directory root.hds.mnt is left after container resize #PSBM-42493- ploop balloon discard infinite loop #PSBM-40948- Resize ploop image mounted inside mnt namespace #PSBM-39492- mount_image: return SYSEXIT_NOSNAP error, #PSBM-38423- ploop defragmentation support #PSBM-30163- do_delete_snapshot: pass copy of guid parameter - ploop_get_devs: NULL pointer dereference, #PSBM-40203- Add makefile for python bindings, #PSBM-28485- Updated GPL text- Updated license #PSBM-26806- soname changed to libploop.so.7.0.x #PSBM-32811- Revert to version number to libploop.so.1.12- Move version to Makefile.version 8.0.55-1.vz88.0.55-1.vz88.0.55-1.vz8    bash_completion.dploopploopploop.confmount.ploopumount.ploop.build-id0aaa8e90dd31884f0423488c6d36122afb6483921c2981a3fc676a60d8ee6ac46e24033e078bd3dc53237d4bf95af838bc0c36e773cce8f729ecb520bfde4abfef16525fd41fd874b6f4e8b219d4df05cc3648cc9c48e62b8f7257895718a27ab9b94976f1bbb7c08ca636171f2ee12990ed9cc8c5bf8c74ploopploop-balloonploop-cbtploop-e4defragploop-testploop-volumeploop-8.0.55COPYINGGPL-2.0ploop.8.gz/etc//etc/bash_completion.d//etc/logrotate.d//etc/modules-load.d//sbin//usr/lib//usr/lib/.build-id//usr/lib/.build-id/0a//usr/lib/.build-id/1c//usr/lib/.build-id/53//usr/lib/.build-id/bf//usr/lib/.build-id/cc//usr/lib/.build-id/f1//usr/sbin//usr/share/doc//usr/share/doc/ploop-8.0.55//usr/share/man/man8/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpioxz2x86_64-redhat-linux-gnu  directoryASCII textPOSIX shell script, ASCII text executableELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=0aaa8e90dd31884f0423488c6d36122afb648392, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bfde4abfef16525fd41fd874b6f4e8b219d4df05, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f1bbb7c08ca636171f2ee12990ed9cc8c5bf8c74, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=53237d4bf95af838bc0c36e773cce8f729ecb520, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1c2981a3fc676a60d8ee6ac46e24033e078bd3dc, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=cc3648cc9c48e62b8f7257895718a27ab9b94976, for GNU/Linux 3.2.0, strippedtroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) #*  RRRRRRR RR R RRRRRR R RRRRRR R RRRR RRRR R RRRRRR R RRR RRRR R RRutf-82c3a5707be6d3fe9d10cf9377b5494579fe223708a62e893e6fac91ef50c2fa7?P7zXZ !#,B] b2u jӫ`(y-n\/m^#3;'RhrPg]'e^fRÚcG@_:E6c/k5ERsf&[ڀaktPōkT#,4,o v>;,Ĩ eqHPh/.ћj򛇨[Prk㛠tl k0 SS$j"| #zrzjF/ص쥘w8&Je.Wfh {b`fOwL` ՐJj^w'Gߡ}϶UUx3b3>w`WUll4H )\۶}P!ytU ;r|ldZQ7R^<Ae,h<1:bUjm̓qBy ?B]XM5;|>?BekA1n}ʛE\̕*#' qe8r">Y`G|M\UmÇg(f,$o1)pR bxk @l:ʂ'Z``kҚM盵0X1X^ka#2v a3V-mV3>ٺgR8At8J%ot3B]^ϐMq5bS7YZQOlN d턋g*NqYVħ[ߢo`ApkDG?w7Y$x#QJk -Q9?-AMdDۄb)-E@'f;ڻ!piҏUhj{+%ٮY ӈ͝bXPF&yARF\{`~40L] 'h 1ʧ&*t*SerP[V'"WiNl_VټT,Ze<۞$2Fs!ÿDJbEl}S 浸fGA.U7̓ioਫ}[yAi2|BZ>cn5"u]ySnYZJ~~M BT"zhMNjOQ *^s:0>!0աrt6f0$ԡ*ՏZ&aܥn2ݫf'~OB#]~Pe)1̝,,#) V?7g3E?mة/afQ{?{̕FR(m]k}ðq E:h%Hu8xkR">u8\&5Lq]l "(M~oKRji)1\GL;[j7$RBp,UN耝h+?˼.w.kj_D>XSj<붐vH ggx5ؔ lڙ4{;C0 p:3Sb=gri[x-%$,co"\p56-HͲB/(xv#FM\n0cW٭wK +ks}o@W`~E:GJWߣ'd23`TZA^qRbAQ{XW~9]JB.}Gg9)Quݫgy|NĒlJPcq(BV+9;WD8o֪8? R)?;9-] 7S,k~`"q.BS{[ؕ4I!iZ3EkÅbH {!8?5dTP߰`z,u\!/nh~]B 5<|7H3":2Q*,9TV4*227𾱤:H7$`Hh}݈t`|? \? o3/ha bŒ${5c+')dIN:S6g":USࣲ5$zTB-#?1Y_E-"(F* 54% 3Tߺ0OH'\BOdVLJIWb9P\|4k$>x/6t痉2SّtlZNiGzWB"h!2v- ry!\2D 1i9L>28^jx%4RVA*Ʊ.eHv PL^FڕKjܯLJL\p Nܳ򏮈N~7nv 1,Mս霃ު+r@AdŁ1nuxpz{B`P={#E[KiE$آ8f/dU2Asw,VloJd4ؓ s.&Dȕ~1)BgT&&7^O}Of<$/vJjLSj:?]"ٵbzd 7BrjPkss9^3yH_M Ma=𡴓&bVT^ c {(I/bG$A1 x/::Xvѹ?Rh rZZwSxHhxȳ8colLa`$2v^4z^"m.SI&ʉJz_~G@ -.c޺gkki2e@yj ,|v&YRo-<9X ^pbǫ%,$q}^mqk&4=tg /5WLB֬WVLQS!ۘ 9.kؿuuXك͕O 8H>U`(]藚@PtE' =Cߦ!.&/#gɢYm !^HR|lx, !E,mZ aT 4tWimc{iȋK=6?Di5&aُ={-U|eԨ6&bFDxE61`mZEx(Ir"9ڦdb\L,߱(}gz[:PSK)2a{cہ m)/)H^'L<D9 cp^؆ЫS-}@4/I9[`J7Lm6#|J-tEZfƕ_:0ZڔV8Lxц(?"$·I]´9J']V]ᮃ hnիwo<. z y#?~Z'Pw/#&z)4JW5`[|aΥ]Ӂgso.Qnj F.,B,"Q̩9" .ȧ~[^@NQE}0&=e=_xcAS̢dqG=8$uxL7֑& Þt.,6ĆExEI%[цĂ_@j|0*G ߗo@5~oOb2t@+)]9/Q-Lf џ <w(w jet[I۪g%Zj%1#[mpl!Hbb(km^qO5:AXw= WSᝍdRSh7rjXAWY.oFco #@NоUǣx@2~)4AHjj ܸh]R ĕIQ!l$WlU5|F:\*݊v^VݼU]b[n;g RZ)F+3$z#XD6#ߓ `G=˾}S5k؎*V򬐌4>jsv@FVcGSˢJ^cC!po ) !(oev&zA:. Rl?EJWh/AEe{ZW#>T0 8۫] >>YB Uelџ̲A"%v3oEN{_kR8ӑa†MJR.O2q+1}%ߥ,]1lϯӄҔ0y1/Xf{Z;th2+ m5JV>8E?¦ÚM)FP:}O ZY x:7ė 'Ԅ"G\wv䞛lG݁$Lq'\ YI -H~bv#s= =M ]r ~ ۗ2 5eJnďg:{%pE;7JPFTI&Hѝ=>J|+ȒԫlTl; EHFlK<*TR+igZto:^{hV=‵㣷= x~No+>ҥa ?^J%㽸fhg%V XisB w^:e~&=>DILzD\8.?")$G H am%qhpJiP*APV}/zE|O}A}λ 1pѮp`̐(w?׷CiMHds;r:ʶJfyu a<w MK,CU)qِLtNmC$ar)J1Wf"oe 1 bݖRv烅D)) ݉[,/}0S= 6>,ٿLLZncY1 1B,V(I@ÊiI4I!JBn$".72ؼgX>uYnn@w$H ?چ8Dk]zs;xcZj,l VQ'#ۼr YA ݤ@&ßKaI0ҊgPN{n;ucmBk;-BP"f}Ui`h-w"s-teG$WN~n\/=hƭ k>+M@݄)k2nTdMiC0l@I)RqڡF:7*Mq\<\+)]A`$ΤK||.IrQr&⊣ a[q۩cb滌0W"X ,~p /qDC[|9dWm~%v7ѫ1QP1]<qZKH\ K5WZϑL 5;;(M6ps7RRtN=zC `JtC\ Eu3\c?4.u;@}/#%?\G'Z]a&$@1n&cFFՇyE4< CbV<ͩ>JTb#rpu͔CPyL嫏6QD랍T$2c{Ѡʌ~<wN+nFg9ed=@Fc`0Ld3J %D-ai}tN#)[ڥQ!ybAƺ٤9uR| P(Rxp,EHYrqz|Ϋ77=KJƭ}ڣ:UC'ٖ7yl?UvKayL%ڈ[0j?\."B?gVݶ!Cqi Q6` ]сt;] &}?讜n( hl[ (F3*ML"`ڋkң5~4pPZ^"~#ЎRǹ`f,qdKS- e|AA޲ne,c?aBn3?D[8|lA\DN9PI]%$χAi/OE]dVc[bB|RQMo eGܧx?Sy Iqi)(ag:C승iNy)kKҥ(2>ͺ^~qV.;l̼_녂3czu#ESe މn"&s™- [IuC*nàVMpO2ñ/F0z7ĴhFB${"bD ߼="O׊2V JԵ;.jĞ+J6 !ԝc2-w!] A#6XD>\NϽ]'nS=YnNN-2)O{m).xXQяݱIΚ-XU'kFO\ݳjCUMYR@Qֆ"{Oy._tal^6HT:_fYBiءx-K]N/`]9RЃjC x[A,&{ӏ; }QQ)Sݕ_Ub}C\Ɂ/~dr#aIo鱖d-']C*q9qE(1et]uѢGA$=[ z. bJ1E >Ƀul(JU^ibhUTnF;UڮT54yɌ@BA6IJ$kr'**\-L$PA{f>WJn4KIF7pS|YYˣ;rX  d-,ex|JJcO.t WH?B$OYX48YҬm*'^S#*NW$+ @J.=bм0A(|<lnZB?5L Pf"*bh1b8Kܛ¦@rHLz|ҽ[\?}~B+@duf5x ֞NFuckNV9ȢT\z3M:Zh·|ct*~Gen>\hַaFŻ%4f̜QH N/f8icWƜLʆaY5[dI)(xzƐ ɛ2)^7˺E-U/Ǎ4q|7 x h7f6x"F(o–w;L;܁z:ԓz{ӯ@E۬ۥ{CtTR`TN*bڥj f1=C+]azЪĮxhCk&൚Q͏أ0dcxRU(q<-)aFa}4)*Dd0 RGv@>Ԇ@OM#Ioy>cTcKYlfr;9iSu)Rڷ.l͇4o/94(il**WAuR{RI, M0z k ;J/4[ER*Z,cH.k.%0؄J$_or{3fwq(gڳͧ7 <˘ڼ>F%;z;*6A#d:㋹W0_fwȪAT~7b?#È@=nɅ 4ac 9SSxwީqYsg@jnI>kS;.<~x🇞)-ϾJB; i$ c7P;^:Eo\.­[RR(qC.Oș0:n{Se ^3{g|,|L$7U.K=V%Q6G0޸+ ]^T稴<8_syѨMԁ >Hz(nن*B]=wե $) ^.̘ \8Gf@  VAKٵ?~ k[kE[t~s,j|^yI1"U&=+=/yW@AfE'oꛤI jdGد-hC]A{p3)0bZٖat1oK>l[(5d R1Hۮ "s$t'>33/u+k3hgxZq;ez*4mcD,5iNʄN=a>=i[Ҕd4#K7 @[CdS˞2/(+ 4Kӱ,čV&sr *S.;MG@+Mmmya}%ﱆxb^o)Cvx% sfSN9ʲچS:{d:OA( AqwѝsavGטmuiR nkJF:bIV{$=&/:0q04 P`ApO2R@!#\,\TX脢o)UAISX>i{keˣ77{9sl yp?e_E^Xӗ`Ƃ.֛6w#oM:,5n}S!woAX11+kxO 85IϴnZ룱kDX` %;W!iqG۬XJoj|}rґHlQS%jD-ļuo8ќRi ]g>3,l Dmx4&t-|{懫751ʘqaqB;fXj`K}y]sϙG~Z d R؏P}nbWTsB.*ɒJ(!?vMo; jnCS ձu1UdLI4/`xB~熔Ӥ!/Q_m +) r^Nu V=L ΌNK_L LQE/*76sbA_utCȠjGTgwm(HĝKd,[ |E40C4>;vk Q"u glcYN Aڇjzկ<.xl)U?1)-3-UKQ.QL?cEV}5%|$ ,bihvosIPT%@v>UytYmOv I2q-\ J>:a{)&5ϫp-`)_j3JuA Qb$q<9[x/Cv [Wľ#dyrpKUqCSVr7`/--k`mwc`ϟ2'>5PVv m2#?tAB(: 1UԹm,pT5r,Pu=8$e׷~|b˲rRP(i>n'ߪZǡov"'NUmRFIA•]DSR'ubJ)XrA^~vQȗ;xs9l5͜of]&Gm+\ilH|[K!u0 uN>Mb\MBNרTv+lj?k)ݮ܂?I^'") a&R/(G 6B]!r$2+于cQ~q@@Ӿ//z&XFK8Gl ZJy2[~XWw s/32s)2VP0Y)Bsuk 1,g39%[? e9+<n4Ӊh:Xtɘ[J'2edx M0Pr2BWXֲH_#Sl! ݻu{4LB|Mw. n2+ΜYT58Lwv2o#jNRW 4ushPa#ށ>hy֟EmJ;mMM:#NA}R@Ox"T?C1ť|L䧼e݅?@2`U9I?TBdg~uĪORJvgu00ZHN2by:|~i73'*2)}myONU!me?eԩq;юM0E~a4oVUtcBZT$Zlbe*{Dxr][s4Ǜ 0Bon['âO!m*V/xC foWLaV;AsOb&iM,Na7raEk@XbtQ힪 *(QU9ϋsEVNtL^*\P 1@"$s3Iufܵ~P+${~jZ`N~D_gQeKz yZo; (T~LȬ&2 㳗seh>Vz!UN2n>%r`T8Vv&㔓҄4=qع`_'aêeyOzz$\Y,O ål܎-HrȩȂ}R+#}%O(NJF>' ?CGmCڻZ%,>Hb, Ց"jKrhTr-'3(]@o5 >S P~MS~@>3^;;> !m}VnQ)&HsW>zOTq[_@TggQ' p#yIvԍu*&R:{I4(ѩ4_}h @c'{n2ʐ;chʈ//{;ԁVQmK-A3.@Nq>onoNVN͈)VSa7bZu1vp|)龐[^Nr$CCa"J<v\GzkVPq@w( "5>OuZ^R  ="aRK!m c˵& Ona42WPuMA*ގ9,ZtlO`QvꞿV8 ŔOJDV2Z`ֵEv[E?ۀ vb8Y%4̜3/h-qI0:RMG %,e&,d1༨Rl!1Fa kRf,&v ט\/6ܙ;֏`k(%8f~ NK%ҰefU,bjWv GUWТfSxnm}YIvxCߍ`'׍Eգ6uZ|G!$و"N,;]dĢ}yʯ ćQ[R#z_ 6\*06#'q~?sSt=Wt6uc0FD }6PIjMrإ> {KӁJWTXì0&Yn ν^\ecZf%}+@ i`[*3sl.:ZɨF 2T|x|x!%LiteH`c%ktzX}!wetv6R&!D/%ۭ~j2jm5wT$|e6!62ƣS)*)ɠJAE҇u&NN~k{ 9_`?OyXC/c%2I})@;L +S+X668R-n[#ƮIJiTYg cc( $Lر:w&>Yۖۉ1hйj/Mv%0“:+G69oy5}XF.iꉧbd8]6#KuEI>@`j~ѰR`Ww2zoItݕ-fI`$)ynVʑ+dq}. h܈-eB0*ڎEp;Ъ9x2zdUEG'磛{0ZlCVBəd%l2jA|*tve kj9H<^+gQ]5Y3W68GhnrYR&Gp,g3&.T{ 3Eru H%>ǔ=7;rG,(yK>}/V%5=/ߗ,Z13_Yt;;=gЙG̬zn EU5S4;J%g6r| &滓qZ`ka,C齕<.կM%mC6c;倪 T#vzҴfY" W8LC7*,}”g&y#J[U RK/m { 0qefrM? L29~l4apr8X)/G.[R1<2Kj[H'|~$_[rdTTLS+gP>w2!VF4V4K/TLqcNTu! gAA_n--E!XfC:/Wn'ˣ-e %/FrL8socD=v-<6[&RacVVldErEۈayTП3y[(37GBW&ڠ|I'j+S Sq}~*%<A8 _6 , Qb@04(fz|l-VK6zd6yV,>Q_ EX ,evWaBsEn}1W=:sJw(ބNJB>TTސMާD3\dr?/7(gnK_"OlvW-U6U}Lް6έ2ұF 8.vmKI:1Ne)ȔA9|+~6#\{p÷g);8]2hA-Ɏ).| +tE=1 Bw8P"/{5 O_zۇը-Ƃ|[f0n3ܽnރrЬyE%h''pÃܐ), {)cAxO;R ͬ{D`fۢ&@i*YZ8~ hYM Dq jIw0dٮa6Osid|Q7b첩~Rpb-qu>W_3ͷ]9wԟOS…B kNUQbr)+Z)76N;96oʕq`5oY- 6{FƁM)d9Ᏻ?pp֛/uz~o{qpm rԥB=7U-J2.:` Kh`}k#&#uԝ7u 2o=b<6 XڮbS>d;8n8T&:qA;dH8-pw6Ғf-)akSP-m DEi,T\*u!9#.j#u#ABOg"Jhk|YNh\Ő|Cf&B%,OㄺB[LJզ>$+ MTaV^Q?"^Ebh2(!b WiYKVJ@m`y4,j =m8_JK/Ld:>DkLUICP +0d8TWͻBz>euF^Oei #ѺA؈qd+OUyuo1aTţ+ow8$E^܂,Moǧ)QOn6Ĵ]ASɨj8E-lE浵W]#JTVSHf2Y2Sꢎy+A6r0\VȫU±ӵ!A%_0XBR7 R3OLfNΊ/Wz=r(; 3k/bxN'6+dF}Luɡ})r,NG,W{.<360T o|\G5aB>^i#^ *wb&6Zaefh:+-Q( h[lAS%x.̫ȳ*.c6`LNìéj/)בc$.T نx{>|qQqcc2|2QŢuvX`MHƙ-=nq0i@ǀF&%3FӇliP.HХwJhz& |||P<< O7K{D'1 PunCs{Ί^@I:# M2ڠ ڱOZl5Ur*ᑑxk3@'@U$ƟTF>oȘmdHT`XqAΕۻ랓lYqXw%/PMLH.o<1xX(doBP% ?>bV{\xT-*R\#a Ĕ0gȎux,%&k-,lU >`n 8/FBur~؏ 凱o 1 'В@H兌<6T'4X7(q5<5UX|I=2q UGMO7{$;/#b"E[AG8k&IZ2e15 aYZՠw*Mim[}D8ۉ+,\e,˪+r^Iwd _>tk43 6vYVlvRCRrwʩsɇGC"[7h K#$@/yUգzw{߯DH,wQ`FQf늯z 3= 8C5S/J̅ ەdJHНn:"Y}SuR"3YO`XZ)_Ͳ滟E>ˢCۣ3" $3l G_ 5Bb(mV/*5BggIzy^:#>`1 n_ \?[]RxL`&LA"odiod- %Dx%(i.az T9>6景="QRҧa.sYJ]5,P:>esq}`wr%"v0eY~!equ")]qC,ZJO ܬMߌ%B90i%2ۜ[ i7|l~ ])@A.9 nvG5#R2Ts5V"s I[3IRE\,"d wQ:dQ~|{0rzmz{hJ5{Xs2v1xll{Tjc .z;b#JO[%a< "493ܕYWv-~  jO ݹw~bR&e_[nalи,8 ݨ]e5yjRWǦ-NHVPݔݮ|o*.Ziu`ޥncSܙ-吏ÐS{wξ+!Θ&h$V |tup 짓9ٙ7vl*鹝e}5Qln1Z^Q^:^Rډ"R WTEB0x]ZښPH,CTbGud |bZ_Ą*O&ɝ$GѱOsBECAb3!?)7"_R}L\ː+[z4nz?̜_b7Z#3V3 _1TDG /ɣ)Ke6'Wi={1F\/kOU4#C4ync:u-(8;ƿW]TʓP:ѫWOIAy^arM.~$.5`gYx/Ff+c0N ])D=fV.yDVT xM~bzW*2k6c>!"36Q` ڟ U$rk-Zu+:A.H ^@l%2k'LTn(jD nl$;h—+m{cٳV՛,$ݷ0~׃pl4gS5MRe:0:&N(o反JҧYˆ ŨQ4 .X_X? ~H9/{O +ƇLSMq+g` Xff .VT2;xe[SW4# u qs'_`<s*>q6\ 9=4a +|c v/?OE?5?K3T^Ff!WK9flMiIU+'U*mv}z啂^fO!m7$SR+ZWNrS\f_pqʚ.&ܩAEFnW46 K`YkZ|!Z~%8aGָ p& Q"y+͒ٿ>>~vRfe$Z-8riBGEtlSxdŕ=5 :ʠRxs]B@eNz 1nˀB[>yg˸cy$ :˜MwRIQ@vCP C'ןqb}*leI1jwlv2L!uL?G:Au$ZHs2DszX;޼Tq.5}UXlfҕ&Wc<:a{{|VÄZGQfqR0;n/9Ũ!#ZO~z"cs̞9|; fICE&-jJ$PQ.ZUs,8 \jߔ̭z w9lRF̖Y!i.0 LGdx'{%jΙZ {uHC'$vOCv^.p&Z җb`PduHX-ۮ\lKRgeSV #ǘ>G5$#1`Sz9.^Guaii󿠴HˍKx!bJrukM݄o0{ȄC0L:i÷%R#YW[GYM\`o8kӖ75B„y裩]`Ū|N]Rݧ҂qV* :?ᒻ!FvEv -2_&!p'EZ9#ƙA-8;%IsmwngROldsYfW,^zVeJ)S6HjFa^d FCEe=GeM9AJǪj5_9Tj0 do !"S?M}R}AwU015'{;wSMa-#ﹰ% "|4 t|j .3 KB. YLh#7.zCjncND8_2D]O ھql;ORӶ\L@-OhEKT-uy08tz{ pǦ:TF+N{z[ %6eGmE-@B0iC;c%0z' MՔV,tnw5P7KVy19:̚~t@~HnйeDH1kO?)^CO KUf8ݼ6c7#ַ/'66a.!A;KVn83ˈulm3sѦS3-ilZ1y WW/J /[J}HgTFBnP|HrLkV0IeQgZڬhǓ}jv: w:HHFSȷu5Ҏ2sē60G WH9cLuQZ͸/N}\ХSa?AdԲAX9 Xt)_^ʖk^b޽tr4!T aۤD] t A%rD'o1Ct됬u:8\7<Q~܏2 4&E5pL$,VJaK'e%wX\~ۖ'U$:Vnb9 #8@)0Gq%E"o^NXtӆ1HkS CoXqQ!aԠjX @O>b*;. ܚ)ic>fN!G[#?G'&.=*k!m[Zf2q}|&B!;_tj>%H=WVQY[kB_G"B=+(ڐrv>#vpV&fsrQ99͍w{>Ph2LQ5/OAS\&[/Do=9S鉅.\p@Nܯ6(9;b9dZB9حba7{2LH)71(XhIrNڢL-KXAyKK6TXI) Bg֧+f4`.2RTjeyE*]MI>]MD],qg<) UjL+b#9?lhKqT}6.04hC)ӄ]{! z +X'sD9PV֧g&\W߶]M%/njwZ 1l?g3ea/lYm{ e[丩.穒+@ٔ +cmYe@nL _ Z"֓IzT"TӌW# W5D&OkzuOp&J:zw{F݊ pa'n^qNl*iodKV]m<:Y,ǧzjw"k}`a@UuFʫ(fWdE%i UH.+IEFtEoJe#`lFoݥAR߽%ށi85lٔ]`:^%h-WZJvebaFE*8d( &M2=]Ts&o[9u3*v<]1.fw8LPI n \|oEyԤ=+͘%øH/8Fx1WũW"2 Kp~yh5:NSs\wW~MA,lN6E7)M@e%{ )Y+ʌ}jk![݂ $:yW&wШ"Rpa%ͧh(9inwCpWDكE6|Y|ڃI­[] ui-2w)mSD2px R(͍=hR[ax9˱ua#E7F t.iκs'uhwlK2;8%A[A!Ӆz;JY!|1V,xZ_u X, m pn?p}jZt7uҝBqGn4]XliUA\:&X!lxS;` 4аz?w[dAQ+BN˵.dⓏ-c)gOEe1w)e0efY4WaqsVr׌Q E-qu&m7?VB(7m+ٸUQ0_f\E7 'C9`Hp ,]#ޗ=yeh*#W^)Bh3_,lC\WUL]gfSJGiZ9;oY!@j46e\!4L&1#Z?r'@9 o!}Xo ?4T%OHƵ" "}ḋfQ>,gwh1K,hFUrVl{@ aDZ q"F2$^ˈd1λ܀Q+8'm^^ Ƭ|a Z$|7A>g+Xΐ3[3o1FƄoH:;<PVr5I[.Ṋ Fd(6 pi &P 4jJ? 9?\ae!Al;MQMm䉹N ptٔ+E7:/Zk/5@rOTCZ%W}vRHDwÕůOU/8=9HSƥЈGjr ʧ٥UCFebzT'G2*cU}ЧcMIng7PȞHH2eg >jd3#ەšȵT[Wok?06Wlr6nӨot6rP8Z$Y[-i xk ^?v[aPb:$ه˧_\Y@ƒȈjd_]qKm6Ӊul96S~i[Xo`G涧/.Kg3b~mhZkgI[W3Ƞf>N\7xi9NK<8fj/X9nr d4}ns&k&Jh-\Mb eg&p ;BWlisZa943h' lj=Wx=ܻ KuʂCm"PZȨ~8)|$ܻP '"RiaJ(Rd\Ƹ~1`dfъR`$\Ѳ*p뚴%K5Kɵ /At`YGяb2o]|FT|z)稏2~)`1^{@28Vt7" <ok"I#./(sBzښea I?ŸN83T]bd?^l|OD22gfĤnh8&{xdB 74j2(L+YWgoq&f $y$ Ny~JjyRz Lv"T*\$ͼ6Ƃ/V"/PTr9N3߉J[$wAk;O_GJո:h@zCĤ7WC4Z+^ {IbF<<$Dڹ8Kp^{DD&M.Mi-Dq=uuVoܤ L2-\~;svuz҄f6Ƀ(tc0 dtQVY0銿0̓ "\kU׶Go$jG/VI7Ql3d1TC?˩q`5wARlIPt ³'g.g%hAUєV O⺁u6>U4 YjhX"i{:JeM?lN -a7vh2 n6SQJн't,&meJwB|_5 2kdžN_<:i]%~=k;T03c NdMq Tb1/J,QEY{8<3B9-3̳5HEzىr{wI?ԃ%xyT,` !X݄cb>i=$L ָK2EGt]Jepca-leV'S{EVӮx{4nm溩Էʏ5dcw<ҕg{Z[;WDcV5gG(LZ^5a8"$FΩC!tBJD-":N"qȷ1CBl`'s.D\ ӅyhPZK 8L\ |xl,eЭ;0If#Xw:]IJШF#S&X[0PVuI]W%W Zֈ*&R OD)םrg}VV[ei F9y+CfvӾ Wox/W4RFzJ,ZC@;$|9BbpwU<ϛ_aur }126BV hs/dRC-9-C9 cnfM_>d5< ElG]GCv I#UJu`C=$?2r?5JFb6mCZ ܞ6C<%PJ.88 F >C):@Deh"7op6ͮaGL̊a/<)#V9ayVerCa( ~r9-6;S&9=Yd@QJkAܧ4ǔ$?} niċe攆RD)72sId $`zTjt]KѳWLTb5+6SJBtK!ڽ> C$4Hg7Epou'{KuLy_$,Ӛp~'lTLW 1O`VNꚰm´kk ut5~?ZLh\A4(>^ɽw$:i"J3yZTmh+1?S)&4Rz5BߞA҆].u}mk&t)"L4§l^SyiXG|_Ι,wq~y\Lr2=?{V ψ>InF(P|`n9H,ts;&БU/[¼H5HA§xlíC{&Rٓ5N P/bc Qu=d<0B2%P5GWzpF$DKY+5頥o)c ExRR3>abT8sպng&dSҤ3ۦܘ}q'XqbT1hRfZ7W6/鶦0֊U4~W}?SÅl =^RZ铡8Ig?Q\ $D*2˼cE>pe arfgK+ k!BFs*q燊Ӯ W8S6Lf`K|OYqrnzfU>GaH!jFM5"zI8\=F:JgKGgdjf>+B|hڋ,|k".3v-Z0yEԶbES枩p]ٽ 5wKx0fSܓH']Ed] 4݉{9#]l@}vm,#dTi%CKn2꜔ 2Iw #qb\x˘'*0M",K\fvXS Ý8Жc,* ^@!MZU!Q -~.= 6uD%nƁ|ahŀ5],Z;֭4PX˩Ë(EG"DR }CTVh 8jʔ00 Ŋ*JԘ8?g"^ gQ]@= incM/S]˲뛛<͍[%Xn؅\wKy(0fh 6Ou  ˬV`\XWF&dN ƶ34wY(@2)dJwqc7C‡.e#(Q\ 9pOI54 ir> ֛ w:$ZaԑKM3,fQeNhiuw=e_g1,TČS7LOVK? 2/GUr5qV(_Y:X?L|\x%<t{P3 @@{-l}G;E 7!|Ndv/=IN~;R>`)ʠ8p^ v+)Xnrpolo) e UDP£Ҧ)g9BCY\趬l9 &V%Q;sс3}s|~Ϛ[ME|j>`HBZŅy~3IJwVPǃxݏj=PJXrvJU/*u51-G~vK7X`>1Hag{l-{w>m\Lմ WRD${}htReSyos^dW?,_ض"A^q+QMSSAz:YNi.*?B`gNM|0!dZNqY;};dm90{$Vv8a~FC[, 8ݖj];9SOB8MJe+.?ƄLJQ@‘<+ocFȃmCzGӈPYK%ބž0 BrWHs}Eoq`( L |N=' Se{Аߝ@j3[@ Tw\qow,I:Y9XHp4ZAB'|$IT,BP1= s:RxކR~W7e QS Ӌ[ٝR0u sAl ,qax+0 -]&Ibe^(G`%* x'JFdyN/j0Xb#XX0|Rw6KbNp!$:8 r6`^PDW%Foa)$p"\AO7Ki'1:ts'q:5zſ.~K/QO\v9) r ( ASB'pT0< CD;cgY/GQbK!յ"ׄ:;mb@1oo☋TIq-6us腚G4*1nQP--' b+h ^޲a0 x Sc}6ם [+{09\6T'\HU@R) r 7jvH4f /~Pߕ\lxܑMndw@9m**152ֽ.S!!oLq^[.Pr.JQ0#뺯sx-29nԴAx1wwa1c\>~U`CaA7׃sd3/xqa1ބ {zVvfK*_ /"y2`H7%--ԍ6T : o6̲"963x ƾ8h\x;tzP"AeugpǜA." 1ٕ0J;TGoBrucl!0.<(hsख़,c& I4T;g&D)cɈBbru:m֦Jg+&hbU?4{QР/AZG矝0Mn %K1Fr~T3a+?QM) ܼiz(z>)\tn%o!]>ҚDLqG%&=`_ a33u FmD?`+V5I'XӼ1rcJs{Jh B8S4Hcڑ%g~<=fHap-fNѳ 9x&&?hN`%6bEP@8~ݤF!$NPñWdYCU^DfpS(a Χ\p 1{ j;ψu9T_LP]v>gu ܇ޠy"N]YIuA( Rj^">_-'밴AKqwڷbf"A>cj٪<]):H/@PFNbew1M*-w'LUgB؍N[-aB٥3vMiu"bY\ٷn^^hg#9+ݾ'fIJ%S=|+XsyGj :ަf]>o+WJL^jѬ3jRJOIPe7tiiXC*Pt+2:yP`;3pFctg L xC:l,)VX6N, ]5 C,6.fg--|+D=|+`}AߘFm˻ag+* 5]]-Swb2|]eFK "0$FI`:z؍L$(920vG#1VݿQy>cT4YΏˑzGg!+-KNJbv5V/ ιjX ?]v} l-RK8Ph'Bx͗RxZ1:^;H(vަ2NV)ro_/Zl&\ (\1AU ڬc jGckVmfόfeX\ K x ݐ+g}ѹY3ZR< t0FC*Eȣ|&$yAdzyB`N1ѵk"%]=ֱ ANS jrO갆qAEY=Ma5e{]_LMxQ` vY/sAQ`uȎ4t(U %R/:G|&NITлoRNڔ <ﳉB[7Mg#N-L2怂ǔ :C%{3JIŏp0.AϼQd)$]TA8kURttwm"pA05h2 btq/K%79 SF} )<5f+[ۑ2CH Ua-" Y.?ɑa<[cu%Xj_}Mr Z1J9>فp eDle>#JBNLYL t$k|Yh "EXorlNx2'^o*?nNesD.}i#6]rQ5v[iB۵_ɼAmSsyL̘!erp(>6/ ͫ*=s3.q/JѦ&rT8r9ybto"v3$g/wxaPU2;VUad35! ̿t ];~*"e\Qvfg|k24x tj8:U{R(C5>O)(SUsy.u/A2>c 6#yrrEC zH雩TĨ ҝz`KLbw)P46`$.& 대|]%{% NLI(xu\lm;YPLwO?+x,> f :++w'j,HO q 5.uc%-I:7纶OV42WgNoyKJn3]d~ߑ7`EqUj-Տo?WB'6t FG|*_eY_ho`0j "7A }а_3(IA-?]4JvA8oq+A)O_6Nw?FXE)kp(ped ڃW hq;ONv2+D|f9 d ܄mx,x2_s"`gh/AL%=/UuT优|ur5q7GKZn+/^6Ur%V+P\77yax"iɉ9'1󺜶?6_I)e>ScHA?V!bN BHė}L1LL۔Sz B{`5zMlh9>7OP}穻l!廊-SbX_͟ P27zK%&O&D JD&]Åɿtԩ SeҊ>%#rUH[F#F ˟余0Дqd3߯E. jiqܖ_{x kt_o1mV٭rAe>`:ٙT/S32{5E>^u<|CGG(%w2D?+$mԵɃǢ^\EmB LYURZc'Jt){{c0.,[* ‚Db-پf .!Łh(o]E_܌XCAΩvHE"O SM{'g2_Y𾦨{@@PpW[>3sMw>Ρԉ7v#q{-P@xLhzV?dDXm\ O-\o4pEEcgֆ|",Q2~MI< 9P=UQYN+^N7J[ .^- 4|"fFN >ۨhtZ\dA>[:~!,q<Mq' ~T^>͖@03X\h9ą7,x=ַfhT!>o+IRGcR|,NJv^Zwu(ѩZ4vPxb`AY1W@S7jfH(cǪgSxгoS\9; =C[ʥwG 苠qsV-+2R  BYf.T-t> M-L7i9Q=0@6Hϴ$zPVk (8be6UPU|(Xv~S> e~)`ĝ6}˚(vWжdLM%8P"RsTZX|F:){-Q\fm2^DMAE)vS96OPԪa@45a$rHk%- jc@|C H6;Yiy_c5~5K>օ-f]>Ӫ{=t̑~ SSQ&`^y"iiuQ2}]b?[52)}tQKx'ٜZ]lbr W84Fi궍=Y+k:upQѾ'ܧ޸9s;lqF)]FΦS%BQ&)(9 10QEwAw[}./'_A *7'FH;QYAHIy1S$D儫9\&֋# ?м%̷siYUYJ5e_N.L3o(W ۝MpI;7䩅t%HK`"C/dL"N}ƯIKʼP{l;g+dj9d|k^<*kQi{2|Y?J\R`ntP!8&!2珬X\M9GRJ>n"?=k͉Gv:)Mn&ÝQ*i1nN4j 6'ʲPՏQJm'Yd4 ;rJN it߾g%-=`vB[7mxUAݹFi; ¥cn&", ,ɤ^M̳:r^K*?}2O`W޿=q؜B BN5}^/:|-$3e8_cҚ3jbYٛ{Y7hk{.ٝAN3\TM6.VJC}ζ 7gj|wvZ5}ŞFD'S+2N:aMK}XmMVc^'F'G H 2/ZVtnʬA ‹}1o#];):{"YRdPb-Uj:H):lw !H/'BI8ޅe^Jt"º.b m%]ije T /g<]Wu/J.ca-ow]&NjʆxWK6>q@MY,$/c +vcjA;iܸwi)f$UɄÄ E!%Cε1E*YAzD"1t{u8J(u" (6^ ٽFq-2ox ƀ'ǣ8V!<#v~'5*#^$ xL)7 tfm5zR7vG=AX],}xYoM91Au$VKe$4߱ B\P$iT1B,Q8ׯ\`|̚DIEr/ |i&pnn!bm9ٱMPiI4?_+tvla b=RP;ph8(Uy(Y]iZΘn @_k"ֲQzOVݩDޫ33bIdВLjTxRP@IEBM%Ʊ'vg0Um}-B7+օH0o:Z94SAZϕ+_;jѲRAHߠ4 0fb:;zїۤAԏ~#Sum}䑔apN47Ms~sŰ Qhu}vLxD NF8_FH s?/G*U|Vk FCaıx331 Qm%N0 5h]8\nqG9Iiq3ngV|YmRY%ί-ErŏT9|קfqU p25x'`ؒd3 w@Sumto- q<^k^͝ d up5݅^QcCj51M.{F.lIXn3(5IdфF}$ u`~P S[^3}S9 +O g\\ZDʚ !|tQ~ 'qq|w<2yF=f-=" N:Ey;gb«,Dd BlCHI=` %=]7M %q*Lګ2"ޫ2㢄S.ٮmGԃd8&\+TV)o3݂ O ȅKޞˍc;G ST>]pٙgzpx5͓Lbos+SPѽG B?s[ʙ )9y{ ʬPjcS/K&+a{i\{r2|{tPG.Ih$!-jH,t;nq/JgǃF"l@/Gu桺}]lʪϮhSY|d;+gDKYk3]=&eu쒌6Efo±6=b&<6%4MP u[H`Y6 g՛|}s߇o'KJ(2@x핳|~*'h:@8qxJhv_c1L +OʓfAE~qqN )4#F=zW—M;1芆c)W<gez_YlۥZ1x~gRn \-EU zfReӕ6`2P:Urc*ߗd@{D][m< n!gp[y6YBn5ain5ͳ3iy Q¹dk~!#«0NPVҀ#ovM-Ktt TïY3xDqkchm(M`:}M %i"Z;F=* Rb\1)I5bzB]q;}( W+ܹ% 2Y^ P)=M)[}(?>^g}W3щ,if˻rKKA ;Y /_Y&\L@ym].s=O},4bOE_S@4*~I˲Q:<1Ն'a3h2*V 4]nj 'E\#}Ъt2PN+s+\aѹgx]*U+%v.'ge}ALۀ8;.Y!+2XpY_E`TZƾYX70Y sz%7wy!& 7:6Qy:*8qlaa(#8eAm" kuom)/B^:21&גGq:Q8o\OCC zDRDBKGz 4{oiYكy̑_fn!LyV L@K̓(Fѻev BؗP:[8>bjB$BA> ay,IkÓ#i غćEҳ0oab-sWo>_d|˞)>["6KbUF RЃ%2H8ҁ0k{ ܞg݄NT8a<dQ v੝ӢS$@p (.wc02{WδgzJK|M!U"nx7W2Cx6H[* ='JOK$NrD玥Hd6g67D+*A?I͛o%:+51;}fFCf1s;,#2NQP;;4zLhrbe˼mӁ?a714!`1 b"eHZϧ:M DIC!%EdlpQ)(,W\4Y ӞGrJ*'\-hԭ=~15M- 򻉱ϘUb\+Vz 4ӍrHCq4-ja^#k0pAMW\߉癚 6`]Y&zo}9|BKm,<9nA .=~eZo{sDGj7XҮumH#U<6Swg;xѩo +s @c|}ߣvװӒ]g y#v$bd2ۻ,XE3F LFwgTrL7żS,ɖ?5iF j_bԪz!aeԬpi&oNBon^xx %iO$1etu l[1@5<}9Iv$)"#kR.geN2p,CXתR_-*fa}gΟ#=C90$~(O?,U*kZk)V߿qI4 FR{Mg]E؟q ^s5UcI.Ҕ2dGL:hQ-3Hq4q6Ϸ)X6Vkg(r]pc\P#֐:q Hr<*M f4?H+|+æ$sx#zˍ #$S5娣4 ol:so$)hJ`UC6*(wtؘQoaE4\+L쉀0/gLD+:iv*}u'E.,oGQZ]8020мWA GQ9 uX2|7$ |- jd n d"Ɂz_n$eeb9H\4PJ'i$G6cԙ}b$=B\lXŁ6/'#q!o=:46ɲZ3lć}%PlgSQe_OD2w;:R lkj<,eQ`(T s߫ l'kBâi=%Uh24L(x7`撋f!9}j@Fq_Q!6~gfzhA]v MmY>"}h<5{SN&{lj~G]G#ިwVV6{ݦ'ͭ?*? 'Ȣ)O(Bv:s,ItKMSQzږḑ!*m1Ӛ~T[46p~qb`'nj /b}6 I t糋1[Le0U@vI ^6vY;# SfGnI+ee ~ND6]:7OC^{3T2U%8Si+M]8b[\tyn&~jϰ|u1?{*՜IY( \@go.@ьMxG֣K}yw' GaS߁WrL!n@0,'$U:o:McޛJ F>jC;.V mn;F?\xzHǗ/z[iSB30[C)!=dxʬq}ᣘ/YwԶVlrɂpzzLZ(` O`YTV0m5u|N+HͩޫЮy?Fv1ӤD۱ Bއ z!" .aI&LJSPm(X󥝦Yfd'd^ [cx^)qH };9J(nMf3$Y.rrzOR>̓W~BDyjӑa1l^!|XkS=pA 'h~}4. \y;l_GhZm26)I` E& kSy5.y?\o1AU0G{E*tuP{VnAol.\]N @Ce:Ī?pjaE1`kt%L3(\e~^.vCv_M;eO҇syLL&ò̕OTL`otlh:=&wΎ^)œg\pY-5ncyFDYRi8 +AЧjEo)\J*9^ |4cMLY(bG@5|/q=!"<= ĂLUAD HŽ$VC%~^(ڽLX?ݯO06NYfP=  %5TTuhrVk1f5 hMf:8;AEx'k2OeF>3iN " @zQtc#A<]C@%'e-|}ΑJI0 SD37|nSUcF8r-&EkB 7I8izNIgjtyxE姃)˺ p!&XZk&$E|@>9נ,DPhu r]GvsI>DV}"L=n0;;VX|BtN]v/?{ nIO'Og,ͭ1*dT5<\6:a_NS%* ׳BqMg]ْ*ʮ6++B ]ʇ뒋ba!v*ly+Xť`"OS R+8_6 +*_.m~h7KZbxش@3sj2/iR3+[n)re" }/]0 eL0 !# 0HX'oC@:sd/V'h }6n_bQt[6{3nU(nf'm l'C\ŢEk%umaÒbm覝%;d`P(rkIwv4iB6 "-+T(!{ETAՊ=)u/]KaN36慱cd-U_|/>VD<B2t8_RVs22Lcv0(D1?QwG7U5ܶGMV{z(VVaɼY=| F(OfsӪ(.lM^4D:bм]EPc4*G'[g9)9;%)| t]ԡ.cQc spNu-P3 ɚ YZ