irqbalance-1.8.0.18.git+2435e8d-150400.1.9 >  A bvp9|!qb20oc AڕC%6]ܡ Z/o[ hw Wq/bn-J;CV,/_c:Lxȶf&^cTRϾ4xj{(v(o8lFd>aEJɎ8ƏBS_R\^q挵HEU.lYXy`cI<FK#?1*I,^h%df032c336591d99b3fef026ddc90e41aaa612a1e088f085d4dd1242a2993a7929ab7a5fc56e2ce69d5b231809b088ba8abfec055bvp9|QGȹؑN6c'roK>% (5Ω ɷT*$8QV{!# :bu0p<{[J#8 _@cT`4bR]"_lJ2/_YB:wJy  H/{HFUTrYBcב5OLܴw rH[Eb(Y 㭆,^꒦HxT)PYmK韘H=J߳v\HrۉׯGb Lt[(].2R<Aq>pO>P?>@d " - T -<eks 2 ;             2 d 0(89D:%=8\>8d?8l@8tF8|G8 H8 I8 X8Y8\9< ]9d ^9b:c;Ud;e;f;l;u; v;w=< x=d y=z=============><Cirqbalance1.8.0.18.git+2435e8d150400.1.9Daemon to balance IRQs on SMP machinesirqbalance dynamically switches the CPUs for IRQs to prevent cpu0 from being used for all IRQs.bvibs-power9-10kdSUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-laterhttps://www.suse.com/System/Daemonshttps://github.com/Irqbalance/irqbalancelinuxppc64le 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 irqbalance.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 PNAME=irqbalance SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." 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 irqbalance.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 irqbalance.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 irqbalance.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in irqbalance.service ; do sysv_service="${service%.*}" rm "/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 irqbalance.service ) || : fi fi LBFH A큤A큤bvbvbvbva$a$bvbva$bv13e20847723537cf0bbf48f190728eeac44f12f66a2d0804040e9dfae3d98f4f36b3aa5c52c650e1bb49b92a5e8b2a9c25818adafb8b407810c717362dcc29472d56220b7258ebd0f42cca0249cc5261c1e596bf460d3e5f0c62938e6a11aa93cf96bc63af9882228a0e747d6bb0149c68fd6e203f9e277a572f486ad425f1e65a36c48878d6f099cd045cc1e4af366a7035625fc35ade6e1cad012892011c2d32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670fe1467752ab4e864c076dde02413123bb3d6741e6b2e2cfd512e9bc7624ba00dservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootirqbalance-1.8.0.18.git+2435e8d-150400.1.9.src.rpmirqbalanceirqbalance(ppc-64) @@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/shcoreutilsdiffutilsfillupgreplibc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libcap-ng.so.0()(64bit)libglib-2.0.so.0()(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.17)(64bit)libnuma.so.1()(64bit)libnuma.so.1(libnuma_1.1)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3a8a8a.a`.`u`H_9^W@^^^@]'$]!][[ @Z@XXe@XwoXVIV@VLh@VKV@UT7trenn@suse.detrenn@suse.detrenn@suse.detrenn@suse.detrenn@suse.detrenn@suse.detrenn@suse.dedmueller@suse.comjosef.moellers@suse.comtrenn@suse.defvogt@suse.comkukuk@suse.comtrenn@suse.dejengelh@inai.detrenn@suse.detrenn@suse.deegotthold@suse.comrbrown@suse.comfschnizlein@suse.comdimstar@opensuse.orgdmueller@suse.commsuchanek@suse.comschwab@suse.dempluskal@suse.commbrugger@suse.commbrugger@suse.comdmueller@suse.commpluskal@suse.comp.drouand@gmail.com- Update to version 1.8.0.18.git+2435e8d: * fix unsigned integer subtraction sign overflow * fix opendir fails in check_platform_device * irqbalance: Check validity of numa_node * configure.ac: use pkg-config to find numa * Disable the communication socket when UI is disabled * Fix comma typo in ui.c * drop NoNewPrivs from irqbalance service * remove no existing irq in banned_irqs * Fix compile issue with none AARCH64 builds- Fixes integrated mainline: * bsc#1119461 * bsc#1138190 * bsc#1154905 * bsc#1178477 bsc#1183405 (removed patches due to mainline integration): procinterrupts-check-xen-dyn-event-more-flexible.patch * bsc#1182254 bsc#1156315 (removed patches due to mainline integration): fix-ambiguous-parsing-of-node-entries-in-sys.patch * bsc#1183157 also-fetch-node-info-for-non-PCI-devices.patch- Update to version 1.8.0.18.git+2435e8d.obscpio: * fix unsigned integer subtraction sign overflow - Make git hash in version better visable .git+- Update to version 1.8.0.14.ga7f8148: * irqbalance: Check validity of numa_node * configure.ac: use pkg-config to find numa * Disable the communication socket when UI is disabled - Use %{?systemd_ordering} instead of %{?systemd_requires}- Update to version 1.8.0.8.gbd5aaf5 (jsc#SLE-17697): * Fix comma typo in ui.c * drop NoNewPrivs from irqbalance service * remove no existing irq in banned_irqs * Fix compile issue with none AARCH64 builds * Fix irqbalance cannot obtain the full name of irq - Enhance _service magic and add git hashtag to version- Add _service file pointing to github sources A _service - Update to version 1.8.0: * Add return value check of opendir in do_one_cpu * Hotplug may occur again during sleep, so wait until there is no hotplug- Update to version 1.7.0+git20210222.9db8d5c: * ui: fix cpu/irq menu off by one * fix uint64_t printf format (use PRIu64) * Also fetch node info for non-PCI devices * Add hot pull method for irqbalance * Add log for hotplug appropriately * add irq hotplug feature for irqbalance * Remove some unused constant macros in constants.h * Add a deprecation notice for IRQBALANCE_BANNED_CPUS * Add IRQBALANCE_BANNED_CPULIST to env file * log correctly for isolated and nohz_full cpus * Update README.md * Add some examples for IRQBALANCE_BANNED_CPUS * Adjust how we determine if a cpu is online * activate_mapping: activate only online CPUs * add env variable to ban cpus using cpulist syntax * put arg parsing detail into parse_command_line() * Updating configure script to version 1.7.0 * Add strlen checking for IRQBALANCE_BANNED_CPUS * remove redundant "/" in SOCKET_TMPFS * Fix typo in service unit file * arm64: Add irq aff change check For aarch64, the PPIs format in /proc/interrputs can be parsed and add to interrupt db, and next, the number of interrupts is counted and used to calculate the load. Finally these interrupts maybe scheduled between the NUMA domains. * Correct typos in irqbalance.c * free cpu_ban_string when the next request come * improve irq migrate rule to avoid high irq load * make the option 'V' closer to the option with no arg- update to 1.7.0: * Strlen checking for IRQBALANCE_BANNED_CPU env var * Typo cleanup in SOCKET_TMPFS * consolidation of numa node creation on non-numa systems * fix uninitialized use of package_mask in affinity setup * use num_online_cpus instead of core_count * fix a null ptr crash in do_one_cpu * make list searching common from glib * fix a calloc parameter bug * remove some unused variables * use g_list_free_full * remove redundant call to free_cl_opts * fix some resource leaks in main() * fix some use after free issues in check_for_irq_ban * fix resource leaks in irqballance-ui, and in add_one_node - remove Correct-capitalizing-in-service-file.patch: upstream- Corrected mis-spelling (wrong CamelCase) of "EnvironmentFile" in misc/irqbalance.service [bsc#1172665, Correct-capitalizing-in-service-file.patch]- Update to latest git HEAD version 0348a3b. There has been no version update for quite some time, but some restructuring and fixes we want to have included. D install-man-pages.patch- Package COPYING and README.md - Add some deps for the -ui subpackage- Use fillup_prereq macro - Move ui into sub-package to get minimal core much smaller- Add git hash tag and date in version as source is derived from master/HEAD branch. Thanks to namtrac. This is done via _service file. Also add an example how to get back to a stable release version - Update to latest git master version: git commit f7fdebbaa4dbc27fcdeb7- Use noun phrase in summaries.- Update to version 1.6.0 (b47eea84cbb93f533b0cba2f1aa): * fix balancing when numa information isn't available * Refine document about IRQBALANCE_BANNED_CPUS * Fix string truncation issues detected by GCC 8 * fix socket path creation * Update document for option --banmod and --deepestcache * Fix ambiguous parsing of *node* entries in /sys. * procinterrupts: check xen-dyn-event more flexible * misc: Add an example for policy script * policyscript: ignore non-executable files when specifying a directory remove because already mainline: D fix_buffer_overflow_compiler.patch- Allow compilation with SLE-12 and before by: * removing -std=C99 Latest compiler version does not complain anymore, SLE12 SPx and before did. * Fix a possible buffer overflow compiler warning A fix_buffer_overflow_compiler.patch- Removed aarch64-compile-fixes.patch because it is mainline now. - Update to version 1.4.0: * Fixed an erroneous calculation of min_load that restricted candidates to a subset of objects * Fixed powerpc hotplug detection * Cleaned up syslog target dependency * Added some self test infrastructure (via make check) - Update to version 1.3.0 * New features in this release: optimization of platform device irq detection Added sample udev rules to trigger irq rescans on device add/remove Made irqbalance ui an optional compile component Added support for Intel CoD Add -v | --version option to command line * Bug fixes in this release: Misc compiler warning fixes and spelling errors Compilation error fix on aarch64 Compilation error fix when using clang in c99 mode Unused variable cleanup Lots of memory leak cleanup in irqbalance-ui Prevent irqbalance from running in a container Fix irq affinity assignment in some cases to wrong numa node Fix oneshot mode exclude legacy irq 255 * Deprecations: without-glib2 is removed, we just need it enough that we can't dummy it up anymore- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Remove superfluous comment out man package packing- Switch to ncurses6: use ncurses6-config to find the correct CFLAGS and libraries (boo#1021328).- update to 1.2.0: * sort_irq logic rework to fix unintended ordering * removal of the affinity_hint infrastructure as its not needed * fixes for invalid cpumask parsing * many other minior fixes (see git log) * Aarch64 support * live interactive monitoring of irqbalance and live adjustment with irqbalance-ui - remove fix-aarch64-support.patch: upstreamed - add install-man-pages.patch - add aarch64-compile-fixes.patch- Set-fd-limit.patch: Increase limit on file descriptors (bsc#998399) (fate#321645)- fix-aarch64-support.patch: Fix AArch64 support- Update to 1.1.0 * Banning support fixes * Load calculation improvements * Documentation fixes * Fix command line preservation across re-scan * Memory leak fixes * Misc. bug fixes * ARM irq support * New --banmod option * New sleep interval option- Only exclude arch s390 and s390x- enable build for aarch64- enable build for %arm- Clenup spec file with spec-cleaner - Remove bug-893478_warn-once.patch - Update to 1.0.9 * PCI quirk support * System Logging compatibility * isolcpus inheritance * Misc. Bugfixes- Update to version 1.0.8 * No ChangeLog available - Fix home page and download source Url - Update bug-893478_warn-once.patch; (submitted and accepted to/by upstream)/bin/sh/bin/sh/bin/sh/bin/shibs-power9-10 1651960567 1.8.0.18.git+2435e8d-150400.1.91.8.0.18.git+2435e8d-150400.1.9irqbalance.serviceirqbalancercirqbalanceirqbalanceAUTHORSREADME.mdsysconfig.irqbalanceirqbalanceCOPYINGirqbalance.1.gz/usr/lib/systemd/system//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/irqbalance//usr/share/fillup-templates//usr/share/licenses//usr/share/licenses/irqbalance//usr/share/man/man1/-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:SLE-15-SP4:GA/standard/cc9dfe4015dbcbafd2cfc352d649d9e6-irqbalancecpioxz5ppc64le-suse-linuxASCII textELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=7642bb5006d9185d7c1558af0a2c1c3df123a4b4, for GNU/Linux 3.10.0, strippeddirectoryHTML document, UTF-8 Unicode text (gzip compressed data, max compression, from Unix)R R RR R RR Rhvǿ#ic1Gsystemdirqbalance-uisystemdutf-82fd7730c3e450c5e351bd55b30ac5e77f4b5f1ace544c4e851dd3bd54472424d?7zXZ !t/qK] crv(vX0&(cƲGSQ6 wGg ;lP?!=R|z Z#\;e+3 v)i͉?l8;zQ foJUCޗX|=)!BfRpxa.T`Ѳ ͗ ;⢨Xmr6b<5R_r9H0OS*n8{YDt%'? G?>6oNXdM>,xz-ދ.@yϝYy&9RQ"/8o{HAӔ1fl˽okHk15|WlJSzST)]^5ؕQZJ\OPu6$6g_`i["ީ锿O S:j{ G-jIos؊UQEU4iH3D2@³hKߩ.ZmSua¯g6=ħK0w"!(Sco`DiMQQ/WM8/طJa(R,aA;~1\b\ß?v;і1l S ]Эcؿ:azcV0(kYմbT 8X^8)ܘ$͏j#/.` g4"Zo;i7@bd_ N *I½Ds$[ڹ@ {id|J %ZJ*<\,ڌFԴ *%&ԫe5RzqY4^Bw&\! T{v]7C"{;d\n(Qbry}Qi%w[ BT9ᷓʌlQDbd8t3u3JeyS<tS.8Pr/B_s70mߧ]uxZ[ԛNkg`v2\/F6Ҥ,hs4r5A9l% >6b`R Ɵ8=3j:ݴvٳ1ҋ=q\X"ˡbCg$dkcQlf.ۊjhC/) ]{? ;M;eKՏۛl!1F}ͿnKPዹZf ӧ%!iMІim@G7QgCq0)G ǀ1cOy!Fz NIU=p+!;:>tA3zюW[֘fQTꥀ )}:if;F )Nc@D^q`˖.aSu{ M%SiPR: 藗u=h~Cwߍ2m/~Ө¨+ r/BTaGR?ۯB{~ǛP=|IGgVFbd\[aBMA𠺺%|xQp;!m̍YԹ8;t~ V%elcÌ.gsuc]}EBLQbbBJyøj(k7) A᥉*.0,OYsRR[$lwj6 = bm11){iTEoF;+1Cx;6CckP\|/EGeb+*ĊuK,TT_<mBc@;徤f}.htZI<3~ZR㾚 8B%$/vK8Lx^6`9 9)|LG#CI]ZEo?@]D-881btęa0/L\@HK޸/vSŃTQ1NB&i)YfV@]TwC9|y鏷.y<&j/kw.C0zz^,C-{뼲m|ըQ#ȯ⩅웅4^*@YKClQHY!t Yix5Aalu3^ aH}^WIx↳qp 3g8Gy5//{`@L ѵF@1%TuZ^-x9۱Z.Pg ]&x 2cEmF7A8 oh)rqpTYTm o}Q/~.& b^4)%*U}WP_T1D%=BȄ(4XJ es}#߄t个|0ך[9Xv Eyqz,Z|+Oy*6 5%XžT@tƑ24ӐD 7{9@L̻Zp8 HXʔFܰ`C”<9fI' O L5x-||r =IՎYGIWaY*mb(SxƓj.̡jUXU*%WR2+5 Uڅ3Izn '6\:1s;( F")OA^֣Cٻ$-)o"Mqlq.bD.٭"{lyE;~YJ w3>ڄ7xb@6-lbaO#e]6m\ыbrF \RMDR_1a s7jvUm\¯bU[g{A`j%z/gl:asrSS# )AB-R1$ G~B/N=kɉJt]6DRdņ51Ex5FvV4LJHg{pǜLlҜ^iL(3 xzK'.e?)ܣ)87 Fp?2I z5ZZUߔ0X<s5'-lj4JvzSWaN|71nDx0Fk :Ɗ7 3FJCEUݱ K8Rl*SJ(.V+ %HW| BՎ>q}h2@-5'\W8$;2+ӵb;M׌Bk@k¿r[wbM'bO3y9wu5VHzPDޞHrnY`ja\`rM<=Hվ9;Ki;1O p0pSBF̈́'[ҵ-KPZ;LC^/dͰ 8 DcT| x\֌!H,迲,-TV߯ 4/?:$.2%fhO'` 0r/^A|.G07nxEC62[VV^")09Sw'DoX5 `WSo`S*(|WEu+G0l5keVnEL)G͟m b6_{>:`MLp =_& dFX B(MmnO|y\nT'S7_C4st}SpaN-\XRAh`[pc%)an)heGݞ:Gjr-z`(.a̩S \`0mJ/7f ߇wDk3D/bmNYh-Uݪjh^Rmpr~Wa? 6}D͞/pTq$>t(C^}S~dB~iF: R/W[}` )lsk )T.UޠW2°DtyT^[p <q7 嬅裢vPio͑#h'N6.rBpU3d>7 rP+6b?vܠ,~L`W3nHExcgcLt:Ďnv1Σˡ~,:h-VT>/XYz@<u7Ǟ% HkQ5 rgHE3A`c%6{@`B|71Z5V! ` 1DHV^%ߝ:SmE/7eŹ34<}J(0  J$s)bf$s~(u&SRŦo#U-2p NOnzjG-">DI9\ٙ\<TdunWu0Z܉\mVWzfoA8 13ߓ?H5p'/euӞ&M@f*7CuVMѢ)DvZ.:ѹ7A 2΂ ^;dY#aeAag\M ]/Pՙ؅41sao29bRAOȽp:ɋtD /[N49S7bu|IW%c*SmŹ:uV mj<9 eG4bW-Cɣ` 9QG]HE|;s-<^c1lO-* N+Ya#MÅо(?=S&oCוk'j,~rIҔ̯ܗ ix(v{lڻB{GI5;GBzw?-o(p=u\}[]ZɄq^S%ˆG" :lF𧐌q:!=9sysf@eHN4!͝-Kx\|]TK_uR$Epk W&s=FEj5܌[8o^a#1O`*XZIC3^g)Z<BGܖ^-X݅pAU_Bc&2pe7$%Lص]gG]{/S5kAh*-XG4F?zkL5 'GE)5(|Cl3w;V!ϲ1!7}e}2P|4b<@9YL,+Xp[cm^ہl/&>>U|2ŊRup1YVF`&F9'PD ti7hUBD"Ymɹ]P Zb;=oU%Qd}>_!zzbv;86|#7!o-?.Z̮Jw"_لr -ĵ E>T˒b}KPj6Ek mf 4(_h+{} e@r֊2[F-!b~zb5uK ۘ+tVuW3|jށY"꘶hM&^m`z#\(Hy7\KuE4 黗R?bn+M/ @O3Ril$sp9ci/mo3VZ@j TtQnln>C((fsEPN,0kx060;QԔEWraO:~"*F6I1q dJv|D4)'fIIӼ9: IsaA;m۴ç  4ܚ@ќբ9GkK~q;2I¿<"FƻɼAe>cz,cl;.r͗,%Bs{6syU8" 2"#L5Fdm۫s͊4huḺ+|Uz+W0(lM}n񐥭VM{ SqZzȡ)@qcM $wGEv%Ss1Lѯ:wzB"߯Vdq6Rɸ yt>s" AºR/tLUR!rqR32ee? @ ͢Pr9#MGcC6ݎJ}q=6ݮD~O@B*8;uCýxw$%(SW WlTHm Ag@:AB5ΟNA%@j} P4%cB, v֖%#' bjٙ-/< Q#\_9A3QY!wlUe? qjկB`7>IŶ#ސuQ2BiIX4?iO/ .z2-D0Yz5dBt6ݶ XVo恽T0T1T tvS O̚obԓN?[aM:gsyX{Ejnf_X/rװ m}aR㼑l3G(q^+u?\i}Z1bQN2~Z:@y= /.X}ַōuWXRe0ȴ@uٹ;S@h pdz 6W^bis,'j|  '9Zоj- EpLyea}!.F:x6Cu:jEq1L5KkUym ry+inOW=9g,LEwstx0iHBNNJ`,m=䫬v 6N,.kg~ Bccw8Ӽ8@ \Vb[1JZ"eyr4GS[t ` $\ʑ#4z푻!"s_*j+tvw]=¡@22\شP@6 V1.ȄR|RfJGIo9I23~mGonL Vj+d1YϷ< NfZJ=)SJeRf]N?tօregI+L7IB2e? RLE陴![9+Q;S f1HPﯜu\#n֜()(Sz @nfX(ir|ULP@~5󅓅 E|e|RyW>@ER.|ZLWoqq;~REee*dg C/s]CrtSK6СC0lzF]3c=B:*2?/, ?6ƏM0o +X3k"]̨dSŝ; ?Q` m5WB2,Ag lv(H["$)> _ٿl@GCˏ?R/)7񃔹.9 6nѕ&o<%Bfsq6*&؆Mz:0RF(z"SYl)38`- 6G~1pp&*Ǜxy 9f֥yjx-*ٝnuB'pkE y060lB5良MPϽ؅By"ۣ~ l٧Zl?`Ki[5f{r!{eAqy`kKx^a)ކ S0l@@>'0 ɵ(FrCS;$9Y5Y\E;Es&}&?TV;)x˴_J2~x8B/zKRuV5+t%EVjܻA,3Ttc!+Q j@I/ۛ,܇Yُ:l92 R89=^:QfM>'-/wuu‘'I99\JBy"+~fZMgph5}&f 7q^ rtPS.LZln%gHgdj+HLW4֩U՗S3d+<2v`9nil)u7o˴iW HǍJrN->K(Ho돒ʏKkYʤq/NgX|j?n"Ѹԯ*' %8[ xֻLkI~_PR$Gw0u5!C@<49ӤelX\_Fc/P!1m6hKĦ4kY@Ngױ\ӬP5*$h]In4r.xA(k[ڵsVULA0FFϼvDY.8Nf(NG96C+I ^J E;y,FG3H0n cH^5 "l% ZϢz_¶d;ic穳☲P$HQ sZOXO1hH- [&Y Są΋.eN`[L]u~Xx$ NdI<"fdmE&Yh@NWe~RΠ2.%AZ^;@cs@뾠%# {+BiVh!@,(5H]YS=L}Y7gIA&ȄNht+ε#ak7E3e f0p|_[PvPMzl&1Uqy@OT0:=|N\|m~BKh 0 `:%zҳ(d@ޘ$=vM}q b]iu\4ZbZjuђ5{P,hOѸ(@~\00;'j~#M4#Poō2Ug,lK.AIJuv!Q WR٥c*2(x{-A@E}awu(-MJw$pk~UeA%npRT- pZE2\^n㭢z=#L4(&u;81g 9-Xzcuq`<ӒH_|? ~.EhrR' 4ɡ!ެQM>~o/՜;\` /ȕ.Ӧ\\XKǝL^drsZСΧG`I/9RhvRZa. c,e85jG |LL,Õ.i_ q/ܐ9]UbGc{v̟ySs.||x&M X9(Q$yf8ؓ&f"372D<,kza u+kcvPD9ُ2tԹ@/-֌ob_S\Ve"Pϵd-W]l0=AU:ҳ;SXk,j\ɠ7c{"H/DFZ 6lq?^DXXn ^zg$>U=`nw7wj0-.]fVꔘߪwߴwգ{Mbd@{1K.t,Q8V>$Qka~Z7ٕ ]pU…A+MeK9NMz:/B;= B(|X]b?Ec@!N>"9.Mʰ.xESh^ _0)Jo!OeuJ>j[3߉CxM)K .pUVOjUNcl#y4HPTܠ06Xt Է C ]PTV1@Y^Ù]VAl%\a4As3a;džaFpZDp,VCl;'P+TO> ك-"]V5* )%s2|ĕT%*Y"*ַ?{ݢрSm)~Vz)ՙ|T(lGp7\jfogū9r4Q(D( %}ueeB NAP8kGВ#C\n1ތ5,_&Yn.MǔSYYpy?,.Q2O%\y NjCl{gmQ |d˦\i7PȻaz({&/>pǁb_(UZ4 7Σ7|cQ,룦2 ~{jn96cXNܥn+TB.|/B+2X2篸","ޱ}vKy9KDW٭_-J ~p$ɨ7N*TP{oֹM*UGҖt;hb޾eM3$̳laNhqGAȭW:ȯ./ey=2'LpNyi¨fl8?p?NE1{;AʙwLYPFSq'A/e >Xf"Ē?D( po\NEk}9.JSaÚK l #`2 ^-&lw, d\5 ůF@5((hvVQ$mQw&>s5uiV6O8"o: JI #l ~HuKpMhxT, ࣘ ngze'_%og3*a? ЖF߯B<8Vɩψ%b\%b!Pex{ Sw+P.U [LGpuLEO7puZs?3L<Ԏ!e >+ n(&vIG=ʼFWÑ@s1*Σm}x GѼ@yD\-qR=f/_=b}ߵzzfn: :(,{@ca/ ҦFtw2*9َ[w ﺂs r(Ao*B7ݹ5A}x櫢^"xf8pocMɉ CL 5,7:MM3#"5C3 Bⱊ%v'SHDÍVr=DOD=3j%"@eӀ]ez+p1GՀR\d*?B`-$n4!`PO*F9P볆2оi6zJfK!B@Y\$[ odZ;BIsHmsl3NADgQ9琺)"Nl=  s[6ne1(ف6&NJպkmf: ܧs$x$i3g/qѶ>Ih?t&h&OVN>g*] ""2hF@"^6do"؂wp!ӭdD"Y :䟚=>z t<웁U~e[g10# r X _~.04!jt R)ʊNU?՜|㝪^0 9< ;߲.+>~x/B.:EꌵYUr6VR^T* |΢EZ;WL| K=™[*D/d׿0KkaٓRL ]|S}z_7?AJMöT~bVujyƓ6`e_vǸ!4x0u+<9*2.7g%ԟROJyH !0rhp?ź=?wȍ p-0IAZK}@rb9lTl3Y۳ZNAw+{:,&"pQg%D6Ҥq3 zGc` {r?_aCUv92 WTqSs(G{NlFADņ8kxp@c ЩfzY=7ݓ[ۀ"`S :69E:N_:˪A*q/Zf N_ Scśaۯ+v<FvT/D=?2D$ʣƜP2X2-|2nבKs`r!,閡ƇӳgE+4/SU O"DsqbCSpс4ċf+mQɧsttToڤ97hkk7AΊ+ ϛ9Bh?"ƨ_gN46TuDƒL?`S+ΔE 쫌7[}`R]Knj憣$F]<Ήdƿ`A`(JA<J}dfݳϿ%zWOYyVճ6M  fh'. ]Ǿ}< rw <-PZ QO.|a\@3o)`F0~TQVႱMӲsSJM  5q?̶hV?;-SfQe5 "ҕCƦ !)NUMuaEt<7cU':I6zP`$y{-EnTs ֡`A@h_b ^rs֕ :+C}_qK#8<:ѢK^7is6@4C,Ϲn渟E⻊9Ѣ;-w$nOt'.U~xq kKR`ʙ|4)₯PV3ڬl'ڔ{ou|v_R7RV H%\sm >DSR5#&Yd7֎@hȣܛkRk7oGXlM( /-ҺW]z+,YP& ?ry]{z|n b3 "tGe=[ &iAz.䷘HE )>/(ZL ʩ^u ij6hY2R赯HJ)N %rusi͵Mk^znԉ}қE`o7h3vWoBM %81@t՟ɁhIS$Ot7n:箫Y'z@QAce4gvdRBhiyE\+ v{"G4 I)K 9hnz":ϲրzMۆ|#|BR˼?R O+ q2t鬧ycXőQ;R0}~"`6rl)HUv3SUlpRSfʖw>3y oKvI)P9\o$)ЫT؏K88jNwIU^yj 3;!j,8$lEYRhzg& )(cjqG8E45$ Y) UnzT'}&oMalzZ7/T=c3 b/le`,it1T#'(Pu9V=Đ>ޞNY*9GR)xXGhD'- MŒ )`2`MU :,nd#`o<ۄϬu=KB_3\F3b<]OfE.ln w92JBtgGO՗k{5w 6QH%E{Af]]j%O>ߧ3=>keKX{ o"J ;N8l/ARD·=0L^JXu,-wJC2Ufeݫs>(s]E&.*ܤdY664j#O Q[y0ScGNbuB)l`l$hfl.hGE H4@Lџzf80+yg;~]rNTr|T)A#=bKh$?û憾a _D'"\%4΋Ӑ*z4JȦB 8(ۜRn ְO=Lg\=agQΨЂ{%@QL-SLie@=DL&Nid`pJ^DY*y/%fo^Yj <3W8vG ;8x i?|iKF1ĝ킳Dp1hє5EO,G_>!AEweݛnj.kt lq0WoM }ka@.ƽ=# W=,92Q[+wUGQ"&*+Sݥ(Lɒ* \?m''U1Fa欨RRC_Bm4NbUq]MOj9y76 sFvޙu0Ym>TWc "i.oAH2ɬf[@rt$Mtz/~LXus)6>xuJ}bߜ]=q>za)|(rc\67Hߕ mֶx7*'g\%)%,W%N8/zCs3DzW&'pčq{2+c="yLa];F@$3A備)AwT4r}A5=F2.HG_ΰj^w bT,,wc6` ]W8!n+O80 `HzqKЇtt]=ۙżlT0 S]|n dNmU?H&rθ[jEbm:MZ to22N ,Հ\k—McvKC%zB~SIi$E\i1hC(v!kH9)|8ܴSM*-Ai:;&p| 5pZae++4 fж2E 7Wkm/] S/7鎃: 7)l)'` V]kkYߑ}T^aLwWw9N @H/Pi,ࡉ/2PVTdgjӢL['N}"6>vܱ&ŕ6x 溡ڒQ6)*] y}Ɖv|6BCdzyFkחx`p;P < 7x3&/bAjEv/ޑg)3 Mt?f8NN"HzSRJRP;+;Ox$Qg6*uc8e5Sz)26ޅ;y⧨۫7\%9;{4>RW7#_q@9'!n3Ǐow~yB[lG;|\w0e<ԤoExjmPb @w]XєQDl '?k4#@}vc4al>wg.>MN\C*@>luYp0yp/ ! m ~ F%_/S-~4PRDG0lJ"dw$. ⩲JCi[\=iNff+p `NZIZۘ&KIyRA\HLHq93vr`0EN?ʥg6E8<DOrN>pqi[ ҆R5χ$j1$r >`!;톅"ה:>E:Fݢn7vE%:_Y@=fVC-Ui'ƫ, ź\Wqf# BR, pa ce=HSP6"evc޹A ƛ"gtVт^446;EkiՄ ~FP bu)6_A|Jd)m=\ȋy9\]54 *= +;}MRdpѕL? <+xFmMPĎ~>B=ZM2LgVNgX$g19 ;|M.;v tϒK$T x6 Lz*̌GA|qKnoN$)-y^y:Ǻ(kS%/dGqo6[XmIK{)>cs*noߔOa})1CLU܂W"W_T>1UzmA(ETk3ߺ)LPI7dQ_XiPF q]D:ՃN4S!^%1[0Vʓ X4 O_PR`5ΡojiȦoμQ:L`Rj۴-BA,evN힧J6{@8W#0u6$btZ(w*VYqrZ7؏{>L `^gd(vSvڧ@($3@zVNK CXk lF>;*Ri $FU2yaE.6\t .KRg{:=27eUH`ܫzk%p6,Y-FA+f@~>/~uŢf{dce ޢ twVLZJ7bQ t'4rnۃ |sNI^{A z9XқtcmLW үNfgO:lPgurE:=p^k걹ZV!_)n%Fj#ĕVo)8Q!lb- D(ۃw*b9jvwLO;THZVo» &1*6|?!xhv?n*T%yR5]RW)nX_3 TW0{tYovf/a<[g؛q:}3Mdcg2a-W96q&hB"{[.YM#mP&=DӁ٬%p&4ypQ3Go5%oM[V̺i]&6"fI*;Y睪N,X3_P-iD=47 /VEf&AC󻖟vl j).iG^3E 3nunSazʬR@35D~X< ',dbyA0(^2KmAT-uOﻎaÛ|+O>YըC EP1FҭN:%,pt?Ljճ Q mcW{}CV}ZfY{'-PDmAmJMfAoIbP2~B&n$$oZ;_:1x \2Wq~AA-9 2>y-"̈́ &^ȃ pT x뾶f@ 9v9-;U~Bh,.(Eda)nPe0ZBYzR`DfC\=p)i S"V"%^Be09-9dF =J́ٔHQ{Z*wLejӟ29H6TF Z[.zi3ۚ3{S4,Fr$nա)+i6pm}<׉E&o/lJ"Wpο2l-ݣ 9w A/)^P&.& \l ψ1sus,Qx*^c?ōUn5uB$⫆*{RRGhu#W_bx(AD}#cfDYa!84(tlć"0PN0&|x\^&~<(@ldf=gV Kݥмsi MB!,c)gfw^AՃ1!\4ZYi͠ X矁@M~F2 (zƍ3{nntֹ nmWS9'9KerIm26ڐXڱRCfA*e n;v@[r5N3u7UYkzЂZDSdgpED4?k BB`mLѝEJϏ(6~9,(Qb=F?Nfhq֣?-ylP+xMJ%w,gq)3]}CJt$3p|i)jJEӖZ_$}#K $ w`tѼ̊f} эSd0]9,FI#qC7Jz0idrNd\dY)`w7ąóJR;I*lRٙ_!wI鍲o{^͆bNu ss't˔emW>.$u j DA t"hMbF.H5lޔ^vzvͦd* H_^ A-ٙ'F`Mr95 @N"_0q" Պvvk82XY4`ŊG.y:qNf)grm5r1E. fJP%C;&ߧ ވ%SjBmC{@vٌJPD.zrNG{H:6OqkKNWr |nt x4-Eely$hWi)^zDzMZt 4gjVJv-UMbI;5EW;g@ YF?ڹSJTa F' y˚׷,ƥJU>չ\ڄ[swwxo76vH $[}{ D&݂gOa~7I rT6p=0Ʈ@':; b-&]y?F[6qk L.@F݋A.˥6KFL 9xx܃iI`pDGVŐ,9:ЙD9cZլw=֡lFfϋ?.Qtgc0(M1kUPAʽ#n3(ܩ;4eC,shmJP9z`Qw ۈJ^OW _+ё}4J v 19%\+;y#Q]=!r-l5LOT),Z ~Doڌ/ >j4KU[*^ `!0޼wTJUҤI80~E'i)ak|4MW;Vf*Aj>s^5,C:֓7.ՈŇ2%.d0Ƌv1Q]qﳄcVU1-Ɠ0 C(Un:$[ragHruxȉzhW,hEʼUC \ P;l< a#&JۥpLT#vWηӭ^bw+rRjl][-^/;8[+K* q;zg E6 HtHd5g__tR"Z8vR$l-QW7#r"0xV Y-sk|sKXU;ML1PF4N ma+7G-̒^i]B` viӚ!i\k&U_0Ɗ 7u1Y:j5Zc{sl q'uQ7)y%Ɍ(VjĐ(N:r+H$0KKMkP4H})"9Wte{E$1ʀ,U'#Lvto)sY[̨)2o6~E5qHoxbD{Gi$U ӉfKc6wY9)S[`:4rW)x> MŞE{lOn-#::Q2%Fj{C#_Ӎ |WVEuj "' apP9?KPrn+mg'`ޱަ;=)rIIA?~vcpk,/>}idNjN+|!'j'x ,9@BrK nΛAK$=);o}-,P;cO&UYs]<v%6y1˴PK g#F7GbJLfҩbyz :ka<@+Yg7]5S MO?ֿߔ88]|[0y&2*hāƮ:>Ğc`ZN{;mŇ0. ;&(DCN䵅T>%ptӶ}fV6,OtKZzo$w\svS>z^Rg, ($le7H+hbW(ء@rSpasGA@[}7(xn.2H 7/ 밗5BTLr>v8_Jn@zEĻkN/1LH0pJJH)+>yQ#V,@'G-fw|xw/^B灙 qؠrDhC?0L Sv?[`n R-Mm*VЌCtF1)j]S's4gLWLBqcV̾[=K7&n㐈GU{قgQChː$O'7*8OS_2E:[dƓRtuU7rt,   +bUw]FŌQ%1#g~ӜoV +!wĴ m5LS(8Qem[̛JzۑLB~BthN?J;{5g,O;E"UPŚIyk[ve[_nϿ8&,vmI~<_ (ۉiGЍgy"uU9T+"%^⩳ss כ_މYrW&Qcdx vy4(@,_O\XZ.-Q*?<}rZvY0 3n'WD t[ JiTjS4q[gNL#qoݝӰ I&=M(|KpϛpNWCSF1s<]p zqj;y78ioDhˠ&.v3ofKxEo?O޶B=Th݄Kz8{=K{!g*%rאOqYϙjk[q UM׃ހ5mnB.ĹS꘸uj`һ y4|lumq.D@۱D 3w/%L^OU^3\߾7<,;(s2(r}:kFN.pAw}8+hj9ߕ0^4f\ϯb40-]8C죟MֱGQ%W2o{qu-9$q;f5L7d-|\TBFZ;ڤZ,q'y-/0RyRλ]3eG: 8ֳ)(klS_4yق`G Oum= r>TL/bJ?}<\JuƝ@?<TKLOo>T*rf%8o]H30О^ V O ޖUAkƄRLClI@ 8a5x# ?$D-io-4 Ghz{+NUWF#o\R0Y3&MpxG+ianp 9-krW)P:s/8ծ[__BlFm &M2he~=zb w u CBI'DgVP&ZLI7kk5O9l;DV3WqoͰ@Ӧ_RT6 /sgH6 rM0@gYSB73N[J7 CIK̓,Gኯ+vpuʪ<<Óyp o%> !PK P˄$u.c̽!ϭSTcԑu7qHtoXӰ*,h~ ӯd':ӝ{~C`;>d#m2wˣ%h5a9N=gH\ %@]*1%LA{G0KMJolh{b)<ȉ}v|GP(H`pPs %~ 'Ey|y> i~?c޹<1w EߒJ=@}@%3HN ?E1a:e1߷|GmB{`!8PAF w,5` ST8x|[yU<#[~~)c^Trt"@n ڸFo$Ne.ahC ;'H ?YEQ(`¹LSdZF&;n`F3$ReJa %ig7d?V[hGmoui5i6ROnBHv9Dٮ=-´;08Dxɡ:*MX-"_5)jO*'1RWsWjLg:V3jGVI d^.p }C>ϼd"2҂pP"[^'hzi 137_=ulrt6-4~ ˭h30ٜVg]#qbM̿kDЏ^24pFVTq]}ʸWދfE+B^Td oi镳[nC"~ą8ui*SvLu@h˲Podp u$ACXaaƶԶ*ElB:Y;Ftak9ʬwN^܋eƱ׃T[U z"ҁ ĂmFz "h[:Gt9'J$eD vNjqj ~D–.P`{ood:RdWcrrrSCo:S{&:ajPP0SsT=R/4MrYѷѢkpE?[zÌW[xV3iC`r=[ҷJp8vLI=50A?I*[Ǟͬȍ=<Femw3ڑ 3$)hEO3FoGm+(DHdF=54xH \FՁ_c=r+ PʄXx"r}>)g;tE&.u8vi7!z}Gkv7}Y^篱/ OMQO>sϴ*,I wqԍk7/n̫sv?)/ƪWҕ9)QvyWQxW ?^s}xzW&N摩Z8֣@]VH3B-ixDLJы8KG T3rB a'nFW ʩfgƓ/HuvfvZJ+rO?yTR=׃#P'[fhsya0佪eφ)vnd(ڏ~'J=X<{22! d@ؗD%հr-"D/V7AKV#g}%cE.h P9m?&w<'wkmwARBY¬v͠j7,ZK΁w~_H#y!ҏGemwەμx9|,B 伍TpyAP?ls%ݯB𲨁4=eYec#+X6^"DbY:[eWE2tr`?xR5_)77C a8;_xg8QVr _a,>c,Y 6ۗ{͹&ݯ$ڔY @e=ztZ?L~ *%gXDž!j&0ygmt[| zYQ$j ?DA&8 l k pɣ [[i'i0pF:=%T^-G`<'ng޶i2X ft049qh]k#gZJ>G>Gӎ, 3>ah2lG55&/DݒiHOGWťP9%^32> 'znjO;YT;eߍnSlK0t;qLSC+ɓc܏}5qcaLKD`XpX7S!#G7٪d'AۦzعqeL>&G nm_i^omI^ʮ,M; I9V#&h@L}:#@iWH_/}!Q0P/\IwØ{R5<&ȅ (E|7/!O|8ݐ:,}e:UO   YZ