trousers-0.3.15-150600.10.3.1<>,gp9|_fXQu%zU~GqV3oϣ+$"v^Z`p`M9?KsᐱΉ4)WKvފ -9'p<6 bN8Έ#Mٻ#/x^9ZIX>(eix;<Ռv'{j!_̯*Ӂu@7]c)nCXݖ YsSțS/zcBF;S4[:~"iD3r%ߠP~< IwзTl'Atdu>H1?1d   V!BO e{ f c ( T  B `%<(8 9@ :, =%>%?%@%F%G%H&TI&X&Y&\']'h^(x b)Ic)d*ue*zf*}l*u*v*w,tx,y-$ z-X-h11111Ctrousers0.3.15150600.10.3.1TSS (TCG Software Stack) access daemon for a TPM chipThe trousers package provides a TSS implementation through the help of a user-space daemon, the tcsd, and a library Trousers aims to be compliant to the 1.1b and 1.2 TSS specifications as available from the Trusted Computing website http://www.trustedcomputinggroup.org/. The package needs the /dev/tpm device file to be present on your system. It is a character device file major 10 minor 224, 0600 tss:tss.gh01-ch3b SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Productivity/Securityhttp://trousers.sourceforge.net/linuxx86_64/usr/bin/getent group tss >/dev/null || /usr/sbin/groupadd -g 98 tss || : /usr/bin/getent passwd tss >/dev/null || \ /usr/sbin/useradd -u 98 -o -g tss -s /bin/false -c "TSS daemon" \ -d /var/lib/tpm tss || : 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 tcsd.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 [ -x /usr/bin/udevadm ] && /usr/bin/udevadm control --reload || : 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 tcsd.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 /usr/bin/udevadm trigger -s tpm || : # bsc#1164472: adjust potential root ownership to allow tcsd to open the file # as unprivileged user. Be careful not to follow a symlink target. system_data=/var/lib/tpm/system.data if [ -e "${system_data}" ]; then chown --no-dereference tss:tss /var/lib/tpm/system.data 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 tcsd.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 tcsd.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in tcsd.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 tcsd.service ) || : fi fi.`\W"#]~^^A큤A큤Agggggg^S_L^S^S^S^S^S^S^S^Sggg^S^Sgeb009b7d1132ac33411e8f838c7e272606c8dd1d8944bc8b82ee28f9114e82fcc56f762ff401646eae0b25769c79234e22cabea3e3b4f4c7bc581a23787b36f44b635e9ae00264cd370fc62921814265679e2a15fa6d6ebbd468e40f00af48f4caff21ae6e8e5a4e029ecb4d459634217c34e2b905f8b4364b7418e7c3d074aafa066fc32ac644d28c5ae56f62feae0e3b8639565dccad1cc4345dc71577970ffccf2c7a906ae571849fc1bacd98f3e070e4da85b2ec6e937aa45ca1323b55ef1ad596d12e7471549663c03e280b5b5d084a2e853fb86e4d766109818f9d7dae4a6bf595610b97b05728f4615d54faf290fac3f8bef836a5d919de070f3cecc4842cff0de213dbcbe03bdcc03c3dcfaa48e03bf45eea9d18e970cef4411f4458686e9d62dea2df5433d4a435602c3e0522b3bb68a2e75c39c80552d6bdddd948e10fd3096b3fca327b01803d91959817028371fe8d9e1970256bc56aeb1bdc1138547b7d669844a1d7d5b9075872b6f5117996c0a21d78e383e79ce7eaedb8c07ef598700d70a9cd14ba28950c7b048cf21ec2ac2297013e5789830b58ffe8baf09355ad0bc2e91d802c18654c2b9219ac1a26cab805879a784eb8a030e02c437cef9d8224b158378505c02b77fcdaa05a2f9ecc1552e95ad6d71b5ea96b690219a3b32565147e2a9d085f67d3c83fd4b93dad037fb966cb0cc5499d8fa6a568d7c26f86aeb0e601cd2358475047161b619bb46872f84569448031f3649619e35e3194d734c81d99d6cb679ed5c24ac97652b068ff12eed215e1ce382a4fb7dcservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottsstssrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottsstrousers-0.3.15-150600.10.3.1.src.rpmconfig(trousers)trouserstrousers(x86-64) @@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/sh/bin/shconfig(trousers)coreutilslibc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.15)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.2)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.32)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.4)(64bit)libcrypto.so.3()(64bit)libcrypto.so.3(OPENSSL_3.0.0)(64bit)pwdutilsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)udev0.3.15-150600.10.3.13.0.4-14.6.0-14.0-15.2-14.14.3g@f4a\>@^˳@][GXh@W,@U@U/@meissner@suse.commatthias.gerstner@suse.commatthias.gerstner@suse.commatthias.gerstner@suse.commatthias.gerstner@suse.commatthias.gerstner@suse.commailaender@opensuse.orgjengelh@inai.decrrodriguez@opensuse.orgmpluskal@suse.com- make sure that udev workers have finished before daemon-reload (bsc#1231071 bsc#1236457)- fix runtime requirements for stat and udevadm (bsc#1221770). On minimal systems this can cause the %pretrans or %post scriptlets to fail because of missing tools.- update to new upstream version 0.3.15 (jira#SLE-18269): - Corrected mutliple security issues that existed if the tcsd is started by root instead of the tss user. CVE-2020-24332, CVE-2020-24330, CVE-2020-24331 - Replaced use of _no_optimize with asm memory barrier - Fixed multiple potential instances of use after free memory handling - Removed unused global variables which caused build issue on some distros - drop bsc1164472.patch: now contained in upstream tarball - adjusted %setup macro invocation which seemed to be wrong- fix a potential tss user to root privilege escalation when running tcsd (bsc#1164472). To do this run tcsd as the 'tss' user right away to prevent badly designed privilege drop and initialization code to run. - add bsc1164472.patch: additionally harden operation of tcsd when running as root. No longer follow symlinks in /var/lib/tpm. Drop gid to tss main group. require /etc/tcsd.conf to be owned by root:tss mode 0640.- Fix a local symlink attack problem with the %posttrans scriptlet (bsc#1157651, CVE-2019-18898). A rogue tss user could have used this attack to gain ownership of arbitrary files in the system during installation/update of the trousers package.- fix wrong installation of system.data.{auth,noauth} into /var/lib/tpm. These files are only sample files that *can* be used to fake that ownership was already taken by trousers, when other TPM stacks did that already. These files should not be there by default. Therefore install them into /usr/share/trousers instead, to allow the user to use them at his own discretion (fixes bsc#1111381). - implement a backup and restore logic for /var/lib/tpm/system.data.* to prevent removal of validly stored trousers state during update.- Update to version 0.3.14 (see ChangeLog) (FATE#321450)- Check for user/group existence before attempting to add them, and remove error suppression from these calls. - Avoid runtime dependency on systemd, the macros can all deal with its absence.- Force GNU inline semantics, fixes build with GCC5- Cleanup spec-file with spec-cleaner - Update prerequires - Use systemd unit file * replace tcsd.init with tcsd.service/bin/sh/bin/sh/bin/sh/bin/shh01-ch3b 1738925250 0.3.15-150600.10.3.10.3.15-150600.10.3.10.3.15-150600.10.3.1 tcsd.conftcsd.service91-trousers.rulesrctcsdtcsdtrousersAUTHORSChangeLogLICENSELTC-TSS_LLD_08_r2.pdfLTC-TSS_LLD_08_r2.sxwNICETOHAVESREADMEREADME.selinuxTODOTSS_programming_SNAFUs.txttcsd.conf.5.gztcsd.8.gztrouserssystem.data.authsystem.data.noauthtpm/etc//usr/lib/systemd/system//usr/lib/udev/rules.d//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/trousers//usr/share/man/man5//usr/share/man/man8//usr/share//usr/share/trousers//var/lib/-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:37368/SUSE_SLE-15-SP6_Update/acab3358446069a4d3709cf4ea8d3d73-trousers.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linuxASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=3825b35f93bf1c9f3ad6d88d2586bdaf4ec85582, strippeddirectoryASCII text, with no line terminators (OpenOffice.org 1.x Writer document)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) RR R RR RRRRR R RRw< &-*# this scriplet and the counterpart in %posttrans work around a packaging bug # that was present in all trousers packages since around 2008 until 2018. # /var/lib/tpm/system.data.* was wrongly packaged as runtime state data # instead of package resource data in /usr/share. After removal of these files # from packaging, during updating they will be deleted. Since users could have # created their own versions of the files already (by taking ownership of a # TPM) we want to keep those files in place. # # to achieve this we use the ownership of /var/lib/tpm as an indicator. # Versions that still wrongly package those files also had the ownership of # the directory wrong. Therefore if the directory is not owned by the tss user # we apply a backup and restore logic. [ ! -d "/var/lib/tpm" ] && exit 0 OWNER=`/usr/bin/stat -c "%U" "/var/lib/tpm"` [ "$OWNER" = "tss" ] && exit 0 for data in system.data.auth system.data.noauth; do file="/var/lib/tpm/${data}" [ ! -e "$file" ] && continue cp -p $file ${file}.rpmsave echo "saving backup of $file" done/bin/shutf-8b221a27c0502601f15d87aa828f667d23ae2a26ea41a0e267b44eb100788fc84?7zXZ !t/Z2]"k%60c>ͱ8eCy< S 2s[0VAˤQPNfx3 N@S/bD8Bm++c!˚fl$ؠ(zl &f'X*g`_<ݳG<땒-mУEh!EdIcⰔd:3a %WF4M&\[hhc4>p0@;cשּׂ;X̳옑& ᳦_=-Ѱiyst9 k,7 &aFzޥhxW!܋aCIUz arsoxۧ02 2 Ղ+||{s𓨹5ˉO` `T?d~:. d0ExMs1ViQ(F-(Vn|yFD BOC3_j}0g!ؐjvXۧǧl (;_aE du8iEe23\JhFTRX+`V(]r;!kRPeĿRyf1aPgaMB*%lq[cU.i4Oy}HHF*pPoş<– 2tRծTu˷?31Y#C T\;Ц1Qk6h"sz腯?$I+Qw?k'[lr9{ۖ> ʺG MŮBŷaAK?,Um{7c7C )ҐF@<, dPƶTO.7-WDY]3ohM i+&†"eИ"Ѥ|[+H2YlѲ'dK=QGŹԺw橽R(=,SH~ScւQ"y}7R4ss:0̗I s_ĺ=oj# E>$6eoF7҇` $]=}+ctazKm]-fqg hSSZk`m;=h( I 9DJt h늍o:PA_GCٺwh#hp6︣{gNȼ"cȇpxYQe] W/`!^(\érQD5ݱ $sѠpor2HtT cJ[8Y >jW݊pppZ>H%}~"CIА ť\1ن_|vogxsodh OzۢqI^`iU@ YP)_8 1:!|,hىET|}{B%vXᗚ9 m)r٧m/2O)cvI̗$EZާ6%h$?CH0@YoXr=9~\t‘}rP~v+HbH `giHT n{&:&:1෣]LVSf# q,>A; vQT|jWjsWHwtޥѝM]2ΚStQMI =C<ȳ SLE>'s׳_3W(V8SWT΢*nz(8@z6S`C>{Fyֹ۬M\?8U [*j0wqD|bq)-u;( LӕI L*r1x> q% :*cdڳ#&k*dKrZt{ %fv?RG紫wZ4=Z-o5}] [`ANgZxؑzB Rqo{Y^Uiz\ظL·{cZqkyuG]5~inPo&=U:/R V3J&ӆGvϋ`}%ߘ @R׍Ӊ/5+S=5cx@P/5k~V֎U?itm#0(T4frJSu^uޛA ճ ;19a ʜӠ۷&-fPI<^l"/8j6gHB~䭫y@.jV"`qSԮGOtAtFG ŅTPG*I0ӪG\Ҍ愧{wBQ@7k.,ip &k7һ۬ lp%=ڔo-TDRVê3|Ÿ }4Rn[8.T=nSz&w 9)ƀ8v멈FoI̭2u.QWb =ѵ܋? J;l"FDJJxזR 9\;o= 6ȳHhbM7 ä86R)Z ]h! ǣU*;GSY;xCg߉ qlZlWDvF(֭gc@NWV̀ >7 gd]$[btJ^#L&ZzhtsB6S iTy?]Hpf d fn;tM7 LHc >N_FYC C@e'dt;q^h2@8N_{<\{&)$/絤R0U8 iOn bRe_8S+:m'tR{Zjm0R,Xjܞh7rmOB iڂR:Gx,Ž %0%a(O+ߒ (H1MM4N$G[}BxX-)U ݝӟ{:s Qb'g֔\3i$ƕ@laWjj?+?i)&W]A$jz{^J:}j9*11{ UOO(Z'ũ0pȵ66grppe5?v_\֙elkExks6 ~6㏘4hdF7{q4n˖`5[E#EMW^ȸM \z+tw8O\V_erA42!L)fU%ߜ?c1U)*i )\o"]9R+ ~[:RtNhOC+#N`H`A $o-_ޛ@pa w ׷S(~V)NZ bǁ3kZkVAUI S^ } N-E_<=Oy:Wv2h3ޔs[:-CDIQPb1i{mߠRy?a! U&1IP[ǐ6Ə 1u&g L;{n(Q Ȑ7BXt("o 'Uߔ&P>*b5(bNKCJWD :B~eg\]G\t9fzЛea/+X =w&:}:߷i^̋Diwe7*e=Ҩ;=No"'w5[Jo1(wv3JhtD*fz!Iq<+*-ɷlxeσ}ytJQ d=Hl&S9]M:8q@WjãX͓eˇH|ܣ7ZeBqw\ yn43}4޻lw߿z`#Nl[5#sEIUU^&iϬP$1Aw:Gܛ P6l>\I˵>B#Rh Q'>%Ы)^ʨq 0͋Y ksX ,@ >/Ls_ý=j; 8[=:'V@=ň!,kq=+ZjeӪM1Y]:ȷ " I<8%-!͊NЧ m^1,%709[\~.$ŠF8󣉹_T]\cXkI쒉ޡw/,xN輕c 5 2QNc7`5@qhOfQR+H >';?W}!פM#[gdd kr%Om!")"M運bmTrp+_%فCUT6b=H{?3\㡿1{2<AbgCWYt\N4y$UJ_.SZ\W(rq$]^SアŠ>m caVh/͋_w=)d$S ֔@@97s%`}9® ^+ܡK .,])(ִoEI͛qړ#`+\9Ml>6~o|& %! S`yth6h9bsD`Zۀwax܀7܉_f3/H9XDrޝu=FvHW\ ]e&渗t \AnQ:>̷IMwn'}ͯە t_,Q~ ոUgA]Ҿ \e[HOlpu ٛwRNJ`Lb g5Kաn62䮨A&wL.-Hs?wtn?P=~}% G*[fè {JC>ӡÀ+Q_7ˈc_8x*|Pe4-z j)@{cik'ٵꦠ>kV6f[9.[}Dk%3u޳A ppbd@Dݶ9Y:=0mk_jS;eI.J_v˚D`mc$eSLw`szG00ZE\CfApȲr';pB3SeyR%Iw{ oOvgg]ݪxBluK~!ZTf䖁2kuYze- GHPJ#`HHxw^7qRLFSiԜGێ,95Q0yQq:y:)\p!AA2ᡣc"ToXXx(oMrmo@JуicBl-7%Bǩ$AGt//*|I)yCD^JC;IP-O]ܜ)$>7@qcu"Ln$|4aq`c _6Q~UƗ3R[>RqTnfa66(UIĶVLn z6It"R'm ׼H]Hfdn0R˚_j_ Ņc-~vcwY Qhե>ʭaF'ZdWwGݞ{-)@̇n]vX7.{^N{f?-Vs,Ћ\>M}e|eozX͚`_K"ve~LU)#O{I4/l'-P1!(;~p  XMҵN=CR˷[irA@7V#=ivB8xDX _>8Wk$Wn-F7|c `;br`'gcCF> \O愈Ihnw 2*5āL N儫rtb{6B'-rs;'I~ZAJ|uoE^6Q(ĕˡgF3G֮+*ILzFhɚ2:B| =-YG!<(k"?|!i&ƫe Fo׭Qy^PW@s@(?04 @^j̼jAun<2g\M'2ά91  {prg.~[2},GR,rlz^436F%{M=m&?v@-ͨ^cJ/x >pI' DvPXEt9YԊJj|ow(eukJ Et#M 0WM@suAr#@}4eG(-׼PN)KMR珢D^ :F3bίL2)oۈEoez`n+QƸlEd }i}pPR (R8J=R͔.wY)Ϫ kޟ[Jfp9W2̪LH`5;QWTv +^CQy96 `u@i EFmR2eQJ^bˠYHY^\\jJo{=/6F{GrXaYZ:ͪ]ZQj؅V؅=OxɄ :  G8N>!u5`KUQnrn}Fș+)L1{uV.6j{ &#[L]fw$NwN fIf@\P v!x^ݢGBElgSڄ%\5uy»Z;`O$C]{9&"8 Z-X:$H"=r2f"Y@kfiM˔J6Ԏ:A˃saAdtz4|TK9p\R@+`#D`A9YY%Qa[ч/Jf~4cU?@X.ƳɈ,{X\^el:](ZO6>91x@ ˡMC,J]#uQ$P;V-nkiɭb(zN4 Y6i'O5B?"$ć/\Yki L-IaY+-,R@>4xE`4hDt%1l_ rVG5q ʹSwz hj{ôܾM &6 xo?\jaZgo*{c*+SDF]E]It~1Ww>7uLg]Fd#ο#Ы5jfɹo9f,мNŒJGȺUB='({,50uR7Z%+?҉g<( sQ⤛n@US-vMQe aF bF38G1=fa ѧȜѾqtC4xf_Y3^øXs\/OBĸ $Gb{%>V"%;ꕾo&n([Hq$,Y0G4Cl+ '6EU}:uSu]7׮aʦEҰ,RI?Uk6_QϞq+´ҚkxF;%]b$H$퓕tk6ުs)#רW +vYepno{@v4bDCW !^װ\PDR$Sj  /lJ1u]V\ssR_O\MڮWTȈ7H:09;$&*J k#3 kMGͲLT3Û0wmI>fh?lz_(q3GO@ISN*EG,J]Xp2-E=8F !L-`7 VȔ먴1S8/ . fr>e-&ͼ<7f#Ƶcp1=or!&T6Fgl HXDthN"b⪻=&8-9%gFj֣C-F \ z&[Ewfgo('΃ѫ<6{^ ږ)T M/9̬YoK4!DfTLkH8-B(9o,1MsKd`%b5z8Ue`Sٮz=1lǔ*cc8=WFB֥4X6l&r8о5w; {]Mn}OJ}G(eEpj!,MK&i>G.m:@g΂j-SbaUᏅ!дk `f>}!#ʛH ɮ(j@H®CtRߥӀ:#lP10(C䞨$8酔ҳ ;Nv Ib9ucixWyNqwoJ~~w7p(NOgɲ@LW,^=D#ma\iA|+<0.qz ,$STHY$EHf[4eH^z4:Xn١ɰJof|U\x-Kv0f]R%GE>4O2° 0#.U4d ㊝@[|Ѩ'Mv}.SJؙnK dz+Nk-.8!&JjYE@K%!.-=:@:2ZYSz{'PULis*҅sէ/|:w()o-U E1Af`>LǼcsY ږkw-ŭN7qm{ǎ310zkB9|IJRl 2;iD dSXzcNᛯ9+Ļ5i%CK7b2B&r-QuԼ( `\M`y`MҠI01 9{I.I|*E`*^yBG3C[|<^p;h 䪯|/0ZD宽_R hQk%9cڪ]"T M(_)Ƿg1oθ肈0o)֠5'd]bge4ki#?X,uXn0pվE::ߪ~hK Au!scCٲ6fR" ƛuu-D O'IS-u  3yUdU}hTX/ܞ.ݬagR7U6RalE`)]z?Rx W%]#*pцc)ňڼ|CG^ÅW1/59SV4p΢/+gXP\dܿpwpzNX=m" &̑kcr*'P 7 %g0]-b4(=N+zbzx#|76f㯦j3{ Ś\`ݍ&fR;RӂKVP*GҘ }|{Itj1]%v*QF*USFCo Wd̺n$Sbgl cykuꓰ"DInx5K tS~Ox{0d5Ӝ(Z:]~0# 𐟿Bn݅nm aZi6tX;èܡH C"6H*}]8;tv&Q sؽi&U VDZڭnեzJ=iXyH28NpoM|kd_.$=л}iׯFhyE̒+Ps#̄4*Dh8R11"x \[ BDzν+L߂M93DQMUG;}߆ &CG!Oym[i >Y\@\+D^$v\czJJ'JPƸpJP\SV[]pƽe6#u{,R-H^5˝<xγڃ5C"5 *P65M& *Ç 6h >2ɜ PpTVe72M}#:QVS,U|!1g7es-q+2m(3.,n'doq͗2=ʤr^ӖXe!7B [ #nK!|hyhaStow)Oi_Gqܼ޶rkZwJl sEKlz-_5-ԛ'1E:\e%2g4P2HUy]J@"cݰHwj<$J.=~@A ѝu/5nG> F..Ŵ=6foC7nN?>uZo q*B9fҶ1J#EYhLby9l0;xF0E.{m?@Rz]J #6@ҺS5QU⊆RF˰ײ8v'0wPL+ eè9NL'R8T=? I bU:}cF,ʼnI CY T6O=pF>O'1 ǯ wY`诅V(ܤTBC/$UX?2Zzo5X|+I{9٧@Sn?߃: *g hk6 hUyoiڠVV} wc_"E0)*`N ODP1N"B0&{}OO]F_W\Xɇ%> yT'&iMȯq `%gx4hDǥS;34[cYL_|Μw|h.r* BW] /ؐM1/2}|UmID~.hZ fB?{é𑶐72E>?Vޮ/OL :=IPf$0WA61S)fce,8 jf[fzۿXz3eqov3eN$u2 L[xL9&-Tbәi|y{2 +eyLhW#~8{:K-NA׻a"X&z"Y'Vـo3FˌG__ ,,>>ɒu~kArQ 8n,Z6d~H:i1մ.M[)3>2_KRIJG?FU|LL)w̖ܱ ~ -, ՁcB.Bya'˱yLޟɹۖŰ3h4onDT-ɽz=KmeՍP#Nq`QNx8L,D `_Q{\smREq-?11 ֽjE,*΁OVHkm_ ̠WzƎ6@S1I["?gԂYly{(>G[b.\-(?7K)}ܠ|݈ Ij3I5w__!/ë|c;%[ͯ$z@yP!zzUVu䌵$B`>|xy7fK*9-KdΌ.O$/O/ pi`"_`(JV3d/_IԚ'8?'=f\@Zlho|cJ9sdcXGW<)SN+4]^vjR0ptBmbzӦ-%|D/F^Ԧ`5) ԉEDPR~` EͅnQb{E-_J=mT@.]r!;a 4{5zoYY` 6/u\@2[ㇹ[xӄ# nU|!2 W=rs8߁44b [TJ ӂ_c7)sͽI n qScy Y@#K *xmSY= oP_l5)W^TssXad[T0?Lv[!6<$DOn,e$}4 2Bm Z% '*4ιˇyD[+g3MO]ffЌkbD볘_>zZ):F$_^g j;nxZirwQ(S8(ӧ^_ +%<HǍ='%_9!A(_PreJ@]Ѥ%W7Hֈ)Z$X5&e>FݤGd&/Q0}4\}4M[-6f3H☶4'zqgSPkf̓x~Qɧ4E5E!NM=X{f`e^mBQd&OѢӎ3kccXv,-Bt'tvc}*YcW]l oK:K5BE 7zj$Qr bc掃E-#C۠z c+*y1x3tۗq3FgfɃk ^Vs/:4KNiwl33G*?Q4H<*B-RR- bL tSY|:f m u6uAO_amɴx-CSUg7(*B$x ~#&OsZ]֤+[NܣJPRٽgI6¸jsK)ɿ'3bj@mĉZx6 \gqkS3 (}3t3SK7?.4['+o !mY JZwE_5C223ΙB)"3yVb}t528'W|h֨PKɾ zx] pi mm `DFY_,>+kFk/DϘJa ͕բϒhlb6eQ eJ1ư Ztܽt4G+!҅Po<{WQ, a̰9+uUV,ʇQUj } _*.n Y8{mv6w8K8`eBչFoI#rGb%;Lsh B̤jgwjRPf'"J;D,^+QF !ܩأw{e)I'1սeZ13q&Z1rE$S &}U1K8u[!(~Hq/W͈ R@I5sZKġ,_r¶-97iAf J³dPI`,k>? TM~v?vJ(6R%vr }*w~x}KEMI1#!o.o 0cCc0ԿJLřMɅ5VQ' ^z=[D2ru\ڂ5}EuvW#>@s%=KD .T%{pd!#՝ɵ3|EX툉f/ ʈk@QW"x9sq]S$C<1-''Ai'$tK̎%h@O FIuN6Z|u?3\+/u61!;ŬQ]^ۈ#WjR=@Z_ NOŰ]$9[da| @d5S~_VTAؙHiZ#s~.Lp{lG"Y5YkoAa 8-Ƭ| 1,/v  +5<5O;heP<+& bix<̂L&| wWrX0(?IFb=.oyAVHF/( !m0r֤FԷ 2cVtHT^l1@"Sn,ڥ"."j$2ybۍ=}7@8c㼕HcKIZ˼XOOOiKrUifIM8$[3f}9ur&3ڎEuRE\w+^rPjfy(DhƏJt7ZqlKk,6^iܤŸP9 j٦nm5/2 @6&OuRܚ,!t57טQ1'~kRale&GofjʞWG,~wnO?]$ T (Z6'mW%\JYaO !(Fp;T!ezyLmm/qkGꦈ`:峡Ô`dMNSJ?PptV88oDO\bYn74dK:ps m+,S MԝIx9'ټHْeW_+~%#}\~ LU* Z|{t [9r :ggQƊK!`.yIcg'u71+\bՂy'HF"Ȕ lE/! Xz,V Z$b@ y&1I>jOnԔ6U8A'=JLlNW.DZLlw`ó(M.J#^۳]yjv8Cf =C/#C 'Zs6!q`K方WB]:T{).&%4ԥhn8g;2*@q8W) !yc*D8{q1m%Ǿux/YN]>:8<1C Mj?_Ҏ_+ǻQ.h&֪#$šBVy.A`𹗓KGA˶faT5ۡQU50jj/1z7ѿTA)g4%"d2> nVdW=$TW|3=$~A oߚ;=Uj~tbҝ]:Hq1,T+Iӛs=MߐaDя6fÞz^`75K4JiC [群+`qꩄz&ǂL:tCUߐ*`͇`ޭ s)Dm3J.IQd𒯹GO怢YI6$cL?'sv|6R(XߧkMv@T^֐r))[|Vg<6 ?AoVr}޹#&dg/IsxXF>\.8aypqpQaz:WO'{ J@)ovAiubCO>POSn (-Mb:Sq!GVi(q AaE0n !l6F @Clt5r&TcX3K1|WݷTogSӍJz02bQo45ІN+^JǾɆ'ߒ;7r4>Bӝd4"d8 DDk1yi~c{4o#wc(`H7t5U~ 3d"-sA 7uZ4.q;iDr*9 n\,DW.NЉЬ̀P ʕ &y[rCC>."TpCPbƧKaha ܱz"udEV4*.jxF0؂I"Uk(\g}j|&J-RSv*Mg& T )y4I?.N)8sˆ3ϖR63WDZ#D7=n䚵ނ7{߈/3"aiq Њgߖ 8ޱY8…4;4QCKvPh2 B[א0a#gU%];TUOmK>ׄԡot9/F"Wĵy.'?bZR0nO*%nVy.J1Ԋn\Ⱥy.x(hfǻfGvj?r^O>M|moaz]‹N1P}Bq4VD%*Y@cdZ p=3_0TpDkoo#$RyUէb9E)cr>Ci1E}ޗ9-HlvPލ vP.t-Ivԣw"\Gna6hT+efյrJʒ5[èB:Hp,˟ug*>ʣy>"m*Y=l}:JAқt]].;. )&E0z,c{xf 4(ߗ}`}В+x.  )}f;(CQkQmΎ\0!,\K^JnZN1 ІT *;Jr%eO}R*Z&uD^ 6¾TP˹s[f:PKwwg ` ^WEnk9GV(4ֱ[HC:12J%gz.,[ b uc_(KRH_N9aK<رZPqqL?^0)kA +n-؟ =Df"z,DRpe%kǂ֏{7%k: -7#si(Tj@EHHZs#~#}sT LrID v7GZ' M{l YZ