summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/bin
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2018-10-09 17:48:33 +0100
committerJames Morris <james.morris@microsoft.com>2018-10-26 09:30:47 +0100
commitad4b1eb5fb3350c979a4f86eacfe7aac0595f335 (patch)
tree99e98280d4e0af390ab705947800db4f987e4d78 /tools/perf/scripts/python/bin
parentdff5a61a59614c110d06a5dc1466cdb762b6affd (diff)
downloadlinux-ad4b1eb5fb3350c979a4f86eacfe7aac0595f335.tar.gz
linux-ad4b1eb5fb3350c979a4f86eacfe7aac0595f335.tar.bz2
linux-ad4b1eb5fb3350c979a4f86eacfe7aac0595f335.zip
KEYS: asym_tpm: Implement encryption operation [ver #2]
This patch impelements the pkey_encrypt operation. The public key portion extracted from the TPM key blob is used. The operation is performed entirely in software using the crypto API. Signed-off-by: Denis Kenzior <denkenz@gmail.com> Signed-off-by: David Howells <dhowells@redhat.com> Tested-by: Marcel Holtmann <marcel@holtmann.org> Reviewed-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: James Morris <james.morris@microsoft.com>
Diffstat (limited to 'tools/perf/scripts/python/bin')
0 files changed, 0 insertions, 0 deletions
O! *7FcblH_ߓ/; r'_0?4ىa(FZCuT!YnaoSWp _dY?J!}gd7hf9*bi5[o/npÜXܲeQC\qi*|6mPϞ>gSNOxpef+f.6RkeFu'\R/^B|*uAu-C>yJ#9#v>т|N_ǵ\N]es3p;((Av]OlEZyrC\j2 UQEo,m|#G_ԭى(/QJkG(k{~pȦ~^J?<7wjo'*.S3,Gro> @|̦G@)RI Q%U?D[a!Ta!ӿt.69*F$, MqC瓶:tA8i-q%J] ҧ&T8cځY6 6$} VV;M4o c|֒Eb[;mmf `m0X|d ĔyͿz1 ~y 8קiѠ%r{ZT=xw5 ӉR0AT2W`.4P>0VbmAa*_j# z4"[׍x$i j1o )Yt)F.f{~Ɠs=D Ġ%:rK`T5Tl$H[cF^MPA+V$jqx1is;Je0n?waӮ8ώ.rG5˿k9 y5Y^"b,Phx:R vdz:xM+z\-oz0P8ڃ.k̥Ve߫nZ_ wnuqoS( *4?"n1an4yVqoF\_Ũv0Y:5%F9p.NN/%GRnŷ3룢%-d (mh 5 M :8ak!H{fl1oR:  vgsfTߌغ%XC"8PJri3E`)}4dv$r⋥%i,(69,!3-K^EU]w&m4UUMmLPma@9 HAt83wlS! y*fatfS>3Cݲg(b m)5ཛvGFm @Ca[l㊍k9D@c Ȓ*%̠L^0q]~X[-n?WWŔkXw]+Ɵ;6:^<.S--nQ]Y^|*5_7 oziVsgE^r.6fE *°cVò2=BR𞶻o1C'[+-!Ze7YWz{+^-)miem_Һ$G;mm\gb|jݖZ) K>O_)zL GZ_+pWm{g`2鶜auGBBnz~/SqAx{31ZCPR_+FsB_ D;d~{0,nMv*ӧd5nY9~ 5hx;84,>iͬ~/zYd픁WX-:Vu1?t=w(,e+ܳرnl"1YFxZ%][­ ~*rI]E:jeW$1%MFfAMc `@v8Fc!q¨= ԣE`Glccfs, 11naPzǟL41ӊLI?O'CB8 Ss=.G5;z 󋧱cVJVwuΐx}oɂ#۝^5Y-j)caߏD69M9ၥ\1ȟ[mUgY 5i1R/gax"ӘZ=*Tgk%wt=@cR^81- KŴ;) xQ5R5<9@@`Fw#qsqd9zk- C{7`6K+ Qu-v⯽{*F)]d1 %\5%gkN|xn麔5[VxƎ+Qwy+ S+1 B |sT4X,$Ɨjp'F6H,3TOzP 9J!P_v&56ketO^bUѱK aiA`5[gȉO Ow>ȤF?[Xui5ARЬhFk+=9]H@1e839AmbqӦ+]M=0^FiH;s ɚ|B5]wᷳ3 Q1XF Xgtn-ᎻL>lVb"<@/Xw %T̴WկG'cI [H<3PK_.X`b f(&& $ g̮H>&BI)a#sٙjy" C*H ((YpCK'yST6bPLDDq{uoKq$"((H;@B}~Sxzy_۽t^l6u{#W6B { 2|(UVEa>/oG(g&oXg~/Xzc7yunE"Z|Tjm,-- j5ȼUӚJ\0%;Gk]8Ys(4xTHq]Uc+Dn7yʍv^}ޓF^:sj=oT_f㎵%ZZțŕ/JuMXWJYMӔ'F{}ŏVi ^u&y~5+4us{^!af3uxYۑP0~DG{/=d3\lwOu>;({*X FӰ QQ~_qhn55UhP G%nnW{נs쓦`_  4qo n(^hCT  T `٣as 3d*1߫`t ,~vb&X_ j MYPF:mQtvX1h)IHO~  yfl^PW)#$t"~ZՒuZ)vK>lU LCr!Av$pmÎ/<<|Bn\rty:_YNEkϗs@:{!f׈gȈ#_6o*Gn:EAEo.z _%nծޓ5ݥ}+^S#Rg[lʫq5_~![/|CEctrNL1w|=9lќu=9lNlZ۩e`]k6Kρo]vcc߅UDg7shet0cri6rk麯OY4˨۴?寱Lumjt[^O\K?)[*Bs%TWԪޞMgqz:^/x˃spbW ϘX6;gyqwp);av'_V5w--v:0a436\(i8=\|uDٌ{,pi@ga ߙ {yz9oz}~8s ʢZCTߒd7iOuv$k mưU!X^Jqל9|~6:>q_;cn!Yp74[pg.[EXo>/ܮ)5pn^c8(?|z%.Ňbq :k_ldOOVJ췺ӑ: 1-qa~ws^<;l7EFr9Oo/yV|,#&ovYF>;}k)Ͳ5==at'̒@*'x28!o(i)%uλ a$Uh 9X7,W65]}_Z9Gڠ@//̈ildcO">id}y$Wcع'5bąʻ '9,GWN>N_b E4c⬑vmyݶbtF*5`U,j qVH U6؀a[+s%eڲ\ʻjmmU6ܒBU PC9kI #W_㚐z;69]2Y1R9 3#2k7m8o8U]W=v{?? I@ E$ߝy v (@?}Ps1o~ǛOj_ [eVpyyZ`O 19݅ԅGc-JSHO<ăZ{5W5ξ gQҸ3wW) d%֛,qOS$DW[oQ?z_j06:Ťgc' /&ǯq](?bw aԲګA%v ,h0|'F2jj4^5Y1xyP{M *uQc6t"w,I-߳׸ηѿv^3vNӁ ͧ~_4?$+/A(HEP?CpAenx M,<+HR9#UVq@_}fq<f0kk&ZI82l=k&-.8Izzvu#c?\ns'@&7^X8Ҝk䯇Nz>Wlgs\г}Yq( A%VuiF;lك9׿ 0Xb_L ȅ3,REM1> љK ü'gOw5bq?|bjAc4 41KIeBʒ>A y໫&*_7F`}P!;xu`UJ&GYz͘1| c 6p^KZM!yމd;(!!}&ݚ#fX'W] ߧ;CJFrbG3 1Ç{tsS9H oq7ٯ7䓭g"襻䈃οHT!Dsxg;aQzq& Ɂ*/&99:E;'vO99 HiT2Sm-]I e-ZHhBk)eB,/m+;?6,w';oBEqLqI_3 ؛Iمs_wKzIT)"+hJ'Rs 5T"T(s_s΁9 +?g| o\G7=ݳI]ڿ:㐜ё#kF8<9  dx(u)vˬ|rr3Q~FRu^lmkXY]x+E.Uc!<,pZCԎxzMEǩJۼoz.bט/Ͼo,w\m{J|$~rw]WmBϔě0[n{qW\-ǽ>=!guC^J4##SmD`M-Bܿm?~q0=E05}{%9$W{Zg =K޾Mu6p6®{GeXS!OedY`PΨ&LjF\,\{6qԚstz,^oS] 7DsDv#s'd_NX;~|2=Phx`yAK#>'aᖯuSW5fyw+JlLYtX]2 q[ykΖ)Wψf|ΣQHΣۇ\wc}*qzk4uzEhȧJrР$o÷|I_{({cڰZG"*u4H]UgOF4u =x{1sxVޜWj^{T aF#P*uVQq:EK=O}=VS^oCϠ_GlQR>o,O֣= p/0p(6A<8!(ۗ 7W'!6aO^Atb,D7if#.nh kvcv*FeYKD\409~ޑ˯Bw{uǫPV`FW> 3ds%މMc(oxsɍf|?i wVm+ Ae1EJ&s🛛~<>_o6sY~hd`LgIG1HBIrf$_TpEG4|6Сƕ0y{yg N _LI>{E#ωa F Yg9I=J8Fc^/amooAT;lNҠkq~}pS2  ieo;h|R`|zhp .] {L${;HIt>#Ģr,A!GUp4d{I''_3"#T8g}p[uPގ1q dӅv&oQt3A#]w";>N^~X7n~-H.HkvXo@I=lu 8d (ԣ~* ]!(a Ȣz̿)0TKyÃ=ٿK^if ezٮ珅spwLn@(a>}7@dl;0ZzuU}zV6gziljwu"a Wr Bw#>Bְ离'-hoٟ^ο.m.aR`Y.\}Η;ӾB.HwOuM/k{u{c}=\r!_scO4+45ves:N~]ժRW)PcȯGWI`o8D[Je^~^6N&Ԟf(۴F{FaD4J,x7e)`C``;$ʚ$$qj&Ɖ O_}/-w[n p@ {v16]S~ۅIN|& ٶnR'&wAW`^<<5;EZ6v9ӯZG a88#;6˯ e{wg:/=sѩuwGhyWu킘rm!ھH!եӻj6˯&al5ܼygٗש:H)\c>'(z/'ãvg; k 6k+>6>,Û\ݷA4~.v}\W3f5 9}>kurN9:ܺ]CZcq㿭 q_ПjUG9IOu›3Ofǹ1NT[E\.}埢㪆zajg9#h0"A=ĉsps},nF"2{X_:9YKPπ⸿cs"D]DߊWfDi:'$(Q?t=vZ1Ϫz63s/Mn͖zڑf>x>Ҫ1!չo%s(@ @(%hK@0ѼxeϿ>[<O7|b"9D:7:@FWytm 6+-pN&+;>Pw21\(W?-O^twS:Ѣm&¥p}Q1OSͻGBU?wpg ݚ`-S0) # ò|J5y[4ׄ1F*{;_ "g;>!UYrUKh=3'qs ;%j |1 T@㰮{ME(?HptJcw$OR[R[8B%P"kB:~O`p(;O#Ggri K9^gtB$?c$'_e. 6 b -{!ߏc|=_RA?3aPEq"5z:CiapǻM5R\|jU0sC˫XԖzzlD#_1[HSvNZAD@7:ֶXsHt:[OoRu;# v:I9wѵ]EC!W$^b}A*Tv.˪,Yn15^[9&<պXej(൯6Q.~J]|h6J ;‘ks3ؗgvLL ;Ŷ0/5FDy6 3˟-:x xtUi_ 9jlCÂ>ޠ>4kyUA9+et+ӕ'7J&DGgFrJ#z|2%]]}^CM*4*SOHEH@ۣqaة6>LJUa(% ׀:6H >U|f<. d&p"mQ@ǭDTšC ?K|4c9X]"N?#b$]|+zw" JQ8[Cm:*gUϨXQzX^E ֪ߛhK]+c—y: |K"v,|s3ZS凞ʋ!/U͜|FA􌬒vQ^NWJ2]E],i ÞU.r7-Ϛ~" Iࡽ*M^w=-#0Xx$יq$Fwοl<JG!9xʷŴ存>qy 6B# v_Vkk9V쌇>yB0/麞n6z8zjhՏnǻ+ <߽jqX翦pFHo_{fUڗ/m4ߋ=#`dR~ko 176ϟ} w໡q6!ߪ e/x#:Q `w^6Z +jASUU^3Q{`ɫ(w^lgE'hW['V({ܞ~$ Hl,Lݿ0h5|Ub>p3=e믑 D|`5 n|bQJ59mր:,$Gg]f0gtn$x]eBWW~` ر?< :''1L1֨$1`NzD@%c{ Lwu޺)_ۻInNMeE n֡R;&3uw<4v^^CSf YɓipsfyTPb+cy'F/`ܮȀUx @uNE(2|F==yڭw`pgg|džGC`h9T! ^Ql|y\3L^9d`{ hJ}WFqԯ oHa׼7v1jD~lk g76KsEK,"GP8oU$ŏ $ݧgw=Wo_XQQ>%BG40IDבREB-ieDTXweU@QHL}y<$S0꿟;|n|h).vɅkU4pr(W'S[ǝ9xN}仼Z%_LIbIBj$(M]P'™y{RLQ@.NqO%tB{Vd A:5"s]hq>iZPpCEuxQCZā}{ZFnqf=Nazx.Va `W҉&-~`fGб ӵEJ+~?T5fgB/I`=oN>SsKck8}a&z7[&^\^ ˂11r²a\B 6LN`wuMu,^ p}(7J -srȄ P(܅@W] RuQ;׳<%547Anqpv&,0A^1YE]|y>Pc*%X_yBj]yNܸB6OXąInav!i7#YXB֐5kBm p{م=3ȧf奁"L8,d^PF_J"=xq1!~Y)C!L"Ά2b~FvY)r52q H>,I! l-ƒBܖ@h_Nuz<84`Bۜe&zzkTNϻtjmF:jksG_\YI_smD:ϟ>A .Ρ >hHmʨ{^G\MdWp^ 6DAK6 Z|]iNypu,v.}-=_-ˋ8<_!.78:80(#f[9UjydXE U_x[8ez\Aͳ+@z.ww6ϒA svJ|{q|2k_͎H"UI,]\S+%B_<<)(=XC[H5uDGVa `c_J!-[{4޿gP~v*2dF"W$Bzx\ţ^TMI;$'ӱK2[m5WAݨJqWn<;(CDE}(vCR$&-a1ݓLL)Q8"10f%l"s:]_{Cku0kr hԴ{onꂢiw0Qy,GJ1U`(Uz.oqxگ;ZkmiHmo}I/)95脺Hgj~GӖ,v-}mDCo3zz=O89T @pgڏ:Sz15v;_Lӻ|<~xu'_sޝ=C.et?wEmO\wȤGkޚA0>h%R@EBRQbgv?W SVZO!=@= rˣI|o -!IU\1` U&irߒnMoE`GφfLW6m=o}QX>)V A0`ژav ׅ%.URG3<ҹm^ ߟԜujm Pfto#g0~ w֨ەpr2c-Z`vbCz9{&B>g+IC[Xo?O.۸}O ^ÊX` >.rcW1 sSklMP6,bLF8|8XZ4ctzv:#5 Fsv3#NvxBwC|aO"C}0*/Q2E@HKG('3x{s\p1 r8je!B?0EXwnr9-b6*Š }&@ޠÙ{5X$N'`8͡$t*.)RSPf!Qp!bM^ZM`phoc $x#ym gs\ vp44#*'gvA4J_w0+qm13N?Ȓ@lq9*E;)KQA|CZig(q^KQf8LyI"BD6J2t0M3d`h!F.$\D37aēm\D$e2gj53n:D=@Ć;5'PxLn#DS?gw(H|ƃ}]>Wڒ)"wv5>nL[(P|a(E7= .lp+PcDljΠ_zNbCs;E(#XCIpTyׁ[.@i u9WބV1u!/ywcNB \ڈQ'jn2A4D(@óhx9@(Q(FLVbo/0H "3|qd=zvP;1UxEbC!By OKgsPC_$;Cɏ FX nf3 uhNDfṥrf`MH-: ~QėCrD,6w׶,!?DS\%Oeߥhp卼nMosi)ugk`!IT3a@A|D #T5y <-ogX~Ѿxo{ew|,\!zuOQg01;ɷLl}<ǵ c1G[?F2U 7zifdkJ8\XqŃ?UFsٯsܤ xYA ݹ/*RXΏhQ`Ɩ3yarPfS{y K7_* {ڸD@ϱЍ0"axgF"eX%+kDv[}Dao-t[ݮlm !{MʾOg,:F8 YGzLt\Ȃ0 S%6хJ_S?dbF (|][!E#Z\FOW)TlI ?צٸNT~Z_fKlS ݖg B}OC|^SFc?NV4aJ, :Ba G_}XRw"2sc|o8}3,!۹,le$pkQ(<@~hN<.H{P@P)Q5p>#5LYNbLf M@ sy42>|9g'Z'~N%d2bk sDHS0KPnWhX#$j)F,Ry!&Q_s\6kzvoCk] KK+''KzΉ?谚pmFKl*|f67&U93{pfuǯEx֥+zakl2NHo\(1uQ艀rg̸a. }EgLЩ6Y(."/Sʎ:9η_k)/Ͻ,7o4~W,ۦFff."ȸB(/SlT٨Z,)/DDH#}͕6~9Ϋ09oM~ω4P KQ&aQ0fM} Nù^ '4I(bpSؠ4x/L.ŖPG[=s^6<@n`qfk6aÃBjmIϒwD'xy]|cR&wi;v>9 (ѿ^a"&b,GZb7? 5Wwj&-^,% Ha Bl %or*-8™M1srU0? ->jeT/J_K7C.?I@!MX`{@[w ?<e-EX;mt}ޏ`pM֡qL9E%vr=i0&@S{R_.9\`4)zn[-+)PgsF,zn 7]e SYc)8E`_;<1#&;hQ6@D>]LA_C^U׾#EO&1I4BSޖ7nU?F5k_4zلv06Rp%q؈Ó:&i!I4J5.2:Жps4VvIedXC:GE $p[8\]r~KO /Խ1ԢhOq3/-a% 4Q $/$Jr~s]u|IGXRT9ŃggTQTЋ{ qVVVYЉU\@-E̜43D@"s"Ikҽ~8U|KFcW+Y .ë~N7?nrbByA8q?"1Xi2YvqxqyŷT5ʈOF׳d?ar$\}pzA{~S/=YGsF v`Tx_HcL;E_N`û×9o dk-E۶m>CdMbiVhI (-ЦfPŋfkcK+ BO:=R8O?YuP 8_ g\G"Q`Om%7z8M~26\tqRo?b'>jp_at덍/Άa8^.]x6p5q,k&AMհmK;{XD`{o\ MnڙgcT>a! |1DRE tM kԾ.2#2"ǒ6qqrj)w~)Sy.P>ںnXU`5tVwX. ULjT=w,K'qϊ+nz}Mc_}Go$%O("%ǵr>r6ZyRG;u}]{.sTHmhn; uB띍嵑kI2 W\?E5<|i=ˮJ.^s̈]{Q%#аUn%FN_<-eW6v wAۑwOnNL مA1Ӵ #@v[%K @0QRM+XskSf!ن]  9eR^:3QI +vu>ݟuVN Ţu2p[B O`rq)kzZvI5/mhIqAA*i%[7eЬL)ney:`?0G(nVG"[\:_u|t7[+X5]5LpG&e.[] 6;bҝ(}kBT0™$%mx[~*wD!T O(ȥ)&]J-:d3t?A,,[ճ<`E"Ƭk`2 e0qմ%/w$p9ω$mlԷ@>1.Lb\x~Evvۣ0d{8^wZNWF$XH}[j(-@] ]cMRv1l٣}ԯ@M~نP CRx.]qRR5\1x1a]D1(6h!ˋ'6x?P8ݿY,%.v jA%((7&~:-[o|ק3ݘ ήeFnW˒#kzჅ5UZůcH@h8z4+( (_RIƚ܋(ov91 j2rN"3Ρ@ʧ42UH6V NkCOz`VMEqZr"F.D!"11"u0?(jw{)"RT/sgZ7y'%qנm \=8mQƜHxZ%| :CH:&U0\O<7YQW i3X']*Tj0} ^'N~OU0baQC?@Uc^ O_Wih566̰i<C\_esk +jŽ׉V]JxWa;\hl!si/KTUƅ (4#~qɡI:|go7ԚQr(@|z%GTD/ݪϪ;qg}y|YS$g;硾 !rFD,[]>7N05^ggCڼc ݨuHpvє*~T ϙpbSw[e256]Nv1i5v`lE(kE42GgZ󛘟k,vSE޽kd"?iI0v{ΝM!VQxb>{azgDz,kL՗Qqhoh Z,./L`X0BLR& yR.3)|:ex;qm+C|al 8I'_/8'q <-2T CߧCh}Hp㈈ [r3,.4m杢 #:IG3MY뾼ad=-)-}cY *,v#]*{n@E^_-Yka=Tr+.XVB j8PJL-#֥'/~uÔϜVtQDv}Oskc;u\Q%CTumJG|~sxaIUT_eYu._(cl֌3 wpr$PXCTc;4G*~P׃-sv:TNk7 TGmRR|"\kKb(C*y%ѱ0rhBqҝ D'w+߳Rjy}gyYOz:ǃ I16!KUQ3u]!%z S&\Cn~G˫8z;2c!B#ZQ o$ <=;supTj۳ѳ7=xq{_@[k6b2EPU=cWrxH/†q5ZZԱs= {RQ4Fx';#5|"wPv¡6UVVٲys3Vsͻ}Xv)ԙ~zrxyj37\Uߌ<И=AX?ɻqPCGoV3UȠ8\;F++ȃ>@jc=m򭅎&Tu(Y\nQ7`)_h] 1߷HEJ^,Ďk#'Yep:PWMv.Dyx,^EK}&:gms`pj:yj{]PHV azvOU"{4AN%8\)]z ڛf%M#*TRFXlI!MWV-~JZXK(VO1׋[&dt\F֢6QȨ#ӵ=wQof7hknöy`.q`8\82J3O2es10$_Ҕ?C [Q[pxFZK X:Fz= U`e/l..Bw$1WDǵdb@b9@(@Y>P \A~8qv'Į qy2w!OLˬ}UZ0_ )pCU% yET_{c-DF~aápPAU!{7CV芸iٳ0fS͑bQzlUaǮ 3Y@B82E3eŕ JyYm%]P*!e'$>kgQ-K0H=S{"7'8-}-%rke=z`c̓cGZΩ8T2Ƶ; FezIl}n%:#@BO~u10<c@s0§w}L G7d!k.٨r_Չ"ҍ]_ @n>]ON6dht([AďNn}.n1]!M5T񘁊=ݒ S CC8]!M9 ч 2< Gsp F,އLfN…|M@!VS~n*EQ+gHo枣Y &|G,L;id> V>jG?oBj^ XBި)4mfr. JD ш1f |#!OԎO"TS(Zr_aH(P`v:˲;" * ۘb1l֌s`< s#v}erj}ȷ~ laIQ.-LL6}## bCkц|pX1[Jd*0c.xk[ݫ`Hs,o03 E3uM!}'M9;jR\Voyry8'`賌*-z*5NW\aGg!ܣ&!vgT'I[ y cOe]qT2W /"ښ:l6*FtHWXS~>^?| pMnX-AdSPS"9\%EC+ݞlPHዃǶ'HIİ{2.VV1U* ٯ9\hj|V9_=Bb"3DXʭ%Z,g4Op:80~1*#Bb'7ZaՑ({EuB#NJ5G 1" c V!,p]wA_l@*wk(=;f>` P!~ۇwUF) Sc+{_"LL$A-pBGNPN5dNp(AoTL p0m=!r~CAOAQmcU</@ +cs>ueUR/X[f %HZoE͈V^nX0`†׻ T{ C)tr2`~afD8As}Rۯ䜋 =N:k }͈~xȅ r"`Us$JGp߈>78!9 $ "&3/j phj1jeS"&Y:Rr"]Ofϗ'Bv|P-/ĜE%mupe6nk!W5ȿr{dW|f?q%Kޤ y=TKwuYDfga CZyxpJ(#MR:OQ!l!홣KpaУjNulo_ V{MBNɺYM2܌DX_8hj1mjX?{}|@jU&Cv!&anm\AXj^J/նG\]0}Hudۓf Ѫ vpp}&,oƬMs)-O߱gJUS胣ծZFhh(oCˈw}٩g̠aRheBxтi1yz0]vCNHy ^1#~ϻV/Ԝot^Lw%8d"IFlW{t}$h' bl\6Vǝcw@|: @Iɀ[rc Я xU 706PvZ/3 GlrI$'(*aP$ o,F[4SQq"*m92/w|5>Guov ;٥sNm% Mj45iy2|:fiu1vMrIbn7{+#>'z⋶Ci7HْV\G*ku!Ha3 \r;0ĢIXCE$*Wb\-P$WP/"SU2K=u5dߢ:NG-i <$]#V07MX$BgY֌i@S]-K/[o5A+e"=06C:H6Pɰ U mK,"e@TNVΓar𠢏jkK/N4םKfp NIDIb\jiQ4u/'BB" 5;=@JH!,jVm115p|揔Bه̇Aja)E*mAw֭f~R>z(-O3q _v 6>I\v=CR-pƋ'UƧwcg:c.,>@]G"z,^EqEdGt4Em T`JTj"IC},84)Pڜz~~g[x[sYҠfĸ1E DXM,/zw(K88s攮rppN};SpXR@,#fAFG ,IGDuV/}$ 荘veǞ ְ6 \uJ]O!`*"G 7ixXBy4ae;ZV3l\"Cu,LɔDHF~=Q۾Uȿ2/Z K η(cH>7%_'ȡX':1քx=_Ɛ"/K%iS:* P\SW;Sd*? Mz,zmR/\"XêbكPGvW[[Q#a ,RpKΠ8@^=Y۴Ɗe`s} {^<4G9aj5]9ߞ .+ixDK3N:c bx "S }r.8пɥy&Y|ŜoQgZ q&;N@(@(o]-v.=}ֿ][ߵF#Y% gf a Ym6nz. {H DvՂw Y1k'#}ՀfQ=.~pbʇXaX%Qr=ymh 2CI0^D``(J(\GO氘7[XDSL͜tE p#%\y%j,L_%=A2ȠRa8,]?]A M.|P[(b3 Yz+{~6~hDzq@jty.("4n>+g(ѩ}Ȓ>42 _?^>~~y^!@a\Px8"Ðix*j!:zeǣ14eUjN#+e23O){o,./9j1yܵ1+8z3\0/PAf!]Vǥ @d"?FV;8OE@F=j cKoJ5]L|{3V\d bEfXLuM-dKx&rDoP:"bSwhH`ڡ0' Vq;6L}+(XXL=++T y'9>v{xF40(飑ϡ:*2X;Apv ~Knbm[IlE~RV( :(ۅvv`(gy_UpzM, 1ƪpTyo@sZZXx'\&n4 #}IDzaCW&k]Z7 O:":\4y4}dkiE"IKտ'xvEbRXBWD|'LGgv4!PgLذ6>l 6hBɍ:=h-r.Μ!:1ȱLs i2rgqMir*d7V=<.;Ʈ=ї$t0C#uꓳ̧jaKG.M悵4USb.ZŽMPN% C L^,dYWEzQ0갳?_[)=<@FA4\C0=3ݏ#+SA?ǧg}:FwJY[.{ nc=ީbz\5n]8?-: xh(O /!HQ@J8n_5aq1ĐUæ r.^σqpdG0NS,F SjYM:!װsY!ôږR(:X-b Xǭ?sRW]\$+jގ>`݁V?nM "61P?u$\ߐ?@y@fYB1Ph8IHU,^;|}oMYfEHcx|3 [zvsyoM i0~{8a38(ڰ`E)(0a6qcnm; мt/@IғGUJI~[i9 dȠ\sҥpQ 9_7D"<>00Qs)U/b"2/K68-OAQ {@7:HoDXe1[g\8wr|Ϗ<'lE ޚ8:Y={Xo`fX-aG ns}皓HF8o?x~ݞT[@?LCwzoAkN}k=BO;-2B:rY %)s',dg+"tvXU.*brs{8!%cjk2Z4TSkopP0+:A~]p`Z¥/.ZthEyF@(KqƨTwtD܊?^"&WДBjH"U?5< ^SF$>T,oun0!Z%0}X _7Q Z t'"猨[Mc< i4l +qf_8&7goIr RvW*GGs\IR-խ֔u[tm&+`x3QT Wp֥~W0 0l0_^pv\l9UX6YP\CKcFB)qܪ$,ͯŅ!shjS-3_FFGv]'3DA=&)ga!DjTu'xKCI6C 0!10- _aCo6  Fy6N0VN"bm14cApx#=3x={ͮYH ']4SvIE+ipjiVC2D"=>yLMNaP\@i3)=Db̔ ?k#":])GR⟷]ߞ_F1ĺ谚Q)0ϐZX,r-!O~?Ofh}d"C11 QFIW'\.Q7x"[d;|en?lt PS5*P P^ʐ@Osz( ɤTjflpb{`H,*ءX؁+; EwZK,τbcN H \Z9o3 )x~o h@2MKOv*֩dW&?8Vu5Afs=kh[Uv{U9/Q%o` eAV7𶆐>BM^B%TvnFRl3KB=.HIad*)bQW|vfIJCm9GٝGa8Tz!,d!#hDƄt1elgb :$J .p[4 CVaMV٭ᆞĴX9¨ |ufցGg\u\i-9+)".)a lN~sU#P4s[B8_3?|U\Apښс@QcK gJnK۳` UΈT;X٭&v1M{=kj=a@ 8rɑ`k!)ۻ,nz-Λk#=!tO#EEґz1`-iHe G(8 .ܷ"Y9*̢vF]t/?r 2~.v!CeDŽ%=nm4Hp\<3',H &$g{"Y8, rgC̆؆(xb9_ aʁtjqFP `.}ǤWR) =v?J!B:F/pCL$:$ >w,؝M/_tτ< pBE =}3YXH"(`Y3TeNWC8g}^qƘJ, Wuo%XL4#o>`N#0qfiѽO.> \aې7!=id34cni]VJ* ]|sYsWZƇ+r{!i[HZb>O__40z__A%KrA9cչ'3`D]`~ʢ^:}1XXhɥ.WJW5n23Z7O3|2mT8sc./ү ]Áе)mD׬M5t]f31"͕2:NsZ"V+\b'=}xu31Dzjr:Z^⡊;+IdLYm*dm/%#c#|l# vF@9抅yuu)]RKĔIi{ě vˊn\8gRe/E>j뀮*O_<χ:~,o#疉j C}|o3DGwr:j}V(/>x7VEر CX `P,exhUcǧG$E;Re_bzpavM*N3=$Έ!`XqP-c6^EsX:ւWR.Ǖvخ_ElѰ+bxŋyEPm":P_PP(P/ʒYW<;u4h`V uo]Vq66cwG)DžYx}uw9jfȗ%ҵdle(gBD|BH.@=βk\|vҮcWr jp@`ƱbD>b %廐J rWa!v4g90|N݁E$5낛B6/vo1br)RX :;-ط">LiDq2%h-#q+v)s;!?WzEkgU-M&"B;0:n./{ '4wԩxb0(AH |83OljY+ɱ93¢ qQˆM@4 N5PAh=]0!oЁ=:yqĒ@<چdc{;H=,ca’dZ23߭#ou_7 jy0G3x!;v#A߼by{ q-\OX \D-P5cL,e@(it%8v8c.P6&F P`cZ㜈0/|ؾԐ[y2v9 gg(ݞ&܈w۩ljP}3N5;GoNTlm$W*#qSA uFCgO>Z*R%x+=2{bHtA3ަ+!Z|C'q>QC޳X@Rk8qq"8cvF [dQ]rF9*2,m 6T)=1x@rrAmA& 홋 l,p M [ #lp"L9T kO`ݠ*mCsy~ ֵA͎&IS[2Ra\W (9vƃ5?/'Cp+e뵷F޸B&eJE5Ps2 )\b  $>%(i8ѫ30  XFs0 ` Aw]!S U9v~&bKSCБ<k0pl4bKa8B; f ;: :p38X:Jgps\G_uǏ5Վy.n5YZ6#dDD>39bTj1Y su.Xi0Cv^bY%gs?X_Up,7,Z-'(1\DSpu]/۫%k.%K``EƠ7C{64m(>q-x7{]j'r㑎 %{]uHA0X*9@1sqLqF#HDۯ~Vv zuN ޮLDS^LqѻBU! (k-"sc(}9p7w<ˊzcH%8s;aIL;CrOAni68 e5p̸ =)PuŇͷQ2嚏1Gy`H=aBYzPq>cg@t:1 H msK@Zݭ RǏ\[g/mSZ1*vT(.C>nr[{9p,,f(ljzv _qJusʴ|p@(k6_d T2!!vs90J8pp0lavn0[ :òv P,Fc BnN./m5OmZh_^.9B3<:H$-4 񋅧եSaGQ:h`h qP$;V!gV6Eh DtZň˒ov] ߎy-w/b  J nw9-' >[ Teg\=kf[;vqu_xqðS?St+U- fGqE+ )&N As2.5̡lbT eFڣT@r㗙38"3_Oz睸ڱ>g| 1C׷nZӁ^# ekhl`Us|2!+"\q ڶcvauهg)-]3d8~Xq%gu}dk{6?~V%[K(/-O'\TJkE5:w~Du_;[ғx$ a.NrvK<̓zA}T߰x`xo~HA|9!DZxMCxbz+897R̓c'ۉ}y[q?GWwË3GRqB">Zth>?Wyns:ϺTz̾mm8€2a)T0Q.sٙH$^CC=Lʋk#yAc>Wͦj_xGa$%}dў(8ؚ1XqwrT.bhDLc=̼)05aM^Qá@[1} N|zv)zpÀvOYkՊj"Ǽ};S q pB]ȱ&eޜ<7BVЇ~+ؚ6CCgLHq܉: feKޠ6:z^0o/Ba-%M)#0/W',&ڈvն 4.2#oط0@Գ {sO4~LQs31?]Ũx!؂Ar]$Hdv=>#L)H,uQ0 ;,)Fwm5z8&d D.Sݘ<`r=%>mu-'&gJwoKgm^Bj0TeJָ/x$9ԄCaPP^d(@끈PC~}Lt< `R{a"j/ Q-idB5ڊ ?<>)[p`77{fKb ҫjF} TEg쐦acCѳ/`qz28O%S묄wk E X̐XF8rXaN!oNBiM78PKܡ!Q3lFk&9ZPe{Upt89Zr2pA+1XY{;!DE)DxPewf8reP!Ids~v47c ꒈ*G>[D'3[yo~vR 7PdKL[xe+hT =9@c$OOas' hK!bE떖oڨZ"@*\9nlP$^UQ#Enp&d|T!nK|q#;-FRaP`M<22093_ ^F%Z_;*&f%Q#ef{ r@yz3dmdl՝Lg-Նv'F8UnE \V>x{]q!O}%nb5:"fm$Mb>o|c D^VEdOj鈾C&P<e3;/53=ϑ|ݳ]%5>$If0JX ENe8H 8K?ymJn"JӁ~3wj,JxZVSb@e^x@yvJ_@EW Yr P5piycǰRy Tׄ)?1z?=}2cG>;pҏkY9p1~ukWǬ-NyN'ڛ HJHYEϛJ5'Y6ܨpvYC> WEAwEYtn"% q;ڟ[$#A<qslv:[^'[2&A_7j pl~8:B˭a'B@P> ȱ^W[M6],7,gJWsN{#EE9+Ϣd`z >3@?  4't*UZzߔg>>-=VkT[W5,A{G&ݵ,. u9\Jl&`Q"1nKeHB +d{K1[edtDXz`;_Pa͸ZMR" ;0Z@}<֠nca]?p:d5iN߲J #{^[yCsOޔ21$@ 21pwc~9Yc{ȳzpCzA~P` X]6 HN8ܺMaI,a-/k!{D2!jr ;@fa،{ӍN3+nP|O$OLÉ:8}8ͪ/<$ruH9_%xXR* r'x-laqH;]XJTTbzZ \l]l34uxN7T?rN=`&&1/@=Ɍߙm9 !Q/pEv}f P78Y5q /7oS]ӊ~}\oD} bJaYպ>֮˨xg.{c~kTP ewq(tx`&{V2ۿjShDB&B4j7biMxּNK~~ eGdXެ8:&Wg#z~.sv]".NF<ߴ|*e!2USR}?w2 /s}>?\wjaF̅9v*Fk!^mDpЇSg_]~50-r9x+0ڷ1Ӭƥt]._Dua\ב[oQbOvtez(j`YohC̚zFѤ\҉)*yc11Q`?W+B^hmІã;vړb#@fic3޷.^V#%??Phd |OqBk!8bnhoFگ=fdy"md~bAD@)ڣj+򘸃*LO:_g ĆU VAP)P rO:{~~@o[?}V3Q|_Ft52Z"y5W qVm9#@-_Ftݽ!Zf׸t'`-{{-eMp~WIާ1:u6՘p(9u@, ϯO|ΧbmP'BY蠤)UV"Bݑ--]o1:G5G u?EUE}Wݳg|0bſd{l/E'K\\o /T1:gXsDT@l-Wwّ/_ꭠ@ dCM>0; ΢mQV61PX>onߕ7 hg} ƍ:a<ʋB!J7gPհB0Do{rhK3k 4.> d>˫ %;ͻ))h}4?.X KH=A n`GIFIxȝn!nN֡B؇$C@s^r<>|<O)#:09!29|^|a,W[v?"S؆k*,' ctɎ8]O:,ݔ"%B5Y񻦼ߣ۷+ecH?i<+tZr]nLAOѻtl}>E\;1|YۥgtSGIY!C fe<2hp5:,X.UwGB<]lB,;mGENjr!=Wn㩂]{ώ~CZZgnJ}˼٢=V>k9[y8pc?G͹ND)Y޸yg7 E$#>RWw={x=_>- XvG&3kWfcܾ90~cuD7.(֍AۏQӓ_l>N3 LlkMl^.wX^^|pfz<;1.\bN Lri|\~s?';L'!d#||=cu-XGMfd }d߱Mp,%P]}˩u"+3 $F0YͳKSOSj^sw΋|8T9q?ߞ[t I5|ıE ?Q L~߶;\8c`\;pu!Cݗ?%@[އ ~@Ӹ`;eRZZtut8DA6" مDSj65>r`в}Tf`Q*dCe]d0.ڿaZő ~5VdAA+9w#Σ.7<o{QiaizJr>○VlQkGIy+:mRcڟ#94xrA f ak瓳~te*_\=z,L̪eG ;!F4σMh%!mAr[j( OE6N1~[>*WҴP;89ZvvDŽ]Iu1je$rvP-\*XB2 zZCC]z[#e9וӑw7k /R!DžsOm0zG;zmώe_0^/7Xϯ^[ÚCL.{?Sh.ˆ4&VM/of+Ѷ/n9*|o/zBW5}|t ;B_@?8~\ ,mLޣd]`cM a[ha`fm"%ϵv>w<ƼRwxLIS.+kVr5V;9>Trƫz0Qnfg`DZRBSy@,%#iyLUskHz'cy/1$9Sf INܣ}C ӼG޵|y2, )y}Q{!un-%B/t2e7%&%3 ë615I/ ~ 46P^ mK@pp«^q/k`gT@Q$gX6:;[ok~9K0{Fkr' SIW{}| 0^A$;. U, j l 魶+m2>tBɽW. {G{t%PT@1&燀XnɖgoǮt{/ ~SH??RWdh= ]zjɍ{4q}Z2/n&$3anH= ϭ7֡NHrdg@pOwqUCI`n7yk(ПmpcKlF&dEE O{?/?6fc{H@'ξ_wB-7~uG禍tqm#"t\YQsbA Dy7 n}/΍2} J4|#]`"\DG':V_N;38J?"A?KRD NjJ(CjFM'ya󫓘)"kr2j&!v]'4̎ï>Z! ?Q/d QH +ng ` h3i2XĢό8fTxܽ@l9x?xh GH Y>l}ޏow;RvkI }gMIGR.o~ߨվcc78g?av ~͗slռ_[MH[7⩸v0Ƶ6!h,_y-U[@9&hz}8:ee8A~Ӟ䃜Oq&h~;hN|'=){T׺-(x2OǗ  V7Dn@ 4AC/BzI*Ox=alFr0@'S};v6KPxC˪1>1xx׏ |=$v /%w|{q& q H;TmbhlFUFIyf`['(.]8}<= ,%9Rč}L)"CnKQ8,\@2Tl< p/W-PrTh4T^$yޘ7u8Ϙ0bTآȟ(MmeE˾p#}Ԡa8&7# Xd$YK`V AHBzIin}h\hgYT%"(…$1˷Yo1ȹ-hx3p'o噾\ab4ȓr!pnQSAv;1}@dh{" pȒB:1v [0K2C@CQ'5ć3%{b9( +l߉LjX4yBOn2x&ѻUs̥>gW1uNnbv?)?7ĝ]u9H- !O) ޗpUs)ujpn҄" hw<:qOEpC=㿄s/pd.nunܠ pA&~mpVD|wU`=UuUa{]pOe0ҝ\qOr!}sdsF*D< B}9žu9OiC YeJsvت -οacr"}2P똜{l/cG6ŭn!jNOƥ&^䘷<І%Ԗ% 9!|b (do(Qmm'}daa.ؘ8dA'&ot쫴VIz* 83A}&|#ab\VF?Q&HWbcq?Px4dt(p!yLH8cՅ؁.a (HQڙc0Nx-Reho[xP&,$a݉AptQKt%y4G+t٢6`6 !K+ 8 ( R1A`{@cWqUbj flH̱GĢI?htܓp͏c8 J3` >xZ͂i B";oh>>/;= r)c;CWl/ɡq;zZdz+׫uQ&KE-hsM4.*Ěe 2 `h TX~.8A sm}2mrqW`G:A.\ں1 (0+jhZmp?/6D~<}ck ]Qyw}BiELѫcdl%gۓ|\'{>=mF*D8y7H/\kxe'=_DŽ;q-Mk^:s>x׍{0Q悔z| cwK KG6u;u]/\mzAI:NM0gb'좇 TB `?{5=5h(/ "QĈ'{c.tdky+Al$C+_6RR|&p82N=by~I^3_ÿ+I+PǪ8Q-.;wW 75NwvN5`t 'a A8Ub9ʣK ׁxc:Y5Q%7aMaZo6:e'u6y>\h+D<}r;cj)`X`imY-CD)VɩNÁ" LGQC?v~['?ӑsukiGquC_8TI^T τX`aQECJRi*83AWe w݌~Z3,~ m9b``_g-=oYmb$h-'EElꋅ%fB̻F9YxC5_/b֫sJ[kvsSԢzt!6x#6)y߆\ePSyK)fUvejVѮ@6r} byk[,}L wBoz?+NYs}7Ϲ뵟(X]]d Ӊ7?sS} UbO&|~Jؤ8m/oQuOF 4wD|<ʸzхwu{9MOGx!ODz 5VV\*7 ǧzT^}J.'xpoeOwF59 DVl tFQ\K#Es!?zRK\|P專}VWELX@w*/c7TגhGhQ_ߝf[^n-4,3x3koANՎdACSδ_ pИb/3T؊ 06Ⱦw8~8{ZǝbZB\b";CKA @~sSdB, &HI;7pCkj3 L#f7+Ʈ *M[@l@-Á b:ADҟ/;i-h [kJY/[z/a֝\˻O~|~ @D~DVĨۯQ?]?5}qHT`ģ!pjzTگ#Jj(\l0jdIbgz-pfKzm. C^d;mX"&T" j\ztTD|ᾰMt=f3TS C3(xOy}{z<%f! .-Gvq'9Ac| 1)Ix //؞f/7Ci#\~EH6^׀<7>)KWYǐqpNwdFaۜu`ARc"N!W &,h:d$-kϯU7#mxMuneVI5$552Q a6Uw`;P&[Zk0Zޒ<NՍr ؂T[W?E3&:k>׷gi lN M"r,om@|oΘA5r wFۉv:(hP/xP2T(DW봝zc @$J"wQ2g~C' zhlaSnqn5˶.B1I/OM~@kߞV^݋h;ØF8(齡8<SHBU̵5%\P An]O[pa{' MQ@ {v-"_Wi=kf@SgFtT 83ֈԸR;6݊6sGVxDs\ɁڐjqCÞfZB5XˍnHΛWn-cˍFc!)$4!1")]D$ 5"Y~FB*:@5{-}esA "Ѧ2J|)y8᱑f;m!;]Q1/~ ,rP nrKit±,,Љ|}\ܼPMxlYj C,g#p zC 5P6HFS{شuNw﯆G Yp @0A -@*J HUurnf=q/pδݯf42Uy1v/ۍ6ٿ6H]H~@G8q eG өߕLӫ^5S5_6Þ}/6k5DRr5h6#%n=oWe 6qk?2뱼\aȯ7柪3vwWR׏Άnm6.n4gm+tG,~I}Auމp>XFjgzU^[-l2ts"A zo7ת8ˎrBo\Oo7aujiFte6oqfuY{`(k&vkUK|`D6]:bœpMϵαjs㛋N ~:sO ^>݅*TG夒VlR^QwG\I,2H4J%Ě aH(hMP>_ HG  @_1)lx&}ʳ&M\u 0~u:N[zwt>??Wat}Ra֧Q-"?`C,d#gs )~U]O3@v: pm{p)ar2Ys8D~_}>ǎ37{0OYʟ⺘X="-LW-Iy ?+]∅$qFVLyd}#y9Ʃ$Kdه{D٥1|{tt7Z{2"z7c!#]6C~zMaD(AA3>Hb@>;= DV*Y :{z[cΤ } דN8,H1dOuc}P H_;}'@S DDaS_K@'Q! ;!=}7 C%TAGh>1-F %QhqLs6ίC]q30E<:/Wpm)v(q=O<l߽BBmHC?~F4e$D 0bٿpl87%Lddδ@@qDA$qi26 .j&F"gV뤒M_|vr!GEQX