trousers-0.3.15-150400.3.3.19<>,qfۨp9|SE4*7OG+(|ObgoV7B W˴Z=su( w+ {z&<*6 SD]CdrҐ "^)hL4@C Y0_Ρqk>ԡV61zD jw%|oW? ʙ婔nt[|D%7Jj_Ij~H hYĕ(9:K&f0J>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/i8]"k%60c>ͱ8eCy< S 2s[0Vcr8z.Bb9REr 7Ʀ +"Li+3q f9}YLYlʈڱg;tozGߩcR*zQMqz ~|ATIP\ <^պF v% 2aҷ,8C֞=oF*7^8~bdN FJZ-/z64^#V$:iYo'ů9Լ1gM츴؛zd74JKΓgܶ/X^)=n<۹AmGfpV@9VuZ*O)YMGbz`6y`n&&F(2>a ^UKm^ VO$䇴 s 0J>;V֩[B] B%|<# x[.V|m{MRB,Q_BPP+l=7@٠apԍC)9L7KXܛ@0`@k)4}WnQto쳯!Rj}?]גG̺488ˆw!vv^!F8>zyf(e֍\O8ic׳/)diM#/#XMt(d >EU3+ZS:D;֟:fƫ#cbasA*jBjcTz}#Zgkޏ;p(\!3(XoT{ 9'iez9(z%^='Xr_>](bz|n8Bnޟ1NsX7~ܚswACs:"B{,f'#>׍HFHQG݃ OcnEDᅑ !f wlvePE$p[;Y b8yqnDo' Kp) [t 6Ʒ,lE΁@br~!T:,άXcz5z#"9q+1C= Ө w$,b(bsǢզ3#+ck]p%;'4^(:_?eL"{:DC~wk1;]n1 (s_UҢ [ g^0Q^RPaR\&nd*B:: w+E dP`6Mfoqq>Ϙ@6`*WhXE3g n:U5рq0m2͑ )*Nh ~TAV4[Sq5,X%T$&Q |G-MNG͒aWcpzhv3g&328!nȣb4܋3jP\{&Ψݜ>+p*{|E b >i~bBUM2H O₷d7ٷG0Tct/%kr[@`Vl:h fX2N1 12M%zHǰ h}(4Ћ}n. p#*.b7qqboV.i I{nj#v8LtjPzZY(3%q!_R.c|Kǒk-3- vCW6wlY>te [ÒIo!>B2FyV\% e%3A7d, ,8)^dYz`eA&4 gL‚*-D)ɟ>64#iQVƴ`˞m!B20+]&0{{ҚßIJ{mac$ Gʍ.l QdDx@()*}of>.uڊKw|Uk?Rq|5˞;f$R׿&-4J C0u'JfBܽiB?CM.eJr JoTEs^Q6d\r|=FI=/a$6]8Gd3mX#"HqV&nyg rz_AI8Z~t\Q QC;2' y_gQFMBGVWFV?9?JC? qfx"y+_HcD#}l Ba_͌Yk\렦OSrR.}8G_cc5ab&t]:N:*cj|C5/hZ IÕYO{8(<"mTֆhlއ{j .My+Sq^7~⦧hIrjxU 6Jz=tu.Sʄ߱%4-f gBvpw]Z'\JCJLOɛ?26e"y-K9a 5ot3fMkGI d->!X^5S-"6ߨhYsq3GYl\R5+훠\wlNAh6ٳL:A|EvH>KXzؿ?, ɒ۽f?Ŭ.ʖ##CPHH- hL mpbk8pp|n틶HZXַPe m0p ȗi=;,QB!6{rd٘֏[{ONlXaٞ!*d+t =jB񗻧:|T5LV,-* UwReKzpN4w(y61w>ȪDֳ{W:ywKFƥgEao_cxI)^)YkOpʂ}D ŋL$[tET%`Om:FI0q>-WF1c"_;9F&Ė5p,8\w*N0~K6DS~t:0QO_ xH 1*!kalAU:dK'Pk 6\["TI_.z<ɣ2m":Y<8t[2m S +oS"zʱ>|\dj.0`oDsb'3/[:%T{zl\ |!=j ׋"&'9;Y;FST|N1?R[ Ϟf$d̓tIR.'j~ݹFHjWelklg 5Ul*9];R ov|y%KB#\LTM'QIs6GE#)~k gKXw`wRgĝOiUYdT *5j9un\si j؆4Xuc\E^MB/5#2?7ZN-&U-{SK}>p~z({& &|=$Prn9ѕ,uG )!zC .MoWnlKj&,Nn:uW{}r<` l~IaU A/Tt䮀XPm%8&XKlȩ@@ t{8zy8 g[(6Ll 72B:A{:~T΋O7`Bbf)B ƒYoG˧i}%6"_K?۝'&k4˂ym3/RV $yԱoФF"9>g[~|i .lu|D_xEc͆g 9 S!\l$$zX:=q?g^$ݾcK I^<2Nz_؈ {kx/g p7L )V>NbkOM[\_`U#<5xnl& <܁Cޏ| _4b9b }WP{!omq@݃Ԑeh =HG@(wċv^+kl"-Oi%O H#"<{%w9"Rs%J# T#L+V4o\HbL=_`mꤗq_"wd=cf@PGx֢ >7-nLݡv$\nB1@\XAXZMUNfu#2(%P-g8Tï]A@,f-W gI5qf"! JrUeK pPiwh}B 4`3PO^/DKU@6 ioVݩEVLO6\)y$g7YaC~t<Щ"0x쁻qez Bzܢ0Y[Y 2Nۧ%H(52C: '@&DT.w< s쏸aMFڣFyԔ1Q [ ceRԸzq`@wSɰ1{WKr#@W'}tq鶘z<8gn z\Mh~W*_dݰ1K`UՒ'n"B}")FTm.I\1AW.fߝp5ANй} N9V]"GC.[J%X; |ZI;y)p2 A;# NB7X B-I̶3ѕўR~$ ɴ]G@xԔPxb`XD?SOxB2[vV&zWhYX[4&AySdUB >g[ kpĴk%z(|L,rY[ "S2<ulmv"_n2էb[r~'vFV}>W^Pzu[ t:E^Vgbș~($YȔŹ0X7*#go4]_W ou);s̿Wʵ\ڴ9*{#?b 0pnC k&᥺KAVmb{PĠYcڣV=RvF>TS.WOK@$`41J230V=3S&& ζxCɜݙ$s L|ط۶mwDz:x翀{d\Qȃ &>{8ᝯbdE Wf$FhK1K:PZQOi 䊧/^(Pߏk`4J񿑮5'|2 M<5+{ށvuTD=y`jOq" -X?|aRc/wo#?p[$Do+G|ꎇuc%a꘎;y΍w0ҿ_*&d&GoSԑχA\*33}i }[Knu] (kl}}dȡP)q T) =ΌIhka/{pMФc|>Gi$v >:s@ ` :]T_~:|>(RSw_xm WhWh`e1-moB2ȹl@1=ˠuc vݥIޏ \xOz\ +P]/ӶѢP_08i;Hۋtuoj#Lmwh7W?Y$]lWnJ۽Z!3rn̈́=edJ7d8cI(|&u!b; T!Fr%~$%δP'F:.a0ѩK,nRv/e2jHgX«+IHܻ &sڑ? 5X0j1-_9RS7"gQ2^ __&p?av3b9df+xK;'F d hz?mzn9xm:eE,n`X"}s]Fna@Jtx*"'dL{\ڔ/F+95t`VGr}Cv,1K`ʹ4d"F@wEEZE rۗ{z^fBBnǖ;S+%NVhn^Th[XKgDN<`Pөsҟ2+- xM=jx^**x}3#m<=^rukѥH;0wa{տO:C}-Zr^6DJ }dQs5WPqMO0lJv|ͱouNRSz8bH GQ^sSu>B!C 4q/ebf$i}'0s:agYI$_bᅭ6梄%pfdB=%dڏ40z^ "(NRL}mA^<ڂT`4)ijlԽcN$ڜlm! \[+#ك4iu7c_2'6k*YYs֞6ӛ|Hws攟N݅U+*ݻ•8IoF&6qk$gV"m4l_0|F.eOلj)yix6|!ͪ6qkFVwC%cػ~]3/+r}^.!Wd%tv&uHyPunW\Ȗ̀}Z.+hw؍EGl?tE=IHdvr ZҮYmdk;$òUg_Y%en~6LjO2 fd-~ ,OO 6ha O+ 7mk)3҆3?b 32؄Ý8,׿>R(vdܕ5OE_@BbsgXDye⥃4I im<;uI^= & ]{U? TNΫVwCPcGIڨd2e"ӡG⍵%i̱Җf:aZ2{aOq Io=ZC)R\dz F&Κ,A>1) ξ׬@JN9kP"UJ>+ cc5ַ:aOL{.m*(( +ULIP؞ڂ瀟+mٴs9Ⱥ4st(RZ 2&7U'Yyv@{p.).e_Nr{s%bEa\/Rт^F!*`;1􉾤?4z/>ev\O 6N /O^"￙D~O0m.N&lKCzec sɜɱ cZT0/mf̫++=E۰kJ`gxaMdch^ Lv0y)\^2oXs7Z<.Ǔi*;)j}ϻ.Bd%3ov"ݴzoq~"Q 2tlBդџIcY53K D6#Sn~:ci9HP% mDKgx7Fq&:VQN^dd8KCͨ Ĝ[M[JobQ$: B8lƒ{fhwe+vN |/OF(Thl^[|*_|wTY(M?F1z=x?乷kGqzp &u*g3QlBNrێPaf0Dgivޑb@QAVO.w m!ĩޮ<\nx8VXPO] ƵCSalě~N@v$K`}}[]ġw|~4\ F:?=r5cJCLUl :W7qKA`7͉< 䗲LLW­tC~'9L4ާZ ?tQR֛p- J7aÆڪ2k^:xa#ы^εJNXCZ׻ xԘe_jF(`zJ2QQ-O旑#>acQ*4A@}x 6 <>?u^ #9?-3)2}Ca|-2\m*X;"$n)@0 r:>?_HL΋7ÊvEX 7m8DW(%0*q$ DI6x_RĆR׾b6]d&ٽߵvr Z0+2hѝa0Zl7YyU` Cr*WJHs.'!"$eqz"Kh9|5J*~nb`;VcQ4BŅscJ왱A-. }{鸵AKzx`AUUG*wܫg"ݤBauOuݎQENu 9ѻA!3h+oKaȤCkӐ SuqgqoE>9kc7_-X|_YaqŒ}=af DHe.Cԥ3ꜜ*;߯U~W^Fy:Qِazbpǫ,qeg| &),3kW2ka# gJH2'qhB'DNǁC΀L6j>Jvϊ?;nkOX_A>ڜ~\ӣ٦GΆS>R j(cyS5XbgUbJ>aUԝTw5ekpc+9e- C -$FQPt'hM4JVY*9DHmƢ|V xQtwxgV7VҚXUm~={yY.)-\k#azFWN'x Q]Gs%Z{×idy3;3omWq !>*QMb"7@ވ[2@g  ?׹Zy*{ zq8},08gx$k oZd2f҆Ղ_asVAꔮ w^QboiOF>D^""*ch>x`i !WԳ& *jT{&TGK8?FyV*.kOq>gZ>t ={CFbv{,?4vѩڑQ,c4~5Z.'j,6!2f}5ߧgUXL({oں މT8c|tf旬:ACg1!4$kP$qGs隨O50s{+S YD7U6ƦuU/ fn]TyX2r>Hʙiʧ7Df-uZAO3|UUZngA*GWe!$S2eͳc]&*Geۅ!)r>ܒ G+=ZkU1ئA3X* B.bE&&=RT/D}ሉr>)oHk4˹ -P;s)p_ 1 $wk9z?}X"dZ 6\7*edY (?Ž"5UTPzyV5LmD?LƸtCc'$2Օ,*lksv'QY(:Ld_9Z%e1z;c"9}'5gwTyJ„rwl81x(DsN3_w}] & ?m?;_ j^rS_Jr=jd^P7,G5d(q( /Kʝ* 0N)QG ׮P`ԸZXO9\q= Λݠ͸TASմg'8)\bUpEf;#"f-IȀs|PWb4Gq*eR,֋m>:_vx>*{Fs0-W{D7 1EO‚C̬(B[ ¨ t<6yF.3kK&.#ɽB]"YS؆.,NnafdzTv֖o\2Pws7z_LȬ44oX>ꕎQ khIUiGnvP)\cкȯS*򍜩{!>+US4i1, (X;Zߣ42y vuWf#x&9Je2闉Nd[{7Y=fJH?lpxTNv\\'KϫϬpT霖IAqK̒urDt^k6X.r)-F.id3gs߲ϩ9Ef7*  fd L{,'Z'͓uBoЯy7`?:uN#[lM4 ȷa^ګ|c9!d)tN!#%v?a-U .5u$J_z7K8zDZӴSSFOzɦUAtaϞS-| z;-젎bS uJ\Cֶ'{Z5Bo5ěf>Zj{)&k6~&1*p盨pJMK@3vVAN ˁ7"I@;ܟPv)sn4'sw)&^nyAMfr<riD&L]gy?3< r^d9?ys_lI?Jb>dYg)h`$p<;~A`=S^_]k|wPmTp;(ps!ۆgE{{H~̂IbȉyAwl%.>6'] ] BL*`0 L l .Lx16{b^(aoxYDvGbmlPhYe9qL}<ힿb@Rig *$o_FU8)ͳVb*wguc vUOá%(8"9Z3kT'N r 3.%Ln9/Emu (uf/HEHm ĖfUm )ՊJe[~Tq4^pRT YZ