rbd-nbd-12.2.0+git.1504118058.706f78da1a-6.1>t  DH`pZV ׸/=„d4pu)K{A0cQ|oڟ+tdecLRK8lE۹.ʲDr)UȈ&S`$Zތ )lkT̮q%χnR Z82 jtuJo~,aJ;Ў>BR_aĊ2*"Bj_cIS;{qoSȻV&m]EO,MĀG8Ô~3OGr?.ʏ&;Pa5fb458b2b6edaa9cd95f81e6675a2b233588427ZV ׸/=„ ;_YL~G426oZu"D[xqaw$N2IyKRN|5,` B gxtr󊆪^hm.pq"J$>)t*C!+5Na GЭm1QI8&*z='7xj'Rf#qr7 Ҍ1j} ^5GCrkŕZȏجJMӰ6KFށi(>:,?d + / K '8>HP T X `  (R8\K9K: {KFyGڌHڔIڜXڠYڨ\]^b0c۹dFeKfPlRudvlwݘxݠyݨz Crbd-nbd12.2.0+git.1504118058.706f78da1a6.1Ceph RBD client base on NBDNBD based client to map Ceph rbd images to local deviceZVnlamb69gopenSUSE Leap 42.3openSUSELGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIThttp://bugs.opensuse.orgSystem/Filesystemshttp://ceph.com/linuxx86_64cPL큤ZV>ZU41bd0bfe37a54beaf23e15c49a4dbc8f8c5ef786c924ab832649921da3100404rootrootrootrootceph-12.2.0+git.1504118058.706f78da1a-6.1.src.rpmrbd-nbdrbd-nbd(x86-64)@@@@@@@@@@@@@@@@@@@@@@@@@   libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.16)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libceph-common.so.0()(64bit)libdl.so.2()(64bit)libdl.so.2(GLIBC_2.2.5)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.12)(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libpthread.so.0(GLIBC_2.3.2)(64bit)librados.so.2()(64bit)librados2librbd.so.1()(64bit)librbd1libstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(CXXABI_1.3.7)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.11)(64bit)libstdc++.so.6(GLIBCXX_3.4.15)(64bit)libstdc++.so.6(GLIBCXX_3.4.9)(64bit)rpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsLzma)12.2.0+git.1504118058.706f78da1a-6.112.2.0+git.1504118058.706f78da1a-6.13.0.4-14.0-14.4.6-14.11.2YYW@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.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.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 SES5lamb69 151558692612.2.0+git.1504118058.706f78da1a-6.112.2.0+git.1504118058.706f78da1a-6.1rbd-nbdrbd-nbd.8.gz/usr/bin//usr/share/man/man8/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -gobs://build.opensuse.org/openSUSE:Maintenance:7651/openSUSE_Leap_42.3_Update/bbb3ebd764fc3038a278d3fe4f7b12ae-ceph.openSUSE_Leap_42.3_Updatecpiolzma5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.0.0, BuildID[sha1]=fb07c1ebf4620570c2f51dcd96eb0971c196a90b, strippedtroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)R R RRRRRRR RRRRRRRRRRRR RRR RO$z[.v?`] crv9umjW/UIT.AVy2S'Ұ'ǿ/rG(=6_g,J\[@_{u13A7,̔wmmܟC>vZ67 'Ǫjz M`o5gbPaT7&r-CȖXWV"廛O{)l"=pA̳0|B~?4jh1#M 7MxrCeGkOC'K@Y֩Ys2rJ]Y.F[0,b`= 団&g䠬@U7f3wܺ7v̙]@^dӫdP[T}m^oUm= Tt/qc ?.`c,‡qc#g,y.nA4EPEiZj2?*'lC)y}8㊙Egql| ~Ӵ洄4Hc[tTr`$PJ튞N]-\+SJW%_(%R[֝`MSa_/PϤ`kw='T1Wq& ޛy)x$Q36v+Nj{U4)&-4/paF#.2mZګ {?!$G0'a%IHՊ>- 9wg`wt q[9lەJLѿpR(D+Hm-X"Oe'4khXZͧ@k@gwyjAErA$/'H4gs%ƴ5>Bޖz'c6f(N?tثWw~i=T}+`#ۓ&XXt( #άd"[,ѓJcifA#$qj(b=XTr@2! 0F+O^.H!Qf#OZֹ|?oq^A|?; 芇&,\L<>&!o8AdR+f/ 7`u@ 6teb)>b1`a;|7EƢ<4EH>` |W^q |<JTNOBl,#9l&}1hKczǖ>]j`<"H./3'-rց7޹Cm(Qct}=Gy{Ңl'4MU߽ Hz< #.=Q5 Wg $ ǕĄh"rq<:T:$ F&[^'4gn\vuSG,:^_15?%-C 3! '֯j;AB~ĭ٬y Wlg#LJz2vct/ g^OFEt*faݏ[VVC{JgUiJV]i8/ LVUGdpN_N\GR rA|.NмuM' Y@ɞRGNv}4([T~@@w# 9?~)NYjw%YN`JdOѻUND538vN l \4L,Z~hjc0 #1#wӣRfNf2:qSQ[fa+ǷNuRf)8r$O4>D6! nO }6\swT$8뭩}W[-uYw?*JAhx gaH?m+=ΫxR8;Qb%߯e9#it$x<% g{{Ȼ Ƈ'ʁLxwBb&<[h]n\/5JN݊Y&0[嚔 `} rӮy{ΐׯ3WI!|h *w9@v8B09oLN|yp tI4 scWj-5s>/qXT<԰:]>+`$V=:Z^…@e l] P`@zp _w;(8ci T 7D G򮽧ḐxwY`GX=!Hr@쒈 T)--[4I(dݠYvl%lI$a o{ }Q`]U-80 eQY_]Qz2}DalgCo3|*d"3cO@@ak .)ɛ 7+8Ba7u)#L^svzTy8]IX߰<kԳ#(2TH/p砽yy\pJۯ'0e>u+mdg7=P"j0%L1ꩺl\)":MqʰӚ"֤XK?-],򬝗\6F9'+,WW) E;<(펎[]QvڪgѼ}$U%=A 0Af*Cx)Oxz:+l E ˮ6 rQgeNsl:j?qB' G/Kq=Ya?epܜx~S^nq@DWU"fp?ʐ1%pjH eσU^{c %ފ7D_dF}v]peZAbr9z9KHkg@&Wmk,"lFai< 95R*%jkmU+V5ϓ/m݀GRrd> #J6TH9 .sج?p|nC1e\WN8g"h̽ Z=ZnR'Dޱ$wW/m!B|_4ɴk@B(R[>0gM(iF\ЎT{kg .D)a4h5xW" a9ue*ðCA*Rc_:+T$CPϩV#bPw >E` N(h.cYuc~ y{I~+FWw|^# p֚ك+(zTl1n!\@1^y(V]v"z96XB^董ܘԯm4í;JU*(1#f9{ƽ0e\|eH ;ǟOb !58uIOw1rg;sD2 OBbdn(n!M}u!$NcӁڱݓ.t[g"8 A7T۫{QAzK0ߩm0b*GQI`:&[:m2;=x́$C).tkT>\&`@,5Kavɞ ftOp|b >0PF4'/e;05m2wt\# Hs3%F^e+ r~I ݍz*/Eky9[W[aadV$QCqM0 7PU,<[>!yv5oj(O13 pzLŏ~C+gR]Wc5znrQ>~ ~+r ^Y7.ئ/\r|8Ր ꌂԐgh+gy5)*kP Qtw {9 4D ݋%|j@niѳn6:QbύW/"N=oNwη6[N銔sQh9^4<|ͪhY yYr5۱qNJJn$Ѓl"جZʮ }ۡShoڴjJvဓ9䧥eM bd+zᦟh6܈f Fiܽ<1%%wzux cPNJ>Sz} Nv9X} jٻ"GrV+m|#]]15&l ^^5hap$2#ߝSAN|EXZbK]0$ z83-y UeюKý ?F槲캡04])1O|}`9?w<1~BJoJ{8m< @wa+ y-2Na0ƑCt4 [':mHP|WDG}krϤ[2z˶eeXptdb09KO3IIX<ˀ v0:U}h.՛rl3TẕZbI4:SWٲtiDJIU$&1AV>ǯGa^Vd5Г.8TkQ0vb"#DW3+| 2ZuĊ*{clᘺRF][.tmyv;WܑͺBx'J2/~ Y24tP*)FKj#e^VOU # u-]mZC^H3j4˜xTcB.Ko_e21}T;H7b|K 㜮̼W>Yv"SA[n${B/*blL,%I|[{dW+A k=` ]vM7C3!@}t"RIm/hv ^JCM/tι=h]R\6* CCET\KC9PxX:Tb%hc$ W Ekr~#BI(8 J~|kAO`96ՙi fC.IP”0e.P Z_-H c:aִa^PAi{~߰4SRvt54]zS ѕ*`1}a:u2l8Ê7^5t[E2ۀّ* q7\}:8G9aW 7:yeK<lRB;;:I&;Z MzE/&N'fC;8W5\!]49_nBz~܄:jUinF1'dAÿx,tZM+F蘐˜Z22H 3KOc\# c>@̭؊|_q')w䞁BkH$% Xݸdt`NU]^l wgzFSbsDfJ:kEw=P vBQ-!QygZ5*v# lcΞoN|+go㞇rF.)D[!(pJ_|I1*"tK:;rj4~;ꅴx 8*i ?kJXUq9GYlYR !͉DHnon~|V^x?2sX&$KZTm`7@A.=c]7DMr(KG:$!>_y~gp㪮!ܫ;jK?] *$VB/}uR .ƦfUMFAE妹 `ǕCklNB{0^\M qGpd*SN"֋"Pn8t'MzVuŧ!5zl㽬-HӛTu1U{PM\3~ oD Ć} Đ`(scRV])!MۮgF_V(+nWS~k VQ`S ³猋XJc>02KF6sUc자Gړ*$pN7 ks4!*$k3.hjg^ ;o@IkVAK,ʌUл[D:7E鋺Xxʯk7}۪c@ ('e@Jnfa-dyO dz`N=E{L?<&ɒ q 'SplI׃ ka$P_}L@OXf{1?pRV=ĺqJbƦQ;ADNY(PKmT@j?=P;h\ قXH]Gߢcz+(<>ll`k~%Tn p[,jO5.93+?׈}f-zA/)gY&CC "a $v0 rwh|vV Fj"1<H ,uK US{J{Ta}wK  W|adJZqMIޔsdjLu0@L*U{_N{ѵ(-KI%X8$_-n;EGU/nnkx=?}N@6YORB>pUʵ wF+/\bgY;f=8e.x[.D$.xGxOwU+X)8g:`ֱջ;x!6ҜVW>!oU=rD_0i-!rRAٻk] H#],d>B[~d~ax/ (Us~]x,ycohz5u0j8 b,IГb 7t}̄Q\f'{fuЛ^dUݑ{kyG׍(|O[yHe⨂~4nLh8Gsh H.Yz-ZB4eƀtjȃXq,OZ`|@B6sx\ZD0pȆ.XM}p`9=Ą>SIjMH2(hsnS{.j;M,2UrGˁ9{]Y5f1 RHo4((Bdδg .?6eMBεME'}=:' @q%BJcX$I']_*|9{#|l1)s7KGG-8ώ͞wơX[Rn;3U+ٕzMzF"$",S1 0]Яr+`*6%;cWD+qޕ'ߐ3#\(eXC&b.N ;SHoЫdB^VAC7c'~=?qW*A[󍥶˯ Or,ʹpkZQɷKGnc./H [vO_-tenxH'; Қjp1ޕ+h][|Q˩p$}B KˆCam7Ʀ*Y,?kq속f"*TJ;ń KRAeG쿉"h |ZB.%wѳX { ۆ΂huH1rck؃./׏2FntF:Zf>An7~20&[k cSJe)p[MC"Q;րs&oҌ5%{|Ƒ@쀩6c9m^ 0xНRT΃8׬11Ɣ6 ' }?)Kc _#JLVY\KW %?n#XwA%ac9Q'*ݑ9VCS>lMI[ف|ͧ%oezdTXsM :=yep ɻS|zNKͤ q`2Ny:8mq[ @M4wgjs! *<,FLĞyMSjXLN4YZ'P9.4KAmX:5$DVM LA;'bY24$V%pTexڥOKժ#gmߚ\dBME/nBQk3zʣLVhbawߍ.һkEّ &o?5+n p'uSGP""cjuk*lAe|N3yBvlO~@>QEK;k^O8C$=qL6[NX}עf%'S&>j4yCzm9墕5'lo),0HH,|4߄'+w}^(^,}v0e mq\'}楄;ק#Ɋm:G2iR1A4jIPUSGaRsE%!_gNtRw+MƧpϪ7a,Z_ogҲ'1{:]-B,Bp_롧5$P9^pF!`>m &F2d0 Ov`W+jrH0kHqP_ Ww7GٮOr!|]C/6<=QU* +ۧO Alr7S;j* 3Sr&QU.:ؐlƀk 隖J JYEbQ?An}S9nv;T7fژ>cQ H)j>q8}\Y\,9љf eKH%`2iB]-XYc"JxW4g&?~q _́+auL{*}{$QY B=?b%Lb7UiDwտ& ΗF+lJ' 5&Iu^#PA'hcz f066TeC5R-*4:m[m 688{0LwlaN{mx]~`%] $ 9`?:~dl=JS2٠_ey Yma4syfQt.J6&fIK}5h*a`o@gXΤ{^7@K\Q5“7:l[Zs[į-|I)!ejVz|>؆L/QBEغ ])ST ?Wưi\v KAW׭ Q1f̚M2HAbJC 2v=}㔃˾^6$*BLI\(fʗRI')Nȩo)Ei\n9oM>ZWM%`b 8j2_-κQX]ROBGȯ4^p8?tqZ?O6GTπ|?@%Er5V^lcngvӉ Ւ5riLO?EIнƉך~r*zy!=loOv1Ӿ}kh?Az0J5ll)/oB 7P`%EXī?ӻ.Ѹe kN=y ;-!߉IH0aK7| w:C\}7ōH5G){-O0;@kBQy5ACt -R$_ m'g~65" c\w\Vu~{^/+Cna{[`9fvĊoj p!2»c^!F~CLKi=oHoRٶ>r4XI#rd W/m:b'B!T[1%=)E1#D5HYe:]΢#vk 0mkk#"$N ֯04|d,lY\iA,Lۿ 3u;PD5ֽ쳳߅$1^5Wc_g=W@@Tz|.կBUL>eЦo좳  2ZDXU˛+ڈ! /D&VTqna~UNea4\m=V\}.D7Ϊmaҿ5-@oٙϧ؛j~IﺓI setd\xdo<ʣy1gw:"c7vC L'ׁ ?* + z6qSZhRA>+, HFߍ'p L-};(A i2o"F}^)B*:#[?;Ю)x:NqxIJ;E bX)K|bP|cI-80qhbF$4bdHyj»d#5#) orCV: [.EPlwit0oQoG~"3rCͩosz#XJ[,܁DBmN4%s.O4QTNWW3bpKAQL %Ui5n jo=%DKZeOi!/F\@,Rɇ IDu$.ޫHML鑗efx+t !#m @Q c<3Cu\"û`q dCLeZ3|@=Cm;]5Es]W$N32apim a4|b[D<8Ɇ|bQ;yĆq+ե;}wӁ4$[h]/w%(>'ڗM1Fl%'2(XDAvw k36$>VgR"Wq|)N~`ʼr{!t@K-*eagNQm PGW,}QnBy\qWS˿\Uv*":PAgNPQm}o풉4H0v;UY"Aޝ -:2Llf'a_T}mS9:*N M./(^RJ>\Lv Hר5/jpU I[¸(o n/ǘȕRsTe&F\'ϲEeD|߉m9),7,']&U}!xT-qFjׅ@N5,Codq`١Oy3Q9?=}"7c>N/CqFj6@A;jPj5cl8ZQF?Ҋ: q(Ѥ_e 0xmW1LB e {^ ;x8Ӄҳo1qƢ.ľ%7ܕx\rŚ,o6TŰ;%a]AhUtTzoWHM4 j^%hG0z4~Z&"ֶ<+*EUx %+QTEUho:a2p=8#Ɇퟵɽî @  49CͰv#{I_|?{\:b4› A,-[ πn=ܧ Tȍ7"nG=dwUwnoی {~3慘XƔ6 #~F 5n1n+Dv\6C4KJCk #QºK6(&rqlOS dzZ zfN6(a JʆuocfUZ"'sf3uV_|=w%[r +!')@BBe4 zXu㿢)JTokT"Ўq cA1XP/O$ 1;r\7~0"]7Dg(؎Jwz?:]r`=$X(zoa]B.fȫCFoxS0(qΗ\Mx+4E~!/6wkZ:y M0?o$3$,-g>Api'@"C-r"S~Iu#lQۨiaɀ83.+Ϋ~@&k&3ഷ˭[Yo}G[EN[Ɨp*7[ɅOA9r7!¢OSd`B=>ucqⷬ.#k :dTj>X>R, hU<: 5@0wӼMR9z1]0 ) ~4aZxfʫ#;mkr/F`'ZڡKz#:vadžRY XM>!^Ѿؙܑ]OrNLAN7@g^ebe\DBu, C\]xs@ajthu(Ebs{^B'֪p}jZZf9/C%]*OE#쳶y=bWQY̪T$^5B՜D A ҄ћ]\"KNx}IZWCv=ttH=LH_+O %^7lZy S:c~YTdz6´ } sJ*VYNB EȒDjJBF=1f3sXjQ:ݸԍ~FȤv;'L6 zwQ-LT: or >(-rXcr3OmF:-V"᣿r{@!!' g~4+$mĜT#Rx!u|2x¾PFH -C|Us vɢ[X$WFB1cH>CJq&a<vܔTyٷGGomkA11Ky.>v _'z0W+(@b2 k=WnW{fc C6 JB6oA_ӄhrJ50[ӴO<՘FqNMpySߜׂЭ 4Rn&[YE`+֫`kƛ+^Zo Agĺ$ $<Ȗ@Ikoc K M cVrP\=;޾3UxKh al Kǡe{aOĬCj!Y"DbN$?CɅiX=VCk}sL䐋&ns 0֕0>P$i@a7L1ffngxJ0╖f߱w\^u&.2)ؗԸ\Z,_,:4g-z owι3!j[}>dX!ɏ觇H\ZW"3q1U+遐vxL$A]+Q|.Zu/~<&cbãWi!$O@@*)<8|ADh'ٰͤ<йgӞy3BLMJ3|g"n5bo f nx qbI&-;7hA)rK_76q W~#Rwwe7 X |Q:d}ۋ¿sˏq<7 {ܲUd8®s5nGf4}73馛_N;cTEӳU_ ]5 G X/ʉB"D!>5v%"lUƅ R>9*Mdr-k `|!yݨ\2WAe|XXiZ$m|F5`7\wk^>s`q~ ܠ2ytI7.}1|/:ws_OO[1ƔfOOIpui{ [~r#z7%H-UO%I5œ#H`4,!oW ~4yڨi`/h(i`,]@763rRҔk^*%R0F<,FY?`OYSt0)Jf)=^/?~Ui_TM9["p4mj-#)wEp5?>)~ <Ϲ :_>{ZK4ݬ.&XtTm~idX҈X3Ig5_vUwF]-[" #'$uz ]NKxU.*c|qeތ{\[z: PV 8aˋ~vDn.?T~3E MoA_|OHq(!+&}5,G2KC;HeN v}qq*H.:N5/}E-yVv) 10l,iG3ޒ(R'MTJ9"ƪ@OG\1(OImtl#^79Yt:[t=ZI;p!NjFGmYw^ {.(baNV er&40pŝLFɖp dϛ^t)P^V[a]B&zN:7$b "{r`/;,mD=QL Dڀ(][m8B#5 'O|f~kiĝ0$@Vֶ]b60 CAveSB*wc=ړ1 ?ɽv'"^7IaFyrI <,y9mfdIBpj`ox2Lf!9jƆ^Y;u:~67Wȭ=\OɩR_F6YjȋjOfub+YWo&)G.{Gc >4 Zap-OMu2v{qsFqp/TCW(0b,g+e-WZpk(. ̜{D5hY((,[#?ܟKR*{w0X/?GյMgH ~:j1x!g͍q|57BfLlg0CAfLs4P|Ti>v3q.ao>iF6 cPc$.짟O0[ѝKBUo5#(8̩C Z2a+{H @47 Ǭ'u$v(Q&ud{%Mju0kmE;-iT+L.s.@T߿ځ\ 5}D1HHxqQFå|ԁwK2I)AHQ͈GIi7f ;ؘT ) 1gK6;F=?XնPSEQL QG_j䁻Ϫ2A)#| XdG0 j6al?nԫKa{'&NF3%pƁ1%jSRK2t&0U;.e u@] ё:yn@C}<Q-R{jl-A#5}: 8zro *iɏ%33K:D3Lƒ*,Mnh`tv$YtX﷉컷 _rC2L:Ű 9q: R7'q5E!h[+-ؓ<"s$RUU]ATvz 4t~ 8~Fp襖yowfPWiN!7cs^i!J `oZᇆ-!^aͳAޓD'N\GMClOT3vJ0SuF& e:YN| ?읮P H}*7U42y'9bx @CU"JA4 3u]:\jrw<3xcRVqgK 8fF8!!VV1k- yd m|djrCO 9E%9a!d%"Pwps6v)$8U$ҊJS ۊ|iK89C/ac'y/U'.j[_%v*IRGfV|:V\+u:E.f INl*v t{8!nHdR?_ _k;%_2SHGV_ e 4„zƈ:w㋩v| 8#{|ir|:@c)[>&R: 3U3Ek,g:j @g1pyQ/x]- 㨺c?fW>gweoE^a?T ≪uw8U+FQcm>0BעNT*ԍL{,J/ig1ڱveK<{n  keR8\rm SȞf?(IMόHd~S=ΞdcMymR;`C'P҉4+0v;3e'O+-#X@tq:8v{N˚k㤭x:펏~TaKv+tvT(}_˃~gd"CXx /4aFxbAsE8-E2 ٽmtF!{X e]OP^iǐP:\"Y︷xԱ=?}eYʲaF$GRGGkګ31I0q̲mRQ\oC5IxqL4_nR)iڧa]iį"#alQ)FΤT HU\մ3<9%NqYiMƝvPSK,L$}6+.a"jsTb/%#*87֛K\ow(9*k?( &H3 LiFr@} ~S7k_0]'I) l^+^qqɵ?װlȝ?=K',s-ٙ"ӻk< 6va"H 'jڌG3@sL2j-qz[c :8o@6T\_[z,DY`wn/k ]fVїbZ0c:6*7DmsT8r3ݭM4Q\aJj4x!y(62t,(:IGulʔsr۽@=#rcG5A'6L+aJy2ECF@iտMWEk[d&<+gơ4˜ ʓ7jXHR8?3,EŞ"k;I_?Gn8r?W1)X8)0'"{i<i4wPk0j1DO`'dY{vAxB7D{OO*W)47&T#V,sLIc!ILԁ':I+NYrGb ֙DۺЫc=s=Jov+d@7 }j5C[{qs}Q]{g^;;8Q|h\MU+Ow9\%ȦC h'i4F V>,]Jſ3oMtjSi |7&}fdݼ:'"G郼Ӱq2ZZUȈ ҉R1v9]Q m|[PL(X_\48A9Y , mCﮇġ8gD@[6๥#*^is+R|g1$yq{ sgJ v )pJ鑑;4Ÿ`&өFg!Rr^0uFNH ma}ZYwͷ:r(t咹D}YHe!y)G3O 4*݅iR`+wD W-䴣̶`=1IpجSL.< ^4d%(gn7"Z0mF'Z#ā+ۣf¡pu!wpZJnw` 5pYېOA i9^m:mIfUz0cqB﷐$sXA<\ e/F4PVr= OQ^ ֝p@K:Ƃ#9X,A286q&6d9\~f"F772K^VMVFhѕ_q2..u) W<1/˿ŚA&u]er NZ:Jоv/'(a— HW-BؓcOσB['סy@'?"Z8"1Y~ksN/ :~q;&E2"o ov!2Z,l#&ٝ7r&`ߺO_37Єsa(#U6\X"#`<'ʕ+bPqFmR &In +9Z鐞wHz+AF RDg-ZMۋ c' }SB `ݎyC */NR9γ.l]9lZKӹRkԩIM wIjWоR[ ٟv Qza4;pFK[J_!H)k9nLZM]zhmTᱚ+~lҧ+5#`!{,c "{&D(p,Ԣ8F;a rGd+KJ.ƶŞ(,S*!u4ݽ jPJvuUlE k8^]Q.g~h ؜O?zKTj!wn<Wh {@jN&VC}͂_8tlgY3/ nK{{ӺI4EC}V&&dyS'<02Ұ.Q $`v/;P3?!(`)ٗnϑbSu{3]l%0xkTpc̗n)nneY [pAe4>Rti^}CU{ 8JFqhk[ntWteXUO"clp-'&h\qb~YP,O]D6rZ`l\C0[SK6E jG029=z7.z4SCxj T52|a{NO Y匢Bt߮l8L_\YjqwQ `a.iRsWR؈n0*7T]{0Y1K[l#.ro/jl;ںrB9i_s@|8_f{jbq~7gN"O-|9a;_2>QyIbş7S}MRU}s؂ fZm)ؘ} +6~C%u[`ye` yh9k(jZCXx*UM%cD7KHVDxiX5C"`Ǎ~ oAs9>_s ?@ej䘬VF.&q; H??KKL'zz W¤z6ʽJ iKsP 񁂱ILuĤRȆ\4hwр(wM ^YxekF$0X{`;ID&kem<9w?aV{ x6oY̫S6fsV92}QW!RS%:Clpsfq'2ޯMϰj狿KͲռ- ~ ߷Qz@!hj *į*ȴJ:;wTb2wirKF#C65b8Vd\p' dogTiPaӃOСi[.e9l:(:h"j=aK~;a΄?[W$u>UzޒG 6^#RZ} k{Zj,܃BZ/][Ȯ[pxQ, v}W.>B* MƂX:+Fkv3/ewVEU~.fzХy݅7Q -0WrfB|#&֭9% ;sP J101LmA70qk)Q `@EDWIP@Yc*u]re b9W\.XJS0r.,_1wyՐ6$'pA:ruR*a}CoF9{#N&w&xnB@#.2n !' 9sRbW_aP5BYkӶ{H[?b=e>(Vv5ZSJ!%!;ƠϽ/]wd]餬^e8V{ WIA*_XPO[[IL@5Q=ڠqqɸ㖘a*=i#RW^p=!>Q=|k~3~&V)57U$9tyk+Ce8#"Q^ _:̾PFPA(Sa6g(b]܆$gux>GL?{} "+*=^I18 g kێHA̬G ` jy>pT݁ISUM#s < FE\6]K&gSъux 8Kk|gQrĨ bV?;PD\΄6/0^3 ҭ+b殌a͹WC2Jk( @}T6c@Ńegd%uyK85* Ǣoh :_pu<3=rX dI6S/aD >/,ۼՙWsQlɏ- _yTu8Do⾒h8Ɩ -)Ili$kW]{QCsuydH5#|=GwsT$H(L%D4~$d"tU9O 8&E|Gf_ʮ;D\|o¤vP/~uff!%+SE:-K-{j5sߣf$;7:"ܣ gyP/HCd\K%^43:A2Rqw \P#X8"ֽ2}RzOIscҳ ?}+5])>o_M ]8gV f"eo0As,I[+bUg[Pn/ݰT^WTj S{=F1n#h*VkD@Y\p=UXZ-â-|g`rgKqq]h; D[fHp'  8])FBЦz+,5N4q[[*)#Qe[ TP Ck,y}c6eƒ=#SG%gV [=6^Q [iMvzqҥb#<ΨiGEk'dEB A+y)%6&, A^2-' خ)uUz<ژG3| rD Y5ԓ4Y(g-31lgONI_>8h^Kʊ<:qٯݹ `c^?LnX"9*!NMPgéX~5V/V3\;TL*QFS-xCsY~`nAJfݸqKYN8[1(d_xR( L y&(mu%X=\vJfWc“Jbf9#9c gP#|ol Niw ϖ s2JqWTs-_-5Cy䉳2ěEs77nju5B[;|iYȞ.}o" Uh50s f;2g bRΔʍEx~D%S7Ҁ̕V}fs(M'T*~f4(|4DhRŲs`Ys0ɒzl|~3x[b0::;3LƮR%ዼ8ȭ2FRE"oYw1.+9]OG7 :Jz> {wFW"͎?'k +?GCa찙0Қ<4Zn 'Dd ixw'VRHnu Y*WfL piI:l ﻘשa/ ~"y{y8̜Wy5m4MomeF<,slۦcWlڤ)p٢T!o\租)(tc]] fLjCn)MݍʦsΪI)XMټ;::Tؙ"A-0]N JMI "KW^꤀^ںdcIqASόR<}=5?a=Î("Iۯ=-6"ԲM=I}L$'$#VU~ 񈊤g^,\=^kdo9e{Iy\.Ɂ޿h%j39cj {hnY55ya^l=ɥk `@3ї\uvBtrU{hs܎vZA# ٛq=,۞E3s%ZLMFrTh."[Z9*+1偆{< \u4y_mNF#7%r;q+ t9 nS\6 Ejg>Ȓ$enII9ҩe:DY*N<8ɇ?OR7AN&"uܟa;Z(\t!KBaGn"~lM@ xYʓgkBmPcކovmZt^kJS3k }|)Iu⮛ }))e:a̵qݔߛ/p PHk>2`]=*ۭx9) iu$D&;.S &κrNtc}Ƣ"asYFֈS5av {[o;: 'Qh"K] drTK̡F{u'|9]'#k)FX)qN߷MW5IF J#uVuy&eH@ͷFJy˶$,B8WO T19L"3Tȹ"A |Q| W.Aw1[`K6>mJy_`(pШΞ?NsYBwڴ6PA'M[efәA2ڱ Y r>Pьhn.G[wLR0C5{Kk<0 AiRSqcs#O(4.7{!tG$J.f:~[^~y2|5oT>^?[d1NzPDU>Hy^"Uat=de&sSbZ##]pM§f{0D5{Uٲ^,)BJ3=.<\^g~U JcA+?pifx:^,R0p.G1z >3aNocЭ+Gb۬Vp!p[F ±oOb!qV\yC9Ƀ [á/fB#vX: 9TfNJusP(rA} ؃>0WTC&oJr¹;HZǿ]W|@_NG&X&1l0(w TB[A*R\7}Ul`Rx䗄 Hmӣ*ѦRrL&W!IA Ahk@;+:k\}-0,>HJ" 6kY#c<+@7u 7rN,V ~S6GY Dcwx4;$Ӭ??Xb/Oȥ,CRX.H">-2'B,ҎQTg[g. P]A"fE~Nu$M@tŖʣlG,-Ӌ!/O3.e,Hu]Ȁ2 ]tބvcC3;S;E8 3p (P~EiWo턖$2=ɻDʝE!AmElO@gևBy.DGorsIHwW)g/fX0ٖx)|q /J煡vGr 5L6E-Wz;[k4-CgPs~֯YL{$2X}0,r1.GSi 70 vEo⭼scfN큔oab2Kɹ[.&aժX5q3NsEQ|.$6%gaSqR&e@M(ڨu3iKk2G|{Ϭ'[]@X+JaQaRZ* l!NGꋷPt 5ȗة#q!YkVېN@ScvMӊ+J!)`V5sΌr6 j?bqbrO׃hmYE*ntNzɵ0<9tJdELk}=:XNaltQ0{:WZ@%,-3!bEEgQ,b,if%tlF?>LB}JL=폇Vn8isԏflM>%ADI!lĪ64w &)g).N[*lAskHkJ:ۯي5=~n-/#qO=ȂTy,R+pUU48]9QT)7Oج yhp%Yxmf; 8O;;XF VxcI ӑ? #\tS Ti,^o@, cEP69zC{u R{ϋ8L J<"'&-29Z$!%䋒rZ&dm,M{U=r2.hj߅I^=): >.oa +.Mzn ɓA5Oqմ˰L`HGgjU_27P]gVt>OpaĊ5^ Q-< AZw:Q2ri㼕RIGJI ];+94 {?ظ5R Jj,1b.bozF V"_Pwۆ&\3tFj3ő*]x1U1Q7ON|Qk'0m{fJvFq3ҷY \:Q ~u gF|-;/C֞m%5c8;Z]g] < BaW9[BHIR@;ERV{ TMU}GZrPf̎Cm N#6O?TΩ"ꅺPjk˵7IU#qHEenض' P|ܷdoK4IWcnQI:.8 ɡym5H h ]鳟ݢd -;}% d@ЄKXMj.;c>+UL-smDco{lϻZ^/xCnΙ!?LuJ3`N'᳆ x_.Xr;fV/96v~ 8z: LpTuZKVַŰiaD&siCpb4yx P.{Z#/M ;t{ N$ȁ3V%tj4í߳ϻ|W"Ty>/hſ]Ү}/ynq_E13E|O ^.P[t=d4iiyx`6}qÓMCrWX~nrҿ m!, =3-Ɯ>ǃЯ ij [ea|12i?9^P\y7']}nkNuCN oƎD'hly./Jrn0 dڥmt#s$g25 ruT4\Z~[0pޕ>Ї'uV" zOּ9cq i숴6IWo v%u ްrpÁIrx5A)C6KDͅ=8mK>O}NTaՅEpT1\b?U &Ok ll-T >*[x Å HZ1Zu׃( U2HqJܗl| +`?kt[-t{AgextK,`SRrkkQQ[{h5/Ilgyq%o iQߙ>wo W>^![&`,bR/;?F:TJ_:,LGE`pe*:{ aB!2X#u>uER@D,+ .xyp>3]jEzؚF !pΚgDXnF4`a8e92MxzKfҴ$n{H :@[^ ᫯9rV^zLuE$."YuV7奩F QW;w6(T*vn׼cok\ON",H ؋ppD e"9a%s ^yg)ţ;qIs< ^HOBk %i5=7&*E rkSOfH6oQ{[Bm]@³ frUS*jOnBŮ7} `7֓M滹[pΏc LϞ;&%JiK D]H Gn 9+8^<ٓSOMV 7j(2Z^F+~P+ӟbPd;r vp2sXL8-p~yIiH~y}b@H K]rֿkUD 2S_q:*XȘH;y!.=ViйT;z~Z0€,᷵;+U]=郕ЦoP 7h'fFŽµ|UI-7)*XPgǧwe3ӘFгc9h18  vs\P];]Ll Yg~>ܘffr`RgYnE[)Z$~Q!1'!=3r ^E3'qu//+GJ~v ,eHʭ;5똔 BQ`d dWe8ŗV}]:`C@urNXf)ޡ} W;@߭X(X=` {:8 ?gp m [J+kŽ>ѧ{ G6OGUy*eLW8rG0wf% I$' CNE1mN`YWIAUGUJРOH{b5a*/xpIX_7I Yk- L% '8{يȵd B-\] 0ZH/ }m ,ki:ĠEVLv۵ | js{)]Q(Me/*2Zk@%G գC8塉"4Ò\~* &w7CdF|^+";i2HQ[^q̱{S#`ʥd- 39ٴ_I05H_>)߬4Gݪ 8(YtrQtp`Kp0^FY.Df+_ˋѪKa08JzR1#M L=R$BD #4]a2sWHdž_'`( Ia"(~̥ѫ:rϯ()oT&{.Z,e{ CFgpfi'w]?#kTb'}p~³篮jnhc"+ p˰l=]6zTA ӸB݋h/ZKj}3~1E{ИHy9-r1ߘ*C-nWcn&}$ Ar[1 q9E,YCi ÝEx" A xsUswoi'5'cڼ0|Ei, ړP}AY=L*Z?D׫xS&?dVTm\BM*L}rÞg]f_joqj@cR0G'H3u}҈}y~ fq"G}k`PDY9z|f%_cs'&4$q?~oNŝD6 V|VVӌ:D S ^R-+WjjLXeޤ'ڙ')oBjЄl#SKG`)>K/䚁"Q0Aڏ[!()U,b}YAоsƶ."{]=jWA5?uBwGR2 2m7LS4rʇG5ZKHʼn%Sd"E “iԢ9F,M{NG!jjbYLmw_Rk:T}18{ "La{mN",gK5~Xwmf}00O~O- һ6^WrIX@np{vlYP=f`PZ %vq -ﻦ $cݲV—nJKCM JL~Q~b&>/s[d NKe 6#LA.}LDQBfĿU %ʎCwf;Bv9-@~gz-1hNIJX-"q ~0)٠,w>X:B^yêvd?֩hTB F}>>ۿ9pk{\<.T$ns E8y&V oz?!jU)|_Abف2'v"Hf*zfz s 8)|'G4'JL!$6!hF"U@-Eh㐇e\2wa k"8סuƧ׾<*s%:e|g/l]FN'47;R':zR'/DgkTZ_HqFyd0 wHh3\H{ib&*&uk9c=n\L= 1lu= S .-c8zQ2|g-U?kPu/"6gqf\!I9G97?s/Wziz/QsgLGҧߞw@MnZDžr#(klRN~wԜ.a°e$hގC2_r9o|(6*\D-u $Gӯ"8u*WBzvsqVyb@зkYap]agpz_ ., $Lw, J֒[FeNug?5G-CVY-/8Bj'd&$0};Eby_Me\IE!¨9XA!QIt L=:t-xB?1u%fl|_hß%%nocv+ Tq۞ΊgYJ\Q|eЇ!28gc_@ƠMȟ%ߢLvqma*$(P($Zwa8`*jM'ףV)"$B+&=AKCf&C! ,Bu ^0mq/> *G 36=G(=T'OW&A\fC2Pu%6ߵC(Hy4k*jmXҡFARJ\*7'6)YXv, zOÕtLI{:WcN4.T%t?"o1=P1:z\бl:Gj9b&@zP\$ZB`$7|ɼ,Rյ 4 xH#3Es'6wU}AxKdBlmeI22G0olWM,2)KW?rw!8 "6^3!ejo/sizy^zW2e`އmx-t)s(ges]_!yDzfOiU"$\Ϡiª9֩+s)p}yV"P7q3ܹP!<+a"+H2AY^"So[f55Dz.|7f6y??#|"]DeecXC@1$ nλ? 6eaJ,{֩+2KQu-Gc*DԢcs'Tcg9߯Vd_ PWsD7,( bHcw?ƷD/m p"h͵B )47u4_|@xt`*bKߔ,ŧLႶPR[l[ysM%{hnHI 񝧒|V 1F+lQ]6cg UĔPYolɬ.)==x#gҪI#c22~œpGW{tg k~St1͕oPeLQVMl̼@"f! qV#q ɉ^u"6'H.Ok5CTsB>é';])Q*%\cߓ<=ѦBg_xǙ=JZ[J7!Ģs2Km琗!)n7О (A¢SXe rRj wEO`*{Cm>3FJȂfz9W 4. 5;*KfG50T@Dg n$Xd `w[:)f Ν"^S[ o p#@-dV$dE٣8p CAwҟy܇]$y** w3=V TjF^ӟfyk!45%o 'Rt`]|Pl<3~*yZ!~ ;Bi6K)J ?z;soYo `' I叢V>GΖ!}qюS,W1t|I~Qw@" |t!W4fD&ϲs,z*!-lOpύ9[ _@\hn:4Sv WbB@]aٕ`N ZN%É@Oq{T;:ߝZp/ՑjV;~\E,m})k~SSibm>Z$i3 Tma،-5#bb$npX,4T(bo* hg/ɀn>QHet3:읭GBLy11ߋ%6Rv8drt}cW*;]mOIrWW13W"i] z6ǟtTKܳ ]DPre3> %u!_2~d\A F`vyV*v}V;z|!%m۴T\c*u>Zeݑ"PF՚CF\Fڠnc|0o3[Ru@KcX+IYqa`teKu-'ɇ4kPk}m@+Ae w(D6dXh} 4"W3F'We!)msL1#rHk2F@R4HhN)꜂؊Jq=5XDLIZ5ZXlK; U{azh?R}l>Ww:qMi&/$E>sMcO"09LHC͐qq, ("Zǜ?Dzq-EatN\=:M'ۂF%y<a>^^>wg=ΗpY(w_d@!.*u(žX)~gfb!OQ4X]"eH2DZ:OlBY9,H9طA$zDpE tg)ƌf4:hܲ,IMӧoDَrKgsvCDb4 OXJc0h6Ǡ+L #zo'5xX_ҩ-*!v#3V5HgǞ,djU$Y]BNF:ڼo50ηm#k ٿoEAs{p&צfj3'S%{Q2,$:gtBmsę65F*Wz]z!CpA+C>w0 - K6C5}*K'n2ta O,kBZ-j)с±v5)]y-T_ I Xe049]IN0U@] ʴhHTgo%i 2wGQ(K' q{tUr2jcIbjLh%[_t7^r] 9[y0s_z=W#׷i5E5 R(ڥ#܅2QϠ95g, 0*CN\ 3OQp![* Ƹ%-xl *HtZ39@_m,dnsH2rS%|9h%Ru Y#SRͿ,/ޒ6Q8⭾kp#ߍ}=.6M!j$9Z lr^tfv =@ t\}ۓ 9U@MAb܌RSdr;bYM̍^ 3V)|=*<ŻY8j%M]Qt;%j A.pp~\ @UA4s %2A[oFmi $r`Z夶Z6"2RGCM3G v!Q0Պֿ\c6SA&rˁ!v \v^NHmܻ=uvI~@i12κ˳8NFsy hR\EGBy v 3'r^K C"Цγ,<$^' мP_?AT!0d\*ۤR\ϚŖΠϐ.R:1dU΁9aqӜbӋ" C_$%yjNc_CvUzs2ۅ%Êi^TP gK\K-2:kZ] Ny<}63K mw XQEmB*OWZog[R|[-Y+,"P#k0"1U%Qn9+ԨWMN2P>U,[[mOI$In9vbp9AaUbWˌcPyVl+[56:߯H9 β֍ qX3>ح0e`DB_qЌ-8вr{ԦZTc q!h#32A2=w7π o5Gex; j bL$,"z2nz:ϮoW]?#6O|tYjLF&.53VUwߧQ#ns+噧 pDIV׳q Ns`#YJ+(@+U.zTr@T3bָ3jGy^C{m^kL s棐GLMeǯj,.neTľ3BƜ7!Ծ~y}jgTEIe1s!d9J1 Ycu1IHlI|N5d5651jnTa|oPʤ˵%г+KVʸܥTeq_uInX-' 'W"7$.uG+Ik2MPC)>o?latA\)/|= \ ψL303>]h@H5\h)q@\R޿lŽ˾6 rHl=@սЎOt>):tGW'cߕ9@wIE|yÑ1HAnRW@(5KGPc";v_gh \)=eQ'6:K0( ͧ)=n-@bJ%6L:;w- JBQVf|%8j$Sj˷Skr">/4G CA%:78sXYS2^ Lѹ0M(D <ֶL LV~zAȔR0sGk"҄OCh0O[ڟ":מ\~GAG_ϋ=b(PʓFkv$2-|ApWgӜ( -i)*?OvW|>αHR18ZYҋk皣! ܻ@T ¶( }QڰHYH1C ҧI9nГ-y;j7(m9U@f<;36/,?/E' b69ׄg)lpS/ \b{]` :xg} VgeQ_I wup2FZ9ײ& 1a.WFnYk"G\5"D8￝[P N麹&ө_l"?}<p =Z8{lj?LTt 239{k|T%# JW+̿&%<БD3!R"Aչ_8fz-O&?dU[ i1[s֪3O;i5Qw$+]T' LR=[&Ї-HpӹhRjqrbv_g BDdC6FC$2wl]9x9f+x}+گ qIDD݉6K;%쩿}: 91oi:9bw^)EӒ nMum$CjYPًaK~PgnnOK1[ߓK6J(,7GYJ|5(Q] -ZYt 9T}a^pi=ü17vm`;ɿ5aK'0nvn)8RĶ5*M{<.v*D֊km'hޒD]eG)c2죖.5ԑnw#ܳ_ZJ=3 1+Qb#  FM9<4mW"Oqd{$h #O 0 L:>zjA' 8|9ȟmC ?S.1y . ނ&z[ذ~8ѻv-ر` 0UFi?;"nǼ6{1R$yšCl㴂 6.)Ny>xhLJ'?Stִ)y45`/ug"m](>2—mbK.ذ1rhg*ļXxIkw$qQ0qJF-mU\@@1x="BkSj3HCЉ]x$YS1Lٛ3I4_>Rf sk~ 6whܦcju\*዇:Іin?HWYP#@G[y"4oUwq0" 2W#PWlhvtrwErL`fP5XyC<xthJbD@qd;Onو 9KXS̝**6o+8W!4FphRn~}iB" Wؔ=<3F%5ecׯ8/LJ)! 3!j$ᴠ 8X֒?cHGzhs ![/Bnc ~pKi|jϳ+!Uˉi *\gDM$ ReNg7>*EtG9"U>3 A.ga@5wz+4kICZ9gđ˂" قݹUFm<=]ӉvM]YJu|]gxBwCb&k2?kxBpx~C/W9Ϛ379o'+h/:a{tI,O.u͔ܓbPD^jZa6 3f|.-@MΏ`OJ;؏IQ)*i‰ #lV-Iea@4iBa/qCI8lt0?JQ!KW #ppr 0&*Kj4%`yQX$0or$.92xc4]!yB& O,#'n_1/|[ڭկBvqgM>~K7OA zm" QbH̲NMXǝ>aץy}Bo# kT 3h` SG˲*(RQ0UX]}MVnJNAW4n%{G-[D/Kѧx\|ӻùܟ9]hjW*}Z6̀8y1hHę^WkghD2>cOޤYٟ ӎ9h¸ [ pg+Or@nCk~95;sn|a'U6(fWHrGv |kJY7dErY|J$I~s|w(`=ZZ %x+K3d% ~IaDYc5dpBK?!<#qCq_,b/j#_`?QH:WzhOT@ 5aPJԗc\Y-Y.|ƖRAN =jWrU^5 X%fuAyvy BY2~{jڿ/Z&[ un%g)'˴LJlR{{0vZRy7an ]u9;y0ڢ?#hl(נc8&_7[p]&7_TL8ݮڬҲA /- ƚ0F">!a^GP?ɝ =V$w9+ Lww_r{҇&q7E$7=,;ޅs0Rfe~uizM]Ϥa{-vwD|iΈRu@)ytRf8ڮa).EUd.oƫMJԧ4tg⯷PLׂy.mڡ(DZh cY6,`s'ȣ2/d|o ;dty2ehQO*Ygqv:ǽm@v HdWU_EjKy$DR?發g˾Z3ٟByKAd/Ϥ"JM_{A'OpH!QiŨk!r~;&7rp 8 Vs'a܍#;H 20'.ychXfj^;db>puߋG J)iMg|Y@?xMǃP+d*S$ʐFbemYX(@1Os ʔ#aC.#|Oܣ|[9~lqep8m-Y!]앖bR2bp~eGZFgQeE[Њb|Ϧ2;Y80[PoE<_ }礧oPq9 ɤd.yE,|VjV0 <`!mKֽL%7W0h5; o*[՚|f HCV Vm)ފP֌by$ES$:DΈFLkZ֝ρi0B!@J,?ۓW~8{ۤ겭35idx7bvcS|f7 1^̬[抹+e~} HsD3iJ|_ǃzZbqNh<ܕ| JYTSOavZx+Нڽ1F~ul2"nkE3(yTU}(MRE?x1\ΨrtC;ncŴ[d >gLc8tt/ 5d2qޖDZ0 γ?\KASweBl@OkC"OfYLV9/;m8`czO/ 1`+_#t̊(ZbpMCڠXv^ibɠ}w 5wS*@p#%={)]2;3Uv,ybD9 i2/rczZ)>|aKXԡ)j0'VphVXUB=Y̖?/PJ .U%qp@QT4V/fJea@{f'S'Az{rÍ:*DEv#tA%)k*vWنs)L&+VEz2'ڛ:zٿ%ܵv3*1DFk =aV *Ǖ#<Vq&X4|H̥ nv 1 ԩI459c24F![+|8ZUHӣ7m:(RL!9-qETHnqckW83OYDq~ї<pt#ʥhS5-X"cq}.NJh`8zsb谠^'ڶv0xSn[|tw+wtK}]`~GV⮈)<;UY|鉢95M nA v[ƃv}KL>ejܞZ?D{?O^JXDJ :C^sft(2p0{U U'h;+ƽ'A@ߤRǼ8] @a;ܤyuZ/t?x :*?n% :ۢ]j=}qpv6$:?pݥXARRAxU F{E-.}C<NM3g3mY9k(38MIS`ەl7Ɨ܋-C (4XZOv?sCOn=u1Z| "A;KX A\_om鞵3TTU$vն* $7͏X)󑮁elUo ۼ01 ՊCf hB2nfm%+ I<-߱Q#oELlx&dc#50kV~b& P4?jBK1a ¨K⓳OF91tBK>M b_6'ҋtݰ3.HbyMG3,e OtD1_^%^G/8ǭZKW5de&))N#.sT~#tr[Fߪħc0H3&Em"IgUoAξKt?cwSwo"m2˾=[Lj߭+50دC|D ɂsOGu}|՚ya\(li1 U!N؎F^})󨤦Q3QZ(1V#5xfFЧZ s^IJ 59#贙E`ҝl9bT[fvraFnʍD]CwQRf:mo*М[X4gB(dL2&ژ|abqǮltx`$^,D+YFT(&UȄWF3ʕ#Crq|~wmE?#H<_C".n_J.7U9x D"2hs}NУcDnxE pPVI.hD[!_,Oh^U+UmRx_4'VƠp94X ^U .E|If̛׶kϘbC4+LSb xeFѳLU\FЗ""&w:!3?ҺƩBODS%jb eUODusTb*F>{KGVr4hz,PnYB=)P<.zv*l NיfLhHtuR&LQ=#CH-BZV@қHDvNAPKg/n; ӆG42q>Čmϗj`qܱ#LQ85eM?' (og+<×'lQXMj_= 3 2&tӒDawh`Ղϕ8M?Ӈz9ر e u[P*`,"N΋30h V[U M3QKEvob%љ3msY~8X*rhp_SOib\t]v5mO>P vE&.*z?2a#!;F}djthO&k[[bSDZ4Ƴɽ嚅ES Xm:}yעqc=![[Kx6_񳆁>R4\rzseƔFX o&Oc:?, L Vq!fh觩321?b=籵e{y1a@Z+nDsQ}'KI֪D 2p> 3GGҭ[ ,cGGfJ}RAxhS׽ )2yՔW=*9fvfh^.{wͥW G> Ufd Gv}VeɦN@xavrX%h`kl1Px4ܟ;mp @U!=ƙ [!6SZUV\3(RV1v=A VlTjb8?\SI%؈ڊSvhDP`[l3]-H$EAZ` ؆|G,U*k4ƈcLJVV uy:L"&'am9iٯ? _aKhbф,S~qoƦk"?8ɣ~Ah_"癵 wV܅>xz;^ 7YrB _ jc.sڍ*Ϛ@NjOz3ԀU>ȓɢi\BkBǤ}0* %Y'"0~58C[x޿ZSTگOIw]*HwFޭo4$䝫 h;&بDgUnh*Q4RTXM1Gsu6m7Eӟ8G"^֥2To/u:n& <8.TA6WyichmAvgk?PO|o2ࢊ{MkCXA!'~#14}K@*M3P[ݛmq`YB؄@GPS Myk.q H:Ptlslk /TԒɋ{eP^ZK@n* uhVy`b){Z,=v}@gs(?lyha53>3nHU% HD{.빫Kav_ľ3Re+6* *^8}ecd*JB"rVzCA"dvꇤ"~$Gm0 _o%b&ZgL_mEc`-H\ j&!&(T%2 ȷe!nM9K8%^ɦĭTPEYЯWĜŒ]׬Gs!Ep4O=APv6k&웎 ǿ z h WEik«Z1q5X(ϊXV &rmC7}7q' ë́34kzd/FqRl<>̳P&? xϷòt1+J)LQKfi̦jhIq93 9q3q V;~1r|I{7|;l}5N{ :nqq x}:v gJm"Wȿqh$[,DIdPf 茪E*_CL_TOel2. C 3!OʮZuF⚅j(Z(4 $}SDa85qM:r1e[2G*0rn,(M2wqdFJmRI=4@*QD''aAe$xJ9:ѢQ՚'β1VgW;"!&#  a/F"~}>UcrgSfJ_C؊aI18KU1OQ;~4zxkG:/)vQc|"nȊVv mɄFM1.5H'm@P9/nꕃyТ-/9vVK0J15kayn,#|у?Ip>'q` Ae+iExt\LP Qs`UR`)QO6-[rjجV>8R>TTLjqm]*DD=2:LT#e- ʷw;3"G`;/5CU&p)m{c`?šrk_dX<)8#fk{IKO3AUG@ND z>L#hQG[9ȕb] @/D9̉uN^TQ&e@nܻ@W-~RQ(d'Pi%>ʨ!<-ЪPS`r]xSycpoXUcO4DCsien;Yb2  K Baͯ8o/p2oѨH-=#m a1bbkccD8 r>ͤQk=fœ|u!cu^΄d֕neR{FT\kV|6xi -qTp3tlxI}OIL,ࣵhP\!s؟ 4y;;y3(c",*k2o ͳ&dX4O& BPף֣p˫ǥQű{N0ˉ>XY\ztMNK ܜE+)F2E1sH Ҷ)/;{Xt>+OxЏ?0u)]Ѷgl"[%`jJ5V"(ShhSΠzMDnz1" }2{k@fH-H9oH7HӪ ofFZU%P^Q0-%󷝔9 l#gWUiVv ێ̶W KUuBFP&,!8Eneb M٥C4S#Z, OMz9Vɷv&a;e>73QVe $hD(2= N)7KJ+Sq_(X6g{G A߄icOy;U|g6c+nBq )@LѽƠ}]R ~lސ4y<ΕnPi܂"B Eoo1&W+c]jۿ[ d`o:Bw0X5o#*ihw5tu K,'AIۭĻFK둓os#/r?*:8 *]ZC9cQF&f/sŸ0j'1BY1h`J%yQu?|WDέ  9mRAc3Ȇ]~ ABD/])yZN{r0l9ì TA^2BӝƜH O^jo\?7xfI\@tfI=]X5fF zJFJ\Ȱ$P,t`ZEZ]@3(w:635ESȠ݋\fѰѵRĐdVп FZ:8Q=oz>ٕ*lO:NjZζq:1la^\@X!+jM|n@ dǸ܍,X0~*mʶM,/=1_Eov5R@ےhǙc m3cM|Z$cU:]I dXmz5΀w\'+s<*_0ygxrg8:l%C_x8w^1xJ 1Ш^Ƒ4IXFK ~YF 1xjuܭ6到ժn%Xbww \3BL*^ q8+J.Rg[űh3xB;9(;_PķI#zQ ɶ[+daucYSWaJ)w`a"ϩ'l4TʍP!)4TἋs YOw% $6:/yvؾk4s+b0 YF'Kkxsi)auL]"*wb2hw@M0:+"#??ɆjO8ޝǾz]_[;;t7TڒnZnvX9Spkr OkJ saSFP]2ީOO[ WNZW36zS×؎udE[MuϝS T(zJ]TCMʴ(3G'OL`6(h[Gͥu(0"vW:[Vpm66)fkD[JF*L41g YްLu$ǤM|M -6 p6 O3mR?HPSY#~b#yG@%Ma&Ux""T~M <-?B9(۫\79F|Q@1S1~ec]ફcvPfiֽf뀚 w =IfP 8sq;{7?q{ (kj+ /fZխL T>R ,vg8A, \"J5%yۺcNH^+".tWY 'PY?A!uVYgF9Ö0}UCգd!6@W}g;W$Ϙ8҃+ %5poI݂WRˤ8"ejscjn ovSw~^snI޴^a8CKC(ƹ╛wa>K R&Zpk ) 91{xnɔK3ߏ$Z}c3}ѐqrG;y=0zd]87+*ܢBQErDŽؼ8f)yE M!(v.;?dvsדV2;)J 48O"8eXǿ(*kB)S ϴǬW}^Dz!GJz#!*$_w8_H&=i_kh ߫\7 SnjFvӁr-=%4l|QF;KIH?RAz}+t X!/;sksrhAd1-*Zq}x\۶N =?~F-xH]eA1c*[d9->b12[yY"+B.3SJ<hkap)wtI;퐽dA0s^`8z^Cؗ#KɫgE6йw\^'}&Py9c]$+dߛs&Ď e؇Ni~Frk==<۽& \#1),}'9!e&6O`^SB& Avc}BcǸ Qabٌx:|0q2o㉲T1<~:S,ЎkGڂYQ.n"XC崪PNlƯ`gfa߂2×ٍ >mIhz@>/QԇhqRwus*k3񚡶 XP1L:j*oDVY/i'$h^+Y^A*Og(ԼUcjc}Vsx@UuK'ú3"ZfB7=>7'׵9c iґjΪ:5~>}戾!j$=sQE|ί_MKbJe 2HPOެTb"$)1\i=dGĺPԨtyS M. ʷzMջNՑusۿ4O*7۾&kZ觘f ԣDyiGJL/]Yo8-[;⬀`FbɹF{"X\xe?Ր8Wt "p9W( \F 8шgGlK*鏩ܢ+^|+*'ՒOX1hu(9^(~1ue՘)dh)n:K+2!wTkmqP`9*1\鉅팍~/ ރ}y*$i  Iɾ.ZQw?PL~vz=^@T͇;7 yy[ż4mIV;#4( I,r ?^K)m+?Y۔c1qHhnl4q>Ձ@%K$Эނ#PZ~ 3چ9G~#=rnDQ픧)Vە[snU :*l ہJh&CUnΌT.$(-blfatbs2w zi\jea0JtFlOC+;o1rb8f&f$a!n'tL.YNAH@0߆p] T3UxR4XG$Ĭ,4Z~:#B PjO^. 1\gmFw":} *RRkh"8kmgWkt 7٠p~6A΍]i}5?7޷?k#'`:glWr@Ü ߛ% !@{/GL5 ?S?B 1 4t=)*ѷ'Zj}kXngæ "_r-ݙ$?&h:0U)munS6]< rڰZl!+-8wKO6[ym:: Iҳ]E8!Xi,BŒ|q4j|@w]|I Dsk: ²I.m`Ec4ϔ{/*#YS`