trousers-0.3.15-150400.3.3.19<>,rfۨp9|g>J}kHRkg? W?;Y違zSpWNk9E(R:V˔8QA+68mED{[\,<Õ/:7}d8=Dk#WNNVs"x7K;!⸶51q{c`֌FnH%LɄ#NTS.153@ &"Hщ>e~Rokcic@>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/k69]"k%b460c>ͱ8eUlNjOEƫhEi{{EcBN CmA:YJjHA6cK 40hL"?bz8:}_mp8{׍Qk.Lp}ZθҀ~3,wX4 t[PK,Y Ctga`¥T:;?5adu ܀@ɠQ2|>mn=L _S>BH F{ A =rMcP4!/MU͎'4:K+'pNdNuSC2"Mv%iqREͪe #T+rƏ#!TèE}daOZÂrTC_d4?>)bdGL]%Ϫ3Zۚ . eEuU`?%[~.Q{di -Ay.|3O04vyN@a:rR?\()eF5XCY7W`;AY{q&VFH x/khK>%ͻR̾41VtZ낊hH#sN#AoSÒQ5,(4&j&+OE+l7zTux?icy -oQpй=}󆢬;wU<؟.=M -,%/ /?E"׎Yg[Wmu\ 8Q7&l`uqv쟱xع5{WgfD UJ4g(ݫ7MQ,#r22`xqPJT@tխ{?빲`'<̾$"{2F4JAI1(~mr?<f F7W8Zj'\ywt: k)¹5c5Iإ%B%x~U i"imf^Ǹ|;M,x&#VZͯc*sB^^C@c,ͶFB'x0o ao2&ɉ ﻻDX^tP@9l/H4޳-e*FTz|LE} <6a$bj6 _t6^#"IB}F]YWPC+#|rgsrHɒ_F*4~.w Bv?D.8x0* JVIub{"~ϰ4^A 9&\k7>ڲL}m4}{ۖ{A$QL@5a`Tv|ԍ*@yx@jc&1=* `S.] ۮ|{^س𰊯+)Pȇ"$BՓr>`xL?=9*!в U6pvNЇ;Jj'JFP1ҝZQ5NO5&_ ֭a mx]o9φfǯcl9 F֦֡\?\(~JRV{6V0 Cgabv sVny6ajZxoj{ӝuG=5P6esV{hP)/tu K-iR$ s_{ΨФ^{C·?u:^jИ_:F2 {cv,`iJFF Bys#! ߊF`P=*m@[l麸W0EppM`RWDA`eNrHsEOH#"Q \X U0z$$^Ѯ|.Τ2ޔ>Rw v>JrV a; 9Wh94NE_~T<K#F8B[e\vҋq(>B4[KGjE)#"gbr)vDžD)G)wT1[h YKkp "45Gm^;R~$yt{F,@LIۋ)(s)ODv@NV';4խ89nQ;C~A% Ah5joY2U=1f^ZjNJN,x-k?IL$:m7Q#{>`n)ٴ&*syUNF9U,P̕:_F^O#%B4یje,lSM j*N\/>ںtux2<Es]7Gh R"p o(\eʽyHWDN('ho(4~(~D-ն*5 +|;ܨbAe?zD5~GD׫ci,AwaR/~rM,)ќYE?kOZKRDџFjvr*uOB$AbgX Fp >+FsZ1AFIAI,۾E3ӢQ~ :?JEq +Fy9e?]GF]%5]H0q]$nQQ ~F" EzԀf莅ٹd KU`۫n`RXIj09DYDmM kSʶ@C*sDپ~6އ͟ɰI`ùϭ>˙ Kٷa bgYGʡTL۞coT ɱsKj3%@Yלs B}8lp pV#fh*Vr>g/sY(TxTmnm(OtyOa5̵ $'jMjD'S/ C˕Met!L!>կ# c@FVW8t U9cvӳ"tt %?F\Ւ֮g'c`4mʳ.E>Hu34/im:-:+vvQ07ƢCeiD(mMBHLHjUmTR O`Ḍ+Om1T+[ yiW<;rܵs4yQdVOҙ MOJՀA#D ク8`5j`BȔιK iQ,eH Q;+hӆEdvUx:Ξ+wKL Sēm tWq X dɱπ=uW=;, {'EpV'k(ZCwC9hw;^ٌV}UHxOͶsLuWfl.ٞ z<&̹iaGeşlHE5qzFe:jcZa$]]23gY Z~{ivm,ݝ`G[!U2k)牬ʭo#-2:}c @qUz/l>aQNA 4sД4\N9&N ! M rx` јMmeW1Ї).!vh[+Q̵`4mXRǁO=j=£h+ =EM!SH#qZrMM@.i; :B]7Qik=GWSR1 rj8!z0W8 x L'm,0:ջ scUigà s vZ0_c{|3D"c\ Ԓ.AT?n^j ȵ)~C-A<0к]wǭQ6",[t ptg?͞V=db:UDHc\ؑw!ZG!A%xﱭ$AA!F:2zrme)pNƶnjE|Q;;*` yK=b(&lZC9kIpq~Կ؎`o99)9j{>4Qf̒%ZË# 10 F.j . .ViWvK\L=^3ȅlaY˘dd3,nlp9īg )A/ܖg;w㤉c!! l<'GjKbNFܼzMAXVg]Ӟq|/UX(=p eep鲤ӍpHUr Q V]@:3%OQ&zY&9 l"֋OF xJgd}$Xa0Dfhx: ?#[:=ڰ lkUW1zkEB& Ј[:9MP)T,r:f!yb vjfvls{੻RG 9(RD#yR6؁{,:Ӑ@M0l֠f,@6di;l6RN2oҩm,>pAvk#/?qº&=Ez[=d|[,^f2l# >b0In۔Y0soQir<&j$t!KMb gMknM0AIDsL({rm_&+Щ5 OWc_uAF~W%h$Wy1NU'3&)ﱽXLLWAWgKY,x%~66_9:_/}NnVD5b(nECM%bts,0S]Y01\`_(Mԟ4 2i/T(*w4cM%P"ۺZYɐ|6 .:K We2lN=%5k ` 1!j*p {<c5H><9k<~X.4@;.Yd Y_ ߥ-@EA;Wvl:9qY>p{EL-|K%}b ,Tb?'2#r)ƌ>cUSnSX 36,q5vc<`sVJ s 9+V: rQ5ĜtV*07 p|_#Lv+gE;,@0yWN U9 9O|\gU "OtJbe-2OS|-}2݁&Xkr2'fY:ΨffgށT$;񌆉ͨ<ׂ\<5_+Sfz%"%KFChi= E{y8c8*HIJmQ#췐0HRK8r{ d#^ֶV52k1?eqoλ.AjO_0o6 )/ DX5|da}I51DcL۽ӷ0]p\м;^M.7<_lWtt $XT p2kby*Ȣw_Bs7pz-RB7nOkbk?3Ž&pe:akJ"ΕiJOy8ج[<+2Mk2ZN /0() jMSZ !Xmr؄Xl(&zR6OI 66UadjU] G={ȶ} Zo{c}axpTcG(07pD 6Jj‡ch{D.BY; E# 6.Gl&eS{?[ԫd$ij=(ӗ~oo -g-u<ǂ7wd<35s Vc=~8:ɇ%w+}`k?^$?ܞ94WZ}c$^CZ/!4VGg(ѣAbGпd+a4BTRNrػR>]N~v!֍=So)[9g鍱?wepEĹ]FQRdV0intsPSF>@Hq/֥k|WXNDsgO[ԕ{Hk!I3mJN2Mj*1j1_ރ^1 JGFn2Y0N\9 DЍ*iD3O.l`FlϮQ+՚[w?OxU?NQulxlJZJP ײKYqDEV'vOk;y^XJMDin1> s Ƙ"DqSo y=A/ [{=UDrD8аFNN譃4 ^j*)aƗ#=M@o%xJ&G:ɄSOIQ ]* %Æ?W述u)UvNŮ_&;!}C;Ue^`M2LC/%AYUL71r' MF+t9pPy3Y)s'8)URI\쥎_&DgeLz9ũm*&#xOq~Uj(fukz/)ӱ=ϙX _b&|\(״x3q_gZE3 }qNSāB4Zsr"rg&, g`u:HКa Ph奲F$]]فח-5jG 9aL<ҞΛ+#^! ƇY/iO;+".m)?US]ë-?3Ӟ&c>B (Uz Z_I?'KM.hMBQ`zf|Ηga*vo8;D"{SCKu>ٚ,Yi t.2BeXS =&y"Dd^+dAI;oo Sދd%蔱3@78K0܃vZ$T ]LLmR'YX[+m 8,Ŏ=)wl~`eHӇs,ޠX̗V{KQZTÞ N\\'˞8LZK-(+7X ~aj2MR)Ua."oo AqJhgqtϨ)*q0x{e72 +Y6D΀l1~sڰuHL!\>[b5U>_&,(CHKWgmPs̿C" D**N~X7s+JjVZ`;63pDC6<")zȳeY' 8_^!Y:\ygKNYa^ulp[*6"&Ƴ1ǁD&Zi N霸9ڑfMB?X5Bs>kpp u'z𿄳sZ[\V=U8ɝ n$ oOUUdCby]"W2`t/t"^VI i+`Ӵ\e9Npu,}S%pG0) OG0d_4b<;tOAAR;vrWfXV16D/bYݦ%mVCE0쏂 Ƚݎ.bZ̯#M%afnF?p}3啀F@ܘH,s0F|f X9Ǣ&c>jרF?"-y)`<_DZA2`fgUݒS#fh¸V6L&%;vʯ,h.A?I* 5P;6=J5ѢTNoւ^e5Y;] ={d@Q- AT$c"Eg |ҖgNph>0wE?T @XW6Egtr5<~&KY$:k^IRKZ}aq_ʋ[z`mW%GxٮKZ֡Mz-m ?ԥOfrB҈[@ba(_kQVw_) k"Az<ѥ$"ta{t!y"Q1NAk2=[4H{g0V0 >Yv)}> cU{4__wτ51WC-\@m%,7|ph$Tg~$Dh'? ޢkE5FZ@I},U<|X{.qĠ֥ /UV04{q< |e}dy4-MAY& L[ ɒT 04tlue)ꁌYfa0EB5hN~Em"2_~4IY9-6ieC9l˘Q ,SY=Fa\ @s(y&\PXObaDXpNu8R> ʂE|sڴ;$1B_H1Q1vdj}f0bHÕƯhAڦ*>bV5dUˈ;n4U\3i3aETGvɴeFRoP5[4}A̘<^s .s cݦ*Ro40B,Fذ|ЃƊ6 żsTiE8)UPԒFT5ҵpPl@rJMQ?RĬ #2iI.3bT߅f D_C|LL; R۳@/1e8֎*C1Hk-ިD&lv2@,<SI292U3{D R!ᄳYܭcu,}=ÛdpW_+)XGL"~uOTND=?T;qۀ[W7KmwPv ntPyT/'b'in>͸ bc̴nPUsg4%WƁl0tI`PSj!_c\-hviaY;ĵ?|XALsbQԜ4 n ILmҳ@@߬PS 5ζWT /hY]F.jfɬp58`".eNɸdHc;, &]Qjoٙ`,1Nr?c06nDILғVcY뛋AT~F!#-C:ctUF:%,GSݗ4~&rLj Zn:DdVD2,$-܅tм ̮ԓ FIyJ;dG>L5 P^H˲ 7ÿI[ &x3GѭA %[EzM9 .3A[Ay3|}BXY*GYnIKURYcN7ϐ^2yuyxRuE6w3OkOAMd;H2Cj(饩ۓE*v*+JgЪ3"vv[!qm1@f* !#!n^UZ&$Jọo/*/Y'{>Y;1KS֎tRbí{|6I!?f+&oDkOi4##Z\G-ŦwY2{KLE aT8-(>rFg( Pݽ޴e3,Rf=1u`Fm)j&Wf ܮ^K$$4y 8YWLV`T)i1Wt/Y錘9΋7|8C@i`Q$s(5J{443s`_&|vj1#N電Qa#DMٮH%h }+XpE }.T,^-2ڶ6Y/,嶘^}wtA{;2^hu9DzJ2x-nM_~88||~-w;lkJ8_s&H3 _͙fS>ĀFjЗ};X#xRnF!ίWq@ƾk0ȃۍJj6&=Joψ؂5j#BVo+āC[llL4Y. -/e&,87TVHyȥ2vjDo2N쓂⍺I+HӃ?nݢF N?EУoLr(”Sϣ&:< n.C Oa;,0ͥDG n޵ P=yD_´V|&|touh7.ӏVġ%[0D S Bs0&7t5*&)cxFRvv]hhw}F3 Tu]/ckxZ6(Y &ly.# 6ƢAR-E=,4ߙ)<*zHh!ŸS󛿣z@HBCk4\k~+Έiņ$+IA7߄%4CݒӉ,KM 8>k&F\h LzS$8\uۮ;#rY YZ