trousers-0.3.15-150400.3.3.19<>,,fۨp9| "ࠔIݫr;*)?驋&ma Iv^8Q\H'2o^~Z5_?F)&5ewX Yu3og )M^3ȴJdܑOp<7٪+FGe\ŃL`U;Fi);d"h[=;!x^쿀wҔ'H>Pコ;M>Бۨ:<cVuxP&AB%Oփ 䵪:ֿcǫ>H4?4d   V!BO e{ ! \    d  pIp`(8 9 : =(>(?(@(F(G(H)I)lX)Y)\)]*(^+8 b, c,d-5e-:f-=l-?u-Tv-w/4x/y/ z00(4I4T4X4^4Ctrousers0.3.15150400.3.3.19TSS (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.fۨh04-ch1b 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 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큤Afۦfۦfۦfۧfۦfۧ^S_L^S^S^S^S^S^S^S^Sfۦfۦfۦ^S^Sfۦeb009b7d1132ac33411e8f838c7e272606c8dd1d8944bc8b82ee28f9114e82fcc56f762ff401646eae0b25769c79234e22cabea3e3b4f4c7bc581a23787b36f44b635e9ae00264cd370fc62921814265679e2a15fa6d6ebbd468e40f00af48f4e3421330853b5096836e0658fb9059e9db6c91ec1f48ca025c729d74270e1b51fa066fc32ac644d28c5ae56f62feae0e3b8639565dccad1cc4345dc71577970ffccf2c7a906ae571849fc1bacd98f3e070e4da85b2ec6e937aa45ca1323b55ef1ad596d12e7471549663c03e280b5b5d084a2e853fb86e4d766109818f9d7dae4a6bf595610b97b05728f4615d54faf290fac3f8bef836a5d919de070f3cecc4842cff0de213dbcbe03bdcc03c3dcfaa48e03bf45eea9d18e970cef4411f4458686e9d62dea2df5433d4a435602c3e0522b3bb68a2e75c39c80552d6bdddd948e10fd3096b3fca327b01803d91959817028371fe8d9e1970256bc56aeb1bdc1138547b7d669844a1d7d5b9075872b6f5117996c0a21d78e383e79ce7eaedb8c07ef598700d70a9cd14ba28950c7b048cf21ec2ac2297013e5789830b58ffe8baf09355ad0bc2e91d802c18654c2b9219ac1a26cab805879a784eb8a030e02c437cef9d8224b158378505c02b77fcdaa05a2f9ecc1552e95ad6d71b5ea96b690219a3b32565147e2a9d085f67d3c83fd4b93dad037fb966cb0cc5499d8fa6a568d7c26f86aeb0e601cd2358475047161b619bb46872f84569448031f3649619e35e3194d734c81d99d6cb679ed5c24ac97652b068ff12eed215e1ce382a4fb7dcservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottsstssrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottsstrousers-0.3.15-150400.3.3.19.src.rpmconfig(trousers)trouserstrousers(x86-64) @@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/sh/bin/shconfig(trousers)coreutilscoreutilslibc.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.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libcrypto.so.1.1()(64bit)libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libpthread.so.0(GLIBC_2.3.2)(64bit)pwdutilsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)udev0.3.15-150400.3.3.193.0.4-14.6.0-14.0-15.2-14.14.3f @a\>@^˳@][GXh@W,@U@U/@Smatthias.gerstner@suse.commatthias.gerstner@suse.commatthias.gerstner@suse.commatthias.gerstner@suse.commatthias.gerstner@suse.commailaender@opensuse.orgjengelh@inai.decrrodriguez@opensuse.orgmpluskal@suse.commeissner@suse.com- 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- updated to trousers 0.3.13 (bnc#881095 LTC#111124) - Changed exported functions which had a name too common, to avoid collision - Assessed daemon security using manual techniques and coverity - Fixed major security bugs and memory leaks - Added debug support to run tcsd with a different user/group - Daemon now properly closes sockets before shutting down * TROUSERS_0_3_12 - Added new network code for RPC, which supports IPv6 - Users of client applications can configure the hostname of the tcsd server they want to connect through the TSS_TCSD_HOSTNAME env var (only works if application didn't set a hostname in the context) - Added disable_ipv4 and disable_ipv6 config options for server - removed trousers-wrap_large_key_overflow.patch: upstream - removed trousers-0.3.11.2.diff: solved upstream now/bin/sh/bin/sh/bin/sh/bin/shh04-ch1b 1721031592 0.3.15-150400.3.3.190.3.15-150400.3.3.190.3.15-150400.3.3.19 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:33188/SUSE_SLE-15-SP4_Update/159c6189c2888e1f144b776f98e388d1-trousers.SUSE_SLE-15-SP4_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, BuildID[sha1]=3cee4a2ef703f54b2e7ef552ddcb956023e89aff, for GNU/Linux 3.2.0, 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) RRRR R RRR R R RRRQÀI3˖~0# 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-81e564d6e0e2aee3c58a3412ad0187cf63624a91eb15be0f521ba2a39116d4ab8?7zXZ !t/.R]"k%]̔60c>ͱ8ePtm3)Օ9Q˗,U 0ZHTVsִHúdCo :{ٸOO%påP˙0ȥ( )ݑPm NuUY,\&>MQk*pAJ 󱈋(; h;]M$ 6+W _~]Q'u/\ijx%zpO8hxRw*.V J2a\]ڔ`_|yCEԍ618Ӵϫ_nAK%T1{HmO8Tn!9}3y 8Au8%JڽUS!UϚ)=`pDdZxjeρ`BA1gTE@ mUҷ-3 xZ8Tl|4>Bx\SHCĨ-VR.;i`֞ Gt\XzqE<ǁz[''bK?=b})knkk`HYà5Wg SQZ>V[Aqۆ(V[©:h ,:F!='mSVKmh)sp)1rsrBnt|M~#XPHMsA8SE6p0ZAp3w@8'>wro1ѷ(VKn8g$ISгmY3s5 |V)] ?5ҒoWy%q轟T &a0*KXmgFi#XjKH}䧭Aҷ)^,;ϩRGZxxbhp2!D>Qݜ@$@/'e$H5:1Qo7ci?Lv-# Eg$= ^f̬M&+ bWgw\u}v,!dH\&ؕhJϧ.\HWڸ.<sG(qs >J^Lfv%C=bFY4,fRHɇu N"cn^oMZ"}˧ ssF\ɥܺ9}&G:rr͊FX|`ᨥl&Xah" $=.aAaC7#k)md1[ trS!BH|._*)PI7&A\ '> Z5O#1es@2ot*w}'A˝:>{~W٢b ξ4 #QRO@UZDBݢ4(O=qEr9]PyN]jpn;:sΖ ] qY =lo 4H5D<捭 YPS :4z%O0 c#SÆ E|B%JNjRݕX#kM[b9Y5o'NKݘVPb2 _0B 6tqe4qS@u py{,Q³YO \5Rh1?וu`-%ć(1Tzs l|!';3C[yJf:9 51݂INDnQ2? &m\@~8DUj<ׁgfwunT>n/Ϗ:m]4/2 B| M=!y_R`s#v*? 6fl:69hɄ_HVAq5 My[kszOlvL:%. gWs/!$S]J$vjs=ƟCY,^6A`]eE*HQrA˯y 72${ĩ\0bΩsHsZԀO 0~[Y. ^d8TV =JA 1窧洚*Cr>H{ZP˶ h6F܇;F0T䜧'gA$[3ぉQyjt(fb%D:F/'M1'1QL6Z0kJtx7ѯ:?#P[:,B(卄 9jJ=N4i;R=0Cq\zO3g?<-)[BT[Igj[§FЭOǗtuC15hx=Z -Qj[ Ab ֢Sx9Fh/,iRTX,z?I^S:_"WFT0uV~T|C`I27 &'*ۓ*Zϕ0 Ae )#g0vO bJJkNeLGטq۝@+;- %6FfA#Q| .h;JyYJAɟzTػڧCѪcP/zTS$6K'͒sa~ZIXy1AMu3-N[ZʴsH2A+!3%‡YHblvϢP 筹WՆ&I'a 4 al͡Gڌ5 3"@tB^ߍ-wL?OV Y.m]mNbwBK;* n"tZ@Sz <ڞ~ j_U>Ǚ=RMcj&`,V#"QDEՈîdVX Bھ!h*yCzKm@ewcg'ΦAף8ɂ池U[Ҫ*oB>%b;_8V.%'8 @6y4/~LVV0X8Nz wF!H;Px8Z#tq6w/7Wˁ:xpP:BЇs5Ceߐ.UfVGT >oL^^X^Pt" @ݝgi}}eowemr\+Ԫ@(=GQǾ})MDHN8 IYSrV"8d3ݏ`%퐹PIǩlJ5*ȀK= rg>-]JTq]G5\.JwLk:4FDx Eqc[ۋҶn۹0HSPsSJ0|F/E&W\Ww%ĖC[R>)LT Lk>G _6p[YLsz˖jd N[D _'\‡dV>`ANڬ R=u^G#aRcJ-КPPe( =u VД,̔q?Df s;`tǩVߒ^ϓ"0r|KޤPX}#Gt;21 -\^@.!L7&svti'e[X"Pۦ".:y?jj{&4{BN=tlm_tVx}-YխLL{%߫:7"gP>((`.Lrx,e?s&B' &o]hîc"ci17ł:ɋ|] aPѬzɈi͊1mm,IмG9]EJrg},\Ԥj{ѓn&V#)4ig-/ˋ dQ ߋau<ܦ/Pc)@+~+gJ1p@JϪ*PfldZ"41 KsVy+{ ͞N]Ap9U0yov@^Mj" `N>f{jLl|'K)o&58<󡇄1IJYۛuչxr)[ܥQ_)5P."ӁJe-l`O}d)z$:F^в \/Z?K֫4,Q%'Y> e$[]aY0Ve:yE]X>.:;I *`'3'D^ bV5CVMQKMpꎞ !]͡~7g=Xlzj.ۗ^*ZP &JS*|ɷ4L]3=C J #@.|?]e冱hޖ$ Ү@ zr&Qf@COJOJ{l$4~=T1tmEgH?\waog%J8S~(v+w3,7``Cd%F9mt*fyʲ(p l,A0T#4tNa跶&vG0󤏩י2*&p԰b"= .e63y1i}UR-`q P?ٸ6knjY-EK3qkC6l2|3ʮb>iW‰(:^,3u7B:>ͳKX @v+֓jDotE/“*)Ӫ?9}~oK7ϦWy2&J)03$MTR?ң ae|Zv/% c[\rGz|.C zz {xĠa?]8Hx(dyW @5$G@̒[>D=Vjԭ԰=6 P0 a@{|<ѢLoqV+T5mWֽi(KSsҮđ -׬|+a"ٮ t7;qh- /fˋAIq[+C:%a8WLPa]b~`QCیc ߽a?٧ 6|(Y x`@^l5$۬Kf}'bmL%Q~)x j{O\QU~1M<7u1͇@< P ,7y"ɔ]TEʯCWZVq LrfmHƔ={f/g1^+0[JFhYmcC¯*үaܐB"]|?1JS^ >%wD94C;wPV^;HDNJv˟'s~'[o/,7^)m}zu;)g!=Y '}x/W瘯NO@7"$LS '^WVAX^[[ %ͥ~!7D5+׋¸L`5 p`p.l Nc99=u ޠ2f>MH;דֱJ>%%d.ʰ8[Y0m][d=JNnp?F݁5Հy vsɴÒyAw''S,m \n36XMCBACx`fQW3—^4=bqtmd0x=<=>\܉L̒7t8 -&˱O,R_!eĕ~4z|óSJ̻aN'P*p}n&Lz*%//85fhl2 ,Z&3C%*v Tn4w>{F^B otXhG#7q. L%^*TzOl{ٶqȀB˨y鯞;\SԬ`W&ڧu~J֪~v1HY:Pm̌b].+]%)L:"bY5a9ĆZ=l3 NA8wUxp^~CyQ];o~lF })HV g5-^$24{Ge{֡ܥ:V{T~˨K0DVxtɅ֦U o/V>>c|&]Gt<8/3-OT)iӎ- 4GTS {W.3N[3pW!g%~DL/>^W{bd fECkmtߘDB3>O삌ρh <"+"z?^z>01ou ]m̹0 8OɻʼY;U<BPldp_,<'F9⩐!uC[e34 EWbO6e\&2CA[ b-p0M}xڟn9;mI&w`h=1EI:U ?D> o!P[cb=x7,b!^k4?z쳖#ͶRNƖdgp S2,^׎{AWMc_OY))U ٮhbr+ݜo``.`͓ 32o3=1Sws3-wL߽d%f`MOFG qNxFnoy/}rqä>2TpQY[Q8}gpjOV (Əeٟt,y޷~E>lxp ifD-V+Y;>^wj *Q> ~-XntO[\VkQ͕YVZ U]q~|jcؓ*=](7a;BbSk*B{qīVzL:lP"iף4xJS9 ŷыB ~qAkn}'ByrDŽ܍M1XЋ$z2"_ڲ,H.l J]}*e z"jguܡKѳTc 78Y7bc'胺w S #gm:cIƒQ7֐{sϓ:|p@&P\,H/8Ѫ234\ѻU'Ht/ӌdado@pٖɦͥ ?0ыurp3[IL48o[IH,ԮxgKeLpIfÎI_U0& T:S OK-uIfzfANW#'؏kL+tM%y(IC>D&eIH XPQ RǚD~a {jS>Oz% q"-O 8UC{ABpr pʵ.C$Z $ydfɿf(d%5x2/~O?p'#˨ sLkdDj']$4w& Vӿ><D1c(/垅w -4Pit鱛:a7, RŁK 33oW>kvu)],e]mM{ !1WC5]T6D#砅$DIH[HHfOb2&Q!0tcgQkZe^:nv>G񞟊@%&^S0U(zdߤNqW"4^yЙh ~E͚87Ih3FՕ55S;de@=A3XHu Lگ!y9%Oq?"m=O~ϺEX  bPq{뻄eb=%BJoQ % 3_W,NB䲻׊ 83+"fÔ8*uʩ^3!{S&M_4{o%pקVAY QRrBe0&\"ތ ~yDa`Z;q*1rSsKД] $;cab~v'yPǨ8Xz)ۭ_ jy*g.NܫWmaϪf ZNYOkua2Q o s  5R%RkS :/Z*s 5ջvb{7TNrn@ACPR1Y' %AI{MVJ饘lIl5KMrx0ФeS;>+uʓ$Ai»9mU_@n~+ARzfiC:5g6Yt(ZbL\%`jm+z~pv"Hif#SkzjPqX28>ⓙ2!06,c͝2-Ov70֚ \ârG|4]+f)ʆM {d^dpգ8,/m bIIlnVZ`D*.lخlO~q]/BoRJXܔɌ Yf*<_k}cb q*>ZӺd6a-KRmG{w!8v&F<M2at*rfHvDŶcnqX(wcו(J:uUI𸊅ok~O/nɭ8DD`X}db?_7ftV;!]9i)wDUJ! v+FfVK?*~ao=&[YnkD?e3?s*NV$̔N@sYkOV&&(8+L:(0ɫ=E7e+㐰ecY29>%lF,[=zuFz<aJBSPv\(}9&\B5Ba90E k5|=϶NCeHSycm[1>@Ǩ@ y[q]96@m|Lo@(//]mmG KFrb*(L vTVy}?_T!kWp44 |ǝXw#FItKI(x 5XHX珆*qu>zT`1T5c Ydhѵrqa!|TBe`-8]S"5Aj -OztKx4N"dCQg y?SF=l/Q`HA$c GqQQClh%C޸~ 74V%x^DR;rb6!}[޶sɟ?0``8Պ/IBA447hizoP3# N'  >򘉴ӄO> 4V(PBbS^56geJ 0_t+I'/{KNIC?7 % j7F2ơdzYt8Bg_~?jHG=hq=32La 0lP1gt/\p]iǸ*󧊪VX4dS3ĞZ"Ng~%4LޙmБ㊼7RT LP:pnguNFQOU.O~pƐQ $?~dx\Teĕp(ٿcxiMgCnMI3Q¥>3X7sܓʤPM(ʗKGaj߳,Ȅ5 jʒ' @4&[+ GkKxcQOd6J?(({>NI넆yG컒` 7@K|+;Bt0#w=)}= z]s]\hvc1t4$um @Ke)h/׌XK !:M9%dNꐭ2ǡ rPwEe+fv..N5F&5`b{$e#P͎ A1 oN9 =`eFNeI1WLQ< .ɣyCk71Zgxnxqⵄd]&Grb3dm.zmV/6Ӟ坡IhaY.Z%N BHa]tjj'} 7}rx$2n6"+'f|7S wr-qߜf mBƾ"_Z;`waʶĜG-ooWY\s6xg̀1BB?FF*].GxvB^*(kc7ѬU1V:$L̜&Ju2P|=cN13I$*UO&U1jpg{y´o4O6JP UuZ7ԇ66Ml$wu( HU^ Z[e$:c" d_uн&%xX?jmaɇ"aMS_qc =lAA, +R.Fk gg!iNqgX(pB#I*V}A;F(]?WcA VhggV2FViQvv?(?ply?AOwvS.G!͛mfɬ;;Ɛ5?ǣ%*Ykŧަ[̱ϗ6Ë3qvboo~T$NU.׹bGN ȪQn)p28Ww/,[b/G=<ɉyYQY5B)IEirBҔB4mj 9Ť3P~q^eIg(!57;^}Zc0pȸ# -k p8'T?h0"qDz]ĐnZOi\U 9&00GR;aЙV1CXkHrR8+!l .w*#Zt-`hb߾@0:MMo(fg6Tq`:W]#w,iD'܅3A'/l鹊* Ա4Ri:-;iK݁4nm.MΥYOxE`Qg܇-!`An'=GxF|y\Ǟ(l9^_gbyH2ZT1NGMD X\1CSF/M5^~H5rkxge=W`01 z[;\GȦ$yݷsy/Hx!33һry>Xdl%6$css%%G+jRržj&" 'Ʉk1ꪚ/4ulm5W柲 t6)9Ғgf6HԀ)jdt?~RV,Iz'ӹ ,Z.kp 1f:o)i '(8 Nk8?H4cr_\U fBut9bBj%׵s5{gnˉ{ek0 %NP,ʚ\ŒC)B {HaY҆ zWܤ,}Wdzc#8=9eje9XϬLx 8tKI{;+J q RVzx[^-qoK.8E+l9ɯ(4l#yڨ}b4BE8ib@:+;K//%"0bXB .;ĤHCst%sRm/&b}|.eT%hD / }sҋS1CY[.4@=WΎXŁ㽂@ޔ!<3 US65 b[50t]\*!aR2v_{$ÇzѦ{7TņpQȦ$͕<*Nu<3_'; -A[M͘.5țHy|X/P]`P0 ގ= ^C3/9.kro 3D 0%ܷzߧz{̪N8ZdBT'&NC+ D*45ye e~4Ksԡv''(E+<1bQ] LhZӫ e*n@'"T}eah/v%F3EK0֟^ {|CZL9 uȗS^orA߃Oƥծs!kƧ){,`\)>/YuʃmzYPK3 3 r!8D\¤ݥ= U4V-ݨϧRIɇgd0$4"=)N zKl#&q 2ٟ>ڄSsG)B= ű{ͨ𘴷]:) j-3}EsPcZkS쉿S8+yۧwLqwW[ump&9?1`\&FvA#>d,M@z"={]_=ZOy&;\ORl ۼU|#s<2io~vt9HWJ?L$.sXB[Ct5R?1E[fsvIrj\!|;?9CPQ;LTb}iܖX^z#x4Qzw; Aj0-z֣ GoxU58( p P@$hw&fU{HYJ\i*zjo2 Vx|*v1zNĽ̯T 8 ތ*?fIvvK o6Y0$-~.X~49˲rţSB{#B5`O7訇w㏄ivfPHrgbT2^s%eMm7c]@dt>'kBFy0`cN`)y $kE";>r?βeSl@0 14SR1]J$uJm"8ԴԲ %RW6-AE6|q%hbӟh4 R6L7ǾB?\.e̷Z =x֪ ;m2rٛ,ռe}Ti'4mIAx Im`,}mO{5`NE7mE5ɝ7 Ҡ kϾD>{}MJ+- 74=L?t ^-f)iA6W 3-U1JaCb"*̀J&$+M!P,=(bsŇ:O}q8}ְjkSxbYv`@u(M)Ї"AtcPw62Y$*'2/1}(E<`滂B?U5D&)il~0;'opK9:1F6%5VAkCELΑ2ܰJtI{\tP/1oIxR+,;deTc2,6TR{hm8,Ø8Vz rX2l |"YvWbܵ[^#|t4:%ǛVMGDf\ o' zFh{=656u _tvQm!LHȳ<)HŠ$ޜE8^L`sҕ 瓺|v`{0t)*IRD~oؼ, sOxC.Dh(\A>N;"vK2S^n#t&M*Ig[)rCl0T/ygJnМ֮P^40 v"݅YLX,6v.Gw4cH㸓jz+WPv&SRFM~}%NoT[^Y'qPf*a44 y؛MŬ>cjM/xLrtk pھ·bvj[]S3_`ᗏ:R|c7R>1 )١/(-~[ٛ@TGAWx#"tugtݎ8L+I|-::|rPB\wqi38_GZRmTn=nK՘$seMf$Rf~/cLt x" {&rAm6^Ζ<^eX >-[Y ׽dFG/!k 1x-E*JW sX5ǞDohh^!C1TqG<1W>BgԞq߳J4 GOv=՝#-^9/H@U4a;k6>ƤĜT-81q?ø㷙HY<(YHm(_k8!{_UQ&"D-d[rb_ Th  YUf\,OOkV$s2g1/_nk,G̰F8jd_L\z#B% ,[ 5"H Ͷ2mzFMkK$aN!=03ݬyob[!4do:_f \VM*.N3g.{U%wz2`>,N6EJN{[@UD̦yQtqT0G_ܝimOgÂ{CB&|Ef}>X?vҠzuxSbmo57%Eqф-'"hfĥH1}ж YZ