trousers-0.3.15-150600.10.3.1<>,<gp9|gז终JE=ѩ񴄨#*OzGpMg}:]A($ܔ9,tBdYYVX4$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/g]]"k%]̔60c>ͱ8ePtm3)Օ9Q˗,U 0imfoɡ d: /dtIi%PRA4J6 QQ廍@Y v|[Y> k g29͊ u"븎͖ߐ$&vqܝ0'k:j-9Pt=/#"rTRA]o nJwHu<\NFqvvЯw]~nV Sd>Y8?Fֻ%J*0;v O QwTlŜƇg;LQXdu0\h%UGN*sN⟝BlGI9! oЧV(շq^%\ڸNJkG|-| cVO^XcQnU~xI󸰼AArΟ>L`/:Jh+Qw_KD,Txgi xF6vS J^[t5ʍק&T82}8.<\oٓ(;h1]rOE~K.W= 6͌ZXMCV YkCb+RZHoE4Ĺ~ғe$w<&,$HSk V4IMb?17w\wtF\K 5^kw], N`NW¨f5h65Pס3[.`lsqc솳A3ćMqaYQњVd<^!JMem>d<ԨPFdO19qKB~SYΟU顔E<)q_$xmS쌨]_'崖'"A&WU4A2v&drlI"JJf^,AK-LW5 D!e"@r}&n]JUQgDwWSc+eZrN Tأ? LVqXvqԇ\ۚYBƚmFrS`ى/OwkG ^TS FT<ֶ`|e\FF̞ֆQK&kաJ=~($ cA#S7H{V.fAF8]Ҵtck"'vMrWo|$t0g>nDQp Püj+NU)(ZPnC6>'> w1=zJl%S5F$ߏp#ߦaQ*CJ6Vs}+%c]Xo[USҶdEbO'QhLpg{1彟T''l9$g?^l7ngCwP9C:r-a w1R'#.lt "TZ ՘.2ϕ8ˏสP(N$H  -+e0!wR X!|{uUjB b^P^Bg`T[١$P(f"0j?T:aP,37Ӑ1[ͳۦHx䧳0Mѫ08P4ө f&W7ø=A-gJ.}97=R}11ْ֌u_Ou꒔H)Ƹy&!VP?/r$>b3WFBr&TAڿestØkz46s)mЊaJW S'݊C^H:ʮo9}E^F,X[e!b/EY{%0e%xz{ڷj-FEn򲀑Fzu#K2=OڭuIÿy -ʶ,Zhq&r/aIM,!&ra~YSM+6ب4jQ2`1 ]-X! \CD[ka3դ= _)=JCRUhLuY))[-m*?W z}a0:zX٩y'~9#uG .:lvdZ±SE~x _[Rj9q=q6ς>O&K^׏bVSV?d`7Ia^֊J.Geor'Zt&q^ g o:6Hrf{yj㙜\N @i LL-MY6%g!Dħ:>2 L߳McygNzA(NS- /[ B|ᴙF \]ɵMJVEe66h,Xa<?F ϕ+8qx"}0HD"m0Å~JqpS(ل=M3+{2Lǘ_E#P JJ'[;qf+TVx~T>,U DO@%pmjb9aayʤ2>FܛP4-/Rkc:DaS'~nYl%eh?ӛZuL>Բ~,!>n ` J7Л$ ׭Rړ-چdEB,:*;Qcuc7 JSt乄b,qD͞en p!!SM`i ̀Ä$X`Ղs_Aw}^z9c].gNClcy6xWWt`fHd-F G rI&a IЉr`2qTq̀q/fKͱ'Нqz),Wj9v,W>Dٜ֝y.+4\|r h&햍wUf{)[OŴ~J,57K{u)l$)ܷ;qIYe₧2›ҿ!#dai> y^a<;ڦzrp,}j8qݞ ~Qe{_#oiDh :cik`vj?`nkW(.g‹. \t¼H 1KHu}8E$JmRz1(_̒ #b8M]O,ThvMg; ĕ@5 ewTnO>玭YȽEyyVdU#ha5 DYC4`.$YOFQMV *0fV~2R FJ/ζ 0EwV@r.C9_Pmwس9^\Vu w >@60Cg`Aγ霿k'D )l:L ŅI_U>Ҩ6f&'&Z4AHѸI+H7#aݷ|ݶZ"P5G_#{uU ^z.)B:8"okZNo5s]W|a;'z6Bj!3 nk^lj23*}.]\04 ].95/sx淪|9@]A<Ѭ#FKMY+ lmtO/o|QT]70ٻaX蘭OZR~jYă\w<_I~q1׮Up5_˘p: é{Q0~`.]!L"G/ '* RNI4'aX.dY-Շ_& 84Lt7Po_۟nCDu'שTTQm6y ZG'b:$l]sN#ƒU-Fk m$GeV*!VJm#:r .96ǏYl+SUn%@vtB@ J{|UfnòN`b!K" 3 eOE0;-X̥֞ \*bY;<|uC!c3gj)lhcA f v~!z"*i>Z2akPۤa4"xFMT*aۯXh4,e P8.$[&g:~*LoF2E5wk8:tM=z)SɢȒkQ4L̥i4Cwre|`E-|s9' X=av44(E@S3/!{-q&^nzX1Mq$'a`NKz{=} W7)@{^%_]cy(7Z@ն -OfǦG(Uq~M`VqgElP3.0qUM{O-{[dX5?UBcEQDNo$bԕ8>GY}Zl=q/Ne=v&1,h>ϼ|(L5v,?ރk~JՅZ A:h4oYcyVQpԐpBc6t^| u,}" piCl:_ftl$>_AC]>l\1^~ڢܣ WW#c<|:`sgDz3 k"e-f6c 5 Nu^ǃu=J8GiQο= 29M.Yyp˥ۀ8C2G9~'u8 >wV]J*ĎsC X'?ym՗W`0m.KH*#ة'OgGRRQk?G4]ʢG_\3S|sEsc H!| H6"}:4TQa@mАR̝ lbzüg\='q/x'M/kM(|qM8il* b &eKapcs^*2{1]3%YT@mpelȊ)Q)YD-i] ;?gӅG" $\-G0rAJ"E[l.-qQ+mۭǒ,6}VgY 2 O2$0Mq(}>\~P3zqYzVr7)4D ._&f_$azW9YVn4*Ddu-kdbf}Gahy0wa/5 5I,T`ӪZ \z_ӭ+K0E\/YZTSeV٢!wg9r^nsaKwTbrKUeȐ(sNRp_[E \z>l_b7 Qvn |XuݿNvfk&H;#0O<Ȑc?궏Fa2#fpkLJi QG!Q jG \a+h$F8w%6-("So2yENgq́4Rϙu8+S"CA2*!+.muUR:W zxj(! BCP.wMw&<+ iG4+$T!d]Cp_KbH*^A8 {,h@ҁI- `_q*Lbꯁ9lՑZq 9D+ oZ.*huy`x! .L1@AOntr(Bb6pk5*zʨ.˖ZV*|m2kQ`Rʻˡ ׬M/뒦@cI_Xx)X)蹔s7Ƒ]r˔_' ]ohbuuH-QRy0rZj b]x!0ȷ`^eIw]| g+fV$u/(DaoiI.VVbL2:P̓nzg>^O;E%1vVFHB돇wy@wHKFUFS;_j=e0^?jO{rOt`ρ94)7fi%؃1'NMPOM2[*yA xl. Y6q W~_&ȥ7=ʻWtg[}gᲢ538}aDL9R&w7`L4EH/"W|zC& B)s+Bj' VI@w Dw!j6R֨s W 8@!w_=KOJE.n`rԯKyp8]T q~]\Dxz;E d<$ V+ V:C۶1! frxwlȊq&< 7cp-ٽg~>䊻 AY e 6&vx :u۶R* eBm;S)}DD98Ho0vbíSb=osGT:2lIZΖ?Bbbѿ_}ȥU\7ofz*r %_e uF̉ξ?*X|" ;*#|SX}rl.Pz<_%p@NtpFajCߝHT7[/N)}"- #X5V&f|*E 7i_Q؛,:.LMmn"(1*XfEB-t~ao¶)|w[}htS;9Bpcᆷ뚽YpQ) t*k \%2FQGkhqr:6Ɠ_K6p%5LVi3]t3+~V>hőbG*waL*Pٍ1mSə[nEAŧx+2GOPotW3~wI%`H ‘e\h?\$|߇kKs!t P]E'mu1,3ODܑB- > kpO;U*o͚EX(<0э!\\:Gz\#T+zR-ʅLc>W+僇!80;384a\U$Cø=l1K=?}  o}0} 4U&Jsb켡ljɫބ`04;i> q#FkӽA'7NԹAuLe'+K.D?:h_8iO:67δ0Sqczhų  W4`u oD95FڎF}DI:-9 Wi.0B:BP!eҡ,OP>C~c@8O;3>֗m"%ޕ Sz%ЀMPӞfslH/vUȕ e*#t"A2y} 0o@u֐'mS9ށYPq!>% ӄM|-ѺTA-Pl םji 1FzV1<=gOX%õ%e՘=߅#5'`ZS*T!m^/+L)/MBq~wܦ*Cx%S34lg'g\N ͕(7 a^;UC)VI^ϲefJqD||ڣ.yo0B]2`CрVꚃ0i%iyI}PWoTn3)6g%EZ eig\qv7f Ol!t.Px_9OqC䤏X65qDn:&(*W&jv1rd^aU\jJk/\)40;B]n!b/kb b̿0HȊ ^8d3r <͒pN}a^="{=2VD舕rHD*^b%5h*[A.>pXJ !2ȤPMe !eq_(Hg8¢,])r g/`æ˝J! 1 O|C-Ш΋ZOfrXLUGcdCԦDZ*BЍLT?ݭ9xC"|.m *L%A A? s'w U=RjqRSVIar ?EiE-2EǼYњ}cVuA˨uζc5ŮogY76y)WÌĄ@&,}Dׅ&3W2jٶͿݨkVAn)S\FϋBJg ݅ Q9alr`be~ާs~i.teB)pX",-"Ė1B];J4yo:H3u}CoЖ]~8gֈ<V٘Ӓ̯'qs)y5I òԍ^m6AwtG;+4DzYҰ%c,|};1ǺAw'[̾֫=L$>rPiW=F_-*ivzxE -)rZhY#/1ΤC2/l@MOѣ}TI] WR!!:^<2QRJBDܛr. 5 d*QWag}s:z#zP r44ޡ]S,:+crgwFGRX/;,7c `Z}8ϜE !19fL%U\G{MJm0ՋUiCLo`@mzReDtRV@í{c%i,qX,7qD4N'YۡOcBMk+^@HbH_u6fTHgDlc_-. ڢR0 8$ڥR@ 9i^tD*Yg,5R[`mē ,$E*+‹%)y.x1P`ӣE+ ?쨠&^|cz)@o)3ߢ]e`=c hb@^p#bܘMPb{YDc0ګ` Qm,#R_5evddw`%r  V;q\9z<6ĕ[b9G/.1 ѺLϷrJ8*rl`DJ!~L9Stlg?޹#NLP)׳+Q7jO)ɪ%ƪRaXp--c5-E$Y}n~0pǙ;ݫjT-{2,a0n8V'2:G\N)$`*9eMq×# %3ѡ46f@n+?8CYJ;YX|CqW%QyۛI[uRA綿sGW}OzrR.l]*io6yMLX'\:: k2Wg1znUWApC jY9_7Ĕ{2|bY Y8,+4CȳcF]uTY^'@i) V3q9Qx#3CiQu㍡==pNb"ihZ衴h( ~Ʀ0L#z,?2xo!}.cvcl  3 !-4@ R֞W2GӘTWa j6h@=r%Z0kn(ju&nBWV/u 01U˕i O\C}b%OU?huy0T4TT)|wF*TK tRIwȎUzPN*Uy\DQqsKF`FSةsHN/71q%6ioP܀$ J1]m_@RY+5`#icCKZII3)hMu+nL=qOBǢp©wlQ؞?} "Չwdb Ҭ 2yȴ@]+A<&~Gq= F0@UBCE|ZqEx Mߐ4>0)a79I]>RXa"0w L8B>h6xGLۿ`ʜ?eVzށ\ b9705\Pkk$fqYJڰrVt!8{ԳU`K8& |PN௤2"# Iao&ߎdk3d=0bp ƫYhz.KuS}fY~W W!Ig(crO8{ojAya + ?v-[|`>ro[Vc.@SQiWbhdҊjL-"Ƨ7 o0C:di, @u$)tk$%I{x;_'gz0S|f `Hڸ3 W;9PLetkK2(oq& ;-'ȠC3/$gX*CA=4cЉZ߾cMwy/a&*,ĕuڊeݜ$CHePQ'#6P 8=s=4xk?!9] :E?Js )C {r0/4ڲ:J?L4AVwm.%քߍhŽn =6v;w,{qnl.Ld`K|pEo\v>AމCأfE]+CBa\@¦}OC1w&!yʴc0%S$<~Ë`0Qf)񯶞`(2;Ej8 Ì,Rm5JrmV Z9,7&ɬ ^42QW"]I+-a XrTPj=YJ!_?q'pYnNm䵕9qIy隵JffUd/*6~HR`U+n|;/uEr~@6*:3Ș"J(#q;hZ(B˷Y$VsF!wkҰ]W"5L{URz/ۭ2dY"'Ac[G ܁+~؉M-sE4 ea34I;ߙ UذM%10p`}e9bxQIA Ap.*skSi#WK1=xCOl1pXqB,;M: hM"(Pigo,$JigTV]~%ÙIy > tU~D.>c6܍mFvZlQJ3#76=z E|jʢQ;wߥf)=(YXlp/y[`$c K.˗٤hwZk^3 u <4` wBؚ{bڻ &8.%U˞VM&9N3wuhfBwn2S[jENK. A ьu$cѲ޴|?N"*o;.[ 犎}FP}NRxtȻ9Qǒ+˲PIZ*NzPTo!h_z3w, zR5BR,V)rm;爘`S.q-EotbV?=[_NzK%u5fF?.zNf$OJ[!ZwێzAmn|Pظv@'X x1~{?Iqa;xw[%spQv6wfSpBB24?c2#Chcb q8p|)k4$y_U.;z<!qG^:bRI5SN|& $炪VW{Nu&9=~HdgҞk_WQ2>JrG_~WQm p. mu> bU[~BܵFnyiI ?=+Q4jppVB?LAr h>%12dk#Ojdv,fز wgPI 03e1{y!Ŗ%%ܪA>ld\yI EZiv' OeffO?aD:aEX!\ (zta&"Yט0Z#'fE~syїqdq[/0IAGN;JT (KgLy&Uv;ܯcn>x>@ 3ƜiZ2jo*7Ѧ1R<}{:Va!hhu8sƧL3N43 B`~E{ɶdp)\=o>K8%$?eH!Ly1]dt١HQJJ~w""hVv~'c1M`i($5߀wR)I%plG%D!˄xhzBжLf |lGeWSsK,p>אP:~ȬazނeBUU_¼:R=C4 rT~fU70TgZ1Y٪ +y\j=!l_QXm[s2šqB nOLo$vgZdju}m*G_y,OwЧݪj[BS?fv c0!,, s~ n ɜӘΜCl rUlM<b;neac1gq4,ՐkŃ1κ@G4JyLnB{#'>T4f" emc8-j ~V&aoNtr^d< NhL6=l4//l\ hcLu;8rq(7讝Fw&n5w.NDE|e4FZÞ{A@6t&0 iVYmp#S^F#o0~D/ULO蠑0vIW,1QyH*!k{29 lϰdn%=-b/{JSCr@85’?)JD^')~n_9Xwyq?[rvgТZe'7Ǣ g]eiJ@6-tRu/jaz(GgĦՎDZ#FoVv]sTo4_R @$xB4K6 xKy?DNwUu<-L,n6ĈlEӵS5ٗ:Q V S|yfWQfO۲}8r2|Wp}3޾Qkt`[_ mVV2vEY ( ¢J4m#T dP2Q/A6Mi +ƭѰd4O _N;nUN9Ѿai0n TWxeQv-6~GTeH~ G=4nI]HsbHqVy(VGKP_V,Ll% g`v/1Kr`7)BECH}ur>y6Z(&<9XŚQo+kְK '[B:Z9 =4[ֹ&\dv6O,9L+"` 2ʒǩՖ:!J1x96NX_#D *ѼY9AoNA=T3gbm눍E1$Nk#_6Vmg ~ beoI"N_Vhn"=ɰ=N^0I]{+M'<pL5RnxījQ BsPuS!XJ̣aǚJZ"{O؈)s]Qdݜ>%vYV-蓙@_7 Q(:#a01JT3vؘ` ߒ\Jz(lk?B.{v*2@-hbyp$:aoU:z:mKme$)5cSIJI[$l[ankqFM30\M> xQX¸TQKĔm¬/rpVnG8}M}5N庈l$ % Ԃ6?`H'ޠbJ05U*QgQw+'RKs"n yh.f}KCllkܱ=R4FHNa2v0>/ʚ*⽭+fCAOY\DCXpa0WnKS.r97Bªp#xxT`A̕@r @/LBo[`y4.[±8Yf':M1O bϮkj觫Vԟ߫%'b-VKϊF'ReX}\3/ [AF'w*\Fl~xl}xZIklY8J؅1IK| ,\Ǟ,uD-o(҇L'ߝT^OJS9X98zQo5,];bZqO{ks;]D"6,I2Z|oܽcV͂X5MPEʳH 03peٛޟS aR t*֩_PnUf ےw?EO;I=]2xj\Xob*D*>?U2J.)FnQLÀH$˗'{7i#,rS'۹-ȱ)Kϝ!ܦvE:"/aL+xAIDDų5muF]e8bFR\'%B@פ4CNHԙN:z828&L,1RjVOHݞ^̣4꧳y_o=a'.% x9HSye-y7XM\XI!NrQل02}Bђ ]Kl##В( s+bE/n7u/Hi|{CU(Tb%Z!HmI={Q"NH~Ql4nnk糆HeLe ;-ZjUNʿAl-k:Y崵Ŭn_n?%ޞpڨVsHЬ"\1>Ӛ㹱<ܳs˾RYbĸ̚vA)uhFs5nΒ2 }XY؎z#"AYԍ3_:GE&M*ϡ$ڋ_56nSpDlG@ҙ4oټX \c=Qs'5?|kq\6;YtM(dmL_vN!;1G13GFmL0M3wD[hÎi='IXsQ k2񊠒3\ 0tCI_IH}Nz(=| US_5wͭ~V S-OT)叻9n(\ki"N`w`2K~ͷBGoV ioiH` /qZewKcFSDGs:5Ĕ}f4e%7L 协CgB\Snra!< טR ی(/Q,8v4֢+.ʺHT*q|_#Bmlș0?*55eD[ii9 AW϶Fgy'#zOy[{l&eXoBNMgEe)l{ ҝ ve B7/q8w;)ڳqmӒOJej(h!{S*kc8q`> Ӹmd~<- /~;pБ˽ d&B] [d rn.>TeG%mYܻ1N&*+41Nx-d0`ᗿ q9zA)B[imVv9zst`\ۤy!,c Bv$y:`ɖjnbRp:*KLؤ5/_*2>'')^Nz\U"'½ʽYTPEE'Zl̙$ D|ͰCk 0 tF;|酔E7Yz.yeWҖL9X)U)X*=[p<t:_Kv+<65cϸ RSP3A_uǦ@Rkc TvzJ!5Xʜ{U~~q"Go¸[c)C`r9/ZЧJD-.kP6ȹY2XtFdɅ[#+6~'K5PyS% $H9ɟ#Z֎ezF;;:TR: Nf 5iDQ0h >vvd@9E[eLE Lv[ JxGQ}ůCR%.;4:]C-jQ߭vOgvt9*mf+cQu2g~( 3ҚJ>Mj޲܄m і.lV u f2 ?(̌rɅJD ƞvu˜hNnq R46J6&,x"9?rU!^Ŝf.czYm^DRbcƝ0Y]v%3@J(*#+#lu{]jY4U;lǵNޯ6wQcƟu%AR-`0"ӨiktN:ocvzz_χGHi\^y_ȝd%ZplcZ& -(>W͖stTrZxmmlBNdhx'GDA7vIQgnIHRɩɫȐoUY퍆I߽CE 7QTx,Nަ{v9_ [jF e .#DPِv#'KEV/NOYU>`C Mh;Ɗ ?%\X-8>t+=X4?#[GqE:G`~#V: &&\4M@ơmxם̈́}ͥ_sG%5oOZbXETP*sj"R0lgzK#z֖DS뙓æS(`{*&(|Ca䫁Q93AzlJ)PьF'?J] PLV߽Q,%3_)|:֯/!?E7-_ eMW _׉Tn9gYhECΫ.MeԒq-t?㲰bWKױ2kT@7z"ZF+^ ?鱢JGGϭZµ).~#`<2Z:#4$GT휚K 2(?X3,NGѮY1 rBOyd8)HI>z| jl uvn)̮o.0V9GsU6p9L?ɗT\Pd Vt2+S¯Z)*9UL'O˞D诬,UXiu4di!f2.a鼳mrw>FV75&K;Ozdh034@uREM.44o-:;y۸q6>`h<#>}ʣ\q̅)YۀܳPpJK5ۥ,@u$DŽhzSVc6i =O'6!0T:o GY儎 ae/AK+qZf ,j>Q.bqoވ6{cr6<Nv|b#]K4gA@"ve!maՆ"P}LDŹ<9s|>2i1VEn HZ_ȝh"7韀QjT%Pt}L$DS#a܉Ff HCMfPG:J"x4}1+QLzZ`L@Fuz䤤bp[KvN6:aճє-ob@6 KFm>c6IAg*a TwtlBs3W)!6N1I4v(?Bs\;>p29/]l&!$acaъF8*]v._>T5"ggW oڎ-/:c2U4EF{>5E QnWRmUU pngrr_Fxt#$k)rt%}h`aXO5  ]yyL/ElǞqSM뼸@bxd"> [Mm^Je᷅4}"y [xZN lC3 #Mǻ D8QJlI Lö`J?'3Ds p"?%` L&9Dؖq9УaloX2NY?)Kw29-EWrBgiJcv_b x?rCÎ(%"fp4 #܍m$ jgQՙ^ݩY',p%miQ߷H{}83AZQ*Wl)[fQև.֢I7\}-%* џ֤Yȏ"]JbQ[v) [~X j-o\=!W)Ӓɠ8i RJ#!p7Yw~Tx \o[,ua #Cq1)25$V;>%L'jceѐz %-wKKA'Ў|Ŀ YZ