tcmu-runner-handler-rbd-1.5.4-150400.1.5 >  A bwyp9|T$ϋH_Ͻ&l{CV '<5Cɼo9-L:(2~0tJXH{f(3srW0d Ɗ3"BH,S 츳mG)}F#[|JEߦ4>g ,jlW70d'< M)<YMݽ"9 FEX@fcpG-+qpM%X/* ScҤ4~ڶk Lƾ? e89a4dac069e1111e217b8fdf59b6152895e4e01334fce7a03a34d89e72133f7b20f3fb5513473ef08bcd23e629576aa59f0f399qbwyp9|7CVТ`V}S PYsO6RKʡ"=y2UdDJ繄Mp׋k&$ɉt>C[Bp̓]DzԂ1_ zp#N rTIG\ !m*o8 A+l0~HL0|2!GmehJȪףB٪PبbXX$”0ju2Nf$ew QLX4+9~Nj 4>p>B?Bd  + L2= Sd      $`   (894:F?G?H?I?X@Y@\@,]@0^@?b@WcAdA]eAbfAelAguA|vAwBxByBzB4BDBHBNBCtcmu-runner-handler-rbd1.5.4150400.1.5Ceph RBD handler for tcmu-runnerThis package contains the Ceph RADOS Block Device (RBD) handler for tcmu-runner, which allows for LIO/tcmu logical units to be backed by RBD images.bwxibs-arm-2 SUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/System/Librarieshttps://github.com/open-iscsi/tcmu-runnerlinuxaarch64 bwx323aa8c7680c08e8dfcf27d42a252fcb74153d0355b80fed47538cdde3fac2bdrootroottcmu-runner-1.5.4-150400.1.5.src.rpmtcmu-runner-handler-rbdtcmu-runner-handler-rbd(aarch-64)@@@@@@    ld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)librbd.so.1()(64bit)libtcmalloc.so.4()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)tcmu-runner3.0.4-14.6.0-14.0-15.2-11.5.44.14.3b'E@aI@`J@_^,^ @]@\9\@[@Z}@YX@Y@Yp@Yp@Y@YR@YR@YR@WW@WE@WI@W+5ddiss@suse.comlduncan@suse.comlduncan@suse.comddiss@suse.comlduncan@suse.comlduncan@suse.comddiss@suse.comddiss@suse.comddiss@suse.comopensuse-packaging@opensuse.orgddiss@suse.comlduncan@suse.comlduncan@suse.comlduncan@suse.comlduncan@suse.comddiss@suse.comddiss@suse.comddiss@suse.comddiss@suse.comjengelh@inai.delduncan@suse.comjengelh@inai.delduncan@suse.comlduncan@suse.com- fix g_object_unref: assertion 'G_IS_OBJECT (object)' failed; (bsc#1196787).- Updated to latest upstream (jsc#SLE-17360). Added file: * tcmu-runner-updates-since-v1.5.4.xz with latest upstream changes since v1.5.4: * rbd: switch strtok to strtok_r * tcmur_device: rename the state_lock to rdev_lock * tcmur_device: rename lock to cmds_list_lock * rbd: fix and add more debug logs * rbd: fix the possible warning of incorrect return value type * rbd: remove the reduntant logs * rbd: fix memory leak when fails to get the address * Revert "Create codeql-analysis.yml" * rbd: fix use-after-free of addr * Create codeql-analysis.yml * main: fix g_object_unref: assertion 'G_IS_OBJECT (object)' failed * remove pthread_getname_np calls * implicitly cast pthread_t to long unsigned int * add missing pthread.h include * replace assert_perror with assert * cast time_t to intmax_t when printing * spec: make dist tag optional (#659) * install-dep.sh: do not install multiple packages in one single line (#657) * tcmu_read_config() check read() return value. (#656) And added these changes in v1.5.4 from v1.5.3: * Bump version to 1.5.4 (#652) * handler: add writesame/caw hooks support * tcmur: fall back to writesame without unmap if not aligned * tcmur: clean up the code * rbd: fix the unmap align and granularity size * rbd: use the new format of the daemon name * file_zbc: Remove unnecessary zone boundary check- Update to version 1.5.3: * tcmur: error if both src/dst_dev are unset after CSCD parsing * tcmur: don't assume two XCOPY CSCDs * tcmur: fail XCOPY requests with inline data * tcmur: fail cross-device XCOPY requests * scsi: minor simplification of inquiry if/else logic * Add supported vpd pages to zbc vpd pages * lock: do not try to acquire the lock for read fops * rbd: remove all the stale blacklist entries when opening devices * tcmu-runner: explicitly release the g_runner_handlers resources * glfs: add init/destroy support to fix memory leak * tcmur: add the init/destroy support in struct tcmur_handler * CMakeList.txt: fix the style and switch tabes to white spaces * worker: do not set thread name in the callback fn * target: convert recovery thread to work helpers * rbd: add report event support * runner: add handler error reporting cb * runner: convert alua code to work helpers * runner: add thread helpers * rbd: fix formatting * tcmur_device: remove unused recovery_thread member * rbd: fix logging when client is blacklisted * glfs: allow to load the device when the sizes disagree * Fix possible cdb printing overflow * libtcmu_log: Set tcmu_logbuf before log thread is created * extra/install_dep.sh: Add support for SUSE * glfs: disable the fencing when it is not support * Simplify tcmu_set_thread_name * extra script: Fix install_dep.sh * logger: add pthread name * tcmu-runner: set a name for each pthread * libtcmu: remove stale fns declaration * glfs: check EOF for read * Add missing libpthread * logger: correct the log message for log dir path * logger: fix posible crash when loging to file * Add tcmu_dev_get_memory_info() and split+rename device_add(). * Add support for Debian * glfs: add lock support * alua: make the lock done as INFO message- Fix for security advisory CVE-2020-28374; (bsc#1180676).- Fixed i586 compilation complaint in tcmur_cmd_handler.c, adding: * tcmu-runner-fix-i586-size_t-error.patch (which came from David Disseldorp). Also, added requirement for libnl3-devel version that supports signed network functions, such as nla_put_s32().- Update to version 1.5.2: * Bump version to 1.5.2 * Fix man unmap len reporting * Bump version to 1.5.1. * spec: fix build error * Bump version to 1.5.0. * Disable explicit alua support. * Don't install headers. * Add missing whatis entry for manpage * Add link to tcmu-runner manpage from tcmu-runner.service * Fix spelling s/Igoring/Ignoring/ * Fix spelling s/reseting/resetting/ * darray.h: avoid UB when decrementing zero pointer * Log timed out commands * lib/runner: Add helpers to convert lbas and bytes * Check for optional handler callouts * Drop unused tcmulib_cmd code * Convert runner handlers and core code to tcmur_cmd * Add tcmur-runner cmd struct * Prep for separating runner fields from tcmulib_cmd * tcmu-runner: simplify format unit io limit check * Cleanup runner callout definitions * runner: unbind aio code from tcmulib_cmd * Set write_verify cbks in write_verify_init * Set handle_caw_read_cbk in caw_init_readcmd * Add tcmu-runner cmd completion function * runner: fix up callout return info * rename tcmur tcmulib command completion function * libtcmu: Allow handlers to allocate n bytes with each command * tcmur: remove useless code * alua: fix pthread attr destroy * tcmur: fix free of xcopy parse * fbo: fix mutex destroy * reconfig_device: add request cfg type to logs * api: tcmu_cdb_print_info convert err log to debug * tcmu: reconfig_device convert err log to debug * tcmu: link libtcmalloc with libtcmu and handlers * runner: fix crash during compound command execution * cmake: set '-fno-builtin-XYZ' options when tcmalloc is used * configfs: fix index out of bounds * cmake: add a minor .so version number to libtcmu * spec: track backuped files * spec: update the spec file to fix the build error * spec: pass the tcmalloc option to cmake command * spec: switch to use rpm conditional switches * extra: add gperftools-devel to install_dep script * Optionally link against tcmalloc for improved small IO performance * libtcmu_time: void header file include muti-times * glfs: update the glfs logdir * README: update to add uninstall * lockfile: switch to use /run/tcmu.lock * logrotate: fix duplicate log entry error * Validate input for tcmu_log_dir_check() * Fix parameter for tcmu_setup_log() * Follow coding style, move leading brace * Add method to query whether OOOC is supported * glfs: fix build error for GFAPI version check * glfs: add gfapi version check * Fix unmap to handle refcount being 0 * fix typo in code * rpm: remove %defattr * rpm: remove %clean section * rpm: use valid short name licenses in License field * configfs: clean up the code * Fix pthread error ret * rbd: fix the error ret in tcmu_rbd_unlock * Drop sense arg from tcmu_explicit_transition * libtcmu: setup_netlink maybe failure but can't sensed * Drop is_sync arg from tcmu_acquire_dev_lock * Allow some commands to run while taking lock * Drop in_lock_thread from __tcmu_reopen_dev * Fix pthread error handling * Check if device is opened before calling handler * main: load_our_module maybe failure but can't sensed * tcmu: clean up the code * spec: fix building error * logrotate: do not overwrite the exist config file * logrotate: fix the install cmake file * README: update and add the make_runnerrpm.sh info * Fix 80 col formatting in def_log_path setup * format-security: fix snprintf usage * config: clean up the code * Drop cfg path variable * Switch some inotify messages from info to debug. * libtcmu: carve-out library packages separately * logger: skip resetting options if they match with current * load_config: retry opening conf-file if the initial attempt fail * cmake_install: backup old tcmu.conf version as tcmu.conf.old * doc: update readme * daemon: log start/exit msgs with crit level * dyn-logger-config: honor the precedence * main: organize the cleanup sequence * config: deprecate tcmu_parse_config * logger-init: honor the defaults when config key:value pair is commented * config: cleanup few allocations and naming * inotify: watch the directory not just file * logger: check for -1 return value on open * Call block/reset nl directly * Call block/reset dev directly * Fix up configfs file not found error message * Move tcmu_get_runner_handler * Build zbc/fbo with scsi.c * Remove daemon priv hack * Sync lbtmcu cmd and misc naming * Sync libtcmu dev get/set naming * Rename dev/nl block/reset cfgfs functions * Rename tcmu_get_wwn to tcmu_cfgfs_dev_get_wwn * Use uin32_t for cfgfs action values * Rename tcmu_cfgfs_dev_get_attr to tcmu_cfgfs_dev_get_attr_int * Drop tcmu_get_dev_size * Drop tcmu_set_dev_size * Rename tcmu_set_control to match cfgfs lib functions * Use uin32_t instead of unsigned long for cfgfs lib function * cfgfs: Add tcmu_cfgfs prefix to cfgfs lib functions * lib: Update tcmulib_command_complete comments * Partial revert of "libtcmu: do not install headers and drop libtcmu stable API" * Revert "build: drop versionless libtcmu.so symlink" * libtcmu: move tcmu_get_runner_handler into scsi.c * libtcmu: move SCSI helpers out of libtcmu * libtcmu: declare tcmu_cancel_thread in libtcmu_common.h * libtcmu_log: get subtype from tcmulib_handler * libtcmu_priv.h: drop unnecessary header files * libtcmu: explicitly include tcmu-runner.h where necessary * cmake: drop rsyslog build time check * spec: remove changelog * cmake: add rsyslog to dependencies list * spec: add rsyslog to requires list * systemd: start rsyslog.service before tcmu-runner.service * config: do not update the logdir when it's commented in conf * logger: add critical log level support * libtcmu: remove useless parameter in remove_device * spec-file: further changes to take options to ignore dependencies * logrotate: add logrotate support for tcmu-runner-glfs.log * tcmur: fix the unmap logging format * glfs: add writesame support * api: add zeroed iov check support * tcmu: Fix CMake to install file_optical * tcmu:fix extra backslash * tcmu-runner.spec: fix the rpm build errors * tcmu: Simplify command completion * file_zbc: optionally build zbc handler * file_zbc: fixed compile error under ppc64le * Enable explicit alua support. This replaced tcmu-runner-1.4.0.tar.xz with tcmu-runner-1.5.2.tar.xz, and removed two patches that are already in 1.5.2 so no longer needed: * file_zbc-fixed-compile-error-under-ppc64le.patch * file_zbc-optionally-build-zbc-handler.patch- Move tcmu.conf into main package; (bsc#1138443)- Add explicit libtcmu package dependency to avoid incorrect upstream .so versioning; (bsc#1135815)- Rename openSUSE zbc patches: + file_zbc-fixed-compile-error-under-ppc64le -> file_zbc-fixed-compile-error-under-ppc64le.patch + file_zbc-optionally-build-zbc-handler -> file_zbc-optionally-build-zbc-handler.patch- Update to version 1.4.0: * tcmu-runner: bump version to 1.4.0 * Disable explicit alua support. * logger: notification on changing the options for dynamic reloading * logger: update .gitignore for logrotate.conf_install.cmake * logger: fix the return value * Sync sig handler naming. * Add logrotate support * Move starting log message. * Allow log file restart from SIGHUP * Simplify log outputs Replacing tcmu-runner-1.3.0.tar.gz with tcmu-runner-1.4.0.tar.xz, updating the SPEC file, and removing patches: * api-avoid-compiler-Werror-return-type-failures.patch * build-drop-versionless-libtcmu.so-symlink.patch * tcmu-runner-remove-uio-include-for-iovec.patch * support custom cephx credentials; (bsc#1135369)- Update to version 1.3.0; (fate#322524) + Improved Ceph RBD integration + Support XCOPY copy-offload commands + Support COMPARE_AND_WRITE, with Ceph OSD request mapping + Asynchronous I/O improvements and bug fixes - Remove a number of downstream patches now carried upstream: + glfs-discard-glfs_check_config + fixed-local-dos-when-unregisterhandler-was-called-for-a-not-existing-handler + only-allow-dynamic-unregisterhandler-for-external-handlers-thereby-fixing-dos + fixed-a-number-of-memory-leaks-with-deregistering-of-dbus-handlers + removed-all-check_config-callback-implementations-to-avoid-security-issues + tcmu-runner-add-local-target_core_user-h - Remove development packages (bsc#1080619) + API discontinued upstream - Add fix for -Werror-return-type failures: + api-avoid-compiler-Werror-return-type-failures.patch - Add fix for library versioning: + build-drop-versionless-libtcmu.so-symlink.patch- Add two patches: make target_core_user.h local, to insulate tcmu-runner from kernel version/data structure/naming changes, and add include of to that file, to fix "stuct iovec" not defined issue (bsc#1058303), adding patches: * tcmu-runner-add-local-target_core_user-h * tcmu-runner-remove-uio-include-for-iovec.patch The latter patch is added only for SUSE version >= 13.3, since it is only needed there.- Remove install prefix from beginning of install libdir when setting tcmu-runner plugin path (bsc#1052795), adding SUSE-specific patch: * tcmu-runner-remove-handler-path-install-prefix.patch- One more update from Security Audit, adding one more patch: - removed-all-check_config-callback-implementations-to-avoid-security-issues (bsc#1049491)- Updates based on Security Audit, adding 4 patches: * glfs-discard-glfs_check_config (bsc#1049485) * fixed-local-dos-when-unregisterhandler-was-called-for-a-not-existing-handler (bsc#1049488) * only-allow-dynamic-unregisterhandler-for-external-handlers-thereby-fixing-dos (bsc#1049489) * fixed-a-number-of-memory-leaks-with-deregistering-of-dbus-handlers (bsc#1049490)- Make Ceph RBD handler aarch64 and x86-64 only for now + librbd isn't yet available for all platforms- Build the Ceph RBD handler and package separately; (fate#322524). - Split the GlusterFS handler into a separate package + avoid adding an unnecessary dependencies to tcmu-runner core- Explicitly disable the GlusterFS handler for SLE builds.- Update to upstream version 1.2.0; (bsc#1038712). + Add remove devices when tcmulib teardown + fix builds done outside of source directory + free tcmu_device after dev->fd is closed + fix Read_Capacity_16 + detect INQURY response truncation + fix incorrect memcpy length + fix inquiry buffer length calculations + add tcmu.conf for log level configuration - Remove upstreamed fixes: + tcmu-runner-include-falloc-in-qcow.patch + tcmu-runner-let-cmake-install-man-page.patch + tcmu-runner-Use-CMake-FULL-library-directory-for-SOs.patch + include-tcmu-runner-h-in-install.patch- rename libtcmu1-devel to libtcmu-devel - drop unnecessary %oname indirect macro- Updated SPEC file to break library into separate packages - Install tcmu-runner.h, adding: * include-tcmu-runner-h-in-install.patch- Drop silly buildrequires on libgfapi0/libglib-2_0-0. Abolish old macros.- Updated SPEC file to install LICENSE file (bsc#982130)- Created from upstream version 1.0.4ibs-arm-2 16519968511.5.4-150400.1.51.5.4-150400.1.5handler_rbd.so/usr/lib64/tcmu-runner/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:SLE-15-SP4:GA/standard/5dac05f2ab924b85475a5ce008b620a8-tcmu-runnercpioxz5aarch64-suse-linuxELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e1d8b84fa848662d97856470640c699ee199b9e9, strippedRRRRRRh)+outf-856d9b8c832532faac07212ac154a7aaf67d3322ae81259a0479153e61b1812b3? 7zXZ !t/ 3*] crv9w!YG֬칔]ĝVF78ز=|:Wӧ>my TRUX&*ZLďZ]b^ _:cm2N7bƣQ|5CeUkXH2 | u:gX#eQζ~On5d_M?ե4棓2xl,"F(=ԭn;ykcF?`bdΨN&ؗYqp25yL c;A5ݱ}'i2zƶm⺦ ĜApBF4~x|qY]J'uUf!Ƽ y=5nH3Tf!s-BG5mŌC.-Z( %Dȴv^5 y8[S/sO*áfeRVhjQGHR=[B|~]??` 4QW+uwXJmBZM)_f9shOpz/$o='_ *1k+$/Ijrp- 6wmnDAIޚIlu0}r8.9+0ș24Y tVҼ|yc``[vV{0Փ[/~j]'F0~68WI ԭ.w'Lv9#*HPbv&'-+kIjsP!0}{y.Rĕ8z-U4y#W`9և2*G*Wۼ XiXAdjQ ^ij]=kcqNב?|%Kmm7Ze B3/nSwu98GWQ.QD՚[wP7cۋenڵ//:canXzE[i}MJ:zg>J[b.ECg3!!TAssX zq2ZukWuD|(fyH x䅮< cOv>.Zv;F˼Q;:7vljNkU `M;[lǴlC IdSħO;7 D Ԩ5\_te}+q{ I|>}3%{Ke["ث 3'%]B%<&OMo86qMttfz6ҙ/I9_SH.|[uZl=S+[ R9,L <}e8@=KHEwKYfÛs\q$whqxZ 0?P1fLz>YJ|"P`e91PgInE%Z!lմ拠%+m30_ГA2>n}.ooQNqTRǬb5G[Ĥ~an8*%ǃzIPhdc +!*`5xw3H'VYҧvPTaAd~b4VJAcn?&hj n Hz%A\E 񮴡KkِY^sEX\>7Pτԫ ,ri{٩1 C@ - Bz =Roz湯_[^ Lu9 ";t.qkcGk[ NF7L+.Hw@|1Ǟ(3NVYJ)O+SEfqE[ zfb;@КkfЬw#¢_آW `b~K+@J$\cVcV3$zb|10Mn ]"}{啓fr'6 KsDžim'>F5`yMf3\绕5ȯcN^Ж;,+zaSU _Z>0/l\ -,ڿe:m%P.p؎܌lC v)5>ƴu2%ʘBb/fKg`E1`ύR dM`)L%;fFiሃl0k$QytJ󠦠ƾOc}y!jJB )QTGA:VDޮ39 JUhlys@;-=0d [%Pc̩Yt!"Jam .F6KktɎJF{=@W'"\ҩ;WDTTJs1? 5PQ+ 8s5ZV5g_,hkxUrA6B$YsIFBH(_]ٗ x,3<Vg.A0-)9#dž$5٨\w[ s;*Z-q{:lq&t4$$ct|:eS2BҲ`VeJLHA`3d}Gr˷NN'}(a~ RP ,.3avl7JRFjݖ99J*vM`~\tx;U1KF-H\ eJŊr$#e.޾HTW6ݪtbYo(qZ cZm>~%Rl$@.s<a9)lܬ/ZIl3'Q6759K׋!LJ rZGT5wfxLF-xQɹF!S I`W0ujVǙ TKImRc\ q~b.2yBqzs!cD:5nNa/l]}l,ߠ?U5 vdƑ`piL^k"^ٻDn4u?VJIPI\Ğ V ɺ⎯Y="a;z_pӐ`jխD]J-Lؼ6wh-k9ìLnb{psABP&e`$%A]X\K"՜Ki4-JW qe 85Z‹BHr@vPWՆN* &W*o3H4=Np6oA]\Tt2A\)ʏ4W^).VjmQcI?) @3p59/w^Zhr=X|B_o*[ia`_?N!_\xL W0?RYOVYs!c:=7xrXQ8~4#ݞP 0HΗ(5v\m^ -gfPj#vs֗嬻 >upE%-31' k?Rux9aHEaϼJPXb-lTď! ,'ՔeFuRGQ8xL Ǔa #Zwrp+k}O)I9QKUeCh_CH`+A+N8WYrʲS<_CqlKHEAx8>$R B N2ƗPfNQMAvҟ Xoir4`baGc͙eBK[_"bw SxRk8X0vAPD-O]Cvi[؅CL96J%^h/H@QHHzt3g'mT=x_L?@ #:UÔ+A1| .B-G8>% t\Sت~ 5 Kgk@: cut'^(HwɃ/=@T,}إ9edhإ:Hx$ ɪwjbTw_qaۑX(Zؿynò&xad&ל* ( &G64͹tcPkUÍ}#&rMR H,bG|ܘcVjaSL+ҽ*bnBNtElFw JWAgi8f:ȤrTse#fC HyϦߝh\Ѵbei(x޿Dkodx !ӚvMA˩\vlPh:?Z:ZiW"|PLd`w tM̌DM*VRW$n>sS">cD NoBAeS{8k.}"س^vf9 ?7n?c^Qp(? ō?+1)lxtHĔiLmUft+h.){ a c%/5({c xhh):Sacy"Ż `Yb屎=s%.$~|Qo#}PM䋋X`= X +,-JC!V*SC %-O^98语&;l DT操{Gd.l.ђ^y|MLXWs(h6)de<4Mn B QUA ە\u#Ork<8&i? YXЦ~%|78&,`b. w6'&)ES^,Y|fU2 iQ,]}=[4rfGvAds8"\?p3|$V0&ͰExc$MI=N}p;Ms=OTٴjr6 yAB6}) R?&1~3 O[dzD 7\'>- CB%j9%y<كo61tRZ|8xtSKE,CtjFj[!mL_cV^`kVVN#.\Ip`55֢s91@1b7vG66~d[/`9V%mzF>l߫$DžTX;@FKv<`:*fA! 'FFjB>Z)J3l6) Y}Jqd#Weã֐fX2~ [ fhd u/\CxpmmRÏ\u! ChnK5V}lDyc rdt<\|#U~=Դ w)zE){6dKϟ3O;^E@=4^:,kO4?[u(f-gs`'bM 6GaC__'1F}pZ {o8n&U3'cF$D쳌%ؔ8MK$Uӱǐ1 Ӊ8hZ4H`s'9s2ӭt/aWNlN'3].ύL7߻Qu7li~<^!dVF}ʕ$i{g{$)yS; c7/lf6Qo&w-mtRƷCE&xI\>Gi!n/%UʟqU7B:$YQfWD)&KZS7O5]z&=ockKM$4gydU{Ti\nI[:V ߉Ⱥ Ost"H bJN")eņ/y>Nyt!Q/ .w3tJ,?&‚8 BA[9%:sG ȶ !gI<…ULS=RocћU)DϻZ,dzbYm`ыK$R~"ڍP!ruWk/1US]G_^KCp,Žof$!ƺ5$w %8Wo%iݍ&HfOqKz1RyF^1x='9q1nL$'&Vjv[Vuoh<+W#/S='8I:h^AcE6˨ݪKz,~ޜ yiۘauxW@4MI'SSA<1 )>Gy QwgYgidv8Lܔ9Խ`Vq2i!;CeRYNB?@pDv^/A|Or1$lWm} MX*N}]>\c8QدGf-7+w)$ x>KehJ{h%ȡ;#Q]twZT"i%L7 tG#=^3gvDZCX aL{fs-9NA}R]]OJH?Xz.PeF}9G#[Tq-V{GИIO.aG7-\CnLVnҸ1яiqWBm"fݪN$]ՏƣhSk{;)|a]J*3*)1>~^5gnܴ;;[#m[fdy"7"$C/V{'Cȅ5Z7=/=Z{-io;D/\Ţ"σ3f:v$Cz.ALz8G(ur Qϲs QRFP yke'J X^o5~ԓXY YrZ9]&_+0`I玻 ʮͤbٸ<P#dY:-C D™ǥYWߎ +_vl \*g(UuiD`^Qnl튺zt}3͑|IBDNaA$3Ϳ:'t[wޠv+o!]3P'\wC2qx[A+LhĻt9)A5rIvmr~u. _` I}c~DC*w>.?OSL3Ũ9غUCL7Bd_ bM‡WRGTC_U41ʱmk+2}]x_>1Y #rBU%;-yiox'z"qTL`?3~)&vTI>o'<@+Fۊ (7ew>=~&E( oRbԙEz++x\T̑1;d1;B&ȰNFfgpWy~Z5[rxُzF8IdSBspy!%2>OraJ@'^X7Kd(l$cm*/ݍ:I&;$5$JQ]Q$tRV1+oT _vJAa ;|a`3ydT;dS,F3kӷr=2oԤ9~ޏ%o)R%gWc}͞$0}`٢k-rndKuM{׺Y]ó@a#onw:[SͶ\r\I }}TGjɓܽλPNΘ"@r on6x# Ԥ/l )[,i'8lk)SQf_)5}t[}~q9^jkKG1P@2R0 =S2!2pzToe1ۇSzΏtj/P6!ڛíU0r4Х 1[ؾ[픻@cah~H?3 ^Yɬ`xN9+w0iG| _[),tޫȏ Onzx3n@2{pG 02@fϾI|з$v9xe+3UbMK9qwڨGDdhT4%$[\*ܕ?_jBuunJt|$5Wu<ھdPi[" P&[>[pXӒvw`Qb2#9EbiUbԤ >ؗdKEjlvJO`![e;"v.İښ $=Ֆgϣ< }ofgMO\4+ɄOٱz65R~T@e gYoRocI@S1 e0P)Xߖ߮bLTrMk7ck5ag[l8`&J#R,1T8`(c4Y 'ϜQ^o@ܔ_f6hf]XXFp%vgmlmU,ti[jvoR!wITk\a3Q`r!ۼ;+,֙wrHڤn3|1W:-GZ .1kpMҥV1 #@_ƝK3$ڲ Όl^&62OP21dlq?|9 $hJ)!_uI"İ4 ,wS3pso4wq=NjNAƆȅ>6Gq  h|1%=.;%&Nմ)9d:``f~=/Rt'?!һ/̤M,_sgJ"F${ؙmZjVq_i aLu0vg?/=Nfq/0o!\VKB/bb7˦4h73O*;2!Z7ET0xSArgjgVO񑯠읤3ۯ~vF $,t̜¯4b = ѵbJєTg"Rr!(=xB #l-08<a ;˒Qdyj2fb/*GoF.PڮR˗LqD]4&碈(rѤt"}a#O@eocd;\3tPpx:l3M GE{D}N/LeHZuW_r)`mRhkyb%}c|!0C_D;ǻ b:CGhe_(%k.>O%E/oWHdv΅ߨu'b6x'2o8xW QX-&f(8Y^-QE.2f,'\HL̳zV49Bwϡ"2~-{I OA\fӭ*tUBCzeC1PYs^'T£idD!v˻A&`}|Qn$D/٢9r.l"Kx?@Y'L]oUc) 4)]%DHm;m3_ͮ,\C֯WC':re5y}] rdYTRɒQ57u~3s1Tm3j*LSJscIg}dU,-dN5,$,t1UIfHFSL}W[{° $IK܃t&Ns?dCmFJt=1HxT,aRJVr;49*zZipڐbhVOGքgUPH۶ YZ