booth-1.0+20220815.f40c2d5-150500.3.3.1<>,@fhp9|x̚*DTj}T2UE3aHSQ(a ll];6VI?9믊-s@,;ɫtCzC<-! p\xHZhYf78_K%-%42"%\|uFY?Yxd * Q$(Abs  T## &# l# # # #h#+##!`!g!(8#9X#:7#=N>N ?N@NFN$GN8#HN#IOP#XOtYO\O#]P|#^QbScT:dTeTfTlTuT#vUd wW#xX$#yXzYY(Y,Y2YtCbooth1.0+20220815.f40c2d5150500.3.3.1Ticket Manager for Multi-site ClustersBooth manages tickets which authorize cluster sites located in geographically dispersed locations to run resources. It facilitates support of geographically distributed clustering in Pacemaker.fhh04-ch1dSUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-laterhttps://www.suse.com/Productivity/Clustering/HAhttps://github.com/ClusterLabs/boothlinuxx86_64 if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in booth-arbitrator.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi#Reload firewalld if already installed if [ -e /usr/sbin/firewalld ]; then test -f /usr/bin/firewall-cmd && firewall-cmd --reload --quiet || : fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in booth-arbitrator.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable booth-arbitrator.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop booth-arbitrator.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in booth-arbitrator.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart booth-arbitrator.service ) || : fi fi ]eaIFC ~ cA큤AA큤AAA큤AAA큤AA큤AAfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhbbbbfhfhfhfhfhfhfh3825b439b4fb9aee52aa928b2040329d8f4f175808784f82561c3979bb844aa434f4cc3247747f9d0cf633aaaaa5dc7b7161fd6c4b370ce1a434eb70905b8e2ba0e4917463dff7c01d75e732a5efddcefc358b677d32e7507510d6bb785e8485382852dc24f0fe3c809cd3f9e59d063924368d0f53bcd63033ffedf43dbae45e6ff14479587fa5885590628eff9fed3d0a95e1aaa2bf9e79414c49cdbec33c0ce33a2b917d10a2d7d978d1522c3e08ab4807a480fe2a14404c414233f80b4b48df689636ae458dd1915fd453df952079b0964e5952137667364e71dd21783991d06cbf48943d4a7bc41e5252f99bb82be0f9bc81d6fb63162217afe5dd94ffca66f39a9a5f8fd2ad12dcf406e72e0dc380ecf5f351b8e7f48121602f67549a84b67335e8f08ab5bd54c03a5cbcd3a90c2079083b217df3f2e932364114ec4f08114be191b65a21c7ef0dd6e87be80fadb0ca02b1b3d4555665559383e37d666aab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6a512853c861d483a2c04b3cf3fa66b905cd96a0182222e40b815c51e449769caf79bfd3a69cc925c33e285a5b41da3e390dc71dc014e790446f9e7df513a22caba5f44ad88c10579ddaf425e63f57ea223de00ed3fec372f6d44369c84f117649571f9c930bafeb8a631a4667d34dc5bbb214e9475f47e236ff9f34ffbe7e4056b1b86fd5f3c58e5937ba3bdd8d18f655fd26f41a4dc6f9d72999f6e540153688a2ae3c1302ea7e696bd3c8d575e4c61a3b8973aa7668305f0c506d07d09badfboothdboothdserviceboothd.8.gzhaclusterhaclusterrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroothaclusterhaclusterhaclienthaclientrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroothaclienthaclientbooth-1.0+20220815.f40c2d5-150500.3.3.1.src.rpmboothbooth(x86-64)config(booth)pkgconfig(booth)@ @@@@@@@@@@@@@@@@@@@@@@     /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/pkg-configconfig(booth)libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.15)(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libgcrypt.so.20()(64bit)libgcrypt.so.20(GCRYPT_1.6)(64bit)libglib-2.0.so.0()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libqb.so.100()(64bit)libsystemd.so.0()(64bit)libsystemd.so.0(LIBSYSTEMD_209)(64bit)libxml2.so.2()(64bit)libxml2.so.2(LIBXML2_2.4.30)(64bit)libxml2.so.2(LIBXML2_2.6.0)(64bit)libz.so.1()(64bit)pacemaker-ticket-supportrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.0+20220815.f40c2d5-150500.3.3.12.03.0.4-14.6.0-14.0-15.2-14.14.3fh<@c pbz@aS`_a@_=@\N\@n@Z@ZZ!D@YK@Y1S@XBW-@Wu W@V@VJVV`.V^@V\:@VTQ@VO @V<@UAUWUc@U4@U?UU&iT~pgajdos@suse.comygao@suse.compgajdos@suse.commcepl@suse.comvarkoly@suse.comaburlakov@suse.comcallumjfarmer13@gmail.comaburlakov@suse.comaburlakov@suse.comckowalczyk@suse.comckowalczyk@suse.comckowalczyk@suse.comckowalczyk@suse.comckowalczyk@suse.comygao@suse.comygao@suse.comtchvatal@suse.comdmuhamedagic@suse.comopensuse-packaging@opensuse.orgdmuhamedagic@suse.comdmuhamedagic@suse.comdmuhamedagic@suse.comopensuse-packaging@opensuse.orgdmuhamedagic@suse.comdmuhamedagic@suse.comdmuhamedagic@suse.comdmuhamedagic@suse.comdmuhamedagic@suse.comdmuhamedagic@suse.comdmuhamedagic@suse.comdmuhamedagic@suse.comdmuhamedagic@suse.comdmuhamedagic@suse.comopensuse-packaging@opensuse.orgdmuhamedagic@suse.com- security update - added patches fix CVE-2024-3049 [bsc#1226032], specially crafted hash can lead to invalid HMAC being accepted by Booth server + booth-CVE-2024-3049.patch- Update to version 1.0+20220815.f40c2d5: * configure: Modernize configure.ac a bit - spec: BuildRequires firewall-macros (bsc#1202959) - spec: optionally BuildRequires cluster-glue-devel instead of libglue-devel- Update to version 1.0+20220724.dce51f9: * ticket: Fix compiler warning * rpm: use new package name for pacemaker devel on opensuse * Revert "Refactor: main: substitute is_auth_req macro" * doc: Describe debug config file option * handler: Use only signal-safe functions * main: Use only signal-safe functions * fix bashisms (use printf instead of echo) - fixes CVE-2022-2553 [bsc#1201946]- Use Python 3 for -test subpackage.- Update to version 1.0+20210519.bfb2f92: * config: Remove deprecated net functions * configure: drop unnecessary check and define * configure: move exec_prefix sanitizer closer to prefix * configure: drop dead code * configure: drop unnecessary macro * configure: use PKG_CONFIG to detect pacemaker user/group * configure: use resource-agents pkg-config info to determine ocfdir * configure: add BOOTH_PKG_CHECK_VAR macro to wrap PKG_CHECK_VAR * configure: detect and init pkg-config with proper macro * configure: Simplify libqb detection when libqb is not installed in standard paths * [build] ship booth.pc with basic booth build information for downstream packages to use * booth.spec: Change naming scheme for upgrades * boot.spec.in: Package html files when generated * build: Fix building of html docs with asciidoc * git-version-gen: Use fallback for git-archive * configure: Make sure without-html_man works * test: Add compatibility with iproute ss command * test: fix the delimiter in the here-string * build: Remove bashisms * booth.spec: Add fedora compatibility provides * build: Add option to enable tests during rpmbuild * build: Substitute hauser and haclient in RPM * build: Substitute python dependency in RPM * build: Substitute glue dependency in RPM * build: Substitute asciidoc or asciidoctor for RPM * build: Rework build of RPM * build: Use git-version-gen * configure: Always let automake set python vars * build: Delete cov directory on clean * build: Make sure tarball contains all needed files * build: Remove unneeded OS detection section * build: Make generating of HTML man work - remove applied patch test-fix-read-a-issue.patch- Update to version 1.0+20200702.2f043da: * transport: Check fcntl return value * transport: setsockopt failures are not critical * pacemaker: Change rv handling of pcmk_get_attr * pacemaker: Express intention about logical or * main: mkdir failure is not critical * pacemaker: Handle updated exit code of crm_ticket * main: Delete lockfile when signal arrive too early * main: Accept longer config and lock file names * Fix gcc-10 warnings for multiple definition of pcmk_handler * Fix gcc-10 warnings for packed struct members * Use pkg-config to configure libxml-2.0- Fixes for %_libexecdir changing to /usr/libexec (bsc#1174075)- test: fix read -a <<< issue (bsc#1123313) * test-fix-read-a-issue.patch- Update to version 1.0+20190112.497c0b9: * fix_asciidoc_build.patch is removed, because the tarball already contains the changes. * Low: handler: fix spurious warning on alleged "fall-through" in switch (bsc#1123312) * Low: main: fix hypothetical file path double traversal discrepancy (bsc#1123310) * Med: attr: fix derefence of unspecified value pointer (bsc#1123308) * maint: ocf + script: eliminate some false positives with ShellCheck (bsc#1123303) * test: unit-test.py: daemon will not stay in foreground with -D anymore (bsc#1123302) * test: avoid dangerous mutable/sticky default value (bsc#1123301) * test: drop/comment out superfluous imports (bsc#1123300) * test: drop underqualified identifier in unittest's 2.6 compat "polyfill" (bsc#1123299) * test: remove superfluous shebangs for import-only modules (bsc#1123297) * maint: fix typos introduced in 4bb484a (bsc#1123296) * maint: fix thinko in .gitignore introduced in 5a457ee (bsc#1123294) * Fix malformed man title (bsc#1123290) * Handle multi-leader situation for manual tickets. Added manual tickets to Life Tests framework (bsc#1123289) * Feature: add manual mode to booth tickets (bsc#1123287) * Fix GCC-7 warning on buffer size (bsc#1123285)- Doc: fix the documentation build with asciidoctor (bsc#1075764): * fix_asciidoc_build.patch - Service: restart arbitrator on failure - Upstream version cs: c2389e3020e8a3780b679cf0c9857bd608e99fa1- Build: replace SuSEFirewall2 by firewalld (fate#320794) in booth.spec - Upstream version cs: 80199f9477fb4fbf8809f31986139efe3f4ef790- Tickets: added manual tickets, which allow handling 2-site setup (fate#322100) - Debug mode: fixed the interaction with resource agents (bsc#1046790) - Patch file bug-1045067_booth-fix-booth-grant-cmd.patch has been removed after the code being merged to upstream: * Clinet commands: fixed local IP addresses for booth grant, list, and peers commands (bsc#1045067) - Upstream version cs: d4cb8cbdaf87e46f636c3d06730b902b79bdcb9c- Clinet commands: fixed local IP addresses for booth grant, list, and peers commands (bsc#1045067) * bug-1045067_booth-fix-booth-grant-cmd.patch - Patch bug-1039727_booth-build.patch merged to upstream: * Build: create and set working directory (bsc#1039727) - Upstream version cs: 766d61881b2cb576645821322edda0edea04828d- Build: create and set working directory (bsc#1039727) * bug-1039727_booth-build.patch - Configuration: handle hostnames in booth.conf file (bsc#1037422) - Upstream version cs: bbddf969550969784b76b743baecdcf72796bdf7- spec: fix booth-test containing undesired build sources - make log contain source address of unknown site - main: initialize Libcrypt properly before the first use (bsc#1025463) - extprog: fix race condition on ticket loss (bsc#1025463) - attr: fix wrong order for hash free functions (bsc#1025463) - attr: set time string to "" when time is not set - extprog: fix pid test - ticket: reset next state on ticket reset - alternative logger (in service-runnable script) - allow skipping "coredump nursing" phase - alternative "nametag" provider: libsystemd - alternative range2random provider: glib - alternative logging provider: libqb - offer alternatives to libraries from (cluster-)glue - setup_tcp_listener: close socket when no longer needed - read_client: sizeof(*struct_ptr) instead of sizeof(struct_ptr) (bsc#1025463) - get_local_id: denoopize dependent condition (signedness issue) (bsc#1025463) - list_ticket: fix a memleak in case of buffer too small (bsc#1025463) - do_status: close lock file when no longer needed - format_peers: fix a memleak in case of buffer too small (bsc#1025463) - read_config: close config file when no longer needed - make foreach_* macros use variable refs passed as arguments (bsc#1025463) - prevent possible truncation w/ invalid geoattrs in CIB (bsc#1025463) - build: add proper zlib build-time check + link flag + spec's BR - build: allow requesting no HTML man + use in spec - fixup: sanitize true-false logic for "daemonize" - Upstream version cs: b270a78130f40e648844671b3652919d86e1aef4- spec: Set the owner of /etc/booth and booth.conf.example to hacluster:haclient (bsc#968865)- Reduce conditionals to only keep the default values - Run systemd macros in proper phases - Convert to pkgconfig dependencies- Update to version v1.0_14_g4d35ac7: + main: fix address matching procedure (bsc#994999)- Update to version v1.0_6_g106efdf: + Feature: extprog: add capability to run a set of programs + Medium: extprog: external tests timeout after renewal interval- Update to release v1.0 + systemd: add booth-arbitrator.service (bsc#967036) + main: improve address matching procedure- Update to release candidate v1.0 rc1 + main: prevent segfault on no arguments + ticket: term 0 is a valid term (bsc#952426)- Update to version v0.2.0_130_g9c5c19f: + test: use SSH_OPTS for rsync too + test: fix external/booth ip use- Update to version v0.2.0_128_g29be3ec: + test: create and distribute authfile + test: allow alternative ip addresses + config: support for comments- Update to version v0.2.0_126_g2154ade: + main: add 'other' as possible site reference + attr: GEO attributes OCF RA support (fate#318182) + ocf: add geostore sample RA (fate#318182)- Update to version v0.2.0_120_gf3d73a5: + arbitrator: mark expired tickets as lost (bsc#956321) + attr: better control of election cause- Update to version v0.2.0_116_g88c3d6a: + attr: attribute prerequisites (fate#318182) + attr: keep attributes in the CIB (fate#318182)- Update to version v0.2.0_113_gaeef08d: + doc: add the geostore(8) man page + geo attributes (fate#318182)- Update to version v0.2.0_107_g3e73b68: + booth-keygen: older dd don't have status=none option + ticket: move election start out of the signal handler (bsc#942346) + extprog: handle better multiple children signal delivery + client: prevent garbage characters at the end of the list + service-runnable: improve error checking- Update to version v0.2.0_97_gda68360: + add booth-keygen (fate#319318)- Update to version v0.2.0_96_g9dae592: + ticket: prevent running external program twice + ticket: make sure that we're the leader if granting ticket (bsc#940037) + docs: add booth operation FSM dot graphs + main: add peer statistics + main: add booth peers command- Update to version v0.2.0_89_gd9f16ba: + main: don't allow zero poll timeout (bsc#938820) + pcmk: don't log error when ticket not in CIB- Update to version v0.2.0_87_gf59231b: + auth: add support for libgcrypt (bsc#938403)- Update to version v0.2.0_86_g62eee28: + auth: hmac based authentication (fate#318466) + auth: test timestamps in packets (replay attacks defense) + doc: describe auth in the README + transport: use non-blocking read (fate#318465) + clients: free request when removing client + extprog: run programs asynchronously (fate#318463) + extprog: preserve pclose(2) child exit status + pacemaker: report error if crm_ticket fails + doc: remove warning about running external program synchronously + client: don't allow SIGPIPE to kill the server (if the client leaves too early) + extprog: update ticket grant/reacquire procedure + client: make sure that the client is still there to be notified + extprog: ignore running external program on revoke + main: don't comment on successful list + client: fix memory growing indefinitely on new client connect + client: reference client fd instead of pointer in requests + client: fix memory leak in ticket list- Update to version v0.2.0_50_g03bdf8a: + build: update spec, doc, add AUTHORS + doc: add sample pacemaker configuration to the testing README + spec: skip the update procedure on new installations + use subsecond timers internally + ticket: allow finer resolution time in messages + test: add sharedrsc OCF test RA + raft: better control of term increment + raft: ignore messages with invalid term (lower than already committed) + booth-site: exit early in start if daemon cannot start + raft: handle duplicate ticket release requests + ticket: add -C option (wait for commit) + ticket: restart elections after last candidate disappears + contrib: add geo-cluster.fwd (suse firewall rules) + ticket: ignore late MY_INDEX requests + timer: round to seconds when converting from timeval- booth-arbitrator: fix exit codes for all actions - booth-arbitrator: set the right LSB exit code in status - booth-arbitrator: fix stop exit code (bsc#914306) - main: use /proc/self/oom_score_adj instead of oom_adj (bsc#914037) - upstream version: v0.2.0-6-g9eae45f/bin/sh/bin/sh/bin/sh/bin/shh04-ch1d 1718098075  !"#$1.0+20220815.f40c2d5-150500.3.3.11.0+20220815.f40c2d5-150500.3.3.11.0+20220815.f40c2d5-150500.3.3.11.0  boothbooth.conf.examplefirewalldservicesbooth.xmlocflibboothgeo_attr.shresource.dboothgeostorepacemakerbooth-sitebooth-arbitrator.servicebooth@.serviceboothbooth-keygenboothdgeostorercbooth-arbitratorboothservice-runnableboothAUTHORSCOPYINGREADMEREADME.upgrade-from-v0.1booth-keygen.8.gzbooth.8.gzboothd.8.gzgeostore.8.gzbooth.pcboothcores/etc//etc/booth//usr/lib//usr/lib/firewalld//usr/lib/firewalld/services//usr/lib/ocf//usr/lib/ocf/lib//usr/lib/ocf/lib/booth//usr/lib/ocf/resource.d//usr/lib/ocf/resource.d/booth//usr/lib/ocf/resource.d/pacemaker//usr/lib/systemd/system//usr/sbin//usr/share//usr/share/booth//usr/share/doc/packages//usr/share/doc/packages/booth//usr/share/man/man8//usr/share/pkgconfig//var/lib//var/lib/booth/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:34247/SUSE_SLE-15-SP5_Update/a06a508e65c04489d7b62ad656fabd02-booth.SUSE_SLE-15-SP5_Updatedrpmxz5x86_64-suse-linux directoryASCII textXML 1.0 document, ASCII textPOSIX shell script, ASCII text executableBourne-Again shell script, ASCII text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=72d9f9a067b46fc2ab7f2b20a6988ea234ba148e, for GNU/Linux 3.2.0, strippedtroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)pkgconfig fileRRRRRRRRR R RR R RR RRRRRRRRRPRZv;E&4y!?$utf-8fca48eef674b905af96172f12fba4bb743991d2bb50078dbcecdcddb20d47b0d?7zXZ !t/n]"k%F5zf2ֻuI>>G5`o*&Л$+]O}a1sD a6m|ڍ<މ 4Zݸȧ2 'rb~kn U02s#BIY}8a4<̧6X9f?F N>1CJ)cw?;%6^d!HfY~R[liͥiy&;L>2oH$lp/E 5Z9i W@O[ 2]py2+Rz癴y-Cl9ס3Te*E bN3=ogsU)C8DH-4Eu=,rGl~O:.7a<496j6-ȆeV$=ܬ, ^^u!i_LkbZ$Eux*l5O%`hGkpV>u-7K~—QDj"yi?:0P32I!&cRS:%TTRvg:ɹf#"= #oltX\08Bsq3,YΠ]eJ2OC2ꉃ0Q%go"VԴrp^Y)h #$dDb#a nӳɜUHG `yB1|/ J|[^I09Ε^H];) `В 8н-4Y|\dL޺GRZFdXD.-H\MBˑKfh;](A2[7= #{"٣l+Bݞ#K tPSޝGSŃ ڥzZ'd{hgjg'(IXy X~~k/B#`=†ŀoG݌$L %Eu -MAn>L}YAW;YѦ~+í fPhŭf?1d&|蟙,v掾CR;F(L(#p>D7ғrӇ"9ȤAz{O%OŴx=MA~V ] rsԵW^`NSP%HL{Bp|81GĊ+wF؎v/D.!O 9$(^dP\'<+^ ܘaRnmfDCmT5׏o\Ud+E[Do("9:hGDARɾ*4 pZBMhbtrO݅Q@;ks1:@x"&w_#H.a@ӈ>Jr=6bYwK BIQ_lDl̾ţ9Åʒv=IcOfH a 9%i<)fD߱ω`.dvZxg !{ԥԣ]dwR:II^6o*')+Fi >:4=d VQ@(G RFD<7x~F^},PCl#N &|Gr޻ |Mn;j}2\K2ԺY8I@cUlko(2Ƽ&BW>Wh:?i^tA׏!:m86Oѿi9NZ kHsub7W`Ry+GyIsr`?yЬVZbX'e[F5~\hBU2zC3ٱМF*&1da^*H߮sr8$^D `=.DI0ڊBI`-.NG$Y^tRo1JFg]~/!->gN`',Aֿ; x߭ИnljPL')X Mq:8dk^3 4\E/|2_Yr|d[zV]DC>ϪCNWB=jO}˾GMK ,PW4dp{GePM `uQ) I1. ۶/ssyΣj_Yf0˸e/LW\ Q|BmL;?1i,칶-*Uy_l@ 2)#VNfND@ 5Ve1BdoZzH9dr#ܥ{F 8q9 P I:[/$W<ىʼn3pK3egU]xeT5JGP@8 |"@(͑&I7ׄ^`cYx%\F婈pkT֜N9}vٽܳeZe*fl'!ׯOLksa.8ra L X)L3*;*{^-*W@AX)ZǨK<X/]:!.7_֧1k<= Do: #`щRHxMl#$KEZ0]+_,[NWh5gMC &ل {1E-g$1;RfoF*bfvQZxO0-dzm0HH4@z~^yE?5tCb~S:lV^S>W,g {072{!X\ 4 Ħ{-nGHv $')5i&KVlend3}S<7~J@D. qun/yR4=ö.SjgdMѵ X V|E?U~嬅BXp#kr9u3*?hi-GKuy|O <ZQ*tED&|uu>~9.j P4}`sڗnxV՟FwqbvN#|qHZ: ›GyﻜBMW 7rDyj=Ud$E++]}rǫ[H=:*?d!,C/q.c+P*Zj2}GYT4n 7do7 r/,5\;lUe)_]m$M@{:Q!Jkf)͂<cnl;:ں){tzXϝ{dr4r@(yO+=X^"G+G*r&Bt ƻB}J:8@' BlM4 5x&+p. xh9)V[Rk {^C7Ͷ!Ȉ|6;G+NZ:W$&Hiv=CV94YSxoǪЃSyy@/ m 5CbeybۙݞZ&)Gpk7%`\\{JFo!o*/Ӥ.9jY(ܲgwmEsHq;8gfh)ܠn1%ZiSo<+|tA޹5~M*m}7ˉ AxANcECg(|m=Ne%8MvA8xЏFA詶xüK  rxZ5W7Bg`]=|>x* f/@SinbcZ?utM96[y!wk_+vtZz?Oi$emWPN?2xZ[fV>K*p E4 oP>H/N/cb.ν ;u@-b_6eؠ\e*]7~ck(}6%Sw!yF$JO~KL~IDbFl$l]w{Rۏi b6g<  K ϯZIϛ#}iI^Y{#0WaY {t'vPu=҅hnpX{3QVZgw&fm}nyݲe$z$9IENu-Q48ݮz0` d/eZN?;Egpl~jT`lnD)4P)?@zt3I_h#nFR9ƾӧCh 0ް1Lۚ]@uH1oCYS#4+Ճ&ܬ^{^!Vկٺܯx\ce(6u3h}_}w-AZ.pܺ_My)m)[N|W3uǚa9oH.z[8 اmAJuxįgK?T,6 )bxsԛ‘\Q#X/))fZA in+r L+ @1X*/ pBdə)dlrbzf;I͕ƚˠ-5Wi &a}~S"rs}Ei=V PJ(_shz,m) 6WgܞkfSѵc8#t rxw:~]L~!j'\W[@,yM2J?} fc0KH ~DesA_Pkj^s+93Ye 6BýR\ĝCb"{F#\e$CriF%6Sa"?_<`0F݆m.soJ $z!=[2ldISGDNR/IINV _ptwo͑I@`Xך|6IlO 4p&hRs6WbbnXUB|ǺW5%XdvbX+n^ti<+;d =gޕwtȳ[V)Zsb(3,Ǻ8tm|~@HЧQ![X_we?@<&}8;3p(eŜF"x7ՀZ4m:ޕwqhFE2E? ?i!8sr sgMxU:wxy_ ) l1 /_eeh+Sٌ sy)sg&r,TݤB|6DplSצlܗ,ɔX@l'ňgHrB `s rf?,oj]DD_ 1ρ|q池h c2G{M0# cҿ[G,;5!Pࠣ=ʕl*D[atki)Ddv)CB[|YfʷI Flnހ0UGuxS,)) 0s*c,V|8L͏HZ5xvX3 ,h.Pg[A>Lvt ˼ #f!>MJYרy" }]~D<˷J*ͦ:[Q8Ou'\\'M/@,_.Z38g%H3<ɂ?_93c9*^Qj!}*cOlwх(9B=khi xT$Y~Z'^+I{ˏףJ_o*;$!H4xosus_nzZ `qkw^̧>i=HU)J 䶗$kA!ĚsߏFYX$N>Ay$?0_KN r½q!ڮ{9 1~Z~82O-!RrjQӴaA~GК}zO RƏƺ  p~OL0Xʿ[#A!5+4GzFſ=PĢRTeq#Ɣ5@-p+l8+@=x|kvhZyѲ35TsI,bJ a)X-u5)3c%K0/Ӻڡ_7:lPF{?W`rKw͏tK&"{ԤIp0CG|Jz]wˁs qNJC#6\Kw{L L9qq|y3k(08f@!Gx] 7]A(1< wPA4k4ʯ:}X]Q?V3_X7׿cEم0Fh 7i%~a'9`kj#}Ouu:vkXeS>0/mŶ2 eK{Ny?SKm!s8I5v j&lF6K5n=H rḚcnwr%2ۋ{Lh0HK̓ū$oE FLCI˃l7fa`d*t=O_iw^܉ĤCRrUш*7?,7(=vAnOV]{U5I,HOQJ-rFDutlҽDDN~pwž%u; ?3کS3@CACޘuJpj[ҍA䜪ג^{o|tB6?}H)/Rj()+AQnTšX |/N(N"i:yQV7W_$[^)?v(`q9 [P=zs~q—qmOqe/@}ӏpowIyC[p?NbNh)d\cv-+C 8QK7a~۳݉[Cc]A;u)A\ݙ jf3T5V{mJ;9-+WlVeȁ]Ӌ1]\-/K_ǯ=ۗ{re ?[=m.8hQδW!sc{%;$ޤVI l0"`zflu!Ε\V\I5m}NX'Xd«UEi4lAI3Z@LgK&^C&dܕ7ip;7Iޚk;[gX;`жg~`,1=5Wly'aSdXr>c6 ~q-imFB. 6omb1Rpd*o43$C 8^ "PH:~&M?椶.-'vLcs9qQw~(\ j8և=NpmD t)œ)7,PGOٞ7wī(k|i*Ǒ@6qmifUZT?׋zßcoē^}״8tGQ{NFZ䅪'$dJo #1M^vII~ntw[ԣr #}űdnr.B_ "6W \m*4!,Cx.Q NNjnWjUdƼ! _; 4 Kfeozbe4ٺ~OXUܦ×e=쫿좲)*Ӿoq;@X%-fQ$mun/h!eUCRX(&a"0 y~1H~7XrSʉ,7\ji0&eۣ"#Us0pvyA w[rlŨۍ-`yCJ#Qc"*&yOU° U길ƛGK'=_-ƌcQ6HR VÂ%B݃Pw~!?x !,߲_tY4Ḷc-bZFZ*ᖠew;И4BFV b'WYELiR0g fʇK۱ȩakwܷX]|A_ő)LBuN-*lo"7!ظIӨkfgiHj>Ě})_BJo)QR$RbrrcxHZ3pʕ%C|z47^jݨ PPCGyaz`hn_/_HϿKlY4 }""yQm]2u|<^$53[w/$>d UNOVdm['98qVx4%h`ɧ@+9 $}|!E)VDTx * b].uav+%Mw7Z(k6f}GؖtWL3@lrE}"-G~fNnM[Ar%==!'L24{*yU E(&T@:Jww;ٿ hRT݇.Fk9_p%o!ɺ^ɴ;и<אn-4Yk-}*ynZ+{946-f:16݊^ ͭy_8v2p&g.O]T+Q #2BI_ۣ"ͼW$TZ8;f%L]pcc;=0szٗ7ڻ p@82=ȩP ⎌#g@Nᧂe5(xޫ;8b` NH[cWKN]H~}~%3&#g;&!>}A1?E} g)ߝ:_$NQjGf]:r5QhUUBfBHa&g+9ē`BwfsB* +-s) z#W ZxM颮_.S%qyYQ*|_ )*]@W0h,ܐ3K&F հ?[!IbU^u"}x]*ƮۥD(2'TC Cvm$#HϒUk>?IBN#f6M >Ɲ,[b \?ZvKFWQ/nd+M.Lrce/ DžΣBw|v~9*g%1{΂{x=ڼ2LL󲁉C!Ic= bU/1J9zX"Ѷl#~^LJbw,+4/i#Uҵ1ٻ^f 0 _J?(6 eoH}M-:ʿPڣ[L?ˉPD%YTд*)\O HtS uSt+aYy-UgꊨiY[׎s.p""jr3AyN7mMMHIJFAU3sטsF|62HZFe7ܰIESE˝rW/!<_u3~rmIo 9/Xp͎S}5 t*eU,Pe$dO+ƨV¥MY ɷ=A.ÀdYY8:ќRh\m2dVmBKYu?_t;؞1V#^ r `ɶJ8Y~L))l>_ΉBûnsFnsmA2GRU/=x ɍJSrVYMɓ6J\Ԕ )4Cvb0 2sx ԭ_ 8^ */OwTJ˵S CS|P&8Mok,_8NέKr4Znt 4-L`ɿS xsI`JQuyB|?+[+nZy4C1bm^KKT`#D" 3U4`3cԔ%NY'؀р?ɜ'8\ė\}nLT!5-a2h;W_7*O6im-aĔG +1/Z{#ȓ`\G 6h` @Ȓ'޺mB% ƿE+dz;.8LE2^jbqS߬xRfM> qroj \F/x_wίNeOQ@PToIܷR[6 QA2C[=.I{7KK̩vWC4w==cӸM*L;^UF4C/873,]dvg=!F[G+]ᑭ}?<݄3g.o).W|uR5B+<` 5T~ni@ֻFB1uТ3_!bX_*vVKIQ p* ]A/u@ĚK_y488+9*i|q[XpkOdCKfeC[2X/8oh D:s]qlf>EN8;YX%;>_P%or4Ifg1~`鷢6;Yޞ7d>B+6z|5Ӫ`"RcY<$ѫNL ?!0^W|:٣fÌ[C2sq ֢ۢ,y>",6h!%gi6}@#)mD5=;eOQ٣llbL_W {ZR*L=刷A6k‡0̎N{..ΗLEMmf00qe12\Ԡ\Pw'7l;C+|-O+.[޹]<0OǪb Hl;s=V,Al `?vDh FdW^+aiƥ1Qez쳸iYԑN=K#Z2Q K28.]C#08M/"yM+v*;SR68ڸ+YyUf9^dPsYqC1ĸ-H4p"&Ȋ#8[ ; $Jy^NuB9Q O4bdrhLJkX3 ||@<ЈfpWgs%}UKA0ZD&`N ^F6I柍"@)7ȶ!EU{`lX( i zoY=4-;0kY-imM1*O7)VoS(B U!?yMdo9WE5hp[u򿙷o!e69HJyl"YY__HX՚ؤ!ךqW), *J5/fd[0y)hrLetS:YX@}Xp0)rCӠX2]RݣL3v WA*SG|0\bxK?oOei+Bk\|=,@nj;(ng>ejiv CKvxKͶp؅ɟ:.CC&FrtLyF[M ϥw7S.lN:(gbݮ)XnCj;X2ڄuy8 ^("?Ľ=TTEپ* | 4I}r[}/k{SEokCwlpn,nVNaQ-2Twb<&ɣD#&fe9 uC1ds'fx!{'{hpD*_7%e`doوm9ϤE(3AfHRPIJ}=黉ZgSLZ1(r>Y[[EaoQAҔ( F5xW2I K;@#gM-෣pxtᙺ94+{:uG]) נGv`C/ǭ`@Znӿp'|&3u k[8\Ke-tf"]O_=cqR@@#5Oۛ8 ^e5$q@Y~݂o77n})*Ϥ8+xF:L"]/rE[D^d(lz.(I oL4z5 "ꡂ ᅪG ,Nx" ; MW70pdP>}]!_z\4i7= ]ҭ`i 6/9nWҡJ@.Ft}B? 1{fiz*9LR8I((X_Yj@-jZ:61Sp=8,RDhEmZm"_`ӚI6QJVA3HB)`2^IJ! WJx8<ĕѨъ L=#3#J34oK3y\o#3&`~'~J V@IGȻgF[S!ӉK*:yM4|!}-$xwβ'eO2nqunr,nԙ5HPV#fp-T%,ڲ/0Eyb~,q@Vl ݘa뺟5Y:(9MY0 DN9k(pF2^QI&np)A(ڜHZN!#)̦圜v$(vF/!*0=@78,5dCSpFۃl'D}ikK/T~vYo6t<b7*Jc N3d=IO/Ag_-8?B!H٨HqOG>YzS/l2FQyW7%o!| <'knFt~1+qǤA8vGIΦ*?(B71zN9nC7r@I|Og'^MjrB_a|%O"Ȯ&:F+ h0$m⼵a {q mLG^_4#Z]9[Xe-M9]yf0;4ޔw<+[?r}X=lPp+2`*G [j#ݜ=.1XOh}U]rJW8`YDMFzVA若%}g~ajn ^#۲mftIF ťLy{BC) D,'_yĹ-.?8VO(ʑ!_Fٞ=[}N>ϕe5#a}l~SNķY[C`V `, ߼[T(c,-%` bSLi#Hjќ.V~gV'6~'oe/Erʠ}}~,zwpaśt_jli ssboǮqaDX]F)4 +'V)4Qa2oteC{l%9aV!5Gц{V<dz]s!!*D"via!HYs߷OxbPx=H V ,ki9*JIaobMW7iV%}E4vlcMP3SYcK2N$KX$k6d^I[a@lCPqMZ s2TJ=u/J}a˖`>mDEt:ioZK;:$y]blB2GAdVjo?, ӧH_F0a_r~u2{arD>CsUAXs'LgW"DAKxtVy ]ה#ޅn͹ q4O#莇s2Rbz{"UNxVZӶdjk$eW,loEj7=i^t{R&l:6> yW'cF c.S5,爥kFP+"^ݰ, ms#¤d;9ﻛG\+KK6+JmA\ו7t }3(#WMFx5'ghҬE VN?8 б._uըW0 L*+Ϝ qCs KUP9/CAW;u%qk?frd}.lG&aE jo=p!D>͆gaxVI2$.&=9@z%^q "jɝg1ܖISW/ĺ |Aw?˶Ig)R=2b4;" :#0\ jGXrt/uj~>/dy1A.w\ oH⥉>;c, !Pd̸:3~!;ɔ@uY?b-^LY㦺LD5@t&tIm>wp13\JQ|XHZkip{w10˰B>F>tA( n9Oʔ+ ϔ E$]#d@v& 7[p®O2 h*s گpւd 9>0{~R1l!=UwwecMHQ0y߅CZ=Bvlbß`q'[>JǷ/T(:ZXU;nld_i GJ>>v yYqf<)` OaBI5$KlZbz]+P#Z&,)*R1!a(ZYF/W0]ǦxLEN\95h q[vU ȇb0)W7x;Kkh7<\7iQ u 7Ur0mH%#=aC_ s0 QQ2*?͸',Uc{?ӷzpwܐp R2|sBX6w]p}vqj;]xKDnv)7^PL&)&@OC~v59bb2V6 ףK*9nDD~ ;1yEB5r$fDBDwoyL -t#cQy9Vӈ6c'uM3.R!}7˲^&v&0]N.-y+-`A!&s0K i:]"14zXce,ƿp J*/y<ŦA@r.[$*cutFBRlt` \dXR+$:jrNiѝovrLKJ7a|H(.*4_ń Ta G}!=a.Knq6'KPMbR{!!+Ԭ$k^ͻ8_=^W =ŦZrRAJ. &mQ{ gEB Ii.)O&Qqj8ٖ=R+.(b,)viN+HNx9z +iȚJrֶ@nO-:ރ @h2폦taPA&)s}*f, 1@fF=;EEoSk̽`[z*-oڐJng̩QTe!wY0:~㙾um5@*?VR ˯ybP6"؆"|sjfzYxA$2G)WΛ4/z&4`` 0"ERWF5^dOta4>{~! :^Uk*Q Xwc& IڨFg:hu?`y8L']㑒hzV񼂼8&aI E.z9L=6 \ІlOOZn"b+5d (Fob)i`*{.;!-fk-7@q%{sdh `Jogk*$v}d e+~}afHOHzll?&GyqWGNo i\M\h~aoz"yȀiwhPQi~<ڎǤTiWhfqZwAxB2XǧVHR}l0r&Uy!zFI{"\aT+@y LbamTINZ)tbGŕ\=]g|eVi(4KZ-E3` _"?{TW浏 v >|@]"cACn/5MxzdN|3|6X1 dȞy#HFEK3ʆu4ki}ωlZ:#6IXgϠ"c{W.ECLn]6? >ֳjI|?F7HCl'KImKCm>*0:Qu(EzMp462ԸgMU͍M􂜑ͻ5-F+WЩN$̭22Ey'x|M};Ux3 *4]'{sH-Iγސgoq=dq\b՘ -~z>o~k$ vy;K8nd_MaNR++p}$-칰w_ d4m|nM+(y`J?iINa]H|04.i M+ KO -"s]? /qeJvF+@49,c z^;!v^Ȗib灙+cp |jڃD$ zGaߨR\ttVN~yPH6@ ƙx-;'^ô,jNw%gN/ AR`ʣ)i Ytc]Ȫn[Kb 6‡ew*u)"ǔC]AsfHڄvJCg;"lu2<q[NF=h-VKB' ~ vͺjbӢ0vucJ3X;kTXM/6 ~R30 e)ּ1bpV (r%r/U>c3tL{7m%8 )f0rBg7?s I>-~# M{ {\TTYnךq3vAjH1?)d`y' xSi(pKJܮ^ѝ)8.3@{@c6s. KDlYsXq9Znu4X=_ۭP}\W?Fj.L)HHSHjn9'D{nr♐ҽEBmY@"[!YlRCKX=#tYvkwr6wކ` r;He42O]=j} f9+I>.|4L֤lultN@ w&'d:0q@Uބ+k-Do?$"4Gُ:ALͻu8w2^d7gZh4BΣ4r5-2~%392P\@Ĝd!ΕAVZ={a?ę#^sa~ϜәG18ގ#s Z7bGFΥx1VIpx]pSX_LExjȯcnd)9d .RkÑq]sm\u,ξV̖ ?ήx>cv&ooZs-K~:!?P$m5hO@kٺwޣ.Rq.\_ +[`h17KtAs)؄RӶu; Q>!8iSaC<cV@fםvqͽIœ>VS6!}lvۅGS\4\UGW@)Xt=Ul vqj KS+e{Rצy o1/7:u(dIќaQ-ь\M_!T@L^ʂn+-A_ صZ"l iT[I-GoY;8wA"YJj 4 1-xe*w5xևx Y2׻E늜@ ٝW&%i=wE ɦ>߶YN]GRXsY:+t0+ZLrltF 4/Uk%ό:)|ҕ?*V @v־M*, \A]gmc).vzUgw" SCz_s`dMm%UnΩtX@\4݆3ӣ+?Jwa9(? ź4܏D//͚a5[qT͒nyn~d lye(#4:x% | IMJl<g⛜nZsSގ靠yˁUpP K-oJ ( H|]^ /ήn>6k¿J̫ 'J ySi-X?՛EPY:6i;KI:ŇC⛤͐FJF+]{!犠Lhu^ UvV>BԳ\-Ho3jK):ނ٨TȆgBtݼ -!1Kn,7N`O5R Rɗ ܞ<%>YPP_P\4 ,W*s57VMLU7!aܻP~NKfRѱPz\;5nCTpPy:! } Qj\;`Vg!]x.A сC2?31A88x?/'37;DNC/J [lj?/1AݛAQ1u+Q"~mT NZC[+> vvVGb ض/ߨz~Sm =`kfP:8sQrDbP^MqܗIN9+Q!md޹րa 3F$# &Z4 ; DQؿ>,Oa ض84Yrկ򠌪YXI3 v7ݎD!.`{^(m1pϺ3ff&2Gsh NP!r%9 ˆIgN/߶ѲT.wMN5K8E3 _E]t^Q:S9uU+>M?]I(-5.РOK8~;PFLpÌOB=XWI.oBKŗgKI_cc  r(۔c0SffGVC=*hZ_r{@{w^D$YB~ 5;HN~GiGn=p阴.u>f8-.JY]CNsB2nc;t蜢/0j4Ǖ%u%g?}EJ[2#ز="oH_Kd9~݄$3z?] Y 7ecWxaUʠj]{*3 mluj]YO#T- DyX/` 83AP`Y ~޼=iq*bDkXY,S (^GFipN0-zéVv% s2%tXS5^4{JEn |Q-/*MwZR `r{6#VV%4|cVkxv#)0(٩P (Sѭ{UΠ"ݻ;%Y cEHիCtC! |yؤ=3 z;a9>ѲVMb DgfTP G`n жZ3 _p0BjHտ%ZOjb xx&ßj7^=[^=`?ƞjI;w4"=֢W:=MݜjHeCBaVk%+r`]Yh82f@y?'WW!ncNeӎ~{hW.o+4boOt3>0o]Y=jeAzn| "{jIq ovKu{ y[>s"xֳ˅yEloI١/'[/htϱ%=GP^i1⟣Pn֔]^Qf|;BV-4 A!kbٵƪHYFrvirl=2 S r#,]+ *T0kl}G[\=v]\Y8}mS|"#|RI4v{7CӾglN3tN)Y\! S_<)a]ܤw#?gPDp \is@ge \)CW8(^8tR2l%?H-V\a|"n. D$]2R%?;ZcHf双F [jdP<ǁr<ŧ蓸 [N\E>.JFqN<24GQ^4L; c,Αjگl0bn[`GwT~܇l|_N܁TU&"6B Br1y;gXO=b7@DuÏJ }iO!%H'lq 6fTռ08F Bd}F΍hS4թgT4ٛQE"˭%h^/2@g/:֏C[SIkbZB C퍬ďt0ư ٍUz݄Ѷ*~Vwߒj60'Ij몕T-bj\܁v[a31`A側tzϕdr\2"Zg .[J _?mt|{ {kF8oQ1[nu4 )Pn^zw>yj8緵6onb:˞/qm}`ט,TWY ԧ.ҎҥlK}/vAΊOxY]i\³fu~&T{~Pf:U pO6ݫ9EULfS 2)qM\Yʓ^Ƭ-c$1ڻ$cU8D?C^,cxۼ)Y,5K Ij!gF% *?ҎսK֔gokPN_QnM*ڸVޔ7֋PfeZc3Saʽ6jyU_08R;]>aW%(F6?- jxz?Pz'>39EF7+ά!,Nw/nl S_P1PSr /+l^qװ(SH0 4P(#ľݐh1_+7yoQ\{=WXԮy> '2.CF/Y8AX=%<ɏ&&`'2ȰwF;W