booth-1.1+git0.09b0074-150600.3.3.1<>,fhCp9|++lR6џM7UT 3ۅz\?s42p~ = q< Sau|C΍ %iGd%JU" 5;4 `O&_"5˖9k ΊZXS Q1 /xs(p.t (D*H۰Ea݇GϬ[|Y!|P!Z{ E͒y-t&cWx*i$j@z`P^'Ɩ3H" +(zZ;|{/>ӱ>F]H?]8d & M $=^o  P## "# h# # # #d#'##P (a8h%9%:%=Q>Q?Q@QFQGR #HR#IS$#XSHYSX\S#]TD#^UbWYcXdXeXfXlXuX#vY, w[d#x[#y\|z\\\\]4Cbooth1.1+git0.09b0074150600.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.fhCh02-armsrv1SUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-laterhttps://www.suse.com/Productivity/Clustering/HAhttps://github.com/ClusterLabs/boothlinuxaarch64 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 -x /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 ][Xa IFC ~} %A큤AA큤AAA큤AAA큤AA큤AAfhBfhBfhBfhBfhBfhBfhBfhBfhBfhBfhBfhBfhBfhBfh?fh?fhBfhBfhBfhBfhBfhBfhBfhBe/e/e/e/fhBfhBfhBfhBfhBfhBfhB3825b439b4fb9aee52aa928b2040329d8f4f175808784f82561c3979bb844aa434f4cc3247747f9d0cf633aaaaa5dc7b7161fd6c4b370ce1a434eb70905b8e2ba0e4917463dff7c01d75e732a5efddcefc358b677d32e7507510d6bb785e8485382852dc24f0fe3c809cd3f9e59d063924368d0f53bcd63033ffedf43dbae45e6ff14479587fa5885590628eff9fed3d0a95e1aaa2bf9e79414c49cdbec33c0c99cc5ae6ad04791eb63fd095a62d769add35e551b5dae2c267a0dc4da44580189c880030ca85ebfc195505618c02a536539ba6b2e65a304099aa30d85ccf70a8d06cbf48943d4a7bc41e5252f99bb82be0f9bc81d6fb63162217afe5dd94ffca4ec77fee4ae79e7c7832a2024e7d9cd23d0fa46af7fb9461ea0a6172a2810b63b67335e8f08ab5bd54c03a5cbcd3a90c2079083b217df3f2e932364114ec4f08114be191b65a21c7ef0dd6e87be80fadb0ca02b1b3d4555665559383e37d666aab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6a512853c861d483a2c04b3cf3fa66b905cd96a0182222e40b815c51e449769caf79bfd3a69cc925c33e285a5b41da3e390dc71dc014e790446f9e7df513a22ca7098541bc80ea60d62fac32fc465f83f23a9ccad1d242803329c6b801b12ad327c3721e9333592b78e36107f544740b3baf65d5e87220d68cfca4e4d35d2c14f9e41bf609825b4a76b6c38365e55340118efa3856380e49b5b1d302161d0976c83e30d33f3fa947c8dc44327abdff5c1277d206f35b486dbde2b7f84d4999491boothdboothdserviceboothd.8.gzhaclusterhaclusterrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroothaclusterhaclusterhaclienthaclientrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroothaclienthaclientbooth-1.1+git0.09b0074-150600.3.3.1.src.rpmboothbooth(aarch-64)config(booth)pkgconfig(booth)@ @@@@@@@@@@@@@@@@@@@     /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/pkg-configconfig(booth)ld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.38)(64bit)libgcrypt.so.20()(64bit)libgcrypt.so.20(GCRYPT_1.6)(64bit)libglib-2.0.so.0()(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.1+git0.09b0074-150600.3.3.12.03.0.4-14.6.0-14.0-15.2-14.14.3fh<@eSa@dc 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.comvarkoly@suse.comvarkoly@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.1+git0.09b0074: * build: Prepare version 1.1 release * build: Make distcheck work for non-root user * build: Include icons in release tarballs * build: Add release.mk * build: Add gitlog-to-changelog * tests: Fix Python 3.12 warning * attr: Fix glib hash_table != NULL assert * attr: Fix memory leak for list and get operation * main: Fix exit code on grant/revoke command error * spec: Migrate to SPDX license - Added hardening to systemd service(s). Added patch(es): * harden_booth-arbitrator.service.patch- Update to version 1.0+20221117.9d4029a: * man: Add generated html files into gitignore * man: remove literal paragraph format from boothd.8 * man: Remove italic bold formatting * man: Do not format __defaults__ * man: Indent peers counters * man: Move debug description to better place * test: Add test for unknown/unexpected keyword * config: Include protocol in error message * config: Include keyword in error message * unit file: Remove Alias directive- 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/shh02-armsrv1 1718097731  !"#$1.1+git0.09b0074-150600.3.3.11.1+git0.09b0074-150600.3.3.11.1+git0.09b0074-150600.3.3.11.1  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:34246/SUSE_SLE-15-SP6_Update/ff417759ef25d2ca6ad8cb6e71662418-booth.SUSE_SLE-15-SP6_Updatedrpmxz5aarch64-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, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=ede98ad9ef4b55888e33dea2c68a59f074877ea7, for GNU/Linux 3.7.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 fileRRRR RRRRR RR R RRRRRRR RRPR2-j vutf-842845de4f48336b8338e9e9474b1669c15e425a2d5b9a57cb64519c0dc20ee6e?7zXZ !t/~]"k%2F5zf2ֻuI>>G5Zmtf鬝,)lڡOI0gP͓P,vwENE%gv) /`XL9 foSS\j/yQ!WanGyЇ{SmrXi@Z2%!0DFsr/$7ԋUm!o#SO LLéo qrKvO0'dp|!mߐ"=i>Z5\x!%]r05C6:ڼ - # {vjmV  y [-Ɓ|7nO _`JzXwyjqs49mn?H҅Cңm N`J1auOyxd:2:˝!0-l2ѨR&9qC_&ITII&ےG2\YA,h/K]*ZW [*v+Xy!,#m"rAˤf "~0 qYzq_f#xܩqs}|"k'0/kH]Dwu? 5yx+7BX 6a<3ưTMuO9ԁȬ6PAu]1r\.BpYIYü fY0)WkhCФf5c'4ϴLwk2JQR dzPd&D})7,`He Z0O=~vzJLlnp3W((cƎ6$ԠH߬5]A-ꎊx?*+`){Uu>[>`濣C@2*VF2^x_$H"jq-Z0ְz7[f{RޫuMς/5ڴsDcR.7tb7/ih_5 ~y3 m蒰K<^Ei ^?1. l p]F7)b;;Rkx0EnȊQN)<&߫V7xI yN y<49zEjqrxOzxTq!U ?7߉;DXu_ [ݘ,~G(/eb j)eS E]䏸c"|؅Dc}9g@c{ŀKI4;/k,7D R&~Ad͚xRQ+ [^VE@#Vٳl؅W ܻS-dj pZ7'tBۛG:1:;~d-ScY/CaKȢA0dB}I!^l .M ]VuX"}9'$J+wbƀ9#iΖQPvu-)vDɴ_<ʖ"7*6hz"q*s$G$f)wYl}6v 6[g1dvV e±ƝӲ} !:6kj@.,Q7<2OD x]nG,M"l1FJI<*vtg@IoMch7:]foGLIgMSM?\~=2xcB"c)CK@9_^OUFp YjAj+GӜRc@YHj&ʅyڄ^ܸYOܡp=SY-UCG1p r(/0qrQP7cI5e6mCZYzⰟ^}&Lm{#KrL$H+!Qc. ~nr73<ep#'GXQw>KF"]7+3J&8?BiF克$:T$}VpB)T];SgxUufYh.˾vH d szL~!5h#X_[p>9{* p׫/9;C)ֽ˨[Ug>jt6ԧ`e`$* Hlŏ^_V.a֧;R>#$]Eh̉ץzc%1js:Zg F\LF ; Hn KV{𐄎jr H$V/u~#@I]Cd:^5 *@䄚\#SI`+oŎ0蝱>蜬yemO+Lx[1ҬBT'c*FajfȌֶOEh~;Av΅x+2TmV|rC&Cp n~VN^w#$$S=oӦbh*2#if &3i! ?"ü>mFe$7QZB4?9^WE2?;c)%J~On"mCrpq%U-G|Ǿ ̘T #]:N KVE^pė Q"Hj C-~c\/o5qpNA; @^Sbs_Z5=2KPG.FD6^w{(U4E7O?܊-ly%NRg?Rx+ӛ`~߶^?q뭦K]/zY+*}J9 q& ZO Y0a؍)$r Q{+{9nrD$ mC*^mQD;H%n4<2B(BO!aEqF>8)uF%tTS 6ݳ ,URB,ɟǩAg[VZw-@m"s͋2 \݄}4,fgE[bM><ߩŌ(0HӨ^wZܓDm(Av{#Y(hڽ5eG;T(a?-'f;a];F} NV 3o\oͭY OiTqnܗ_s'ɇ(f3@7g4kj5!U4r[|Cz\{`:VXN^AR' /zaXH y&>t?҄Zz^0[IvcBDb UR,{:9 DbčIqu( rӇw2ЈMK1oD)p6F}o aQQ<_5 k^%ە)s6D0_TdNPQ BStvUtP"+_-^pHnTY?"8)oM]#b7BF-F&!Ӱ%2>^UpK=@Vj7za|/1BMiml֧ dRww˜Ϋ2w(זadI6H[o]N|x_L"s1^N{Qgeǖ[XlEw,ɼ$'mb *갓n,Fїc&i")G攻d">tn&Ep#_6܊jIlȓkպM>#p~4qCH]y!'Dm{wͭtOڋ!_OϪʥ \U(CQ'wuv(4"3_ }~>z츣HSH,}hE}&8(%9*r[:[^ˎmo#I+Q1JODm'zID+(AÐ>nEs1_h$ ygL` #& M+~,x ,{xs6*C?;>EYe9!Y|µB!?eauπ ! $NɓhU̟q}™\ObmBeK͖ZlQk/EQ77Sd-\뜓RePP;>Y *Z1iCEΙ$ҺC]F4G:RcwH-H⵹[WI?p)_΍zx/aV0A6,)3x)mv,&0!ffBf'`T'goYϢJlx011;֦tkn—-3{~SU\px619arJH &^HtIЃXCS$ $#,!NDZ<2Y8Lז NJy|PmsH?cb}0.+,61#߈6wEg.zL̸EG4dшt S"`X'+B/ٿ(3ټβ7dKWDe >.D|Թ?zOIpՍOXzԣ=}:A)EFm"^\6drcMΤY>6ynaU>P[B]mmB-cDKT7ea2뎆u]JDl ?A6\ʿ+tD["M{:?B~+ljwx xꅿ%TeR & tÆCT߰ro Jѭ,q*]xG5gB_KQT~nF6%q:]8ZfLAk!㞒w{jQB9^1sޣ>8PY6dlgϭRWwxN{Vר[$&prcK65ٺ,ĈEY}09'h'Z+L>3v$2GccFvY1= Ա*-]W+jtwe/I,i2hPv_孅o 5{#5*#=n8 ΐiyG+Bh f.0/:chq+)t X()=[?icrS?&3]Db+M4aVwyU;2ZL*S`+ۊBv+'qlgu-c^TuKi!i7pګ1t&t"/C@TSmEhggMgf,Kp4z`'&ͪs4xcCgpX& hI#$/V"(٧pз ~gC~{(|XRp#ng!-YS|y}lH.ٝjRr)T.m>~LTz3e+eTc[V3>l Fg/r.=ȧi"$FsLі{l1,t\<_ಧ$#\K_[>Zq&'N =Ր\$ؾrnz?±=Sf0hطmb`{10gپf?!!yy ջ N=d# Ou}cz~M -#KUY1_{~y+CkG3`Tuܘlc_u,5l "R&Eށ0.eT,YPZ")8f÷/H25Fvɴ|. lآ8ZW +4Khz$)O8mѥ/x_\¹A"@b`MP?MNX昦Ϻ:.U瘱@j[Mx银0F샏Q˞琲k/- 8\cC/uI1w7O8O%wІMQreuotv.=7wf/ K-F3pUW-νB91[^:H*"'S4*!YyY J~\FT1!`xx/aP ~>`+TgT ,8_4IP+O$\ Kk*ٳOzPġ TNdsEQ9dݥ/O1{dly$$V[Ƨ(~aϒ'.y 4%}gV2'ZSr~=SyZ~;iˆ)Jf".,~(nH4>}N u+ ,\[hle7>Q?|Ox Z.c`$T[LeG9~ETx︂L&$_0?܇HчI>(h"D\.Ag%%΂I\59 E_tQO[` D"})rV޼4G4 0R6muQ[J80x)]!V{nB׷[H U gR@vZo;< _I(2B9O=i P,ld;-6g#PsҭXHl ϖ[ 꿍 cx,So</͹d65&כq^/Bv:XS:Ɯ]4aۜ2r?n GjjPo(\뙏fVhA!MfEn^dnj|<|L;5~ UJ+^~:BQ owړ%VRd~LaT_EK94;HFxN9́͠hFE#-^WHN=x-ΠX_ 1L=R*X9Ļm:`L kzhwD\渳KJV~3aOLE;y ܜʲߐcq8e0H^dS:6<_4&bxtm7J6;P,`G ?R)@!}:TGպ?M'4hI]avPfռA.js%EyorG{+U[t15־EVŽPs BTyi܃jBWth\/F_9 A1^bc]K/7 mYlK\ \=tOy}L蜀w$Wtا^|r(l  V;† d .lR)%8eK#eb d^g Oœ% P /PtׄโngV7R 8Oz *@ZA.#=k=PRm!JT]*]z_X(2%Mn#-_3C0î(#6m-*W3&vt,84 54t@H2W SSR=_-NɠZ|KmuȁB\~B*?"ߣU4 =[TƱH.-0ۓIJ>45F PtdFn=S>b=N 4jg: $-,a4VQbŎA7V'F|jso!_L%E=wEzܤh 9Lw1 ɱ:1p͵Ő}a-lq:jGy] P?4=!cO_M,߉ץY8O%3+t Z`cΧ-m-Az 3YZ x>npO);dߌL. 3WЅ1S_9H4mIGxյdL(׵=7$g<$EYhElbhxN"w h?3nn9d~"`h4V}[gѬĥ-<v=79KG" FFS4 T jxcsr5x_# NDz+";[.@X)tY4[H4;(Wn;ʕB}DutO \lمA'[>ԣ|ߝOm-UWj.*Ų^*֐6_[YjN.NӃenHG6\T(ĸ, L)Ԛ`8f| ѿR!zF E%\?<*B6zk{%M:<}968OZI"Xz&ja=`_s!nh3LA]|Rp@px F{ !cVȷL%4ϚT R,+ʹ ,";w|sh $yGʽpSCͺF'f]mϫU{M%xb [kL"u5ݦPl-PdQ0%L@ЯwEOyPc e.TC";zRN\`gPlt $W(8Q/^L :Ђ}'&Ct%HY!"3Z7R^us7F+"&9AnNq$KI ö9gD̐,tFLbVp0Ezn7Iek~`8 =z@и{AFI4$Wem 9JWBv}!8ŵ?>-HYpeV|nr+jc4'9)p9 nc<Р7߽׬od3!{4TKB7Y5^8a51EnVyzƼH 觜:µnX3YƠo R!'V<:~ck,G{u p>0zXo ɫ ՙkwt5+V+a(jNspNn>h$ci: *ڤF n! Я%l[5>Y g U wHl:H- ĔM֣BQ4'UV'?6[2_JhcxLT1m^}ߪN{iN 6QYoc`4;Lx:Hamy`CĈiH*3/Јߎ J8P  d<omԳ8ZqI~G 0OZݣyUqtS@D46g YG0ɼkK?z[`i$47M*"xw J/үH24My@{,eV_GۣۚRL\*.J؇F@(wtl @ZǕ.El#ou0(sq'TU۝nyɧ;W-?p +;82|Wg?׷JcB3;{xMJzNWȆwa1=` WA`5\4~J=w8JoI끈V'0hnòZY)|Qw6woL?{pCdn-o,Źs39^M]ɉ`7lEuN!jՙj5=7)mcx3Z  g|PE4[{ݽr4qec5#FZnb|7m[ч^eP}U.3T@0O߹#B aɲ-iD):gL[UN@5ݗwnkE4?u錚.@"󽶇c<tqX<ЯHHF.G:;@}lpȌ3ICXGO\*{5ˉCgi%eBlhD26iOp=UsbG! ˕K-&؛]zV]z5 -VTy;$Z 1|U(G) bй@6֊ۚkadT # 1&,.sW$ OMۮ tL[ocu|m`p& QGSWWW13.viѹ]W.y<ZFu`KnÌ|7S !:̈́ @d":  A^$$fD<[`o]v}*9#X/ɳWe""pspPis˵PƽFTuh"kr _ ^4Zq+<1F!dDWA:OMǻ{\=)c]m hC$VM_`@}ȡêR&|7V$z-,_*-¹Dۃ@;.JJ!vEvjqu) 1nn]kAEPe.|e>V!(!k0~ 42,2JB8|)(Z !/ذJ;cf~y*K]Z9ad᭑ f{W Ez9j]UtXs, 3ƗB&:d*O0u6/\?PbQaj_e# (kã#E:yERD)LAZdalW]}ٳ{Mo-?}NOݕL;X0΢Tvf׋7wt'<\}h6NIP~a@FH(8Om҃?*@q*Tj2,|wl/*3>բXO!@Pyn[>.YՐ\;"!Um}Y:WzVl- f?tUQ 5AT U9aT.mbo^1ǹ9<)NBh:^@ y4@ o}5-oOXb,-@z~+)?~ე&0LI?A9T"??q~)oO6R\k;tbY bHleh}V0M׫PgZ0rV%I~4NЍb::HSxNY59!i83 @Ҥ"{G+C^*&mkC0):(4Da ycT)dƇk',П_ Gcdd+9!ؼvmBUY_sny"';UmdE%TMt9٣o؛CDXnBow#&0ul㰌G:)3]E c-K՜}kL! \H*&F(!:<}X0xrx:pM/`+q&" ͢nX'n 3H{QKRDG;@nD+߬+A&N>I+ͱf9[/)4^(v~4{Li~yRsfᦄC$6g㥎0T ]rK!חXR\늹7=Z0xg)/$m[SAC lLrfD9 ϋ}\Owp@˹ Ȕ$''O^6;QYmBtr^;:DX53%cǹFH#dGN|sV `ℵ2"+b#"I+LOA@sUUE1@SZHnNs^)`x=m _ |#U(t&UxU:8/sK*]K}g,Im@ X5sWؔ;c30hrYd],LѾ8:g?Z0ȟơHd 4 [k}~(X{Mϗ6h@w:EL[O!` ,zǎqS_2Q|u,{l/?lחwh?y$U< \qqL/9r{yet Emwp8H-2z0~|uA:ɂGeY>hl-RdS+OaAP0]EJĐbʃ_q1MSԠf{DHޤZ”މxGH7@$c DI`40ӼB=$.jUrCWHGRnaq K%)tMb޾Tы7yD2sR rVX\:[X@-$#wۅ\?]0#{/G-_We{AרW}wδk/lu  vqzS<2G+.xZ~,[;Lؗ`Qnn~ϞGD"lFQkQCKDiex\(7\[KhakL~Aup4C pl^&\씿 3WTLEf <8.;CJ |dHOTO!0`u@F#6e?\[5tľS#h~FLVġfvt~b+o\ Q_Z+t1%OQj22,%`8V,haY{h%1̓"lfCVƥ\tv)Q>/B)bRb3{1@&w$%u}eM:M{2>- gKMdH"d(dwFS. ~{?XlgϤv1%~,>*X,fL;}% )Y-a&*ҷS& Rl7c3dNlj@`(,.$OvvI"n 'aw&g!ٙ/ƐmGj?.Eu>g:uLb~-Ԓ%M)}+-usJtQ_J?3(kg8]q\B{OU*R\ ۉ-{C|%J>`IvR|U, O;zgkGʂ;&C& zfQkbbB ?T"0FY*WUt44_⿸@?6=c_!C3-Naϛ%c>~AF-Sb3AGC+_ptO_/3DrAti5)anq@Lrc|u%W&rJJ0[^ÊkԐ~=~ǣ~;:to;1 t`B^2E Z?SЂ"8NKC)m] KBM^"ʥ&$5V.G<؂.':*W%6pI,g b)C߆w7$5gmڻw1t,*k*vS7C@TfyzbBQ< -8 ΜؚQWao!qWx#Tb;)7w*+u4Ce\Z:U:#/u:aq^aF5 :ñDNv,t p_;@`2+t =~0cr(]Iu&(G댯l=o}IHY*D7.*dz~ ii>;,䠯r\/8vIM |+Д?n~o9"7ErX}1/qJbh`ؙ5IZE X:5ܾrr/u iE2n*``.݅0`y_:.:d $==H8RҸ]$[0հ#3>f[fRnplP1UB0V޿)GIZ#%;a$&o1.nJ|=A88ʜS;mS9~N$_4N&{k߹tyvANjYi\?4b[RV(~IhPZ2a ]T’pmM+P_Ɖ?N)aj~˜+2]Im:#L@뭍N`-_o\vJ{iĦK #34Q(yHzOt)HptFV"ӧcꨀo@5vtxƤYWZ.[*9LEt=_n __;0dh M>&pY^zZK' [.؇Y"}lAç8ݞkO2a:`cAs8`xg-)lv ҝ)trqZFl7[F~#(-CS9%9Qm,4*Q4$.>@(C ag7ZȔ \c!#cuU8^)JxzDn `.5TZA{A0DlYC"jVB2/nkxP:Ծ# u2{;HXvK'lsǸCFB-1fDEsRnpis63z"̶5gyߖv;/Uռ)xgelW˧\.> \Q߹|%(b 1d$ *pRǏp6saU>XؑdN[ZGYbmafнVbڱ/-v@ Nk CBek7W.-Rl8b zv(yoC!kFW+@bB3RHYn,hRli}yۊtFnX7w(z`(L$ϊ?^*ÂP{>u9$2E00tA{8/n`ҏ"ܫvLZ\Y-Wcxz,Pk+O:ރ%LuUzN̻(& (Ѡ7 նNOpA1R!~lqsa/|8Å g5?1ZgDƢd=OV]Q^V'j6Qd]2$Nu,*LMe̾sY8* {:: FL"$gJ%:r2fta%D)E+|v},!7}8;x,]ɤwj^KUgՃ~Bh h2vct(ʕ62czREk%*?B!JkĚ$6GN\J/C]W~Or= z 0VWH%ڠ7DSm+:sLcmϛjq=L. >ti* Z]71mz;?X=Wg"ñ:Ζ>yhfB.9ޛrⷨGym:!搉I <827,Z&2zV b>]ݝ5ﲐ118 R#.Sw}bsAGrrAJazOO]d(eޒ#5@2=<~΢/p:TPä0[Ƌ_rJ_1˚8>R\N#um,M)/jnmQJσr]PV)|݄o[|?]h8sF*ׁƘe$#lU۽pPB-Zs&Y"g-Yzzݹs#7fNs34uޥErL8RnVB TKXJ[ݸ[l '+ DM=DXPTi N +/dR_MͿ1S,!w}qY .N`-- [?q wD)fdP<Φ /+{c]JY,..nπՔj~ӻwOb^nf#y`;%}vY#`nPKOkp'p^GT+ġxTI6<ϼyvCˈ5DU`hP.l_(}Y N.b8VΔ 9k rCUu$Nj?}[ud@EVX rZѡȌ?B{EOEGƶ _R5 8֎Oi>gOJO-ܮP͠:4!WO3XWF2Fce"!KnBx|(ߘo쒙 P5vT¹%KN BuIa A6;g A#.B5m\r/.Xx8s>1)\oBb }3;8@##AP?.l r|h+KFi _! &/o] mJ2vX*- "-Nx* l*IŅQ)Z|澷aq% ʧg%>ն-J.]a< ˯ +^,=VɻJOl:ݠ vʤn yn~m7Λ`LV',ah@ap%bvWٟv$r${uD0=wcdD:|PE8#,+׊/zVR1+p piV^ņ4ٻ-[Plv)L<t'Qo t#&,6Y~*}jQ]`+Ds@{g*Rۂ $aQMWy {Q(k1UTQzU._V@" bP{t;mL:?m77xKKMs ɼ[RuO ۿ^}oȾ@#0ӑQ!bvhw˩xcN J<})ЃL QɲD31l>!teh5y<  ,J3ۈG5Z  _/ Ϝ:7}w78N C}XF,5I+Ie=8D {mEәQ v+nso`ِxUD7dw!] P u!@e?f_!x0DLϹ9 MxA3 &~(FO!_ SgR{ɔsA,~Spf{:&99 ;ځ% t>u %;3DuF@3e}:jJk2⧦s7^P a㲂J',`cwb4%UX&h?hKFV}  FbUfзʅqcϵ ,QY4 l>Dk i(Юv*<RӒY.,M3VlJ kf)h-۰R@-nUb^1?,e(hA1*=k$D|HƟ>I%1<㍅VکgzyQ^dz 92gPPp c}:,)vR}Wk8+yо5Ⱦ\8/o*,ezaN1U pzk}DS, dGr?llvHS8.MMy0pp+ wwS^עEbJ[y~ ISO~/[U\hWi,"&K'1A in%d(VCorqMue>fsjyL6;Hqi77b+Dك] BY\&CX/KWHK|8EŵDߣs8TНFOIbNREVwB4@|}?,JJDX?!Rr/P߁]&h2Ҷ$f-qc[SӦqsv:u՟$ @'v};Bfe@e6td]17R+|.|;Ao׍JxNvz.":xk|Iqd ]Z"7[hu-h؀=*0)a`qC .cˊG9z]l@'",ۣ b}%z>lSr>S:!!Rl%`GYUV}D?A@6]U5$ ~fC~-lGnʊcjBKB@skB 6C\CMX Ra1x,|K:0`ߝY$t]cJLZj~Zx XQ"^a^@@Ԯ煶ŸN:qYM =amfӂnSArt;tTFР_bbE-'kBJbk H8TieM'.㱍Ċ$?o~àf{p@tI0bMEs`lDAQByF+ i5vO*ȍTu# ROF[m}9xI!hSȘ=Nư*]a'iWCT!esa^-nzO/ݨ٣f*)3<ONHGQr g'ނbrT@(5? mࢼiS/9I=1"U\ jU:3vۋ~9kSgSJ5u\Z.zCo޼|/u W|;+7Pq3G2iziq3ǙکQ`8|%wpfb gថtfpdsF2b{`C,!gjl/ vCUC8;o]@j^gp:/mӱiXVpӰo;7q|+ǥj02)`[9gn/n9EH#/oLze7`C]2yƐxK?ƎBtIkJѕ_C4YJ3h6\mzBM̽ :{ɿx8}I2PMCy`rp3?;_rݫ6>S ]=h8G 4^ײ\+QvY'd ʤ)HcIʠxSKfJr쨙✞hkmD=WeBjt'zoLg+FDGp5̹G 1V>M`p&y_t{HڬYzZpGkME3z61y!2v-׶EOqBjčI"UDE:C{5q#FƢ^v=s-&iC-&X#A`F jHd]]j Bo;mhs%Z.V2#*7x/>p$Y6.j:5T- P~b#dCs"gLX|J*! º}.c( &@ [y*K?}x2z1 YO1sK3?&HͱZ /S8:}j܁Hfd w/HM[fGw,|ϒrM`_fՈu[M84 |kا+mLI`AfZK9PzG2,`~bxNQTD)n,?pFkԼߜYվ"ArLh_YΆYZ^hGڊUrs mP*aoܽ=d{ۿ?L]G` 9fztrYʪhʼn|~מҧ.X+gvB6*TAjKPTR9A۾.MDxَ3_Ҫm Fe^IYK=?dDYD\& :M6CǮ9>I[D%s@^"ZI>Es2=;>ET ;~DD7Qt0QR}^!5j4ũD$cнDh1w!򘭛1՚~:9}'<-tB 5$֯a 4r\' 2nnCN$;:p.W1ְ9c @}'DDZiKbXLC˿_DT=M$QC֞+m@A-\િ3;jM %@:F>u )FrK6myQLKru)X "*^t'fS ׼&/;BcU :GܨJLd2x~@.I҂[9:2 j˗f OE8զzmhl}TFN|m"U59:v\L@,S?WA.㍭Eb[4"oSĥÄ%p]?`v$ y&k7$'=`v޻+Wu$@WX䂟))ݯ\Z\Jq Ί%lD;Slr`6;Ki޺w$( $Q#cћkIHEqB__IrI?; dN!OO!Ƹ^/[Іצ c, ^nO#Lƈ 9U'+HFz]b;0Bt]?#ټ(FM|U@,OqX!lAO>+[۲[I̩&ϵb{ _XGZN{ 2>#r@x}S##os)łZ'%g='Mz! #[K$#V蓚'8Tˑlg"' zyE'2!S@Cٷ ^ߍX!;{OE|<,YФkXyQb{mTcCizf+Wf!a킮 qE;<SOEF uѬ^QQ4 褐:֕:$~ꝈY88.z|Z+21Fy>.A6UPS'%RIdm!R3WR٘/b%Hձ֯};jW?wnL18(HR-}DnK.V><ՄaUN|dy:F ]mvи8Z/w[O+/qN͑mJTp#˻͍?^LzG|p=^o/k`Lya pO-6 =aB0gIYh`$~?!)FT8 +Eܨ-SǓ=\l8 nYHŰsNP(*.BjU("Oh]ms|Ky$E:*EXؚ8ZBSt/LL9S<w-D!~k'KiW|2Q~}M_f Dtd YZ