python-rbd-12.2.11+git.1551961392.896835fd74-24.1>t  DH`p\wi/=„4o7*ؐ҇TQ$<,? -)B }Whu vHl\VYU+Fia@AfjU>Lf ,ZJ,Ws!@Z8d al-70ǥd(Zh_;xf\#hb&64Mg@Vj%vcFk["TwЀsXPPzC%<5`bx%"i 7hVP.?gu&<^a!hb0ed50504cd152077b73da943c69c39b13bc1628w\wi/=„7k-YB`|a}=5us;M"햻S~uԉ۳S$ĩll8#O˻#76Ua)A~łJ_EG>.`0<+hz&}nA\^!<:h7wpݡ 'B[+ZgC!K\C%`ve$ALiN&+ K{7Q3kGх r>ƓeIM',"}Jufu3)U]O[#uJx໤֚>=|?ld / 4 b3 Liz    v |L |  (8g9g: ggB1F=GPHhIXYZ[\](^bcdeflu0vHw x$y<z\Cpython-rbd12.2.11+git.1551961392.896835fd7424.1Python 2 libraries for the RADOS block deviceThis package contains Python 2 libraries for interacting with Cephs RADOS block device.\o}lamb668openSUSE Leap 42.3openSUSELGPL-2.1 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIThttp://bugs.opensuse.orgDevelopment/Languages/Pythonhttp://ceph.com/linuxx86_649A큤\n\n\n\n\n\oZ07e34ec0ee534ddae686e21e00c992e3c9f399ec6e6267195884bdc50a8ccd2768b329da9893e34099c7d8ad5cb9c9402b9632609257f3984e4073e9782768c3ac74ea2ced8d2e7b218c1a92cb0f9d7erootrootrootrootrootrootrootrootrootrootrootrootceph-12.2.11+git.1551961392.896835fd74-24.1.src.rpmpython-rbdpython-rbd(x86-64)rbd.so()(64bit)@@@@@@@   libc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.4)(64bit)libpthread.so.0()(64bit)libpython2.7.so.1.0()(64bit)librbd.so.1()(64bit)librbd1python(abi)python-radosrpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsLzma)12.2.11+git.1551961392.896835fd74-24.12.712.2.11+git.1551961392.896835fd74-24.13.0.4-14.0-14.4.6-14.11.2\\]o@\\\2\[ @[r@[O+[3|@[,Z@ZmZZ@Z_@Z3@Z1@Z Z@ZC@YYMYY@YY@Yχ@YéYzYYW@Y@Y3Y3YY@YaY@YYYY{'@YoIYlYlYZ1YS@YP@YP@YNT@YMYA%@Y9<@Y9<@Y9<@Y7Y2Y0Y-^Y)j@Y(Y(Y(YY@Y.Y@Y@YYYX:@X@X@XX@X•@XZX@XXXX~@Xn5@XOX=mX8'W֘WҤ@WҤ@WҤ@W#W#W@W@W/@W/@W:W:W:WWW@Wncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comtserong@suse.comtserong@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comtserong@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comddiss@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comddiss@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comjfajerski@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comrdias@suse.comncutler@suse.comrdias@suse.comrdias@suse.comtserong@suse.comtserong@suse.comtserong@suse.comncutler@suse.com- Update to version 12.2.11-566-g896835fd74: + Upstream v12.2.11 release * see https://ceph.com/releases/v12-2-11-luminous-released/ * crushtool: add --reclassify operation to convert legacy crush maps to use device classes (bsc#1112833) * ceph-volume-client: allow setting mode of CephFS volumes (jsc#SCRD-8258) + rgw_file: only first subuser can be exported to nfs (bsc#1126423)- Update to version 12.2.10-551-gbb089269ea: + os/bluestore: show compress and buffered from WriteContext + os/bluestore: fix rename race with trim on replacement onode at old name- Update to version 12.2.10-549-gf129842039: + CVE-2018-14662: mon: limit caps allowed to access the config store (bsc#1111177) + CVE-2018-16846: rgw: enforce bounds on max-keys/max-uploads/max-parts (bsc#1114710) + CVE-2018-16889: rgw: sanitize customer encryption keys from log output in v4 auth (bsc#1121567)- Update to version 12.2.10-544-gb10c702661: + os/bluestore: avoid frequent allocator dump on bluefs rebalance failure (bsc#1113246)- Update to version 12.2.10-542-g793ccbe1d0: + upstream v12.2.10 release see https://ceph.com/releases/v12-2-10-luminous-released/ + additional fixes from PTFs: * rgw: resharding produces invalid values of bucket stats (bsc#1110419) * rgw: Fix log level of gc_iterate_entries (bsc#1114414) * rgw: dynamic reshard fixe (bsc#1109009) * bsc#1110415, bsc#1110416 [#] rgw: es module: set compression type correctly [#] rgw: ES sync: be more restrictive on object system attrs [#] rgw: ES sync: wrap all the decode bls in try block [#] rgw: librgw: initialize curl and http client for multisite * bsc#1116205, bsc#1112872 [#] rgw: allow init complete to proceed in case of erroneus zone deletes [#] rgw: period update: check for dangling master zone references [#] tests: tests for master zone deletion [#] tests: rgw: test_multi: python 2-3 compatibility- Update to version 12.2.8-467-g080f2248ff: + upstream Luminous 12.2.8 point release - for details, see https://ceph.com/releases/v12-2-8-released/ * bsc#1100101 - Syntax errors in the man page for "ceph-bluestore-tool" * bsc#1105251 - Configuring PCF is failing when configuring with AWS signature 4 * bsc#1107857 - ceph-osd segfaults in safe_timer thread- Update to version 12.2.7-425-g38edbb7c2f: + luminous: mgr/MgrClient: Protect daemon_health_metrics (boo#1104331) + ceph-ver-hack.sh: do not touch src/ceph_ver.h.in.cmake- Update to version 12.2.7-420-gc0ef85b854: + upstream v12.2.7 release, see: * https://ceph.com/releases/12-2-7-luminous-released/ + bsc#1094932 - luminous: osd: eternal stuck PG in 'unfound_recovery'- Update to version ceph-12.2.5-419-g8cbf63d997: + bsc#1099162, CVE-2018-10861: * qa/workunits/rados: test pool op permissions * qa/workunits/rbd: test self-managed snapshot create/remove permissions * pybind/rados: new methods for manipulating self-managed snapshots * mon/OSDMonitor: enforce caps for all remaining pool ops * mon/OSDMonitor: enforce caps when creating/deleting unmanaged snapshots- Update to version ceph-12.2.5-414-g8450ca79c0: + bsc#1096748, CVE-2018-1128, CVE-2018-1129: * auth/cephx/CephxProtocol: better random * cephx: update docs * auth/cephx: add authorizer challenge * mon,msg: implement cephx_*_require_version options * auth/cephx/CephxSessionHandler: implement CEPHX_V2 calculation mode * include/ceph_features: define CEPHX2 feature * msg/async,simple: include MGR as service when applying cephx settings- Update to version 12.2.5-407-g5e7ea8cf03: + osd: do not crash on empty snapset (bsc#1074301) + mon: add 'ceph osd pool get erasure allow_ec_overwrites' command (bsc#1087269)- Update to version 12.2.5-405-gb4dd2afd81 + upstream v12.2.5 point release * journal: limit number of appends sent in one librados op (bsc#1086340) * RGW user stats fixes (bsc#1087493)- Update to version 12.2.4+git.1520347944.ea5f50680a: + rgw openssl fixes (bsc#1079076, bsc#1081379)- Update to version 12.2.4+git.1520094840.20594f896d: + merge upstream point releases v12.2.3 and v12.2.4 * rocksdb: fixes early metadata spill over to slow device in bluefs (bsc#1071386) * mon: reenable timer to send digest when paxos is temporarily inactive (bsc#1070357) * fsid mismatch when creating additional OSDs (bsc#1080788) * rgw: malformed http headers can crash rgw (bsc#1081379, CVE-2018-7262) * crash in civetweb/RGW (bsc#1081600) * bluestore: db.slow used when db is not full (bsc#1092874) - migrate tarball generation from tar_scm source service to upstream make-dist script + drop _service, _servicedata + add checkin.sh, README-checkin.sh- Update to version 12.2.2+git.1519207306.ac2f91f62a: + qa * install deepsea from packages instead of source * add suse/smoke and deepsea/adhoc suites + rgw: make init env methods return an error (bsc#1081379, CVE-2018-7262)- Update to version 12.2.2+git.1513357992.5030136da9: + tools/crushtool: skip device id if no name exists (bsc#1067119) + pybind/mgr/prometheus: don't crash when encountering an unknown PG state + mgr/prometheus: add missing 'deep' state to PG_STATES in ceph-mgr prometheus plugin- Update to version 12.2.2+git.1513167344.b87ca3c12e: + upstream v12.2.2 release for details, see https://ceph.com/releases/v12-2-2-luminous-released/- Drop _link to reflect that filesystems:ceph:luminous/ceph is no longer the source for filesystems:ceph/luminous (the Factory/TW devel project). Development of ceph in Factory/TW will continue in filesystems:ceph:mimic/ceph.- Update to version 12.2.1+git.1511279898.8aa892202e: + bsc#1060904 * rgw: keystone: bump up logging when error is received + bsc#1067705 * rgw: set sync_from_all as true when no value is seen + bsc#1066182 * rgw: data sync: set num_shards when building full maps * dencoder/rgw: expose rgw sync status types * rgw: set num_shards on 'radosgw-admin data sync init'- Update to version 12.2.1+git.1510221942.af9ea5e715: + bsc#1066502 * mon/osd_metadata: sync osd_metadata table * mon/OSDMonitor: tidy prefix definitions * mon: implement MDSMonitor::get_store_prefixes * mon/mgr: sync mgr_command_descs table and mgr_metadata table * mon/MgrMonitor: populate on-disk cmd descs if empty on upgrade * mon/MgrMonitor: read cmd descs if empty on update_from_paxos() + bsc#1067088 * osd: make the PG's SORTBITWISE assert a more generous shutdown + bsc#1066182 * rgw: ListBucketIndexesCR spawns entries_index after listing metadata * rgw: fix error handling in ListBucketIndexesCR * rgw: RGWDataSyncControlCR retries on all errors + RGW fixes: * test/rgw: add test_multipart_object_sync * cls/rgw: increment header version to avoid overwriting bilog entries * rgw: disable dynamic resharding in multisite environment- Update to version 12.2.1+git.1509128342.9347aa6662: + common/common_init: disable ms subsystem log gathering for clients + spec file: add %{_sysctldir}/90-ceph-osd.conf to ceph-osd * ceph.spec.in,debian/rules: change aio-max-nr to 1048576 * sysctl.d: set kernel.pid_max=4194304 (bsc#1061461)- Update to version 12.2.1+git.1507910930.aea79b8b7a: + rgw: Remove assertions in IAM Policy (bsc#1063014, CVE-2017-16818)- Update to version 12.2.1+git.1507819941.856710ff58: + rgw: stop/join TokenCache revoke thread only if started (bsc#1059458) + systemd: reinstate TasksMax=infinity- Update to version 12.2.1+git.1507226092.b783a015b9: + Revert "SIGPIPE suppression for platforms without SO_NOSIGPIPE or MSG_NOSIGNAL" + msgr: add a mechanism for Solaris to avoid dying on SIGPIPE- Update to version 12.2.1+git.1507108986.dc637a73e2: + rgw: defer constructing keystone engine unless url is configured (issue#21400, pr#17775)- Update to version 12.2.1+git.1506764331.9e2e945bd0: (upstream luminous 9d8acf6f3f85dd1410629cc680474e38f3be9838) + upstream Luminous v12.2.1 https://ceph.com/releases/v12-2-1-luminous-released/- Update to version 12.2.0+git.1506009682.0e5b4307f3 (upstream luminous a931cf68120d99661b785cc794e2b6965d621f06): + ceph-disk: fix mountpoint check for systemctl enable --runtime (bsc#1051598) + spec file: * ceph-fuse requires fuse; make that dependency explicit * drop obsolete qemu symlink hack in librbd1 %post- Update to version 12.2.0+git.1505141259.1264bae1a8: + rgw_file: fix LRU lane lock in evict_block() - bsc#1054061 + os/bluestore: fix deferred write deadlock, aio short return handling - bsc#1056125 + mon/OSDMonitor: don't create pgs if pool was deleted - bsc#1056967- Update to version 12.2.0+git.1504118058.706f78da1a: + fix ceph --version to say "stable" instead of "rc" + spec file: add python-numpy-devel build dependency for SUSE + bsc#1053836 * Revert "osd: adjust osd_min_pg_log_entries" * osd/PGLog: write only changed dup entries- Update to version 12.2.0+git.1504013812.01ea30bcc9: + upstream Luminous v12.2.0 (first stable) release * increment version number to 12.2.0 + spec file * edge mem_per_process upward after seeing some OOM-esque build failures * package ceph-volume man pages- Update to version 12.1.4+git.1502953626.155adb5253: + ceph.spec: provide libxio 1.7 and obsolete libxio <= 1.7- Update to version 12.1.4+git.1502878199.4183317204: + ceph.spec: obsolete libxio (Note to reviewer: libxio was only ever used by Ceph (for an experimental IB/RDMA feature), it was never submitted to Factory, and its functionality has been integrated into Ceph in a different form. For all practical purposes, libxio has been replaced by Ceph itself.)- Update to version 12.1.4+git.1502871088.edf82a59df: + latest upstream luminous (a5f84b37668fc8e03165aaf5cbb380c78e4deba4) * increment upstream version number to 12.1.4- Update to version 12.1.3+git.1502698163.45fc586a51: + latest upstream luminous (6808af486d3bdce966232810004648502c967b13) * increment upstream version number to 12.1.3- Update to version 12.1.2+git.1501914637.59afe41c49: + spec file * ceph-volume added to ceph-base RPM, where it co-exists with ceph-disk- Update to version 12.1.2+git.1501865907.88dc8cdc9d: + latest upstream master (7350fa65d79b5f0ace427e609565f07be35cfe62) * os/bluestore: allow multiple DeferredBatches in flight at once (pr#16769, issue#20295, bsc#1043399)- Update to version 12.1.2+git.1501790037.82d6a9c37a: + osd: move CMPEXT response munging into completion function (bsc#1047244)- Update to version 12.1.2+git.1501684697.aa6b0153ef: + upstream luminous v12.1.2 release candidate + latest upstream master (e27a78c9ed3984b54a312ced3ad67fcc8f464fc0) * mon: add mgr metdata commands, and overall 'versions' command for all daemon versions (bsc#1050063, pr#16460)- Update to version 12.1.1+git.1501669490.04d0738487: + mon: extensible output format for health checks- Update to version 12.1.1+git.1501501507.6dd9e8fd8c: + update to latest upstream master (fa70335db25f2b661b329d5d8f37039b77f2d1ae) + spec file: * build/ops: rpm: Drop legacy libxio support (pr#16449) + Other notable changes: * osd: moved OpFinisher logic from OSDOp to OpContext (pr#16617)- Update to version 12.1.1+git.1501231943.67577225bc + Notable changes: * rgw_file: properly & |'d flags (bsc#1047977)- Update to version 12.1.1+git.1500447879.e5aac115d7: + upstream 12.1.1 (release candidate) + Other notable changes: * build/ops: rpm: fix typo WTIH_BABELTRACE (pr#16366) * build/ops: rpm: put mgr python build dependencies in make_check bcond (pr#15940) * ceph-disk: support osd new (pr#15432) * ceph: allow '-' with -i and -o for stdin/stdout (pr#16359) * cls/rbd: trash_list should be iterable (pr#16372) * doc: update quick start to add a note for mgr create command for luminous+ builds (pr#16350) * libradosstriper: fix format injection vulnerability (pr#15674) * mgr/dashboard: add OSD list view (pr#16373) * mon, osd: misc fixes (pr#16283) * mon/MDSMonitor: fix segv when multiple MDSs raise same alert (pr#16302) * mon/MgrMonitor: fix standby addition to mgrmap (pr#16397) * mon/MgrMonitor: only induce mgr epoch shortly after mkfs (pr#16356) * mon: Fix output text and doc (pr#16367) * mon: add force-create-pg back (pr#16353) * mon: skip crush smoke test when running under valgrind (pr#16346) * os/bluestore: use reference to avoid string copy (pr#16364) * osd: combine conditional statements (pr#16391) * osd: restart boot process if waiting for luminous mons (pr#16341) * rgw: S3 lifecycle now supports expiration date (pr#15807) * rgw: acl grants num limit (pr#16291) * rgw: delete object in error path (pr#16324) * rgw: drop unused find_replacement() and some function docs (pr#16386) * rgw: fix err when copy object in bucket with specified placement rule (pr#15837) * rgw: fix potential null pointer dereference in rgw_admin (pr#15667) * rgw: raise debug level of RGWPostObj_ObjStore_S3::get_policy (pr#16203) * rgw: req xml params size limitation error msg (pr#16310) * rgw_file: add service map registration (pr#16251) * test,rgw: fix rgw placement rule pool config option (pr#16380) * test/fio: print all perfcounters rather than objectstore itself (pr#16339)- Update to version 12.1.0+git.1500295948.39d2e5f424: + spec file: * socat build dependency only for make check * fix typo WTIH_BABELTRACE- Update to version 12.1.0+git.1500284183.1ed97736ab: + Spec file changes: * bump epoch (not relevant for SUSE) * add socat buildrequires * libcephfs2 now obsoletes libcephfs1 (bsc#1047020) * HAVE_BABELTRACE option renamed to WITH_BABELTRACE * fix a regression in ceph-base %postun scriptlet + Selected other changes: * Revert "msg/async: increase worker reference with local listen table enabled backend" * build: build erasure-code isa lib without versions * ceph-disk/ceph_disk/main.py: Replace ST_ISBLK() test by is_diskdevice() * ceph.in: filter out audit from ceph -w * common,config: OPT_FLOAT and OPT_DOUBLE output format in config show * common/Timer: do not add event if already shutdown * compressor/zlib: remove g_ceph_context/g_conf from compressor plugin * core: make the conversion from wire error to host OS work * core:" Stringify needs access to << before reference" src/include/stringify.h * crush/CrushWrapper: make get_immediate_parent[_id] ignore per-class shadow hierarchy * doc/mgr/dashboard: update dashboard docs to reflect new defaults * doc/rados.8: add offset option for put command * doc: fix link for ceph-mgr cephx authorization * doc: update intro, quick start docs * isa-l: update isa-l to v2.18 * librbd: fail IO request when exclusive lock cannot be obtained * mgr,librados: service map * mgr,mon: debug init and mgrdigest subscriptions * mgr,mon: enable/disable mgr modules via 'ceph mgr module ...' commands * mgr/ClusterState: do not mangle PGMap outside of Incremental * mgr/restful: bind to :: and update docs * mgr: Zabbix monitoring module * mon,crush: create crush rules using device classes for replicated and ec pools via cli * mon/MgrStatMonitor: do not crash on luminous dev version upgrades * mon/MonClient: respect the priority in SRV RR * mon/Monitor: recreate mon session if features changed * mon/OSDMonitor: do not allow crush device classes until luminous * mon/OSDMonitor: guard 'osd crush set-device-class' * mon/mgr: add detail error infomation * mon: Fix status output warning for mon_warn_osd_usage_min_max_delta * mon: add support public_bind_addr option * mon: collect mon metdata as part of the election * mon: debug session feature tracking * mon: do crushtool test with fork and timeout, but w/o exec of crushtool * mon: fix hang on deprecated/removed 'pg set_\*full_ratio' commands * mon: include device class in tree view; hide shadow hierarchy * mon: maintain the "cluster" PerfCounters when using ceph-mgr * mon: revamp health check/warning system * msg/async: increase worker reference with local listen table enabled backend * msg/async: make recv_stamp more precise * msg: QueueStrategy::wait() joins all threads * msg: make listen backlog an option, increase from 128 to 512 * os/blueStore: Failure retry for opening file * os/bluestore/BlueFS: clean up log_writer aios from compaction * os/bluestore/BlueFS: clear current log entrys before dump all fnode * os/bluestore/KernelDevice: batch aio submit * os/bluestore: Make BitmapFreelistManager kv itereator short lived * os/bluestore: cap rocksdb cache size * os/bluestore: clear up redundant size assignment in KernelDevice * os/bluestore: differ default cache size for hdd/ssd backends * os/bluestore: fix deferred_aio deadlock * os/bluestore: move object exist in assign nid * os/bluestore: only submit deferred if there is any * os/bluestore: reduce some overhead for _do_clone_range() and _do_remove() * os/bluestore: use bufferlist functions whenever possible * os/filestore/FileJournal: FileJournal::open() close journal file before return error * os/filestore/HashIndex: randomize split threshold by a configurable amount * os/filestore: call committed_thru when no journal entries are replayed * os/filestore: do not free event if not added * os/filestore: queue ondisk completion before apply work * os/filestore: require experimental flag for btrfs * osd/OSD: auto class on osd start up * osd/PrimaryLogPG solve cache tier osd high memory consumption * osd/ReplicatedBackend: reset thread heartbeat after every omap entry * osd/filestore: Revert "os/filestore: move ondisk in front * osd: Check for and automatically repair object info soid during scrub * osd: Preserve OSDOp information for historic ops * osd: check queue_transaction return value * osd: clear_queued_recovery() in on_shutdown() * osd: compact osd feature * pybind/mgr/dashboard: bind to :: by default * pybind/mgr/dashboard: fix get kernel_version error * rbd-mirror: ignore permission errors on rbd_mirroring object * rbd: do not attempt to load key if auth is disabled * rgw: fix compilation with cryptopp * rgw,test: fix rgw placement rule pool config option * rgw/rgw_frontend.h: Return negative value for empty uid in RGWLoadGenFrontend::init() * rgw/rgw_rados: Remove duplicate calls in RGWRados::finalize() * rgw: /info claims we do support Swift's accounts ACLs * rgw: Correcting the condition in ceph_assert while parsing an AWS Principal * rgw: Do not fetch bucket stats by default upon bucket listing * rgw: Fix a bug that multipart upload may exceed the quota * rgw: Initialize pointer fields * rgw: fix leaks with incomplete multiparts * rgw: fix memory leak in copy_obj_to_remote_dest * rgw: fix not initialized vars which cause rgw crash with ec data pool * rgw: fix radosgw-admin data sync run crash * rgw: fix s3 object uploads with chunked transfers and v4 signatures * rgw: fix the subdir without slash of s3 website url * rgw: fix zone did't update realm_id when added to zonegroup * rgw: log_meta only for more than one zone * rgw: rgw_file skip policy read for virtual components * rgw: using RGW_OBJ_NS_MULTIPART in check_bad_index_multipart * rgw: verify md5 in post obj * rgw_file: add compression interop to RGW NFS * rgw:fix s3 aws v2 signature priority between header['X-Amz-Date'] and header['Date'] * vstart.sh: bind restful, dashboard to ::, not 127.0.0.1 * vstart: add --rgw_compression to set rgw compression plugin * vstart: allow to start multiple radosgw when RGW=x- Update to version 12.1.0+git.1499090920.2c11b88d14: + With this update, Ceph no longer autocreates a pool called "rbd" with id 0 Deployment tools must take this into account! + systemd: Add explicit Before=ceph.target (bsc#1042973)- Update to version 12.1.0+git.1498654198.20d6a47cc9: + build/ops: rpm: put mgr python build dependencies in make_check bcond N.B. this effectively eliminates the following build dependencies: python-Babel python-beautifulsoup4 python-CherryPy python-coverage python-flup python-Genshi python-html5lib python-logutils python-nose python-Paste python-PasteDeploy python-PasteDeploy python-pecan python-pyquery python-singledispatch python-waitress python-WebOb python-WebTest python-Werkzeug python-WSGIProxy2 pytyhon-python-openid- spec file: + removed BR libatomic_ops-devel as upstream replaced it with std:atomic + removed defattr as they are no longer needed on sle12 and newer- Update to version 12.1.0+git.1498478524.117b171715: + include 12.1.0 tag to make "ceph --version" happy + tests: drop hadoop-s3a tests- Update to version 12.1.0+git.1498309403.f4fc02fff4: + upstream 12.1.0 release; for details, see http://ceph.com/releases/v12-1-0-luminous-rc-released/ + revert several pre-release commits that are no longer needed because the issues have been fixed upstream in the meantime + build/ops: rpm: sane packaging of %{_docdir}/ceph directory- Update to version 12.0.3+git.1498202776.b806032985: + Integration testing changes: * add DeepSea integration suite test definitions for teuthology * re-enable several RGW tests that upstream only runs on Ubuntu + ceph_ver_hack.sh: use git describe --match + ReplicatedPG: add CHECKSUM->CMPEXT req translation- Update to version 12.0.3+git.1497426468.6984d41b5d: + qa: add initial deepsea suite (task and test yaml) + fix "ceph osd df" (regression in latest upstream master) (pr#15675, issue#20256) * mon: move creating_pgs and reweight_by_utilization into new MonPGStatService * mon: move most PGMapStatService into PGMap; rename PGMon's to PGMonStatService * mon: mgr: move 'osd df' handling to manager * mon: inherit PGMonStatService from the PGMapStatService * move the OSDUtilizationDumper code into OSDMap * mon: mgr: enable "osd df" on the manager * qa: add a check_commands.sh script which looks for commands with no tests * qa: test 'osd df' in cephtool/test.sh- Update to version 12.0.3+git.1496909744.9f667dc335: + build/ops: rpm: one License line to rule them all- up memory _constraint for ceph-test to address ppc64le OOM seen in IBS- Update to version 12.0.3+git.1496902753.b18dc53186: + build/ops: rpm, COPYING: drop GPL 2.0 with Autoconf Exception (autoconf no longer used)- Update to version 12.0.3+git.1496754880.35cb2861ce: + merge upstream master (b1d06a6b54)- Update to version 12.0.3+git.1496494491.ba3c561a92: + merge upstream master (97d6e150e5)- Update to version 12.0.3+git.1496306960.2db336d85e: + merge upstream master (b19352eec3), fixes bsc#1041492- Update to version 12.0.3+git.1496147556.f1d6115861: + cmake: build boost::context and coroutine only with rgw Beast frontend + build/ops: rpm: reverse s390 bcond conditional block + build/ops: rpm: no rgw Beast frontend on s390x + build/ops: deb: no rgw Beast frontend on s390x + cmake: delete excidentail reintroduced line. + cmake: link radosgw with boost libraries (bsc#1040119)- Update to version 12.0.3+git.1495849076.4457d36178: + rgw: remove fastcgi from default rgw frontends + RGW: Turn off fcgi as a frontend + build/ops: drop libfcgi build dependency + build/ops: rpm: apply epoch only if %epoch macro is defined- Update to version 12.0.3+git.1495798013.23dd2b67dc: + ceph.spec.in: re-drop %{epoch}: prefixes- Update to version 12.0.3+git.1495787939.3f6446f64f: + build/ops: rpm: adapt License line to Release 2.0 of SPDX spec (issue#20091)- Update to version 12.0.3+git.1495675338.07282a4057: + upstream 12.0.3 release + osd/PG: Add two new mClock implementations of the PG sharded operator queue (pr#14997, bsc#1040103) + build/ops: rpm: make librbd1 %post scriptlet depend on coreutils (boo#1040230) + build/ops: rpm: move RDMA build dependency to distro-conditional section + build/ops: rpm: move python-prettytable to distro-conditional section + cmake: added empty RPATH to libcls_sdk.so + rpm: drop %{epoch} from new rados-objclass-devel subpackage + cmake: fix boost components for WITH_SYSTEM_BOOST + cmake: build boost::context only if rgw Beast frontend is in use + build/ops: rpm: reverse s390 bcond conditional block + build/ops: rpm: no rgw Beast frontend on s390x (bsc#1040119) + ceph.spec.in, debian/control: build/runtime dependency for cherrypy- Update to version 12.0.2+git.1494343993.7527e4f0b8: + ReplicatedPG: drop CACHE_PIN->WRITESAME req translation (bsc#1038063)- _constraints: up ceph.spec disk constraint to 28G after seeing a build failure in OBS- Update to version 12.0.2+git.1493341348.9148e53: + ceph osd: add support for new op cmpext + ceph_test_rados_api_misc: add cmpext tests + librados: add cmpext API + ceph_test_rados_api_aio: add cmpext tests + test/librados/c_operations: add cmpext tests This patchset is a straight cherry-pick of the upstream OSD/librados cmpext changes (bsc#1035937).- Update to version 12.0.2+git.1493291471.adb6a43: + rocksdb: sync with upstream (bsc#1025891) + build/ops: cmake: explicitly disable MSSE 4.2 if not supported- _constraints: set higher disk and memory constraints so s390x builds don't fail- Update to version 12.0.2+git.1493238434.71681fd: + cmake: added empty RPATH to libceph_crypto_isal.so- Update to version 12.0.2+git.1493227670.3396ca1: + rgw: use a vector for options passed to civetweb- Update to version 12.0.2+git.1493192333.3305a0c + merge upstream master (0d368d2c8544247a4aed9c71c74e77b0c6bbfb22) including 12.0.2 development release- revert commit a9a50f690085091bb4446095418237f9fef712c8 in preparation for rebasing against the upstream implementation. (bsc#1035937)- Add ibs_constraints.sh script to address s390 constraints tweak needed in IBS- Update to version 12.0.1+git.1491557762.4e47e9f + merge upstream master (2950ad91d25d0d6e2e3fb6842d5bbc36353ba2a5) including fixes for: * bsc#1030068 (s390 build) * bsc#1031311 (ceph-mon.service not enabled via systemd preset)- Mention bugs fixed in jewel codestream that are also fixed in the current codestream: + msg/simple/Pipe: avoid returning 0 on poll timeout (bsc#1014338) + build/ops: fix undefined crypto references with --with-xio (bsc#977940) + ceph-create-keys: add missing argument comma (bsc#1008894) + common: Improve linux dcache hash algorithm (bsc#1005179)- Update to version 12.0.0+git.1489432599.165c23f: + merge upstream master (0c2f5f7214d2410a7519f88e65ed5273d6480227) including fix for upstream issue#18694 "ceph-disk activate for partition failing"- Update to version 12.0.0+git.1489159457.410e200: + build/ops: fix Group strings for library packages- Update to version 12.0.0+git.1488553020.e902441: + Recent upstream master (3c0af07629dc661aba84e2fef696339ac7171914) + Builds with GCC7 (boo#1025891)- Update to version 11.1.0+git.1486588482.ba197ae: + Update to latest upstream master (3d740bd) + cmake: added empty RPATH to several executables + rocksdb: sync with upstream- Update to version 11.1.0+git.1484919552.9216e9a: + Revert "rpm: put distro conditionals around Source0 in spec file" + Revert "ceph.spec.in: revert Source0 line to upstream version"- pre_checkin.sh: add logic to remove s390 architectures from ExclusiveArch line in ceph-test.spec (rationale: ceph-test is not shipped for s390x)- Update to version 11.1.0+git.1484745543.7b08de5: + Update to latest upstream master (36874c8) - significant changes: * cmake: Turn libcommon into a shared library (PR#12840) * cmake: fix rpath on shared libraries and executables (PR#12927) + Fix build failure in ppc64le and s390x, caused by missing "-momit-leaf-frame-pointer" gcc option in these architectures: + rocksdb: build with ppc64 (PR#12908)- Update to version 11.1.0+git.1484659687.3472421: + rpm: tell openSUSE to never clean the spec file + Enable ppc64le and s390x builds in SLE + rpm: lttng only on x86_64 and aarch64- Update to version 11.1.0+git.1483528076.d86680e (latest master) + Merge branch 'master' into ses5 (Merge: 185bcce798 a7b78620f0) with conflicts: conflicts in qa/ where resolved with theirs conflict in src/osd/PrimaryLogPG.cc was resolved with picking ours plus a method rename int ReplicatedPG::do_extent_cmp -> int PrimaryLogPG::do_extent_cmp- Update to version 11.1.0+git.1481663255.bf42706: + Update to upstream 11.1.0 release; for details see http://docs.ceph.com/docs/master/release-notes/#v11-1-0-release-candidate + move ceph_ver_hack.sh script from build service package to git repo (bsc#1015419)- Update to version 11.0.2+git.1480437645.66595d3 + Update to latest upstream master (boost library is now included in the tarball, so the tarball is much larger than before and the build takes longer to complete) + ceph_ver_hack_sh adaptation (upstream dropped src/make_version script) + rocksdb: do not build with --march=native (bsc#1012553)- Update to version 11.0.2+git.1480105120.6b8e9e5: + Revert commit 8aee8db140bcbd1ffd2a7b571dbbade10bec9de3 because it conflicted with upstream + update to latest upstream kraken (11.0.2) - for details, see http://ceph.com/releases/kraken-11-0-2-released/- Update to version 11.0.0+git.1473684054.73e4b4a: + safe_io: Improve portability by replacing loff_t type usage with off_t. + mon: remove the redundant list swap in paxos commit_proposal + msg/EventPoll.h: add override to virtual functions + msg/EventKqueue.h: add override to virtual func + msg/EventSelect.h: add override to virtual funct + ceph-disk: Compatibility fixes for Python 3 + ceph-disk: Use true integer division in get_dev_size + ceph-disk: Fix bug in FileLock + ceph-disk: Allow ConfigObj to write in binary mode + ceph-disk: Use context manager with FileLock + ceph-disk: Use os.path.isabs instead of .startswith('/') + ceph-disk: Set space_symlink to the path, not file object + ceph-disk: PEP8ify + rgw: rgw file fix bug of rgw_lookup can not exact match file name + rgw: fix the wrong return value + rgw/rgw_coroutine: move WaitContext to .cc file + client: pass a mask parameter to path_walk + mds/mdstypes: add btime to inode + mds/Server: set btime=ctime on creation + mds/MDCache: set btime on system inodes + include/ceph_features: add FS_BTIME features + mds: pass btime in InodeStat MClientReply, if feature is present + client: keep btime in Inode and InodeStat + ceph: break up ll_getattr into two functions + client: move the device bitshift handling macros to Client.h + libcephfs: add a ceph_ll_getattrx and ceph_statx + libcephfs: add a test for "lazy" statx + mds/client: add btime to CapSnap and MClientCaps + mds/mdstypes: add change attribute to inode + mds/Server: set change_attr to 0 on creation + mds/MDCache: set change_attr to 0 on system_inodes + include/ceph_features: add FS_CHANGE_ATTR feature + mds: pass change_attr in InodeStat MClientReply, if feature is present + mds/client: keep change_attr in Inode, CapSnap and MClientCaps + mds: ensure that change_attr reflects metadata changes on clients that hold CAP_FILE_EXCL + mds/client: bump the change_attr at the appropriate time for files + libcephfs: return the change_attr in the statx.stx_version field + tests: add a ChangeAttr test + mds: make frag_info_t add_dirty() function take a pointer to touched_mtime + mds: add change_attr to frag_info_t + test: add test for change attribute of directories + cephfs: rename ceph_mds_request_head and _args with a _legacy postfix + MDS: allow the MDS to accept requests to set the btime + client: add the ability to set the btime + client: add a ceph_fstatx + client: extend the Btime test to cover fstatx as well + journal/JournalTrimmer: move C_RemoveSet struct + rbd_mirror/ImageSynceThrottler: move struct to .cc + libcephfs: add unmount function in cephfs.pyx + rgw: fix typo of "minite" to "minute" in rgw_lc.cc + rgw/rgw_lc.cc: fix sleep time according to the error message + crush: don't normalize input of crush_ln iteratively + crush: remove clutter + mds: remove max_mds config option + vstart.sh: add option to turn on multimds + rgw: right parenthesis is missing in radosgw-admin help message on caps + SQUASH: client: request AUTH caps on the directory during create if we'll need to check perms locally + SQUASH: Revert "mds: ensure that change_attr reflects metadata changes on clients that hold CAP_FILE_EXCL" + SQUASH: client: always take a change_attr update from the server if it's newer + SQUASH: mds/client: don't get clever with ceph_mds_request_head_legacy encode/decode + rgw/rgw_rados.h: remove unneeded class C_Tick + SQUASH: client: querying for stx_version field requires getting all shared caps + SQUASH: mds/client: add routines to copy to/from ceph_mds_request_head_legacy + client: properly set inode number of created inode in replay request + test/librbd/fsx: enable exclusive-lock feature in krbd mode + os/bluestore/BlueFS: fix async compaction txn + scripts/bdev_grep: parse bluefs style extents too + SQUASH: client: request all shared caps if ctime was requested + os/bluestore/BlueFS: factor unflushed log into runway calculation + osd/ReplicatedBackend: move classes to cc file + os/bluestore: honour allow-eio flag during read + CmakeLists.txt: use LIB_RESOLV instead of resolv. + osd/ReplicatedPG: move classes to .cc file + librbd: potential double-unwatch of watch handle upon error + cls/journal: add async client_update_state method + journal: allow to trim journal for "laggy" clients + librbd: optionally flag "laggy" journal clients disconnected + rbd: new command to disconnect journal client + rbd-mirror: decode_client_meta should return false on error + rbd-mirror: resync was possible only when image replayer start had succeeded + rbd-mirror: stop replay when client is disconnected + rbd-mirror: option to automatically resync after journal client disconnect + qa/workunits/cephtool/test.sh: fix omision of ceph-command + os/bluestore: use global compressor if possible + build/ops: fix /etc/os-release parsing in install-deps.sh + osd/OSD.cc: remove repeated searching of map + test/cephfs: add mount&&unmount test + mds: s/used_ions/used_inos/ + Add dependencies from ceph_smalliobenchrbd on cls_rbd, cls_journal, and cls_lock. + ceph_test_objectstore: add SyntheticMatrixSharding + ceph_test_objectstore: occasional umount/fsck/mount + ceph_test_objectstore: test shards for longer + crush/CrushCompiler.cc:884 bug fix: index out of range + Makfile: Fix rocksdb error when make dist + src/CMakeLists.txt: exclude parts not buildable on FreeBSD + src/pybind/CMakeLists.txt: conditionaly build cython tools + src/tools/CMakeLists.txt: conditionaly build ceph-client-debug + src/test/objectstore/CMakeLists.txt: conditionaly build tests + mds: trim null dentries proactively + cmake: include(SIMDExt) in src/CMakeLists.txt + mds: log path with CDir damage messages + hint in extent_alloc code + remove wrap argument and handle in wrappers + Hint argument in alloc_blocks + test case changes + os/bluestore: shard extent map + os/bluestore: make nid and blobid allocation less racy + os/bluestore: optimize compress_extent_map + os/bluestore: fix fsck used_block bitmap + os/bluestore: use block_size for allocator unit + os/bluestore: make blob_t unused helpers use logical length + os/bluestore: instrument big/small writes + os/bluestore: instrument transaction count + os/bluestore: instrument onode reshard events + os/bluestore: dump some stats after fsck + os/bluestore: assert shared blob cache cleared on split + remove autotools + test/objectstore/CMakeLists.txt: fix libaio conditional + buffer: clear append_buffer on clear() + os/bluestore: tunable prealloc size for ExtentMap inline_bl + os/bluestore: don't dirty onode if its size is already at desired offset + os/bluestore: remove never reachable asserts + os/bluestore: drop unnecessary separator between fields + os/bluestore: fix key+name sort wonkiness + os/bluestore: encode shard id in single byte + os/bluestore: small put_ref cleanup + os/bluestore: remove faulted debug hackery + os/bluestore: bits for unit tests + unittest_bluestore_types: resurrect blob and extent_map unit tests + os/bluestore/BlueFS: do not start racing async compaction + os/bluestore/BlueFS: fix Dir memory leak + buffer: implement buffer::list::reserve(n) + os/bluestore: do not waste memory on cached encoded blobs + qa/workunits/objectstore: fix test_fuse.sh + os/FuseStore: only flush if dirty + build: drop dryrun of autogen.sh from run-cmake-check.sh script + os/bluestore/BlueFS: For logs of rocksdb & bluefs only use directio. + os/bluestore: remove some copy-pastes + cmake: make py3 a nice-to-have + os/bluestore/BlueFS: only extend extent on same bdev + msg/AsyncConnection: add const to mem functions + msg/AsyncMessenger: add const to function + client/barrier: move C_Block_Sync class to .cc + osd/OSD.cc: remove unneeded searching of map + Set ARM_CRC_FLAGS from the CRC test rather than ARM_NEON_FLAGS + rpm: Moved ceph-client-debug from ceph-base to ceph-test package + rpm: Renamed bcond tests flag to make_check + rbd-nbd: fix kernel deadlock during teuthology testing + rbd-nbd: mask out-of-bounds IO errors caused by image shrink + librbd: invalidate cache before trimming image + librbd: ignore cache busy errors when shrinking an image + librbd: potential seg fault when blacklisting an image client + cmake: Use WITH_TESTS flag to guard the build of ceph-test scripts/binaries + rpm: Added ceph_test_package bcond flag to control the build of ceph-test package + deb: Moved ceph-client-debug from ceph-base to ceph-test package + ceph-objectstore-tool: add a way to split filestore directories offline + install-deps: exit non-zero when we cannot match distro + librbd: possible deadlock if cluster connection closed after image + osd/ReplicatedPG: remove class redeclaration + librbd: ignore partial refresh error when acquiring exclusive lock + osd/OSD.cc: remove unneeded returns- Update to version 11.0.0+git.1473424516.3b8b524: + Revert "ceph_disk.main: s/get_dev_size/get_free_partition_size/" + Revert "ceph_disk tests/test_prepare: s/get_dev_size/get_free_partition_size/" + Revert "ceph_disk tests/test_get_free_partition_size: New unit tests" + Revert "ceph_disk tox.ini: add tests/test_get_free_partition_size.py" + rpm: put distro conditionals around Source0 in spec file- Update to version 11.0.0+git.1473418476.095f67c: + ceph.spec.in: revert Source0 line to upstream version + ceph.spec.in: conditionalize %prep command- ceph.spec.in: enable cephfs_java build unconditionally - new (merged) commits from upstream master branch: + mailmap updates + rgw: fix the handling of rgw_swift_url_prefix. + rgw: ONLY improve code formatting around RGWRESTMgr. + rgw: add support for the crossdomain.xml resource of Swift API. + rgw: add support for the healthcheck feature of Swift API. + swift /info implementation. + rgw: settle /info implementation across other swift-at-root features. + compressor: isa-l extension for zlib plugin Signed-off-by: Alyona Kiseleva + mon: tear down standby replays on MDS rank stop + mon/MDSMonitor: move C_Updated class to .cc file + rgw_file: fix/update rgw_open flag arguments + rgw_file: fix/update rgw_create flag arguments + doc: remove btrfs contradiction + msg: make async backend default + msg/simple: wait dispatch_queue until all pipes closed + rgw_file: implement stateless write completion timer + rgw_file: add RGW_OPEN_FLAG_STATELESS as a synonym for V3 + rgw_file: log on write completion events at level 10 + rgw file: allow RGWLibFS::write_completion_interval_s to be set in conf + osdc/ObjectCacher: move C_ReadFinish, C_RetryRead + osdc/Journaler: move C_DelayFlush class to .cc + rgw: fix RGWAccessControlPolicy_SWIFT::create return value check error + librgw: add API version defines for librgw and rgw_file + make-dist/ceph.spec.in: Fix srpm build breakage. + ceph_timer: prefer using directive to typedef + rgw_file: explain semantics of RGWFileHandle::commit + compressor: Better arch ifdefs for isal code + mds/MDSTable: add const to member functions + os/bluestore: fix some #includes + vstart.sh: -b for bluestore + os/bluestore/bluestore_types: make blob_t get_chunk_size const + os/bluestore: use Blob const and non-const accessors + os/bluestore: avoid reencoding unchanged blobs + os/bluestore: decode blobs on demand + mds/SnapRealm.h: add const to member functions + os/bluestore/bluefs: avoid check "locked" field for newly created file + os/bluestore/bluefs: check against locked field during unlink + os/bluestore/bluefs: assert refs of file don't underflow + os/kstore: kill dead code + rgw: remove duplicated calls to getattr + debian: should dh_python3 python3-* not python-* + pybind: silence -Wsign-compare warning + test/ceph_test_msgr: fix -Wsign-compare warnings + test/unittest_alloc: fix -Wsign-compare warnings + librbd: API methods to directly acquire and release the exclusive lock + doc: add graphic for cap bit field + mds/MDCache.h: remove unneeded access specifier + librbd: skeleton implementation of client-side image cache + librbd: blocking parent IO completion no longer required + librbd: remove use of owner_lock on IO path + Revert "osdc: ObjectCacher flusher might needs additional locks" + librbd: support bufferlist payload for AioImageWrite + librbd: add internal support for scatter/gather IO + librbd: initial integration of ImageWriteback to AioImageRequest + librbd: consolidate IO clipping to reusable method + librbd: differentiate between image and object cache + librbd: C_ImageCacheRead bridge from Context to AioCompletion + librbd: integrate image cache hooks into IO path + common/Throttle.h: remove unneeded class + cmake: fix the tracing header dependencies + src/test/bench/CMakeLists.txt: RBD exclude + src/CMakeLists.txt: RBD|KVS|FUSE exclude + src/librbd/CMakeLists.txt: krbd and secret.c are LINUX dependant + src/os/CMakeLists.txt: AIO|FUSE exclude + src/test/CMakeLists.txt: RADOSGW|RBD exclude + src/test/common/CMakeLists.txt: BLKID exclude + install-deps.sh: initial distro detection based on /etc/os-release + ceph_test_objectstore: fix ObjectStore/StoreTest.BluestoreStatFSTest/2 on ssd + ceph_test_objectstore: disable statfs checks on available space + messages/MOSDMap: mark as enlighten OSDMap encoder + cmake: remove unused librados_api target + cmake: replace Findlttng-ust.cmake with FindLTTngUST.cmake + cmake: let librados_api_obj depend on librados-tp + os/bluestore: yet another statfs test fix + Revert "osd/ReplicatedPG: for sync-read it don't cacl l_osd_op_r_prepare_lat." + doc/release-notes: v0.94.9 + os/bluestore/bluefs: use map to track dirty files + os/bluestore/bluefs: update mtime of inode in unified path + os/bluestore/bluefs: drop redundant eof check for read_random() + os/CMakeLists.txt: undubble kv.cc usage. + test,pybind: silence -Wsign-compare warnings + test/perf_local: fix -Wmaybe-uninitialized warnings + os/bluestore: get rid off "isa-l" type in ZLibCompressor ctor + Allow compressor build without YASM + script/bdev_grep: update to use hex + os/bluestore: improve failed csum debug output + librbd: improve image state machine debug log messages + librbd: deadlock when replaying journal during image open + os/bluestore: end scope of std::hex properly + os/bluestore: don't over-gift if bluefs free is smaller than bluestore_bluefs_min + os/bluestore: use _setattr for SETATTR + os/bluestore: make object existence check robust + ceph_test_objectstore: assert umount succeeds + ceph_test_objectstore: clean up Rename test a bit + ceph_test_objectstore: fix TryMoveRename test + os/bluestore: add onode/buffer cache statistics + os/bluestore: end scope of std::hex properly + cmake: pass -DINTEL* to gf-complete cflags + os/bluestore: conditional checking label of bluefs devices + src/CMakeLists.txt: -Woverloaded-virtual is already included in -Wall on Clang + os/bluestore: don't overwrite type if it does already exist and at desired type + os/bluestore: trivial cleanups + os/bluestore: replace store with logger in Cache + os/bluestore: check iterator before using during fsck- pre_checkin.sh: add Source line for ceph-rpmlintrc - move Source line for ceph-rpmlintrc from ceph.spec to ceph-test.spec (see https://github.com/SUSE/ceph/pull/60 for rationale)- Update to version 11.0.0+git.1472455009.a17726c: + ceph.spec.in: drop ceph-rpmlintrc source line + ceph.spec.in: drop epoch prefixes- Update to version 11.0.0+git.1472384770.c9f3af8: + test/rgw: add --gateways-per-zone to test_multi.py + rgw: RGWDataSyncCR fails on errors from RGWListBucketIndexesCR + rgw: RGWCoroutinesManager::run returns status of last cr + os/bluestore: fix whitespace in bitset apply helper + cmake: do not link secret.c if not necessary + cmake: do not link against keyutils if not necessary + os/bluestore: fsck on mkfs (on by default) + os/bluestore: ensure block device size is a multiple of the block size + Revert "ceph.spec.in: don't try to package __pycache__ for SUSE" + rpm: force creation of Python 3 __pycache__ on SUSE + doc: add v0.94.7 changelog + doc: add v0.94.8 changelog + doc/releases: add v0.94.8 to timeline + doc/release-notes: fix v10.2.2 changelog link + unittest_bluefs: fix block device sizes + doc: do not list all major versions in get-packages.rst + doc: add missing PR to hammer 0.94.8 release notes + doc: release-notes.rst: move misplaced line + doc: fix two broken links in releases.rst + doc: add 11.0.0 to releases table- pre_checkin.sh: forward-port insert_line_before() function from filesystems:ceph:jewel/ceph version - README-ceph-test.txt: new file - ceph-test.spec: add ceph_ver_hack.sh as a source file- Update to version 11.0.0+git.1472202104.8999301: + rgw: add deadlock detection to RGWCoroutinesManager::run() + src/common/lockdep.cc Reduce logging noise if lockdep is not tested + osd: fix updating same_interval_since logic of project_pg_history() + osd: drop duplicated sched_scrub during tick() + osd: move methods which don't need osd_lock from tick into tick_without_osd_lock() + mon/PGMonitor: mark dump_object_stat_sum() as static + mon/PGMonitor: calc the %USED of pool using used/(used+avail) + rpm: proper packaging of udev directories + LTTng-UST disabled for openSUSE + ceph-disk: do not activate device that is not ready + osd: update reture type of get_pg_or_queue_for_pg() to PGRef + common/WPQ: add sanity check to avoid potential access violation + osd/osd_types: kill undefined_shard() method of pg_shard_t + release-notes.rst: draft 0.94.8 release notes + PG: introduce and maintain upset + mon/MonClient: should update sub_sent with sub_new + osd: set objecter.osdmap when starts + rgw: fix for assertion in RGWMetaSyncCR + PG: use upset rather than up for _update_calc_stats + rgw: do not try to encode or decode time_t + cls_rgw: fix the compiler warning + msg/async: fix compiler warnings + os/filestore: silence compiling warnings + test/rbd: silence compiling warnings + rgw: silence a compiling warning + msg/async/kqueue: avoid remove nonexist kqueue event + librbd: cache was not switching to writeback after first flush + mon/OSDMonitor: fix potential division-by-zero error + mon/OSDMonitor: get rid of snprintf when formatting output string + mon/OSDMonitor: avoid duplicated calls when determining osdmap boundary + osd/OSDMonitor: avoid duplicated assignment of oldest_map/newest_map + osd/OSDMonitor: drop redundant check of exists() + mon/PGMonitor: skip scrub checking if we can + mon/PGMonitor: drop redundant loading of dumpcontents + mon/PGMonitor: fix potential underflow + debian: replace SysV rbdmap with systemd service + os/bluestore: break down onode vs bnode_map size in log + os/bluestore/BlueFS: do direct io by default (not buffered) + os/bluestore/BlueFS: rename buffered_io option + os/bluestore: add multiple finishers to bluestore + os/bluestore: fix decoding hash of bnode + cmake: fix unmatched endforeach + debian: enable dh_python3 for python3 packages + debian: exclude python3* packages in dh_shlibdeps + debian: drop python-argparse dependency + os/bluestore: fix race condition during get_fs_usage() + os/bluestore: use bluefs_max_prefetch for log file prefetch + os/bluestore: use hex if we are running out of space + os/bluestore: fix assert + osd: bail out if transaction size overflows + os/filestore/FileJournal: bail out if transaction is too large + os/FuseStore: remove unneeded header file + os/Memstore.h: add override to virtual functions + os/MemStore: move OmapIteratorImpl to cc file + os/bluestore: include bluefs space in statfs result + common/config_opts: fix comment(radio -> ratio) + msg: kill unused macros + mon/OSDMonitor: add output field name of average/overload_utilization + test/librados: rados_connect() should succeed + ceph-osd-prestart.sh: check existence of OSD data directory + osd/ReplicatedPG:wipe off param op from generate_subop() + ceph-post-file: migrate to RSA SSH keys + ceph-post-file: Ignore keys offered by ssh-agent + os/Memstore: move PageSetObject class to .cc file + yasm-wrapper: dont echo the yasm command line + arch/arm.c: remove unnecessary variable read for simplicity + rpm: drop obsolete libs-compat metapackage + ceph.spec.in: drop trouble-making divider comments + rpm: do not unnecessarily spawn shells for scriptlets + cls_lock: support updating the lock cookie without releasing the lock + librbd: helper state machine to update lock cookie + librbd: store exclusive lock cookie instead of recalculating + librbd: exclusive lock now supports reacquiring a lost lock + librbd: helper state machine for asynchronous watch recovery + librbd: integrate asynchronous image rewatch state machine + librbd: image state machine now has hooks for lock requests + librbd: interlock image refresh and lock operations + librbd: remove unused refresh request logic + test/common/test_util.cc: FreeBSD does not have distro information + README.md: replace package build instructions with tarball instructions + doc: fix singleton example in Developer Guide + rgw: delete region map after upgrade to zonegroup map + rgw: fix period update --commit return error + cmake: use PERF_LOCAL_FLAGS only if defined + tests: populate /dev/disk/by-partuuid for scsi_debug + ceph.spec.in: don't try to package __pycache__ for SUSE + doc: fix wrong osdkeepalive name in mount.ceph manpage + rados-striper.sh: Use expect_failure and conditional stringmatching + Revert "ceph.spec.in: ppc64 build in Tumbleweed only" + jerasure: include generic objects in neon jerasure lib (like sse3/4)- pre_checkin.sh: fix package files path rewriting- _constraints: tweak values to pick up maximum number of OBS build workers- Update to version 11.0.0+git.1471969747.79ca12e: + cmake: fix declaration position of WITH_TESTS option- Update to version 11.0.0+git.1471959548.f013b97: + rpm: Renamed bcond tests flag to make_check + cmake: Use WITH_TESTS flag to guard the build of ceph-test scripts/binaries + rpm: Added ceph_test_package bcond flag to control the build of ceph-test package- Update to version 11.0.0+git.1471605408.9203335: + ceph.spec.in: don't try to package __pycache__- Update to version 11.0.0+git.1471601504.f312e7e: + test/libcephfs: add the necessary judgment + test/librados: add ASSERT_EQ & ASSERT_NE judgment + rgw: optimize the usage of string.find and some indents + rgw: patch manifest to handle explicit objs copy issue + rgw: adjust objs when copying obj with explicit_objs set + rgw: adjust manifest head object + rgw: fix the error return variable in log message + rgw: fix trimming object expirer's hints. + rgw: fix skipping some objects to delete by RadosGW's object expirer. + rgw: ONLY improve code formatting in rgw_object_expirer_core.{cc,h}. + os/bluestore: allow csum verification disable on read. + os/bluestore: add csum on/off test case + os/bluestore: add store statfs parameters to bluestore perf counters + os/bluestore: add perf counters for compress/decompress performance measurement + tools: fix the core dump when get the crushmap do not exist + librbd: request exclusive lock if current owner cannot execute op + src/global/pidfile.cc: Assign elements in structures individually + rgw: fixes for period puller + rgw: for the create_bucket api, if the input creation_time is zero, we should set it to 'now" + pybind: Rework rbd/setup.py for PyPI + pybind: Add BUILD_DOC env var to rbd/setup.py + doc: fix rbd map format in rbd manpage + ceph-disk: change ownership of init file to ceph:ceph + cmake: Also build Python bindings for Python 3 + pybind: Make ceph_volume_client's syntax compatible with Python 3 (just so it passes the bytecompilation step) + debian: Add packages for Python 3 bindings + rpm: Add packages for Python 3 bindings + os/bluestore/bluefs_types: fix extent operator<< + os/bluestore/BlueFS: do not op_file_update deleted files + os/bluestore: print bluefs_extents in hex + os/bluestore: do not track bluefs_extents via freelist + os/bluestore/BitMapAllocator: align to min_alloc_size on init_rm_free + rgw/doc: fix typo and indent. + mon/MonDBStore: fix assert which never fires + osd/OSDMonitor: count pg primed more precisely + doc: replace cluster name with cluster-name to avoid confusing + doc: fix typo maximum -> minimal + doc: fix command format + batch is_allocated bit checks + cmake: Move Python detection back outside of pybind + doc: format 2 now is the default image format + rgw: Rework of s3 v2 local authentication code. + rbd: bench io-size should not be larger than image size + doc/install: Use https:// for download.ceph.com + librbd: fix possible inconsistent state when disabling mirroring + os/bluestore/ExtentFreelistManager: move default create out of parent + librbd: new journal policy to disable initializing the journal + librbd: permit disabling journaling if in corrupt state + qa/workunits: support filtering cls_rbd unit test cases + os/bluestore/BlueFS: _should_compact_log + os/bluestore/BlueFS: _replay(false) to dump log file + mon/PGMonitor: move C_Stats struct to cc file + client: don't use special faked-up inode for /.. + client: add a testcase for "/.." handling + os/bluestore/BlueFS: add OP_JUMP + os/bluestore/BlueFS: allow log position to when doing op_jump + os/bluestore/BlueFS: move metadata dump (compaction) into a helper + os/bluestore/BlueFS: interface to get bluefs space usage + os/bluestore/BlueFS: init in header at decl + os/bluestore/BlueFS: assert we never extend log at flush + os/bluestore/BlueFS: use hex + os/bluestore/BlueFS: Add sync and async compaction + os/bluestore/BlueFS: Helper functions for the unit test framework + os/bluestore/BlueFS: unit tests for log compaction + os/bluestore/BlueFS: Cleanup unused interfaces + unittest_bluefs: make flush_3 test device larger + bluestore: initialize csum_order properly + librbd: fix possible memory leak when image open fails + script: improve ceph-release-notes regex + rbdmap: specify bash shell interpreter + doc: added rbdmap man page to RBD restructured index + librbd: always respond to "release lock" request if lock owner + rgw: fix radosgw daemon core when reopen logs + qa/workunits/rbd: demote/promote image on same cluster + rbd-mirror: include tag tid in bootstrap debug log messages + librbd: separate journal::TagData predecessor data into new struct + librbd: block RPC requests when demoting the image + librbd: normalize journal promotion/demotion events + rbd-mirror: demote/promote in same cluster results in split-brain + rbd-mirror: prevent syncing to non-primary image after failover + test: fixed unused function warnings in unittest_rbd_mirror + doc: remove the description of deleted options + msg/async/Stack: add abstract Stack + msg/async: add PosixStack support + msg/async/net_handler: let set_socket_options return value + msg/async/AsyncConnection: support NetworkStack api instead of posix + msg/async/Event: debug event address when dispatching and executing + msg/async/Event: remove event wakeup flag + msg/async/PosixStack: increase log level + msg/async/Stack: disable smart thread spawn now + common/ceph_context: add prefork/postfork wathcher support + msg/async/Stack: register fork watcher + msg/async: allow EventCenter::set_owner reentry + msg/async: readd set_priority call + msg/async/AsyncConnection: fix _conn_prefix racing when stopped + test_async_networkstack: add networkstack tests + msg/async/Event: remove global_centers assert + test_msgr: ensure wait for ms_dispatch executed + mon/OSDMonitor: add sanity check before setting use_gmt_hitset attribute + osd/OSDMonitor: drop redundant null check of max_failed_since + osd/OSDMonitor: drop redundant check of assert + mon/LogMonitor: remove "host" and "fsid" from handle_conf_change() + test: gcc 6.1.1 complains about missing include: . 4.8.3 does not complain about it + rgw: fix flush_read_list() error msg + cmake: Fix mismatched librgw VERSION / SOVERSION + cmake: Add -pie to CMAKE_EXE_LINKER_FLAGS + rgw_file: restore local definition of RGWLibFS gc interval + kv: delete store after pg destructor is called in OSD shutdown. + kv: fix iterator invalidation in memdb. + kv: fill 'm_key_value' after 'seek_to_first' or 'seek_to_last' + kv: fix iterator bug in prev + test/store_test: fix incorrect prompt given by stash callback + test/store_test: drop redundant transaction of callbacks + test/store_test: avoid dynamic allocation of trans + cmake: recompile erasure src for different variants + rgw ldap: protect rgw::from_base64 from non-base64 input + qa/workunits/rados/test_python.sh: Allow specifying Python executable (through an environment variable) + ceph.spec.in: specify local sources + ceph.spec.in: ppc64 build in Tumbleweed only + ceph.spec.in: add lowmem_builder_override + ceph.spec.in: add Prereq: permissions to radosgw package + ceph.spec.in: remove vim hints line + ceph.spec.in: remove all mentions of epoch + ceph_disk.main: s/get_dev_size/get_free_partition_size/ + ceph_disk tests/test_prepare: s/get_dev_size/get_free_partition_size/ + ceph_disk tests/test_get_free_partition_size: New unit tests + ceph_disk tox.ini: add tests/test_get_free_partition_size.py + ceph.spec.in: replace pwdutils dependency with shadow + Make systemd-tmpfiles create /var/run/ceph-radosgw at boot + rpm: fix ownership of logfiles in %pre + Revert "rbd: update default image features" + osd: munge cache-pin ops with data into writesame + ceph osd: add support for new op cmpext + rpm: make lowmem_builder code much smarter + rpm: add procps build dependency + rpm: modify optflags to make debuginfos less huge + Revert "ceph.spec.in: add lowmem_builder_override" + rpm: lean_debug_symbols bcond + rpm: use gcc manpage terminology for debug info bcond + Revert "Drop any systemd imposed process/thread limits" + Revert "systemd: Add systemd sandboxing to services." + rpm: be careful about build parallelism + rpm: divergent java, ocf conditional builds + rpm: fix _with_ocf + rpm: drop obsolete libs-compat metapackage + rpm: drop obsolete python-ceph-compat metapackage + ceph.spec.in: drop ceph-brag and ceph-post-file + ceph.spec.in: move cephfs-* fsck tools to ceph-base + ceph.spec.in: move ceph-dencoder to ceph-base + rpm: Moved ceph-client-debug from ceph-base to ceph-test package + rpm: add udev BuildRequires to provide /usr/lib/udev directory + rpm: Remove trailing whitespace in usermod command (SUSE)- Update to version 11.0.0+git.1470997027.9c9b8a5: + doc/radosgw: remove reference of purge-temp.rst + doc/radosgw: fix the table formatting + doc: silence sphinx warnings + global/signal_handler: use sig_str instead of sys_siglist + librados: use bufferlist instead of buffer::list + cmake: cleanup Findgperftools.cmake + cmake: cleanup Findleveldb.cmake + cmake: cleanup Findxio.cmake + rgw file: remove busy-wait in RGWLibFS::gc() + Lowered third example to keep PG count lower. + run-make-check.sh: pass args to do_cmake.sh + ceph.spec.in: specify local sources- Update to version 11.0.0+git.1470355272.6fed82a: + initial fork of SES5python-cephlamb66 155362495712.2.11+git.1551961392.896835fd74-24.112.2.11+git.1551961392.896835fd74-24.112.2.11+git.1551961392.896835fd74-24.1rbd-2.0.0-py2.7.egg-infoPKG-INFOSOURCES.txtdependency_links.txttop_level.txtrbd.so/usr/lib64/python2.7/site-packages//usr/lib64/python2.7/site-packages/rbd-2.0.0-py2.7.egg-info/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:9901/openSUSE_Leap_42.3_Update/1b1dfba85036039f05ebb69880fd9881-ceph.openSUSE_Leap_42.3_Updatecpiolzma5x86_64-suse-linuxdirectoryASCII text, with very long linesASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3651fe4d606182faaa263ca54d910f7cbfb6fabd, strippedPRRRRRRRQۚA[f?0] crt:bLL'b/&#S9@xxQgC9H$_sBPAE*Tby+v䳬u<.cﮙxtb'k=kL.AFw(hK( NtCM4w0GcD=3 _C@k}XtK H 8ٍe~ U)Kka[H̴/[#y6BG(, pkUҾѴ_|DYfhEYUiLQlZ<_7ƢIok3$>nx!{`dK;@dOI~0tL1BAIE{fű]l6s/1c$$5s83]4L*Bه;,(8@<7|SZ<6X۪*쮊 GC#B(Xq'i/L7s4IV#ڷw=d钛tOj+f.KOxΪip`J.qߜV?8|ËlZyNFyr+y;4)xTѬҏ+1۞W,垰Wɞg~6&Ľ r>?19Yĉco`hD=9m/hBANu6pheNJZy LaaM3H&dyUL0U{i4|o^Kq!D|D$h47gY:y\\)F~q4jT]12lP _Mx" WY+[Q紛\>Cw~P' ,/N5~éNt߆y!}p[вX#nqt2ݻv '@t)EF-0LeݲrKLx:k.k=ϿVz)0mbeJ2[ڝHEpS<}zD3.3pi JBrgxUm6ϲ Go_dy70C.i&*.u6)Ur)+!Xd :ܨOZKK TOR-y>kCP TJIӘ6UO,]_H_E a(Bv@ (y7?5O1/qHFuœӬ7i/s ۦW?Ar_)q}5 1_$<6#}sJ{VTΎ O2]aj4 \!p^Բx EqB݅x#^SWuXg 4 7D]ϘbhRZOÛ*1oN+U4sW&S @YC6f`&:0]X5p у4,Apwrb=0t*e#UYk;*[W> )?3on d \ŨߓkkWM.; dKkڼ:*`=PcoGUN x)ޏCΥKfN)ka*@带mu`bBA6{o ,%(V\6ЄV@Wfk@39KpO~$^~ D&~5&p9 d-i0\F^n頁hQB.Fy):;C:ibx)&>$M\4\ex2ȿQ{"&H0 zI:h#Ct[+zs7ENۡsGzHv_W Jw? Kկ1 x@&Og2+ᦼpaa#W|La_;;b1O U3+F[3w)+`p;_Z5BCЦYPY7Ģ.X⒃.)J[6[|Q|DežO,N#'b<F (+2j'@C|GbNDнm|Q$[ww2m앱J+( QUeGkc mI^;TZ͘, S^gOX&S%^+@(e8}<_Wۙa[9O*,)hp<1A"x r"1 B^ϐ=꺉j zPhSe#b 2.: ݰ޺M.FkuBWQD2f{l^;#6 ɓϔ+X m|U  $̖T`uvNvv `[*cQa.Ho^FjnPfh\Y W&[!vkkz]{ly.+gs9{pQ6a/pj6D-m-7? ?UӽZe0M[n Li_CV wb]pL5o H"Uk/cN6FՍpAG lD ]t'+Hc.ǟx?·4:.!j]0e>2/5*_Яt!3vo wyQ;=OS@Vtv T()e絠")v'ay~Bd|QNog83zJ!ʔѐd.; A"ݦQ07&)I?$SRg3hٮJFtPʸLjw|JI9f[= ʧ?֨t@vqIѩ1EEwOegEUݭb7 д{Ξ=_^x;}c1eWga)ch>S#8w1ӛJۼ%!R &MPu"п"*Qu4\ngB9BG0+T_S@[ W\//hN^ꒃN~YIYym.ҙc@-I^CSHE ۟կ/›N2MzLtĮ\ %\񓋅c:QSNEcA RakG"|U WWIKOW _\]0yxͭg,;#6B>rU^@ w֞$9V U>;/Rv7Ng kmu3Z#1Ip!<911? ^;9ϡg.肐DARot֔'3JE:`,4.)i}qP^)@gHtTWR>I`;^`evI{8}Z/^Wqd'P|5`U#qdoװitk2jd KhNVWb\_ Emh=,B^*KΠOMuw. RY% .ݫL-> l90̙aeoZ[3i(}Pz4t[` We wF} }&3XMkꝁ-$;ӽ.:75}C[z^G컜TmV1@Y=}6~]Ѕ*Nx~#xDoH~7c ?y^\>ƶ3[2DwD&JIJp"ԵElM u!0IA,ueYV5sodm~B8Q=qx ADo-Bx=WVH5tӱB, ÊT$(TCs{PhM蜬ml}oy4f`// ~ZЛI0ƷO KÄq;k)Eɨǿ\rFEƲ'-`/$j-8>^7YHP%,z}harIPd8aL>)`.!|IOI 3T(L]:8. {)GJ9 4Eji5t;|9UB{Y)Mb9:T#6m{M ɷZ[TIXM&<+fAs< 8n'pJ6ū=S 35V{QA3j@Ͽ?<.%dx5qQ #p6FMYZ%]3 ?%UiQv5tBs!PmiwsGW 쎿 Q^S%3n,}!'c׹Z_|JSޙ{+-Ibj0 HG/>j8rX\$adr;|L H^l޸Q]APM٘%6˴8>{{wjFxMkDzCР|ǘ5}#c:29P ؅cSa 7!RQQ1hiS@|js^e \(62 ƭxbQ ֹ@ O{,Q}wm:$\9.Yqr4q9MH~<,f7~RlcNHڠ-] ~e4 f21hې}G}\a_-S\Oћ(kUC;nWf4D? `ёIݫCf% hwH?O#ph)qA?!ޒka2hHH1۽OTXbupT;IX0ܥ[L hgh%6fU!>T͈xe@ :%#& M:u1z.vƅKXi%=hLhRº Kաkh <2u32҈\.KG?W5s!%u%_ ۮ<»<C:xk'T8I im?C۪- l |9pL^` 3u0^pańAv`6^Fo/xNVpv%Z)}ΘXs(Ig= KzFfH:_^&бЪ ݜQQݝa8.b-/h¥؝sRA|K X8c%߼:!K [P=im֘K,p4)~q^twp&c=[qqpwXȅe q GUM[T(nzƂT H&:1ȆW;3ԋ81šIF:G d@"DIϕUqa5&F'}_d1fܒn>,f7'tܗHI В5& &`TQ9Y"dZ0ז0Y)Zd$M`>وX%vV@D!D##PKn АMN@Sl$bK$[oH-886/hH}:!YKM1pkcwb!]b@Ӊj)]QJ hʐ-vGu%y!.{tsW p3bîG*mcPzw4~P;>$)+;7J7F<<x hK%dyb2O-M,vYV`N'@q^$2Gi2EvUh 'fEtJәq j_<]Qr s=0wG?g˲n-zL#Ly!J{DMϺumSS(EE14`MJF1`LPP=k"McmcE!t"/ǻ͆2ؘ6^wvg3ITaVA. cDox!>ʛͣcd=v,X7@ ?c8ꇬ4;W XFY۳hѰ:hyI',17ohn k{X9 ]VoȵgHu!p?{UD,-\Y3$<(WGoi 'a8')hm ^rsXؔf%-a7ry0 tdnƌm*`в¬^q8әj)E|&c+D]k@s2kD6`坰3σhpC/Ņ:4)'{ cF1%Ipjvj'O#1>dR*B+{ HiI*.n܏W. *JH?,e \`H[~]7KxX?&äF1L~z@ Bٵ, Dj\N",m(L;*$5"5R$-bA.Ⲷ9@8HPH l8c'f96k+^,gR9Z =`Rg>*&6̢*s3ʣZ;InrKm;Ka cyqmV%0r;L) "z]i"kDWkg3+"g CrߕjAq/_Wp0NTvu<N<,}Tc45R;7v"e+NE {z&EJ`kS*)[~+𦛷 1siFbv >jR!Oob HEPnY f+OI b~Mt;PVV.H&%(7#qGis0zV?*:a;Lijq&Xva.~k6Zf)Eǚ_`l#B6Hԏ˜u5LocqmЮ $6 !kT5$%}ʪ=8gVS91V& ?fGQ@w$Շ-ԚF,jG"˄ Z8;jE1 T&z<|#o (svXap\:YmC6B*@@a1>M&B̼Yt`0gUqw}6)>űbm#usI:R8`6b%ـNUZ?hRgͳ=RsvB9L>d J6ehXrc> ROqp6ٱK*?<3:!ӬJsZ6-ALسDN_ c$AmQyJdY-U^0YC T4)ꨖ"Q&԰67P#Ehvh%RWŽ9A$ $FKAU5} 7YƔgzKDYJ\IuD`̗ӿ0"o9kG9DQ㦱,Ys 2__^b8AhW`}Ϋ4k*.[êbʁr:h-{~IHmDCcD= :B ;d '׮_rI]fBxԸ<@sݞq)4]`jE&N澓U84kTf-e"9iI#XyG@٘'^638j9_hj哅^[oO3SXEU$+4_-K,a-ZByͪun} PUORhʘ:uD${pފ\RD ŹSJyD_uq-'ukЇ+u%ddxs/X1:G841?CRp+/(؀mmS6i~ R 5a@:C1[܌`ݮu{*uI;' '5?>o-?w(CzĂ/gmcLL@3#P/m62f{3N؟`,N3}$~ہF0/Xz;2fZN| VdEgrL~%u S}ħ@u.n0-y͔P]BjyC/Ƹk `u/tzPJ^+5(i/A9D=DBفՋ/aBMa;KkX8ۏ)̇^@@O!qsg4-L%|VoR 5ޜoBs`G܄xa"Ic֒qS/*m+r̤4HRc|=FMeqҺR2#?h[QWjpл-Z.B|m-RV5:W gtJm:P0F 糴+FRhL EׁǠ+id4j%m<v5LJ`0)_VLmr0'pt mJ6=$-1 ~@' C= \_wemfXu ZFsaA,]MDC㠷{54bU{<46S_m31GB&C!XsޙNX#/V`{ugٰŔBBB6 _6W㊒eQcɥN6N?Wɉ`mFMp7iYX}A$ Ϝ@\ ͫiQۦ?;n̊5\ٽW (*|Ƽlh`߬⹄,L]6ބi:Ź6 z3fiJإ^Ӄ݁>nKHcjB1&1XBiDXh*\&cL@}jRxHv4Rɛ [CDz&MQd bod@u.KOsdjrmF]DSA@RỀ6ڿn̜xŭĜYybxZt1_>jTbB*:4l wAX!6;>vrERꟷOGu+Yf7&oSϾZ^Q^쳛UA^{>%,kɯfa WpQoՐjS^xrgxNPH}5oUkԢB<]G39|ueI*5tNUElA*0tL ١mƾ$#9R-Ez?FCL hȅ#Vhlə:ĄIi@"8~8cLj@--l?h f),]gH2q *m9S& ev w( ~J7w̟ =ChQɋ 4exW-;:q⸖5C;na ㎜ax7)@ f}U SqNO⓵d&ukJY)V6f-#@y\AwP1)XϚ:ϜxpArxoCVżb>oLha떻'a#JA%h1IƓaRS/IPDvQCp3@E2?XI 2ҫRѪGd_3=(Q=0<؉%&v1[?d7S4,8 ͅ?IiIԙnTvj"Q50xmPSɔ^/U  v/[@G4wb o{޸fӪvYv:We@ArpcaePysrhy'ШӨz֦ FP4;~J{,x'˘6ЂeRֳW&4̈́m. @̾AںtA'rK^Dp + f*"6ieͧ0oq{KF[}qY#Bf xg*=6Z@'&u~m l"|a}hH?h_ݸuˑiU+XbzT]Ku9(<𪽹U~SBr` $~ Z9y\aN>U2@^C,QZQ8( }LDE{ S/#u1DYR4W"`@u 2TlMNFEDALx`Ha) !ϻ(h2p*9Զ7IP}}"U6Z 7H+,2%YB% wX?dIv9Spw2Y_MZ֐˸Yԫ,ˣ„F=S;ewY}S:8{P ;_&&w0ni+796*Dp! h#ƫ-/A!~6!f۫@޺Rc*[-P_n?ܨ<}Pt CvmY@xb<>y^V{. / jkkk?haCK3E" H[f  p>Qϕuj|/UejX Cl! }}3[%qX[^IQDHG+^O h5!e˙-W^l/Gvz:g4G|jk;K;x >p +8K9^n赀btO7 ۈCPW/Up]NGWÕ~>m J̓V_ä"lm.أGyZRBp"l/vhw9} R{T_RSB%3po^n3Oa():GCM^ED@?Pp_EQhd܎L 8M#,rfo\ЦiɊbwl8 *s-2bm 0zhc%ҴTĸsA+z,zT!oh]v7feXja#9%~M =)OfQ:HMNܝOK0_C&a⏜'$2BX j'e6wT:$)B4}3Ob_YR6i˞"&m5|jt;`A5hC+x>So2hHu ~\^dR6Œ3N*o$܁!{;y8iS^"`&2&/,&I&P6EHWoʹ NuL|{9e:ȕz&xD+5}q4eFDcYn!kgtׇWǍ%YL੎+Ӧ\+o4kwNXd*qPo*` Ji>{as<̺ă\G<)c5_Tׄ汇r J&)(˗k4A@1;z:l1FQ $#Qش*b +K`c͊~ ?pHn&iXy9"6Ti6C~Y}64O3)[HyñjwaZ^2.@*'1''CUy,*)U!(0o ߲9!㥷~~Ʒ=&SA7'skF-hIO-JvSgNo0r NtUre[p:ǎK/XwnI!>f0X` NHs1:2yogIL͜T5WL%#/̑;y]Jp4NbB:pҭ~mFf OTP;k.D[jzkt4- eSt" wbJk#FMSwu]]XKi'"NH*4 =w_8)LV*zum^_7B{]:6r5ǙIT%t{="hM~h23︸mּ~:*x͈ eU;F;!,f"znE3( BCEb>1B:,."_J~1c^n7RWQ3 Vk&Îl]<p:yuNTK *мU[*ad0mvp 4mlf|JZ|7МE!ۃnUT& {qd&tshossGGrk s^B!wAe@ARJ>R=ll+_zRM/Њu 4LzSD@'"Ml$"t'ECe1;awx9%* wA(Qt P ޼ HNzbݰǿȈ(WPoxKִͩ,[eI~.^k M ᶄλu_UG E|2;1! [ن{؜3n kJ7fA~6xJ|-[ uw:%DM3J4z <91`l~ր/.BWCD#@ʢ|bj缋 :Peg)P E2ɷES(=@j" \/7q&̀^ȑViqNDSHRݠRT'ף6<!"gV9m\1G`n9e^<\Ppx\6ܰeWN6SC<8Oj=73x:Z*y֜pIN-vTC] r:ы7g8{{$٪6z8S2ٔ_pj[[Fmt o|qvudnJWعA >;G3z=NOEP_wG&9BLYVc^t KT~CR`$ bG5忻7$̍PZRmpYj4KI>oÀTgU_8YwI E0%T+RDTO] EiO4A9U57[oUW -!'e3Ft_L;ܐ.WOgcbԯ͢d a+TnGV)[}b8|?"ldO g.+/!RHRè 4z<-NI*y`ia #~EXbdbY/f GU6Vش6 J.n&8xyg(:>ga9/NIG!l ׶+4 ]蹆'Wyy,{H ޏtQdڹ0 G$kl&pؾ?Q (7YU"$h22.P#bm:~$BmZ/b5,d j_(rxϹҀTO̊- uZflp @@Q$s"Mde#ܛ/\b3w|4u\޷v d&qoWyYexIVW6~ %';(!US7;jIT^E'f/_Fܝ- Nm z @L'8Fį2hyQ v3 B̀s 0MJ; Qd0)~q8PM{V_]^jkg1r71߷T :H ʧ Y=OEvVB [lIjfLέFyo2@ iCi4|M#tI|GK.+NkKy ʑ D~jV%><ʼbg>6 8KB!gc?u*KUZwM$nXޫNe%st#Cohg>r.dObberL'=(N1N)7^ q;$D}*IaQvK>q)P/x8x޽$pdȑGFWZA͚Y _df_K13K?FB1֐4`ts6?/lg gjCBK8+cҶRKK*N=]@r6a'=mHXӄ=q46ceǣKכ-6~eMkz :pA/W@ $\}K͏v9h @>t+TY.б-@ULtf>pb[>Fi> .AK+(rz%K?9_T)߇C߇£pTv$"ٞ*]=Cjn_DFuhA; '(Z&W[c[w Z.ZVNDN`,Ε[Cjw^;n›"K Q~9m[t~%#7tHFU.5pSZؘa7/pޞFir-]uhaz'ޝDSljEj/{ƝNBϮ[ ,&T\SDO3CBM2VC}#9JhR.nam=*&{{Fȿ/kE= m@a)]c o8oTO;ޱx)#3VPyt`ãhOU 3ؿ2ԗ(vXU~a2J +HdK8م n?ͮ2U!A}AS\ghorGwC\7a\:r2R3Rp:xIiF {-`N;7E}?mԯ_ IT L?F}OiVAײqji | $zkŻ4J5` عcp]A@MެĹT7 6pX/q aa&w ?yV"Tdx& ڹA<ٵ 阎@G2lPj߻i{ԓ6>" /E\3l8hOuiG$<焚؜j_5.[|DkD*d gaVkS g g> (b{m۞?X-~ (0?Zt© r& 3"O#J-|Qͷ%lYr Hd)q]J`9\[46.M=Z> w*0 嘆 S6nNJ+s|ʷ_z7!.OgLڼfJn0 pԯEeW-ԣJ+F0@mY{YF( x܎sPQM4$,eaz!B^q{$X:(|)nQtt|Pxeb/UeCIu]׎3UTs'q "liX3&W0} E4`ȴU+t}"A_<=_7< Q`b`zZk pJt֕>bvU9Y>+'XX#c߅yȑ<gP5[>ս'dOcKvJ$|MP\;*GO3٤2LK |Dr ku/1K2쓞 cR{",#~,ܥr>z>f *೺9Q6/|/dS{d]?$sD&T:VzPM_^{ݬY oקwkmOZqM8 Y!zRY\cy5ͮ;RT"[]=; +u_+CV+#R|/HJ6pBjDR7=''T&$aY|!Ƣn1"臿"*!qpXTyZD(G=2Ff yo7ȝa`3.TW-x@B`E]%P:P@aŻ HZM.!Q)"U7=oKvt KRĊfىD^pz"5HfK@ #,(*q., ) IsD K˚:"Y՗WWL0tWU;ooDa<h`FW2*xAlM6= D 3!I\]iGi^{\SizMjՒG9G><1Wa"x g*1xB߮z 8~WB> |203o[Vf>y&>)؟/t.!!ƣAc={q|Ġչf[hn fI\cO`ӬRo9+<{weql8; ;7/QXӫT˖gUiG5Yk]fmֶqKu9프4<(YVň; HUbs0?Ir@>kЂӊ"3i^@~ FHI?U_ٺ=)N{Rpy< BNf6 i67ډ &.#`lݖYq&{"O(bq@j?CzO\D[}3~Pn״尪{\R8F@8 Y GOT{lk7A--.湹J+J:vL(DF:;(J!ܛYPܨv=_%9gG8lnW"t2bg c(s G+"#8~nj(>OtJn5&tnN22ɨK[൵C 6rbG kR!J2i𯯃 #X:˷xTG)32\Iq{"6 *E=:GE\yۼ4UDS\_3Y5`i7J?pqNG%8hـOʘ3@񐮐Q;qj jR'xR16g1:Y}0/]=-&;|\&"Ԋ=ܯp d )b]潲F> ռ;VUOwMh1nOX̜?| S1 h$,2OA<-} kt YVIwnxx#XƥP;E|CrHMsEL/~jY'':(F DH3ܻyspaY>El0I҈Ԝ$!9P?'FוnYzEiyh?KP?2ԘҷeCk)#@Bas*2(BBR 9J*go<( tQot!IĿӻ=͓zt 4!&XfnaUvY.KBa$fj(ٚ&KQ*بp7Uk_vwna$]ؽ+A/1&SEp_nXleIbW:K7$. 5/jkY= KMQ?ip<2rgμem\"H}X3>ɒnKNx~'c :[h i ,Z$v{.)Uz'}ea^WsD ;H\-Iȕ PX0u: ,/b+wzХC؃g.lI^5Kmo<DL9h8 `#ӹӥUcwMMsh}yKw4l R&GXCۡRYÅU4HA_v7с/GmKp ,<. , NagGMAyY2FE1P/ Q9{<uA=8R{R??hKl:wɑX0V=#k7޽\fzO|a,VH O9ؓeèN3r)*U]n8q G5vRԁ&8J 6ld3QZb8NJ: ;p mLl 5w~%uBJeu>.Kg}9GR)ʑTP,bP.&-ٵ F& T !ާk7"Lf/nۑkY5o@,{?\T i%M~$WYnVx$+M۞Wt3T"3yjn$0YPlD bζ=/3zaK5c7v"o^ڊ %: .!`n}胱][E^$h'`ox=UlGm3.eԆ8W/_ .huI5zK1Lp-mH`}!( rn6!Ѥ4"=D(߶[ 3 ["B$ fIzqc=0._ȱU$vۆ]YpSggfOB^YF9"lBd7d/P]y\T WBuC嫇$ZLtC| X_h3gMQL?a4cyvN]#Ifeh!M8p/] !e.44hoUK;2"E|"NDl7I.Q^֎RzXb'Ƈb"I9T_aPYjx[!]G^T|t9(\_!p۽5`O@Nop*O^/ŷ/?>ACũ#m^~J!i軷V A͍KܭqQb٨S8l79L0Ȩy#~ЫR7@xh{ګ OY'_5NVlUiOKk"5gw".ŠraCSa3Qa釩_^pVr tPCM 8b<ց4z SWΙpXqJ5omW?tQIP+~5T<]c3b) C=P |sY]maFoUW/vv\XY֬(fZG]46*`]D/)f^T֯$ATnw}E\̴Vrl[))ff q2/`Pꊠh'|뻞3r䍍wr[Q2&=fDCNFy%5Xd>UURl'' j7ݯC3s)hU(<\2.&}ܵҨ -7 (uA]̪+1#\o;;,̹CȈSڋ%> ̚}V cVH#_`mC̾lz?0ȯҹ֑VcyV A9F-CJ} 䞖QJ :aX.vPppEOv*i5ZT0`.@X W6'#wRbDG)x4zY=/M) \M_*Tt*`:D 'Snļ\, U(ix ӷi0o Ĝ؃k3ljW8Kv/ @f_Buene@\`Vt<9͒rITr!1[7̄'o#]~wN*<[6Q y{:D޵AJͽPlXb6 q!HPnHA`f8SApr,eE /LFNqƊ[z?.o,}eÇM3?T4ʿE_xra9< w!$|kF>_M q|\"7"ε2 6*U+r 'Ԙ<7J|OdP)zcǷR; y-i4!,ܫH&JOG"ͤ=KZ|FZ(hcb&,s svvH[ᦶRG;6}ADje&Oy+~opɊL3DŖ`ef оDJ8i BswU߷SxTg8A}7e!+` pMVOoT˵R33J1զ3(?*NGUa|eʈN!΁vZ$(({|j~Jp˟ 1ɷ;7qF:PG#e-.Up'w SqkPJ jAH3lEuN-?CBi0"fhY}1`^7&R)h|}qR2m3[1xh M+AEFF>*s;?8 CD"kY::)l-vk" TLeJ>? hXd6B3e%& z͕j碨;&D\mnYw7n(k/ mpQ- :#+]+Z[c;2\b X2 |O 4u Ov=: Ԭ8Դ3O͌;rf|qi$5W:Is;+sY=up8x*`Z`UR)ɫ~1NYjiHݡ= l s*qZ DIrK)r1.g>8{nCGoyK="-}lOycya3;]WN{ފ'ltM;BX( 4a]wN0ڰY# Qo"ש GMǣeKֶesW{NVez3]ϵxsLDfrvRH'm~/S⩩VP{ְߙQ*+Ņ>6crH -XO0QEdG5Ocn.ۺ=!J< [ :S  ԱV}xEhe,C.ؽŒKbTw Dee ohb{J$ 8L6k[$~.t5) ;ḧ́%Ȧ!%&RB ]QRyΡ7@$2c\iXiddK^@c] ]'F"G1'״1{td$,|'ϫ=:3vN/tdp3箞PFErȺri]wLd QBL ޛ$ e7I)I!ge޵B,dө%C1ܻbXW^ -ޕ-ѽ*dϡc-qS}wzs[q:b1،^4I\N^p@'F]]>Pf@t\XٰBӅL MĖ~1.vϭlxDK\rKGslGY&2-aVbW5c˿{=nt9: d;4 Fƺ0U^Q(=-\8om|/pz^ՃFٻ=[Ƙ` 3f;ݦ)vYKiҡ&@ooOMAY#y$utL\)I\) M ?򡪒jW71uB~`Z{ 8-21A<7>l,) xc@Dw!F9V=&%8$۴]*WM[O{t >G3ab.37-")a߈B^*3"7Nܖ#0Trv y4(qȷ0[XaLkig`pQr[Nt Ex3osÞY#yu {-W9jV2SFyIŧBsH:}_jl8Ґ+,YyB>z[O~,MskJ + r\c#~.&~yʩh)h 94@;Q˽T|`'n8`X2igv(6>9@mז|D 4.XjlMWV!Vkbi_vr\gf`1ujlFs3. 6Vƚ\Yڇ{\-ֶ. uah7^/Qe%p{3WGrKцݴn9 ܝS̆ʁhL-~lԢ4,Fxj?!]DFK'jhGJ$حK{'p!~@1oy3\@Lweg*n]je)8TʮմӚm[q4gx'Je{3HbpqrC+u"(Ɓ%pKfvSGcV/҃tΨ;IH5 DC@yƯ~#O9)="]Ċ}d?9V*?l,?7)aP3&x}骴ER3:3jKW'>0Br2 cAlۇzÇcNj%vy)/͞+#O;?+\v\@֪n{G_W'B4}lP)ciTQ79 w尭4΂j/sXu|YCzi /uqאtCcxtU$Y@sbєQi݇)F+0xMn%ΞpH3O+@[$JY髤-mek^jv F=#/rXGO):`YswJ"7} "ٔӦwPknZᗥ\{? ʆ.U`γD;-Q&rHZxͷ)R|4}CU9P3k֘f@ݖCCc}( 别l*˿Ⱥ PW(tJ, ˖2(T(X~[:w%)^_8z)Ĺɻ2ayOlj[3ݗM^zWB 6v)U,{yoPSG#  q JlxwカJrv))cfk_]/Wb5?IJd-;srjdo%[<`%h8<>Nyڳs $O&cL @BP0Z_4|HBEc1C:)tWeia\Xzo[*fXP /okx 7VHOQ ݿ-?( y"A>nۅ Rs (g40~I+:9y58H* ŗ q"wNOh^\f)[-!M[*h8\zi ot~h*d<),W)g0缑}<=\#Pȁ ! ZNmƎ!nx}Vƞ<=yw$v[ ]=Y+NйkX X{_*0]Zjϣ!rhL_Y̪p}ѪyF2xa^qY},5څV+W$c[;"SM9i" MJP"Z63~>FK,wdU ]cJ<6YA*Txm rHD (ڎݖGs3LA\@C78kzy_~"J5KܪPQqaؚ̾@cTpsu)`êo\p#3 T%danPw7 "ms[{?ƞx9zLh/P†Kͫ΋Լ\戶@zy22VU}S- E# |_!7A8^zuOEDYzJ)Ů"+-?4M?({c$6tۣxV@ic)"@ft2/MS#uELb%+)۩P%=`S~dTu>#$4`52B6xw]6s!H5Nמhӿ0ۻĝ*y8ZHhBԼfApQ𼉽ǵkp|6iՃ Q"x'}na/ESHv%.y=6})졸r~5XߊlJHsiHX*+/wwmck J#芊!o+E$ :Xu =cl׳!>SǴ F|q/Aͱ_>ygHV<Ȼ%~t(7Hbp[Ɯ[r-%I@RqU釈{3x_}F`Nn./<uuAUXyRN|釼q+NDѳMrk {'˱5ɯ*i %7<{X'YF!;~I%%WlcΥ-moQVy5*ޡ#?!mQ2= 7 hE[ꗯZB|YbtS1휔 ?M;۹ݮ4t|u[-[Gg &Hi6N+!85,_>Ozޚ]F%cs[-VlcZ} lrlg1]'PhgT3 OjYkL϶[>h[n9;+~Y!xg|z]6 9;y$D2F5ĵG/{ y9)B|Jc_Q; =mu .?fE7$/@GڻCxY Lj ]ꭴЮ 6A#țu3[}>R vZv^4!e4C3?Mܝ!q& bMX\#ti05ek.ʎ$Ϥqڴ^8AةaW6gUXUWR.gxT2(QcP9y &ۺdݎN.к/V0L鏝 QQ6OαDGck>r[ʩ#5pҏ7Wq,^(/1fQWԨ0J.q` )ykOcl'v3$а~zŇN( {(2=nUW K> JX@'d<4qic@ɜ41PS:G _晟ΓΒ?>Bm(A6C)>.THZkQW7ܐ‛u<kUl[}`}]Nᡗ+*O/)\ө8]3|FS bL(Hl2Cx|n$$8O15oڊ&|ԒNKwܗ#Ww&T2U-k#r SU&XSQp, @!'i 1l {1n׶5Po'* bjɟTH&1TYt "=d]bneUb@񏲷Uiě M񊎥uz I8 S'ӕ.]  fy+$DBl#c:>4ee-gfWA$@cĺqcr7sn $x.*?Jr Ӗ^4>ߺ1 cݻg^{)L'1]jԈ{2S=^w<u}UKBGߌ.f u "9E#tgNEP7BPz%d׹%~Z:ĮժlgR55. k ɘ .ZZR_l6oT 5!yCnjCBsl]ɏ7ې1mt.1՗pc麴'ަF¢zbGSjd%/rwȿ؃Ppn|cWkk6%a# -1`pY,bT>H:ȐQʊ{ޜ(^ݙ0{53ZQe }|l䨥C 1\ɟ(f3TʀǁqJ}P283X?&K*εL>AkIRh' (IeЗfMCs% /4't0o1nHaɤM$g ɂ-.E~@5"S  + G ,Lp36 /蟈NT.!ɯjj_s4~P:pg[zbM@pZ.&H2"lzA$vsD6?X"qOb3+Sq"lZP %6/ Ѹej$U?qqcpA̚o?z!!-Dt)|0ar'oC,2^TbV߀ nۡjm?l1WӎhPEJ+df/j/' $4ZPOnE=0X1Nbק%P3xyq4Y B@KDSᖾl vlbϵ[9c'F J<=ܓp&fhDda9.2iZeOQL/!>R IeEa ΠݘiA0,=gdjL:ѭq+zeX D驠UPԤOzL2s!/Q3Lm y pΑ c]/*ϳq0zy%}1UsU]y5~Q+dơ$)۱nC*=7(+[ǜVh}mOEu&ڜ,xzuhsՑySNV{4[]O Uc '#A1:dU%9FQYߞt0 JdGAEfǯ"Q.3!IFǣm>| +Ώ S~RVPۆv\A)7w4 ‡Z{6{vz1iya~0=(+OOG3wұokeL8ÀV'`78-crNmEa`EhAT~t=gF{7[' BIJ¯unт84d։d'$< S35:Ls>r:noRn/6Pkcyo.(I<:nb sqR ];(Bfk$W-FBEf#Rq5srT|P.@E#EnĻR}\cIC1γ6 R|$bQ?J> e{ ˟E,(r.%þS /oY2-2j=i2buܗKW-{sD.m%UgIF GSiI\vJDrP#a18*lgV)<#Q`0t!^B* Y@4>oj2TUzD/:[T>파-^G\d;t-Z΅)T^ީ w\*ڀ N`;Տ'K|T@T1/0N[pŎ.ր\tpC&g`7*qzQo| hWZ IzZ!b9^" n3Y1D|_ 68,W)c@ ]8(1:X^G8]< WOv+Pd[Xwnw@=MڍGl:RlxX #yRKdBrΙDcl/PV"فWT΀|*pgT ugXF̚>#?5JTZKxb"g(n5Sa` ,37_6ϤHU\[晫Eоq+^F!bG~$߁F#ˉ+.p$PǢ.OE o"}.m6^m)`zeZhQWYR3v^+ƻZ2?qbdɴ''WJuw(HFy"R~ ۾ 1E@)m RM 2H٩QQpʷt;] n#5 bkZ*mV82Zmb@oq3*EՓgRl߃ \=׋놞M2l@o,A,u^YgE 29AU}eMp@ǡAK 4TTnӤgw%{ƫ ^c6߇_:JE ćK(?AfOպJ$cT :Dnۺl.{Aߨ ㇩~: v 7n3oIuebȋc- s- aw*f-NWVqlW=`h{5=]Ap2u&TCgdu[;KQx]a?}SMtzp7sЉ MdIhD[%g u|c |ۿ']6ZN^=-xACW,pxM~[|&vQ _CjFQNwyh+r^!3ɵ>攣 V ^Rh-@wJ+;&C^z5g=wԾ,M jL8mp˧J2UrʑvMa z3]/$3@mRv%9gq?vcy_jqp8[,gg"O 9kT9kypOy)Pg/U佚&b=)hs(^GoFoO@!#bM=jE;ݓtA`lw<υesℲ$M2ԴIfPYpFRѾܖ2e2]}ޯD~g00yR)kTH/ͷ0U%EFt/6L~jE5j1ĎP:x{QYXj/,z] oĐhsd@MХ|XjSPhXzv<פ)mpŖG`գOAKWymLCub5zĔ!|xR36S:pgƴx_,q3kk4ww5ٮʗCxXo+5•uj_]\ocAEvfwpzf=k/er,^ zM:áiz 0Q9rϘm$8YnT L@1WA׃I5p>F:(& Ǟ?I16eah+/GFI6rg$z|8 .,sP-;7zlUjC]~[ٽu䛠;Cc]K<`cAK}r(!!0hj*QZ ޛn\YJlLQy0k"1B1Gkjߔ{5 *E 2[z~^ lY-Gn?ֻPfLLA;7 ̓&lZ 믹&=._$mo ,  jIvSda0Hf{%IAI2Bhk]y `#\Q]|]dsj㈰RNww$GIp{AzI=`?{5'*3"TnF!c$kr):?N4>`8Q&'jTl栔`בٚhamdc揙~Hq.,rvRF*4.Yr Ww졕:ȹ&|m!S:LI4qPrG_MJ7/a$۠m)ouڛEE57MqJ=hm~qYAeP,SXaw|޶9y*pzwsŬIQAԕ(SA4MaYnd\'NJ .~bs{IY c=U#rA- o,xl>mZf,Rzp[zsΨQwԝKiltc{:X)9Sєض+vs̫h]?VΑvٚuUYgEaj;-!!UX[\e?jRm2/G:R[gl~;u)fkאA Y'5ڜ3uuxRܧ2kk R*G E'o"9 ih);s~azv8c(B 3]gr.[Tp^)!v'Sšmx0S7Ǫd5JGT ߨI X=T\")޹DɊcqT@6ҹeߙ/O܉hQ9Y- ÷YFY qo'_)bG"\KBK }j]60%Eۏ l[p'q`T6!h'cҶVDŽkpGol٪'; .rʛbRƼ ~ $l 5v*ˁ..}.]8J+u4jc_4v.酥С%GBok.}4(Iai1@=@_ύ7C3}qmz걚aH?{c& 米4kU ?#bA#v^{_^.šǼryO:V),z4>6̴vTi/D#C:OTnB%X"7~aR?%hKC#E#!酪JlCN/Ol~~AE>RøUshMw,!-zgp文HAr#\ M%>^+GQcfSFa/ih$ƱP,dNkQѧ-~;8"rRb$ wJ7'a ]*/hȜ {o r)-z<#yzR,m'?ˣ8+'-w{q-g:/=R1/h#S;+GMԭPGPP҂,I[v9r$.;8P~nӯE2|ZZDkޢQ} Ǔ /dAXe9^d lz +`K.0|X:`%/$_DwDä [wQNt2a[B|x@?S, ܡ)zg#k~9(C$}GDb]JaI%x&|%ӡ[jʧG'?<|Ya`~l P1/a;`Yl@eJ0/¦pאrr/"wx4 U++6kւKl=1Eξg^u5|)P24CBYDU Sdž ehpkiv&)!na"% N`Ga=c`s>-$o`RXN Hm#*@O~B[-y< D7RF]X ]Uλ~`jdNncpX]Wx{z=\`}~kqdZCbv YM m!ؔ2T(0k(ku\ciNA>GP 8A&U gV\ۃot!eTT}A{ۆW.hp13\{a 3q#zMAyJEd6&(< VHEnl=rouM퉦\m@оN!E\}Fab!f` m~ C ]Ŷ<guʱ\z#:P:4]@YMQ#/LaD;'nx)K 6\J7n.c;mK6`7K$JCE~Qi0E>zDWۖ+oq;ƮMHUi,و-/[58aX Xd#?k>;i܀vBuJ|Y(4I'˯Zvue:j"aOvR~"%adNnriZGO1:(b8z`q[/ur&kK4&ӬWpF":wp+F] i1e 7L-N~P {(G!>c`2.CheT^4m筆I&J@׺#b*g ?Kũm~0 oJbw5D3iJTIgXEȡJ3U_n;& 3gELcS$HN䌝*tZG׿ }5 PMM|1U'@G_5;oq! OeOmR<}vB!+HrmΎAWv&g ]9䪡A2)J갡[QH0 /~ߝ4^2I=&RM~guۅVfu[%Y_Tg[&,Ь$ZhzZ* 0*k ӆSzeЩb1,*(d.U&&3Who~o&sQ4!C3k j}] ށbXV,^%9N3m̆l0VNYWoO-+7/4\WWt!Uw̶ ):D"+Ǐ $($1h6ㄅsita(rRj}8}2wm4HIc\!i}0@/rFpM2":: s/U0@vuFm)(|"'.r7CUDvmZLՔtL6$櫾>o Hq1zoEӮȻ%uc"qt*YH/dU#mG$t6aPݨIiPMvi^XcE=qLlN +ORE¥AuBkJR X-# 7+Oq.y'1u66-ʒʷBx;-׀Lղ!Uo!dt9KՀ4[ :2n}~MX{x`"~@ ]I0(_^dC- lc^ɓ)oO_ TU,V: H*zAv6}2lJ-Pd̕@nLr-6 nCB P9UZUDgA!70-:C2EaJ40V‚R;zMh=EF>*E?{e?bw+$՛ U>2T91jXv#˂:vZ_wq0|tX~x~poh^Gz˜c>in| qx*0懳}>w&BXI ?QWV1-)W}t0{]Tn2p`6QB>SnzT 9;D h5Mz6R. '}>H|l@0]c,O"Ҟ*l۝h#He.YyzjÛӬU@4:SCj8U^rP8ȍ^@%a7jr|j-/{5~_o bj.K4e͠Fxa"IlUґ\|Z<jHBxVo0 5HŃ)"X? ab;sC.Zb~>gʐs*TeUpu@%ܕ|5ht۠gF`09[-g:p„)ܽS"􊝍HJXaW?8E'e:%D4$q`o ^*Ď]WA13ljB"&Y&ZmwA'4dpyFYc̥;LGK +`A-TVRzlU@"W`\B s3M<Ԭ.%FQ8>Xo&:v(nm}74d EV9ҵ&+ Ͱe+voFq݄I#0-Y ʼn?|(Mee~ ]kE%RAv^gTV0/ qKC!!FCOEe";;WF$5ņYXo4>@.tK dy":JM0I_d➕Vt]>BzP, .CwMuU7mੈ4 A|E$XtN"f(?Z9p6T#:O* g\#fA%s85$KH\JCwk7R{i3BZ7EJRt$~ܔQ@t! t1r;Mal^TTIͶ0ÝmmK}.6osu/gSzA,73>TyԝɟsKǕ\r ݿ4QmPNP'D{c줹JFker\SAFqH%'@DەV&dQ|+ɽT쿴A--vQKc20ti.'(J\,8ϖDёf,;Ȑq%Ey,qK%;'}z<JUŠ=EZoJ^\TуR1!^e0Xn>VI *H,E2%>QoeV5 ܮ ;9cyKńqف؄YS"95P> R0C[Ќ#^Sjd>_dDwto–Ve1fWP#]!}ڭGm+JSVSI:+Z\V[3`ۃA]FXSC.hdz F2P<2QGi%՚M$f!nlEMfcAF!jϯ!SE_lMXQΚ™a^9³%_2]*-3ŃG->k'?xrIHiX4>0zuW;/'/~&n:Fu莃^)I[JM<@{ʛ¤uްs]*Ieus}|B82>Z^ic*=7l-ORa4)_R#8: lV\ZI'(q8o|n0*7޶hmge\.GnѦNj*v#`e+!Qy=DaGǡf˜+t։<@y o^$~mM_ͥ֜X'zR `ޮTi戴nP;+ǡB)Y.&j̈́bo.s%g=&fVvh>O>H0HeŮ84yҲ\$V682y+Ʈ f) kO!%_πԀNsdA'xNA-HVdD8a}ibOm6f2Wm Nq xcSɯ*mSێo토mݏo蘇mKl[S;(l4* @0$e˼I Yvrf_uMg6y'pEdDMC:E.I6亩SH `?ۄT4ig*+p~UWN;%' pT 5o+p+cR O=0ΈYi0oOƥ$dEO|fuC5 6eR(iD!qU % 9LOd ^ r06o MJ[s׫R.}Az3g>eb퀈w׵ c&m 5EO/9o@M߭Ao]&Wȇ]yȵ^gw2~ >OK8'ާU}&@Ӫ%09Lʠ Z5;Qg}&aA5'}T|u?[I艾ū/ HϚ k((Wj O 4$o$]wvPbR`7k9|o[2/+`Ch-08~P04d_ [ M <;xpٙmӃ=Ĕ>}A. QakT'ķ d?M8"_$}،7Vq/?Zs<f̶fRx#&#IHRjPmjMR_ !#nZ# \Օ ssf[i Z7숓xN~c}v%DZ?ng04\XC vkݥ,ǷUHX(8Eqv%Xfyhe6չcu@P̮߈BNX V?xF)xrVe!*_.sA 2K&hle!Dw t!>ZژsN{?~ DJEYal{sleu4,|DmgC w)}*޴JҰٝ 6a}WHoR v̲ďuKUo|hJB-+e)'|1c7wFwE {&ĚS8UL`*! y&Q ܭ7}3hS'/f7::Fd"g~snFՒB^U_hF?{*J6y\'i9%)x|$fyF-XصYܯ)-_9.7*o17/t'a >JTZbh #JZw k9C)9ȳr4SFZmڢyή.85tlAh`IN?xAw$S^0aBP Z;yș*,fm2y-$|8CL0̜uD8 (}&0>-%PŌр1˜,%Swcb2nPu%to1u U[q$LʖZw)4A./Xdʒ 6b~44M_wQ4N`"F"15=#euv Q*޻/wmJ ䷕N3k[`p^ҳT!zmE(FR& 1~%nR A'PGfdIP=u0[\' 34'0و[lglE}\Hɞr %X 0u[YՒQ)kyu)fS]eiL 2+iDe:K{3FĨ>^EC1W%F2FkBͱ `nS~ ؏*$B?<xWZ;ur9 ?3{nGfCu9f;e1*qYjIxgKLC<5B6 S/KitfM` ë4M9M٦{_wǃ'7>^JspwbǁD6)$ 03TNj;PԢeQ:B]aps7-̺9R&M9o֥^~k# ƄBEܹjM"ʎl `qh/2u}@L$hmjvS/5hIt>yI*$a^k9+?{ο-&kziCwY ;M%>@pNTILZx*/o1o =6m;*/8tЇYy|?i9~MQLikѓJB)љHPd|  X+x_ɽrfZ_z'P:ƪCęP9 J{q2O@{ڵ3`cºZٻ`&xu!-[̲N7,0&0B^4Sݪ& T# ,d"oCn ba>nV;04DAVX{.L2tcij'e ;xdq!@YuIW¦ZG|pMf&606M6鏤c,#ŷi b'äf0'=t(*UF)\ja_f J(rBT.*B{AC:u~g(4Vδ+6xy& 5rO`a$z,3ǎrF6N9\Hh3qzS5HMlC5D,&WL4tK|YMX1e* dVcMGӷ+*-brs=8- [Q;+!^*SwTAx֬?ҍbUʬњY՛wo$l V3t,]RbsЁdn~|fٌG}&~m1Ϣ|u[7={x/:DX0𞏺/sBs0;967UH/|!1ݐm5֏~>*/"|ybHa1²Ʀ `?HS%7f̛P.7HY^r&Qv>%J{6Cz?%@zH<wJܮtX攀59YCvr4esA |#irz@7[4#a) 5"bjQj%=+uɄG/LS@Giͼpﶌ.O]d3xK>V`g}*ݐdpNr|ؚ!(hFN!ܻՌxL&Ց AF-4 m(6;?%7+K|P"$e}%RA|d^E_DB=~X`oƵE(GEzyq 3>(hݼx sllb8,&&tuY0Ȭq׻p?͓ {..IjN)S~ґ9|53nUQ $Un$lMV2\'}Rzk 掟7DcUcw'vbժaejOHOa ݼ@d♲GEl(J3ԯAg*8 YF:nV +TeܷkN>:_q8sa\f^}3lݓj,zD=$0n(a i}XQKv5{ Lo!zCPoJl-t'kwxʲeo"-@[en1R$xD50h䡯ҋZW_hU=cZDžN 嶈u]ϒrV ]hl.!5vnNtϔҿ,[`Q)P5L.4cm 9t( X b$6~L%E' n L.dT"{Nƀ|V;^wP(=5&;CL%Yvh/G_y[ԴO]=KŽb'[7y l,[" +| Q(hx2J.ؼZ,5 xa$v J{,_y޹EH)]ap~3Yu4^)an(c,8: /\FmK떮!`ARHfc g s J=L]s{evaϭǐ‘~J{JU=?z,,{~Sh9a18w\#A%_\TN+8!cp0[)۫`~f]vv 3㣺Wܻ'E?8(О:<*GWG '%^)x>})MdT ,lFFVo %1& `Xލ~rp$!)UL+~w+dE@`jn*Vgsq 6DmWW O>doxmOcS;oG,z?恫pbA}4ŏNf&Axkb:9xD L[u:7NNBo =f7rmE4%C l KQ?qq%e@_+ד VHǀ1:qP:,8i`W_ á?x]3h ”,-OڐfXhױSsm#s x-!A꫋@́&amDl%{.4i+Tj>*)hoTVm~51U< 4gIn]N9kGf<&4-$B^҉ #g@kcٓV6vH̻T'7ʝ0 y* ؈V ,qz]A vX6bD.o&QInM'G{l'P= M#``۾9g<>C_+zEX=$t)W\x!S8eqB _ m@g+ףc-vY+8 GDf<`TO ĿqCAjf%. J% 3FPU &;ϩ Ìչ#" uuZ}sk4lVI2q NRNd>+jw $qgPٳz_AheBimX"el"%h D2YCjS@TW* f1wqݠ^Zj9t ƣXt'>F!gRS$qb";<)K?q.0tD~Iĵs$oȇLYcgtAL`{k@[ :.=`\NDT{'j- =V\;=n1 (t[_ʇ]* {&b\W6 ~ gb5bDԣ^h/Ϡ rIOT%T^9c`"/@Q/x l|X1ڗ>UM!4akᤆ}c0NlYX>$&̊X2!PLzFsT2Mq Bي_>%bu}ͽkzIS+~pere5F-{7Q}w:G\zI9j 8bDs4*0 Rħ&B`YW9,2G(h`+L9 f+h\Qk=˪;ƱO+mͅ?;e!"~}l$PFri?_?ZUß[L51u6$Foѧ"8Q)Щq`h#NTC4A:pj9w8`;+m54`w!G!EHȑx@={A֭g^/ŵ.bbW7Ym^Ge ιkiz'応_*? 'I9fN ף2uWW]rEM @ǀ= &>,;u)1սXˮoˊ%Hp\gZDϐѝqލԪn:Ex5D}z_mGeq ΌQ\~. .7:3& rPS3q"E}nQYBR}2&Oake駍Ő9q~D0!Wcc}cutD@|g aFLs)Q>ӵطf-m7x,H̕:R$K_z.4>Vt3H,@(⮥72w{,Bn']kJ+6)"}xk'B<"L-X!گOl9#G2~(!o'#06wܛϬ4_<: >7L4sfJ&94G1LvQ[vci&YYGHOo0'8|i= Jk]@u !{}ĮrTG@<3ӵ,Sbq|~[KԆgy5']8ber"sEK0r,\ׅ;S_~9^2tڦyה[ S 8Qĕu<鐱kUVDyV^+h6ƾТ1GE| %Rb|-50S>(-b6;oЍs]O,o2{INЎ!7jj3crcmQ"{aj/䔅ԙWVPu}㡉9 -У{'[UkY-'fF]֘UË3ۿ2~Q>Y"ݓtLm_<Ӧa?8kֽߗo7#.f%KF1U9.K$`ViMB#$eYZy~Q &ĨJn ؗi`{:I3d'xn:eC 裛Rd4 R f0 H|/H'* ƹBF2^&HWQ*6+& Q1cʴ_IJFi:~W/2z,Cb;P>Hف9aEdɃ9@*zW]/lĄELW9QPeg{L<\8ߌ~n){S:؂C.`=:t˞ E >=EDwCQ1rYzF{`pֿy7}]yU|=,Ln)CwQ~ѷ…ġet۟kL"s490.&VH2?r4")f<52x0/<.WiEFřU[p;CٽG쯂TA0@Tp? +n˘h eS3Tɷ;TA$@e5Bwߧuss:[3r(suِ.@0E[|;}ۆD? }!Dr OTiR ]4s> E߰?9Y [Ѱ4ZDt8  IJ6@qǟC.kجܮ$|%+@M0_nSQL$0H~_[R8~~͵uI9hV62-fEwZ0a~%_(1r$:g1ll(ZS}zhʛGE ޾]_k`ft(_ jr>7kNR.ڵC+G+hjd;C:,1i(ڈ ?A93}RTOtV9MEnqf3HZ㌻ڛD`|bT(^_Fltڞs̠zڐEN0BK )Nc +2+?aGH W>*rZu6i\/đ OMe%zK (l0'bONr*6= g,ڿN!iPB:e[ F7 ,BB} #T@ÞDܘ&`c>߫_ZwϽeҥz I8? h ɞoEB?y':m_UySVDN:ċ\b GݯR*c-zU{UjnK`}a}Zt'ګ XS-=Vq4ʞҞy?2YS=d XP7S-UM[i1U0Д-); $6}CXѢu-Bڒm~7C&ZJpQy o^h*BI +ٛog&\T}ܐ"ro0H ,3bիN*:cbV ,:/IF]O} ZՍ44by|* .xI;i%._W ! 6" S M[2QXsXҦf9d"vZ te %` nzS,UbS]}]K'~^w?ɸeiʔUQ}@]>2$TRbQMjRDl7912x* <Ù OSװ>xe꧙\9ZtͮK6Vx-۪3Nn (?gëiA;/ʌH{ gͩeIP1Bpuk7] ,I`E 'lxv2~EV}?z6#E@+_ 'h4gE IRD )*o7‘R{ldp\%-RP_ewG|^У+ U{]IC\*ne#; $!J_ hlWAorEʅYZb{(}|ųA5(w[8-`R)7p 5\\wY`ɩ1+-Ij 1\6[jnD">y==R)*W߂@6Ov) Ы.<yǨecY4 !m:ߨAZPma}Hq,+G<8!L]?.z[G ^n1Ug0`@^%/Ek>/ p~ɴn)Vk+|KSaaY[T7„u<Y'e4 whr蚡 N$mCUZXkc؉AYN?s]!N.~ 5LPm@mv{ݟVUosgvmZ\"S&N.H$90N w{2[ע6.HߔOpsL,HΉ2"c~ t} *W3I[Fůƒ{opI4V^O%L~PX8R>Njvh!Ƌe<칬K*CgjÜ~/6nmR2i' l4)Ib햧D3Hc=iO\\ y_m˦#8ǁmEirb<oܫad9K PD4n˒0n]- cyʬS”'z%;jsY/ԯ&9CGڂ8Ta%TlMOYHZJmRo#Mh@",mNF;*"{h;]<9C՜5޾Tޑ9Эm)eI(Q{9ɦ=S Cl*`.=*mO{1 ?6q8bԐ횠W:I uڟKO <6{d,'}`% 6I9Y@0j~yKOW5bbj!ѹ4y7Jp *!Atě|ª @$.fWAe)Mu/m_JdQ K#|ҍ;ԋ2XhA 2(Sִ~|Cǐ䐣yWI3U7G]a->2Z .cKI耐:s~$"<[ԤaDɃ1LJWG pg4dKo&M_>oϧ9u.pcѢX) kbR*'WuuШL[I嬖A89}wfȰ`b v^K I$Tע)sRm:"{l%HOE&hg0ߌX87Hs ! T 5UO! IgD /9ȅ U&Nt4(,){0ߤE.Tfׂ:wZ1 l% /7S3i__'SW#ލBt-oP^1Nqf|B cZO̸7 )4oci6,RA Ԑh8`Qӫ=7w=/Wv:؆;ѳN vI<~5s蛲Ik[2Z|R,UN N"U,:Hh AQ:> ,G*>ס<OA"IDVߧ?P,LUIp蚦]93&kD}mAJ H\pj~!1ۀ[굁}/m.{? &UQ#o=aMh6!32#Rv*,`3ݳEc>a:'VϜIzW:v'Wl6I#0LS+[QrFs5qpuDZgܓV+k2[?X)'-L U6q} 2SSFeb]S?E< FL`0":;X3U91E_:ef)UDqr`y E{e¦_͘㯭޴@C 53hMJ 2DGbG#M{%m˟/$UK˨p)OExcr|4Q j[:5hF|oƔ|J5 p͆~Wp,eqTa,{#jJQx#EGyO͡ ҙeŰתPpS& }'}r{lrpyہ6y'~t}v3LU/by1Q;E^3+c-;1Y&s|ܒB;w i[BV|J;KI<(ØSߖgfFf3|7߅`1zqMK,2Y| >Rؗm#8ɼ*B0-6b\?隣ˉ}:T[@ 4y|6MOx?30'NaY: [[^Ijc6G_ wG/aަ|ЌȨbѕ>n pvv-ƚurfަDtZ6YgE~=O[;5&=PŒ#"r3Sv a;vej=B2ƭj?PM+żQcSۯLހ$T=@{z%9)$ B9R;%);f7-4^sےJQ(BZ]y?;;YGɦ|FnxȑQZ=2w 2}V8 lȃ}NtwPOe$r~u`lBIns}f>4sqQ˰sP̅O nx 74FM4~RX2QBamki2T8Z%|ya6_'0|q$eH/(,J "n:p&.Pj1Uܴ^ke{imѣ1 1pOuB. XO> `D'M2E6(ا֓E.#Qo QSdT$WHSPF1}:P-N]A lcʉ4rA`f0N`k QId< x5MPh[Dh$x= \Tj껟y㠼ր%AW]&ЅD|k{ OSـ/Q'&eMTS }vD;"0IƲ] w8 lߚ_+x͕=u"ٴ"vi(c :,~ݼ˱ӄ3$"OOJj>da*]F$tb'9{?IQ.e+Y 'X&%=c_ql}+|ⴈAuq__Le*l]CWMzbdpSK$uC\Nрnnn6d2*BPCѕ,7>`.K]쟹ЃWmp+Ʋj?$-x%%+8Jj7K$@lmerUqFg1$?I_j3Ѷf{4-E~ }1d8 ćcg0=k‚&5#iU` ѩʝ3ԍv+SHс[a_ߕꩂoSVyxcB03n֠L FQ O2:ŸM 夹YR6YrrigV]4|gMTsxlyT%7ȫOe .GV v~'`#NKhoR\|2r-[!=T >Bel?&Ҙ1Կ"h`M$kf WD{vZuiZF4(JY6ΙKRF9Sn1OD}osCsX/Q ,/ 0|қMfxp}tewi!q^~&lL/BxM*235y ]wZ)U9-t}_l _FF!L!WJ/+JE鰡1 " r0eg qB,Ǭ{jUA'+X|8+@6uYO4<z4߰R{M1 8z>g\ KrR[ZM8|'44>ƐV9z@l0_o~ݖ3k6.}o4y}yY r?6S"KN9L&}aoOQb֡v ^hNJ#U?/B3Xd%¢nј`qe*UM  ko+ CAI`g`V'/yS!\yrrg]vq)ˉϵD; ǰ v(vτ0z}-zmCN^z&$+5)7؛q:xj\# jK[YήԁBi=XE PApY;PEOuPvʍ܈K"[ Rm a.UUB{?@/1Fbq9W&_x)_*] oCw2DW$EdnџhhgCD2˘qM'/]f6Fȸ豲۫ i,\C1a\:pcꚨLu`8=eX-&&eWmZZZ ]| >?ۉG\V0S9j"I%c466$DBhG8.s oCYl܆D&y*&ZYUn r T96'jVT*|4\foP@wm-=={/%u[4Zk iQtm Qos.MۦA'g׭|1IB-q Ouv:f)hiR&{HI }]բyF(-?chvt-*"QV.1%춨(d@HW5 uGpMvHۿ4t&6>2=|g&cS],Rl'5OHhj s,){41$6 [ya~ cvXxUM2ZK*)bx_H//ǕCY 70^<ƞIRmI42T5 $fÑicդVكhŲ \5IAjg(('-Q9@-.#uٰöבh,Fnl>BWV)hc(}Q4j@{9jPJ׺65"bSk\5[G>:,[dy^΁zxC6 ,“]$"v0WEj ,$[N`ci9# n;0 `P6,N1{Aq*#&U3FIIKR_pJ_ssFE z]0p3㬥B΍l9@^jL7ai2BCK -G1T3FA;c7x{p;EjiZ՞bv[c}D(.\,W ] '0p@T\۽Qݖ欮dU930ROHg]1jj$JI6e+ UOmI#qen%Љ܍!Ѱ]&L=2nVI-Qq ѓB\/͔ dRmՀxFWEVfu~LUElki~I}VZcVʦ+HQҦ⚣X )U⁧Nh.\70Fr#l[,|K{x/8r!E`GrC!S8y {&)A-v4 >_;=@U+ @njzi TVI\3#l*섏MOZ08 5>)~~-oD1')kI3bѺ}QeC&x)̈́E-nh~J_Op&GkFH:olyO3`Bn(|2z Y_82PmpA멷 |SsoE{"Y\ ۏVON{qKْf^,]X)F?30"܍ɶwvL)_)<` uܓ% ipb<jWdKtNnqysb+ǎu ;} Kjʑ658RlC`؂ ௒~ Mš!iWlޒQToP<:P;!(79kGٙH6 Qu>_DF>h$Y_"|IPprώQ絘 3\g7YSHp&ऍW</ČŁz/zƜa&Nn{v'Vc:oXGv#Plkק,kSÜ&YgȡFo_SΫ}$/CQ_`.^k}PN*^ 5؃:iÈ˖KAO.{`F&׫!ſr߹tUP.P?_Feyy -O{g"6O`_[+{Gၯ8b)c#ͽݜLb1>*2){Ł/DKAma"ٍO87)kEOeD\Խ92+}R9K6nUJL08nX3#<(V21$~/L723.WL0o:'@(W.v.ȘUN^Av[ޟd IIoxIz' Wv«J7~4n j9DNJU*tP{1d s"Vf &3T>5k$9q_mU[y V.hы+;l"O> C@ٴuF@.~i@hrS (Bz@3e B\V:9|@B$H Xc[΍?w?gqLU&D%GG3t7e1y?S%3qh^Q魭Ll <1UXZv-WPJn-T _=4@DJUNaoJnl7c5-:y\VtuY!lg~YPVe74J,x,</r]v\%F `n079Deٽ`ń;jZ{ l+gVyK.y'ڠVuN }#0H=1s' =F_pmtY2d wmyWEis 1r*m`>"30ɬ'.PGMޒF Un,n.}ֆyv&</qĜ`#.X{ /\q\" @y+(lŲT[K*1+Axr΃[=M` ~3.OGG @ geڔ>AFn=Do*_e퉰{ɞ z?. rI]oX3pYxYbBB?Gd{k% ̘uj>[IV6 "BX9iو QپV$;+^60,a_:hAZ"gd'8pi{ oT_ &!֡4D)U,KMy9zvV`1n׀ L"~lo} cC`v(Џ7F6نiF"VH]v2@g!̮=ʢPj[ Q14Z3NڥUԏ D|MO>IzaXx,ҵQ+ NS; FM7Btܚ=  '%cbTqq7, 86s.i=5 mu`LgҜp9Bj]os@ & {Qh0+-}dpF X76:j1.zTknKI=ɢ]QLIPSL].mCt4nţ)R~-kbXD5DA2kB{eNEtS^QB/ӮQ"+er}|څQM%/iᕘ`ݔL,7c ..7is1.`#~'rsgV?:4nYH]Ø A[ x(;do&Ji?p(1룺d_goZR0{% (VTt;k\Ejٍ~e3cz$C)bU6Bf*V:ua?P}ftᛙ2oe$i@RE9&)ȉ^V)VM  }ҏ&X*,(}xs(Ŏ3fcx?E(@h*a_K93#zĚ_nMkFbxY  %PjrGu\}yKUz埇I̽ l<=*6\E %K vlxɞ&ō0"09j6sp>==  ?a:o zF/B mVDk`Dl*'rCP#+ځ }|i[}ˊ-v}nNVFX,۝CHnRϾ' |/2Qښoh;"Vk^̸"IvFeTByz> :x3,@3Q&{\Pc,wb,ĪXh(rm96ʩmujKLSG~;"6>uͩC᣸"@. ڭ" I)۟ShRX/)zOVl3_JOs^z.^9h0ximJB@B=pjYM/\M\~`"VR}8زżk8f]'@^^ui<& ~r*\:2ev\wV!Stq-U%чYqX1R8™\ZFE g5/ܿDԛa5K`fE\7pԦ׹$!iNR`<'!es@3!IĒrDXp\,Ԅ-j\,( ڪy#">Ȕ.oE[Ⓝ(sÈC0/ڸ/}S'd4D/X`kS U!} g LUGS?wlʼnblci#vlp}SR@h@/)&#eEzN 4x„IװHQ8ix,s0y)=Lk?Z!f|mOZ4*'1tDnn'h蛇"H6*> "kKJ4Lد{CȌE> 3!gǺ?[mMzs{j"iBΡkJGe4Pf?^/޴migU )#Z)[Ke1ߜ[U$35a'rc2@v80r<9*✂PkṫÄd`fÀ1QNv8># %$h8s&PZVO’gX;*HzH'Q-$1T7=Me+i*3qk]/<.: A-T kcG^Rq*EUK=oHD H[/\ pHAiY(kF ˵(ۈLV j͙P\O9>h>sf@D*e؞G挸sEYqܤ#KR/tN< ֫<1 M@ɉ?>cX Sdu6i#ٿ{C_|E02F"QNuSQQGTa)᎔(ٝD:ÉfD|7_G> վc^DDUܔzaH-2ySǝ}|lWWg;u=h +LnUc!FV4Bs-*wM}ҽɺv0XIŚauz&~lxi׾3jͨl>8Yy&BE, CEzCbkDˁ01"?7m.0.c\Qq|U`e>sQrjDRяVVmf_Ezqʇ>D4&xiϋY_q {"VX4Tա@/{ ce{JEGBIzm>]30G bo_:9 1-e9~ԢB-S]6tMqWIJP+Khf|5w%w toDy+NhK?7f)K2la{NV+ΖĈO(-+> O. 0'< CJ-GSk›e!xz1![y3N|ϩo=Y85jlI`Wr-$QBnTbz50v ř0Mʐ$UTע Ke 6% P'sGnA!> E0_=g&d55nÔJOGI/t\F_NMR `N"т5G5) 4 ÏAapIכҩ_#^)iCw_=Et!޼Rrr<1ge1. P[Im˦|^g8XֲjS|FE@UVVHijaZİ̂SYfAt8'SyN7Cwh }^_s1 / .l#ˍ$NZmQU @tҽ|(s?F*G!}hΖ'&ȅ`ȄU b`2)GCdi]μkJ'k${ll19f 3{iDg`Kc0DT8s͛# Kd&*mJch@^g0g)\TQĴ3pUuќ<2h h\! eqRݎUW_5;ѡ-\kaNDsQIƯ7wMd>7҄6r{O 0slPwO0ypEIDTj·),CI'yk$ЈJ@d/73mt^x΄>)Bbc*UΪjpՠÿ!>&x݅7lD A"d03}kU='_f*28wχ5JJFajpU ,(uijP&a覑gtg$I|ܫ)l!GdZi @gM$6%=u'/ GgB\7ćҿDвOLJ~VȿCFR(EÞ8e.ƶrJ)IݾN(u|<}EYH\q Q+5Pg.jef'O07>5 V>J>2ܻ@Q*P)#K?wq*hK. FiM Rqx) yjyWul >#{˳mȁv>Hؐ}۔[RM3ɢXDmޝ7|Bt=H, BL@@C'ÜI9fl:Rg'~5;hX(Cs[SЮp4Pp4TL,}Kt%Wa<"3$@C?c)(CԆ\^w*]*D N/Tʐ1L!BO-IR,XC˃E8o 2-6 3HBяW=8AuƠ[J>-!8ʵUW _] )zЬ_72W:]c0i=$AJZ5l5p4<"!v]R~WQGqr0o4bQ_[x—Zno fHcg#2nK{}o]a(Vgo%ΐ HAIm-o4ŲҸt{a8X. ?e 'X( wzn1Ug-x#B7k†M绞فoAzUןz]:&XkSJ"nk_[($ YLTGȩH+ 0& O6qu P5WnBKc[oI{h|~J2$-<.y[RK, pS'~.Yl'_c69| r&rӟ7d@ajU4xby5(.t\NqW/Hny@㦮Qf ġa[b6?E;"3 `aN'C[%c5)ʬCY)R04?&D4$nSSJa4=i=RaCACFrB7=cRR^“_I t_ %;}K2DSъ׃I-鞃a)ؤU8Bqr52H3hƍ hCUj:Q2yw4% lCbUXM^grPEwğ=+l۽޳~+gS Cd7:zY <^"g&ց|#fD!f>vИPb_ﲺ$lPm v~(-f>O̩f f%cEïFBi pӆd:>EW;p#ᜯ%KQC4 3Xd r2?$ RS}WY%oT0JAdJM:ߋk$V)S~ౢ)4k񥾿sh![\96ߠOz33Z9sV,]RzL4}A`k؍*Zo,d"T&x9~W\'h;6RbÙ0VL[~k =I!Z2Xt2#1faoBEsE]#Rj7V8\dU嗪hoZÔT$Z|q߭?(woтr\?9kZM"PӇmާvᑸ(OeoF9*$*`/UV>h?Vqa^ys.:)]\Rj#zN7EIZQ/Ԓ#n 5Re7Ɩ5/ bMXAˎ;P[sV9Txf^=O@tćt eWTEo3Yi:uW{WG_*:B>u< NfYnW?TN]K?2 H s6N0ӭkיEpoh9Ux"߬ѯ׳E(Uha++hOױF~O!7HS2tX;u/Emm<&ÖۍyˈK@ ?,h}P{@̧R,1(ގH^4ə<BnwҒLtb}_} qA 9y*ЋU5 knl)'-rS oӛ@>PR{!WfX?IFgP&g%@!ώs(TȉռȆE.̪H0#! 7t5&[CLW띝R}ˆiB30Ti鰃W{?zp/U@KmMu^1j03l'EOp`l!/Xm10ک-@aL{\N iY/<ÉBB9M.j ;jա+3 h'@ ˠ'A= 3m=ff@'%| k > 閱#۳Y}q(Go[dNh{;t=lr:O,Mrwr.?BONT?ݠ8'`3|iH30Ka+*dZ%+s:Dς4le#Q |-5~(n6&̵2p/۠ܮډ64,F.1p }}eƶul'JE ߨIAl7h67"oYU]/ؿ]h}7,g(%.0: M{3)b&^z:-v"&ce<P65mgRvA{tI,|cPep$&mbHd Z]rAUKdacAe@2=GיW%tEE|L#WwƘqk4)-ax`ug$M!\ϣÚ$% )^kAF S)`tMiz7RH aFD4 E^\haf۠1J.:-q#ح`ꜥai f j͚lSa iT(Z ք" ,@ '*pG4*f;DhԹ/Mh&o>nf,E ;%>q?͞>]8[)Ð=);a##"6;U>OAfBXN ;.nڄd_evA`QOoкL3z)"UW<Ħ (aW@L )=ԃo]$f:H4qQw`.G,W950̺BQc tS+;Fs~C]t|yQz Wvtzȵ9RJE)|Е+\dN-g`0g#N}YTyWpoN>OCgMg,6I.4wIhlqZymAZ6 nf?:j BuKӎ0×P}x~SG ]0׷JV٢?jYCxV3n!w4TD"D0PaT%2Aؽ^ c%*WHjy[MKuOt-hVx^vSN/ż kUu‰.ԁ~*K>Bͬ^;HqƷz`E|c4I N#1*w2W盟(C%N4;(9_T^Z5!=UN:Ѱ{UDU48?}!ASE}z'FONj!6eAP_[\Ŀ?(8A0L7 &iցQ!eZ-J]ZR>%itWY3-{}i7ƆFx)W$8$:p).k6J7xnjݫ-|~hgF6{Ñ|?h<G0>Iz@CYMxX%K& R0\'5t9VNC606{**[lh(C=GĎfzPͽ[9&x{d7%WW?' 2qN-6hJ2D C ZJv9 4ըtepZ/̻#/"R3uw! +pDAo=>H@ j?kH'"pt Lj^ c an ע[~buKM'<01~lT ݰIfP[ÇcUTHRC$]c_G8݋kr@h͋RY[r\"?sB=Zl|jX}gF$E  ,/kB*:!A!T?{ai7Ww^s nT#gI6;g'$!khMzi͚ԨJ"?vA_M-;;01}A Jp%-Lu^6\ ;|G'B,gFԶ5%{Lܷ%ӻUE&*v,T IkY[/meS67*r+8ܑ쀟/D0+yq lȤ)TjܥMgH0}&͵r'aRCtc~rek8&oxcLG>C9$ 1;|;CTVg"oDS(1_Fࠆ#SN4B;wnw}6M} v!˄4gJ0AKw i&me09-F +AK9uG ;37 An. &Ѫ<&bC81-6ܡaR|'nm0)u~IߙCw)!9*R]}39WW WIb GKr^AfPco"#`yW1BY0hQ fP:r2S#.l`ZR@N衢mB0u~s^lL}(K#T{ 85cT {o{Q=Oxm+,)1!O 97Iƺ2KVP`W?ˇz%vI~GӜ{<2l/ڒ-Q"|:=s O&K*P{$d)gpЄI\U}=Tbu4f=7t"7/N"EGf:RY[&/>KWV`k-נ/T Ʊ@j՝7k+pT P!Is . 6qk¸^(܏cK[S<撖Iq3 UdFb`4wuYtԯ;:SV_50˵ 0~فG}vfm&p\ ݗrZ>XP1gh*< G}K-`Y2vdOB0/Y +ע?oPc:>,iP'9C˂;(%it%g-yB\TzF2,RXRNOط.[8\2ƱX6֥+U@[/L7T%(#Q'ƽs2&pu҇}CE+s:Q>5 C>WY6P%tuvW!#C~⁵ιBK&`99SNЧP]g@D8jQ)-e _wBNc4~;\j0e|.u@!tY>\heaUV.`I3+]htR&W{گbǟLzhԡ[VOF8¾bA-d+ϐ9/RݱjiENGZ_z6tg=lho0i\BH2a,\ Os&LUp?{{{|9ݟ,?A`ԶQ- 'wU6=~!M6fS%ր̓ 5wc%g61IhCMB['(hߢR.zWwp6qhנʹ6J'08{m:)D?%Xˈ 㷤7Ȗd8NCyKۑ$E i4:$BnDslUQAʼy.86IL7af?sPN'Lk꒯nϒ@/&MSE z3:r2S/K.yV U LjV ^VqTkof*bɤrWY%Db6M 4*\KGù q;E,t}x } nUXYL4-\+ ?3wOǨMAI l 0L|zЌ8oGz |O54T V=*Z`$UT54=qZ֣E5>YDrzfhlO!>MrX5*3Z%xIbۭY7T* DzHb;"q&lTxWm>;9!ɨAg651{Ebz1X+g ȨTa_-EzC? &wHNAJA]>W=MIvt4?ڮ#)G̡5_.da hһm9+6]d;2%'<)f R9.b':wNVm-# ]7- j`v1v4@{M>awY?oTS_7qD7Ov[X+%TEov$VWP>\$#jT%;4iEM?i1vZD[#/w;Q#T{vDNo# .D-˿>U9@RYR{3/W;:!c, Q$ܕ%5'?qhD/`fUEٲfyfZChCʂ38$kڣ_[cxHOϏ>zzΫ'[` eT:`k>::iUڵ'3fzsǣFfܞÖ?d}x7ҳZ[7vĞzɾ]sLX5?Td^ӍpY@oEr=q;'hKS$BSāT*%|iJhxVfbW~XonKPs9:3Ʀ.[y~݀BxWY|xq2X_)*L.9Uf Q"5mdG̋+ioּt]ZЃ, Xi7R$n1jprDPΐDËP?}##{LHR{~~<э/i8^-nf & Es٫1L#I/&>_NTc"t\)Nmt~`i5Z5RYDҭ.m\P*rDm\%`pL$z7y.D,O)OO{d{?NJV 4.kcwMn\)q]8+^Car^6TIp&D@\M^eGQ˾nchNxpqƊ)+YOAl liѢmq{aKK¸4+ڤ[$mt{4AJ/BkvMWզ5WP&aF=>F;˵t-CqLS0Kw#6v}\K60F pBa%+ghpLO]<u:J8jfHCLy?(Rj23h;Ǟ6V3];je6(٧yVBE5 ྡYv5ٰՕKNzJFڙj 47>q:+ɱ;?J'WP>(]䫃Z.h;k*[80\ZH2yE !2I>#=n#$pCx( =D1ܮA#;&K ԇ{uRaaYEWfD PdB#aﷶ Xuco_dJ6Sq?m5@fȪ:@+$YUߚ'c`ZfD= `" 6 {:[F'؇GWP*o/_lG{=GC5ylm-eA5덤б^(b .Iu0J'$e(;TkV)+=Mjgq8LFۜ,4ѸtKYΝれ]GbGBJdgdP~rQ[2FjQChtMKgqكk4–`o#o'v۰q@._`8{vMh>V83 l=TPGph{̸ˮ rKAx&V[F9fKqݭ:h͟A X%CĴ \.TCRX(>꺳N>2. O(*ic sZ#Knhq ~|ZPj30wjqiʇJ"F6Bin BUrHzsA"D 5Ʊ,9ۦNi  ? v#ˑ˜->g -.y; `}hDOPs'q92sBm&vLpL0qU/IbU,V ~T_hk#?L~ O\}G hyQt1=z_uRZ-j>w9z#s rNE=WE%j>ZDžaR78h0CU\@/_;^Ne 5쭣4ZyXF07 |> <ʷ&քXpX>'rTP&8VÃ/2XCf[r֡ت2pldu Ȋ#Px&+g|13.UIAhMShuN:1B򧰖v>7@uT*zi̤k:bҏ,="lFmO4s%]06 0uټe"KuWT`q}2` ?\Ľ38-AVAjm:8l|c˴-9&i2t{E .Su'?DEj[ڴzŘy)+WVJc:BKw'68Վ 3FR>:Z$ p}}zoَ6Z.>+;TcZv1j/IUhF4AJ"fJ3<kjq你p2-&e[!BgqF,b5EvI:YBCE-g;$7om%?*C1#P- s+1Vq}\*P͒"Zk -cgJLɮJX ?H BMz܌q]Y]#3a?夷 Q>MPq$ME!5bT:9RnaړYoCq.«>Qa938m(K^=ؤ.q9D6UAk m *ERJۼ6RIIYu,<.J1E6l|dNXsUe;{EptH)Z^~p;8#LI{uoEkRG~H=zŨ_S\vRv~okXl{O3c5cVyAHs avPWFթ[OGrv~O!m;M|yF]ypGM M_]%7P<2S'"t8UHTLmy5N=PtXWvX u.EDkx{ - 'gpl#dѥ7c]B\ 3ajdyY8[&<1:\)|[!='ڄ!_f òf ' b&]Zyۼ`1jR* Uv\x!Tk<2#6ﰬXMq^ $PacQ$QWkR$?¸jН!TJ,f+Ud Np Կo FSDȿ_OɁmRGôމ@MCO []T<(?‡:gFPʹs4nbl6I*:z!qFo.2fH DiX<={j*u 9C)<$߯kWIfY..Cu]j_ҡG3H9l_B[39 9fVjLV"t׽󇆩 P؊rڍ 6P"dـǿy=v|#4&?!j?#‹6Hi a)R^fv_Vur>qB>;ΚEUʎu:TM`A0^{d־!Lw`DyjB]'Ma̢Y{y<31y] .Iۍ'uQ|.p4w7*X JOѶ,ШMxHɩ߿y[G|ۉ9TBWV؃5Nh-v裷!.뚊.0Zk> (JA?|_̉mpW78lV:p/VAYD9>K8*փPX*6x1,1jr2"k*[Gz?'$2JIthaC4j4)R*N/ǹli.ٟQSRE&^Լ)N :,M4 cvcgEu.S (KP7P SX]BM=G~lT\dtH$29(Q y|:NL2>Fby<e@ @#F?*53Ėܗ6$cV~kj遾kr3^KL"dfk]g&;ȋA?,W^[ycKZ(O3|6a)P/.fFpQ(X%YHExbF8; ED:" 9LHl-ƯB>Jowv>鬯ϔsX' g&.hM#| lh/bnT&moO.Ҹ'm^QK6ߨd+f%Nݜ7kWvLP>8Wۣ5})]k1 "LbFNtLmMXrTo:D=c^W>z&VGXRJЈxL\8$±Ҧ6%TM'f@ i).)UV@[&SQ`#w^)JV$LV;KPf)~S.7—jؓ3 n"BRidreIyivFQDdM*X%$!/g !;L,/msʐ'It53AHuvڄi;y#˔/ J|û;Ab&☱'〾}y}"rC;uZx[l u{ҞpedF VB"pzC[;LKyVFvR0M|d'Q=Q=D'ϭY- hwh[,g:-p$}*A\WWʃLȥqJF}OK% Ա$7WAd۪YI7&SB'M4EBےa|Kpnp5ͱȧN3web/ n'S榐@~/pXK`R ˘1p$ n3jlzf*!EU!ӑh;|Z,u_-O>  2X wrnByNH9I#S+}$ߍlYtf!;u]n–}aQ<טr0 #е>BʚcL}KDYd&,80[Nym8އTJ:0R]1ȈZ倪R"(2ZI5Ly*hʽrX>+ _yLbl[<:=ϹEfF[8yj1"8%۾6}~nCF=zj[{ r♩yv"cpM嚛DgOe,h [eT>G D?]oEPC}fJ|'cs毳;jU.)a`r1PY kK~|@ ̘ߍq,-- {43({p_fD>w!>UWѪ\Ou/|KXeꂦwg ( Q^ F&N|uـjXU-3(o W˸;4ÀlP~4ƌ.s\j-;[ڧg=# NĦ :ʶ?S>"+ IEtNwaɈl9ͻ \y Zތ%x,bŠ7[MyE'YեTV>7`D}I2ԸHg4'q' ۖ:m̖W9J|U\R[e\J59Y \zFe'fƠ爐D8ׂ]y!W*4UoH*#Nh΅t_ lZ#11cѴt{aLqn4ZN@~Ua\Qi(Ya]>-)kq~W!+JC50c!0Vp<<-(Fŕ|rRWbC}lZ ^FUg]Lvw3^SN=<ϼɀ%^.xm/*"5[B Z;YSϴV+o(-lI4@hxʛM{ MX;.o>!7F(%Mj U`6&$Schnx.@ :7$'$:#82Ub:EK0 h^NJ/q @|R!.D!g)e-ƍ͢>+?:Ib>ׄeJJw֭໕Sx p9>4gT^/M_V.RuapdNh1af|:Cw4¶r67OLU"HoXQ(R *;h/&w?PRWWÉŕl; w h?se]oձǭ-~z_RN¯YXjjG]c5iPv'5(2Lh,|u%Z PLVF R A)qDyc}-|? j $B{a ~Ӕ>: Ż1E+G=y@wlE. ђb>Fml!١핞I |/^Z(xvyi& F<k; -bS+bA8TUP1[2(Jg1qy|!3h `ElA!^\\@pi'~~Ƚ21fR!:SU ) >>) r0qC̨qh kr6cnz.,j $")K+bC@'ם[yJCqTMDo\spEN2S-nvÜAA˩QÜYॿ0ȿmZ},r x'-h)w!jLwV}r RX(j}{;\S>ON8aQ}enW3 ϣ*HKT5h]Ža?XAE =9'Ô<(VM3(rVڟ\H /ntQ~rq3^_Ϝ+ޠ^jMfil`A~̤! Ҡ^AKSAe*= Vmh Yxi x)=R:Yq愺ryf^qHW[3eqDX?cZ/_Kw(څp_lZpJ^6sK :5:lbn,]PF9i5ɫ>f_i *|\cG$^PRn:.{}-oskN5Q 118-W  fdJ٘ )Olz~ȑvѲF+u4yx6CrFq=aB쥴;F ,Cɷ<M r72d1 Zam8d~:&ļ))V\@]9VSJu?zMKCER,bq 47,A"9$'eZa}JÃ=5f&?+J *%=A Rd87QeNMe&D90Aұ|H*̕cISXbP&zCE^+\|C_CpTOL%$ (*NVYb/,]y&er+7kPFہ n,xI\4ʊ!&`t9}>AIgvd~5ѭ nopsC}OfdP+h( oHc)E<*/N;>< 7K+=^-Ƕ K!~%:|xp%Ľd?\[ΰЫ GDCT W+Llnob.aצ!ғ 8f}鮥 .;w:ywȉ$Z6;WdXܔEL|v!rMJ,M/Sl.1g3[c0t)^ZLݍ *.H{l= -Ŧ q6Fo)|KBrX*Vߥ=z^~΢s?q/vAʚ[B)JL!YVW+ʚBID%1@R I;q6x ^ 4͖zL섍E}?v$W0pHo0Fw.\[fWM~KI:R \"Xivi-V$fv%(iY1ul|coex'O @cʓE|:fLwmwLeŞZ%?oެ84@gě.2Td3qlTnZLz+딷 d?]CXj<$Qk\( V5`SdC^XR<1LaxǠ0wUﺯ#6N87g]׮{"R >Pąnh_nb A/*&&=4Y.M@d]@U~"ˏaSaF v7#|TH&?G;:!mB$3rp_u^B`XD^P~5@JWU_C֩NCV8jcWq,>3cZPBCp+avV %{[ź8c5d~HlȒYgb۴8ނm-- 2"$,rv.WZ6T@Sdms〝R:(eGR@I/XQųF3=D{BƏmt "wO!`4D֞,gה[6 KbP+>#+3DŽ%{φTDu!Ex jsל 5,-a|rU%`z**>쭛kd!FT37 FmM3 /gj9 p3M~֚_,D6Tr[(0HNz#`m6̢Mci[#5 Ni#f}w 6XԈQޑ !;X:{F|DIb`U{Fwx5*ǏB)Vy3ߠH%*GQE?81`;G_-9IcX80|I7 (kIŅ24f}f.ϡ9;IwNnC[ >lhH4 _Q5{m6l(a tP4ӵy{FEA[R]XVAz.ݕ[ކV'׃OtL4Ѩ+ҫb߄TUƔ3\"Pl3E6ȩQ@p) W6+VTXL~)_JU9 t4ֈOF}vtU8pL},9 ظglɜ}ȧXuR]ۼz3h>O>5qN72 gF?|h$Z|ǬSM㼩c71мP2޷p`$+NAP&\,г @tG6+ /nꔰ4CDߑG\-0!bSiTRx:# Qv\W9 ޻U c:4y^y7AWJWv.8CG=LU<*ꐝf~z d֊rjf Z6uJ{M*w'ѥQJod 㨞_Vi@ec"H~R.à"X!m~=Qce~8s|{t&+'"_M8Kd.^i*dřChx#(EGvhuF>ջh Nn*cu oI I (MKsi?V"pƜ{!~K׀ T{vQv^ynv芏n`V Z1R*un JQԆBÙzkN MîJ$>VuȭB.f1G?zK@u.BEf맶8n\*MsT{ [v>o}$cXޒMLSn #enne0>L&E3PC`ձ,2#.7ힸ_%Ȟ HgI:t?Pa2ӿDBtI+n((f!ɡˬLedߔO_BLzrY [ʒVy 3\P0#(Bl(xa`"G]y%xc2[y10ӤGLUhmPN sd9$+Q$ZEuB@vycQz*+Sy}sX*Q4щ+_/1j<1^$VCY{iH8@upe)B DsA OpG ̂P^g_; mբ̡!U`[큿;=VHğZR-ׁ6%F}U*iLŗ=k*bo8ހ"]lnc(K -[Td~̾՝zStفXܜLyK33\VoD너!Pٞ !_7؞l!bRq }űЪ(~,'6pd5 Sr2gOyK]<:-\y.N>{rws%!f 55* yK􃕒}FW-3N?B) kR̂=iaa$#z+kQIoT.mH~>4 v- |3h: N*i{l, |fv L pKCan+ohKյ[Dɥ,>弼}I vO'Cь#OEMֺ^58=#ZDB=ls]B8?ֈ 6卑`75>2ӓd#%E36z' ?QW 6icޢ -}U%?HL ޢ BgEnpH8Ql3(vж# Y81% w2M݂V``ﳁ v'!li xأ\40nǒCQ!(^&2 ~?S)ryda?;,qY^zn|+PX]L1k)GUKsy7d4(% ѥ;>["KN$D!`2XV7ceXve_Yș,~YF9I"x= w+DG$nJ8>EvдqŚگ8C (#noK8X/iUݸ_נ'ZoDg+G2LܟOK'/%ͯ||r*pD2*=fe fB;CtmH'N_CTppuN_Xk`y3܆+ZEx%Vy |kq;z^[4v >AC֘SL-z婧$tP)Kp6PHH#l2 ~g[l:n/rP&Mz! :'6S#$cI@ 5xs%eL X"7]>ZNY}˘2r1Pjo2b:$ߐ>\UN4\Xadp&h*q:%ȉ\i,%]W OkJ Z EρtIϖr⥷i"\Ԏ+,2$f'IxGӸ0G owavhh\4ZT@.mydzb/]=C9U ;\0,eG9" jԫi?ۉbe" 6 AVv2վ, L\{{C灤KjHx( eP!meG&_^䣋q}@wɲ=cBDࡃlS#_,+(Ǽ[>Sw;ܥ#ֵ搞`ߤ2cʂ'¾tWD,XHEZ=Dn}m'=hJ?~'{F>n84~+SjmP^6U@24ׯ[ mȀ!)͹Lih q)BiD@]D*nqu* GG'TuuT0ۢg?!wR2$5( is~,[GO`H=:# M= UU{hXT iGyKOn-ؕhδt4EaV; [uc㏋]ptdw,k,=ay$95|CVTe S*rF萫ρ-eCG~CiC1,<8}g{I* G]JX?X<Ngz(3[4x)57*:-tuI}V t\DM~]PD e7~Dݝf<̅^ 0a\rۉe96/'>KjL*-JxDZ`TʍMhBI.-jYTnϯT&Ǭ OxݴQr-K@3`9ûhXBYa! q;+?YJlI]^`"mђ AVǍ)>% 5˺SjL/ⲱP ۓ@B~պ 1< Wr ʚD A~> ]|g/sXK,hAH30 f%cjH\5?.Am19VTl탭~,HMB6 vC].2jhٰ2Ӻ*>:Y02Ggk_||L?Ko?.L;re2WZJyLC̋i3 +Xf=ŭz_:a+}aSbGEc ~ ]SVѳ0ȏZMR䩹hb` NBDSl~M8ނN$u" MgˆgfQDq49'¹Ou\eSZ',P"=j#ĩۊ$.P=+py|v䣗'e[s_վ~@1 tŇgYְ3%Zz /gk=7UF1IF0/Dq{Uf`36g4x wqQ`X_Ik/fxN%Q % 'զТsEN3^ SM[r ,XOЍ둬yjgpNE,Ҟ[Dd .|ZûΥI@`ʈ`-KI;ƪc MgaZ;dI&3sX0|a:C|IGwEƂyGB;m 6¯Aw u!]ݞ뼕/CO몈qL]Xα 0;m߬/8fHSQv?Fap>veJ~[`ᚗRZ دf+~ک']O{9d&ağqO1\o3"Ϩ [)"W_b2𑎠/( G&mPYH`f40]FxD_wW~Y}wڰnDY7Ǟ q|NByK `:BwW-+D)vژdHuJxqGJhC{-Uzocw[Aa}ȿ\'փrNWQ':m^s\(o0Ɣw rFRAKw6ǎ߯CMmߏ[n3Bc?ɥjRM+ m'&jLWo.W@.No_oҴ)sEȱ 壳:CXN*Q@6Tj>!̭ď~yJ r&[y5šmISeE£}XlQ. GU"iÌ\P1f[KVx?\dv4*JL6X __obg͇)›>O2<`U#7&=p#dSնD{jxhG Wxs زLpO 0ue L;I^\QcL hnC0.# JU{'AsYyNҽ.וp(O3+}184qUO(Ki4 3a2 EEiJѷř[2Ya'SvۻWnnʋm&OoEr10$9#gڃ,y]> e."xV&A]c #0.倜 3:{B4?V VSIvl,FS583Hi X0w4maZjг7o0x}zr5{Vw{b 3I+cU5Zo:Q^?"R@ :v *1dz'֒%VLHk\,de]:_}B_|M6}ׄs94vN g&MHAd0atұ XsHm)Еdl!mIaMIjlwñvX_cD_N/ U0z[*/M|n~.رnu LPAXΏ- nV64O3n*5Ξ)湶yϱ`e:6/Y wcVHc|aLFP%?ˌq]}nu[y~KX?8O  ɝ|vMW(- rrahq'JQc|ZOH+M>I5I^svGD$uHT8  CVuf?[QƔDJEFKL*3,95jbNy#@7s-O (}U|Ϝ: )I[Z{.RAsB˪ yZ;3Tؾ-/Int9(kj,@iE ݻXgо|TV6&O'Lc̚7HkYdn(E3nY =5VvBiCHk olzK->UVyD ."-3yNQkXu{=`*xZク}6A EVɕ#OGW:l2Lڻ'&Fñ2dM!J{*H4'|t;nk0ͣ!?v543=ˢ>O3y#̌LCm;![ A@p"twUB_x N8uJtlܰON²yg1У/kt6EKl j^}L>ie:2:)f&ʿm Y{WګyWs֎y n6vzxAHY<;Jb[)t=_M%h/  ‚@DЅ/|B=El[7.3@K?gLe(b Zaewl@{_C|dEzw\]K}2*~AdR\o# pݛ2 E=[Zzu vX&N[l1&BC8R'd(a@~l_HMzJ>іҨ,!8ne>.ַdQN8hO\l1sEv)OJ†.1 ǃ\w)'&¦r_z7ɲ卖ړWD(n? 0:S>$P!JV^FqCM1u@V#rMEad@31η |f_%G8Ywtz m-qo*HX; -r_  ݶ?P]K1JY {+:oqR.uM2.TJWE$дQ|(|EY*[}fcaE*ǒ7u醙~C:RÜ[6N~yZc^Ӳ~_Mu:oMd/Iɟox+39es^D>MÃC+/APSa}B64+w?޲KD`yhcj劣Lڒ$~HUW(nj5X߬G6BdAfXʫVz)0<>c.yuכ2!ha#I$Xp-)WnRD ]ZGj Ҕs 05tۺH9EG+Jp&ˎ{}-;v/t5 >z2Fu-$GTQ@-?N15LNkΔPD#_תˋj=+1 q7;&'-a/j F:dSh=#|ԏþlx nS^;_(\fk1ÄqIBz 0DWȻJQX颓]-~zw[wk\T,;y((߷1i\%m^ Sώ*҅ee,2zYCp :)'$h/YE%)btQbq9@L?7$4:@L}U~ٴz?Cd2 )07GVʒʠj5ՊڗZo8.ޝ΄mFf1Hma#X (Z{6[N Ͱ>Q4@=lCiװbZKwd_G}3)c4;"F=HA ҺLpH'K|n879Qлɴ4eLnγ[M~>Εl3lNf}RLCJ~q(,v^b5{5o^Oa ~2kmMp6;U_7XHA柳!&cek뿦ؚ3%5J5ʞ{+5z͡a %JR/Pqa%+Fv/$~ReWVBnEl VyBz3 s@Vks(漵&I%| fґ4[=`^o5TJp@zI U܈.E$F;)i zNOtgRƷϔ|d7G79Mu`#};ީS_'nr|f1X }k?YsQ%_[1e910\td:8n9.RB2L*6:GѹpnCxtcor?QR86^R5^J,3Gct-$JF: T"q ZJF*~G^QW9k 6gׄk}>&^=WIo!}StTɔp6]O 7UQjgz- ,4>AVObBU 99zk #fj60`Z+&߸r/8?'Z{ gh5DW0loV d iC찻V#=Qy~IȁΖtpx|CalB:0$3{B S JK`sh˲< @{ڎ%̍i sz3Ck^OlI\E2L"Y@Hid^OE>[t:\H~]nN9,MhbuQdU{F/o]IC0Lh}p$_1d5ӢMAC5 \#"sޓXmU"e%YeSz\n^4'R'Gѩ  M. ݰl $ꜿ#;!~%M",nh\)TvtpŁ%€^h<=j?'j> ͠x;ϩWOB4CY'D^˶( Uw"䵑< nGw'>77Xպ֦$%Q!(h^ Qrr Jɖ\C1t3Ȏ#1*nVs܉c Eqzb;Ifr)NOa?])7XǬMfC4rQ(Zsv=ݪg$$fm<)_Cc n"9 LZD_wR@- W

M07eC auTvC[1À :aId,-6k!&{cN(m3au 6sàӾBLU"1Z>&FtZrl