librados-devel-12.2.0+git.1504118058.706f78da1a-6.1>t  DH`pZV ϸ/=„~|]qk%U* \h9NF pj[[9s lkۘUOhw(H B̉xPJ<=[A"yHoN^Ky?^4aP@StB~_+B}VwVLI9_-_x@'c #X h2 /=G9"YKfARCk,S:.1uON\G",0gC+u܀!f122aaa1cf32b8a356444f75656134f897ecdfa5ZV ϸ/=„ɰ^.Uu 5@½lQ<&·_ƕ#zR.hG)J|-1c1e„d?#(؟s{lϸ؍yXIHOLxDg3dFo j3suվ= J.2Oe3VRn$_Wasw͇<tsrH*ߜӊXooߒH?Ќvi2kEUA}XO~DV1!-%h`>=D?4d2 6 D 8Xiox      J4Z(8K9 K:KBFGH8IpX݀Y݌Z[\P]ވ^4b߁c defluvw`xyz$Clibrados-devel12.2.0+git.1504118058.706f78da1a6.1RADOS headersThis package contains libraries and headers needed to develop programs that use RADOS object store.ZVnlamb69openSUSE 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.orgDevelopment/Libraries/C and C++http://ceph.com/linuxx86_64^f?LC ÁA큤ZV1ZVZY~Y~Y~Y~Y~Y~Y~Y~Y~YZVZZUf7521c6da5f78741e2fad6f43f35c27fe8639999a19f820b4d7d682dd4bbbd307215e5e4b40a50f4641a2d45da57daebc3d92b847f3e6009322bcac5380e7a0f041ff2e3c198415daf1e8d83ec9db0df5cc367bf00232400db016046f11dca790c5aed145702d86b71447cc149f08838d4aedc12a74ce8835d4239fc0705b246b8f5536faf979848a1acf35d5e765869fb37c6794982b25d06d3ed9e75d77e81707c6a98b0d6bfbfef5f9336d31adbf9167cdf7e81f815003c14893a45f1ab7blibrados.so.2rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootceph-12.2.0+git.1504118058.706f78da1a-6.1.src.rpmlibrados-devellibrados-devel(x86-64)librados2-devel@@@@@@@@@@@@@@@@@@@@@   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)librados.so.2()(64bit)librados2libstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.11)(64bit)libstdc++.so.6(GLIBCXX_3.4.9)(64bit)rpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsLzma)12.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 SES5ceph-devellibrados2-devellamb69 1515586926 12.2.0+git.1504118058.706f78da1a-6.112.2.0+git.1504118058.706f78da1a-6.112.2.0+git.1504118058.706f78da1a-6.112.2.0+git.1504118058.706f78da1a-6.112.2.0+git.1504118058.706f78da1a-6.1librados-configradosbuffer.hbuffer_fwd.hcrc32c.hinline_memory.hlibrados.hlibrados.hppmemory.hpage.hrados_types.hrados_types.hpplibrados.solibrados-config.8.gz/usr/bin//usr/include//usr/include/rados//usr/lib64//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]=d7c0810f63f605f88a4c603723622be34c64d4fc, strippeddirectoryC++ source, ASCII textASCII textC source, ASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)R R RRRRRRR RRRRRRRR RRR RO$z[.v?0] crv9umjW{˚ՆahCn/IYD3_ mBxAͧ[O;~"%I Xő#y88]|1okT;ϚX9q12AN Vw ;q72"T1}O@r׍{ h5 4r +v S 'E=?M W5i{, QB?!xN& du@Z09PZhhL ONi1PŘh</!؞L!h>)]J,9`>ܜfX?nu{t@Bj9lt i^d_Y_u/r?̉gu*}%и=k*mzG,C_3wxv.%fX_\+EwGɼ+ V%D?|CMt!Zb((ú mLڇX2cHh/il M5"{z4[8ƺ`At]]*Qa{+2P()Jaz>Mn.fA'm+|Ye*AAMY!0r)nyCsBMel y(Pȩ F4 x(S IA#o,7q*?3WAT%a ReJ,M"ق]pMm%qπn^n@A~GQQ{9=}5P.L XsO͠+968iOh~Ԡg?[CEJrX P=KO⧍ ƌAxɡN,LWW &i+&C&:sGl28Cv6Xxj=( )5G`WX~JKBm`i Wm %˶*ˬ齈a>עud3'{*|#^bu7' 44gGbj Ž)[ M{:6|cRGෟɮvz3Ȱ\Li9#k1+"PA0GEF:-Y(q4A.o,)r * v I1Yj@ QHL}.fa,~Us%kAfb2^$S!m2@d=P#X!H?L͑G\!6|O2BRc¤1=Y•MM >b(,_[-lC[iXUj,ձ,8ŴxPDH  h¹P9/֏o->  SF/iSeD;O`SLWce :gDAsa@POO[Yk Br}!J/*ejE눅wO,J*?t^qSRhކjeGooy7A$VjbU,8t8}uofMh 3(pǗCk2h)J`Z˞x«%+"W;TPV6c}_V (߳'l1#z <6ŵHoll[$FjS\{FIX]vUb .t~؄U%AOw)< 3!y=6mJkN5>`E9rGӷ'ԯ s>3|5te4{؅ŎfHOhsyIK?RxnP5); zl\2gu?Qvp #7U}6N`SP åՙq,w4&!=AV_I )vUd-%+XO !ӹ!"oelҺq xRhH@9d'!s/0!=3ၬ U 6=9᷵cL^[6ȿ97ӓ+[ bCb Q^a*O7*.fвƹ]Aat+iXli, s|lNNM|\0W !At wӁOJobtk}v-RZOoNdme28*4>1X~vdRBfEҸšm.]l,+9r)$?iZ~޿X1hl]8IQO! m2Z+x:} Jh^xJM["0VG14ɮ~of+cΓɱ avYHlX*\ {a[Q⋓|ՂfȘQugo~Š3jY"RnO!nýQFaٯxϧ<2!ޞ,[BymCP93EV--(FjX?;RcFBۈ<ڦnxG:9l7:ٲ$#:)鉤MIt u7N _=,Paվ ~^'kZVCV,rs9aw#r '5L]9^@6!";_쐸]9 U z6 VFdE"*6c$3faj N`Л9+QUbT,WS @?X\%Ў o+3mz%])&L|naz8'_)‘N[i*0v̋Yt1`!!KĻ0f&pk"t dVK>5b z|Y!䑀ZXCsJtuFD3 BB*j\GzjMI'쪒cQcS rX;MV;ٙ撏ͣ @Acq ]=|g4 D `z PO_ Cp?Ѿ04z: YܗY2㤎*+| \!CUyOSr^0,CξߺzӍg<7؛s_]x_d:* F^LhG0f'+椐!.#p)lNk/!bv< -qhWq7By.:|x?Eh̥S-WA7J>_˱`y LS{*v @J >C %>A:Á3 wI>nm ]].jhj`Pb.{(#@U[iɠy9kS'|2+#4kn# +S%d|Ӊ ֱo'׊kv0Z[ xQ4W콥OƦR6)gX!\/B6͇E@DD?'-k}/Mᘍ\i8|fB7[ABgwFG/[Jrr0|0]$Q:y9'^c^g2C8@g~N4NG7m'Ⱥ S8?_5UB=p1ߘ/+(a@1F~x0v.Zc*֗Wy)^ĸiĘ*;!a8"cRkÄc=9.!OM< T΢` !0"\TMZl?``6t?UgWRLB2K/2y}o~ 0"JWnUj>?^rv3Z*?qn 8YVCİ ›~t-."fhRVDVB,|D;k~ow]$L15pOmuĞJTHT854 p~"S`BCk*uvǔ\B0ػTiŒk_|[PAc.Vԭ/L s؋D GD}/ !ni7bë+EJ$;k5_Xj _OKÌ_8JٛGWEӅS-gۦ>=ʧwg'QzattJabKvr ;XS#Dul~5a؃Jqc9!2_ Hg1%lnº $;߅t2J^J59L= 61 IWF jx۶pSn<2/f,zԯP#8 =!$~$&Q&[$?K)2[Jz]2hCj)4{eIJo=0t{tYuI_m2tk",݂1KuZ'g҉%F~.Ue~|mns7D0P"z\շt߮vrOIo:EVYZcԙY`"&:ȴV晍>)}DS_0oAYah u]~MsޟPAjk&n-[GKp L\%^b0X[>ZOb$#.K1vaù`ķ$ \T6ƛ:!HU)u$uGuq"ruf'wΏeg)s {=ΩD:0b&,OjKyYQH$l g<+QEP6”FsQ{_TAN!ڟ;iNlH$<1X*o>"XWmK\OmȮ9騮^%W+ڞS o/ț6`nv8Ⱓf 76tN<"i#Щ*)v̨':DпI8̷noО}e۽WѿJ\~+vSئ7J+G J$BGMk6X|w'5&F|1S0 ;t hTD-ٸ-Ap_iגm9&vT|\/VtsY󪛹]][Հ:l)G|{jT?ǒ1Yot#ޝvCT~mMLF/I OQ"+z{5yF*{s:Ve[-kzC+dgv`ű.9ޫ}^]%,i :Ep̔6kdWG0 x B0+{{T:9E҉$O_ZSk*bߩ : ?Tؿd z$nTo8|;xzA NeK?@cLds`՜t|}%?)9.] )7p,^R8o@"J(zJ%X dpg6@P 750kG7F..ڀ XNYdY$.}c^Ux!bc=Ar|=9tFxs%3˓r7ŐF3j*iX/BքCLZrM7dl;^L\w參U[1Z c%fEn qɄf-XPHoS1P܍]i|{cÚ۫x<$.`ŪvvvnT/Ή:]}p #ɾ_"4UMn7$[LFuD :Ve/[ꋈdy,^>ێHJ/8qaC|X(aqv 5l[ѫ.V+>UAbFK[ TfREe&-~Y]0f;2̻t-XKߛ:еmH2EA)@hK}oE>_KˋtĩV M6Qy3Pkj KVr[ݼnC_rJl(둦H1VidX(L2!gkl[̩7UlRt[P*ț(P$Gy| Jil) D̏C nP7#%HPC%+σ8[ Fx8xJv^i"nL{sqk\RqMҒ+ThBue=Cmy5ı$HʤszQoks[ HU1J^V7!@`&_5 AHiN$Xxikhysm68m@oM=l%7\R %-<.5;=n9p-0[Yh?a$w^[,Mʓ:ⷣ"|m F = luf-9PG'x8ni>u)xf a/J7"jR5ޢ l:f1ů({5'!/'ҵ"~}3 Id~@\ٳ@u=ܙ],`:~}IŸUA3ʐLS KnXqzoktkߧt~ -u)]sft8pwӉllDNs1h'˰s>b>v|6Pή#Fּe, i!\\NxDcgX?c!sQJ[Sv-q!ϩ(zeEX/@Ыv+g%!m = (гs,OFjy`X$^|-nC֭?p#sCҾэ[MĄ*6?D+> sdmRea<',Yg_?" _\k{fቄ Y`vr۪JWytrZ:S::#n;HDrГO:!DbtN+q~(Fp)UNh3g5-uQB0Q;\i)ͮVKxJseEHό m̏j9#g8@?Nl輡t,T1%> 11aVq8m~/pftMlat4mLZzdWa7bWXܝǘȳ ȱ~S[-p bɶ݃z\g^X&DoແzFv +l\T !Ź*`?rR-:{NcQ` %>޽r&+JHg+{ؼf@='$mrΗ0#GUs]uy:,P"`˃aJ(=QIG֪"j4zۯM6 3'Rݢ_J@$6$_D+~k5dFC\VEh*o){2wP< $ 2u3pϡM 0qq x5B#`53pѭ|%\y\c|C Bأj4%Q-۸]±҉Z>n hS{ȥ(ScC-P_;_u`3騏ĂE5:ۧ1puG.*$NaMȋX TL8S>}8gЮzřGE_ ƙXpD?ql<iO9z U 5֥>'~݋SiJ)"^H"|'[D? S^|姡őE+iF"W6WF2OQRNФjֿ3<4hWL7o\P-{vld{ 4OW%W> vsi h]u47聿#bq2{K~77=R m8I\GV<,lB_@gktZIHB'}XŻaiBZB}Bx{TxN$$Q=8]mB(~JRw&Md{pcx#**薠ںZq,:{;QZdn$=]aE_g0wmHrTP|ET,4ewv`[Sb/n4ZֶhXh\6w|Y{ nsz5Ë́z>xE._^C;/b2ݿ ȺhGݽT&Fz@'k8>d^=yj[_xZ$Z`XZ^6@,>_@wOW|^³m?szL14U'"%Qzo&Dib701KVAHf2Z~88ϛ-oegf$A~f.p4B2P2Jynz7J݈DϹ^A,B#.wnwqiΏ;,t?D8%p7u5[Qә0+DT x<3/t\V/ofi*, G㜩Ę˗uaa%Zr5 S \A(?GJG:>rg꺊G:NβR% ӏUZEE"!c8)tI) Aprl8/eb}KtA0'cdtfz 51/4-vm Bȑ'v} d\>"2tTP2 [g8މZDATjSQ|>L,Pn|5$*{r_:_4}$B0(Ev? ! ?9I!_qe5j U v-xwwl0qɢ5>Yl V7= 5zI|z37v&]e֦? s5}o[J~EƖ֯}jL  e3_.x4fn,vnT%BΜ?˧CMX(\ ^?I-JwUJh M] C8)W"R&`E7@6pЃ\džyS) er 8ijH3ɬȈq-TިA[Pm18p%&gߔdSXXSO{<:mdn1P^,MEXM֊*f$f[Zъ"k{/'q&(LWL2Uih#Dj, ׁ04-j9'აb1t0 )]@M'ʰ٩J/l}aNLՇ_$2Qe]A!R [O=,%~#j3>tCwI>c+ɵM%|eO.dd=ukh,^7PҾWcuݞUӫMY*6@4Ev(OF/U~,M %WwpFjaӳϘ_X’sXf׍͑^ZBrsPLJڻpAyF ai#u>-lpsfFfspGYU5"=^S,v ,ZP!DnS-'`?vq1 xORM䑨YLW:tDˠD5+<)΢QpYxSmX+y 5tTa7ϧ4%fX6 ӞpBs}bd6\9d^9Ld \޺Y 7:˾.1Q}6tNx3ZSs,ww?A F.Nwz27|~A E(0Kvasr|^ΏħK&?4ȆW0J, ЛΖJ 0h>!{{6V=P)1 CM|'U =rd@K{zpEXm$(Z$}Ao{eE3w50k$QYM ~BNJߨr9&3j1R] V@$@3+owNv$t+߿ -xs1syu1W8җYy'W(J U[^bjyjtXP|,ꟹ=K!9;42j3wnW&ICٱKB .\u%5%mv3M ^@>,A>5,C!I0cE7^ˏp TK۞çS6KWac^ɿN7,0D U,j_{lIB^&E~0F }KP@+Mhd)Π3st{'ǥ~Qq)7 6]a9+זN{M޵퍯y Pcu4a9X1H/Q,t:6kc\gU-qbu;b/|wiEB8dO~o(s8g[Y5Z1b=v;{Ki&:e:zEXGUSLc%5⢝;;1s_0#h}1T_1ƶUSKt~Q;pnSxTLPt^e_CJI7Z (*eKzOƅeR[d? &o$eC**Pbyn[!lݓI8S bw^='CaE``ӂM&>F$Nwv9L"y_@ar`>)KvnjSWq"dp/[ɔ!ݮƠ~%e&[VwH}">Qؖ∹H`}34׭3mI)&ӂ О lv"Jg'f_[h9G%ۉ41 emp>KMRa k fdNJ:Qd =mXVu rkF~.HZ|I`&5Jc-$l|Y)DMDɌ5b9]QZJ\P>w^*ImMʎpJF-Hge _hG {A1[ ҲHݺvՎ|iO\(rj>nERX,1]1:򡙃x~ucl6WGgwʹgLQ"v*UNs5:MEliZ|N wݕ2 ?0 ~]gv.1G!褴_ԁF(.k]Ј++Pz-6ux6"g2|Se\*.DE{iUFڤ1e d=B(/si<6%rs\a(\T4HӠl-8b3e7]|LhLj} 4V-r(C.bP(eTؔ_~`1p0Mm.j;m=>;F3M^"7!' ujB6P2wdp4;P+ YM;7w鉇4;P5IhX*|ԧlWe<.p -j͠ѳWEqޤP?FHmNG~=u zyRzΊ9] e|_*P_OUZ6 ƫfmt4Om/鬁wK40ؼA¬77 D6M!ncA*$13 %HfQ gLguY#Ae_#ǿqP;ĞjfJa_]n)9oͅDh#抜|0/VWHᙣUQcR*%m Ȅq{i֦;#$BV{/tqi s&c [~x" SIt㎥Թ'uuF~QQ4ۀpٜ \ûFS>ב7'S7bZ(7O`qUM՘;ƣ#ƚ+:Y@J;:ҳP iZQ?Q-{@xDMhb%$X[R V֓o{Hi.gnߘs.N"J-)ctRg~F"&KЈL-;'I@dk{JyJ`{qMq,ۍ@1oCy~^ GWA97L K{/Ux ӑ,<1=JCIJƑߎ*jA8`VF'r-(F[rG8's0UCb8Hyv~&+5KV^ 0fdN$^t*O,ZN+8+]G|7@gmʎ.e亰34Wpf/㐃4yQ>P%N!c|#ZM:jĹrB oxE\S>u)!e uc`y3+Kʲ!q|j4v/⸘tEw9*ա4.zC 4SrLa^^VҤAROrygYϷUe^.} Es:h}cim"~sTf(-|B̧E;![isUh QQ\Lj0}s(a!aqȫ]Jc烥Đ Ì,r^$"Ĉ | ul'UڼV;@Bѣ9#$O{}]~w#y`N~>pl#R|7=06ztMr0igK( $/uؖˮCZ :zr;^ؔl2Xl~L,1j5$@@t\ ~ F.+A&^sև4 y+pUg]ĊӅN{O ŒeF<싟<ȕjI7er7 pjޏu%s|9Ob}̖!C}YKl ϗb nIu~KZ:JYVTOHׅA'ZUEҵ7C&$.U1eФf/¶;SF/}\4T'}kbj?I %vבE4x1 I(e'j2wi.XE0]Aq/WYdӃxB8Tnx֠L3y!Ƀg^#Ӆ. @ QqA (^ ݪ^I eW%aٔ42 I6LNT{ɩo>7tmc4xd#[6Ibxx `ZS6ms`7"z{ b%b~9D(@aް/4=ګIiraVOB0eM@^ϖB 2[g,DqM@7(,h|Vs=o\rqh:3>.Bc70:p*L4}QeL z-&,n,Y"ԫjD`4u\[7I3Bw:nf%Wk"Y݀`+ye9XhPE3"T1Y8ӝnغ8ep|Jmg"Dj:\$u15zsIԭܾ54Nq9jNm~ҸijL=V}"} h_Ϯs!+ d^oeVƜj%Ebb <:9N *rG/,,JWR-ؘ$Q n"(-*k::wz,u 26y˂)}1F"_y>E(1sb;Hh[ؤ|6SQ8=}g_^.!NkmT!T=X q]Ev4<Cu{P&aN Q/V1S ;n;NyM a' J nOU5z?J˺ՂaEr%})HP* aQP _ X! o4 @GK{9( | Oߩ 3ϭqJ|Wwd\2_KtE@+b~k+R>\\lzn(Th[r ^'xXYr0臣yiv]_yV٨'/{LsD*3 hقኦbpny iC/kaQ JlمQ࿲qu`y7:; 6yWH@yIk*-!xьj( h׍Z]bp4DHePf?J]˗ JǒGg-5goEު!;Oon׻f3A](}$_Wܸ5[ M5"R8j$6 L|czٗj(054ji1wF0D()*kW%A!?$\d1[q 0ܢh&t\nX+RߣyD݌ׅgӣDFW4_j1ya ąɦLц}!I޹4ER7`+"vbB)TcQv ,6 Wwye2߼\˂kLsꑌ4ײkxhW8 {~!eEA%5=,o^"-牲F hDY3oS$/jf,/)(Q_@"4lpGS[dY|Y['q$e];$dz٥UuНeUjm]=F."D琷/CʙD&?Hy#8*7J;VX*Aة*fHݗ8h8#qg!װ:‘}(=Vl&ǦExPN\]% 6g~P`_[`I,"΋)B/YWɯ@%}C} ܟJ<6=h 譭6W>D_HK!Ŕ B O04Av2G''%G A `A,hHΓ2A$@@̵Қ5eY CM0|ѱ;~G^qf4^i88Q MGQBK5F@轿ͅzVڸ:X,I.iLd[~{7~xn:\Uh]u׏dz9h'__.MCR ͲCr_Î{ޫq-FӒ=f:7yв5eV) ;V9?~ a 8eS֍zG@b`&^1v`Y B6]_+i@4h]ڭ!sluѳLwN< 1Gőr9U^ɗZoEI !Pv} #=&YxÁBS :b/5y&ۧ4Vq%.By>^kJpwAa] A1a/a=話_4apiӏk Skf15򈃼MAF>A|zꞴ:Ӣ`$;CkH/Q&;q q{n-N:H7ChB*sn/ +Ƴ?<{":F  ?f^7X3wPZ,Q eo dS^/ӑ.Ԏ|Ó[kԡ[oT3Xu=TF~ ==O~伜e@#sܖJLMya#!AGӉ]XJN֓,J?|"Z$UĊQT{T=]9mA{Uz%vAIFTdqǘ,L.1 bߪiLHЫ}$Ats,ڠ} ߜIzl@$ZკvAoX ӟU?4vHaG' {%f=Y˿͔;fb>(L5P]мsI[x_\qN$9 U@x&D1tumi!m{:)aƙXŲK&'hikQIؠ6lmO2tATo/xS='e:buoJ㢵8T{K?Jk8p"\@HG7I4vU|nObͤ#&f%+x@vԑD$ȸ05N& p`LN!?:m2*Wj$ehC*GC,5YOp_}`ޔRץKWp(RterJG-M{)ȸG?ahm,4,h,w$_ ̟C'9$Zљ.DnmF4 o oݞ`e@]ZbtܺJ]ͲA<1‹X N0g r3tV /44 2AuVOY+ \̛ Jo`UH5!ܔ5m (0fVj=1l+&F5!z^ݼ?f&Ƅ&F ɥ9%[ } U 3 趑H:,< Ij3wIm]C2T۸gjl׌%#x1# n is3"5x `ƠQ\qi \x ؃6? Ýax ,~{i=2z5}\8 vkpZKOji:r{!J[@ml 6i\{FM+BM?#*0%78>SK<8I,dE/BvqЦĊ ʍֲW7z/x8(9|~FchvϾ~ Ӌ;;_7lR mf#iKxr;~6X.DC,s@AbAqa;h@K i{m4@P_-Al!ڗ+qiǿII95-4l8}{OZ2Rw-[uɒd++K\b&jT!R?95BP#d>WHn$ ;$KBct2 ߶#EwrP+g'8u-%(TSZh ˕xBR ?[4 P$'F.}(DTBOW!ZO9Il[9}TDV5@?L@M$ &ɣj_Ĉxۉ҂jѵSgRC`Wsk!=#:d )<&*w|0&3ɤ9SfG|wnI[%(AE)Z񸿊ārsZ\8|] w-IZEVLgNpOaDqWlH6cc@ ƷxC OXٹ XzA(R0P`9lkBf 4͛y}*G в:ېi %|TYY(#~;Ep5E P06dryך32~RI!nOOwjR*C^43+Yj#!āXc`0o!]+ҕjxo-igIz"bn3cWV6O.%$yk!hIuV-Y-('A؟#wp6VH~_ ~DFd?'6Uы62 VGegraIF k1XԘ ι{lŚDKbE5#%00ٝ2J[馨,|gcN7Jqa|%GEB[B 7/oF/VT]i/(7IԒ'ׇ:&`Ŏ*Y5#m 93@zxx'(~qۚW0*3Zɣiq٨E$Oó?`x~ |W`GI!aEJnEtS7,bv6jXxHϬ<*N4I:كv"A"c8UN('߳U11, :CxU{h|WV>D ka,gFɕbaY-_A24eObcW$=buyUm E0Wvte{nj,'߭J!zeg+SJ\xya$hjg˴c}g 4CrR׻Z05U~?7ހDž/U^WL"$e.B72#P4*zh;Vc7*~֡v.u&l!U O(}qv=\5Y:iTұ-D&}yיss/Ȏs ѓ3^C#h׺졚̮ DWq`Afv ne"]BM"^OZuSVPaʊG.m &"QJnlсp{0!ISP=、ugH$! Yq,PP R WGUI^8H#]VLwa1 D(Cyn{OTAVy׀=++lvRrU,P,1zYL3-zI&0|ZٵwMl6 uecΜ1号HْF= J҆B'9g_4|y\Jb %;}vfp[/SWN:T.镗8|TOA˾Hٸ0P33N΋g꙽Ihʍ79d [18Q6HwxV=PLȿ [=b\;&lj. gvqcJz[J׍P htPt+-bpIC/\"ptĵdr)`@LEUp]O}+@7{u̩\d'[WzLsy]ݫrB[ p!xi]#8.m^ax>pB)+Ӱ f1x{ljMQ߲B?wvF2),R[k"86i]A{IeKdK &@X?_})/Ҹc,Ts'9;o)PD+71b2O+9(3MDž S{#DP񬕺cAG-`r#&OjaH o˳LbVr7 Z˿pE4r.DԖb%rbQ0Șu|dlՙ#9|9!hxdO5th-MtdsR-zu@'wr@i;QD\ͪAڡT mWhƛ*~/tL)N+oK3o@Tny bnAW"Ar8AN~ sB4ǀ' 1T Ca%3^SR6ج&ԴAmͥ‡~OpTTAc!)}QV\xV^+[<8'0*UȮFc#H>͍attf2>0s:,߾r ^6D-A{`*EL2 Ӿ@XH@mE9F 12O}+ry1 c}3-0Qho]֮.HG_{f}frltCWzڊY^]FKeW Sdyрj%@p9d߭P_y"8Zj-" QgIXAC|AIvHzMLD~2sBt 4j":h!T5 ?JjR:|XӵԾT*-M@?^#`WI9 ‚cМ2Gaj YDo0[% *.q3>LtNO!)B%I H-TdM?f#ֶeл"P2cϴuUu/z~y> Sh{6Ѣm6?b9uX. sLQuT'wЋnfmx]{Nl 5R7kPs0Wesm] NcC.W{)>S!3`֙q7b4M1ȓ--EӑSxLc+MJ>kwĭYCPFvdʘ-;|-3LlHv]"_{YP~Kc%^C OB6y1Lv6AԅbN4h5ĝrDoͪ-I(ƭvjY߆ϱDA4̢=3Uf|v 2!uihMƗ^F8Pss5c܌rldOpiPJWuX[]Z?:gW/C% I\4f GN1-!te6(L_0Ġa Fg_DLMx5va aj`14y3xZ"PӦC7FSYhM yy FBw( lȾEӤ}Y}&#S=`7Ğ}!9u(@mjMv'N!0i?q82V"_?l癞ɰs-"8vojf5w>=ArA:(hC0W}?1Oy>Z;VHnR䗓loI3)CU;%Oq~ժ:qL=y|BҴEpݕ<}83XҊ5T`LkʳGք3E[ζL3v-EB8sH/>L=TshOM cr@xyDn#Uc`ћ4ZSؗ`_=&gRnD[1Ή^l4<;>zi/)&8KTێ"OS\\ET]Jm9BaNZy{x1= wW-*kJ,=ErJi?V5Q<hˠ^Bi{s!@#]fbDc9ˤX[˂3Q_K@ȗB({3\`WGUQxE'ST9r2Z1_i؜(4Ѫ3ՋUmRnG 'nצɧ]t :$IlIp0M8e7>9Ճ"Is5tj8VkWL$=k\9[o md_Lڭ_0MhXcD(,5n\OgP*_W0 C XٕϙDno&[@1jP6mÖ~lmǫVԺBy)9r]>G>d3. f@ɑ֡Bt B+ƻ=kЬ0ӂ?Q eucOkqc5 x9ML~Ldk,='F6:}w <SsM&%t>60x0dwYP8$?@R),;No@6jw0nat`=[ʋy&>bP) *[ޔw02NI~]3e OHD!h^/e[(CV&Z4O \b?g|:u~vixf~ ~[K˄Z!27 BH완= Ud`7v_KhZIn Mb_Z\9  {sAQo ̀qLK*危zdv1JgFSyބl3::p<3{НUGugT͡g,E]b<#zwl8D 8>'q[Us| A\ 410RʪJ\W}c1rQΏMBIihXgO1lPt0INa4NV;}Z8D~YuǐW@^0,B8Z1P-=`rm Z)wRGKTgC9(qi&s-Хz!e"5p~QYtc}[ NzӫFa_GQ,AM'/S\CՖ^ ı^r/o .׈TJ`p;d:}T]Qq#lx enf:}xթ*}g\ 5v+1"2ʤsTLUCMl퉸F$]c]mTtW_f&o SHƩ?){>}i[?wH0%g7 h|Wjtʡtb`ɣP pU EA+B3iv.U.S( ؾˍ.Vc*_#ct":,iH {{1>K" IoK5*->*jhrΧ%e~Rѓ>ACmϋsv:DVy:W C2:-uS2i\ot:D-YTQrXEHʺdAER`  BbiPBjxIړI>SQDq)i?:ZKŞ>ްmh|yRH#`Ekݝ̗nH/7V\]{[ղ ` |;O^/q3a47fZ)":hpEԬW@n=X9Om1Ra<lmu~zn? do!ޙUIu66S@ m6 S?oJ] є$D .C E 037[bENU7u,.m1: L|8@:bv4*#5926uOV364 -\@~ RaG5[y6 ś@lO.<ʲz%u~C$z $Uٿ]{4QS-CugO)}u+dH0a"5k;OgM\B3 *>ϙM&(T4_sd. 6]9*!/zJO)dXcq> <  .g$$'&։uw$硻7E]b-:;5AO>tȷd*dTFeG0e|IH_mf<- 2a] "F.="|-nEUMvG/SxBH14)2ҩG b*1fj0,@/'Sw2uN竒5OS+ kA|b[QHцs b,#&?W8np|nKGBb5$lJl$MăH^;V -ȢPĨ_87ʇqriFvf=\qì d=t! jf}5kj:}9d   >>:3[JA7G&2#T {|Bʈx[%I\\>LE3^hQT VDl-l ''FQ?\ .R|@) o*e e=o\%o0J8g8,@] ޤqHHS0ȃo3,z "sboUn @JƄQP2)~% z栂B+=]O!!I3WMO˸/Bc;?k֢{r5G<2K-7R԰$TKӞheۮף.^4vIKds1YOCBW@ÇXG,_H:{Q -.B$!>gأ+PSVO"=i.Q:}DY`C›/)@0J?dO @tgp| .x^U]4a gBnV$:[VWT q!QK`P w&M!!.Nm|+CrKh]@r~# LsWn fy8UYk7.pt;.R1ݥGs\h?&#8j 7*@94 0$rfS$hYr߇^ ۛZRԵD.uPݷa5J*VPTDozNqޞBVzY$\NL(V"Ciĕ՛!k@c%xgc7HBwnz~l9F`w N?}#nd87m0B?+$*O/Ŕ:~ǵ}qM?9mzW|&K}*"]A{f3"'_KI C ]Gή礪R+T{0 5^ 0Y!քa%+{jU *3G ҵTvn)|MdW)CR[Ys :G}XtȥDtn3 wPJ#x-NGK3dֻ!jÿzM'0IW ½QYKK0kMqOϜt%TU}䈝y!v1ot |w\4b}N`@߬U"o4H0+*^r#hI.Fo:I~`8j`P7K0ߞ|V"1U^ R<w};63Fٞ. hfſ)nLK21t5$ПC4k:l( ;_|5wIAٵ(| >MSի ɆjNXPeG"5mt9qpuhkz5S3~v V\x;JG Wa][i^1׫&\gt?C8oX tfCwIn.g`ufM 4: D\.HWZ7",h1@(QO4 ַ.b2 {!A?:/srG}ůbӬP  \ol]JȲ.'s[5lex1mSs' PwT@8%cCV&am H-knAa!|U8le~bmWl2TSO*Ҝir汼"@Bi~68@ߒsµϖŅ= d[IY .PLHTCjUGK IlQϛW~R>6)JHsȶi[eTÌ8`=!p0 7qW'gmH"Q-aSfL^ֽd{W(!,lLD)hoϱ;b,ݫz pTPS[jb q׼8n+)g.רPQ? &9HgZ#\.vö *׾ Օ5ĝDcHO↴82y1Lt{%U6}%A<*.޸.zKM+MDSz{?>5}f~ LڽZG4r)weXx{Qv'G!W&?AoO81"_InUߛfvheSAoj8Z~T^!OXLETf2 Unu4J ywnbgFO#= 8 W;nQMkW;"@KϨ\ނJk,AlQ2!>k%Eu-O~`4jY`Zƙ-}AKc)c\L jz{S F2e:r=bVcKn?6Ɏd4**ց)'7aim0WT/Nt|؂.SMRD} _`}Ug.Ō[  0ڒAd\}fe 4 `M %g롳+1 ?z`g%=/*r&\ 2{U9;WgD|Qq[| jpH O:'1j@I z#6?>Kٺ=`^!E$5ațK.0V"4d"55KG %ix"4sx{..n;oOw([ \V)"e vRVMcqu\m9=29X^?>pHHw1.}uZ(&{kMn"K @^#,K=R9$7ag0XHKC ?ڽ R. р=BB XSqoi Dge0 &zF>=&e8+wVS# p} ?o(]=l0bU/Y8ŭ#!E hf o2-Tt88|dIμV,؊Yg]TFq8TnO=7] 5r/ Ĺ(VDo1W=Ԍ3jRdZDw "@FHl-ARh me̬rW$l[!8ml/zKur )'/WޤGfd-'{N8E`UF*5H\ {E9uk,3SB>TQ[H uiKӳj ҌJ ;CT"#yb⳪hBvۮ;LiCI/l:Gq 8*2A*@JG:ƚGF,f)fm&{΋=vECkpAe$ %:vZ$!5ګyQĿrBc3̱ehSb@vM1%3C_6Swwj bP`=fcWt0DVQ|9Q4ZIWqU-i.N?'%UM gB&˦'w Ͽ >h* 8T]{uX B$J{U1pg2xlj̀+ͶS? \Ijs5.H4MM88q*C8I˰.sw.eƠiph; y-χA~nM ?e\Gd$U_g$ * HĤcDnD=Jk;LEﱷT;(O ~2HNh$^;+7 ͖bw萢}z(wq/L/|4ڭ5BFBE\Ulz Aģmv|$;hh]"gGṋW`ޔ+!Dp!<e Q50ZN?'!~.B8+?Yϙ~jZVea#B$/-*ȀB@{YsfVj#<ψXRd|4>ﺆ\׭ -Xt˶q3kND8eM䳝Cl/ MI\z₭C+ Uǰʉ`}ICҘ*7":NbJ3U$'U.~EkhTOx)qkKE'd[8&)棠_x)Ê#SF`.k1<ҹL4%r֊r7#QyىK@D䲮2Es9,)u*VZh'P@A qAPݾ r&rh_zֳdj@[iz?fLB7AhXE`*bҮAMB ˮ7)'B]7ڨtp+3eC#8D[W)_%7y${p&8Ù䛛o% F?ɀ=‚* Yg"81t'HkAaSs)V\j|sj!}%f 85>2gJN_H >Vܟ|df`Fy7$%ѬN?:ɍ$#~y Rx+v¿qc׳h8UiИ%VSL"RXlGt:0&_֬X[a(Mck9k:#VO-%?/l>u@0j|1%I(]vba"4WvaJ9{"Gp)]@*]ӳ!sdb&4}=̏~L. x{ PJRf ƒ$ɒXn L V-=kz0+\p@Ƨ B6E`3{1Ǿ 2H;gbcʘ4Vjn.I_Kubo*nJY Y~sNkINUWjwT#ގSm1G$[@ `{H_Gh t Z 0<7'EN|%Ly.:,UgR#HO׼"@dʑ"P7 r`i:>ԲWD;cFgFFΥ^i]c?8&)cg傳~|rᵮ߷gHF13 U ;]nAr:,"w1w5e}e4g[zQ9*ahZ&Sf~D Riڭv۾~RԂm f}Q&c@}Nq'(1 [<~pNK{#Vl#Lsu1}cR΅=#p&!bwf2O{d>I,* s*=vdN^MkM+SjY\Cp4X;}'DN"PIQŷ2r9?+}R2j+7`X#\-Q)M˿jCt*VñbLBK釰 r|yrmy3M߄Bd́Lh,wM PXY!@"q0[tИ_ipxP%h;̸N<S%J7mNVa7!Уё/5,-D!wcGHuDAe~pU)X!w3L2ie6!q7YETP`fDB ?Ld5ga!z>|]t9ӛjO6Xi & ~5 '_C|G>jBZhD"N;Jgc&.sfuc 喆7O9UU!w*(-(

J" ,f_L9R:\ćI71YV/r=T5g0^/P6R O2fRlʺ|=DIic/keدjU5G9A_U?cv0jF K.-zwKXqEܟߪXǝNe|U1{)ė 1}z$zC&&$NչVkM@mT[9e7>iK$Ia8y3 @ԯ["ٵV ҍˮ{ܕ5B;j6>_.kl;Q i=oHU8F5P5]sr.^pg;,6*  H)m3|0w`E!9NusdhŽFA0 MOǢD1(GŞ(@׾4U 6 `ձX}z6 ⑁]V`ULǪ`z͊1>@UN'P*zGN e1g,|#.34PEoF%NT} e#-f[".i{mA^PiFi +FbGBX!im9$ѹrkstȊ(fB)e,0w &_[fw4pk޲G<،wAOQ>-LVpkaO!] 5A@iU%6:{B$ّEI(;"I8z N}ʗb lHfP[3R7$QHiaKV8@\O)|/{}j$#k<(Ꮰȍ}%w"Xa $wz|_0vhF{ q.+XoirZҏcwStv@Dݗ&l'LJU)P)|[/(}.1nm[{<vO AWI#g:&x64SQ.Ah56yZ\Yl!<2]BMkVe9B`#yb56}M{ny>Ar]Lx4K"(*J%@6rvf ҳ#[{,B Īⓐ0ϵ5,Z!ҝ8 0wҹz;|C'JuA_< {)LBogreɡ^xy(*o$rɳ`}p=4)tN('LbjĠ`r nv]%!n'hΦwph bʾ~N3&;;[Fe ~LV,Dj+u)HܥUm ?8'Xjl\pxd-:A1i`FI-`_ l: m<D.TM3,JdR"c$Fpwzz?X_'1 CGI\Ia QpUN)o޼lmCTƖ*/UH<]wTpD=$!0I|n5ݜ&h|~dՐkP@usY L2K cC>dcί{ί]f 8&F P#xKJ `: !-DJjڗwC%Mg KzS١}qĸkD\_~`bo`j#KF#LI@DD2͡,IA@!κӟs+#2#ׯ&s5rØ">3uWۘXF){c>3lM*`PPN%$F>:b\G^PMG,íju·US)&[0Xf<.0t#E0@oU/(z\5șF0|hǚQ^. AHfa`jX[_$b?t NuN"6&#z2:3bZ֐06;Uzryl ؀/͗[ fϢOFx#B:[2]B)5Vp|hEiBy dE\-!OxGd-pdYxO7es=j`X=:{g;|FRj*Js"ȈIQ`lmbSZQAPDR#D\JU *)=Q%HVD(q.qM WPG_ކ;PMiOKr]Eg6*CU+ׅ 9' ɏ 13%6W>qCI:4ejoU210͹R]:( d5د4 η'U(c iߋl ?#>Y|&[T6tI>`1 8gAJVWe?EUV=Ag57UI R8|Tĭ6a}L;0\R*^oú.wps`L8tZm{ۼW=[p1ws'ʳ5iFim^AsNwW .?{|s@XHhl1yޱw*K4ye-A+Z0I qҫ 22:s's":|{_أŢCGm` (Wäuuu3ޜ[7W#m !fml;k#FEשDFrbOIl8,L.5VxbRRi٢->z\eKہ i B r?O85 ^D=\Dͬ)r23Pgy^ӛ87_"?F8;oRGkI%׏q$x,Tx!SW+xD˝ahV)w礒ۗ(/K4.Is#*}h޻sӂp|nuqk 4$gѧ9OD6Qj$ BgOxD@˜f-8 PkFqT Iփ@$!Ab%ۋ=gq|=L~¶VG3:unl*٧1xw-0L9VsGN@Pù80 Yl1LWC= $^p#LN8P4fovjRͼY}eF1cT:A 0~쿃ȗ)$$yt :,Zwְǯ 6d 7U_Ƥ"038QsK$5DWrMC $o]K-h{+tNN#c F8}5o"2yrWxvP6 wWdYZJfk}?*eաm0?u;ɇ}IbJFPc21xo-k"%ؑ-#iU0FIDmFQ^gtA.=JI%h z-t>mVFhB5mz84ٝV }t\蠿J}O57:iaÚ>#[X½L՚ՏS.A_DD.C A 9GK7aPJΕ%qRV|qzc4vǼ|+"B,E, E0YGQUٿ(x,6PL"((5N׊FdVrc+#Ջ-nz#ZCF e k'F8!HY_9 kǧ Rڼjb4NT0#jOyT5goZ;Ts=PC(?Ot: g<˒Kqj2jcfk0lj8"Tyq 8G]nIV '+w]5 x?_AΨr \J eF Zk+z9g{YbbOO9bH_ߠ4N \#cDhRbiso<&N,0Ģߌ9,kYAJ8(DNKdV9df =! ,@kAU /S맥w`ՃƂRܙɚ?7*΂Y{*h` =oh=>YABq]WݟMK 9At::19xuq$ AV(4zn^`q;SSKu0:瞴VVnT^a ,m/iv:ϟo%}G7r<^Vv1;J+e^[e链3|la^&Am鐈+DB\͢vYkfC*߳<Z"YXӰ5Yםb+\ztE!T/5!#ٺt uutZ;78 @`V^k;oTxِ5oӃkf)'>"d\6Gi'kaK/4&~Ec .13U⥍rgt5'61EL yhPty݈ˀŘ}ƯCATDu` 0Swo|+\F~O-ᬒaP@ |W|ڼWDOJJ\ા "魧nvk01Nh&}':\175l֮9˜^IJJi wa&, <ۆD_qbR!@0}: KC۹{׊$'άd];:YZnV?e^&tȦ)3dhP1ľoEB#!*pWF`xABع5}-OB@Oȿ@ԍxDwqMc;?bH[)8 vd+25,tʇ P|lJ݆tX+C$LNIw72ZUmYS u5<' >r7yòL@^fT6]8 &0q m]g!Z>\$cI$8Ms쪱}-X F( `8p։2,4|qOXZ6KN#pze3+h Iʭ4#efrHڊ?bcXaMK.O]rOOOE;rj򱊵]7~{NS.#&0ۛg"BF8V_u-Я*!7'X/YJuf{j7= 3bZ!_0ȹ*F}/P<]XÚDCĤԶ9X*4JOՊ?6ʕt77YQPor۬ͬxs\J5䇛Y^1UөNWI^d89^OQfuu4 7'樱-|@nA2=Wz|25~<~4E;;/S>o-ZՌdAn㌍>E'>/vxAzLHRSdޗ$%WsJL{9aĺ1=jlw<Vnq?D9qJaJX8CGR# +1wY0[ (Le+)n^OaT; GЧ8E:wy`'^[6vuMr^ s֔J+O뮀BugmڎϱJj*e62Jiĺ9хض;UF4]P./DNʼn8emHXa)Tb YU/QdhQqRΕq^9Pb@2szbgM ϧ![ wnCj59 5}&&@ſmoK ^^{2\ntcvT!#1V1 _|z@@I쵸'1gTł5vNZ̎q}ذIGԅ(CWW=3>=0;p$$\]ٙd20`NEӱ9\=7d"h[A)_n4%3뇛3> kZ+O֠ WV>&"~\v{H[Xcpu!|k򙦤j̱+Ŋ6 5@aX,uec^Sfw#9%42=i,ǚzH*J"?tQI9G)-mT!GcaSQ,1*|P aTmsd4qڨdh"Bl,^mLC/Zjc^u^d7ҳIcC8&?d`5R7x% L@֭AX͙!gi>n4^`_*XEojXe|}$ ̢/]69ǹpg tȱB+z?t6(0~*_TzhSQM$; Ko^{*?\mD;Cc0wzOo nNpT, oDt _ 9 0}5e9\Cc_GX*W +ɰ빵^ d% rw3ۄ hJ4!C3"\~J&S,Q >ִn/_9F=NRg{h,؞/_Э`M(iBm-K#JIj(w: K#V ͅD 6!;_pa]$ x,lg-b7^rc}j (c! .PXeG3f=m8zԼ%&>>jv?`,?Oʻ?;9ˤ ]~"™2\z٧KaB `;ī3٤ +bFuEφ*Ktnr 3#0,f[}ظ9GA@$hI` WMLd{Ƈcm|m6 3kiB@G\!`/\&PHهpٴB{leX v.6ѝ_ 2b@EPA`+̲oyW^i(3haU!DihJ7g:[ FY/4)38Tov}-iч9 Acyds5pr1m ^SyW~\{>4S7@+`de юUGBD_%T0FD1wkKh]€[]Vz!U7ÛOi,z٥>R{XGcNk'Ǐ*8߱}Mld[:ݾ9\JЏwJ ġdO*1tN%m2ɕ ~K6/Y ?)o򇪋ʜD1ٗ}μ}^AҡT;ވ1f{\~,в QL2-%A5^ $8uWM;TL] L%>%Jx]9)[,ȃ3!i"Jp<<=wb5D`1<dn 'rT @[ r҄l-P[yl/ZTf;[Pkf!PDQcer0*dJ l]m*fe࿬2͹_ke[ mPv61)ځXnLy>6vp{+5h_ޜE2U g6N9r#;&<i 45>?^R#j؛>7Qa_r Ar'ő>4?{D&8(;ިw gCa l"go(Mx$zMz '߅Adh,._*Oc ZY[&߀񜧁.u< dUO+N8J@]g?$ 4G<\{}+02{Bbf'tHA0**Α)֗mi|ָs $w.ڝW_Sqpn4Jt$P?BgjI[*@T8piU-n8YuW6FŸCs {ERzM9ךI,I]AH9Qg?'Q%{Z#Qt|&[w2bK9!e71Cc>W  .2Epi(yޏUS4giK, 7-ű^9d\k!HQ`ڹ?';]8s9H^/dd@&B:~y;CN7-8U#Cτf]tVKyϫ}A1SĆbBB-ǫ)l"8_[ 70rd$OYdސ4~YNi2YϩzfNģ-ozo }+7bz|BSe~S^[nrHfLI0@*v~>q)%,t^ɋu U o.M>fVv³2e*,LgHŗSMבX khmo= 8P0#zA+ @aid(V#O# ٕDQvW}O;jAy.NN>vKTq" +L ǁ9]6 {=A~g^f/BSe (ίpntbXU$c7&h&8<5-Ѐ VRhC:H4`bF?<˜&ܒM3k*+g6c 3RK9KIfæO(KPcҌ'B1PAۡˁį~i?]{;%KY Xn0ߚ\{ЊTV /Q]مF3!dF_Ž4FpyFݓj WB]U,ޕZ BB|#`,/xPZ+/I>"ڢ\K\DC SP2Nه3 cõO4,߉mXM6 /V=Ec.L#xσ5GÑDjgmBC#X=#Fґ?IAbn|c?X蚚Ks 9ϼlF}Zb/0{jweaN0SR؉4|Q&嗗cCk`3sԪQzIõ0MZ}@Ό(/R܉E,Ag3f4K-ծ)7:mLkቭc-w9: aknj>} _uc[À%d8QM*Xdj176 ]V;s jrpvVi (:D-fsGBǏc *'BT [iYOpaR_/1Dͥ1HC(U8Ak,os8PSC#mYuRX 10s"c#)xV,]+.{dO9yk[ضP姙c7S $Uf&+$x OkaʠVW]7IAmz]n\nBͶh 0pTe ,Hل<-{ '2 m NW?yϧ{v;#gɎfce+nާ) Q1FEaW㾈1U_>xơS~ƚvaU[pD|^g $EH}t08_z5Fl{,uqQ3H?.8t*tbvO a)A爿7+ DfuggI+܋PRUXe{% BʌtM7bQ W2y5 Z4ϟ,\f[nO,F^/ ۻg["v GkXsgAkLZ;)h&^8,Igi??dp${]0B3:f׽=y´d*;ѹ)t6~||d÷i  L'2h{tmQ FK6V @]a+A?2pQĬNf{Tg2qLxa=Jz(ImþI.Q؍z ;d({ sn$T}쌤XⱘϺ!"/uȅľ^o~SۃҾJhfHPuIG[tkkEU ^wVD_hKocLvM(nf?EN*$?w/庇_ wВjaq~Y~IO`HU t Z6{^ADω;&D( ]Ye/ ޢ~ߐUZE+zVtM5H2=zG@ҶܾmӨ;vuK2ʻvl(ĦdYvfw,-WRݷټ3{b[P7cRJ,qnCZfTTM>]O 2r-86^5dӳ;9Vիȱ%v()ͳ*Rb35Ԯ7Z.(aSn (N/9҅^2p%`W >ײSY\Z8o(a /hY)L@}ާ󆥐QxAړ ap0i&8 P8m$3jڀԀ~8"n׋5Qmހ}s("#3f @ xcō TW2e5bAq,4SVah2Cl|zYKLr"\sxoߪ5.LFevPv P"vU&YJ?B鬐|FT!H`bk{R#2*&f["rCU#J "Md[De '0X+u߂}5dS^ݾ(.ϠEd]j^Q0!"ܨE5Y VJ@)Fˡ ݑjpSDi9c-JuC񡘘K3!6H- y/'~з}Z2SxN&hJ8Vkؿd~a 8|lS#`w ;#Ih^ 1* C]b:A0 9_>s*N&ߥlJ T;78tcM-o a@O5^WKmRBVRV' d=Y,K}W^4'uQVkQ^e}D+Ӎ*Uryq_`6sDI 7kX;m;,NT5=[+>;kYZW9CiᐤN ?#1RYAsbNh(μ}G{=4w3JWzne0^2-$48KGqhL$R[:I8Y0E(S:!D*J3='RuC[C2OkE Sޙ]ylViq JzV i7טeGDxjhVU U}d۟/Y-`nɠN@B< CшTRA]0Eȉ0; ,=/ k,^|LжT-Asqeհ LIb^&|Lq-œVwLiNEۭ.Ǹג%xO_$ Yny%n+zK/w0(EYp 4T{vRQC/ - (T%`v4+k,S,wI|NA2}^*) yu0Ȟcd>q,S:g>] H6#nq:z'HSR_sOV⭗,h'+AϽI|ʪbK!*9q1eGq@W>TB{GYI\ 6Q)<)#D%9ՙp 8t _m!Uez]g]FW(轓O g!"Z)pu/?Ь Xff-q|ƕ?EyBF%ϖ/j7x(DaDK[b܋QĶo:;hFW6l .ˎBQ>*ajT\)`>F_Y6WF4`DՒZ&F/c;j,rSڬy&z#zk&SmCAXpG|b-;F" '/6z{NwttIMAU/3<,anëLV-g[8OmρQP!E]iDcJ=' Uį½uEa,Vjʴ0aF3los'Zgj bmobh⒂빥$#! )#nZ@:_> ќo{K ~r.&oTAa7~ vl> 2EvL Yvܦ&Uj\>D\Q E_'~ h:>!a,-vψ:%Vqcx\ghl$ġx%:%_78 8N!=~iV~ >5O RUԯ@ds!硡 gaxToXA"9aA҂Bԕ&{ٳ? ^W~a' _NJz1Y0KipH>U浾 {{IGi`Z:#  Qf=@fQ''/CuvDۘp=?>knNNڊFl7 BŊwzszg"/O${hcg?"3)*])`鏩`,<lZ J !CXEn/ЕhI_ЂF@ Eg"<6Zǔ,uĆ_TĦ:T]߼:Z =PB~r*~߼p_GeglNEFxnN҂Wna0AR.-{4'MҶpxE_@Msڣ&jJn=4.@o{hc݉j2MH%¤a@ػ.~5qX `#Ro&VOh@v^=9{‰W{հL?&Gԧk=C빉vD0%Z`Y-"WȽBDٵzB4xOgI{y:a/9ހii2&Qw #t?c-e1` 35Djq)%bȕa *Eկu|c2-gWSWMm$Vo>GxU7^'>U<kYr-KƩhut1}a~׍d "U F!MOJĖ-R 6Uy2OP@, wO7GtCKLZ;Қ,@O,M)GIx^ _ Ff,8s{ٱ(>,\ -c#'lDGWBIRxP^kıB/`"GW;m/gA?"T4źF\ |&wa+K)Ovo”vtnxvI@>|LWk\&׃y-_ZSyȿ=v^kOQH~:߸.'#DrW 6 huy{J"9)Pw;weK:yي ֎d3l&N4 Mo'tٵu'rt3ִn2e3 T%/w@puOCRu=.Tg\38퉈\23~i#D\6ҨNR&AHCU[:v-" V-1*Fy-t5+7t:\ϿmSTQ&Ed61/ca! HaRӰ`Vn"be4֩0G-ƒ!LLA_21CӅPivGKj\ų0 ǧˡN`$U:"{. YKjv K{@^:)12HNgM5=SYh:P! ("삭Ԡ V!И^#BZfٜ64nM|yBVg_| {#-bRbHƖGfvUDOIzn&%C1NZaP X"5^Vl zyo3@$96C>ez %h YV4~0{t">"wFpx Z5S "62t: lѿz;FI1C MJPghh (xlxS F+Pa߈ghH!¢hk,MUy HDG%"E铚Vž7쉹MCU[`2;h{"KC0J>ltcj+\bGyԞ!x nX?e޸ccqҿq?|ـgJa,IfŤ@w{xJ1,=&S*h#&Y+`uKEC\Xw~jECaW>s^ e\=*/UPᆨDiJNAkb&c|Dzҙ;jsS*=ѻ47fSKZlQ=e Z\6^&!0ҳ<'VbI|hps.i6lSrkAdK̦no;~G|WJVㅆ@ɹh>p-lV|'dnt~%ۦoebs!$~.V# 4c+G&d<[~vm5] ԎUyNO1d9`oމKƉ+LM`H6ժʨŰ2^ۡ]O52Sͳ3f)+U] ٩#pd<Kz2 ;$1r:ʎ!d{{ 7lvH zQkpkw"t98J k y{0"ׄ}*! 9%Τl N@}j~?Fʹ9}!%]ESo݂oNܷħ A|oP᫗ A 8Vop3}9DvEqD7:nH!b -=J~ʡ&M6t#QcpהEîe6quN'uµmkX.'Wտ=XAhv#v bE`=4yQ+rsϻ4 ?P~+eezFk%ۆ2_7N5FU5\r׵-jGʌ"+S(X :{ۆ⻮أV [̎1 WHd \ʠQsۑ Y/xgD[RZ}#P6) n~ټXw|dR˖Y1gċxzѿ\]p]5tp3L ^h!06%j3[cU8`{hWQcy^y5x^RFRrtaXq=1ggex]RS#}.>|qBq'淒]l7 6E7o?L68H )@ fC5}\(N0j ɍvQTw`άq%i^R3 wAǸu!ݖjJy#%q2d@OCdg EewsĎTn]1젇 Tu+~J\QP 61.^sE*{Gj‘eaȞ*d⛰5y#>=- q\P_oE L`؅}G$0 /K}m> /5p@Nr'0[܌{d:Ҽҍ1#-Jz #{Zlԍ]}PDZqisYrWq눍(zEF `%/Q ?wY4dr$i[횏tl$v/Emۣy:=ǕltCy4`|d3]_#5E^Do )\fάNj2ݓUؔ!CDm.dԄZ˲j[?~貜Qddݣ #mݟ>eFr~ . kahH]~cx0 .nuPoǁviwb(A8)a:0rFXUM!ܵ Ъܓg$'ح<so?#U1"@YЊA*0[|ד G#u0^D `P XKP}Y7*ogW{O.stFd*/;0OhnN:GB>K<އx.;f#Re%rS6ذ,+dڹ[(K^djvi:e,.4m"0b 9#Gbja.c^Kx%a3^?45K$aL5ŗ. &/{BW۱J.= iP2uAEC(r: O+X Al@LatXx dʧ-pmVkRr!_eg ᶎr2 wi~t OaZ#X_cNr{dOM{VR&:s=@j ~-XVw1/^Z*zvǴ08eM:^)Tȱ L+`xh_9E8dMv_VrJ9})%~P"@!Y2]Bbɯ14A7Qz% YS1g2ݶg6Bc^j8 H״Nk7ySjVeV+ i:JS F+qqqh3RרxبdQN|qa3՜K3Iߎ͈`ᡢlZ -KSԶ.*q ãT|+A"~AC"%]G*q'c A{a= 4]Ǖ)Ǧg yaݔr&s!f G?K\ߘL(]FJ^xEp9Y Νw۱Ծe MHN>#ZN}Ȟ5< Qj˫hXB4jFteUa {@q NQ(>ZxG8<#8d*T3"]<5LXX<(| :\P5`lrX%3 bOA KZXx>@G\)pp-R3^@j?6N7_gF)e&&3i2?ՅܢHO? sgmJ5)5I8Svs9HI"9I YvIYK4^xS|>t=F1: :3˼Od$rns:a6 jLmnZg>8K+bZqہ"˷`XaH"~g ^Z / FDM܌0F{c4|j.\/ەrx^̨sYt`ނϏ{oN{t9Ԫ6R!s3vUS1;Ȑ( 10 * L=tB;=ƞugLCE9OuPqiN^Ik슢6]sp|љ )Mj2΀a BF3O>_D ~V^DŘTZ${$D#̌2xv"';A:LJSr-3x_1?~GD>d%zTLQZA< ;u+1ŭ4뙴%%-˝F]gbf==z><>.?F CbcX_FɓN_7ĎygPlI㨙%#(Qr>N [) >u(yBU= Ci#a3<]`Xtf!|Ы|]7XE(VS.v25v7F d> 'i;muLj&L?d +0MVl&uST@fL`*Q67 ,2A|Ì>@j V*=uS {MyL iH[x#zo{7XS|b kw; )W|[.(^`C z %LUf3thH=x)BU,ĽsYʼnigNamOrH0Vڷ^ˋ{gh# 5*F"p${^Pw%l(R1-Ye\_)D„ă0%ݖYxyAk* LBqS}3ىhkiPB}H[ ࿄l$9wgA\]::I!6uD MQSWXa0Aw\6oU,ߚєm?(WuL&N >9+JtNx4I ey;xWwL5}ZC@\ ! "`J-ũC$:omlb  s3W1ML@'%ks;%uICxpz6LTtfpۧ#BG1{ ]t |Y]u5Km; _s݁ @!ȝI㏻(ӽh3AMKMBBf EdaG44FJHRqC14W[ (0 KbMhKQJ o E HM `&όw^$wiU+6;)O1הrR!pݱDTeJEaOf:#ȭ={HdaV#SCwfFb+t]̶lFk;?b`)rE#z՘Yߠ?MZWkp ۚ8U=h00YEc5=@{KLg2Xd{>qP$Ǣ0ހ&V ᗭ<ML |ݪTvqXT) <[j9X_9oڨBL]aնf_1A" RsnX