art/0000775000175000017500000000000013661542344011764 5ustar gabrielegabrieleart/austin_die_cut_sticker.png0000664000175000017500000011673613661542344017233 0ustar gabrielegabrielePNG  IHDR=B sBIT|d pHYsbb8ztEXtSoftwarewww.inkscape.org< IDATxy|g?3|vleN9HBKOZ%JY ˶]~ Q~ {tY҅݅@PhM6IssI-Y4[iY#Y+>_yg(UTD`׮]RF-[p*bn7ҵZ-zIWW ;22BV+.`o6Z[[ l߾ڵ sNBQĔ+jJxEBk.* … JbJiUB BAQ4 F.--FZ6(JRBei`R*`0 !@ gY}`0z=P(4<OT*աPHkXVd259*ZP2 ST*KJATQ4MaMŠeY |@ PFP  .chhhS(^ZU(>h aXx*BxQ6jmm&tkkj||\Vu~__RRRظd2-jT*UZTJd2"d[E@ x<>_uݗGGGwww_zN=EGFF###m6AXTNE"\[[ڪ+JEQօ%%%+ Z=O[JQ&V?nwrNuuu"j X,SEХLYY.Y5Λ7oauua^_jiVFܸr(|qyr…Ph1a\n߾-vB0v\#j[FBٳvP(d.//[lَ;FE(W`__rc###⽿Jd.F[VFR)*[|SZZamt%7ŋBFGG]]]=rnZmw#_fG#OQ6*--U Ӝ9s,X;Zm%PGJr]"=hWWkO=v8!-G^vM;^/mnn^;wnMQp{R JN^>π@ yFGGO"hE{nrJe5kln@+q @Ƈ'yF݀3ͬMoqR T? tdzJ s0 okk{bpp(˲}vk(Xٚ Ds똕+Wj^o+>YWWyNW/#~7HE}`.xF'pQ,)nPfNH$[7h]9tY"0ETZ_YҍDCP'cxx﫨رE~i+?ZVڽ{7ڵk舘}@v~7/8&B@>KUfT̅v1P-bu eHtk'rr:~JbK-`E޽|Fc]f窫?Vel)_= k` %*T͇i MklZ u$}F=~_9sp8|`0m߾=X'L2ji-F}>_իw466~Yvq`/†2ā)pa/s6V@ղʖmPlmN4ġl B0::+Wk*ʽcǎr \W 650 ^ޏp^<]R/-A:V;lX(2˲lww#G8P(>Q˞(,_PUUz…hXj( _g{Hw- /nP%m3'¥uЬw@ռdooo'Oo0pGyU^4nڵ[]]i53;2x/=Ggӣ7/-H($ŋ6@~4y!B=sС: _z5PUzjX.]n j53 ;2o>"ĸ<xSvgx񑮪y-45qZ^t[[!zxoZEI۷3۷oז.]reueC~g_GoP&Sq7"%@#0(jZ8K)B;Zv8;"D*9ouuuP*O!|췀5.xE8a!Ze<Fnرc~ڵ=?al_z"49 EWVVֺ|)++ۊlS‚mO!|ᝄ_^]K-8b (HP(:{mmm?[^fx V\744|CPd7 ~2|5Eq7-0YuL!zٺpiziB=c5k|j {ჿO@>p5xK/+oB򎄺2g6Mkar@>B(iXn_/\1Fe =Yg_(?87mpP[ZP y af 0U###***Ɩ-[ܻw﬈K!BOM&Ӽnkkk?CӴ2ug^A=kFL#q8oT_ ]gyiк8sKM8(*++v]Tt`[[[ؽM"B3W^zlDwd>N{ao_ x|!+A(`, ~M&8N_x7ƇZ2^b/BiL(]{toX "El6feׯb}};˞~m ci5v//*xۗڏA \"#B044t_(d+f)oUTT|\Gɼcm~;9&S3< iUZRqzULHQۊ/>EEc 5]~7*"Peee ̹Mj7} WL&HFsX~1#X<qd( zbn?zVZ/Q"چ7o~DuN:/,ajq"xxBW==1H1 4=MP57(`(+--]aۏiڑ뮻dI<9sܴiofr)yG'`=x ʋqTJ 1/s DQjkk[)ZVO)[a:#Pt˗/߼f͚_tz })00*ĉ/=6&E\>@+nEe(BiiaʝNÇ .)ZEu/_KZ].q8};O$/7Mٝs.Ծ`.BàhI6UQQ1󑱱n+ƬFaÆ˖-{JRHfn{q;e3~G.x{Qxyx|g|\h4_[ b͛z`cDzQoYjj4i"P=_0q5L.}ϐ(& 5/th BW_}$rqĉ/b^ߛ-УV^F)j9dBx /0%a4Y:΅($:5 [+HYZZ:odddhhh5kݛwQ?UͭׯVHb@> q00+qc0W!113O}wJhn4 eeeK]vT'xBYUUհe˖_zI޼L]`ܬ$HN]l).q;#xɏCK~c;6ZWpW#FVtwwt#6{n銛ngfyOZ?G`oF x~ ocOb7E8r\!k, Ey9*));zjW>us z6.))1vuu)%~`|(-%?3 jBnMf27b9<'y9+8*hq_r H~k96:::\SX "#Pðyt:ٗrp^o:G8sbx Uz㨋娝p{RzZhѝݲ z{Q.^xj}@l~{Ox*P ]1ǧQSY`޺bX? +^dCf̭eF/ʘshVÙXҋ<.|+υ=or# #%.\a>}Z^CArsII&Q^P x|Q\+ɀ" {/@w[騬NZ]gYEN !fYE.yBD6+%M0n:;29ʱ/~|NWͷFϧOCI-n۶UUU~GDx gKg} <.k/7{y롬jN_zXիLnFzw例ZmyMMâ?ML^'x^0IzTC!;\*-]`nWCFyyy%$c']$b|q𸟶{U9/Ycx/އ b^20%}Э FT>tW18\.r+Jear@ښ4F}MKvW<x:<6EJ'83;S+HtQOOfIxPRRRʕ+C-V=JPh̙s-!`O1'i>83p9)x{,( uOM1JT}PY2QLHW0kg2X,Re+hr}_Oгl˲撒Dumqا?xܖR/j`% ʧ|HܗUP[eeS}B@iͨ5p"~&Eh4j8wU^2YVU5ͯ(oBIO&N%^H,8[4K2GÆ{GU(TkW b<]>i(TUUh4]kkkzIDY,uCCGumY^lS/͓Ij8.( 5wMgTVC8+J/TRH(!07f\Bkkk+BO6r ? Lǝ.xRí_Kx]~+CDQz*T}ePsyQ/s RPHkZSkk+V xqKDӭIZ -ԴlAOSJ:G" R9$4j4M(s9mEгlT86 5絿yGf8rǙd] 8K(Qpn߅[3kdC<$U^Ѩ(2)JU.zTYYY^oc'zEE2Jft>ff({ >B`Zm0*d.BOhѢm2\` _q8oTzxI3-⢼)Q*>C~a$(h4`0عs4Ne B֘La/;~ x\/㻮dx w&V( ?{r <GDӴBٳؽf^A.u?EEەx\&K}8 xIPJQ {'fPOaX EPT aSVJiZVmc'qpb#mdaq&ӫ.qE+@@@gxNM*esYBp ,XEt7<0 $Ox\y92$_)q6;9^BB>nՇwRQ _~<P Od`HC555ʲbl'xxn* /x& > n.&щ,VPAӼ3<%^0)_Fєel{?bO"i5~Gm~7!$,;Kknn^a0{d/ιxk0%fxɮh] Tu_W;{3P p~v9d&NubO_*O2n`|3YV2r}U(g>P*o\Vw%WKV#PPHhD]k'!xܑ_bBK <0%CY sKPTg^\ Ri׮]EQzF$ISE wc/LdXӍ_ඝ%%[OYшh>+uSQCKQWTMdV\TdjOLrU>b <>8r^ԗ3{-fBB$4F?rݽ|A@ ڹsg/% znhhX ~]'d] ^܎<(/I$b|_  {LX@B1RP"k~JVЫQbl3<-D8qq}]Z72'(mu:]a/xbZԾl9Qɟ)9q$)xݑxʚE0lc).^քO?&?:6|>8! !DR b8J<.6xR|:^H73M쓏bn1~Я][6~X`A΢<@Fkmmhk̏n(vcL/.P񵾤mEex>q;'^DU$*,⻷geo-ږzmmmԒ%Kb.ld4<qlM}J}  ʧ|H'WѺ~QnDJlwO(~EY>G C񵶶#IKϋزaIx ^t?BQbvPh~렵(+E'`xxeY_.Ad Znca("f xe7øsPL>>07BгZT}}|B:$$) 8/(]$`0t@#`0U*U'SD%{aˣXxd㻮xEݮP7zdR؋E?v}a^t@۵k0JPTpMWE g1%ܾBW4n5twOrr[/D~0 U@ jRtN3=5%&x<g.%$))Q~P#j IWsޖӒyT⏍t8iHRiT*99 8yǑx%x{2ux[ M-:p3`n-POO# Ph\U@ڲeK%M 8VWLK<= 1=k7#  ǖ+;1˷" \?%/.Iȹ-¾)9244tGU@o˖-(//xIx+d cEio kc>^u4*jJ 'Ms`᭱:[q3=\p8as"ExOAONx*UCKɴ'e.Cd=][JӴ[FH(BH/\xr- 5'ܕ8J2|%>f ),⣻x %q f#Q+̟h&d*ғx /އ xExqB5[6O)z+hPSZ@de~R I whTbo*M;O ccc cbbdzzA>fx<8x\"\T4\gFό W& .]0Um У$ȥP(4Ʀ=s)lXAɘ{=Αߨd)^15GPހtqgFcaUeP9KI`?)et@[uJZG^"d0߹s'kDٓR9ޅ -[A|Ni_,.Hb7ɚx3!B?`@w.A#z=7db?+R_ Q{pMO4MT3zRTblxd+oB.k8IT x}=C:ԡo@@0w38~),RFw-WFsBx$FD9NWQ̽o vgoFʅ2J*Dux `ee*PjP  Jrx0a+n;7HPz|KG$L w GRP_Q5wF~QZ<ZFxN څEp8JH86&r @ @3 #Bz!~#LCPZEEC E郙|hYw$@0~zG)Tfz `(mce(clmHXU.^JR@԰bQ-,&]-_;SڏI#@gװuݻtdiF& y7Ir?}>bj-P(D4-n85Z*FGv>A佪1{}ӂDL ^'jr ?†'F'3[EN4JcfjrRZg3R `I5k(6Q`CZ:&:̫d?>?}4_K222 ;w9]O( eYԆͫįuG{vE0\J} Kb"D0s[GJ8w5.;O/r0Ucxx76xQzפ|AGjt\ꮒk<ޝߐ/|uU%Sri?4~$ rq )j,'Bh,@d. 3BK WRJ h5Mܵd¸\#>qpz ;{erKmah,]P/,˲v0˲N9r ArڵNH;O 4N8~>]\97Př}qºIJOӃ ;ױk>3m\#|qZ Ŀ.`0x(\WN}vV׏:2=i:-sqkHG [ʇHx|MZ$n-si|i/t#̈tj\Iiryx?1("ne۟Trat!!8%- 2]DGFz$A9 ^\/0#1^_.fJ.:tw׼V-z\2x/loooddD:RAdu51taV!!8flVLe(5GVLMoNwqg.]G(E|z) d={ ^pp8A(DV-KH#G[`JB/}=?-!lB;EQX~|tlށNtXHA 088SN+@>o{{vdH"[jVEϽސ /"P'G''vj/EH=٣.Edȸk zv{``k@{{/@[jòHWI}؆C!DܝׁѹK#8Nm\$ ˚Rtg&':$#_ھ`Ud~?|С_Vu(Of=@ÇwOCfeL.373V!|]*_/]BO\ABBp&8(0eg$=Qk;G4MwzyqSUv&"ծW_߿[N?][GOxҐ@ezEײDM#@d% bD|M( 8=+._G} b`}_rʏn>/YBoRf|AdpҥɁ3Ƶr3~"i&Șv%:'cyl7Wl7!"r↨Fɣ8ы|'ef\tzTggQ4f&Ė3LD};v\vm8 ~??44$׾y7م4$\˒$}|`EcӪ|Fʖ(n\Χ^{(I~^Cm9MqeɥKο+#Ryktǎdl6~vwy )W^ʅQwnH ;zqׁdqLm]"ǘMx0֏j? ibC3rC]8gܽʧ/0y^~,=x􀉈/N8yeԟZ*-UW:ZL:[5"xu_7An/uvg㕗У((J˗W k&E6Ʃs/3 i޲YXĐ7o@5}Ř].jp~$|Զŋ m{xvg㕗ЛTǶ7ݤȇP.fGR)ILj)MK`7e\=TX IDAT{3. qr:;I [赵a iXwniww7)Š-i $%<^|+zg.>] s_\SBxey]'.M,fapgg4MHn\+ogو򌍍ߨWw"r{xqW1m7OESzn?O*?)‡6D"ԿSç;qjZ㏞ϸ]7 yBȨWMIWy =DP^{ }e{齸'c`dT*?A{+/=z4h6__pa_5a6וaMK"AJ}N=Jrˍ,5bҡĨ٨EQ ^ V$P:as܇a'F?k#r?EtI[ sgY۷,٨Ř}3)~'?K{'~sP[eA}%uե(1`k`kQ+DGdjܘۇ1c.Fnc`xt#N_*x`ۏz#/L),=jjj@r]X,#_bk'FwQii4$?atvs狤G__|AV/>?|uҏYB`7~sǑ'=^:ނ-+pt:Ewْ5֦*|; xy!kw?>3z0Q烅+h?!Yo|i汫N9?222VhSU"{ zBdIy!ȣ_%Ƹ:'zBR4)Jِ'3}>[i&rf̭+&/TD %SlXKnwvT zhkk uuus8WU*3}t ) /8{u }V:fN;t)" I߉!~04y? #LHwwU*Ν; k &U:Ƚ9nR uLer;_HΧ},_/|"zLDEɹEQx|iŋ{in+T@Z[[}ǏxZo~Mqؕn@BLtdݹUf|=ʋ >|~ ?M]m zغukQwAYI4$!4+b'<}=S*1uD.~n5o[xS7%eӧ_ B C^' (" ,pMSx`fW> ~f<x'l(YͱaVܾmnrjQ!8| . őB|K=SO=VTnFc/ԋ_X[.ۇ8fڐPa(qV럿 Vqؗ9G%y#t&$ Z<V-Z%E5?BZ9 z PO>iҥ^G d45.oƹ>G{g?F]q] at(p˦ŸոK`Љ1Q#x9CnMDrUW jx~V4b٢zh59gz}ǎ;YLf*H[CC=}-t}WG& j Ec\ p MSXP-seVczEvq91dok=C9c\&ʉjP[ƺJ4V`\댯G!|ҥKN}p81瞪V)Ӫ0j,%F=F8&=,FTaܜՈ-?bYޑB!zgt&m۶=$/)_,*~뭷`0ZSE:::ȑ#G"/ɖϢ13g# k7墽{{7 rBȸO'_ʮ\.g޽>Ox)W*mv(X,ZM&SM"gQ!twww>|_R*>l׬0!bY0o޼jkko)++0Dע'BϞ=?0 szttGf z`hɤ6eeee?fZ7X,j*.'䓯EeO`0|w.]@ pvwXb|۶mâ'.RiAoRf(VVՖMMMwTVV^g6+(WaWTD~?{}a;w .ZyѨE 达>EYY4]YUUVŲbXJJ ,0y^z~r; vLoC+`@سgβlુ@ƵUUUf:Fӧ+*^/^lz/ )>CͪIB%E&Dj*p8lfY֬R>tweeܙWT^o^Q뎎fs=al6JE HQiii{ɒ%tyEV-KDeY߽(0f󖖖w۰ac&Ie(®$|WP;:: ՍRCˢfc/Fc g"J"< `@>^ 'R;vwuusi˲WT*{iP*IQ<*BOl67U>-jPTDQBP(صM"$f  ^xDŽQ]"*B( !,L Pz҉zzzNdK1+*t:5^WBK"$YaFnaM/+®Le45z~Rڵ*BOBQE.^x<)W^Q"E͝;w!jbUIJZ`0(hJ;[TjhhaEW&WzY@"슒RǟSWBHHBФI)r*hTP=ѓNrUA6rzbl`EOT< bCJپ3l>͖ ng3~?߯l+V]2IOe&)'q.z`H߼ys<* ⤧.fd8ѓ?j6'9r$4 8驈RD4.e%Nxq$''M8q ˲#Əo#Nz*bҤIlIIј?qQ0|&%%[jlJ]'=@M&Sjaa\t 8q&@Q&ʲls=wZ@T@GQ˸qHJJ:8qF0 =jԨ;3337WʼngK PrKJJ[QQXII :… IM;YV:774xC yeYzݻwZQQ Uuuu΅  =T("ϊ jɨ5Ťኊ 1oj ޽{v^т V%<(e)͈HkZZEB`!4˲!"H4@` |>`0p---tB vB !ԪUXGf0 cWG1CER]]m+wP0+??///&_XFII UQQAeggSAKsgh4:Qu 4>%%%Q[XZm0@;E#|>f].8A^n7g4]9,PZZ*Bg(JiI09 l0L/BMQD!EQiZ0( 0a؎Z 0z(罢(Ap(hxQaD|,EQzLM&`V˲lVMh4aX bTi p("yQ|hz}d mTks窯'Onw\u .*)阭~3|ԒsWBBP )@"<OgF1W G%N?Ap%`ԩxtw: 0~WWWoھ}Ns(wumۣZtBB.999sܸqfeed2_`[^CtJqım6̛7tR\pgGg'E'N$''ĕW^E" SYv-Ǝ{ ^̼N%QՍF3?kXr%;B݋iӦGzw;N׉'mݺձaÆ[y7ofv{ɓt:]Z8Q\"sq_ /t9N; ˲lvvf[5e租~TwNZlmmmօ^r޽f&U\ :ǹ͆EusoN8qzuCjGb,b}-^ii)v饗>~% %9ǹn7Ν3гsf2|Xf͚qǪmo;B\,'NkVVnqZQ+7|AYYf̘ݻw6 ?#&M1 魭mmm{nfuLfHoРAھ}^XTTyl6cܹ'%%a8vv'|ۍ" FRSSs#F8l9U镔weĹJxqcEg׿CqXNN*<_Ai ˲i9矷\tE;>¹׳ >ǏG]]|>RRR3"}հtX,0@zz:1B>SJv-[0e|Xn(?Ǵi:=tPSSS%)))AHctnq޺u^zZ,1j;v6 6 nNN^^[{NɄB %,Ny^466 N©S χo^~hmmEcc#l6v;Aff& q655/? |5zǏǥ^xҶmzok0: 055HKKCRRRRRDt:Lnr555سg6mڄ:tMRRRpw3TWWȑ#\|:bb6;(ٌbO/I ,'xQI?~aLJ ?*++qaO>$~W KVVkBZmЗБE1 2MJJIy5w:Xj6nVrP &I577cݺuDUUUXr FC {Η_~]vu% &_ _֬Yeˏ{ƌ30{l2ڵ ?p֎n X61ߏ3g8K]3 KJ&<ݎO?[nšC$t:<=ztߌF#-[yaΝ3p@E;Iu9EBh5M%1Lx衇;`ԩ=2L/^.~㎈wq,]}mۆG&. 7x>`ܹxc&<3F,Y 1]_բ0hFn0FԸN ?|<=5etG0rHzӎ3gF͞hpv9&g7AJɓ'cW6CYYYLV̟?' IDATiArEF}`dffkB:&M_@~cڹei߼^/|3SLV.Ky^^rrr=tJ%l<ThE]$k!wN:Uy?,m݆UV?͛`ѢE8Cb ЁK˱"Xi4T4ӧOUW]QF)Fŋ1~xzlڴ)9\pA]L((nwh&x:PHzy|>GR?{TJz@4|A+%[k1e6++K.駟^:ooGɓ'駟CJ)~,ewyy9.6ԑC=Z-q+V-wumR#lfN'J%=t:9ñ;/VSFOuBY"T/u;e|WGXj_G}Ֆe˖I\.|333qEE"iy<.H<;;<,?.w{xUU6mU]z.Zg+Ioػw/;t:. 77'OhЀp_66mرcWZZuuQdBnn~@}}}{pK5HJliikkkۗBrrr0nܸn[X_3饦d)--Dz*jn:455ui X|yH;$WVV ;;^x!wy'lW_}>n%$HP> ۘ|?s̙3G-܂?T%3kZ̘1˗/z|ž^˲#fbCj%n~mOt NC* ƵMQ7>}Qv0 .\n8qfҥK>ën k}~Lj;v#c}U,gϞt:vm1oq+d/Jb(NEgPՄxv.ƈaÆ)6BaFJJ 233cjǥi:S$JNN:о{466F|ӦM iEE ,@]]]A/i˻݇yTVV(=W4h?)t,ZA6𪫮)-R@!N~^m[[[=!bxT\܅^(^Œ`YÇ* zTAAN:%](I*C6###6oRqm !x1l0dgg###ۖ* Q7|pL4 FBvvvXIȑ#["5~p=lN?ѫWk_(zto| [\꫻BA I(nU)"9wnR㚡W)T&5S;%JOjFB$mOLm۶Em}9u b X7p "n틾}-wK.A>}PRR ._vZL>rtzE)rVyW(j/g;rȨD5$]>lT뮻G}t{J}Ԉ XCl+y4I\rICKKKeL 7"F_|QSvmC $1)p@r-}g&uHIp0*^a0@AMMMz}gq\! :Æ [Lzc[{)廱,+iQ( GnnnLb!5B0`kHF2r5,2dHmf Op/H6bI|j4;`JYMhBHwe':to#F.Ng'|GruBJ%f/I^5LŮ+R aUj(G-EQ򐿫MzEQ9\T: :b "ŰmDot:#{QeȑHOOMӰX,4h{1L2[/8uYAnj'N`޽aG(w9_~;e%-9bڢZ#,z^O(-^ YNSr{)RI'H/Jr!Eҋvp3[BwްȸqrJ>MK8l,RTK/'N@KK ;q)%(?Be1p@!R܏"?ƌpR(b[[[˲P[@}Ir::^/=5%sT'72!D:zRVJ -")sss;-}'!qXpa7xC Sd,ѠV=)Wtޓ[pRRIn{yoz <镖҂ $Z,RI@i % ϫFt˲C़ͦM"f=ʋ/Ek.}صkW6F M&h">jt XO(!U#nqÍ[t:(0 Y1ޤItQVJz=!IS%A{nRjʊzH:r!u1V;?F48·~2ƏP:I5WDQTD(֙GK5k֤]ve6l^M3"B8rWGԛvoo~G:[HG񕕕=OYV^07‰'~QJQTkT>= ~':RɁ{+Jq-LJ--- [yo6f̘>Hu#.}\z]Kxw:#FLu6ouuzRCzJ kԩSemA=qUJz(ZtQQy„ ӆhf"iBB?|ɺUI!V=T6lXTER q7cÆ -;XkEQĊ+p뭷K/[oK9[o5$iVj)S^(?91YI*֬Y7%=xB[1gZlȑ#geVۍ{2##4Mcĉxz_OZ^GDp=t|Z,^7t֯_sfeeu+NAUU|M"8W_}ukͤ'5EOIzIII] Hwra-鉢(B8!ʊ!TQQyҤI eiOIaN\N %!F$F9۳!Ctn#cmOo/;>9pHŋ>LzFQyj]cFFF g{B(Y# G~Ç__PP0l留!diii/oС'y@/5H,mΝS0{{c_(/wqx≐NEaĉx%;\G!䴓 -Ĭ@jlϜ9S6mxyk4-ramYaHxUf10l&!!yyy;#, +𝩥 WX,x0wܘbá-|y)1qD?DRR.9!t&ƹi=iUFzLj#$E//^xOlo)EHyp?]E1g/j4NE6jp`ppPSҋZPJСCKJ%^{w՝!h1}tzo+9($ RSO:MOȕt M _J-( 4M (酼 !| wBPp<|>l޼K,w܁3f{3<#3J "zA*{SK [TkA0w\I\tiTt&x)֓@'p7~xz.Qeee!OV\/"ŊpPt&tzRHOB(J`=qM7ɺnmm-V^J bvv<ҳZbI...^DӴVvV<1(x+=vfD3eAAj^0{S{{SɅ^˗wq[PǞz)!{3!IR$^;mʔ)exN]ڤ4u#<ȑ#X,AEog}&o~)o555!`pDV!2fZM9tPRpݰZUw#LHzRƆZP܂F^UW]%ڂ `!(%=iQJ<]Hj,&ABb?UOnʟXѧO]1Kʻ8x X&9ZIO^{5MMM{][34MB躺Bz%%%lIIfYQ[?v|СXx1}]|Xf .Zcc#֯_߭m8 ¥WŘŖ# 0pa{XrTTrūҿzr{H>ш(//ÇVWWwJ?EQ40tJJ4#P--- sHyv˗/ ̙gyƍCBB4 rrrp7cʕ]֭ {,(9!&IS/Y1#o  ,]4lr߅[okv%'%pM+ . )qQմiTwvi!hxcYY0^IիWwW*--šCp=ફ´i:%.9>.]Yf1o<455I={$15Iag&ij"ޓU,Vyg=2+|>$fuѭuN/B;P&Έ#h"Ɂ𑜁\" (*))0W_R7I/oe1f8p ǽ?SFIEx<U?԰F+3j%P?>rHF2yĉxG"#Stz*CaҤIk*ɹ(JJJKzeeefPdO,l6モԾtعsgl/'޽{cE*n?~\8l u-)ixW\뮻.oR5&!uG8^( FԩS_) ^ ***“^II `0bNDfۻ *]?TҔp8##+.K7pIil۶-?['9ޓn8mmm'NPoLJz>=*ٲ?eE}P:Fc&MӆWQQA+@B~ԭ`B(^ɧT)**@-_MJpf1.Pխ},j7o^g*b(Ģ3:'u<ֆ_r'lj~~䜖444111M>AgggS)))Jn,Zi@0 <ڵo߾txDZf|㏱dɒ4ʅləx/de( 'OTDرc1hРOja,"P;pp\'i*u 8b @Ipe륵Zmv".A8q"nwhÇ?=ƌ, +IDATcb;vlsM;w*r/))=ɕH 0$=e˖kVvBH^,Oɑ ! g^ve1gAS4z.11d2ùYYYt`:XJ~^8{ƍ; 㷿-\.W7@ 0Te1o޼/5Ԝ0l0mKqQ]y/^޻L4I'5B῅zcJB%96 {Eze(ƎK/s/ F{@k_|U+اt 8PK>7F-+㸘۶mJ+UUUbDu#;U'b!ӒOdWN'>ZeXTHNN.fY6%K8qEBmG/p]|wNQ%GmHHHVN-TWWǜA+nlBV#Y|*aX$] FEEY)))IzHjNzv<2Te7hG 6,89r3d‚ JVAN.4SŽ#nqYb$)'tnQQQsAQTuTl %$k\T8p@B}Q%~Au}q\زR@4էOKAHy;wTyܹGVW8.fڵkf̘rHرcG7p(v~dff˻femٲ3 9].Yiljjo?1}tw}xw%[ d߈ )Ԥ8*ajvW:|0,X ibr'|D{~ /W9-(JǑ$޹QQf9رch9w}톹LEq@mmFWTT\^7w x۪6F%ihhh9@YZ EpXD*/> 9s_T\Hh)_+jU:fuժUύu*"֭[S[?=֭^p!1LnsXi6"Š@*Y_8p@htj^bbb9"Irر3gij>?6l|f=-c銆>L*S]]8%V{뭷b#sNK:wĉ1O۷異(浴P4EQtzn+RRR$)9MdU/+Nt%}{EU3gΌHOm}n7}]<Xh~i!cHy}pQsIĭ4av+--is8r;}tIR@_Qz>lքu8X(¬YxbX,U E jK*%$c_FNN{H;Tԡ駟*U:dX^yU(++d8&NHNNƲe0tXX,4M*++I("EvC = !Þ#"}.C&lff&}p0az-\wu%ؽdE+~)KNNƂ l2Y3mݪbD ǎf]W ˅x b\.EQ%̜9k׮97_ Btt^رc< H&ƍôiԞNGy$bq׿_58'OF-l2˲HJJBrr2RRRw1w\L>ׯƍ#ZM &`޼y慃Cnn.J 6 YYYEh***.8`ڴiz2o<رGAmm-N:&[e6a2`6a6aX:VڪZ*%FOHKKS-h|?oްΞ=gFKK 9455f")) III0` MO:vdJf]ykSSS'()Xpl_ B4 VkLA۱k.8pa EQqpWDg})SDu/Eǎî]sN߿uuuIMZ-2331rH0aB^j8x<\nJ`#^f:ujW]]݇qi/88Wq_^w^iݺu"`ZE޲}'l6qGg*0Ňk?yΝ;|#88pO?oEQl:l%=Vuo9| $ύ#8x<֭[477n1nv{Ν;_,{q p8<[n}5FSWAuTwd"P/w#ƌbrrrI#3B_߰ !&q^3k4 .`yvvu'Oikkt:5Nh4{悴III)I !hnnnkll^($bZaa᥅iii*zCzoPMi%xh)bx749_~|]<\.nnnJ!FsСC.*/b"+Bn:n3bĈ9Vrs^?ظ_y<=USUkw8|ii))++PT^^|V핚:fgg@VMQņ(SYFcZRRRiji}zc*+++?lkka &@ pB[466 C&˲Ń)##cBRRRF9, !y^@ah>{^9 jll>yGH9,b-EQ  G >Nի/LII)>&U8ך!AQEx<8zxCCþ_hQ&`^xQ_jKJJXfj:AA y&|ZR__\[[KUU.k?0E!!(JKtrVV֘ oEXs0|>pĉTUUm8n=&bcCC' &PeeeLII0LnQQc FE; qO y<Ϲ\.n?t::ufPeY֐ѯW^gdd KJJ8;"Bq:tvehzd2= @EpNfۛ\.W%xZA%LL^j ð4MEQ>qt6l#Ni5 to%`(k׮eZZZ  >|vaa-FQB[ssq~\f0a\DDJ B-[0UUUFzӍFc^~~8"!!!7!!!eYMq[w4}\zccY֛ܩHOO=B, Qի1LyF1(hs:l6ۑC<73 C%&&JII韘Xd2Y"I3x^_[[[nkmm_UUU Pzp1 bjR\ !$$F7%%VM',C8BxE\(v)y^imkE+iB<0zv zgee ɹd23 i ;3q/ ONEy;Q%|>!G!EAxFcj&4^vW{T݂ 4M(t:]jFFBјhRX4m@i4-|wAAd2aY6Y'4|^rɃ---(Sxz}+󞺺:!l-M(24mEbB8<ϻ>jYQ4M9K4LӋL&SEQfe<8ks\-.TsssEQE4ME{qq1W^^}KJJ膆-˲zh44T?vDQ$lj4M,A!DMEQj(b1NIyy9ljeeeTII uI655(B fA ,j0(R(ĎEZ(J _Hz0 CQňHBe݄nwt:TVVR^3  ZVGӴV(icW@H@?oE4M#ya^~j<0>^KOOTTTɓQYYI@rr2uI*++wE͋]x8&viw]]j:f&ɧx{#/O"lkqѓNKJJ>11"B"EQ&A xhם!vA.wHꔁ#8qZL[tˣ[ZZbqq1ihh}|qn;IENDB`art/austin-tui.png0000664000175000017500000044777113661542344014620 0ustar gabrielegabrielePNG  IHDRAbKGD pHYs  tIME 0ge IDATxwtEƟٽ7PBRUz("Q)E"TA4^!N;Bݝ!`疽;wξ;3BP( BP( BP( BP( BP<yICP( B/ 3pWP( BP(qP( BP(Brxx BP( "mՈ(1P( BPd"<ɿ?C eH{WbPye6ݪ#u򅇨F #ג< BP( egȗ/[ӊBP( B%BAfHxZiFH:CBP( i~'@$dX d՜=9% BP(ea9猜˔@ȨN2( Rzh BP( , R2tg4ў!Q& R % BP(qڈ@rQ@}N) LNHΈ8zGjȸۑBP( B F 'ID7$ ၌i'7iI_3*(P( BPׄBJ C${E):'P F?MC$TBJBAP( BxYAJɅLA$-Mr>SevԄAJIF@P( BPAFAפL5S'=cR1H`HHBP( . R)<ddM:F*%{M"WP( Bx A҃$yS% iΥ6b4)eD VLx)BP(z[tĀ'4aS /Eiet 9$#phFaP( BxAjIG xפrj )MJnȁDh #;*+ BP(/8HisF x yzrwɶMi+:BP( B:~ !5m/TKm"A1i BP( lZh`!A;,nE4a% ߞXP( BPdH*"!Q9 o6癉.eIEB9J8( BP(^vSAJ˝R<>ZעǠϠhҚwT$dDJQ6fVYBraJ|yʽfjXX^8\o^GQ/lرcYYTKP( X.ؿ))i4 a@Q7uJSg#*v{=rL6c@?f%ڦ-,J@Q3sܮ[B9 τKrƍ|Æo;Bʥw/7L69ꗥ|СiEρEB sHqlXGJriJ9D`3 oC8ըK3V|(\T3/S{G6{R"޳1?M:v2>_v֬G+Tl aPTw1ox'Bqthܸa?tKS)YӧP( B"!#SLfO"ަh)Mxau{w☼D_-9.ӚOc~mҹ#3KDB Sf{uzaAbAdt6?[BP(eL-3hH*pވp$ľ0j}y^_ @HMҢ;[{|a:}']YU^C$3 CNi䘲z@^BpN*A({9$ f|Fʤ=D[=MwO܏a å17%]=#O_B„G;mB_\L$qG\+ . 琒>XNA ԢӧP( B-c#eiA:JlXBjԫ?,Okp `Qc']SvQ@gh]YPY0 "WI]™V{b&"aU4jז+UxFzsQR>n̂Ҕn2YҶ5ȀH8W ~PV/c!`Qkʼ6uaRrjqyd'ZT=qd28vprqx8YըZv8iA˞)y';%L:$2dFc|G@7<4SǒteT?싒&khܾ+JC1ҧP( Bh $!dDz+imgZժQ\[.ZsزΓ_:W,M.+RAʰ+m0l9s7+ߝ~9+?m(;U3 YQLr[$ֱݲIsu dd)[I ~ği8^-:a% 9OP( ˉ gӳԐOs %z5Q[O0 ʟv߃̣k\BU~ +rH܋UVBP( Si$>;{]fC&~f܊2jgz"D9 0#BGBP(L!%Sdc?Y݊3DHP( BP{x,73ᇥP( BPsßUQBP( e"jgjE "BPjq[JCcNlc' ݨj Bwā"bi# O?{WڗO0~x`5e`4p=:^^5ɺCP|/l;#Nu s{Hmi+&>}\P n^1A5l YlZ}ߟSC{ضᕙ%1Fw ϔ[}֦QTt$}6*lao=g¯ nѸ +bYKzZBz^;kiUWBăZB ؿ3ѧ4gЯiN'$qTqCko/Z*BEGwG_|;~'Aᮋ}+`Լ=KG4fDLٽE[c oq%KAX؊&Ut߃/XHLHH邿i> iӇFO8{~*uL*8+K{>7?z:%^Q~j B\QtЙӗB>% <'O]GN訆t<8`Cs!{-)G #9@r7uK߳dC#Y!gl. tZHm7w8_lD:VDqa6>:?;\gSzV3&Zӗ@ثLލoMFk<(i c5rM!y~2v4fh>vIp@){_,?ڐ۝Ud+֑{&9c&~d̸ՊVcS3bBR0M:'F!i2!E0vOYwFjȴAUC:u"Wڤ3f?n4"Œ3 oC8ըK߰"ꀃ`j훮}Y},>C3yE06b[VKāg8&1b+;ϣm:եHn b!3Eh0&%jGI|y]$"!=C'µ6\D|V/W`"7o0=(qAYK1/#2xd f:? Ac`A. F8XWL~ 8@&110TH쐿w-<'R .&#w. \b;IQvҠm$t)l!{wCaέ&Vʨx4laEkoF|ҕ^5JOHvD6ڼFKW(JI%ʹW wWDlX"lZ~ BP(q&-J! RRB#$H @s)Z=fwǕCг8 -FCb@y!]qY;"y^Sv&qlת}CB߷B숨Sr4L0oNmnzI4P:\*kpmt+t R';4g&aQ'Vcv-+5NSte:kV זpZ$ ޥ}N}ܳ5C>.yEFnփ]T{ 'sQ*C?+Ε_I۪}UF=ʓFyqyYĉ²uS'J9#5YIkgs칙b7$rçc;3`qZ@Ru^B'WPvtL9_i=rvmMQ%2_~ BP]tm/{WWp!_0,.^^z^=r,FuOZ/m2I_<9vQsDi'oLz /HDX4$`'Gw_FgG"6b@ȗҞrS( A2&I-ɡ$$]WKlJ%|{EJ.f^sQ1ʝ@\mD揁IZJ9ŊDQs9駵.g;SPs׸gUG!ACl-!BP(^' w2iܛ!K +P~ BP<#9WHkO<rx*2bʿ4NQ>#'YF_snVV3Z4.YE+t'jpBA#M,#`@6q\I{B?@qL S%95e`4p=:^^5Hű1l HN_ׯӽfoo婀ʥVJ#aS'T:K=mֶ50hn3{jJ#@;G_> w!S֎zNnګ*[?30VSGi IJȨwj[2f_+F]e0ڛj[{wk)+PZ=s־=KO`b^1>Ca%81TR_]۴M->vޏvX;m>7f6cBxDLqdG/P\2e9ꘛKt}MŨ(l #U3UAYn^3LpB`Q^7:|\->Qiڥl5 6//qZvZ !ne^#k\n3a̧Q@H|,o!4e'yQ6ls̫J3 \Se;fU=~ʦ|yK|nijԞ$^'aM6^Sj5=Ɯ4,Fvb/60=F6QQ~Bۙƣ{hv063PDz6K9wBbJ"7ozW/βgG/7}P(^8rv { ; ;vEH/R\2qC̈́4hϛ66C@J̀8M GŠxAX4kDF=K ,Fr[ݙtB?xQ}yڎ||pL?G_?>47LuH9o]0Hk j_#^SI8/Eh\8IeX˅^R%o lأy^?,CAPbY<XhXxԔε*ִ.EXKw1XLcҨ VN3m:4CǬop#Wnɽ7v/YM9 J?ݥ؞uH(`K1d۔f̩Dz1xs\6RAtg8H"&&1luYt݅0zq9ή!^b^P9"{Rq:y#Q&$'8@[H\ !IrBnWABΟztcG3x[IBA"$"B p-ĞQ!2XD.};6|I"{CX@PP+i+Y \.o,q|{JuU^>O.i:WOWql[ Xv}7F>,GUF}? qF _ה !+uL=;|hN4u:(wd0Xﺱ`ܹ|ܲjڴ WK[IW$J(v@GN訆t<2vXE$WRnO@ %j^WBQmC+i ܟ-LVCBm&[\I+P xj^ѠZuZ&ٷd)uq2-ߦ>z4VDq=lCljàTLPBt;9$9j@"tF!d|$jUynYrp ݊ٿ6u) %=!>x ;^o%x,R8,Q$c+uk=^gb_}"D K6 7CW*DM\-6}/z7f5H WCvXbXmupFdX/JUɛ4xEs[޷{K7`m 1[|yvȴ؍ߧu7(,ι88؃DV^d!oBG%J]k3k'~ ܔa'}ܾz!`qHoC||,ll>o=w7tytROBB]mXG]i@ĥ""$Gb]"d|ኰ=Xx-4c7?=P(^Lrb h(P⟅ iJ(}YJdq\(F͒G |m~k!2?mЉۛӎ URPnͧd-507ܖ. @0mp);I/L:Ԓw ;>VkVjw+#Jpyk>m iC& h1XlsbPgߕ BQtߘ:6cHZ6ˉ|^|; A %+o. zpD9:8~P$7Լ,ǹbz[gvz"$`q(06HlQ2$$ Au$oؙ-L.4QSk|sڭL,9l?o p;x8 U(Jd:8WbME%(@R.1.Y } 9l7Q2OW@?{"d 6&.k]Kw}]B9ܨg][ڭه,)CwOZHE~DTp )V. de$@\fV6ul}!Kwk{~z^yٲ7;5/壴w>J!S,t_4_}םG?UF rWœYP t/.}a7]OG i_pU#p*߁|l6ACRp {`ç}+Ә4**ȩŌe2 "=$!"LR F丝w%${3to]z݃'珎K{] "i4.$2Q,B/ )=N׉uCZǙ% >I9}ejyD~Lm]\`|9.m~Ʈ|=R&ci*#3&y53듪"#o>axI[cd@ՠhd' `;]]Mh^YR >-hfi1fCn:m:wHɣT tTPbn$ 9cuQBo$i:g3%$n^XZuߪL&)WDnBPIݱAxO!DB$>~~()=ES3՛H?5RxMl|FfƷGL +^ko?RĊ|HP٤@ck2wA"66&?+Dwȗk:(b)|˅Hzl8&{ nFexh['V%#b' WrR }-ɘ|BӔzt(k5 4E?WD%դs|6.gj]3S֝ 2mPȴ؍ߧu7(t\EX_ D_߱ i8@گPG"u7\m^;]Xagn%.EQX( NY 6ycX1j|ix9 iBxND22?U],8rSğKq5zϹs[^J}8wMF0 2.}[u2pEDCrZOqMd:{Pj4Xڋl7$C;Df" '{/AJ JbY.d9x<6hh.jTzݨX@nfqO<"-۽j ǁ2&q輸>~8BmiP(^X2>^&~{V{V kŢ` Ys-}Cd$LxIaHf@FQ;<6YJ XWww5j.ny+>`ymhlՈ!>9pWno;eMdhh9oҀ:Y6'},bciȖA=٫oo]AbeD\.oMҘ8"ɱ(^x =)qYh>ﶥU_4:i좣{uG1 -\sI lI*>9DGc0Œ֞ZNR gZ;-9C,9$mϖ|[>`ԺZ:I5i,?{9VѬR7z>ڠ8+8 9s2C͚+q %0fr98nmQ-uWqkC&3A.6$@ 4hרLL,C_ 4hРACFD_b W[MOL4+hРA :w5d6A 4hРAړhP1x$ހqPro^A 4h?#. ' B0%8,} O|KX3)4..=x3+FnObe}Ne`ìԩzLq ?k53н@Vӧ3zElc?Q7E|,ScʆdZ hkúK^$ƀ_BnOa^ S<ބX+:k0WO3z:wvyV\&$`O(VA 4hg{H;a֬AYwm5fcy_LE~n%J*N"P(1ކa6:}^Dwob|+b;yB`s2?8~g`f:tͳD8߮¯nU[ ^U0m)|;#wy^~mfHbۚ &pJ{ K:c˼q _x^e? 8A;gz;؁0jxij_`.4hРA*~C{'{acf/cF^B3. ;)vg(7Q+kLVp=VC Ep_mI>=q2Y>[^1#1CdGS?t=@dexjʥ?Ͻ19.nڪrp~]іٯ;l ̈P $g!˼bby7'a(PC+ ?as\0\{E'<(] 4hx &Fv6thѺD"b/sw1q:,;_P#غŶ#/OA=w7Pqq 5\#g %&Nl vjdz`H08uMő#`G~şQ>9h>Z :߱o' IC)ߋn u`ȹ&mAo4hРAC-[咷r DF+)_0A#$G %"ٔYᖂ000V[YYUШ"ص&NMƛ#\yIv]bľg\3"m9 m Cثi]I.Clx-M.@`kg 0k+kРA ZrPx ۃ!:`Bܹ|Hptwo\nf~4l=PfVש/j ?(: G  |icK r\{!t;ڃdfk(.hkc0!m$puwU2p-0 j&PnTEڴNISXalIQ{5@ަ4+{և7vk(YȰbgNgǡ(zKbC. XDGS/ "H4õxy($BpvZ !m9~6]^Ytz϶SbUt oCWl+3UDZpZD-]՞kРA Jؔ9lضltL ( 4hРA*>>.qc @.s2/YQphQԅZK 4hРA MV2 4hРA 4u b,=by5§2sX]iըRkZM+ {Iq.BcmTA֞ /9IJneωkTspp(Nd5lmD{M$ Utu@T# m/oɯ1YbF=<9Vn 2#qOʎsf?K_WSxK7iޱz"cǵ'BپJҡi^Ie~Ԩ|yƤḷBGYr~eQ%Fe˫)?g=3-ĵ!lϑKJa X23,NJT{*Qu/ܘ=FYtWqe6Ń"Лnam>!sVjQdlG~ek?SK _h@rcHwouoN]<6Ci_WsETf$C~U/_j~ROʙg_΃~jo7ګ<(+ gY')KPwطD[ z.>箵(O6hltļ !Րk 癋?ɿl [+wW4Dq O.>fODrvQ~vR]/n5*A\O1(Z~uj jduO0*f -q%QY9*x Ez0ppE*~ı.ДkP{ A F3vEO9T3V5Pi&hӫb6*qEkM~2Ȁ.l7RSP΋~%q۟߁6t$Q?rD mM 8}8ul㚉W#{מ1^ bW 8k" $#'؈Pxӆɓü\3|Owf;ʒoPY^ivj>7q1%(}H`GnLEM9 @ayE2=$_vcMD:ү ݚ; 'XssعtVhGs,͉۫{qp%Elu%ˣ^a9#gs TiͦvvD mR@Zs8E+vlk,z7 ;c2v=IEyWcCӦp%ïmWw┝̊1e٬PKɼމ8 aQFGfVU^ b3fH uU81slm.N>ͥ,*)Mzdm -T_ۻjT%ge/!dlTs^'Y:4<R^|_K}Y40fdFXr˝FDUMH7Vpj=dgG$"v(F>ׅ'*J~'kܭ?[[d#7?3P%և[/ B󒶨RP_KnrP ܋ ryUPDՉq5$ZLu5s#asBmG-XcF5а5]Ҕ^ȥ|{I!0\G"]b_VL I.`m#Uڸ^yBRb#أ,X:GkY{B\ϋA5;VkwSY粝u$P6h0kV{#$hV8V*Է~tկ _bB;O(:~V}'u898zHڂF <*+s2u%D\A{r-P]}G" 㖯ۻPmGwp1tv^V x].[L&WwCP;W[Pivr6m8^]ݩ?$ ?Al(3%-hTW rrt5=?>i['_7uR( W. ړn:P Ч)+dsGfElёBG+;]y@D@m`oiܔjZ:86@^t9g2ܔ\i֍w$ T(HJbTR:w+p=g!>{iO%aęw{8z!\t6kvQRy7c\@@snnasI%6.>M"Р#JmlѴ}sKʳ,W.eg*^ź4ڒO:#'~CMVڴr2K׎tmBѢMSjS̺wr]휚-Յ02mғu%vpBFN'wTѡ2WܷV̘6lB 2yYK 4hw rУJSg{HʱK7#R9W[P8?bO'*ݭ;t\FxR\,R 8ޮTv>&}G 3fYaPL<#(?~A?ClO =(Hg\W %͈9ĒF(QXPzg*q$b?K<"$V)(YfC:Iz!Q'*UQ@kx><: 9't\:W_ROsK툪萖d~V}'o..mx  HP'w IDAT%?ӒiC,sHt%Ma e+O,̠h麆V4`"J¾$:%c#nBUʡ'Q-zs/5G&m%FUNa2u'#{Sr>XA*ϲ~^GCyUU쯋C (5U֡*VOy7~&yUa@k$hC|I{ =Ij$vwztvdzD;n[|\8XrJ3g&hoMpu71~Tp32sTH2X{3sPÉ;v3y ³mu/ܷMكT~̡zx<:%!ⲑUN_u*.j>quܣG)!EK 4<5h𰂣0;d@N`0Rdr&J ErٶJ8QN!*Ǎ'[PY[#8Aof55hВ @˜V+&`9Q|*ȵ z35X~i!o+qz;4j&РA 4hРACNH zxLf6K4aO5~Ϯ! z w]HȊ)79l=[`yc$mLk.&]#lnд2l;L"/4Aes48X:TVAs>޶AqB/At4hВ;|)T#ux<#9]戉J; ־%ƘO6 K&7`co׳unC;58g˟}bVCI:ioo>*_^Ԁ7 9 ~QE?ϊAgGHʻ$qt|{ fFjɕHYq(x I罱U1X~D o}\J-9yb},6u2}鏁-ɊCA ܢtȼ}}*R?+MVTA\`Pctx]5"/^LٙPag)Y9ʾq 8)Y:!F/J%èGHw$i'WVDGmH";_ (+3APHA ` y,S 5~c!gt-~0J"-~̷C  !G LW.%MF㍡GMېG6@~f_b #KN6/{ 'ON>->hѯ}zl1`xf9T.(>oI?5TW[av? -@-9yFIF"O2ꙷpnԀef.#6ߚoa ;®"xFcp/hrg[SRvRzlH\ʕS!Y>{d&\ V-+X@Se O%Xm`A}f{=g$gszq[GFa/m}N.W5<6qԏxjv!araOˮn.,z]Jc:_#k^ PF, y*R@h|]H)8jyy >}`S{7kM|y5ƍ![|^rKŞT8?]IDdV_sӞ)_ʱ=e +>l:7sƖkn71yĔr|G' &=a۫ḷlz}8G8}M {=/ ?b v籣 S:wbe_> 9?ެU^wUSCuu( c ݊6ՠAKjEE![[KÎw'ORI.}g;rQw,'bLwߝm hp5JG sb3z[7#BsL՛ƮEԡLa-\eJO7Y<#6zdFolED 8*v=zV!]%v_s0MĆh^l/]xQvymM]E1~iQWxD @N|;o 3m@3ײq~Wuc0v.~>Įz;w"8]?mg9ȚtnnF&^?FF]|tSYPZ;Li!`qxi ;uZ^ٙcKVLg67EQ_*^T8ry_!EG6Ԟ JLܜ¼F~HZ!jE_B&m ۔Ty'4h b G'J+gsX3g 4m]V b㸡[T^*C/gk󵫸wb`_pXtЬMX5AB $iRd^M ܺM! hPqlP:m~yAL6O~GTv\Kf.qw^EBcU3o?s>vy7R;#?/b;\^īkb.0e8:;Z_&6̰^HpD[ >ޥzϧ20ں tWk+ bOw`^$OYZL|axN2wQw/1V:y'ׇ7q/D,dM072rn̚.6.i}+ W*g: s#N!nSš{,*(:s"Y\RbNso<đ87GfNFm(|7yNI\1퉾Bpf-Lfع:CMih~(yj\Gjha֖1pIZO8t3":Wu("2zvX2מp8Yni9:@LP c>6ڟ9ɓk 1WXj{ +yDxșҥ7F$_m!ME[`OǛbY*u'WͧI ~>ͣӓ:&Ln5m뮦_`۹i [4hAM'a(ES~yIt*xFA;{bк6&3V_Uk#hGzzO=J<-"(*z-\K/:K8y ޷=7}:~N|i#YMc= ?9CUMr,ŽS?gV}k_u;Kz`@sBҶ~bҚ fu}ݹAI 0#Q_\_"F!-N}SIgwQSOKŏ{sd*hN}z,$픖?ߐ^>zTB%# 鏷6錉cl螭GSݡҮ%SE71xvQJ:'~G"B%mY2kp1x'G-yYړH6:BS ҠۍG1 mHVN)nĘ OdE7/ m2~Lڷ\"-b_W$ Sr]Դ~׳:[ 1BA聊iРրT3-92@Wrؔ9l[aN-5: 6)]P @Pr'J!p;zV.vߖ ._|$K3p~SWtɛkyryw>j m_#ӾcsWmO%}WDǾ_+:\Pd=h5CuRmtn0gNa9pTӘ<6<{P[Y]wztv{{lj>vq %0fr9xOT[,jMLCYwwDD\1==GP-uoޓZl gh ZrA*سpiKnƼ,0BV#]%=h]s' s4q.n,?h:`snAk4hɁ ֐4wiFM|z*'{<:0=4)P4hРA 4hAYiDI!̦u,u==Ư~4dA/n^ Y1E5gu"49o۠Wv[߮}7]hZA& Բ9 ?-:uLZlczGtI )B[϶_ӈ*Wyy 9o 4hACO>*F!}l;@*wNoЃ+ 7012ez8%KZ9o@z~5cdCRڷ!^fa5>@:HXQ{\|A1:*T͓BG3RΓ1ҙeH黱~`co[Ʊg5"5!݆vkql&˗?'Ĭt|Gu@'fM j~ySZI].yVT :;bGV]%W03R>hODC[H:]wð%J0_xSV4hAcϦ;f1ϯO7/΁#J EzH.絉鏁-ɊCA ܢ 9?Ǿa9̟؈R!txw^枽z=R~{#?ro F=R3W҆?q>Ws(;RpG H=a|t ingǍd $z/W? kE;~ zngOV8;usv;CJlI Ś~\|W|v@-99,3!kDstPMʭ]P|g΄B;78K%u߽ם@Rs&.6C~?˔}/g|HKR>ф4G!zIz{Gx["+(ң&L ?⌮FIa[ŏuh6c!t"r)B堤h|1ToI?5TW[av? -@-9yFIF"O2ꙷpnԀVKvK7sW:8p1lykO{;EȚ`٢ρ4y )[vF8vY4@-JN))GV)ge={6W.\mW,=Xk9D@yfۛQx2yUG5ry|B{Z-ΈHwϲǙes 〷o/zü_P\x'8 5jylKU'tBثÞ6/#]/0\XR|ϣtFּXtAT 1,S,plj|Z72n֚&',CkACb4䖸=p~\Ȭx=Sc{ =&xW6ؿ}tvo-*o lc) H鏔O *(L0{zöW٘G';ٞpZ0q.*%/x`@p{^*O~cG?tܩ0G2WA5VAk}AsGY/~m-駆PƘ<ֻiiϡA-9Nvy?|l@9(;sN Vxwԛ+w:ΑO:<>[E͏ @YX Z, -cڬ4v/,wgmA|3%3fGc+"RxvYl=Tѳr(IFnbD,ĝpDd캘Nj`S̻mkB(2Ojɨ IDAT|\s$VOrN7ySh3 w7s!vEЃ^ߡUYfyi;=D֤ss#72j12㦛r Vr*U:3Mꦅ샵Y-|; jyegoo0 əoLYWT :?p.byuXRۮ0UYL9?y:>ix<.*D 0d3mIkMܿOiݗ ]]뮪[OVS0#ȅPm9͓,u4䀛07{ >ޢd:EVXPeld_`wb[{݉3fу&4i+>$ va ooB͗z-,TUaO'~u-X8h+,4[~NȻS~8/^bQϳ3xNr^ +xIREARV 8P1~@y@R{*X |+UO2־2U~ss !]kJwK,]]c acHq&_oSRCG'g-+9c?@1` }'/t1 W[(HK0Vʖ+]Ve(f󵫸wb`_pOdbC:k<˃$IӤ>ɼ+j ,s p6<3AIΑP'Ք:9./51ő0JT99(T9 Пy%$[ք1S6t]ԴU֯:HN.iР%5%q7LD"#S8r2C̛/ Zyi4>: ~\tƥ3oŷ]h:1Q/YWɢ2r<=(4Ǎ e #397Oh8O?/\5`clGбBN6{~)197 kH#3u6H>v8A2<49rtWxCH{:SXֽ~]wpvoyqhGΩVF>61q ݳ(}|j#5_;Tڵd&8N"ՠR^I#D|<-'z$"Tڹ_6% w̑+hxiے=d#45{+ (QZy? 4hwaU[7i*6{.jDhbLb-jb4|$JT@P)h(QAvw!{To? {Ϝ;3sTb!Fj5Fx4:knTy*wVg.{alW&G֮+t.xZ(}holx2y^·N^u=<I4BwJ’ʷŮ5{0~a)h9?kNH_RؿK˺ WvHؓ<2B*Iv*a}dRkŕgU0hV0lrLJ@`[2o > NAB /KBΝw1O/_87($B yJ*}57~} ^liގ z#!@ۺW[3qYܿ,x y}zٓR`._eݗH: J.*L ɷB3񍱲~@j`ЫQ>x8ąNg:(+ Ӟ= 4HͨZIAn7ɸFV`ΧAj*Tm*wH(;dd0``f])RPA1<("iU8֬_ `qy;[sf!7<%xCia9h_y%Qb+,o]b8vn-ƲZy`++.\S_Eݥ 7).ǧ׺h> =4kJuP>?ka{K lr Hjbyy/Z<+4m BOx*"ӻ{|%܀z`h10Rt³aXiet U+C NU;CW+gGL/#wz &+Z}R#鶋e<&y>Y(PP]TKUxש2wm:qJl:H UKYq;Bཱི_cO~;ˀ=;+l9[CDTꊊiЊd7GGe^NsnSGL*X?q8ܡO nc&??Ԭ*uzj"}2M#ꉝ}!+әj7mvBvn0R#4Ajh68Ŋ4䙑18?OEg&ˎЧy@z`3Qߊ1.nŘ+nSr/!\ wV_2 `k|f]mA@>~M@Xۂuf"KT#!@1?z{ s/9ٳp 2[}q %]}A϶?zo]uX-;rʖ'}y(Ѧ_a1Q#oaYJrmb\>C_D+wߡ2eg&c4Fiүh‘wIq/Xj_ #t=ݷmu8l+qLV0e?wK=q~cY_'S'Jw! I#r; \raD!?֗x2ȂGXQtG`!^Z*++d,ik?FGAGâ@?ba_'߭SғK“rdo4gp2{!WCl)kOb١(3D  ˼ޢϗ7kp4YE: wB݂.H1lOH<}GT!sҒo_$#N%]}6M[&^Ý;;H{Kݼr+W&ß,W='+V0k\^ۥXGAN;,nI:"%s*SQVU[ p ]ݣ#2VUN#9*'g]4όuuX48xJ)4>8y:0J5ބ̡^8I+Lb( t;N-?@,}-1Y^aLi+].y<kKzBѷdeAga_P]:l#߬+f0 % jր'ɬ13ML5ƥ1M-gsxl)hX;Ĵ.íNO_J&T -6nZ/h(Mz̒l뤀jGILQVU]VF=k% ҳ T *w<}vGi;VŒ~1m >H:j0⵴@vX* 'sl}Uо_;QPO7N0{}^^vH.7 ow=ATs*$[6Q7]1u8jS4~eEGOᗧ2|((~OOfO_4DM^-{O?ʴr.`hl"lm"5R|_ /+7O^qqWؑ=ISTkeC{ 4gP" T@Jn1Z{'0@ hid`cdӠ<5r~ 񁃛Mo4>&{6IX,S̀wZ%5<{ IIɐi?S.H0c.f T*^GRZ5еRkׯ 1*sg| ۰=;1,αjor4d(np=VJkIfl@4d&y:"ę12e彰Ę ``8 Y{b |hk]ln#zcWYKRjQS`Ë!v1gn0ahl?ХEcK% xaT|ǵEvan$b(Mԙ۟G(4}Y8û;ać,E[ݼ񧹞 ۺ1,6GY:P@A5I5;Q?S{rVӟo΀ȕU}a#]`M?y߷xo=[y!D"u ,^j(lv {+!f7 OcI?lklü\Td$ɇoƽ ۂU zxj6GnI2}6N#ؾt?d]v? 7 #n凲mz`8{71.A[69zNȅkOxߍ9tƬGsI G9w qeII{2l%/'| iZdk T'2uϣEHy!g3,vM*%܀h5ͿB#s_?!2*gEvcz6Ĩڏlo\z=e3[o}]q_*K_Xb.N~F|Y)E[ݼԛ~6 ߛd h*g\;.vq.TA˰QcZ_T{M[A+ s޾i Qݨ,˖ܣˤҤ<i4n:˒#1y*|H ,#Kj:z1yG?:Jd뗜D〱JJAUp|r-R NW1k\u{nկ}.;}_pQQbo+*(] gNi* ,H8Z׆d )5/SS.KM(*2[T_ĦĥSvvq9sQWH +s(0y7&f <[Ӭt6]ʢzHz<*xЋ;x|(PP `pfp)3@}j8i,KZ %6cܒ\/ u.k-c;i1$\emf3BFzPŊ (P #ꆼHV+SV 3_R.64QIg`ٰ32~ b/_K˺ Wv(I b<SV<2B*Iv*a"nRkCKBZ1v_fæ/7J =jt- (- 7[O E" IDAT UC:rY^cUI?b\"IľmSݦG Y@cmnlpg0h}+w5h 2Fȴ|•K4z \8k;Vc@`l A+.; :wO%<~@+E?C0pU?{JzI^ hPsYc u4oGR m-s.) G/˂gِ'jkƃ[O!K,I)0AȊxI8Tg]: J.*L ɷB3񍱲~@ʙw^ñ4%.E=vb=AXGYQHAjFOJusN00s> R3j_ e?̬K"ET*hR<߃e 6Pu;x>M Кk! 2.og}\5YԡDڿU: p[ܭ<0 }hLj G6p 9ÅE] $51 shz|\z$ij=vs=p>pn@=R[ #.>Vq,TU@eJYQ/Aa?EF]C|Mle"coʅ/(ZiAPsE.*20.|^Ơ ,'W^] v)Q_Eݥ 7)b^N,t4),G2^" ;AB+QZbƠ~a|T)~@[?>Ŭ8pgK)ՆaM7V ⢮\F6,:uX u |۹l|.^OޗvAcYOJw$vy2A_IԼOd (%g*h}_u[C6aph w;b=# GIߧQffb!+әj7mvBvn0L&4Ajh68ŊBnY#2vrdKO=M%~~m/!\ wV_2 OOPkl][61bm ֙,QtLl)̽Hgzg:=Iv5\>&ّMLNXwu #[Wbsλe26y=y(WX}cȘ ൃ:pЗw(14 @|xMdZ+9p]R\>ZW3]F)x~@-7["J+_ُir*$dmTCRic>cw҈V~zuD (e)MI?]\Q3(s v2y´I# ^|5d8B`? ztõ~r>A[[H}'T-+⁁gIp|$K$B~/eb w7mf{wo? -u.˭\ З_Z0K lQE1k\^ۥXG[0A B-wX4ݒ[uDJT@lCGGdXxޑ-LDžl.n٠2C` ծ,8H|GreiUN0ldMh[RDhq>R"ihfel0Cc)|V_,0$l0v]#Ep?^gVd @W(AG'PK~_o~zG A $B fC)"&f>ե =>^G'iH,jp9 }x lj,1<@|Q]d=IO ( tV5s$'DtYaIG.y>AS¾t G\Y#W `y(^*J >_ʖ4E`he9H<~d4cbyV'/% *iUo=6nZ/h(Mz̒l뤀jGILQVU]VF=kv ҳ T *w<}vGi;VŒ~1 >H:j0⵴@vX* 'sl}Uо_;QP_Vd-ؚYP&FL.r_Wtk:fCj; dTز1lgb}銩Qa#vP 0He ҞC {{TwT"( V=M蘡^]vm {/ Әi#'ȾyTH]tEOᗧQ3|((~/D\ FaF6-eZۦvweeQk4. ;'4i& E۲^n=v`o3\Jr!%] S-dƽ[QVU]IK4q42 iMF^gBckM&DsNBS=T,BnSfq4%ٓdHJJ,O tGjIwI7U``U:Ъ+C?f94 u}& Kz#Ks2Cբ/z߳62-E@juC]]0jlx1֑ 0q<! lm!è(&ke,ZØHPD$GnᩮP +anq.q;v!n!h1b` RnD><|ʚs2wאemK;/NCsixD`v DJꘙ)YbmlB%ƌL6Ŏh325y0w2@1FIu荍o\e.y}B,M@n=z#FR.r*hJx(0L6-J: Etw@V6N'c;i1$\emf3BFzPŊ (Ɂ R.6DMs^z $ 3@ > %eΈ˔@Ր(PVL@ (P@j hAm(gc3OnPlU+U4~B#kע=,sZa!>Ǒ7^G^C ڒarkk]K=:V/O\҉H @p^h . ~ͱ *[:O LTV1tCO,qMׯ,/Eg6Ś:Sׯйkan#>x\; adڕi˫ާI7_id]v+L;Dg:mku{M^- [LA[~9\fYsBz)&}^zMoƖYO1~) +YNssY޶v~:*tS_ޫC?Haӗ`uPc590dl}:x>OXB&B$W R$:W yDHHeyyU%mkpu~'MLuG:Wt&nx Ғh!̠)LN^ ,1X6QZg76u3vv B޾q+ާQ7&el˹!:W0*&z&A͍o\f%ҼAFBKuW?+,$O_d,w=i<䁛#t"y衟X:ڃz+L ɷB3񍱲~Z&ؼ+j)qa,ٽ:ʊg@ R3~Rrt2.i%U[?a|+W'jU⣥x fPv3.`\h̺-RD .ߧ][ #.>Vq, <)) p[ܭ# }hLj G6p 9ÅE] $51 shz|\z$ij\8n.=ۺ'Y GЫ鮂w/WVz! `.22r[nb+vaoʅ/(ZAPsE.*20.|Nà ,'W^] v)_EݥSi^YOyCZwb\gqM]d9'/zZ'嫧a9h_y%QRu / =^Atw_1@tUA _O}yh -fƁ?\N_7/m̊U&y>YTqD|43yuj! Ɲ`Nܡ}BүhFp܎P.x,aWHjHI`גℕg˽iЊd7GG/Ȁ=;+l9[CDTꊊƺ}Zu,T])H 7aٱ4;Vreł2OΡm;5> Y <' |!1;]L{~׍P_>/p3fGh^(g0a9p Hxxقŧ蛏[`3+kޗ/L/PU~PW7'(}6.-ށD.)<c52~(P$ bb\>C_D+wߡ2eg&c4Fiүh‘wIq/Xj~= aY󖰕+_ُi}JJFz6oOlq)eWbߨ.pV+I?1ˆ}9L~N KOc:ˊ͘}Lg,֫ &xu$J@)OIJ{th9]7޿w3G8 Λ{7ހ>ר}& ˼ޢϗ7kpKO_wXKK  \:Cǎ4p~KNC褯gEAOf4?LJA25 ѭ/n}| |9& <ɵ`Ns̹K  rE-ɾUGdNy\`:ʪ t@!;9ov={tDJMp$L;{a5PI<zHΡГ-LDžl.n٠REt` ׏ {NvϗJeFfel0Cc)|V_,\ Ʈa|dy,g*C0@ꎠm H{̊N(3!L3C`ZCU]:r00?8O}D `aeV ˑWS8gS3d8y 勌R: s9N:~J%/ 4w-/`kY宧xs?v`tw+$;@*}|ڃ~PW{ zե9̿bh{96jMm.+[%٠I)D)@:B{*ndgVLEt a訑ȏc aOCb(m zSϢ^sUWܠÖg;cMWL.ڔ- eX.Yiel ff`kfjXB%&2}!^)KSvӓSI_ykHMT i:԰G)G@ئ}G.d8zϿ%i*|E  "k^{pВ Әi!#'ȾxyTHO.y/.OhSWgcS0򡠜ͺW~ȤL\5t4D3[[c LwYѐH%ƌL6Q~ΓY.oBh߫?vs',)jlLM@juC]]0jlx1ݖ՝è(&ke,ZØHPD$GnᩮP +anq =ynb; ==h~P#p3Y Cc.x8ö.yr Q?RP N)wOԞۅ\YZ׮CtI5tilUkO2p[gg'TSe'V#Ga[[179fs ]}դrw;r$/@. ~}'xˆ*_VH0cI?KaA-qC.ȳ@:\FKO]i ;YҋmGڊu3k{ ] ^Ak?ſ sAyl޿)lw_%A=#?R Nd9IF&@J<+QHPI~wX:{n? 7 #n凲׽ goc6%61h 3G/ғ µAќ|zc֣9t2E֢OąewN84=h'֓rTLj5F׆{SLS=e .2(v6jxB#-J@?pf`i9~&f3ѡ"Y<1_:~җ{uUǀ8FM'xR|YfĘm[ޛʪ'{9*..; mQQbo+*(] j} ,Hla ^N.ę77>ݛP_#v=yuyCP_ĦĥSvvq9sq+eRy!TZ=l]IkW{d|ٴO4D8]Mh|* S*21P(P 8|nJoP):=k#،A;DsKrU# VpNy-w=zt#E42@i @oUIQsm˛7d(nXEw[A9age Ҕ@ (P@89@Pxg ظ%xNwN/:Ww*<H]eR%9(OGj;$~HZ%+EPF%$m߬{- OwÚ}q?A(kPy~8xto)4? na_Np3{+~~Q, G_?.WSmPG(¶ido;!^.l_K' |pIy oh{2Drʫ,?nu'|2ld~xw'bR.o `ZjQKpx'NÚISEr8;sQ[€y] (A*hҳ 69B9|Ev}H[r2`bYD"tofֲ cL/8myӾeY9SuOG a5{u ƞZ2$wK;4~f!S dr!I)̡̉Y׶_NEݥI/ȸ4sHžH9i/!7?Dmҵٳ]hW1~e lRm3Pŝ箸e42 =?$շ2F&HeISeZ"d?g.d6f[be@o Ƞ8Z?Jr$2{2("5L+ r@ԠG~o~r6mViPB;8i1fy"Q'6tjDl$N~rMkgwg3shk22=%=.@@cfؠ٧0`9p2ݮ֑X!5..%  NwzĜeL̢XF{6m<ݧ;ag;#ϟ:sKR;D#Zr6&<D z≭E|'ǒ5]ԉ 9&y4"L9 _j @vڈ^ ,Anj;q)4ƕv QԿ7 s$ƼKIP1rPuܫCӇ,&,HNT39d3 $5uh|[rɭ4-$fO2`k RbI3w9'/<>j?G g E3pە]GwYt3Ubr͉`8 2j+KmLp8"w zqM3cсҕ2lǝ[9c[ ^] ͠ צe]On,X6ܹG;woD#e @ӱ,tMw3 fC:L Naqp'*͔&KA Yң-Hb=wBVýkw? OX Xǝ SŔğII5a݇qo >}gA$$BBwI&?4 jYrLؽÎmk6C~)ٹ^- #b< m\%)9w st6Wn%_aGmGNyZ"3 x"S?в >tXAfH>.Km{boKɑOdoCI26,) dyӐ_@k6q'e ZU[ǩ_v& L@z)8bu-dAdjIO%3Fq&upL=)4NzK{ƤƝfJ6-ܖXCx%6D6<|9 xV׎7^^bO)ye e<`q X<0EJ?Y!A24=6"H=VW2Dߗv;6 wm 4艖^x%iDà9@AxGu—JH. ܅.l"I`Y0 ]& ,fMk qƧ95gZ9 6!t*\S|!l7i(n@x_K $dX.+P 'h_RGc#W҇6;S6Z/Tc# @v!Nf;nN%2狅с A~IUDp~p {s\9)zGˆj-[6,Sh'UP5w ]5;ҶvT2,V-Cul?s/+MH 6ݍtGnzUGDAӈAcIϕ3~ЈJ٠W_bҹ{e&+ 3QZW /dp_>+[#=kqGu@yo3cP8+S`@l-HabkFdJH*' e(_=%3&Rpne( %NN]Aq3h# TX(LhX]5$ р‹"ұj(8?zCbN:@0r/z4v'p-΄@Yt>!ld2#>7*aJNq$͙H֔6ˋDYD2=ܗ<aBL87շ.-s׶U\R g9~M8XzIn7u?s׶F)CF*qh { p*j{rᇪQ),*kaޤ':)4PV"ZY[rͼOF= 4.̳6 +R^ߔeޔXj ҉jnm1Qnؖ52PqHC45WY*bK'}\r։o99@JL4ym XyiII3.+!n)ruݾL:/il꜓@F]͹W5'O WҪnf#ќbyg'RYv1sID0%3|}[:|LI]&**tV{Egl*,HKu% f4D^cx(XQG`ªSž24'^%ev#\ JTlEX !<$āc5hפe G sަќ G+>!="&'(֮ޔ.mk1鸑/Kx=-\< XWMn$4'ĹQYeqMߘpޟm۶!*~<| ֟iKjwk.Ȩ.O\ jC܌!Yj'nsF|`b q jk.?vWاG. NG. @ڹ{fGv|OZNd۰Y}]'y(*ܰmDۡq;e`%mJU{5^x%z`Yoe tlkek쭗vhwawIk* m&}e(@/TZJ81p{dɘTu[RSww~;tX $y.5bBi6 !&ܞnڶ}p'ړ;%qpSc\K 4h8В @hzBlxbl`l*_ls{5]*z6.ADOSE͑MRP[w-ڮ@;W=U4hВ 4  ~!7e]{ӃJY[C?c` RϬU`R6,D7/'5|$y#k.Y6P t(/9txGzmO-Ei0N 3P'VDA'f9GN_m]~I0+a8QK0zG/%~3Ht@ qc>)cQO2zvߓ+7n9xFBlh%̮m/"OfRnq=]j X?K (\?jz!"ft4s6&1~$?uɼZaup%^ ;+f @@nh_\dƉzR??Q.]4y!@f+ Fج>IB/RGǛO>B39kQ~ ]BfL#%b3ɉu;Rc0NR Ϧ Ė(>wwB|$bDP*&r;=L[IO`:yD IDAT䥈Cxد6å/TK== cW"YlR x4axHYxAЫj=]E;@_1I &=Lvǡzîw*OT .M-R 9|*w@3%.>6h.L _r-fPt^}µs S:3T\9.]}66FC+ L< 8|t]h.Mu\)) <-q]&9',dE8 Zrڸ|AӖ ބB=LL^a>>^h?5xT%I9'Ư!>S>IRꊫ0pl3ާţio@\>iH9* y{Dbi"6?u)3e"}ŏ KVcy>T&DY󹥹J` s|vo,~UK[L'gV),b ])Pr-8eͽSU$p_~~AU{g*nrN&)_zbҪ X~.'U8`Jqv,L*euFD5}pg1s[ 8t$(ԕa% 4bchnSJ(uTt4D8L |Ra#]iM]RV[D^ht[/DB?<5SͶ@`veG/LZ-㹒XQ D9/,o+D/19#%{z ;T\Jx$#TٴEd tY<2:7V:]MP]n`u׼Bwװb |yad_s.cƕ<>0/̯Ns{_v}R ?BT14<નv`#FEZa=r\#>fh2+pi?&]&P_uсH3r *I_ ]֎eʮ6cY !r5JX2\ܚzQypWxXrF*i@4@ƹ|>ewB4JM]*&`uh% 2fU}v z(5ˡ Gd,Mhrwr$eԹ׉j3|Idו}IUJ(Z/BA?{\O5۶-/4 =gsuژ[m D]&gVf`)6U^4B|C33%(P[Gh{'e( %5kBIр‹"џQp@/ԃ18$$2_tHa0u")_&@i֙0Ћ(t@'B^@OWqLŶ2 FN&3"^q㩮։ƺ\O8 ^Ƒ7g"bQEd2RTq25)d4nhf5:8GĞc%{ַ/1amyxq"b,@xC0oRL{1q`Xk2b@a)'P]qת4ܗk}2.?YiugDln!}OԦcq#_({[&ӓyvS5e@1?|cl7%Bt[WY*bK'}5 V^8& -۲F*uBzxS &_͗4_BuIq fO^y79$\(@WDU}"ufilT` KKe) 7\ȫ'+iU7WiPhNb1@\up͓Sef)Sx$"kxH-sM>$gf &R^LUX(U R^ݪg]= Vr H37ѧW똵<J,Vv>ݲژZsk>ΦV*'r())n9uxCTxf6 ֟iKjwk.Ȩ.O\ k)7!Yj'? n(LjeC'#GI #KIAd\JO=k-osv '-ck2m,ؓkW QsWr-Q紐K= je>s?2k[2htzW 6^JK4 :?0@̺'٢Q L7~? AK(?; e{ٓ1t4v8gyCW!RtSxؠP cdBH)Rw=L~8#kВ 4 pX!N 5j (L'q CS ӲtN\TQ.isd}h;/lmW 靫šm@ \L"lA^Om:?xJ4]\U8X4i 4hРA 4h03'yzN xX76:u~Yh4<'Ew?6 LL𧬟j^~j{Q4ͷ;Փ[-?ac4a=rw4P/}U{%hoj]I;ـQbf鞥X6018|B6FJOΖ {7E#pD80F, NbF$ E@~uCv׏EV)3CJѫ6آqŦ>PܻτetuB, Y"3Y;˛N Co,g%% |:SF 9,nfsAz ΤjS/#bG-GptWi߱ihsfVo@icj]`5tq|P~)Y;ϛx{轾\t61|)f%`SR5j)F?raHNRΛ|Ozh 43m@H7Fgy 6(vS^us8Sر#Cl96P/K~3Htsj]S@Nm)Jyt7'm]Y_7N0U⅃cQ ~4=06s}8DЌ=f0Ə#akm5[@r XldP#Q'jYzK(457a݆ Y-h)H}&8_KFnG(P"a1bF;c-3 #f}"^9~@u2|l8^,xG,N!F$ ũ`b:/w KξǓ l{I.zͮ݊_ljѰ%4a:["|<^#tżH$۠:?E$'_ZO*.FNa}Ղ;i DtR.Ert>\cYlJ9ϔY`qҵ8}6l Dɾ+>"v,ͥui+_g|>5yՓJ $yPvǧHTE WcWx-WGC+ L< 8|t]h.Mu\)) <-q%t]I_lK_$@ yRHL5_}u'$Esٝ( DO-`vݦ]Kvugc]]]gqP3{-@sDբJ6s@}AS ބvQ5x2Js.~)oCQ ~ow e$0/Y*;9!=c6~]z^?Ŋh4(JUh$ QU^HtjGuk}:AmCǻ;ydNs,&~%gK6Cw>LTJ#ћ(_zǑT:B,\I Pyz8Kf2PO/6a/HIQr?_p$mHO}$ێEb(j;>f5PXr^d{iRuQ*a1bS Cpd=@xd69tnX?uO xC1 ŠMP]n`i[Gos×C/iwa#a*ग़@WEmdaڥbaBV]V€1hPI2V(p5v, %PQYrTИp*fZÜCÈ>H+GK{g^aI`cߩ ѠRO5]- g,Mhrwr$eYcAJD5TTE^$2sΊmb34l.\(/ߺ@$TBDKU kvZیe6(ebzp*aFHzuvnLTgŒ4cxN4ڲhNy@M*KF??g#HPڑq$_GtN 4AHD$XAV\!4atN0o4v)q3h# TX(٣Z]5$o ch@Ekho=` ! W RL]H P=xt@cwN|B ğ:S5ք#ɔؑT[f\cĽz< 1Qnؖ52PqH_܁mq!$-#NۻZ_ez^u1q`Xk2bņM_- IDATKRUڙTژDžݶ!*~<|i g]2Z/}#2*b;90 CN4~}c09jy(~~r0)?Kɽxm? GRO5yJ ;a4bO=a(ؽzw!f a$q[ߋA{d= }@ˬ3n9?e_-z[/(.;<h0T lC71~Y$[4B[)/8mݐ.sP,=JnKSj.=o~7X*:,,FBlP(͆1b!ل3o_Ġ_Km;twG29y<׾UAZK4h 9%΃ 8L'q C;6|PtNY{9UK$e u $sa8@4hɁ |K3k.3H pۻ_t|pU9IP]Tb7X`'\V>1F5hРA 4hРa'czJAA-?NbO@wF?vDg6o/M:yZ>>]0&퉼S~u_SYiiտ)Ō=K_@$ჸݨ١?lt'wGBg*Y ܱMzgYL5 @ҩ;<9zY@a]pP 'M;']̸ _̸ _L|v7N~m1ȇߗS:էOqɦ0z f+Tlju,\FpqzO[YG=%^x BV/w|?rJ!~-5c0Ѫ3^_l5;􉍈?t4=/%`ڗ` $#ď{o~Ojr@n;&~zB {||kU+R-`Ai U~>##X>1{qlrz>Uh&o.zO^ɾ3Ҽ?An>$|پU#5{M(C^:=s]0qngs0#zR- y[rۺ;.I jM`U,nq=E!$u_BQJ5gԅRFlX<,PB|z|ߕߢL/= ŕ@ T^9d5h4 ̃őOEU^ ń-hŏMf{fp}`S}-4(alӚ*>?~=߆'=xWx)%=UN]lUwU;M]١ ԫ)r$}}jܫoʧϦ=i6 }e~rOְp]i/{ߓAz攜O§4fU`z5o_uˏKgS#Jz`|tPzF0ۿ #AMe/:s:u!t)ebr@FEѕXhAEWzQ# @v.Ak ŏxQ7 >)y/,_ _ $>?טh5dWgN]<;J&jY EK1$F'}1+W9!=sďSѱG%@7 Akwp+w>j,‘ݯzeTw/1Pr"OX6Xw<'^vGo(~WX0l,2 _<)V.xDx4O{U[f޶ GyR: S ѥ EMgqP w}=lb(j` Wyy$?O&xo CJRɭ?;T%? ¶xr|׏| wC_䫸i_ MzAFv>1 E҇₵-*;^eɇg‹K?s ڏN6 tiL!twkBn#"\vϬh-Ė='h }Χxv"~rkD)Q~3DPxn|+l- ߞ.GK{I5|Ows1f, π\ޕ BQ+ƚY#h ! |A~ _R_H\?|@]3xLK ]`W_-i081XD -O":zvye]q$֮G@B !~ow=]h/M]@sJ_zC6rsǮ"/,~a!$0!hmQ0 [f{B]u= N/&%Rqq# jn#ݻֱb\Ǵ38dWKk8T"Z{}ZU؈5qٗ(,*/ yock&~tqzK䵬V?3H>;Ŏ9 o.[Ϯ`hya{@BBJщ¸Azt?zL~k_/]YZAو #[TTj޿tݣFR uE^rcW :v$ XCYf'Nl@ ҳӂ4xtV~F\C_I鶏_ߺkw }ky U\_IꛔʑqR{/yrA(M}J qso0&N͏cGSBeZ ~cha3!%X$}d0=:]?~ҹ (tFBd;e=YI0nKߞKZ](ؠZ ,\JF{J {_,̋A:B7v4g`]'p08w~^6 x̀'~]iC!7  [`!8 (P S"tĵtRC^oqc&S3yz^=7Nh0z2JQPXtyBO^4z?WECKG1>pt9qmIPxsî $۴ej~֝j^ky{dwEهi hVԿ8әZW߄Ydbef7k?e4+oq=|C+LXl vުKotWe_}U!¯ (0a,pm..>5MLV71Dno.~&%}K~nQx=s}B}үOO>KJ\>s?UY$]#>_.~;?)/#Ԕ:޾}m']ߞE9XupGl?.|/]GiQ9pzTyN|uay6I'~y! N /~f~ϛRK*+JUzd'nAOwaDQk)p?铰~,fucd7-q.YOZ ־IO:$7aD-MLXCƭ] %?.yE8u"l玊fr.EA v)xR̂tYnY7z U;L$~(^)qO/>n=T~Cq3698}- ]L9_Aكiϴ%dе^vGdTNw!jp7雠YwG@)0eÔ/g7׭l&o1} 3#GD5XBźz5y,ydZ1~LL3P{I&eƀрܿ y:hXf]"?|ʑ/ɮ$ [RnQO?t v[/(.NWFE &W4~w B?{Ͻ3i*EA`K,`b1%(g7XFhb!t[4QQ""UX{?ݝ]7GRy 5$HqPy% iAztbd& R"Ȗv $d $H A $3ݣXs1;Wnz3$~= C0ڄu84:~=;<)~M=Y?X} 3Êx)qt61m7}0Ӄi7vikf{mǙzO}qQ6Y%hT_Y=XiD%$怵sCبnvlH^T(_\ %DcU57n&FCtw]A#_,1O0Y 4pS\@8j\(9iƽi~UC~F2e?/]V?OI= 5xA~[{wCo?5C <|xęUm=\[YZvi$T.3@jvy{QWbkX_Y }6!q}Mɯ` x&n0 V2% BQaȋ 5-~&`]Bz|_|մߑ) >+vOه [G>i:+ظL`~SG0a-pkyogYzó+T;@oscC @i4g$4[ 1Z kp}),Nn6?&i~mi;-gMwU _vW-Y}.ĭw:wwXX;'uL uc԰g@\0߇3_Lǡe`Q(>fX\zPK%c ,@ Z~Z"/ )9fp#dc&   |K#s+nG Yb-[1!ܾKeYeXUT]ffUYOǏiCKhRE%? dW/$<" :Fruy!SgǼDP,".?sP?D^cb BY]!lŋ5 T[9Q4=iƶ|N5cu8,SPzռe~b9He]CL?kxl /[3IrUzp)i`ǚBKkꉏNnr~ߙfh"`! +0)+:DkД6yK8'6I{H38?C`s.޵u^+|<7Gsho_q>)v9o² Ohs}h~ddl`TqU(500Գ^MPFuP 9!} ݰ^ٍt,֐IK繁0r4Q0.p$>Ȉ}>ųlQдk)?` `L-;„}hIPKgbcҽ4ٮjJQ٥B+,Pf`onV톢_buk#b ję6zŧ0MsjMmillxMӸd-Y#~T$[aߊ1G@oVJy ~LT禘.X$ߑh}ў*QkbPRweܦIϥ$H ݰO(t~xkvz=9p3K9iuS2`K{n`vt]"#5-Q/t玭{#wnSI'$G'A2aӦ[BU'ٰs"y!S= 9ɪɒ_ 6p@ןzLWziL[_;҇)`~L䇬w 44eΝƢl34so imJoCGsXۜGs`#?ptt"~7FBt BIvs2DŽGvMݣ9j &?DW|wW_C(F8ˆzq.;#(]-D|G^pn0z:G^~/:nʎ/!ko8qHH=}.QW'{ቺyb~WLǙz''C8-Z}3 ;}"xA.І1&+7,}]߄+EZ$I(Jkc"zv̋妘.b"ShAbvQo3Tj`k:?S~Qv$hC5\g\Vp +Ur PJ/J1Cs߻SށoZűW`i>{hjaӉk$]NmK)*"RZeyo:SEHcC~k̊ ?*n ڌ_l>tGO"KB tךj(߆6ZXB \ay|ȩ[ĉ=P A[~~o}lR^dȴi݋K`$K><(*|H}Si b!(%3PCBD ܶ0_`^AΉGR!N:=&wBT@+6 oU+߇<)>F,h {CЙT ye5w-;s'`/]՚j((dDW%QX¦#akr19sP[ 9 AcX}8/ mS2sUqPH(*bC+%o!p>re&K:nU(m՝X"9͑T6$H́ D'LH1K /D :!e?p{~BZX-N)li@B%H A $H nq'Śݱrӛ!$!&a!Nynq4SbCf4õuPEyƃDX.*)룯r!_wf*n|cehw$?~P9M\`1 HP' gcSzH"yPA|q1+f`a&[QOѮK\đ['muT`1ظć/rWcCC0֚Blo]ۿȱSf|<,zcqolQA'MMn DvMemno6_zwLJ:+ˏHƻ g˫?O?#ܫ4SjF@9 5e-\P9Ysb!#6/(I~N>pِ[Ncz-Ȉ}n 2?d n1^ 0¹#&3]`vbl0 2 ]cC1m _[ G8O bQlbB8uQ{8ƣ`ɭc/AlLby(S;!-ل 6OImra eNf0~ylGsC8k٩]~kf7scYsUPnU/͎f:w*&)6nm? ,qjy/t)BG⸫c+Ą lEN`T:+UKi~78K+n38K;ҕi&S/;:]d2C'p/[^snƴZ j=ELom`q b.rXtL}E̞~׆ؘ&1:S:;z [J݁ʡ&v6M)zIcĨ t{="G8-~C.޵ϺίNs!p|M0׵pE6+uR{؋!8'D3ys_s1)9QSClQTOY/dfc&b$~i(G~KV#q띅Ν8(4Ӽ5KBaHsvɧSYW5Њ6G|~6~6{apGy4+XR%O[=Kn O>V*>c{*bUH*G%[X!\2|h~qD௟$ߥs14yi4U+^+=bTOrr`AV:c3?ao2k$bc'=1ؘF1lSDWm+8|R»0p/ҎaۃoHa 3R .^'ntDycɟp,e w:;h/:~#?rK*iiz6z'q͡s[ "B[gBOrN!`8'K =0!̖,_>-jYrXPm (C_YET~Fs ~?Yxx?f݄׉Uشƾ+_+F6ȠA>CnÅ$3rBmݾD“ϓ1V# >4H $)m,? /o4<={d/T/^ڣ8 8$6&bS߫AAT1dkBR3ӚsE4 ;Vs@"90PdEI/6VGfАӫןvo>33J(tw$ ɑ윤Ct՚½QKt&OU JZ<0WY#P7Bjpµ;ҿ E)D}7 iB!&=6R')Q_q%`kk ,B/'g)zag4Т~}0:G8 iL!@T^ּ.!0M}>r yk'ߊ82gxĐU,زEr)8絊)J5 8D*^E8S=ȫ4s*$ˁzF`PKNŒRyꩾ)hF#x"TQyRl|(CR:Ȣav:\Zz >^kG%?TOk:ŒVU~=MU9v I av/^i΁ i9zf!4m#( j Ts /[3IrUzp)iw.cAZ({`9lGY1X6D_t7noAP;ظS,XS[hicTrnit6󊡾2gяq$?x,ʻL:B1h"(׆6,e4 CG&;wܕߓX3~<}V`A`R@fagB(VݒlZ){{ tOM}@"q=ީWz7vKx71iV&dQ Osx>¨4ĒryꩮP^~ b( ɠO_Ncf敿jM)V{TubhkϚ*Ǯ1X;z`errt_/åƾ12sEKPll*%j 8DkД6yK8'6I{H3b;V[3EBV@aSWD5zHXշI~@f-y u& b(M^2`̛}O舓nB@`s.޵u^+|<7GshmSP== L}BӟC'#;`WW(nI&}aKD!'64 3D"qA/@k )\rW5 o ]Gp5  E416#F7Qn0ybv>B1XXTQmdkȂ̤%|[{i]7IQ٥B+UrP$RrRzC=NN&&R~Zv 0Q$PȈ}>ųlQдkǒ2yzH;=^!@ 90y3jc:EӜbcp޼FSuvA4;cF}IV}"ihQ?쨋5R1#OT]Y$@9.?1]TwUA)zybKweܦIϥc^zN ?bN'ubcufi]56گ:Ɇm< 9Wά liU|V~8wluޛsO:leG>!9: yaȲȴ]gٰs>ҍ}_mdehCslJ^  9ɪɒ_ 6p@ןzLH+XwI*\Ve`~L䇬w$&MJS:(h i'ɤq5wV'ES ?/m'p[GXcP~/:nʎ/!ko8qH7S炛OyJww$v1:şō#BFۅz|+ G3NőWo) D7I!i|9&;;R\CW #we8̝t͑!⻻BǥGP:WXb$"k'.zfѱ9m!-'C8-Z}3 ;}"xA.І1&+7,}]߄+EZ$I(D/tT/Jkck8?#P"bA w1_ahޞЖfbZ`lN_T~+| de Vv*~XZV ځ53|y.ӡ PM2M>F0;GlR$(UD7AAI IDAT]M't9~riӦ/VʐtH@q}xPT ʧ+ i> 2=WvyseU1J-@Uov:{ X›}^re&K:nU(m~;1Has#H 9҅dO7E.B@HO=\@龞G)VKfO )li@+ $H A $H7Z8vb_ KjƃDׁ1m7}0ӃiDaf4õu*OEymϪȫ~>*ugⶴ8fPƨvd}Ea>U b~ IY] LM\`1 HZkQ)p=X PJ RU%0JG;jF>E.qGbXblן`Q`] -Xk"Շq@dU3Ѯ]SY> ה}'ĽZz ڶ򪨧"|c*B* T5TlovkodDtO'>Ҙ_mQ-6{P5Gۄ Y6&RsPkY3qÀd4_T~P7 @^مT.Nl z0) W8]W~G0`=YXg:kLKl3l9>XKz}v9!6X1݊,9x\R~f)pq >9 o`Ug/Y^2=-W5A '7S ^` gp~{Xm[bI"*IR d79q) `Pg&a QmĠXN׺t#M՜@xQe3],tAƝhzsЅ.耥9LzCV$CSǾMV3V>~ @K!+nd Vx1aʫ_u_ PpLx] 9` s '}3V,d3).rKiߢ5#^Ϣ@ !w60v)li< N0{$q2*8PyK*caqܱLuYdweraWCl'6rZ}F ILGҿ7 _]kOIJj4 3{] pZ Wda\w%^ ǹ>%782m{[[f9Emɬi@{ddmnQਁ!R^&<ج>q Eq3QbD_;ΐi:k\^1Z1pė|hg1 D^%_kOZ07@XX;'uL ucBQN.,!Jg u'- CfT0ykdr^SZȑ8%OdΊ>ΓէorLVj>c{*bUh):^ӗTWzN70/!(>G; ;w;uq濍Q`s $r~Y 1"u_MH?%SZk.b"f3mEؘf1d.eUDje^'hz`XThi0{7f @0G)Ʉk Rqm:ּ1^p2ju_Bn?ȑ%4]*׹-SA3v|"CqO{.KatC-Y|[Բ2!Vqy O2K#?O 3*zea/G<J3nCAP? $mWܚEР p̸{~#9P['=~q$%7%KspX[V>,c0'lDH?K06ƙGșr͔ΞlwGFa{OQH[NQ [y0&NڶƦHLh'yf<ͅJӟE y*Api=P |q' (,7n\LY HM쪋A9TjH 'հ1"xY58A|AL(-sOȟBSjfZ?o#Ms(_|cX>w~4yTC`P vzsM_gFxF uda89ߟtZsRW\"`=j 龊S?CG3f*R6k 2RF7YmNvGB<&;M^17ؤS# @T<)@T^6zmRJ7!h`d+rQ r(ߒ RC_T^,nH3J U:j Jeٲ$D\t^j7x>EEUV.BU!LOvMod`X&c锃8l Wq4SOƠ.pmSQu84:~=;<)ֵ"Jz\ם[.C*EV2VssצֽKXiD%#%W'd&J"62M"Ajv!)Swo?|3C/zըߑ) >+vOه [G>iKz}v՟XtϴAVd9Zc53LCWq M0~\dz2mG :xo8Z[8[;jXp|E<\QK]P^$)Ǜᑄe03M~аv6S,ƂʚM @TRG2D#s.tD,HA)gJO$؞:m tg Z Yu S‹D}_F'T^QjF@9 5e-\P9Ysb!#6/(I~N>pِ[Ncz-Ȉ}n 銟،/pײS]4rZ}F ILGҿ7 _:7mÈc'1q\L#,.E*me|Z|,,{;ޝicH_غog#؄8.vrR[#2 ]cCU<Gr W6{evpѿsW2dq]s]Cٸ+\[`h?;ۣjv͘^5x9,v*wj(DB`p6jᷞעWUO7bBZY}rW/q eU}++bX[E Aܑm>̙ L]jA<.Z'=չjHCۜ~-ùɀHA&v6M)zIcĨ t{="G8-~C.޵ҺίNs!p|M0׵pE6+uR{؋!8'D3yCguy)tꠎ,GWvxt} B }D^-$cߛȯҝ|tnq ٞL=et15LY,f)$ ^zv7 Q =@$#/Y%GHS#>M0ncEp9?VB> T9o շR\҇a-dĸКHV] vI}# IDAT+Eҟ59]]ʮ[ۺ@Mr' @pʞhỄ @HORJr$4-|\3oCΝ1~qoSWN v:ܞw&-^IbqC#`㛡DM"vuG5Uy,8j𑻏xo*r1F_nlG܃.pNrmKQ>+j |=#-ҝ^kKNߑS-ǝ= 9ٷ!xo$(@Yj0@ a?Xco4V8>q6w 9T=Ɛ`" ""VrR|@r0L?N [ʟ.Fȿ暶BHS*|rMhwCiQMpȴYT* vz Iޓv %} Rv~u*8-T?vf&?BQcyZh9҄ +o9/^7;!{{X^ZRA&"!11F,d\Gvi_Kby^KA_Że?g9al?!gĽ/+&2 *5ip-܋x(%O=X L?D?mbh#­QẔ́U˅ ؄#˴u@Pwt@kI JCu!O~NR_AeDHu+_5ѕu/o8V C>#6Pxy1:xt䐝K(S3p>u:0ތL@>TBSX U2= ~Q1* 7Z8+MD Hke'aڍ%lB|VLyA8$}-QF\&% [A$mIW>m<ªNfRU-5+NR\QAOVTAvk&D:Ȯ;xA?9 YhyKmbDvP,*(k*yQ18AJKǏD]ne} wdCy֓SFF 6(+9W84uh"x6fط (iQ;*/eXLZaN`[{& ʼnc'6a8d ߻WPO|t`YV&wA]>+ϣH1L+g>~&CCA̱ CRb@_ruiK0́\J!I>@՗#*li^? ouޅ_wԧn=U ]}ˠ,E~6}p-,pWP eE)ok'e׍듥mBɂ\+W%.6(7÷AKĤx">eME0Ē+6L;+d;fݩ%j]4{ZOt ޝ XZV}郘O 36`]b LZQH;(k]DA:8-[-#(2AxNCZlU{޳;X7p{)l!XtV|>ic`>2}UHDJu =wkJONح22 >d]%YBvb 02}߲,161z G:GBS- TG_́[P-c2XX&jLh 6o\cj#MDw]^t .CtY(}1DD 8DAy[KۧrI%>Y}) }! H!žMjJA-)/)}b#wy{cKK3f(j+N} mI]AIsZ+0OWerhꏺeߢ4G1izb!yM;٧TYZW֭7뎳!b玳b>m3n6UMwzLqg[4Dcy7aP(JVnLf=Fxs[j"|vӃ!lZt:!@!?b Ywq5=wb374;#Bqx&d/v }v18lv `Os{gYRE6(>E0i>'#وiN- bv4ӛ GLCO$pWvtGHk*+w'uv>IWYN(g.fH]?Fr_5=W2Ql$Y}O~3\wd&o ]n:MPb}Xzʲ"NӜQ86<k>3dgRmϣ%rU51aA;9`վbAM:_.%eWbHR_#QV\ٽiL锗ѪUsbZ%#Fm-e'dL2*a'Gp߹#Ȑc׊L[F|PiKJ8+';ph9d3>~s%Fro aKaT:yITU%`(Su^Gjo\w\b]*/j۝O)yP6iV?{=C J@Lwz[,9f*ھ}ŴL"RA$ VO%]&5~n5ǠL]vRD:_'&bZFTp.^f g<`Alc&gq563m>D>= IBvN9W06L:7* Bt~k7 -RԭdkRʳfgz ڟBTKWl*Di6"Aڄ%[^WwnxAct:ă`uIG PFQepC2"TD%oSaK^CbPkY{ Q& _uvz^@##@#țF1CcJE@݂=y\޳=ņ}PX ~~d"zgqƜϲnyb`:}E\eںHk+̓Ӥ( :rиoMrhD#ICa^i> m11T4S) >'>д&CHn k+͂Ӥ4MZ 4hD#шF44A98ieI/Wnv{4 хyIcs#R®MEHQ4^Kf÷ #MIvf0n\lzj;O2;Vr^ (% /̈́*jIb^߾dmk##6{W9ΛdƬKlwpf8X-;DkVr*1f=6y! pOt1bBǮvGS`:x ˴j7"DDZS%_>~Y"8Ega|8($qc\s|I\h}k$iߋyTHB2T5MLGcưO)> m>ѵn֓Onp};z.w;tšMrP3CN$^M~dC *{D@ id`>}`ƘśNwŚ#jM_;QqS((.lEmĆ:s"J !?)}3:X̎mK=c\Tiݱ3j)w5g'͠5> ;%^ |61rX\dә݅Lx.̏r d}|I䒢s;&[X8c+X_Wr&_y|'IP6.96i=gt\&l"ܱML]ߞ%>t&MJNb_z#_Ov>=`) Riqɱs:3eq#lx.ZvT;`8G_uHqi77ހ֐xpʕjJn "vc`Elbt:YY[Kۧc/U>o)Ix.%rG7<[o"Uw}+)},,>lRl(˛9}ΓszmI=HU)/z6_;u9"ɂaVhzmQ4Lf|G=6 ;EwKD"vk|‡FAwލb*:zwZG"Ø839x]~p3*Ѱ+Wʞ?ȍCck[ہX6w11 <<3vCC,aXwoiP f: 'o'rXNu{~DGyQ_F (PѼ;юd<l/snڪ"A:2R?t8RDBY"c;c t qsF+W=~yHi;Yh\Z3Qxo>S1 l9h뢷#g>!зo\t`?z3yV* JX~tlWaGGG٧1Y)[@ު(GY yB2+KGcA_FS30-̤b6BQի7NoG~CtkL2b 5YxnZ>'=,{Jc<X01]sceA/sqK@VR}+)}HJF[Z`Iȉ4o iKjbWG'Q&Mm6M`Rv-޲mj7fPtKK 6Km@*g!$JIu:0tk{L6u| bwЩyo2y$7?v]1JO$bWGl|TS͂S+cv=x$ܶ2'܃?R҉+ݙ99@bp)~}F:, $C pEH?6KoSImsW {CٳNh /0* b% ) <)'9'ׯHۄvJ9ބ LEHR`I}l>G^8 = aMP"W eKbWGJ(SWZ`Wljr#q56ui-]о'/^`m<.f2T,QTD9&HW̓Ȝ9_ 1SaSM_;{1<mj5Ȟw<Y7 }8ˇ?Y1gp/.9Cڕ/ۧΏnϏtAm |o]0Up ܂~F ؄#.\RˁsY[}d \+[ObPB ~iZD(@p\_e iPye@FHZuAY {MNg XO=m(.( bu@㸤ܱy1r/}Su`ZGቩ9"UP UO)*b6T$,E%X㷺 o"C TNA$'a%lB|VLyh}-QƃLJTV$mI1W$i뀬 :}HV} .vu}>~I mj{NL0?)v]Ar@lĈVZYTTQTD9 b(q?}ܻB&坻 +5Tˠe'>#S: mQVr"xqf$^Y@+I_W4þueF(L `ځPy!<-(Ʋ egҊUw޺(5؛7Ip],N=Ʌȴ x!޽z˥˲2 P y)=i z_dH~(9dH5>3_*U _΃P3m F9K)=ɇ}QM8nCڻrԭ*R^ܣ|ױϦOEx|c|JRJ(3m>q}M9Ykfa6boU}[]'!jmuުA-]])uz~I]5?ݣe(hi1\ClZrA"R?b h2ii  3im^ΞnvFδwE&2GvX'#a5R'5ub[vٍ+(4}>3SKԲh85-;o@-1i1 46 >fl\Xk#.0wơQֺ>tpZ,[('@98qJ#vȰ=/֪f[u_͸ \KLQjlZEh6HS)WՏDT@0`гzޱdz!#0LXE(d'ьyP #h m?-;ɒcC` ӬgкpK_}DP>-^="@u B1p=&Ym8Lu_ivA:`Vu8}1ީ-7bhD~?ХUK7 a.0N-L̼s!L IDAT!ODʀC}*矴_Rߧnr@`޷2t;Z+ޔ4Tْb']1rg774>c"TWܖŮҧ/)⦔Sfrhꏺeߢ4G1izb!yM;٧TYZW֭7뎳!b玳b>m3n6UMwzLqg[4Dcy7aP(JVnLf=Fxs[j"|vӃ!lZt:!@!?b Ywq5=wb374;#Bqx&d/v }v18lv `Os{gYRE6(>E0i>'#وiN- bv4ӛ GLCO$C莐(.xTVN6^D!)|"*9L ?IKqQiq]̐pu?]+/| 9}&Ŀ~k{e£"8ٲI#~g߹0!LtPiĕeE9qly.h|fTg3i̥;#/ڞG_K!j Cc‚vr.%?}W3 u\JʮĐ~Gڭ@'cij{ 4b(6)/eUGcIQD[K٧rI6>Y?SJ &qw..2b8Ӗ$TڒJ Z%fٌ=gX"[u1HؒK)i SmNWE0LqyK5 qqvq ]ow> CH[k kZEL 5``(*r3O_tY~>!n Bhrj3= J^4X=t>"^`LA%2u KIu|@#KjQg{mM;^7h֏C6ϴb*$ [h|Fy9@fgVVmE˹@{>lM*^y֬YQJIPVʋE]gU(5lD(|A !JJya/1½u_15IՓ]hbdE}=$yrRlzX`1X39 ZV`|Jl@ ʗ,Ġ)m^MNc#tXFO4ɁF47L(@9 sPB4-$t-BɃI,6#94=3Dxu{m=/Br(EXӋ͙Ӥ( :rиoMrhD#ICa^i> m11T4S) >'>дFIn nsBfI&׈F4hD#шF4Ҝ}ؖ-'_'HGvsW16 }&h^Aig7 G&qW&sGf ݥuWzʆ.^Liimoqь~ۥ!DfEzԋj7(X : `c1G挆L@=aǣMQlSܞݰ]Y(R ʉiz*=n_~O \0s -`@f 0X9Gs)/1QL`|/|*&;ܾa4:ef$Dp~cfmL몕kwM|JL_xH4j+Lu"Ac=4WPLζA^`Y$46W `W±"(v%F3[owv&$u[1C􎕼* 9d@iI)K3!#oZ;)>aY#j"5|͞}3&b1(0NT1QptZ%J|YOpMG޳F?':.Sl+1fsekݑ67 >¤LGcֽ/~A,W"3bf0mʶR>y<-,H{9R_I |9恔e0jWRԙ.hPGއ4P?V15mхBXPܑD k4A*g8SIν8Ȇ۵AXEYU)@AnA|$175G4zw #PP\Nc2a_y u.EB~SgjuZۖnO{FA <-XcgSj.-N?%A}1j|L Naϡl\rm4Ӫ2}"ƲI.o9OAC:1U:-F']Uԁnn𱳱\p.g#qc@kzm|KU8sJ w5%[7vGC3 :ᕼ8IA$<i )ݞ=g_&l"ܱML]ޞ%>t&MJNb_"Cp.K~=}Rԫ/,KJI~, f%^̴^C{D #kQ@y3i#aǥx^P1?MNI6S:V݅Lx.̏r3UpE l'm~g㹔 \Y0nT5vmkeSvkߢ.7_$9Yr<16 jMrPq6֨]V&N3#EֈQQ@O%"y5if#a;x@1UqM_;-#babٜL.?kti4rPÖv ]v?F*,LP+-@2Kp[ZA+0;c t qsFץXNu{~DGyQ_F =,\;ŕZ2 1E礞 LBGat-Xb6BQի7NoG~CP+L:2R?t8RDBY)՞R/3m5 Kk& [};f>m]#qĐ/m)S.d[+I,nHb|3IĮ*ϚVM>r XW3k?͑{.Inm)ge C <9a'Y{<.?]S>ݹ$'6t@]Yc#/^xH܅&O(* bE gpHmK'tgfDw ̱yŸ=͡8o2C!N9UT֞HR_G+Mڣ ? }um1~~h^q>&R ʼn>dŊo iIu8tXt팍>PYJ@;zM3!/u;DBwxfѭ00o /QPo#1iiA\;DsM[!S$ PL$"x-`d|!N7hwCiQMpȴYēWT5.vB=%ʔslܬcx\bD*-]$/^`m<.f2T,QTD9&HW̓Ȝ9_ 1SaӬM_;{1<mj5ȼXNpdzA5{W|Z@qv\ ">额s?]}:yH`Qiц'Bڭ;T^8RqJ ؄#.\RˁsY[}d@[dPXWBEҒ${`1 3| @y0dN/. TޞjDݸf0dgӪ|(}@@ pt>eME0Ē+6L;+d;fp?Oj! 8aW=Q ^?h|ftewi=qj5Z,{w.`jZXbbh>ml|#_Cu}oY:@b#wy{cKK3f(j+b?* @ۃMKC6|g"0c Z!tyne0vywj˂xnfޯW[u_A͸ \KbPUO R6'":z; ''S~L i f.ƒ,B!;1f shZ@۾nhoI [f=ӆ݇\z`#i!ܾ  ^1rh aP{ MU `4a1N(C&;.]Z!a/Pj"ae! Z @98INK/C`޷2t;Z+ޔ洴]CŮ>ڿ(☔Sfrhꏺeߢ44i:_iptA<&ӝ S +@rabuȐV1sY16|U[[Ԫj;=b^-C"ŏ]j0(Fn%~7&a#COM-5H S6o-?ԁʞ;t!@<#=Y4x3lϞvU0WvtGHk*+w'uv3Ō3qw$xccX1kB_#QV\ٽiN9Z`X-z"Ϳ$zJ35$rڏ/Eq>cu1Ctͯ6*x申~Gҗ vfˎ'a{3 ~¸#k0y{Wr{Am*ĕeE9qly.h|fTg3i̥;#/ڞG_K!j Cc‚vr.%?}W3 u\JʮĐ(6)/eUGcIQD[ˮDӈ"{4H) _We'Gp߹#Ȑc׊L[FӒv&Q}SQ1AMۭ?Shjs* e+^*ƕ.Ҫvi+Li#mf(kA3 ͇ggV!IPi J_7A:,F?{ g^!Yr T}wir|E u@cRPzY3Xs\5.m'Nԡe{bq(V/Qf`D5J@|cmM;^7h֏ԫicC omW}n"t뙕oUnƁxrNogdkg͚?+%@Y?+/jvїU&H "(AXTkL Jya/1½u_XW}IT }eE[۞8 l.KED%Qo y:b(grB'ٶF]5\`gjӵcsbc%hhD#^ˡL[龱 )@9 sPB4}$t-BɃI,6ͤ33^@2ΘYM8Q LTC4I`c(_/$шF@;4*Ca^Úi> Η11T4SM.]DhZMƇhոIJ!O3[Ƌ&G׈F4hD#шF4Ҝ}ؖ-'_'HG4usW16 }&h^Aig7 G&qW&sGf ݥuWzʆ.^Liimoqь~ۥ!DfEz40e*N}ä,+{N1LsFCk=m b/PJ@EeePNDHW>01M}૿~ zfb@+ȹx.%>e0Ʋ6 O$rc|W;pFL݌#s Ӟ{]ެx|w]`s޽V׼闛O}0i-FM}ENY1\{}uQ?j* Tvi{iU7yڡ[qowJBa]b43vgi6q+bSsY~^uTP'JKJA^ y%T.?ƒ ށN1} ;iW;9~GF0l4,!s07[YD!̆q\Zv0?u­+ѧTczm:5B>!qb[4cĄ.%؏]'<a&h7d:MŖ0~ e@Q"6sn㠐Wڴɋia1ȅF˹\OȡG5$(AU_?Hf2-ΜVi J|3"*f){C-۱s#݉.?M v2L%9h#joaeUtӧ ZM  #f3Ƽ/tZ+j0BAq9e[E_,j˄}%&6Թ PRPO3ibvl[E<}0 bOc펝Q?N8;Dlƨa1';Mž' IDAT?q \ĶLHV˰lrRs:SEd1d9 ebC9]s @lubttt[Ng0ܶcgcK\F>֐xpʕjJn`펆f,t,/+ IA$<i )ݞ=g_&l"ܱML]ޞ%>t&MJNb_"Cp.K~=}Rԫ/,KJI~, f%^̴^C{D #kQ@y3#aǥx^P1?MNI6S:V𬬭݅Lx.̏r3UpZ:PO*[A p=>Ɵ<+g:%6b\J.oxގE);k~P=R e|WΤ9"!ɂaVj5Fд2t,ڴF2r}.COM 6 {7 liD;c8̎fuYͨF~\qO({> 7>k->l nbhlc$8t $aݑB O|o>f B7o[q] dX׏Gy\0 eµ[\Ɉq _ ,5)9Q#]hlK mD/t;N=N"O@,f)$ ^zv7 t茬.+Cgpqi#O\ Es* UOWgi;Yh\Z3Qxo>S1 l9h뢷#g>!зo\t`?z3yVF((:c=oճ]e)dBdaomt{f@@ofA &t'/[ 7\Bg8S}]`L0f"3/dM,[ P_@EV.sF;Q\ (oA~m-mKm[^БNwA9ck,L y,`bV#:^XCYAKrlgҜ.eR-Nm7zw^AMni ྟ=#цw HE@#,WI6iZ.=Qgn bϝ;}3cަBA:u=M5:[α+7CЛDퟏ@Ypj#wހUx0cَ]/ۖ|V2@xSNxɃaKZ ;#ߝ{@roCH@ԕ`;A=i$];Hn""Vt8|&ԶtJwf{qN/9}G^P |YyWLL#:&1$/HcPUOe$Uyt=3ˠy7(Q#G ?^Cjcâ8;A!Q6-hLƘc5l_cI4F#c."-Ď Ewz'({gqg}μ3ΐ?(dƌ_0:=r84sÖH=г %e\o1!D%'1tۖpѾ[\hRCwH"bfm @O*?xܿ.Wuᅂx; O$Y9.fE6HJ JIbNID䩣rn\~"aWi BM !吟C5`X߉u6VBz&LRxKOݻb>g6`%CE _&d=a.4[H-ڤ" 0+iki \_{\w#ueڏKZ+Ja@}33ν2-5_R4>ł|ʻW\:sDɑ)хZK iwϦD,m%hUT` jI}Jmѣ?!뢌'TQV[H;yPtty =<)vk_u]-&^ uWy9fLcY aoRb?|s֫'s nz+ZQS34r2̅0.=d(NeBvȨx6{,gi9s,Ȑ:UhcɢIߵ/B(V>ɴXMl쑦c>0M<>x"Yrk\~^Iv{¨g޳ xo#:ӷ ;&f`«z@NAN=w":CZ 5.kmZ*`z~^uVᏦ YKaI ?^k?$pp*lj:`2R!m8sM둒}HqV~WOh*XfMcdfHC yE@LS'zU)QV[Hru( Y6^;b$ABoZvۿzg1֞3g4V#a=Bxx&kjlݍ(}4vd[d۰0%NTa:S[dLg&1<*揂"*o5s1A]xwp &^J4 vvzdGE}Cpь2Kf]`ggs I&mڭ'r6aAf>\_n.P['u/p]DjkLD0`0uj\d().=vҾ% z1 14x3ci ڍF+wd؜4Z z-zOcc3UpM!i߄563s`Nk@=` s'\JE]rAzb-w ,N4rotzY^0ߏ(h&@rp6-ty]FAjO cI f ?? ]|{c{$U'vg_ާgwߴ-n$mp]K ]%Mmߦ DػlX 5:l[)J՚u<@XbA64h 7n8ZꌨoeYՇF\Q];b3~d4`} q_|?VT0(䆮 OZNAW'`:_5d^ jKg*x!@A̿.)e\CO y)aHL܆q= ޅmsĔ3ǸՃ1B_mUAa\lL$ ֜CRuɇ`q(sG[}\,5!pH t8"9J!"Qby8s Q\0l>u(!Ƀd?%H3!0Mބ/Eqf5CµMt_8lX*;c]1! I箼+  ên" zw'{ΞvdoA~tTz9N3㈨sܑ5~nv3!I؆Cs?68G% 9}d57p;XneQj8-|vȸXE2HA:{K%\=:OC<`xg3ݦ}AEFecWmXҎAPIM%&P ZGA+:EGѧKqȹ\.4h77ӀK׵ǻnu۟f{RۦfL~9) Kjp +}y&.Ǵԯct̷Bb(^71?A[791bD&ȸ4_oɆWI:53wr|E*ޛeuS:c} Qbu#⮉1~7dfH~2#q)P[ܠ]֯Zb7l=uO^|F:+>c2f W'a5{u`BF viYn٣ U'iL}oYeۺu [*<~xy4WJ w %-.}xAG~; 2BB(o(P7][K's6GopbUz dWJ%&Ȥ&*RȈXO,XXq9TT* wx n{;=Tbaӹzdm5ip{Ί ["H5z =m䝆y^ ɐVd @2 d,鴢ۡR{) ӊ2 d @2{_DZ emmQq"dGLab4hwCnQoϼO8$"v-5nWJSF\lͨʽők3fKub:2k v0=bi+)*5[xÒ#؍ >f:3`WjIuQq5ǦbeE"Hy }Z-ػF#?V1=U?GN]i \zYc5M08yûFqW{2iYC~Xx w9$uZt2?4Y8iȽ)' CZ[LD6|:[vLLz ㉸>,^dwo~r@*yU*O!¶oD/'T)3FO*=H6IlI߭\ `dbo=TU)qΨ]q7cx~f*]/|G$g;X!EoUwd ='c97Iasa?0zQW8}aOWp:cZg$??L)F%1MơE_Z2'x G7O p> hnR ;i1hazrK!#AI ) +7kU$7mO_IP.T^/,SiӉ~r!"n=v;kGqmDuVz-;t©$o:&ذ`*9нq dgLs);u Y[+7V\~s8^)62. ?S~[Ɛ[]FsWp2MM14xۉll\4~vY4Y@Vဳ\\TޓjO~;~bq{?o: ;Evatǵvvї]~ bkCMZn9Չ<cDsWv˪6Y#۹2v1xCբdm bVpy>փvkcu PO#ب>;u_"i{jCx66{?sBSǃn]JRƧ>8$72DRB]s#A?>YPbtcH@$]a0]a1Au*;́]!⻋N3}q{>2wvT&LqS-ܐu?baG9={^>rz$٤+dH=[ 3G'?e4Z0Ł 3X;ߧrӠeG~J|OwvA$zغuU/~qP0!jCH-ri\guO'cOxM+Q]_>cO%}nw'SD$4͝\;L5[>+ŗh70W}*ޗ'bk"W}gF7}aՌ֭J:gW,8`w2-Nx;<2 5s>"pkde]0cД"/uH\ȷ:HJ9Tje/~|o`슥mLz5Vj 34o9G?qp?$ ]}mL1: [?Ez}:]t)HAޥC0u^r_gTGT$ҾG_$uzЎ JL* 56y n4qL jG1 eBR4 K)ɀ箑tR㚶Dn9Xq={qL[߭U)D#{{I&,rX1:}] [S {<_YSOgntgtY3ys07QR2O\m1i4/_xHdrA.q?og;(QtDX 0*tƸfePm5n? pyxwB:lLfBz8#d79~WY.yiIB2oeAmH=Wl:yw$4;&w`N#dhv?(dƌ_0:=r84sÖH=г %e\d1!D%'1tۖpѾ[\hRCwH"bfm @O*?xܿ.Wuᅂx; O$Y9.fE6HJ JIbN#Yk} ,;%a'xOU"8t& {DCӝ31g#$ 'B|Y`G!PDŕcHuHy6+=.e IDATĂ|ʻW\:sDɑ)5XYC<`QPe+\:8zɎ9Y8>  /J)#}A2} csJnEH}*Krc+7'vu ;- 753@4C~N8烉t`}'X 附2I'/o?uZg91O3{Aɒj˃|BbyM"kro#9T7^Bu"p6&K.Q.!7KQ>_"IbWBfr/XnxX~)i S)@/~fƹ7@q#B ƵEaӒޑt{rc<2OσnKiw 0X*7LRws@Rt{[hbH'(I*ue^>8D7FHBTu:qeŧ:IGA#T8]uߣ?u/ * 1\!"CpPUKp1url]|^(**ex W]q]m#5#HI̡,eǺ; w/~Xki1 PxFsh>#WnROpv=ݸJRQMGcgNf7E ZxZ:NVOa=ީ8OtfãV۵G擾}y~v%TD~.&=/T$69 h.\|TӨ{vq47p~a& @84f0onf 2mc`bZ1W+"Rjln 0:V.2Ghw;diF}܅IAR Hs<ձF{e;2`lelNM-Cѧݱ*~4z7B9x5jjcG xM_. `uA=]};i_ wF}F8>r]^ (w@XpvYk2I〓1i#wɅBrߔv͐Eh¨vب ] bPCjړB"#ny> ?? ]|{c{$UEZ.AH'&^J4 vvz$v{^՗win [mߦ k A_ww>kkux)~4”*5Ky b lhnjppQAʈ΁}6 XCܗa3ߏ +Vdlh? 4a bCǶ.ޟDPP,'/Kfu={h#7SB? iQRr$x2 4`Ĕ&qnxG8-Ϳ~#a38.n( Dݹby8s Q\0l>u(:_O=JWqkF3ɒ&[sɇ`q(sG[}\D{e`Ba _ }jjkܿxq'ذUw:hcB@]yWl9k7ɇUDN? O<=ם0N;/ 4'.-rfQ#k&3g$C8%:| ~lpQK.P1sjnpv5 %.p[xɑqeƉ4t0*KztyfHIۦߕ2v]\Lʆl:+ߪ5JbWOӪ#*A%řZr̠ud{EҦuڃ#Ļm}>xz#F4U˃n]ZV3>8/(}:B{0a4JgjH7nrLKCE7[H9X偢_Enz ,uDW|d*-5n5 כ}aUD+0xbbEDU7DOMohi X$0sGnי&1t! NC Tr+-}xѪ?:얩 ںɉY7h+Tyݾ:0/@ viYn٣ 5{tN7 ReCvջR#/-,}TOq kM2f@!b% F.N`nfUlZ:y&/̟ǜ8z>J_qp+j'գ=J2O0QKD;QaGۯdH+2 d @241n @2 d -~Pv87!B{M-c8t a|8]̑u0!8s o;}ѻ_q>/˺҈+\枚 Dr׮q5 FdVCtSzVݗ7m7,9ݸc=2UN4 x[796E++REʫTPLDjbr~8uw2wvT$#SXTFJZf0O؈Oa*kA)Xl TwT|$O[M л6dM.J1 >Ds:1z  -fB"u\\MŏڜOM]ux gh0%sF/>;Ӣ * gd/^ Eϯ 8|o H뎍1pc@"bӹJͼ\/ӫ lC] yjDnGOBA2ȕC[,ҳ޸h"t}Δ8oce?]:ZSȉXEGLY~b~U#O+'V$ŕz2VW uTЀ,#"eiE,\19rfmN v!ȒƬ ,I2_)ލG&ghܡ#n@@H7DĜo]$+'LIɌ(@޿ߙETys-1uM }D2@ণD5c"wsG.Wȶ4y /<$29xB%dVLimKh߭ £ _mEx/޼#aޓԥ#5% >tE $b7VJf:l$~^u>;&rԌ35)A1n4>R* bWiխV=nڷGfƋ|$!:/fQ̖r8c;D}[}zn/-pitYR6bj.u4V,p׼N2Id| C}$ -享oe=)ĵvO)37=]XC~JE?ў.ۊ<_0XZJRBHSn=iݹ.xJE@eJ,Pz> @z"UV+=ueb 8ζdKW}is#v8/.')\RsMHR9<ɕӧPw[}b^H]: O`_̃R0؂eȤJX*4* u玞_4?]Kyِgbv`gnXɁ(%BŊlZdc11u}`xx|pi2O^X-GfT\eBvV2H1H *P!#2Ƣ gr<DGKf 30UP 6 U=mcǽRq(1|U 9(3QJfd]Foq̍[&w ;4hW9ABfak v1ǂ PQj҃f?S@HHm熖ڂTi_0/e-Q ՖZ Èl_fH\PTaŨNb uJ[5M@qЯx}4"O)gRPAVYnGrѭBpmV$^ wk=dF*FQQɔ(-85Gg'G֎mO2$Hҭ#6> kٱnjkzi苾VZ{Z*" , CKSp/6Re`kMɨM`* +N}c|9cBsяvL| Ls SH|qxo >¤^Ќ3Brp:LҮChMUUc+ `shj>쎍JVfia-,o_v@Qt͊n.P[ACq =# "ae!2%#02HJ ftN]{da>ٗٝ7mxK[f1p#x Ǔ钋XVFP4*[zN˶]XKRee<#=9ƞ9땺z:jցnqVQ#WTW ΁}6 XCܗa3ߏ XP%8&&<`eCff $R4n g3MEk`~k鐋eY? $cvkx_Mt_8lX*;c] y;K')c7uɴl) Oozw'{ΞvdoA~t#D @iƷF[On$appn:&!*Fa@#|P4)|%hY6I#Hx#iO WZ H9~@:, `6wďQ (s)9w <…cff02F2S2pp~3^rfQ#k&34{T{zCM `_bNm5@g+!j=cNY .&̴׉cjæ0#-$\#Il k\ u¸5#YdI|ڭ9WjtʻbYnO>&r)Qehżmo$y:Ŝ L!rQ] 'BNQb!X@\<ƭꑆVӈt:'[.b [<#vQ*;.=1R{䍛R?' ᥁#@QZVB|&10OyqqiO T%u$Z9kf+#0\FĂX"W{_ [{]chϘYCŕ:4E[ëH`Z/Jf(V3kԭN/z`^mbh:r.wJf׸JE/Kdn=m3 4{b}3&uhi[#/-,}TOq¿ y 5p̟yc޿Sږu&Ҿ&{4As[lѴ7bͭmUDjJʥryY"SE2M.AP*bأ˖^l( *(T@jM" hֹ5O'&fȤ14sJǷzER{Ż6`{6ҒuEUjWkO_g s]H/6][aCnjiEȨ!$O"ɹ;V(&SAAtea@"(R!5?5=9$,myq&(sGET(h+='^LN8Qq-zYnFئڅ A$ =/Y 7]I#bӶ#ndoTI;b>en˾{[WgIvdx9 0w{w{;QO49'>ɟ:׾ا 6j|p㨿D$y~O"s4fPcM? ijţSz5 3rr˕Q͓6M߅잠맞Qc܊I lGK/c]'MANy`컢Q/BH'e-wI΀M3/չ1c˩HZ#,*~H/WR%u+ݞ~ԥ[T5'g-+;I;bXrmfC'{|~:7Ƕ+бЛG©;!0焤bOZl@:$`n?ۏ7y= tm>#RlYYgQm^Wf@LȼE#3(,܋JrE5?p98C'tw1`~_K1\;OEn`$ N̷?$@̑p~!m;{um9qW$.=w G(/C[ e}wGeR {Aw[S3ִlx[l-ڽ[\NݡgLVt*Cz bvJg:$J^_hS|BB;05A=)Bg'%}!Wh𡫂ek_Qk ^JoGuShR˄ Ca#Q,d#/**kI2ړyv`9C8eBz bKû"rvb-LQQ=[}|;4>%ړT?uKp<:}X8{0[+jlt+y} z'{$0"%fVn?{oq9j5 Ġ f2`3]7|ܷܻwܷ{+Sn<:k'"vsy&lf-B!렾P}d.biX87SZ: -2׳ͳkɫiZ2m>&]oJg7( , a[s氨z'$};+S8}y5QFIʫڥ@ˍ*iOw<)Q 7[5}&7p[yD" ~Nw&QʪE U{EVw'81Ry[]]vSz-`z)w\Q 隱fL^A~'NrTUvX,L82\Be y0nTXjey<6T\m<1ge憋<~:*N5O ʎZpm+;kFK/Qeeg70j[G݈3{ 9iI *eGL٬U'蝋v={8W3HCwm*gXR*9쭤;[b'G1WH\FAxed??_Mpx_TAx m9 gإTJpO1 bof+MtO%ᆾ9 A ?=]{,a.^5V!0#p!wV}( <0 `ڠJw~Yԛ4fG+gu +4} Dێch" U(Jlv~Sg冼TފٮJ_Ӏ\cA"9\?Z7x# M<*<[wH#9ǶVgFB}"/w gŋkj76Dq|\?ѡ=Gr'W"eW}A( ARuv]W&?={Gu>SMh:H1> !RnV #cIF+y7`t$)g t-N{!c=̲26F?#s4l` 'kPێ'ʞppm(El]8-X<]h#} dhiMEWc q3{Yѻc~* 'h(1%%糢:ki?elirEueZKnNNx ޕgZQhi;elٌVvXj<6A]hbӶr@vT(f|Iym+?$Nv-.x YL2fij1/frZ O;&wvEy@]YFbBfVt-*h<\*gy;ܢfYzP/(b콡- 4[l[zJOTf3IrW5y\w;A]?#ߦn o%v" ց(@#]*rr(v/;*[=D tUA9;DTP$vC}:Z4*x\DakKp~]?O_[)6T_8(N/fmж6A}\Ry.7g5/:kcRw9=k[7\y=^cՎ!Y)"9/Xڄ &L,iŨ}q0a9ayS ]`Yu9v~Gߔˀlcbk~F?hP6eڀNc-Z>hQ<}`#;" Y`x̃B?7Q48g3bT/~o0(+O媽7INElO1翽*'aa.rNL~Sa (> r2֏!}6>~.ըpuw:Xґ[K8|\7xo< !`ǾKrݸw <'G'x7jixb }Onb0!Ykʦ97KJG|JDMlXϯO%pSI!vVmZEez:}}v.4{&;~2n6 2y eM(RYL!UKqFgbEM⩅- O߿-*e~Ѿ{@#t߼(۫q5'?M) -}v;ZQD(b܃F3TqO}.)/S+h!(=3~q~[?l:<({x "("("'89`HY jlR'C']qAcQ`I_6sJr)32I ϼh~^Z'IGSߨTb[1cfru> yivgdaj}Jfyr"RF3b[V(sQ<Ɂ\v7~C۷b67Lu$ICARTx<lKKϩ 0+vP?aV {R΃99{{W;,I:s-ԄtT}_LZϳJL(C5/o8'ŕG^(h|Q\oZNtQe,`U`)xO 'ƶʼnH9EpϊF{~Y*!'59`qXc?zENJ-@8p(O;f.1^ ?%ٴvIOƟMgnO 2@\*5J÷M~ @bƦN,,+Py{,`9(ȴ񪚞1se$r>V>YYdGr d֤U,/^WO^GlP )Pyea(I?&~3q/("P9 ٩--H'A-b= cQ~4vˆt KD^{e7T?n]]/mђJ{h;fΗ.Ax3'6Mo*k?/ ջ2u8| %÷Xo^$|/'N^x>S$ sF wTљ#^"2!>{߶a)ϰm(6?",aX4.qSCBn!OW.K\jv~ msU*7\h>uPu)qC#RA38l(i ĉ~[*f<7Zgūoo'Jĕ~Bq}ɩ~}=e`,g^ߤ%huV8sKt B4U|f/9xVo1@7wwrsP@.T~D$ ujF]uTZrDTv 2 3l[(3,N[;)ǚBٓFЕ81&gHն< e6br9uI^rgӯDfȲJKH絮$H&O+<<2Lr"19Q{^]^(’ԣ+H[/ܰ&3 UE;Ԗ^"ToAõ:Wʏr}/5֟M' \ɉ+Ϝm[UOW2Q Ȍ938gIY]gp亃w6^kˏ?8wdUW?_~g;Vobz/{}'p,a})˰e\܇> \`g&]oJ7v4Sogze/4 ToQYböaQ=4sv[$h<Y<$ NG-noz0Pgݽ${JTw(iCViM@A**j.-7=}OWb/i-\}t:p[9 e 0X,L8( R*[[H΃,ITijQw^՝I ZAd\ZzjCΝϓC|\fn(˚zTm>,w$|RvЍ^r5Syy? Z_HCwm*gXR*)B5UFt{hmh!wlAٴSEA|Q-g,bayyV)_ |u1`1ylj*{#~ )1f (,ʷε p$>|%'xş(S@ 5/$ddũ95sP_@ALl E&4 q3Yfe2*; *\Mw.ňKe[6iD,QP̩Xu,u֣YV3Bh[̧GW96oOw*l?s02{Fb렜#m/A/s ʐ+8_"Yߌyl 'q8uQZ/W~H|[M< t,&i3Y6VpZ O;&wvEy@]YFbBfO"/<~B}展s.ĎV(-{ 3ڼonDo3,=(y ` aWg4pQ.km28*pLܶeMv(U||Уz4<*C}Mu0~6#FgQG =se mz}j#{ҩxrSoIH'"Q}to?EjT:P?2Vq.i/ي]cϋWku784|f*u]q~dA` EbeF'c%ŻsX%zwƊ7 O+"`xxKrݸw <'@A E݃?Ѧ≁=tҏY?d"vVmZEez:}}vEFAZ&|, w|2!1:fJ@b6M=-5eӜ8HJG|~}.7zA^_(L @O1w G߹zvoQD(bJABm@Fz不c΁~O\|7Jr>itx<># ("("(xկ_.߼Nz>t~Gh4o;&})ϕ+ASf.ck'se$\y.["OGSߨTb[1cnu> yivgdajnG<ߋa\l?p@}q en\tN8ۊBmeAݻ8|MGP: "H7ogڽZMwWO n+v DŽ(R@Izsj|Kmrj]6$$NiZorZi)fB|^8) tR~)V|@Y; Q)xt9t?銉?b%L\g*Xk?-f7\4WI.U5Q{2|ŸB,R^/>BգO,|f$;0N!Y6^ѱb*Fe z{8 SЧf.1^ ?%ٴvIOƟMgnML~l޻AE2,_=|DǠ( \:K@ 8T^';݃ ƫjzܮ}p|'+a}쨽t^^nv"QlvW\ kҧRݵx_dD~x) C'TLܬgg]?8ӗKfA 9 ٩--H'AmY= cQ~4vˆt KD^{eT?n]]/mђJ{hfΗ.AH絮$H&O+<<32Vg+&K剓ׅ-`APo#&7[dU,{>RC|mRa%|Q/)m#-ĢwٍÝRr yrY/WobVNy%E󡯳KO˭BٿP[(SW-P"?9|kЅf(`!`;߾.GI|l('N\bFs||V|D\'5 S_dr*s6l_i*}O||yM,e9&-Fę[[3cTz= ȜUtqq4U|f/9xVo1@7wwrsP@.T~D$ ujF]uTZrDTv 2%w"x1j[3l[(3,N[;)ǚBQh^GFDF4򱮬gcu#B"#)6^ڨ+'>9b>-~>vA|@N^k(:eG(crSXzti+Śx 誢Q~bpN,+GvCj!YroT?lA?֜m[UʿJQτxI 78k yUEz* yR?Twl\t7;xVܾX >L8GULF5l'M#_vR}U,f;%)>Țߘ7Wo2;;m7{>#)mWW܅#_$bʶvɕA]3:L[o_Û-l>g~ʶmV>8"Dl 0ƣhM+-O‰u~8)+^{Ug`k#^wQ U_W7Q֗c6h[$`Jw/hɮKn.Nߑ Ȁ׈<413XyPH}ňg=6-ˎƖzsXf_~R)r|lB]Y4n-"Mi43@\6Ϯa'vJifB[CIf&. LL5f៊6 61Blؖ9,*ŐVUMeͲ냣N^@a%ySGO*nJkLn@RGsh!9ȫT fbR*wKnJϼ,}b0 g>kKY.UumOb s,k!߃CS c[ w$|PvЍ^r5Syy? Zʫڥ@ˍ*iO>~wNyV%x w\Q dZVMWuܱ,ژ:P}}o/9[162c6Ki:iG]cT5 GF icgc5B~ mևgE;=Eq˱gc_;[bf ~?hh8]94xخ\Bw,"[6]47QvaJ&V?;w7вLǎKXM*hfY{^4Axed??_Mpx_`Gb`!917U El`  U;> xC{p˿鶜B^\R*|_ѧ^Q}# I$~Y ᢨ.ajFrmoPۑ>"O-*Ry+fg*}sTR!LJ10~yy9e |5Fr,&m1]>QϤO~[ֹ6~C{OCR# w]u:F*nV [$<  @V`/eY>O?S*; #oȀ hqڣq761\e)AΆ(_iLФxx+H,G;jiScAME,Ԉ}D <^A֤w*BMrV?yȏ:62z"mHsNPJr[W*6N b:H~>6ȳ8ęK QTN:ةQbJKgE uZQtӬl?ًʴGc|vIEl}_vpC@ pƧ~gqEtF~[~g䷣-#8Cm9lCg*oBBdHߝ= #rT $#m#w7``.7 O2"}~zc?år9n;z䠇;}"XT IDAT(HߓL~PcO vVmZEez:}}v`8 :#f -`\܄;>jS,1:fJ@b6MzM^[kʦ9?p{oD<}b0c1V-5:90&QD|Q7[T(jijf)H{v߼(۫q5'?My_l,y Ns)[6.Eab- n;ށע"DE>a@"+q~[?5А׊_'.crVh$TDžwM{&H(F5AQDEQDEQD' )_P]yY[$}74h,_ 1K٦~ط\Ib3e2vq2W&IooK+D7hBxߴ76f .z!O1.b?,RQtc|ߋa\l?p@}q en\t8i(Ʌl˿Q7}+fst]A:$Ej]̳~_ "o lE(Iϰo+<#w7CR?3ײ}/@MhHNUńkxw {3\^Pg%i>x0Fo?#Տ[`K[yZxĎ =r@3D<'+M:='sӛʚlgBniL]/N0_C-$32Vg+&K剓ׅ-3cTz= ȜUtqqȨ `mX3z/%-KX4.qSCBn!OW.K\jv~ mU*7\h>uPu)qC#A38l(i ĉ~[*f<7Zgūoo'Jĕ~Bq}ɩ~}=l뛴dgnna\_hfʟϬ%->f[;Xn.5~ ȅ/hXbNHјJK.AFQZWeepnVmtMP`bƒm|˚eEik'5uoXQ(_B32[WBC8F|Q l֓QWN|rRo3,,o}Z)}؁V/׮QR/uʎ%iѕ)+\b KrvS mVXsÚx2@WzP[zU~SI D_)? \`gs.37\eM={QyH~vAx6 zZN;auO>(;kFK/Qeeπ/s¶`ϳ,)m!̚H@ڪj]N6;61#[zW5U6N;yi̘RZ+yQ-UMa?#;|Še,DY"/Rf}:yF\ٳ]-p_Ĺ~2.,zÔVDB@br ݱ @ ltӬDم)XLD217Uf( *Kau[AVBP>6P` A./r yArK8~តjᤇf¬D62F+g岡f$G/+ pP DZT4<+7V̀vu`s@"dR@2֓ L̷qWO9񬷹(pa8W´/"A~q~$ U(Jlv~24 (Q '&Ě݈ho.`ݧ׺f'3goI̠l)ob }f31~鰼S<+^\V}u1`1ylj*{#~ )1f ȅ-smG<Ʌd_,"n7ueӳw_rnV [$< }IѠ0 d v<^}Q3pDGyyvDCr~!Oi!۸@I4abSbMj~͈G䙡{Rf2dz%p/ee1qQT8;;o _bc,H\_-a(T} LGk$i&80'fdelUv7U]2lF+`@MiY YơSleYŭG\gжW F>2̹,|/x Ua|ŘF2vʗ13E_Ĝ7ae`bRzW6^iaR2h8c젮@41x1ۊ0E1kKkk^!qAdP6]0:=XL2fijVm1k3<AwuAgs Tnj7A>9S}bs+S_FýgymN7hn ؼJp˫3Gh( ֿ6D8q&In&3OwUޱ&q:weKGL櫼Y _+yrMAqb~1Nn[4[l[zJOT=5ɨv$*oA9;DՔʣv-/>yY{^?Yغv45A{A!RDr{@讫/[NeGM`}n~ˤxۮɒf]g#<mCK_ xtrvlz~[5.\huZAHT&gbEj J9J)C޿.M2і'~g*oBBdHߝ;({&' +  c]@\/TEYxz , H8\$su$0fzL0}q q!kı8O[K?Sӫ,4Jϳ0Թ-79An?[}XmkW[`^Occ \ʐ+ҵТwW V}o ((O3\+JxLJQhtqR~Ϙ_IZ>KО]oXLz엃G|ZJ) K>˜oQU֪+ *S%BVtp>P*ϝ#l\ *K> 3Yk7࿠hS(f!W88`C3UCVN hoҭfKNJy瓿/ VXحXOvN\x^€8 |v;t- &?B+\_\MNxWr_8/CW}EUjDbG^޿tN_9]JݵY^Xph71u[ #r/4׊@W";X o!"ӊ(V.k6qbk ⫲KeG#AA7ƙdžtdZrV݊hl   BCHF8իcBNmk>l/`2|Zx'Ca3zs ٯ2OMۮeeejֈkq^w &|^qxާ3oo-hNʷggi{vg_f>6&G/r\ 14(pk_/ym6;oa:kr<ő+ zQXv1]?lm,-{gvC3Pmgw6E'&dBg ,0GDx ~{>N. v yƜ%'^{>]vGP-d~]Eg}Jh!]ł"/.ny_ IIFS7ڬJX{>8=q!|ɋ?~K0ecP9CGƬȖ٘3ț%F*`2oLsald09lx#U~Fhl`-9nC ?%: E(8#ڱJ̤iϋ'N"{Oiǧfl-)l@s|6ka[`!5AD" ܰ9=S7 V/GVK_ Wܙ/ō^YQr (6w&mLǛ7w06O|}kN-kgv|5iCFWk6rtZ6NB;oSx(%ڡy6 $5g IxxK 발?fLqm}Ɣ1iCwGu[fA_/z^EܾA[мǦkiڷ==_'m)]s((*U)#bŴy8"$FEIrS# :N>,o||8O™"Ҹ^|޳_W%$(Lf!"&*N ufy2ky_)̸|tmgfm9WivQqڭHX ul6Xš|ºWNJQ"J-/G2[UCkɳIx|5M5ix x:ȧ/W>Rb8 e4Bā #'иe[snF  ;13vgk{vV<0K>xJTmxo+xbO]5m4N]yAdL'&.vEaG?>naAX%iRU(LBJAĀ4u!'L9^zMp耞xucJc{ AvG>}ϴ+fb "޶dj L\\[z<azGom&F؛d!۫AEr%ϱ[q1}e}}̱f ~| &@R&l>!vlG#cbVP eclz^Gϳތȕ9Q\۲K'@m*[U<(Aj^z&MD|]+7],{&HUg&. ([p7F- .JiSAR,ʹc>pq o1E̦+7sBU9rX&~[SpX>ug`yR98r,O^y pDZc,lj{[`}=D׼"40Ưꎻڴh8/݁?v>̻f)!~GnMxsqr䝣.q[*9"NKĹn زW;'xҰ w9>4tG9^]תj1 H\Bd}da[m}3a uXT|yzjE{u{&S3$UEMĠhS nj۾2+pk 93ו~^;[obCBVƌoNȳYĎZšٮ⫟rzaa S]93 }c$6~[x/Uۡs! 86n)azNg3 ]SӘIDAT}ר G>$7BRn@w!FQ\Byn1π:kf ]0Y"dߏsc9ur9>]4LT5A@ط{NCхK7tSTH6]LF; dd@N i*NiIVfI-,*v+l>7hKZx(Sgo|,*t=pPXJLZ܍SS7#\]m?n) S~s`qR B:D"e >NR:_HFp0T gIڊ ]fMŚ!رrSd ^ }>p,>a2v皱5q6,_8//EF!.]Omحѫik7NJ@7+"/o>qX6^#D[ ܌I8NƭRە<nFxAϓgkIJ T!, k^eATbA1[ VH, }l+hش>N܄Eccn{n͂1  ݝEm:OS!g֭Nqs1bI * /= A(T4]n*P{14HTqo=pQNBGpIE-j9'qFIzq.ґ_X6Yf+Ѡk_aS,(,Jt*88nL,_A([%pw:&.] t*Pݎwe(3AZDFR2v9U /k9yI7>UMp 7+\*ć5,+il##ו~ā: cA jZ<&%O ΧOOrkˋO9%R='4s+%qLSszqcfԀ LQbD4c]լYi23ADE!}wB3YCf= kH Q4鑌U`NQB_V?݅2g 8W s(fIO濦?9r]cvչ>  Ln5 c ǎV]UE+V1Ev԰Ngn]+Ú X6ϸ9^%0q֏8-KFS[laOڹnR ]矕Kp.}mvw&S^G&)5JJؿY|ն_|!T4h^bz>W{(DADn) `E]C)撥,pI藧I8.gLǚ޸a0/e{o-;戹dg`ld!Lisz[,|%MJyoesgw{ߑsq.gkzё`PqC[ֶyn79pc%Y)TsK_+шT33qؖUK4mM}lXYXBZK Ѯ]M{YAT0ǃȔA ƛ P}ͳ5|6:``Fv\X9iڵӔ+Ӕt=FYS+3Eʉcq>SiY_Sɼ?iLzwڌCǾ _f2| o ᫛Zu;ѻg?秦[lx2ggz , R060SSZ(M|ee'W~8$]-Gom/r~s8mVYя4;o49/9K>av7+g?}Y0ܐ1k 1nu=kԯGh] Ooy~B˧.:yqQi=#7c?cX>g~q^}>@L3du1۳g1nX>EK77]@tF8mO]´|Ev<_Ն(:.9)3ִeӟSer2>YWG)+7h?MRvEFqqE%ϸVQda,3;Hѿo,d$lmNy顭{Gc铕ҠVir f-28/vgg;u&,6g?gZ*U/ .0P}Yķ *+1?V뵙q*c;'=v>ƏzU7@!Eq c~9x7+Kp|%A8wkJG-L9(H9=joft(mRq[56;t]ParRp 5qKM/= zU\*a 'mX+P*W*`P̚Ur* ,5@3Jk *p[Azpy:i@CP @ 9hiϭAԹ{>Ovu[cp_C% 0#ŗ0T]Q_x}q]ZO$ *E OiyVTspZ:)Zl˹  ,".n2JM)^ *Pv@ȁ//P#  QېƿAdx%iE 99O'*]pBnJ{AADFzF~a`\0€{Fkh$   nDD߻wPh)   v.r' ]c;sy܉w@  y5eJ4]_kKJw0rkNsKmU!̐ܶfI3 k08Ρt:ooS|zY)jt7rPv"wN€; p-eiIetA\Wƺpi3B {G!˧sÿ!'TBi9ʮK~c~!KQ#A>pupKx-j"o 17 Qy7RqqF   "ݛ~ #QI79R* F HAAUMiSyZ>_kS]U#>  * Oݛa ps~.D~K€  Oga]s>8W 0`$ M!"q@AATUQzӌwBӱVӊܭEnā4D  O/+XڂN+2Þ[WH   @p'FNE!ٟz + 1@AA\bzEO ā@'.AADeA ?y_Gh:AAA1o & iOAA=u~/J1΂  ]?S   O<0(;AA(EqN}  b4I0AALSAAA            O?$ڂh!IENDB`art/austin_mark.png0000664000175000017500000004475213365125060015014 0ustar gabrielegabrielePNG  IHDRasBIT|d pHYsbb8ztEXtSoftwarewww.inkscape.org< IDATxwx\ՙ?5rLs#6ܑ "aBBERMYKz/dSmI!$ %掰A@.mEe漿?f4Ν;#~Ǐ{y5{y{W Q `2Q 3f`3_2 }^`NQvCgDxJGʓ1xxq#G6 "<_Ϝ:EŢ,j$+6L_ϜZR lZ gMbلacl1l؆E@$2CJ`%0?lb];.^aSHd&8=,pmS _' ^~mT" =grNW},y^r}p9d6h2LsK;u "ʫc޷ y Ne md# ɋo|F8<'p%N6md!A/ÉbWNۦ)= ?ekxl{"G DϖNvmOD"SSwЁ¶'&ٌpᲵ!aOz/ |11Xe ˔[ک9\- pö/SnRp^ضDDE-_O¶\&D1eW!0Efmcr~ضDDÙ4c婰 ʤɬ ֢,I:N^ #"sW"툈Q^5a1̄OmCDD-wm05 =pU~5N-<!n&cmCDI6&u.'mGĔɰ *mL01\ELp [6\^Q &$Oc mGĔ㙧/4氍)(/ ۈ #2M8S ړ֑>Z5}aTjxe6LQa10?/E9W M Jk6Lԁ#ێ)3O>ź\ 'Im"S S>iя/0l ӀQ#l;"zn2ރ9^i ss882l;"[Zr{'Rlc˩ZD`i׼`yc&DLI~).88]!5^F0iYA 툘zd^;W)U6?¼0iiQ!(bc;<-jA$2N ۄ)rt1 V״(:l"-FJRgTL~:¶#bj!ʕGl hVL scYLD(UNEx# 0ǯYR)bjײ\V_&EfiIS,f$;\Yh4Ɍe.^Lێ!~t-WSD`_f21;gߴ^ǎjtl-#j 9dMF5"EF5h0D柯h ێ -WSqZ(8ya9q@SvDL |}ZvR5^HdFc"ƙMK;Ƿ|L8d$2#Ȯ1uPZ`i'Q1F"z)FḰ툘2<20+X@-ayD{y103l;" N\#{\*j=DJ3'?L~\X1DyZ}{Dm(|kP[22lUHMJ$2SmH>۫}\:]@ⱗ;l3FCݯF˥,q4ѡȈYf1#i*٧_Ԍhcö!b#- mG1 x`Z/Ԏ¶!bsNۈR+zU$3<T_~( 1I '^?,[˯:jJ͈d"7[:3l;".rQ 5"2fGmGĤA3aQ.ˮ naK%Ԅ4*-+br"paK'¶ -㋚c6!brVtװˊ.ԄȈrT6DLJn{L˾6hOjRdDl8uQ`Z(U h&(Ϧ-<!!|&dE_Ra19xZc;GضIZ6 \pA ==!48 a4-Rޙ+*SLmCGrZ:AT4?2j(rw5J"#Q^De;o.zP;KP"S=$l"jzOfR=O5mgkl$2Yz:hV ųCM\ܑ%<6|.č+*2(Ϛ=1 y\c>i UXeǡw~OmScB#&M7m҄{g k[EZu UdD9$ҘC n|pn9L}&Mhn~(owE{$咲obUoww;h)7Wdn\: #Ū{!"#ӽgS ڗ!|҇} g̞ =&&)i;=mXJ,~O@ u_̭`nc̮dbv]#if`x x x 5͢'n1ˈD7%m,6,2=z+ jmTiKkoXu%I]^ 7ɲ< 'Ŵ1vf^_Ƀ6/T(YYdCW;[%OJQ["s=zJ&1wDx:?oJ@t&`%2֥:MT m`ߏo8±'6 ,VgՖd6l>_*}5vj倿lnT -GZ:ͳ[ fjKzvߡb?hd-d:S-2bLxM"G7XTgb$d O0'*gly7w>-@mi_>S |憭VRՁR,Xv.EwT^ASsXwݘjHTnr! ::P[j}& }a3 }"s3oXƯȀMٌfm`O aj_d^续EZR[,8w50gk"%TR}];NlljZEfz:&gE̞miϝAeAm-Wj_dT:+hQj+Wo آgK7jK-c%p{ O&g֯fW5<VTf:7wgP퓦X3dpM 9H?z ¶ ´qga>PlrX'gkAӦx"':T= LYq."˷~gMgq(l[8 :3ToC3ig_7828ɇK`F2qDfɫSؽ<@{V,[1u|.@<#' Ubi^Q~qgr=u>uhh,B]bYA-ɖ_8c s>-Gy x 1'Qydbwd7;bQ]NffKLkf6f3A bE:`sXq5pf } lفM`HC/ ZiؙdAAu0s0v /Jy*!<1y.lSbb {~fҍ(=xz=2`Qئ0Oc< \F`{ئ&ziME.mFh͝`TL-Bμͩ {lYÒscơD~W]$3NR?Txq愆p9[\#mJH Blj%/%2#Yxہ:@';@>Ė?Gy&}6eL[S8;1w2.d| aWad b-,xeݺtF?m:ӛ%HtլM+A:/l*bQrlc6 l }F+NTB,~]e?/Ht ٦98a[GP!lO={35ED+!";8a?0Ӽd 3P+RjЛYDBaЇ%ef24Mo=`=8e&0a0\2d_kP#vdNDvAyO?9U:A q^vk_G1=ł77afr ێZm@Dd[nyɒ%a6DDTU}l_ ۖ l\X,߯% h&0uuu_xZ] =I$g#Ĺa6SV]#"q<u8:L&""Y ;[r̶Ǐ ưD&"Bڀ[r[pSe3g<7"rk[[ۉQPD$HWU }AtM.m҇z9ϟhѢ?Ã!=D38s8UF> #Ԩ1[zaLr6 "L&oa 0.K+V1mڴLfYUbfUͣ7dTWDvXkTZsƍpg6p)"骺1fGUAbŊڰ[.]immm ,`%YD^J6U:8#E}9~YGxxxxxxɡ'6mڴuG]-{f8"U}c"rQ2ʕ+bkvUIooxrǩei& /EdvGDvczիWd2qUuEœqAه3fd2HW1ZhѢ;;;3^͜_'"KUEyJ/]\Zk8?.90Ϲ{PWUW)vT8U;z1p 9"r}IQ; ]`1)00-"oI\k׮߮^zV #|_D>O 1J'KG=U`DdJm2KJ^YjS>wuwO* IN` %u׻{\ Q^mmm-rڄD qT@1===nݺoapZ%>$"oy&R{ X/:;;3]Uo+=^1*/9sQ܏깋-:u%'Rd2yuۀ|Y׿0L2r,1&L&sFWWAL&?U%x F>P? ˠ|=Jv'wxŌd:a@UZ:2LK*Z[L&!O^m km`"sw3rh}}{mUt4|(gWqK7s.0rWWrw]w(CD鵍Tdk__>x⋽tRhS31v+/yF(ki[YdLMWbOcw~ 1P$uݔH&?wx4߳"~^q~|ҾrфaַȈr S8LWb;Jk֬oppR15kL?^Dv߾~^hDQ:֬Yb WUOo-uǏ3|GUk޼ZǹuݳR?q..,LוPU?[:{ы1QU? K=9>xWWWw:nzzzvyՒ"388x1DKUNu"xcƘD !N?LJwHLng ИM xc&t8lK&ʝԞL9\k^u~lJF>=R?f$O$m-q[U75㧨Om'Bv7Рv:l!x$.JE pwn`|זeFU͙3ggvR=Xi"R#Q-~TUYEbϷa̯>_@U?5bz̩aU=H-eYFkzMU#Ykǟs~l|sCuK tg{s3J ڵk׫<]8k d%ѓ ۞B'@+hioL&H筵M_:{V%/!{޽{pYgK{{{S__ߚ}IU?J<-=įGy9s ?+V8\0\koT ~ڍuݔ8~PK]nݺ8W+tjΝ;BWi>~ !" ׯ_¥Hʟ%UB1N?g2~|fs"wwx RU뺯*0ڿy67=6mzuݷ\X`zrlStT20oU]WEdr3NKfdi~1xY2ܺV\!C_c,+;ȸHR_pq>ǯr痎g[[[1ghY3O)(L^/"0eCv/ tǎ4[U=%r]GMˊstǒMP Ld 6\!}C5  =^|KϘ1c=~Z[(r5?OUO9Fv)uuu644%2emòEK:K&US RE[";ptڗd2f2t>JGz2Yk=w޼bw|Kki֭omm=xɨ.RDݯ!wWlx[[[K=1mÆ ϊ9v.!]%y"zs/`DXl˻7?0i`H<Ӱ֖%dr "rkMjNdd <ȐMjd2VV{=_`&0})nyQOw]s] 6l%7jkk;^DcT')dJ&Cbx!ɔ z&*ߌdQ,cD3.XZ33?Ƙraڴi^cub)r';OFD"qŨ{8|_X,TssAx<#"\WĆseXϹ=@ŻU^L9ASg2:֯O&;dEqC(^bƘK =s} M8_J$8\}E䋩Th.Tu(cFyjrxCU8|C^wfŸ0v=_.u=1Oc|dn}"P]\,uoAGrwVRDL&?a3=]~Ӏ'\%c)\y&N+k)@!_I9ڵk+=\7f&V+3 - –afF xK~؇אiڵK,)h2|r-}3EdD}w$ƴL-,3WCn\f2P8>(+"dS7xlL1&|'##|MAd*Kqܜ9sO\]RSSazSQYkp]drrk1+G.|D͍3n"SQRXkJ˗O'Sp4nŵccLk6 V,2ׯqK/nn]ɑoq-jskW ;7Ju:^E b\k*)2䡢]B䶖G!XNiS13X,Vxd(˪ҬY*KCI\󚚚H$/.FWZ8wsb"b=gG@zO444<C %WF[v(?/RPʼn O~MH%2A}x9@ ZUu#$Lv##ohhdS:|Èko۴iihhL.ϱnUf29Y*U''UuOnhhx:~d^w[0"v-a^?ߑd?|i>{BDFt{8LRWL8t𒟨*3UGOCvƛ E(ynuΜ9ዌT^`n&˥L&$2\?cDD"q{<_{)cc8>H$nmmMb!'fΜK9qoo_jPEu;2i͚5f2nݺ=B]. 'RUb-Do Jd :tZ~""/83hQ*"'j1KD.#3lG,FDjjĈLdrPCCCy_?j\ބ\n><~Uw2" 6mZP"S"T x|CnUl1T*"{'Ɍx̘X͙>"~F9^򒗌)TGdHxXeߒ1)7UDz_DMDw'8(Т\1ys(3gi^ogj3U."|/^|=700<Ԟ-(iu201Jd*T>rgΣeSV7:UVEH&W/TwNJ6Eq]fng2^-*2܁r`LY"3.+y;c6j\rAUv )Q{BVM)J@[ӯd2KR$ |YqLƋTm&3rD޽{_Y81@IC=2z&P/ɳ/:Y)YfZ"ٳUߓ.࣪󦦦x4ƌrF>00pc/yǗ11x4 u )UH5xd xMF\^K)\brzGdΚ mmm-IUut灂3} Ȋ_@f2I"y+/E*s2>y A8}K'Srf*"ϗtƍ簑ǹ$h)}&8:WoG>)[k=R@D&r!2"R0]]]bߵ`WXqP.F-dJ~.e5w} W06Lnxw  "kkkS (Y0%pPJd2~W\h3a6lp]]Ano/W߼ב-^3}/6kr]w=Ej(sȓ9dۛ2Ռ])٢VsUdO؎Z466.=䯡,"Yk+ LSG$ʢ@5ƪ~'Ik{\[jdKcVSs ϛ9`٨kj뺯w]Tjm*uU=}\zɟXU$VUϳ')Yl9O{q%A #ƦMv/ZU 1|.>R__𤋮0\Kj>ZTd~T%nn.}~멵u)lNLRE"d2T*D"fU.w}S:~H^K$ꖜ&1х0&tNxdF+x<|_8IPy1̲μ^?"$h[1A#WբUWׯ_8ENR 3ouਈu݇^.{q,v`^ |IU?b!RSFbx`2w&J}AUDѧ Xk-U<"S}S0@fƘp]dr]< ؘ|sʕG3b}fȆW1}GdJylrIR֞JT>9CnJ)53ƌ^DHBJGdT紻;I(3Lqwzb/%/)"_,ж1 idӗ!#"A,[VNc%dInXW9^.뎏d̙՚͌sz+VլYfѕT 6?00pc Y--- uڃr=Q28K"r:eT@,Wi%(w7"sQh\UV=M*?X;&300kT52i$s^j9Ex*w^)1q;UUdr]ΗV hUMTҾ>֎ȬYfk|W/"7q;^v[UȈȉc4FqGapٞ"_kkkE2L{)ܑVZRG*6er+s}hh]c$oƘL'>jcuuu=ǥfg-jy0HWB~c?w~tܩ%mmm*3 ލMT!} q1TsjD{JKUdrVd:50#@D]__r["={-dvuwwcGCz{{ ^RK129+εcW̑G|v vtH)t `)~;,E]8 L^(QPWTsy!KٯSԵtRMx 4)1l1-?f #"_,g$x4y>{ʴ=oyrPղ};>X^{d!Auj JrKRɹbƘ7zwtkm>yi OIDATL&sEtT;w5H}r4hh٧yUU+VF+*M_MJ|[[["s}n(;6ǩ9##YjB+~xj~){']u}[hQȫG~;w/Qof̬YN={BU%h~>3y1w'?8G:qOc1o16(tz {=q?1& yill\3RdV^= #k'%}/dɒno=r֭su=T 2ݽ%Q:wϞ=U""elk=<8fq3< |G)s|qg9D"qcOs`= җe∅H-'y63cƌuvfA2ɥdQm㼦;؛L&v]V' ܄<7<&FVUO77o>d2Seqkm3" SdŊ\T|*'0eA)"q1YD|ЉbR;C144i+t::h%EBa`wwd^DN}zq^Y__Mr]sy"N>_I*.ǮqOMyqiӦTկjyO9rQ9ZU+=stKs1Uws9:Hq[)?wqZD.cLPL" X04^.;w߳L mIT5Y<|ʧTFUϢ_槡1K"c̣ 544<ܛ{oK&em{qOߩyX2;tvtʕ+$.;,!;d!"iiiy!]*RQ )*+$J}NFU/Ӷ T*jtT֋^ؼy>O]]]Y~\J?1΢wXBPYjB z&x<^QjNuFTgJב ||_̌vo |Qn9s漝3E%o]]]["G""o'9H~;SCCC/v8Gd2oDkc]\HpRc@{V_2ct""mxCu"c"་"M6.|z? L&xcP}CNfj>?("'KD"x>cx6{2ӧz$|`fK~7%6lذu\=i>K&E@U0N?v5qU3g<we2qimm/"#1\>)u˩`Q@u}}} | G,uKOцWNB\iU}TDW%xh7N(IENDB`art/card.svg0000664000175000017500000214347313661542344013434 0ustar gabrielegabriele image/svg+xml austin A Frame Stack Sampler for CPython art/austin.png0000664000175000017500000003733013354232100013764 0ustar gabrielegabrielePNG  IHDR6Y%sBIT|d pHYsbb8ztEXtSoftwarewww.inkscape.org< IDATxyx[յkK<HL(q# bZ2)-qN@w;@[n{;ЁKЁN@'fh - bZ4ؘĐ0Hg%?$"K: tC,aٖk5Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4FP,BhN8(4` S ƄQ 1cvFBx]ҍT;Fʿ|<3A GK¡H [J փY`}+g݄@ FT9p.  5' `8I)'%V-]#y4F0p bXZk H+Xz]Xk4ߝZa2@]x`\»]kn9݈teh4 6E"===Z˲[*x64̄BwZ h&ivm'\rKٓ ]0(27)K8Hg%vfAKf B7Z=8s Ub?puK7ZFS[ZZZz_[&9؅c\$$,heYH#1Kp>럏FoM49e h Eڣ.A0&R`5ashULD? B_YbjɺP3 sVieYq =OZF eOq,2D"$y/3*ɬbmvϢ& 8$CJ̖!l4Z& ,h@a涷7ϟ?j~3f ~ `8="z-9s y%###GOKV5wZ RM:;;ïzS(y2.F"b"[yk&Fõv_+8R6LDL D"t-e,Ggggx۶m'I)OADG8 okg懈7e TC)G m(\Jx^Rn$ DAJP(W1%NFDpZ]]~˗/#7x-?0ks@DP(+Vfj:) "ڋ^DTl2EDl !JW5 c'(4Nl{Ly 1G8|r5#RMKKKɓm{?d0RBD =t =n={v)Spdm2ѕqY73KwD"aS3̵Cp WlB֒fndz"@3'QW<ƱX foFf}࠯`SRT}8.Blohhqk{zd?du(u m;U&~RvnaFD7 Ne˖ ;,iSXs|+B^fw.cXr`Yx3,lXP]]]k~YoלjID`Yy'K)o_Pk3_H$:mOtyYJ9'LnR\J ϶eYerGGnjL&c!RL&Zja }˲Svb)>u%ڶ XgwGk|N"Xao',F?'RJ&ϕ`Uc e1, )˻儃_k9ǟ,B))@Jt:=fn,,}˲~:})K`bE{{{ub"fSYT7wo^zD"˲>"*r !`Y֗B}>:R1ɗC0N0~6AL&m{. ,?grCCDpP rdw׻kP<,*3 bszZ4Vf{J*u|O9-eYkI|Y@rpN#R~:/30UȶL\& Ar-T40-[6O'/‡Z}*AH+W\7W__ߣ*\׈#|!o(!;#xY̙3$7 0U˲z]d^ %okk+Nkz}ྫྷbSK!0kk#Xk9b```s&YZx;ZnV߁EMD*:;;R{kH9Dt%-zeYW[Me}ò9D^hL&=0=)<ZDeY~g~qt[nѸG\a>}.fTφĪU60\җY|rO; *V-Dp.U43M3pJ/)* Y__?lj;%8>Nq.QU%lNߪ2VQrxBv"KT\Sk-GPp\堕 :̼L&eMm2xRO*uQڞmmm1-x+VBDYRqt'" u"R^.gIrnn eBJe3?O$YXd g]$TckY ":#^21 )euPIeY% ʧg{{{sN?yRPl" 2iBS#Sx9l`3*ǐ-3XUl?SEpWt:}r- 9ӽkfdddys| IVTXՅYsqe֜eht;|1s4@Tj}$)9я+Vx4͍P(p *̜Kϱcf'\c͜R,vN27Xb}p86WXKjL[[۾D\]n~9π|_5 Dtep.o/z;wef4U؇VG{)DI!P^NA|nje:۪(de1j'PDY e|@k" Ge\*KH&ĥBQ3vSufH5,!ĝ>Pv2Scbt8ƿ(r0LL HbxRUu9uq̻$PA&QH1tB[Rm%gPSSRi~4͟s00-F__+pP;Pk9 e-H$P`X` B^lj2*혠 pDDYIaQY%RʒyvD֌dnbK,Uq "ئMÏ8}GJi_.1WLn(R˲VQ~`.EOP(5U[YG)Zٟ{d" 3ޅDX0041r=炽9#׉rpp]+>sBpɼ|&ԚAs*d'@J9+K)weY/544\loB"4 h{fV>0 ]' p7mYJnP[JN_ETŒx@fwϺ-kإxQ;=T|0)u-7bL4i-[NA!"U=!J-x V/1o"e~3ܦDt… 8 !(7߹sVض, s⽭"~(eTQ~jr(%8/ 94e -tn=NsrjWZ3Wg'Ȗ7xohh(gԢ3).@ooze; 1y| =YH$R,7D4YmYGGG)Y9f.sI(*Vl,_2H-[Jag7C5ycPr7n`U$,*&v+0][~'\*XKp@X5zp3g !8( 0Nvx0}*؈(Rdf7݌˲ϵr30UMMMOCP%,3EH)|(L;S=DKPZr~Pqw!>"̮0OTNRT\v*fϞ]P@Dw?iS"x8Hϲ`>DT,.HyNJѹDT,_E3W$)SpnE!<fB@1'OIa R:œ "҉Dtb[[ۻJH$`|>OD78?=T9\Iy5 ܧmo˽zXPv*.YR*D7X(BU-[,')q\ЂhvuP9Ȗߋ “rʧDgosUVo9oŘ掎KoYUDt>J _`O777<00_rJ BcA2~[UtbÁ[m- `sBLp 6MYwWpny-Hp64aa cD"/Eq"UZS ۶Gsp&u8)J<P"Z̗ZNݲD'n.MyB[E0mہ]ADEVErybdI+J1n:,F'xRRJ&30') GDNd2 7OHRN/5g$ߓH$,x<~eY+a|> *쯦Kv̙AW( @"j')f~~L&KUQVRʊXͥ "tc}}}/.\s?j>mOLX2MO+G8/Bi1)ʉN y 5 @)lyY.rXY6˲D2i>>+u|.,;w^YYa !S*(}Xrf~Ⴏwx5M׋)H$21A7aG]jB'e&K,y+pcaVUaBx| X5. X%N'iY?ӍǫU(up(V2?oGqɫW>ҷDBQ |F/Hŗ~\)bcUQ;B*ؾ}{-b|aY3BE|5.i n#j+LŞ3w -Lf.f"uhigQ8&LVfp ;ךfy@ѡ=N,[df2o'KK)Z0 Bܱ[{{{_Z2j$Cq\Y ӣDtx"Z4<<|u!V,PGdS,;BqݲY@(;raUq0kV򹨘,!6iƅJ&MT޽ʾ~2*B2?Á-x)/mł`2ۈK ø/HY]иB"Ȭ7 ds܎GGGGc&}otvv2<<|+.!z_~p㒭vZI(/b|R1 ~\b+i ?*|]J9&K2q CMLWcC.nϞ}p_+;eʔkE$3?(+MDt cqֽmۯlSipy^Pr1JwbBr.s øu2slݺupCaw0]]]J0U"*0@qҕpi+r_ _*i 3#Sp?;薃!ӷʆxzǮ(X"T)iY֜x<~eY7,8c60̟lF3hB4UYsEuRLH$.e!##3\cqOrLRvڊXB]<N뾾GՏmAM(na2fh 83:r0:骧`yCIyUՖ]#̼8H>϶틉ho"zh֬Y~RʧsS !.@/4M6+y+-RO%2`˗vӀy rfaH$~^`P%?~|`f߮s7H)R&'4yC|#}BkU~aJ ;aܶ~1'kؖv+e ۺKh hd4sm"0K)ׯ[&|l31~c#|w" B云vKEa>M۶]m M=Dt2+BDi&wyU~tt"{"jr7C[!RʪYOwp݉Ixd |9?OĂY''[ܶτu0}/lԍ7v\JHaաuuuu4 c6ݎO30}O[I&9IDmB,Ea:>4MuSx<Șłr ҉&BTDaJ) S?dr3%+T7iZ]ԎxC ⓫ ԁ3q+Gb~!k7P$vjm۶%wwQuGD_3{1۶ǔ$8>`q0ȋœ4_9?T1cܹ ?g۹`f$d2w@DM)baB`'ED3 sS:SRj6&&m&V"})/|QKCn6My5$𶶶eYq4_p V@O,kaJ~f {Ea¶C՘)qe2D" V˲^?)m?sۻkpy|g|:}``l۱xQœ7o4Dx nz _=힦Pz(SJazx)Q [\};eÜ#5".lp .Ącdl xi aKGd KO c%ߝu 뺋U1 4nAz{ߙԸJB0GdWW>'xf__˦in˦RʷxpPTK!mC GRс.79 Wk֬U3APf۶zb)L847-0 k' P`JfE(lP`qR75dM,~+ohCe$o ʪ/!V͛7o6yb߼={v=FH)SpyJDŪ[N0mۖDdΟ?H$1M;(vΉT*U_W ]CycL&t$b/2s(]}=* pBX$bsǛyſ0uI^UvM8k#] !W+Ӽ7cݩcߡHW8^UIDR`Zk6mڻ\|YV9>ȯ};L"b"ɜ B]]7S(R W aSH*:E?J 3*Lυz#xxpd*殚$F&{A1xF8Y}W>{ٲeۤJ>"ZWWWg⭻ x)f> GǸ^g8OQes·#7W՚{w|tߘ5qu(ߚA&˲T^a˿_9ԛ [DɭBwtWggg6hY֙e}!,*˲L/k!ĩnCD^Ry&K)K߷cN-m[3DcgfJw3/j5YPV*o/mmmJ)f8*^qVclI9UZu,*SN!TDvrTHI>&9ܒ@1ݶ-hZG;(PP} r ,h4z@2|%E[]H^$R3V^cS2[[ĺ^@Vq唼W(}]j3<8϶dG. WH&BDW@"۸R*\QD n0'VQ)L}9$5ZYkנH/<]N{LNnjKD D˲ !~{_ !(x)3/WM,+"zôޟ9!z5\9Ξ3gC!ĸ T鹔Rق+09s'w! 9 B(k (f&+Y]ovAa d81I CDy?[њW i^'@.~]-px ^P9}z jѧ*ܼŚ"ȇT ۶xe(Q 6[G.P.0fիWѫ„\U) +y(F/agXNJf(L U\,  .[̗8Wqpi}e!q"z/|T}r;/7oL͛_PTP(TxpK;#Q%ӹdDY5Ms]p*2wTaTq%Dȩ ߻E}A^0`b(Yg )̙k׮=,˺e P:lʲ,{n?0 ]tZh(8 BBJ3ꇚd 1aQ"mW#D(ͬf6@ss]T<פU”N }zE{C::)L2wGX缸g{ $-^ȷslY>DL&3߶Wt*afGw,H)=j!>eXa hti] GohƇ}(QP"r{[lQJbH$Ɋqnkk{;|tjb抹e[[[3{AX8nmۜr.#ֶ/XYΥSϮ 3;csx `.]}~SNn:41Msc4LD]MW\,Bq-r-^RAJQ>uuu'P gА80fX˲'"˓`0ѕIAlwH`dۼ; s9éDP@ۅ ø۶,x<ޓN_7 R_I&JuUa]5M6KG"[ͭ:p8\* 0\̞=^Jy=Nt\t_Uq}yHq9rmmmifcixV]OE5-g;1Vⅻ?;u8߷D{9xqEs *biD^'CP[p&(D̟:V^=_Or;AJYڥvtt(kii:ump_WQe͚5!JJs8(B\Irs]N#!r%-!.sWaށM`\|t"ɞ܃#imE| 6ޯ\`Xu\'!!{ ynU422r!|1$cܻD"qy+RvmpɎќdjFٶwiа mPjs0M3BD_ b-)"%1Mp(Wjl ȹr[E 24 sm U4w} ήn}ٙOq`M#pϮr|s&>l޼Nb)nPʔ*Wo iPZgR "r?\%"UXylmmnԶ xix2b2D+Vv"W! "y_uMQ4Mm M[C y%D"=kaN{ $VZ||͋߅]NmU0E@zf.+Ƽ(9KCsUh _[/a=;*jbpR%LFFeØi:,͊+^dʣDVA& XP( [?=s43'}֯_AQٯ,W4$Xtk/N0.T~ܲ"hqR 3@t~@?殗6_-^!fvF H[tt:dxl9`b'Nq{moX#G6+o zFapt^u{n4LC4= 6L4P0`a#x_s=ܰr-aE4&*$b 6q-/D $132Mm۩ o;7_7wGVZU֭[:u0/m37-`>K.*DFfk.4w'*lC]f&s0D48ĽŃe-5{SGrz1ùH_b3<8.J^qt] i+EpeY=)a\DD7 ,R>صCTކaMDg{㍦{zzF<G0'/hk}+KKb9%$(_ ,fNYރ%ящ뻺`,@QM h4z\bM*,`*MQPX6p[!Sf7i7%R;He 0AM6B+A4*C6/Cobѯ-*{iSN+^H1d-G<R!z\7lfS~P[|e˖pn ugΝ{0r(7b@@K"" ݶmK&V{@P` V|?OW?=~C7-uێUŲטL)hc7cd?W<qp"L&7Y "jc{/ ۶D"Pxf F6}>̗#UHIJyeY? R f>(( C|XNy& P3M3Wg>ob%q2G!nK} Fd?lіe-Yr [o;oπSP "|'!r$vW(2Ot.}i~GFFn,a"4$vf>-(z˲^ BN7tvvF34!t)ewV[-DD4jdmC~\ޅ̛7P(t+1(!!NfCJv9T03y(XU48L܇M!sca xig!۶):ED?d2_]reU5ͿShjĨ< LBlΡ<=)71 B3@HOl k~Wh:%:;xnm {H8 0!ل)y؉\;o|6O^ Xv#7W:;;"El Uk<`Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4͞I,IENDB`art/card.png0000664000175000017500000026725113661542344013420 0ustar gabrielegabrielePNG  IHDR@, sBIT|d pHYsbb8ztEXtSoftwarewww.inkscape.org< IDATxwxu=wf+v؂AW"%(Q.ٖV,%n)'ϯaN'M;.DɊU(TI$z/} m`u?3νgι H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"bfbf)D"H$G>? 픕EXLZ<d2,-TU͉&f6 p<Z`4 {^#N0gee鹹k2,H$D L7 p8,[Y,B)Rl4i2FQqRd2L&D3HEysǎUUzIQ(H$%F ?@~FQ1\rmUUuhl`>A4= xV4MmŰ5bPe͝Q`"-D" 3 A'[; |qpd{U?O^vc򦛟{NA{W?D|4ig-\$fotq(FV c)\s$I޽{r1,fVsTLW:@rz!SW.XFNL@0; pbϛoR}\Qs-Y"{AޣIfxzgG `@`p.a@詧y?,((lM'~UR~rHƦ%p߈SBRm}ހ))|PrssW\7n|v޼y]vɂ7=hs{r]eJ4ZhQ|x)\X<ʹT^\(!bImİ2JDV%]]?.ػ/}Ĉ4 ɓH.;w>#]$p7R?_^M# ?>:QWS_} zl7At:kjj^\h۶m3$ ŧGjJ Or`AG|a|`jmQ̚]I `ρl 0SDqBrYR0e{tnV3>4:\VUE"؍.@PC]H1ͯ-H_MzT>zqqu İ:rn/ P1rԀ($ "ܼv+,,;z=kuNG%˹ڿwXGq?P|ďMѨx<ٲey9p%& ι,сFce~=X|Ъy:oeTSG]R-X5G!MZfhX2s܂BҢ^C7ˢqYsiw?Ùp'?%ڎ(?sjhe|͇ődE%aLp(ù` 28%y~^YYn^< g@\|z]|F *+OXkhQ]| /YJG0F-}cZNڗgѪ 1s?CʲE op(1U7"COJ,]zM׉GO(Afn> l IfU⦏}V*˦,l&|÷)Ǖu3mXqݭOOu2?z!e)cw)F|l6wؼL>|bil+-h \E}.%ߦP$.p"շ^O0 X )";,t=63ij]\W(wo\0 ɞFLbQ-ZZ;]2֯~:CgQwMq)ޏ|D@chnZ͙`p -]u Ru~tq(N.xV-ylO<8w'lmQwotcJab+j8Q{DAn>],Yv8 Z`u~RPډd<:y䰾a ""A-Aq?/jl!FY/\Fo栺%4_<}E%/%o4doz${0vݸxg̙;ibeh荟έglMFOI#l2ZtEtݷSD?Z핽u "]UQ[GLG"9|by0u2)Fa+Eƣ&T,Jɏf[0Rv3+5U. bhin^ONh8}a^~Mtύkٽ:pqA6U5v+ۊJXƻ^ғFںqGkʌκlVS*lI4iDђ[V U7Nz?6;Kfёc]CDro`3ıcǖUUU1m`_E\\$&e Ψ(Pr 0uuuoڵk>Hfѝ@`c;>U|:{{bH2M:r+`t{0Ъ#oB s_O@[G.`k$!oͽKs֏+wNQhڨ*g! X1D4n;?U;k+}oYj'~A9%%#g;42-KJJ[Vdi[3`ۘ{^\~!=L~n E PYNL5 rJL8L[ 辿1(OC\KQ߃aT$4w٠y>߶I<^:D j5#f<ޏh,ŊT"u[?!)G}TU(YqxgdzzEISܽi?~*';(dKrזDovk >fBGBp ܽ=$'*n#B;ws2w]0nٴ:qkIMpçހm:}UO{g9_>d>ᶀ,$p6@mmqGyۿ&} a_x-i osĐD$RMF}^Dc*NyB?:z+&+R6Եx'㍝^z1=fbWVFԀ, =W>g;`5=#=ǻ8A Bմ~~l*%DxǿDw@O<:moos&L(9k@DTQۜF#` XN1fGMB`vlwr#x, aŚVlX6X{m=o&,:kd@GggRӉ#˯n8dh_zY-'YD`@A 1F-a,[@/dCwI465Cu taۇ8/[s;L7d%%h^c'V/je = Q>o#tD#g}>^u:A1/wq`sVgpSI5P'[;qp!ů83|9onټy!1;S:>?oǂCixӍp8r̄^N}0r7'?= 먮(֖VζY)FNi֖afZ#`J%Yq5 %%n~ EŒ(/Պm# nA8 HIaV-$j,fd*3Sʽ>uz6zfTcpΥeKD*am&hjwkS>S16͵҉^_?:"Ҹ50cރ7|aY^FUUt׺9֋7^S*'nq2V. *rOJYu-nL~,6hxI&~!g dl߾]q:b0wx|hc|q<ƗL,mE'y`Eb2>-&W^Sֱga.";Vܼ&1\.R@<{osWڅT9rYuC|mbSv_? IDATaHÇuK eE^ww.[Es4wBrχw}I# i曄 ໯ڽN;ʖ+rg#ͼrYx /yߧAW!Ɍb?z^.x @2F8E+ZlRc#2Z_-":+?'H8 Ν[r˘HKAݗHK#L,.62|3Kx3߅Lzϟe2| uRh~5u)EyV -F0dRL/r Xp6upK!DGݭ\6wO; MxK'3:XSPHuMcp/͸@n~>%B6 EBt ]@

>^=4iF4gf+bAKW'q8k;ds AETcc,/)@mm UU3^/}o޶9ɗ)4gq>~G2|fƃaZٳgl۶m$(R^V.V\5Ej ׭ۯnr/I'##?CsPmߌ^cJXd6|7E']XEρ5S:*[xd,F}VE*f_hUOh+ׄG}9VÎ#a՛4Dvp ܱi9x5 + k_+9l8ˍV1Cgy/qK+DG$ ŋFٛ9}O;s^^޽pX(]tƾُ}_o~3IWOBopjK8kϠf-I;^C[7OkcPxױHs/czOڋmnh'ӂ7_yX>/GwYσ!ǚ믆a?j;Q:xb܀ $C=8t sA}8|$sፗr5V,5+텘[YACYcObŪySSCgq.kh_t9(0*:lfwA30kZ4ދQ_UFfXN'RPTT U `nO79}UW_l3T8fl;67pxEdNbnI:C UQ*b ˬ Tf {~^5sK*@4l N;H8UL&F `P Xs#q%ɕlL¶mTirh.JF^yل( [!,oQk/ #uo\fhNNx_d?w, Zlp,scr8gtIhs4_zi5^oPt3w/bEۑW;4xKdc,3^ӎ{b#HI(^t/$t IЇ>t]F@?(i1蒊+A"X]6qj~䌉?ddgg)//aԏmK`00BypEip=D|>ΣhBA'I{a!ֵb:PMӆ>og!"|֖6D4j󇐛_@nNh łHtd& H9tY+\i4 :/X*"ڃu#Upڌ4MxBQ>暜ND0-2[+`Z /f*/gxJAa:&vob#R  򲩫|C,P?qlFg(i)'ljG('*"`vܩ !,~ ;yLEwnR9/k9{2"u-6|. 51Χ#ʪl?E X\BBjk8Y<>nbaɒB u7׬+U-//KsiќYmdĒ+WeyI/Dn?2<ذn?)?EO4kTWW--0<|@&F$"R9/OuwEwGnRa \6#{ؕ_Lzԇ8[&G qP4ЇvXvw!YqY<\‹>]jq*;GcI&T,bA #\1ZUS l'HbΜR:u40ۜk—p¢وtL96FpͫϚUAm-q~~>:ٜK gEMAY56dyP1lVtpM2Pqs>*)olv7)~&'*mT\n,b|ZlNrX8s(E.%S z<5x9MV;<ujʢp$C72?A ] hjjRWX>cکnm痶Adϙk<7K"D#B4_z}0ܿh6ͲĐі w@gN5 >ϧ`!0g9oLc)}pc;ȶe0(ɜ E"A0)xãHdgFF8b^n:?_[;8TFǤ) )P )@/-fPS[ϟ=T(,]1ݝ[A"E&X" <LBc~eЩÕwyN5@qYhkR(i"ÙMJ*9t>o p"4oIhBh̪̓>:C7 o\Dtщ%QYJRwR8!6 (&0 KKD[1zRfQS۳>?#!3 af7i!nW~)YeŸ2)D̋ \B( /O7c|EAVke`ݺuzu}t.PcG*՘-->LKER%\ls2 K)P8b1b*dH XнEqr)A q2 M0hA#16B9iBǐ0f!ߕMcn?ch5`X(7K) =@ 0@zڸ X8pBv-*&:4& U@4(d^RL0@E BәUQաVB1x$`6[GBd"f9C4T"D<ݖEPxFEJģaBYnXu0@/ s)jG"&X>BИaڈ$H(lk)f8  @K%L`G x)F*-LY9[`tҮW@0¤q=zX?~~1r˗)Zk'v-i~"2#'(g:q>Z*lDJG,C<~~ox$(tuJpaz{hTh{}qI&bǡ (K  ŐN~X4Z0pѩtń>DS8XfB!o7|q$uͤo 0?O?hQDRo4^E%o@҈mٞB  ?搯lur(A$d< a͡D)XV|=2P,8hO/YB|jOŌt tȘ :Ukg_XZd+o[4(O:2'?!^.*TV]} =N]d9Qt5h$cllyMm5nI9zw,ĦȾw9SM.o=wܸ:q=WJwt{ђ Wϣo.Cuvv7n";'5p]PjՆ9o 5hrSQ.Mv%˯ W{Ff/ OqJAFϪ(!lvMo|6崳xh9u;9yкko^c,g#vs0Xkwߵ:3r!O'p sϽ V-W[GD[O^µK+h;cgxq{5[Ev}e%.t&ؿOV`nCW 35g'8%蓠 .28-Z(J7pJE.`Yr3 E0m?9k˔MLAF J*َ\ "g ..ݻyr0 4Q(7r R &3,*&c>w İnY1y!Է ݨA q9\BCT蛬;J ^=Cc1~CCxW]\FYxxϭD݈8^Y (kZF*{86`ق,q\qb1$‹s*(d*kSH}Ȳ]Y&*hWa&7~n-}at.x+۷+o,޴FK{ F!rpE7C"0f- %b!?~S7eе5 `sm &^:Z3'] ~M?Oj ݬ p Eؼn6ٝnaC*܁BUvB9L4|c=ſ|e n.K+p!ˑ3 hRr[i`Oϻ*uOᾭE(b (k DbIq4sՂ %'QTX@ #ۯ>;ͧNgU$qB09ra щX7*Te sOơdB]'u  ǑE7nH!o?/WD0knY /B&:qð{n% IDATx"h"nڅh,Ɂpqrי_Ut;s^,E"@$fHHY&%KLEt:mAw,9&EEb)&" lf'c6Ά]R~=UuUWX.c]!w/i"wh  Silvƨ:fd4BQ9̈x'QfRo$;n|k1 3˱2ϷJ9X#}涏ӓ':Meňl"b{^ݽP"&LCeJRoZ-*ȟP Ezc ,>Pey(~4<o~Vl1X3VƆuujϕc0bPSQc::99] BlhppSEqe[x,Rd 1i 'IҢj5%LJǿ ~Vc?z 6Ҿ'2SU5o}8p`fFȱA'X37/ɘp8W-kaKQ#$)%2aYr%'FN¯Uy7t0 2܁D !%a(`v@x"=n<N'Ao'|F'擨8qEFleHOoJ(IMP#ENFѹ2(Eeu-qv2_d67/у~Uːq?5s2ٺv%ϗʜg%3mQ㒖tdr"1]|dNU!֭tIU?6SnnީKL?]f16m>ZNoA>Yg-'(+QhO?De;'!Xl!;ڽjWP{ߣ]D6n' \= {[Q}){X_JfI"#~ujH~hCU9y~>ZS`<$wKY\>z ɶ={?g>F;n:OjžvS^# f% `LEU6R_QH$ Ajփl8{Fc] ꍰt(DזCZ b>nܵ ZfH҃bwRH P^Rd j8aY!h8HZ-V3x 7DF(E~Q1Қ<m]{U+bB/ ELevEm*ʢZXPn| k7\M;;la?7i $_Ga0[`K9V"pB:H$@ty<%Јo2/zeϕ07=-K&UՃ[`YZӠj#糡U4)Œe$Z.?ϛ.X{ S,5VK,G/,>l{=Ԣt|G%ca=u{D\fjeGS֩ ˱{b'a Qo7ag֣lHYu:RTRJ<\ka[wv7Ot%`62qFxj7DrؐhzӸ?jFzμzF"g*'qVR׃O|1udDp a7 Ս36Hՠa)--!} wb/~I ȑ _48GQ& ~;Au/ǭz+quMwGe ,_yY=J myQKVEmMѱ3'1SQ tcSQ3DK3$5p]8,zzQN'cͭY 8pKS;s]2!\ L/P*Lv=dV4ֻo+Y2[dX, B;pk%Jz'XZ._#ldh c6Av244FWte&¢ cEۭX,F;<0̐ 8N )ZO֕gDDPk`ۛ߼ \! M2{Raᦺf`FI6,t2Q;'ñcYsJT{zU=dZ^]sH3_f"M+ K/"Y4i鬅4iВpK)[$G\_9I!\{SW%ӓ?.LW&u./MqWh.0^?>h7ѓm"⁉6)c,(a{-O6{@1֗sLj! ۴h=sɊH\d'Ծ^D1hmՇ + ,9YU­HMIbnDF'FPZ]IηA~U9;e4To$|Ysm;.έ@"W CĜ͵F;zq|RdSHm9y9ESet\hE B0Lڱ:'R8}c$3WgXNtvdSc)9Yy.;f"S}VRf19)dj{^:c*QUei#m26OO$7k,i=wQ,߳'>-璌@{] eE3/q~UU(Pe! 8HIm18[xsHkll޼Y$ɔ.y@fs)F&诹9+,cgl~"KrNX,{bUF5m1dk-ڼخ$/aE/JeKL~>*ȺJ\n$ϼzBoŵ[0Fh&?Pej B4מa#:s1)S6rRi\gCnA XIAu9 hQCzGژԖ`7EDw1OA~]^T18b1f1!"'f&n,6atBD !|a6 ǁ!pa?"lc9s 0 %쇪¬z!8<^? <,D،"8(tN|L:mؽqMx$N\q@7a  'h 1-UTd&D"QDL4&6x ah4A !"echVݎ N`QB0<P   *4z3q$$d!#Z Z h+y1QF#r Nk"DPɀX\@! \ *x@ $?{q@`Zy"AX' yp" XL& e$Kp8hSSSb(a% Hɛ [He_av_[8ON69W-*#}5K/b%t Y46RdQ^ٖbmd{7>zVm7I9B/k5Z#u|i.'/=(Sgx4zx=:6vNz! DV'N+I(EuU5rsqⲌ tuucxE~dŇ Le)fs-kf $A*}B!bjQYY. zTCCApt#ˠD8.omésFVt AJRM) jcMZK󔃨@%@4ҥ2[e'U ]a *av=ȱʈ\:L:Zm_ I  P̃>^ pʊd`x##V޾v* $`k'5v󫐩Ga @|ac<瑗wMѼ/m &F`ӆ&<ƷOP]UUQذ|o?nb `8rz?0<x.GGJ/ي0` #fVG*t2)_3=u FE0uk_` $R"./'? FT 9xJ/_p 8K7oMf `n7y~Qo$I?kKg77Z4$;e -A;΅8q"KV8YdR%%rY!O!2 |!UUY+ccLۿwpU"0d)k [m_Ow0O8 67S# [݀?z4@g?˅92G&>~7z=<>?&#kpݶ8u6'< :xpHOq)< u^z(LřB]U9>z;nBiQǾ?//lZ!(B+u,Q@10zՓ? Qsd"$,Rv;vZqmnX>pdP̟(#+F~.ߥ,Y'K 6Hm1La ^h4f8,ןz=D+?%ċ<9%s'V_FTT27;T0P n^QVZ~)3 p~~<{n߬$ صZŃîb5[ڭxs,20rèעw`mos۷n>mmȵ&s0ѩ|iȱمBz8=_ P! ,αym.sځD Mfs|%MF&4g<,콤䏥Hw/1c(bDo,Az"&E͈t,M˰r~+)0\~=LOC[Kv^AZ= GU:A44, GBP)DCF©ao[@!@mk IDAT @UoCn={Fy9ذo}&A?@ U.c ͆Htvl#Qp<޾s85k0)2 Ib$5?YԊQ#{0Fo\l9(h91 FaW V271 8 4!|1(*xJ/}0$KK~d^jh4% @\2Rr/j0RtljĤbb‰Q-#VBCi*cq?)IM_pr<ԮrLob)LNNr>=ENP=>OS]h4s_bjB(Vifѐ{8d޼?Rk FpՒ;7ɾx^*`h4ձDpp:_}$b2y>۷m[߃A+A.$l6ס`` G#e%طzO{[rKjK'E! P#HQZK^> V@͵9"@r 0,}Drߨ`+<)ȱd1C!F9.ϵڐh0㒜iiW AVNq;= 7i'8IT ġRa"8c!Bb<$;"R1|>ЭoPq|,j`P&ȋOF(F(AEI1b8Ⲍ ZQd„0!#Xp<($x a Iⲏۇ1 #qy2G _ r1e:56T=lKke??)]T,2 h3}GkEv 65/X(UT R)9g{^ɮ3}O†"V7eI9.#rv +*'Q6ѱbrXrSl޴eŅå2gc'cI'踈~LLNOy+0δb]}=‚|<=ƚJDbqܮ @s~OEݵjRA 97j]C=GG/; wK,@Fcu*>َz}pGoBx{$rǞ\ A*"z'id !w,79.9dL(?> iuh^߄O019*QD" R=ߊw?#'NS@#Vlm^~F#xëtEQ* "!XNmcUt9͏ Û*sP$8.3(6 'a\}yq8~ u< D;H 1q 8Aob8&e "a=J` RX-f1Ar< @0bh4(EPV`2 j)lJ!gB!^rchv;Ւ _B,/.3F΂a.1A􎸒7ps~,%.:>bCcUg1wB(+][WԮ9#e;11X,w13_}:8NW-qtuCe L181_dEwZ_} o~x(1EӕB'ikBQ^Z ۃm6b|҅xҔwwN@Pj12:o $"8o سk^euL{lJ 8$h.ޙ3WΤ*]"/ )Rt8`s=Fp%a?93D9h8bc P<1@UUO@a@^nDQO L2L4qv;XR&~J&`2fbAv#ĈG|%Dqˈ^d `N:+))ZU Iԛ|btcd&trq,hg:14TA,boj(Gi*N&ʗ%' /}K_~51PPZMr`'b:ףTS b0PZQMCA $t(¸ޙ_1f-k4M9:c._'ΜO~.ni mp\]})srsw.AJ kK8:EQD1LUURz@My0}@ P1 9˂R@Ht .ѝ< !uXZr3 OW&<Ԙ.(A@yy966 c|qq Y+OMuxԩ|86.n]K'w-h뙶F'FJ3'{2mZ;W#."EsS׏f]aF"10BTو7gӑ3A/r(%>peQ ʂl*ˋșބVDF3D"8{w߶^Hx6u'~H4va`"ϣ%EE8so3_Q`05- 4S]Ӓ icQSUVx,!D:wtʙl``hesW&Kpd2=~?<!vmSR f {$1p{V14z U%9/dj_eő ʒ<%s}-|''l6[b%H#g 8q_ç{\4͍eHCN "A+] ںP'ʮ˒399;Ub8C`Jȇ Hπo邋 t2_Dc)GPWb#ݡU Jnap&zoH]Yp~#l2Rp$`(8?Ѩ#) 8|$¡0&9< 0X OV@h"J8EwoT0tW^Gc}- Bh븈=<ڻVsV鹲Vn߄@hH$@Y ƙ-Ӂ 3)Kছnygl۶WEEE,e1JhCKXZb$oKlK=3sdcP/@,ljؽvzooKꢞ@YYkkL&@*q37shDpY#^.tgSN '"#Ȫ Ǜ'+ \߂ie* $ Hnvo}{_~M|6omj/޲@1iVfLΘ]uZ<`>Gc[6mZ_/!,7o"w\|^-e0pW,LvݻwV5;K9tֵq/.tO`}Mle$pLґ?A?c\9_N"q8]WιEwlY\7EQɓ'#LW'AvZ&N6LRI!FwN``,}b)+ےJ%m{,(7KC#8H“^|6[voLxx}5,8t:i~u$Bk·>`c̿_ё<e` EY,"G.w0w#FmUax3kB-H wγHN6ne1]v[yʺxeZAU~ kx7\?o,hiiz$靲fqAs2 *ob\wy,+F{a 8}VUKY`Y a*(jYdA 8Iɔ27? K(OţV\rӳҌMmeom*G^ Nҍ)|c(\Иk[v7#2莏~p/W1{0?{3`3!}"IH)R F",~A0z9 2L&//`צ2{x͸yG-r-S:/ߛ.9pM˦`ӎ)tzxm >\ 0p}>>y;KuZՆ/~Y9/䒉1VTVI(ϸ$+$2y22n;J 4asc16b}M6b9+! ϽqOw' Hѥ8ۚ3 GKZ1ͿQR6H2;@KZ:p ;}K4-iKX,{5P^OtB!qU%ELX4Z+smPl!#>A@tE2 |b5|@BB#jHt~57DFr= @^!d `8pzw?S\\5c3Oo`đve6>Ue8:)d1עGQ [Pd7n3@'i50$"4p јhT:je](+́V`1%2(E A8C /F8Cc. Nbx̅q"ѕ>;+###OK_~҃:XMZ ǘA%T#t X\'9f`Cuk "nfQ 쟝:PSuy5 :@ jHC o$ 9jA -u8x'! #&"~4Z#- %T d:R8'@PaC_ ("l0 : L.C/w1]E+²0C={_ZZo* N<__"1m\ғIOu / KZ-8 F= ,()8G2`p܇kÓ=GP ""CIXՌa|Lņb }3y3(PÁ\[Xhȃb Ǻa$sQU(xх+7! `vVlphpcz|:㎤\Jz*c Qm8݊kQ3"<Pޱ! aԈq7u9v(Hč|~7*@g0HkH؃B:I iDĘp`cgn +P n͈:[X:+ǁX_rO4:]>s 01 E 9t*lίuU.Ydۈ,wrܹ Ñib( UM<,% $dYLYTEF<2H A.iYI<ˌQ <{?X @6nG?EU7Tx$j-dX FJFh5޾xﶜ@IA1@LFŨg_\woR IDAT fThE-8=1vS9 19rxe,q6W~5 Ew@D1I#4SY9p'@UZp_N\UeQ  R>%C:8{ud@X&*ՠVh˧ŏU+j?c/m?֪E d YȾg2̾#a&3L>ud=3۹R:|p k]ʱ3O64BR" x p\>i`3d܃{\e7z{LRJ(%sE1jzQ2} R HA+~,}qWOGS{kf-|hT2Gwg| .^/=zz/!1N `H-w2Z˭ݷ`LMtъLnni=Cc7`(se0-u b椐SgkqM+g! A=ghmU `cGզ:K'~_a&@$ftYy5̈BC_>hDJTCmgA~O,|rjFN[jD˄wZ@v w܋&4{`@5.āj15\mhś͇ʰK5ņ.C㤩ڄ8j9 mՉ7us궣 D@0rce/ŒLo= 낍z1Ї&sz\fۍ0{(P&XO=$B XY>h l[ /=|C6qq$C&gΝYf5* M6'k;DZ}Y4 m ʔr ^1ر؜x?vWaxLJX$ srq ֯],z6ӧOTUUݰaKF \b2j)oB뫋$|VEZ)z JZj\F\LVM%i J0';wlBFmmè=?kR\WІ7??X+^LQv};YҥZ؍ `Zd}%Nh0!U@ƾJx\>XC'qMCZ1*w'c%:D^nD21}{Uy6 L*ndžZ)4NB",--L:뮯uz! }~ē%5<3F/bxHOۊ8qI+({] <|x7W-"PjӱbBv8L۬Ck_dOx=qm qB[lH|rYiq݋ݻ.q}h4w]&ubQbx%''$? gflnW*DzEX6&lSPu m=0[Տx5RHN -ID157iI1SN=' k߫jmš~JѪVei em>?kw =ӕM 5'">̛'}tB1i.iOƬ$fY' *sb">!FLAfVn U ery8~ *r M=qľSN¹~/+cvSzeO]CksRp9 tI~s},H.@'--g6 ߜv#<xN<>kP Qcyq|;V[jL[8blD(nj=w?%B6;[N`|ܤ\kxatXkP(K[ :"AF?'K p,X6vʒx ,HCLv #>/4r|n|tȖ'`'1&FZ}~ @< >l8[fӆ*$HnL+'%\\y& TVVNomm=vG$]Jvˉf=ztǗ<ݗ{<】cۘuk3[WK"i$%#ѥHWfj3{JfT ==LHQC.-#f]8 ,=p:s|$ (‹ŝ g%$*,I-ĦCo8{NZ;GJV"g"$t(. >fL$F}_R,A؇=5 py $R4t I1EL]2XPt8H$8M ,v dzI<#̢,<>'6=.3n@Aa6` X B ^L 'pb^@ @a4#NBo_/<7tJ5ħ"^T*ɞFE:"8UX pˣH0')`8`vp[<m#HS'V7ʅjժ{.صkW3geYw]^¾f;vر?VJ!d$+(OBudOwq$B&L)!y*O؝ C( Ш.F džO '4b57܃=yw ]>un4=vX|PPh,ud sTX<>6tz-ha0q nBTqQS#6ĪYF"G;"Is3b%Z]N}^nڌ;[q*9(>m;=E+aC% zpq{8Y/(O*Dc0IEE|[!,@UI09#,fB ؑ RHm^8Jo0Βĸ>a2 EO Kʅq˖z(,E\ >$F,`4ex)Ӳ.5X zp<Ιft!(%j\W7WdUټy3_"2P(TIr|&d"IWkh:e:W7H" : eFg)ć!%~u9ПL[cu쭍rn 0|JПk#$<0y&ɴ[c%j#  J_hH8l]֐qUP xb*t:ʩcO|CF{^زʂ2_\@N^B(#f|xfBBRSSWK$q_r/:nڵnJ.Ǹ@iZiً4t-AlbnHGjkw ?$Czz:ik'^-%p)ϡ@ೃ2|qE%\ cӦM̙SWCVkG"NLgg5kpBaښ(jn=?>Y/c0 ؉} 91 ٴi E)=~EUb8<#R# ]{ 1é6']|^vn ?|OxB[\뿠Ik5ldEHCh3ب9\nMAA, 0hmb>,eB7mT&Mr/v|>rAIITPO32Ic[!'XD`eDTD hom ukəyD@XT:o~P'#^ʋX7-VC>À0;Z؃,ebӦM޵khKqolH$te_#ٓH{ejn8-UǎI$9ڝȟ@K=8pJTH磳"% DR` Nrpp@*@rA$C,_p2RSSӗa97vR rcⰖ&JO5zpb2غi;Nv[0l8x,8p|9rr2i&F.B8w dڴi,_@ZNCu+q{pԩsHQp2QQQR~ȉRޛe˖֋"?9~ݹq%(ҠeLdd|O/ݘDsT7 Is@-xuVǎ>9i˓>pe`888^!ٳ7 <^bXL̙޿MPPAB!v}7n"@زe /333#))iH$\—s]`---D{)S}ٳgIAAcx*e^ܹsʻKM);wv7;N}&sn ij6D &y-NYt{ D AVFLNJ.1 ׽~[PRR#7/Jq,R!x E*ْ xuSwr b\k壌)d-sH˲u루֭^݌qqqs.aFOtR)'.;v@oo/ ^+x͘1=$#QM`YD"`,YZH^GOMAB,]~3YtCFi%P  62e'OLHLL;2\BR n ]w+uax}jUu5CmڴۿhqVݻw㡇Bkk+͛r?!ӟ㏣r3L+Yk#؋^/"-zv;mԌ8b6(***B%`޼y7o>S<3Dzz:^}ULJ񠵵}}}pp\X,!cHHH@VVV{0#["999~Lv8bY 6+q\k.ISPP#Zn.LR6gt[n3z)7ǃ\Q'G}O^JxC֭[?nŽ+//؟/K8p 8K/axgP(F'ӟ4 Fz^& &)l_q===#N>,x<^Tg0#g޼yx饗xTUU,3ZD 02_) SLkڏ  f.[lv ছn ^VVjɒ%a[ea^G};v^@ZZկ"'@ n4y<[lQc^/-..?xc F=fSJUA!99R_  y:481Zz,ЩD0 2lFi8_G7oʈ`0@x<(dR1㚁к:_%׍$PϷo׿" !xGuE< qQ[paض8zhZ~=^~eB&A$a޼yxWطo>}׏<}ѬuRtvvܹs8r <ݻw/2|s=Qٽ{wضK8bQZM)hP[Mg},iy]Cl?}w Ώmah;I{<ODQnN8ܕ0Ń{\Awq%?xm|A\.zߎz+X 076|ڦ0իWsX|"'Ofo ~邸;o|;'OƝwމ}{x'A)ŶmPZZ8tFs8#i_$ hmmz 7܀_Q# 񻁇g,?CxGDˏb9%|8 v^{wkۄu7݄Ow|BK:nnrm^֡\HP,!q]wC6~7-}Μ9HLL 3("& grq^$'Ɠ.Z0m:a@P}8u%'G:(9Y;Vn8\u(mttq^ >gY|>Ao, B Cf\c3gMF,,$>hQ> z^|G!?S,, $ʐӦM_W;x饗g?b9 kFF7~ 6)\.^8v?r-Fr3 KlKKK/vwwOsS⦕˙;׮`&,$˖)Dד$=+QV|mb&1T^̈D}ILҏ[6̛;,SpxFTz[}kQ]_n0{\#ReǕ|`Y6A/@^Ѓ?+ B[___e2c=fҤIEhEj0xJaΜ9a̙3'h4Yn7,K@$ QvӧOO?-[dɒ~Awz>п\.dž sE\`*cZ#vh"feFTj( v"ANC>ܻ[6$k\V O#|k1qZ-4xȤ7$,v>>cy~0''M$KGhT2`bqH5, X .u:T*l6B!6lłF ~o0Q-**hnnQTTQJ$hfa0)) jӲsvQ(r3xڍd٪GG[&= }vc'uRғHksm?jlY\\T*U=P(@ Nmm- ϟ lذ!ps=epm d2l6磺:ll===Brr2D"QG{?BሙEEEزeKEFrBNz '@_e.[my)8aQ XmSsIS~cb%ϟCNVBc_cI \Ó=@.n- `4nw$v @ /s̑+}X'm `"1?+a540m6z뭁ؾB?K/J=6Bġ"x Q^RRt:O_ $^ .Dmm-d2rrrig͚J?֭R [N5VĐj0III  /`0BcNI^駟6m8OZT9:yr#T):`\2{OX$-]~ׄ/@7a_DCl`?6&ys8x\n.xcf^ϙn`P1h `0Ћ n`0'cRJ*++㳳jt|h000&^/:::b*R>X/ܪf›o7ӟ0h NFii)^~e8px/jh4"999@x_c$`5'pHR+Xn]aBr|̕?҂S,u5ѓ nܹ|:}}B}ںkiZ~:( Dsԑ9t@ӘN./0bW:~nPef>_ w urEbXao Ѡ/**&JuAc#x53f]vkiiIc1 /X̙3XA#|x1|<18{l9r?яon݊_|˗/i5NDk 3VSHMMEYYv>KRtx<;O93 2㝿e:?>vl}{K`)zXP BjUs*̲0tz ~ 5E@>ʢ]O8f "TEJ\5-)Lccɯ Tx2ςV# &,Z(lp!H$bq7#[axgƊ+~wohnnwF^h4[..ZD"K(ڰw^ Σe7z ]&MLmMsY9a]88zaֿ!ސ2`r*LZ?|q{qGw)fRp8zP(. T70(ܽ Ris+ZLSS-IIIo|0~j())H$k{k2# Xv,˖-Ji`IO>79ru999x_]]]Err2~_N&'R#*Ҋ'cN,((qĉ.] BHcg,8"@$q>>ce3[Y}TBAOK#1D cGŅ̇ng>kTȪe HwǮP*)o_e8XH.jlF!8bZxu B#$0pii01YoLeb?# 1ڝcNd IXLIIAWWW`xt! ] 2oaHɢ38V HV#/񨨨{ax뭷F= àp9!BVX~>|-DZal޼9:T̝;vAII t:4c 444P(ԩSQUUtdffÇ1{lvUUU5 @$2e ӯݵkjj֫#]]]Z-b1_4A)Yg3<8esN{xG;;xx\*$!1I +1r=k6<(coX#p'~PfhT<2>!R@0m@ǂxD D<pJ@P\B-$2b\@ `Fx<\\ P ̘1. r BWnFT*,_r @CB&a( ( 0 ^$翇-~<S'_R{(--@ @jj*b1J%pBzH$bj$%%PT(J̛7/0N <Ī$d&@JX2Avv6^?J7ߌ"X~;JJJtRx`+WĒ%KPPPL8gY!wܹxqq1֬YLR\R7x#͛ٳg;rssQZZ0 r,]III曱ptM.]rnԩS˗d2atlχ\.ʕ+1mڴ@̙3+W\.\`YuuuCWWfΜkB&a(//ڵkhPVV0OӼy1gXV8̝;ݐdhmmŊ+ ߏ B.cٲe`YgΜ |֯_xm >H鶊D"HbRJA\93 t"<,stL1K͇F G0uTs=XdIX\իvZAT!..2,ӢjQ^^N|wuQTT7"33yyyXp!f̘lL:5l>,_:EEEDXr%4 D"Z-,Xn@)>{Y9pAyy94 &M4hZ̞=z %%SL}t:bŊ:Q׺3g*++q뭷"77;wP(@ ŋЀcǎPHIIχZF^^f3C>4tvv"//ӦMݻ1c TUUMMM8~8jkkl28yXltuu!//'O޽{C f6 fD~~>ك+V@.####9s&233êw2GBٳ~v#)) gϞEOOpin׃R TL&|Ϯ=H)%_WTg}O>$*++҂'O⩧G}v\7¹Q__?㌥jx\z |INl狽LXa.+x| à"b>6\b}}}񦥥. ѣGݍVX,444@$XV+͆>޽SLlӧQVVz9rV<0 :x st% tuu!==ӦMjǃnGMM J%x<x<1sL466[|tvvhxډq=i}zװ~;v `c{{;Bىs΁RСC!3>>]]]`YΝCYY!0L(**BKK nF޽VVJJB[[f3ry`NtwwCVC !^Gqq1Ο?Sp 7 };s .]cǎ磥%tb //ϟG___D]gg'XESSFcscYDhnnN <^"&SRRӧ#)) ɓaXj|r(J̟?Qd޳6V.oQyfuZ3~#_{0fXVbo %UTT`0n Z*? wƍ!w 5ދzg?x~wG`'?Iĉ(X ^zxkaa>ظq_xBZ O=T}8p?1k,꫁VW*𒓓>x}oܸqb5Fs֕ .gJۄuP;PzeO,@P2gb%Ko]Y!A>젷v;d_!UgV ę!BK[7~(xdP$2bNB@ ~ɜlciΊف"$%%h4Bb``^|>. jF1p(Jt:^ L8d2ATj"77!q`6 ^ Qa IDAT: ,VczD3|E}0XtrAR ;DV+D"|>!Ht:!h`2>T'ؠ@sYTo:lb>}z\_lJJJPUUuqEr%nihow=`ڵX,HKKo[l߾>z!CsQV0LTץhU J/Re- ?'?ɘx"3}cwr,_|A::: |>_$H@qEco(cx}q|e71g>ӏvsd>3>޹W=aih:{} ůzq/O8aR N:B;2r a#,00 ngZx(8?G{<>Bl$&RxYw{ S yeC>2[hI,^s'&,q[ U‰\SpӦMHHmV+?,YRXnoO?z(,??GÙ3gF'ǃZF___F19X ˲auB!~C㭷%cƍc.=X[0%K75kD8 Y,NN"LdŞsF%R>3=v#t<be2K*pXpCRv!*T$k lBC -ARHd2AG^^꒓? ֘kFǭzue0m6vmi4Z̟?r'`ҥ#-ŋ*d6| @<QocʕGUUf31h4=b`4MDH) j ymR0 BTbO ^ǚ5kFW0`$+_7q\) .( h؊\ɶHvl(NbG8yGe?XVbεlSQH(ѱ(̜c X,@<`1̙3_L LVܕ+Wbҥ f$$"d`QM)SlVQ @ plpemZSajPfvBU)A]00e&J_Ơd",,g fFUՌw41])-]t$FaUV WKK !{k``T',G^F:e0t y!gmO?O~򓣦|#Ʋ9LbNJ2YtD"zg#t3aZM@`tΚxZ.=l&h3ǎᅬ+W`۶mhooݻC9bFN8GرcGƗϙF Ν;S<ǏHػw/v؁]vi9gϞ޽{Sw}/^ѣGqĉ~9s---xwkD#G {gTL;wرc8~8^ufL6YsjhhhX,;QeR 0]6ί_M=GMB-XM&(~(M Q:,cMφ/_N}x=Єommmη, fo#B=mM8?'T,֟"^(K?=Sj}~Ҿؾzg4'h27nDǃt+HӕLo r΃ihkk8C{{;nw*buhѢaF]qYtttuXYh47F!<ax/iKK  zx<:b .IigJ/++kۋr?~fax1o޼ayXdɨL$:7u3%HD؜s|_|̛x.~3c d0dBwLR6m’~Y9稪nf ffeZC+,x82s_9V+Pa0.… Bee%.^D"a)ϟłP(՚svzؿ?c;wn{0g0`6o o#0 ޽HUUUBW\I=E#$ '˷kxꩧEc=|3b&v9J4uuuʕ+Db:K.Slutt ngQo9Ǯ]PWW7f_`޼yX~}F(aIi506/.8s̰'NdCed"/=c٪5z;԰KNSŌ1 'Dl .|<2pQ3n-gǎoqTˤM ف΋%~ jp׈'ׯ_^__ ^b$ɗQxa eeeg? >NYcp8L屽1Jח*]VRR'|w 6l0,c fi\S "R5Q"0q$aܹhmmѣGׇ|+xRi?\.V\9*ƍG7VTԩSzZ\.~d{alݺ=X.Y#݇Ν;v~}/|I HxB'cY477g'&4|mkt>c @ ^Qd,Z ?nhhOҼhzgcA5rO-`#Cv}X4]-_@'Z~w(-+M%L;?͌' toN]o"5 w0Dд#XS6+ĵC, pJ2 cq+VD'+8~8Do|c԰ FL$=wޛo9nYZlذh‚ R5G:"֬;a鵭 կR%FFMϲe&eBKde"Ȩdzw}v|_HzjYeǎ8&3B3bsowJ:.oN閁) -KQ\{w:TH )$U7E %9 >LGfi9,>Љ#_R TCCC.Ȗ`ݺuxӭ9u]$ xWRFnsŊx衇l$P'\.i%+zk$#H"HNs&ǵ:>p ~)Ÿs:::^A>xrp3-ZLLc[d&f00Cl.@m<"ĺU0ðZ ЦU0ЌK2#a\s:Gb4y!6]:LE퐴|F/z! iӲs ǯ5fB_zHE Y`[@644oh9O\6?cy:_DaIa?0 tuuhVk֬?iym6ݚ WDǏУ!+B^'[ A'mJm\ċh(C0= lr3` e@e. N3"F|Qz5UbFhfzw(qWN,zTH i)dz$ DV5֜Q!nr+@ssf͚,--Wq+`[[y睌9ۿ[̙3 qٲe EQFUPUEEE99o޼. GqynB!cxG}_Wtsd !p477|2~?JJJzj<Ó%G?|>:;;i(cl00Lp8PUI*f3,KKɸ?K.`HbbnfYdƍ,#Ȅ3@4|5=L8 !LorH$! @B fP@4Cg$ ( 6ŒCbWETC_:kK HɌe`TIB LfʦOt_ \zUVV~d2{bK_.]_~9U)#YgM,())tylwOc'ddDPjkk N3%6kyөSBP oM/^NF-.5KVp.ǸK@ LX2miKVI uXQ;캄~_8U NQf*p0{A ]$Ys__߰D 30pgxӁ}אR~<|CCjzJF&" |sO3ulQ9 vUWWOeX$s40Y 1󫊙103Q`3 D5%VEDA̝S~ߥD|fk(쇀A3j0ew=C\g1݈[s"4$'PDG>[A J]ʐOivBGt$f l"I@ 3S" '8e8N>sډ',g)2,XpEQحrK(*17Dlʢ"ޜ# 2:Lf'H ==9K *fHys(8G"AE"E cxH\EN`0!O_$ #sp ue IpZYB1+ n.:$c204 3|H"0@t%sH,{ ap @`~^SSݗ<6P8w_ɛnq(:.A.UKWS,禁H% ҀŲyKT^X|vH&;T8˝썣> ) P`fa\WDz`b)I:qmL}D`XLir-TISJ˰p ihwy rܒmh[c9(`0A'K/~243E4M#Gʕ+fGܩ#)#m3h>q()Gh>}"U |_X4JzK^/,f8LHͲiOlydN`ቭ,6z9OW2a_PF[zO diASuO4%A-"R!n? PB<!p[J=;l6 g3# ѣ/|矟>[ 9@"B23OsA$@9%匓`NOq9`( ~(`ʍOWD'81 f9ǖKigftbd?V$3 BH^Đ""xHH9ycp"33@,e%;2$ŋPޏҾZ֯_СCYlf%tvvy{{/?χ&^#OF;֬rlz#rA5xl ?O5Jwq;7;v(+d9 @-]0yݗq}7y x A pDDnuj}$HY4+ˀirx850"`<\nCr}0 !iPJʙ~gK|1ꫯ4 K.}npKaz<#atZ^XXrrq7h4JpQ .͊)l/@™'ĩ._:/y΄%DGI<~NSFCB a0tAc IDAT3L[sl`RnE%yZ  MtAKo7׵NQ35n8_Op<gppp{{w}>nMb6M0I+V]UU9s7LYm0vPSb,---OzSVU:/--u^bpX&Ib8"`v,˾??֐ka<"0hpYf_" @ 2gbH0( ;!~BQ#WtNQ10ńܾ(eDa <<ςڈ?]AujD B04C@ DuQM?߭`c2T>{!u.{*@f ljd \F!O;km'0"W: U0@0^^֭[W_}Mz#˗/l`Plڧ>#Wц6~-,,n_t:-b(v7WTT@ii)/--]:o޼t:7LEQP(E"w$e9NnFxB~boo﫝7 #"^z}> .,7oާfTU'˲c!140B{4M@4}/6 !b6YaEQUU53xah"QMeEp8|%FgfCQVud$9Wp""#"Ci"iD"~>CsYTTT@$IJ8{f y_d\7dT]zL;rDn eRvHӃ4ds6}<,,4pۋs7յiX1ʤ') tA" t%C\ 6BSp`wSƸ2̡Ma%*zǻd ,v \))&䏘G˗F*tI'Nkhhw .eeedpXvtuur|狎p8XrZee%uww /`L.!":wl.\]?w ;*TSgM _s~ҮnVrM/HNv t"l`0!( cƁ !sjktu8|ieKJs>gzaNl$ I8 vdK= 2=M/w8c2 !,H[UUpl"!6'8@OD2-?.9N ,K)hXg5o?GjNp߾~w hfy՟¢J;|5ci -0Shq ٲ_>s4_'V\dSȒ'p`V\؁% vq 3AVcf(XS`-&OoRu&s@bP#9~eL#3 Y@.d 0\$544lz#r֣??JYndDndۓyLJw@Q,XTzj1w]X%փE DVck.B(\W S,z% zN!+Xj]j;ra `kvk={X"V8@԰EV jcIr7D8Em !_RBXP\)9.qp`K&Ğ0 0xݷ]mؙK.6n(!0)G[$1옿s!!\!*0|0 5hhP67_u9ոpX cC&:|: ctΣFǽGXĹq P0b0dQ@`xb|0sH H@E*[ŬAX%Æ}a Ae (@ 31``s01 pXJ$-y'OER7#X.+QIǀIJVog5M'K*1=/r#\-:O {?P eKt:b՟\aiTU?m|{B{0c̺"@"p $ YA/ ^ᨲ xoW 6 e!鰪2º,ۃ.[f&AZaW5EU 8b~?`谖a.a f8p gk זg xxqy$ r䌡ߚ`łΐ.A`p"M4ȚU3a3" 8)t!Ĭfj Rd|Ў,gD00Son2kxky$xH +6!H%" )B7SxkĈ$B@& @ 'f0qi((E{5a qjۯk(P-h5oLÐaEKo  PRX~_@ b^?NcX0rH*'(0p$B#!8*;8Gofy>n`Q2P乕cYz }>,(0c`( pbIeNuR,c(Oލ-Q VKB/Ҿ=?NX,k޿◿%ot7رcXxJc=v5}}}8s 6lp5\y'OA&e6)ӿ Yi(NzUe6&\tB8y1pw_49yu qǦqe,[ ϟd2fa͚5`ƍqQ̙3+V麎Rڵ +WY3_ {z[orѣXf Fm6dxa6> /^Doo/Ѧ&@4(UV>h4 ǃ~bӦM׵h***R8~8֯_SNaѢEXp!*L&f34MÆ P^^>V23Ssk>8c ޝp ,)Ʀظbs؂] (J Bك!x<# ʕ+.˗/! vrŞ={( B5M8`DoGOOt]OUbvcpppX^/݋b~xkL۷oEaa!"Dbu"BWW:;;SzRUU5bP4$Ix",X0O,cǎ0x<׽& ̓$]}G$A{{;@jùsRoɓ'ύ1*̞p 10#Q$1HD2f6e$rg 6 @L Ѩ! "^6QfpyhCu,Z1X|9^u#-Jزe 0V+V+t=d2w\bpQSSzp;v +V0 N'~w.]4 .b;::ٙ~CÇ ɔ[1lO\a׿:˗MӰw^w}$ ˗/ǹs!8Zxvp8& 4]Aܹ[lAkk+8F0  ,&WZ՚ڏǜi6y3/ 8= )0?ٿzs%gNƃ*` 0 A0Rӗ>//K_ OlQ<7'Hj Õy6vr>ODeGy Eرc`7Upz׮]{ot_`" \ lR dlP-&vp_U. YP%1D "#  9qo2!vvEƱA?*0b0+ 03:A{i100 UƠ3nf@U}4ɓ%J= &Zr gf{o޼y;~45u0߳g{ӦM5!='`}}2"N(zs À [Dݻw~ cgn"̇ kC8KK0"D͉.@(Xa6t\^Ӊ#~pa@/.Cn"'GL0EѫXp7E`Di*8a&JHqa@Pr x5LDASX\7 A%r/,܈c,1qׅIc 9dФ; Dt1p<`[xfD":=lڴim8kcmaTQ=/Ȳ\ 9/,cLUJD%I4,Dt?$i9!VgCQE)Z IX]]_X(GBՂ&ai+N``m Z0t3DX T8fuaPNÁ06V" #9nY92 Tx@Y`vN8j{p^ . aq- j|OlBw zvmÓ.e}>, 4u}jSEY cnCs}Νnٲew466V8 CDt7cqX!M6{s8k׮7^i` ɝ;w&pGa8V\.>U1{!˲szlkllOڵk(-/=rmav"KDvٚpIwwwx}}D @w%'Wyynf"9oK_u1ɰ/VWWP(IңDK- !m~d25I k8Ν;wf[Y U 8rTUY8 #B$/V+$Q\R +' uͮbIBW|/5 p=E65 nmI\nHfD9:>P`őc1ɓVg@Q,d23-[L0cV "z IĭhUaXWWMMM/'uuuGcW\.(B u\_7(DDYWWq@8>7ވ&$&?xMecU":`RRWWW?Xi[Bjhܹr\ID_?:A!3nj$ .'>r}kc]*X{D[JD_Xv W{Agc c}}vڕy{ۄ-D ݱcG/BثX쟈)<0x乥`0ŨHDp4.T͛?l~og;*Ԍ{z;;P^=1t]Ʋ;̸l@; m3ϭk%9cΞ.TW@|?;yu]M`,nv@"4c۷/|Bc~<Ѻ.k?nllyZd}bbJqqjϞ=2 ¿rZ;2$ IDAT]v \. G>?ADp\/oB|M;w7o^$8r466fV28r~ b~Bwݒ\_Qݜҷ~;?v9Oi? !nK͛7 !Fٞ].| wܹkoq\%#X޽{(x]ist\ؘm655Oѿ3~jo[;p8 =w_$I|#㏫n^ljjj?2B-?M[Qu]kZo$nyƅ啰 p'I 22 ke(L[ͥɪ$@" 5 !  L7 tj$ o~BʥPTζjzzS쉣Y[NH}ݝ> C^PQ=o>.4’`W=^TU  >X8o**`t8}0(/)CVѻ2 rj:ٳ]WW1id!1mXB+ 0r$ -f  PccO1UU R!s>"0ckez ,){\.D; WUW__]v5`!wy㏫aһnw)9K]V0c 7pf]]Gnjjjk6t}mey"]GHV%RWWoLo߾r^!JƘEQ=٦$I?ڱca㜃1mjj:TWWc 3G0~}w\.$SP9ߕxʪ .4&U;555}y2ܴi6G_T*5X6].EJ?~g{IR< h!RT*浌+Q jKFJ^M6۷o߃WI_j1B98|(l ݠAI&Om׀&gIuAXvmc<oG,8WIgJzJ.+ingh=0uZ 1j?gM.r6( (ZYV_1n(lBsIkF`R|ǁ8ReKg<" !, )ߞm,JeR!ħt~޽d>oppVJ`jߧi_|~pTjt4槖:7k̯+xJ",qW=c +]3M}[.*6|XĬG4"8RQw R駄/R:!h~2+k**5#r^AJ98,:+~3J?B/?Jl!&bP)Ίn~$?r\ |e>CCCJR |t/]Io)]RʿxAM ^*~05MXϦRߠ=}/u甛ϧRv|J)IӴ}>M+/p-gb_gz:e.iK|'4 m [c ʝ3#y=KVLMt^1N]0]nPed2[?cPV7:W){ڒxGӴ!Ri]ןVrUJ,RXa(RjVӴg~V1%O~{PJ=.Q`ZqE,o>+RQ/9R [?*sBn'( !,K!rBc/JuWR'V\** !~'|{ c%.mR~!!D8aR(/ 4\(e4B)!ijry=u$|VJyWBRB !NhkelGsѥCCC{*z_J_=T PB<+=Z]ghb" YOr^@( Bl hJap 汫iJ QK iup#0BCJummciMBUIte…@7h 0Me+W0&IopkR |zxx/Z; YPN܀s}7wIJ=. =raK(U35%^mPv-KB!j^J¶%TRbZ%6Jwr|]n~j^̱T%w+Sdm{z6VR,9֫ĒOlJ/x`F<^z֑k1CC 6|Ǐ!濊-7~8GOkUӥ=z71_?o?iGW+ܿ{gggRwS+THӴp *_[fܵ5BH=~pÖn*dg{Z557@8%,%Rko(`1[5Ӥ4LvlHC*ţRIqmVD!*v c2Q|N`Vri,e׏bzҹ\*,Lf .dLLί00/)J!)~S*~A)I iJc)C=z&M۶=BBxU`!/0[ݻϯTgJ =O<īRM)W~'YӴ/RG)BߑR{~I4`!ߡ/\2.SJ8 BKIR*$xF)(WawHe]9h($KP$Z%^=juҪQ\D*-kKTl2UƧOc٠Y m+uetז K(* -b]DRPu SZ6zjivT*} x\k@F)T)M ^Tb3RʺR{gff>&Jo%7`4B&9 ) ضRdc`_QTJM4MˬhOs ݿTJ_BiTJܿusl&_4-,dppXO'PdԴ0tLM0ABARjQYMN_\:V%Ƕ6tRQ-\W - ]9}_nREhb\h禮Q)Я2ض[[JO&x|rYUKO%p_fi˫6vZo```>jY'߿ JR_RJx<R@%⺮V޽{t: @44RTK0t @ˊ4nߚ/04'90>ɮߚLg,McS }.r.x{trrۍoıCtld|c#g#JKG7=jE"plغ3q&FΒXR>XJLt;9:8u=0 Y;9֫vҽq=En5B]@a.3D_|4T*u4N/*_u @T*@a_VK(F.y}Fx>MӾRFE;wĨgZi\:8y?P'm)ă>B*yPGA(A)9m[0iϏ&bzr]9E]n/xHcG!0_b13oLofVels6 tm.L$rAgƋ'y<^nގL`v:>FNy۲8y= =EvasMcrp tJ+^s:+- %@>l%j٘D-DբZKz}ljp#oaٛM2_5#חk1B[@ch5CyzorU8΄ 8 /p~pp祔1J= ٶql IDATR>ROJx*z*vMJ]mJ?B! ! T*2PRJpu' !JǔR)!DY)oVzPc4wI25y֔J!UV0-Ze* 3۳~bTѷ4/6y-]L~\%3 jZQJ=rZy~hhP)Ofxxp\%3Rʃ7X,0[H=\ 239LG-gSaGth TuJZ{m/nmq17lXEߖڇws3aXzBk9{Ξ9u;u @B)WѢiYk]Q~|z<"\zI/=)r .a::] %:^•U[. B={sx<t7Z!a'HOfItirqڔMhnQ]`j:( 7imjR`n015ζwqioIC/ ۶hk3+e"my68>HO6m]waO4rqp8?`Y M?ý ,{WXSTbUB(a1(]0흌\.9FRʏ--;88\LK2+\.B x-EMbW*VՓͩ)7~A9xJw9m5+LMlih܊A )i@N5D"FmXwkh ->Ee{Ⱥ!$z϶Ṛ~ZajzNLĴL*2rrih+by<^ Tzd3 s щlf[fSs3luX3?7mye3躎sY<^/Pn e D#jZ%3? m]%t5\(.uppYۇS5@" `ŢZko[[?v!l0d +%,%ee t{%F:À>q! H{|䤢ٲ!e+*M8*ULZX$Ώ=+ÄT*^^k}>ix=^ʕ2a m!n Gse\(\||};Bra#bСqVQaՇVؕ~p3(CY, Y,uda988ܑ83wBG4 [D P *~7gi GbR, 8av? ~ `-U)Eh:mraнnND[a HhnMQJ(.f5.-Q)(sT R>O(!-Ϙ !g641s"9\l"p).y JJ -MP36ybtz ۍ&4|u6mLsc rw'>M4Mq @;CU[ʚ4є*(ce73{d{% dkEK#3~=w¶,(pyq{"?Z6R4qn)!./HFW?ÍH!@J(["HKbjYTZ5)Y6Ps>}u M#83m$:B YLN6?O:55D].:27>J@$]عl kj!JztHCnp0P(rئV7{9Kcg7RJ4]6M4]''(4 HR.oneIbM-pYl޸YAЄF:zHN31=N<@A4gCF dz6ql422vm;y]/,c:8881Bɹ3(@ճu\vnܸ (Pl[ˮ1%T-6I>\(0zD޻v]v+%Z=~jDזtlv׹9Nv7кaP3{:Ή6rs;>v:23r>c/ltR^}igڿ~h8=v8Ú+yܹ ggWx5(pש_Lx#ۻ + `[VnMoukFt:{Ak^?~j}C(xoxDCѣWTMPn7My]6)$$z6 ^>5vvxF"mnBGӋ\ E^yË'fH&]02>o1iU)/fiQgh^63}+g9lx\%IO#9K~MmV2^<ʡmۂYĉLqussL,2{ɖ;rU~[NbZ#%>U;a)wq|̦ 00|DWG_Qdm/! ]hO/ޜj[dވ^ XMD-ྶs&A/Ma?!Z w-V-"~OmOpzlzϱ/&llE2ůɋ/*Җ,..9>Jnx."ؕ eN:{p|=~R>sWg*e2SX2]Fv.R,;888)RE)PJ\FE-bxKlל4eID-b'gKHm:nŎa,T$B7GBHM!6*E&W% *otԙ/Z$㵥T%'?M0`$.N)Fv>G{_#GJIko+JGfv˴8;I{_N(v{o S#3xI4)Da2im!qPKvN 짰X`Î5M1؉c3;~G e1=MH֜Br0Ҳ#,LOxc~枾eqμ;oBb.m"dgiaY{$XdfvnvlP"ĩ<^ͭsY0f,i|ёzxZ:iѴ2O8\ ,Z.r6#RDɚ# [JlJӪ=vW-U U,ӬMUQXU %fդ/]ș#HęcftJJn*g'fMJ>".I"SgłMcɖ8(0+&';MV± fu}~?u hF~ara wK\FeV^y!~H~3F '[4tt]n;һ]7uv&Hnap2I/lR,P̎_6EdSM\,P.8f7M3'iD!!R̮~1Eq,rtbKA{č;w]:R 2 br|,lh2hA^.|$0=W\El.e#rMNo2EZaʥ2J#>J ĚTUa?J*tC'gK#l޵"XcR63=:C4!G7[9dKxc\&v'X  Q.1H"xmlg(7hhKe[fFR.ܲٱbm$ZCIʅZzn ؖeazHC#J)0㧎MAonAh:xDkJJ R.KcG7.xKJ)|reqءUc~DJKϝ;w'}xt`Z+r F%u<;=ܜ/ ^ȱ3L%̡Y*O׌ahnj#i&1 Lec=!ޜ0T'6֢.?,*4\&^;!$aQJvuGij0tl,dF h2AWQψiٲjLsu,&$ᖏJFԳ:1ϯ|]C;ie79'?;(tægXD EWK\XZwD+-J4D t5eM1Yڒ1NbYcLnggt=q^Ypz*0L26B.ң&g:.]-(yFC{oI=pQ߼=>K) zl"v}Fˢ˨zCuRpdcWP6fw CVPB6][[@XG"cWLцnvQ,|40;޻|Ǎc!===|f|$aqq1z U!|}n6M}9ק?7413GLZ:,R\d`s-׿׊}):zx[ǭǧ\*iN6nS,Ͳi]˿-]Ez'Wp= (8?GZ?mvRb}VھczLFޗv̙Ϧ1tjVsZ~܁m5UES_U9k:-RmO~k.jwkjRRglS)GUnT(ᅿۿ%7AR??O |^O4mm2y)VcyYgXc5^>bYc,R.q!X,uKˋ}gJ1oKizF.0>UV2AtlrWJHv+Ej=NX`h4$X]!M>+"󙤓i҉4\y2 +*\I菐!o,P5]A.sgmd)dtw D 66\K_|ċC]pI>?'xͿ'xWz?< pYq_uWfjjYljb_niCp2;M,4{컷-<#gėLcw:Ga;Klř) ]cEn7^E,Ӊ妘R.He56+VUYZ MS #(ʮJK<\C>~u{g*x[.I,'ǙxjT<(HDRCuVoT <uRSp @ÀZIzF{X -Ke XL zJV.UlÀz]ӑ28]p:S*y:V@У5h`EXba9pܬ-E9py\- @Ct~.|&ϼ\-d|.cya @otR>KZ\*%=P`mڵk kwe?Q oO(i~L/=!_{W52$ G9@wȲt*?ARu ]>C y4MCQjh"IZA,tGPjU wvXYbpb("J6ׇfw/J"Cc߸JGOCDXF鄺B"6V7vZ_VQʺF+D@d>uM3ډ7asu^I}aT" ljRQ9;8m/-P*|Q'/JR!4vLZ]T`&sĝs6REv :2Y]Hr#t:#*wÛHDV$2|uރvUoc ӂ#rz`vVN4LV?w{TL>tI\p5b._7^y~ӟwwcs^#oiw筲N_|9ܩ"c=:LAg5ugjt; 5ORңsS :_ .ͶxVHgYO(O`e'T/~~V9}_Ek$V11y55BƮx/nbbf^@mGQ1a[a=d.F]꺖k=gzE׵Evu/.|HT{$Y"6d63؝t ۘ?iAlv$BnAf1sen, PgMYQ)W(؝v::v4M#5u0-Um(J# 7b⧤V ` G]C#*w2A% o8Bi6cj!~T[ٹjF)4U%DV*( \!pAU|~q<;^^;eGi{>;LV*P(۟FUL]&?:B>tQ.x}9NJQ.Q?Rx0t~$Mtځ T.7|?(JG:7^Yg{(KLrGPFj6pzM( :z]%B#CcdsVΩZ6=NtbP.AM5Uʕ2lC5$Q>!<bțnbT.i*^ZR|E<^1?8ocS(r\ۅRS۵oR8N|q~V+3SLDFA/#xE?:\6Rr;wEf!b㔋EX,躎`nc\ظE0UnD{Q.YnJx^zP|(hbbbro i(63%cw^1-/ CadIF$r:vP,9?CP`tdRGM싌LZ̯%&۷/1o:==ȩmҵcp(jhN\%FFl_ '?/vr ,/02>B3LmRT o?^J$ɸ>f :ьiNch;<o?ҾqgnG&;EbcC7 uΤ13c#tz[*ݷo1#1F4ID1FY][&"7CǨj:N QjUB0Sa[Y`bD?hd404:0fjb ItxQ2<:L&a]#I àX,ۃ%LX]^󱵙&&/_Sxg)˔KQuFp{\ 3yfDÀ``d K,׏$ۨ[HVx "]w'n!6x<N!s{SGra,>&2w8$޵noM ,lmk<g&q{xWگ(9@ZfnfR(.ǹGa3u:`6nBthHc.ǖIo?G_~D>Nb'YRX\(0z,&^0x[4mSVz_ Htt$2*/}-1=&&&&F3^O~'Eyy p-Vځ`"<}|sh YZpug;`d3n˘VlS&.zZ)]I`,.+>W:zǠWfvzAƺs=l:ŴK>d1 @ӈk<^+47lZ Z{.l3`㩶qUYlۘN?`EجUk3B#ZwOCK ڥZam2ɠD~ݪUNU!aPoyhbbb~2G6ٻnڮ񚠝a:>enc`hngJX @3nRo1a8=&&&&&8'-*rt.Uy*͍m ]'>om!y5V.>d}+rLlQPj]urR;ԨZ--P-,rϤ/-P-7 oWLI[Q5/},ɸ.4ṚdsE^?O_a~ycg%jH4]Cl,/rY\/Z.H!k5J Pxߘ 7K"lp{omulN'(IHv;KDC$c iO 6g}.F16Wҿ˩>Md7Tl%vwR5"sbTbJH0kLDǙ^e#9#S9B;pdlpo?VQDUVf#ߊ:l/lMU?|a4UV.QgV:•ԫU6תoNu6+rs3R-XGKz-' 1VWKt /PHgu+oVXc+Tv IHn%ԪtڧȢM/qsuYVSkS뤲[X-V<&.q"=}t PWr-4Ue%GvGrYf\{o2|,pt;nn^ZWYqR!srB.C2$Xcofol1uS W>}ɳ{^'u^xyF(d5g=\)u{q9 (u[|IݼNȿ?b4\GV%~s N.ntomR)qL>GUR)% APeF UdH "X` y|.PG98B"6O$:|Q+W\]gɧxCl;%^S2i^7]X_Ϟ~ '&X姾)&ԔZ#KU$ 'ԅE^VLTDz6 pg7lcx eDQdm9FZ% >A;E:Y&tdU=gin٭M$Yޞc--74U jC,7't([IFN%vh5oH611119GsGf߻6Y&;p:_da _ s9Ժ'B`(9lN'6gsi MU)\={qV/mQ-UPϋ`9nÇv3::v0oo_nM^$DQϡx,%OM44l彻d1CU6qy_yK}LIP]vDax.q]:7nQtH @c`x%3*L %j/W ! IDAT$ب:Al"F N `!GTQ˜:_?nmiԌM28_\˶ef%J#5$Yՙi`B|&K s摮“|,t b2/Ooe"aBغGEUɇKEVͷ8{C?C95V6Iy P.}eZuWEf _^W8ϼ9hbbbbVt]*jrbequtn/gr1>&(SQ5di@s@GGZ$j rEZ1uO{w #4Uee~f#X\,i*bi+g( /-x晛Bot\f Veaz I%O,JF*bRfU*(kF'vE,ߦi#j@dYXV O:rd*@r7(HDMQVx"Nbk{I2i|RÝ3s7mM~|lbbbbr"4(ԧ\HC/`~q Ã& YوtB4*7X[^㻓xW7 2 Vp{XV2)[bƂ@g_S?-`qvpgtX3w}RD!T,븼<~߶1ɰpcxl|&Kxlpgc+2gu4_^DItn+ QP:(AU,\*J榮J `#XVV9u}o\SQTG>{M 4ME5,e[o'o l'{{o>zuyq/F&F "X}\~ lX* k}"Cۇ4111191 Ѿ1 CkͭKA"1&ُ$ɸ<>osUwpQvDua d 0x4MoϏbAm$+t ,Q6ar4ãTJE<{h"! Zj!Չ$ryin]=D BR)KV4bIJV*ca:@^ Mgo? @&`^2fin!^_P*8Z.rl '@~OS)WJן&VSΦY\^9J($%..ge8=~MƆ'E<(J#A`4X:k冷#| 9\g1[aq|S?uWq|& ^:{K߸NlvrF.p$E+ry&I8(;\:PZVTCpuWbl% `}9FOt`G:sSW$Sg^%_{Ϗ~G|B$}@2(.Ϋb_es)`X%Nzw yn͓ᷳT}o mhZ 6i!wHHΠS_?go5 78b^ę;V +ΣƺFcT kĮGGf -4MLLLLmo("YT۪o=j\I>n)lڷv].V֠\{KTuC(M)lt image/svg+xml austin art/austin_mark.svg0000664000175000017500000001114013365125060015010 0ustar gabrielegabriele image/svg+xml austin art/austin_logo.svg0000664000175000017500000000644313354232100015020 0ustar gabrielegabriele image/svg+xml art/austin_logotype.svg0000664000175000017500000001077513354232100015725 0ustar gabrielegabriele image/svg+xml austin art/austin_logo.png0000664000175000017500000000773413354232100015011 0ustar gabrielegabrielePNG  IHDR>asBIT|d pHYsbb8ztEXtSoftwarewww.inkscape.org<YIDATxkt\uΌi# [0I b1`Re~hӬHMJYY]MB?Ə$@LL32[2Xd$뭙=f;32I3眽9q>`0 `0 ӂ;\1L`6\SRTLPeXJЭ€(=gN`ۢ}]pN ;90J-\jQ .V(_ن"4+o/郯2^Jz{Xµ(W;.@? o-|5q']"|A*(qyd O ?M7EY +qBydgpаPq; <LȵqjsO6 q%7C9{.!"#r"”V* ONU ^ǹ v> / Eosલŧ? @7 w |gKO(wne{@ $E=7a?Pdٹ*PeKMAc2 ԝQ*6y~V NLI)\|ѧ g_[#Uſ\ (n~`H V`'+OPoPYVR @pl xDd۱X)а7d۩a873-nj7(?ʦ&&$@i;י9@j:o#wA ?|+t:035@"OGO{eexܥ<#ݐDg 7Og$gQ Tfbsq<5n;3.H"U>Q;qKLD',R:v@0[1=EoQ{c#B#gOp2Vc,bI0S0\|CGN˴ezZC+`xPCQbsAF֑S̍>məsC rW'r&CS YQn=qz*gaP|K\max:ձ4U`mlj"͕ú@T'iA=@}Pj"|ߩXgC@4@& >Y@|`ݧ?eq(l,d>iCL3A`(wFXG Bg&}ϩ  s;عK_G  fs{j^]C?@(39@c~~ WMUh}g~pzews3(9k+b{Gc5oyBz J8o 3t޿񛄃<~ /tLcG:~njIȍ) ༜EV|+^ﺐ7N^DΩg $rPNdO$vNg2{'_Y`#yf9%J%~:\+m`*i@kWS;ǣ%NJ[.G7ꊇ82Xơ2 s$Z2>,x]EK_X%)z1dz[_Qp|b*xd3V+>-:->4P}0Zѽxxd1p]he)NPQMkH%8"Vd@5FN3s(T/\@`R`I&٢cT$gBZndC0"&$vyy(Npr@c||V=x%CTYh4*Oސ8 @9H˦o:fsJg٤C[]T#pPXGT{%QLEgus8go-d"bqqm)u) k\^Q 9@y@[ .=,`N}GtsM:-l()<5xrC :-jܽ8 -%KDN%oc C\r:/ss56:_p5y z?8FR\!r@ςa(nrW\j_wqH+Ⓔ\nt3;[\X}8NS_E\Rϧj`3~#_ "Q/0Jy+tɘlfٷUIdS8\7ĺɹ׼txm)UAoyI&O73E5J ;PM˲6gZ n'x|pi?yquf\PXGh˘giΔ[ŗUXT7h؆,ѼWxʡAZ"Iw~u,eF7ݞ2kyM܈&G~R.ذ rT,CYqC ;6Z}ea$}o,WYP"[htg(n*&>rt>"u(F]^22(GAC[zNa3K,`"AԚaT?EMs$ug`/kEQhĖ6>H [:V,B%-bi$*|(U@"sس5ir1T2rD2ÿ4v%} M>0ʊ?b'7t1Y&=ci8+lܒK"^Ȋ-VsǑ͛^CcuC>Fl. _yXكe/5֔4V:0*_,Wòw?c:\<\u~SZd=D@R9DK _.^zDAŎ}_)_ODy#P "itfhv:WP, HLY|`:3':7݂F\YdwO<X,{8vv[}bp=iX*0r2Dct!ǖ~,}H3Cu{5v|.0i(SP ZXՇ t"zèwc0 `0 `0 `0 `0 `0 `pyj۫IENDB`art/austin_logo_black.svg0000664000175000017500000000644013365125060016161 0ustar gabrielegabriele image/svg+xml art/austin_logo_white.png0000664000175000017500000000555013452464467016231 0ustar gabrielegabrielePNG  IHDR}^sBIT|d pHYsbb8ztEXtSoftwarewww.inkscape.org< IDATx{E?K)>@MKhybE%H|PQ $| QD4,)E!}QCJ{[˫'?fN﹧9gwϹI6w~{~;;31F}6 ]`6f>kY!8888oC,m0̺ ]7G'}ZԶl=f*9%||z`&w3[*E&5;"%|gjl f!m.xk-VU<W+/!-7S>"9<2o%M~*3+,3-NN)Zv?e3K*3"Œ.i7Z[@GQr٬f3*Ǘ4 X \VH'𨤫$5UXs-~{iftIg>3{ 3j% t#p?yr,0KҾ^iIwiRFY ff 3K+dg$5'ي4'gRK8@,Ҵ%}xإټ"M1_Rpȹ)Kة|"q.;\nm&H.\(ҤtەMfju]$&2`LJ: RtI;{HH1mf-?POIh͕͸TFtpe.*E@]L`%]iDw(,>FBxmfK3(|e^*H9PEĮּY~77Ozݓ z E𐙽s]1U*i`j D0.3АZ%`G`5?f68$/2r^3[W~ղ[r9z$0җ?T;hf̽IFXNfsٳѧ (-CZۦ.E\XH~lFZ"~-73ӧK:h"/|mp)0=#ك+^ s7%3'fi$fdyIs}B&!'i(.&2$ pmn&M~'~N斗ϛ58 \jϗp926yiw4zq\cfg߫UFB> 3{KtH /};/+B&$=?6S ^私X烀 _— ,3MgO"7%=ݣFπg!.[U7:t!8҃`;*3ۈ3|5}ta <6Ƹǘُ}ө&|jxeFfؿD y_A^xBE"1A4vBid]Dlpk>*_oK \.O}%;#B/⢉V~p1IF̶NaK^=з+w \W .r@$T3gS#p˕!wyZ]CY?XO-~mft?P^B4Fxq(wܰr!HA aYaSt+$MwF\S]6H56F)794EҕVvxI иݛe8~9Λc Ωb]y\#8G9 L&&^3k֫3q^}Ň[/X lĥJFCq'Cq GLa_6D5uEL0pōlP">Ufr'p}BL߅Tcf \sIn7fe9n,ƭp\%9'c3q?Zb .MK]e]q/%yT/OǍ%<< a4ݩ"&> $zn|H0nsבW,UslKOAHz۠θ}m\\` *MHO>ǐ@A DB@DGFDoEPXE_mF.FG_aJ(L2LC2L\eOONBO^gPQ?#Rk{RΜSbkTgpWltYirYluYnw[w}\\Y]kr^jp^bbcjnd- d3#dE!dէfK3fqujzkYGlf`mhWuz}vz!z4(ztD{ {|O4}2 ~CQAX!ͯ潅~lյtNfYcEʍua5tvOdwa^PNC~RXu[T~_ƛTڝ|RvSνMM-pOrc/acqNު PEhR5_K[BböxVb緃\dKa/UH*NtKu8KeCċEĥ[AŮO=ƎDƐEǏCȌFɨ@ʆBʈA}Oˀ?˹B1̖c\3{>͝l8yFs9*%_:3ݻnyڌAD*qC*,5朣#* e j'DiFv.e`}wb '.2H6:> BIF&9^\ߔ 赲=qVF (唭H#5T4矀*蠂iI袌6裐F*<`¥ {\hͧ*ꨤjꩨꪬ꫰*+\AN*I尩i#D fjq 2XDd"scP 'FuBi-4+KdФ )X>,l' 7G,s.2 zn..J=$fΕmo$qŠh H' UsEV-}í6IHeBvLh`I+-TZi*?\w`-dmhlmN!LuՁ2thVWߒY#D0'#íjhed wX*Y.Dvx92<]ރVݣVjn箻ȳKtX''"tZ:J氉R.@:3DbbZfEM.Q/HD5N"͏u#h z ٷ; {BJȅLk )O ҂vq1 1 üڃ˲IB9n :]9%dDA;FlL\/A4!&b9eSDt5-ݷ}L:dʖNQ4-` T(<Q!!vor: ,-s(Yb' :ѩ_ H56r)e>q۹J;,}'F?8.碽wW'cP  y@.)jqJX-.KI2C_@|t.ΞD N:}QASy0Z yb!ّ!Zp%Aة,mY<%0L2'J>Ӡ;.A>nc. Q b@;@VP,Ӯc,r34;;E+Y 'y4UAK9 ؑ14ESe`Zs'~4EDZSj;rcOt?`/EfV}ctoY5n2/m7O5*-F1?_ f  4Q:"p++a?HR")2_*o_5Omb]<<*q(ԏ1Px9ڿ?_xP'/OD$1@ DxPaB 6PbD-VxQcF5)d*PDRJ-]SL5męSN=}TИ*HDTRM>UTU^ŚU$~VXe͞E $rW\u궤Z}X`-@XqbƋ7Xrdʓ-W|YsfΛ=wYthҎI,Zj֭]ʖ-lڵ[Fm[n޽}\pōG\r͝?]tխ_Ǟ]vݽ^x͟G^zݿ_|ǟ_~0@  AdA0B 'B /0C 7C?1DG$DOD1EWdC  g|@kFsqG{G!$rH#DH%drI'I)rJ+J-rK/K1$sLcD@5XM6t3N8申N:3O<ԳO>3P@PB54QDUQFu4RH'RJ/4SL74> MQG%TSOE5UUWeUW_5VYgV[o5W]wW_6Xa} TcYeevYgYivZkZmv[o[q%w\sE\uew]wۅ]yw^{^c X8`&`F8afa8b'b/8c7cA7dG&dOF9eWfe_9fgfo9gwg:h&hF:ifi:jzV@~Z k `k%P%Z䰹ֺeӦ-H h jH;oG&kkHC&4,!LPs4PE$&DIP$D JkQ E-:QY\@|c>"JPp!t\bH6A\#"A}P"Lc$%9IJVҒd&5INvғe(E9JRҔP06Q a%(0SL@ ~aq,؀Q0n oZ%\!@a1!Ȃ4LAx 9'04`n$ 9Ԁ(؉q3 d:k&?&м^qcx75HM|A`?6,`BP !]iI' ,345(*:TըGEjRTvsa 86~$C .`K%0&\m j$7s¬5@|c` |"{G Ӊt f X@ tY_C׌qALa X35l!0G5,/ J ;vaK@a[Pla,$j ^ u80֘Il` kbn@iS_׿pT(U r,41-u^:KpD^ >8@@Ρ &0a&4 &F0X&L`B8CLC bzX@ry kZM|[J mAJʻ@j5׎[ EF\BӇhGG(WE{Q5-/jW җt5iNWE% .Tk`N cpXБS0'Q-AD@:^79RL@; Sɐm)/1B8q2#>L2 5(OsXj18ĐG{ihuG/ &6 +׹'ʸ:ou<>a=ۙ  u`~+0[aC`-2y>ڛ-&Z"b@;78r4B.Ikï-" !.C @&H&[#$4 8Y"4#D$T%d&t'()*+,B+%*˹ d˞{:{CȷB&G(P &#"N J와ym+sS8K(|r?V໷*Ch\rk%+ɃjJ'bY(2 RFh)N)GS=lBNe4,4> !{C J,Lf 5#Bפ=E$J"4X ݂8|4 =MeL7d$uNO !%"5#E$U%e&u'()*+%\+ݢ5Z#,01N@3%+M3e3%7%"ƒK:+tH(׺1S S+2TCDS'BwrCS?jbxR@MrQ õPQeE5UmaخB!@2s8kX Z g\^[[H!y.4`{L%HPT'\@xec Z\$if g5iT&HWT׊ChR* 6סϙ[7Ĩ#<4`C4-|:D& Iu}bg:--PV87h$11>4oH$XJ\F;R 0@:;,d8sM@܂CKuS%|ІFkPNpT쳚:-+Pk`TZ#$ pk1ᥳ2Hަ-Q>BW;szCd*\t+d`\!Bj)G2CBt_XsA W(]Mj `0"XFiM"<tr=>A?T|HX]+|X·]O3JJ'$ @pڂoGs H(e%$X^3+:ݫI@~xok , Z,==&5_H`; PϊcP^͢4stdyh)3f3 Oa< %{![c˲la#\j!G8׺(m4QT4f@la4(D+fte)$I|W9BMZ )[FBaJ(2+&o8(&$/&@[s75(:3]|Pro `3Țbܛ>P3Ɠz+m,#zbox׆~;_ Z*4 l47mCAK4xcTjV,YW(&OijWMf37.QN-Phj[% N#«D:rH "O$"C4oԚ5-"5ᡬ']43s &@[@lނ-,ݪG*""h>(% o]ۅv&, +7z!-]aNss(݀Vpi˃byHa'!udAtaWѮa'j-fn¬~eaJ0f |1\&޲e,^A6$FB7Νyk'l @FPg=ڦz& aLV^ڡl7 (4p՞[Fc2ڪ+x\2 ۜDȑ` zx+Q:mSXg2U @{JHP`-Kd<`8~8+8;8K>9[~9k99=B~7v:뫻:;^;;; <_<+<;髿>>?????(<`׽ "( R 3 r C(&}'@lVӚy<ͅ2}(D#*щR(F3эr(HC*ґ&=)JSҕ~pAEk&4`)Nsӝ>)P*ԡ@)RTN}*T*թRV*Vխr^*X*ֱf=+ZӪֵn}+\Uҵr+^׽~+`+u=lS 2},d#+Rvke3r,hCkbV=-jSղUi*b+٦¥-nsb-miX=.rXWU.t+RQensS\r.x5n7=/zӫ^7]/|+M}{+sk3+cSV#]c5dy !`FG&8N~2Ud(UT2 ,{\r zyfv|櫖yn&l6˹d&o8~0|: Mg&8юo MGSZ+^ϙ4hI/:5B:ծNnWӚkkݎե&w-lAb U Ҿvgo]gkcەqCv}ɭnR0-o[c˾ŝ7jnw?_w7WlS\_+|CW˚S֋9*9VYnfüSr?n󝟵 u󡋵 (Mw9.#a x:>:ժ_P׺ؗ{=n';Mv|Ao;wg=b;}q#~酿tŗNz9_/~󢷹&=0𲟽=m'}~ȁ#7rҧ%o>}o?>o_ﭮgpk_h_6@ IX`ar y^ 9X U]: z `` `! =a&*Nf!F.` a!! `*]U Y᫹ !b zaa"!>"` ""Rb"&j&B"2U'VZ$')(#q" ,>Z֢b'¡."+b,j`1-Jb.&c,3 #2N9520jYc /c8J!698:#Y%Fc&㛵c:9>>zc6c++$9NBACCCNB@#FYEc*v$EF$D8Zd3d&dFdN&eV&djc_e]g~&hh&ii&jj&k&ja2lU^>n&oo&pp'qq'r&'pv=Aj."X^Xa0vvv*pwz'xxgx'yy'{{'|g||֧w6B<8g2lJ%Ze0<4 ((&.(6>(F"3tB>gl`dZN((Z(vͦUrdVy(@40+tB ܁* D .)(>'%Ҧb P4h"\$3" <3\@4)&:Y])4hB*p@h&) 42ԩNiZAJe=f&*hl%@"(* ()0ƪJYujh3 2(4"*!(h*F^(>bjYu3A ^B #@@(J+Jkb+Yj3k >CA h4DADj.Ϋ.+gh)<+|A>C1 A*Ɓ îl:l-^k(ج h* "k"@>+&-,,B,Օ*C'B'A'+vB'|2\B'3*p-*-6)ӪӶ(l+4--*l歓R+vv(&ږbV'Lvj'6>.FN.V^.fNn'CҫV+\T</FN/V^/fn/vo=b+$/ujjH^(X-X%h/oʯ////p';A~o$"SU86t00 0 0 p&֢p#R0.T(00 [ pp-t%|B%|A,7x'-<&sq q%8A04 @1&8B s-Z06)Dp4-`61&XDZ%11xC"%%c2 s6p&swA" tAcBto k 3"jw7hC3(A"hܱ7|˲6@wp`1%L0@#w6 ;6\ hb% sd1`926pC@T3g{C tA&(0 n̚U":1W1&'[?%D XB&l ;Ax763C߲s IJ1XB05'3?Ț8%t5Rhq`2C% -GAX;q `6D7A8{0@BW3^0q/!"s4c633l?;SBX0/PO1% P7G;sρ%4Tfohoe?1-h6q&Dt5vis`w0Cw6@.v22I??U"ww4v|7ֶp;+*s)X+7{C<5lc?o7DJjzw}w%`;Amrk2k6-4yoÀ0G 7OG v ע/tY]l;`Ѐ,1OT;s/t%3%s3-p6,71qX6)i+4CwDA7C"@=81`ny2;2+$2 @5O2s`87".8,J7UbS4U7|Rz242?5%5xAwl1zwrs2KGSky5Zw99zSӳL?r;19,{ȵ7xu'rBW :t-Zρ`c6-T4K8KFs5vs0s\S˵q7p 8?#33A_15{{6{'o;33P{n_1-_93;CY8Or6$7—G{7{OrGü7G;%7rg1%)߼OS2p;%xpS+_7|ϻoo/Nkc=yYz ǁ02ý OpvyǶ; ۽ H.<ۣb qWq_2᧰3;: c%{p7w> ta_0%Ya'$>뷾>ǾϾ>>~&L3Τ_UB?>?+/7GO?W_?_3?oC3g8#&o+n8C>?Ͽ???@8`A&O |!6pbD-f1޽=F9dI'QTeK/aƔ9fM7qIn ?:ft&U3P,FutijUWfźUkW_;VlYgͦO2F@;n]w}dJ^5QΞM{X4Ǐ!GxqǑ-lϡGOmQұg){6@|FݮP`Q\PU\Q;y i@kNLP!̎) OGKDa ZXP >p )x bЂ`AAn4Gx,!;pG{ #dAD!E4D%.M,%!CNA{CЉ]F1.RcEQ;ZdXH/́]p-/‡bEo@z؁7ZQB# hHNhd8Ą\S(c)SFTbǍ6bA bCChm,b%-aHbx# Bt D^27ɍ.v!tA&tA Tb&hU0$sZYWn.ЃH::a1@$6(m Ҵ;JL<;p%r|n 4QR>&Ͱ{.0Aq10kb]@~"2Cт.dB˘ .h1p3 cLl# C~b(QlkTؚ3Y6Ϊ&۠h=*RZ"!}xV;0WV Էug` ⡟݆t!Ibw6* $K]aև1-( btlL0m. _}H:A@&^'XB=7~$;:U9s0}h:! W5VK oW) 3 A!"AP׌vLd8&խ/xzO;rLo%K҂T6;/$d3`n1m`}( ]g)OZJә& h\" VKfnT8@lmDYt2LnkW h.]i-ϭ⸴?Rr"FJaRËށ~H ˑ v D&cZD8(ZKqŦ7Yov.4L~Hm[j/ҢsA4WR?CS|azdgCQvl}E&H~x-Eo=SGD& oBml|s'D9Ir| GiI~%%s.]!Kb,LT8k@ $j9Q Վb{|.Cbg7^wv ,df|hkY'Mޒ2Fa Ý_@+geV"|$Z7})ū^Mp^ ,f"&z DNwG|_1I=K\wϟg?1g%o%`!A%0-105p9p'AECGKgQO(qp 'p0upy#`l'& P% 0 p -&P P p P Ѱ PS ng" Qxp1q  1(` OmE!5q9= Ơ$ $( PꉐɦB@qCqPg SQWOPfnf )`Vɱ͑qYM31D eKr =Q@ Q1!SKBc p Ld  2$Er1!!h!Q$$^$oq>iAƍG2(2QWT(G%G"Q""Аphؚkܶm(2( $2,)EBc"n02'5+r K ,h,,C)*P*0pr|).1q//0-OlwFΡ (NlD2Yr2),(1S0⒁КL 85˨h6S2)358s:w1e9i6W6a:8s%d)=s=ٳ==SS>e>a7s>>s?S?>S@4? @ 4ASs9S,/ -B14C5tC9C=!A (xA-}!!FiF!nFq4FstGuTGkFgtHe4FgH4IHtI4IIItJTIJFKHÁJD'6 :!M4NtNNMCOݴph@y: lx: lF 7Ƞtm@ !qy:HViMbQ-v lmuwUoPVxxp ΀v<H!z`N ~xV aB@A@d/aD HhonXr̀w@yoK4_zAg6VgvgST@mWZ dwxhkJUs#8xf5 BaxOxw}T R6շoS n.$ח%!{C @ ^yɀA B rWBƖuцOxUkUC `89/XVTYz (WVx!{ix۷dvx[Z pxh!h_A ٝz]7]z@Zma]ƕ͵Wn(r7W :%` NTyxa8N[ 8 !AVCY{$g|V7p*:h!r%YW۠ڌ [yU ̚QAW:w,Vm3z1 pD[XKdYuYĀ؀dI6|/!e%a8| @V! \@NA _`*~`W9 nry@VvW [ ZwUa|gW/kWwuU7WA| lVvtOkaզyF \@V la\VfY\Ox[頴Bp͠Onq* V!eW>l}aviT'NX L|uYhM5'纕<JlB^y9 y՗nzoߴB!IՇi RV}N:MM7~`BAux嗛nb` ^~&KࣝKy??%C#1/_5??A9!?!>eT]a9alajuy{?} E}?'nM~B2A4߁޿?hhBL ,B 6\0"ĉ+JHFx1r$ȑ$K<2ʕ,[| 3̙4kڼȘtV 4С6ӥK4TFō۶TRjj֪RN5,رb˒=k6-ڵj۲}5ӾDڽ7޽|C1q]iЧW;~ 9ɔ+[9eA :z9g3լFT1P,βF*-b;@B6Zf\u;h~=5-:?=xa#1V'QOqLރQ?)z,Y`șj`  >^y桇Eu[nQuTD&QY)qEXˀ.#ea6(icI8f6eՅ Q҄ܐ6. _$UZnfb]jcyTTeH%MtN;Ǎ7 DQߝ|rIhyf>zK iDמn;8qTP#fLhhF(zfҊkK&Pae%X"6lܱzjrk^wbH&EiMֆi}ېZ1N4A˱OI*7IM{:mVm~{^?z!%a BQ_oDž+p"dx#J0S4nVr%x\B&G%dU|BF]R_"h҄pcERVkY4Z\[^zufS;_ݯl}ye(ލwzw~ xNx~_ۊwc-ӏ>_nyoyy蠏.z餟nzꨯy7x񍃲yPO|O||/ܳڷO/fN&L'~O~柏~~rI'Sv/i^?a!g@c, * L`Bp-H j0Ġ7@e Nh _@p4 op<;2D\P¸i4!g8 c >ix0B>a"v v1@+qи*@NBDctq!NhCc]$XQ# xL6$#:!FL@l|F &7֜floHF?X>QP/O2 p (Dp .hs?LH)C7 -3x nRt3v'U" 7P&T8RN@**\@UӞh)ZЉ7qAh^iXBQTnp ͠ pх&ԗU6[^"I. ҉ހ 8yi@ >- 1 !C'Fmn ((Tm4qFU<텂#PN04]E_*q0 \#3 Sӹb_m#Z0Te( \4? M1*PRʈ&41caAn=c ` ` 쪹t/.hƑ x[I"<)"HU pE؝gM)Scbp/<uLnm@cx7q1@.TAa3 qh}Ġho bئB)D0_0@28gC7.@+GP%| 7bX$)P>%S0"48N!@b30sDyY' #$#⦅2<=Wh3З܍YP C 'jh{S3e~\H]^MC k$~;2B|p߳šcNC 4?Nr3%ub9 uCWq} 6 ($z#zdU@>HFqLCʠcE瀆8)i 4379;ȃ6=(CHEh7hx,(e OQ(SHUhWY[ȅ]WH.X ighhȆoq؆st(ujwȇvy8k؇Ȇhs(LxF@;P(Hhȉ艟&؊(HXhȋx苹HCKȈڠHh׈٨ȍ( 0r37# p Ў莣8XHH9 Y ψ_c Gɑɑ 爎L4a Ӑ++/-/ْ2 5I0()*ٓ,ɓA89>)6iDDBJPBI%p []_ a)cIeig"D'.qy3)u9vyt}~FٗDTY5|hɘ阏 9jɖE7&&` Q 0 b@1\e -9 \~隯 RiBjW̥rKd@1%Oʤ ɜ霎 9b0'q 53Tp 6ɞ퉗Ydu[nmPO@"xx0w P]m0 ʠ 8)n 5r\0 =5 * Wp+ʢ-ꗴiJj7sau װ\7Ejk9+ /I ؉rpRP De.Jeʢ2GYKpv>pa pn@ZG zڂL .J* R* tI,b*)mp zj` ` j*e4Jg6ʕ)VNLTKt } *]I@A,//)'X>PH ` SLPJժhJmG uރdp th@Y뺮x Q< )g)E) @ je  p\ ?@Aʮ!&f ` ؠ Pp Q,' (9)?{غŦ- E &'Qah "~N:yx԰s@1}s[ ;հq00Q|Vcg@g\p ]2N x ~p Y0 *oK IB{UK ?~0c   $)ꔤ+Ëv{հvɼGJaK+ċ[y R; f˾ +Kk Yi)Ll0U[p f(<!#%' $"l),Qy{9;=? A,C`K֫;=vL|ǝ}|ǀǁLȃl|,Ȉ\Ȋ|~ȎȉǀпXJ ɛɝɟɡ ʣ,ʥLʧlʩʫʭʯ,,rgˈː̻<\̽ǬDGlɲ# ٬ ,Ll\ 0컎ge(LLI\ͩd mΥBxiYU3E[$ϝa?P> i zWzdTFbP_6gdHdH(uO‡X!Cdg]&J\ MCzUh_kw @1-ͽL !P b =@*M]@TK pKOKTLdaSLM MMgWadn"\p`b-sOxF?h-@-pJ0 0s`LSKqmD RR_4$~R `h PM8 ^ Z !Pt  ҉g `ٌa0 0M ;@  !pmιH|AcGR&R*R.S2ES6S:S>TBETFT4TLTP%UTUtE@G@x U70 fnO"`*x hxІMWU&BP\U4 hgn ~z9T]DoͫQ@2 - n`a4 a n| Pv8nPne G+ M8N@ M@@!L! 8@% @R~@pR`b~M8^Υ<^MПZUZZEZ5[P[Va[UbU@UXij4bj-^WD_&E Oa/ 8w\C, Pp9 0ח~D W! M0..^W }:`tN nPҎ5d,8!0묐an߼>r5Hv` `  aVaaa &bnbo$E~f@fFhW@>f\. tO%Hw@u%@{ 0ʀQe0;-B 5!׾   qR0T u .봎~% d Ta aP k?T@Tpp ^x%ɗ.dCXE-G!EV"4)SN3 (42`IUDQꒋD8y̕+hBPE4S-={MfTh@  **͑8PT)"QКj Bn&maЌCL "U([\9i2ezvPV W̚ =Zh(;+cdkرeϦ]mܹuwE9z1\?N>CB,ՋE;$I*%^EjH+HY׫R ʪWЍ|Y;ry+*`V ^rᇃ*pQh !qD%"ⷊ>R#(T+13SK&h0SVeHi c#B0G1?yA68+L!E.dƒpᙖQXs9%#FKv !RCWyFDJmZ4TTSUuUV[m]z%@@E )Ch($I)$FBpFBUX%1nmd^ą 9> \2&= 2 ^ဍួDft\kqE[|1Fa\#2cp.9 @h0hP/A@"&}pB 46U陨>ES|(L{DH+AWf(> fj9BPd92&E &S"aW 7pWE9ixa  \}ać6נ3lH |A VN 23B @H`š^Tف| (XE:I;cpݗ`=4 z) S*\9%6┞}C1~UQ}UF?fQܡ0Jj3$ *1 N҉Kԏ( d_3-f0M涌9(J'kk8 QC$`%\ (JD_%$h2"@S!I4G4ɴBeLHH0B 1 xdBJa>E.E(ȿR'RNa%?S 2\b4E"TK3rHXA)KbfTh%̙ =H/Uآ"C8T0lّaA9T+STC%jQzTUA!STFUPuE#Q%dU[jWUUc%kYzVUkek[Vfu 8zWz-_WVJa[X>񱒍l| p77)yc%miEўVe-j]׶m-iOkZ6kyG+ q\&Wens\FWӥnu]\Wnw]>"@:ʋW]G{wy{W/z_70|k`7Up6lNAz#ְ1aX#&qCw*6QX3p;AqX;q}c YC&r|d$Hrd(GYF1|e,gY[沌{(!,BP9hNsf8Ys3|g8N0ΦCbE0}ld'[fvlhG[Ӧv{zvmp;ڽ&xQlq[fweqt[7Iwmm^`[&x U"gxnG\>ʙc[ek9e辵c#> "?i@n;wЬ6a+sUh?h@19uUض`x@h8I H(86?7* B?pbQ1@`W(Dp:h* `8A^?h2ehh6.3F!l;hH(X{4 ?@=c#hOX`hCA c3؄S`NpD;(HPD@Ȃ8d3ABGض=*0cCt+7tk b!I)(GTP7U@K`³<FDˡl*X` ;6hU(!9KpB˛k`3Ncs]QC逄+@^̛\#} ל9Xe [9==l3Uq6Є* !r R0L43SL<;?c)P$}̤|'a(;0e0 C?':F $:vu\Ke h,IpC '`8SdӃ:d 7K 0pL8'hEPP@: K4D?TpCcDi > X;P6Fr=Jk:.#u689(`CsR\pj{XW)T R鰃wc Xm`N6SW`(XRp:POȹdOMd> ]6J29(CpD68)`'h u^'PB U8V;5(=KvCT8D6(cP 7 *?Bh bL;x5Ut 5ec@lLܷDN6`d \V?8C08ܥ܁m@wbs\zJC6Sv |̟--e )K([HtBFB26 ^8< Ru] 9C<626siԹUE6G0eM;09>6DOF`x;c;U8@063L(=E ΂SRP_T66dN˂46LNEP¥e86OXC0cîtԓX=>8frJc tyB!E@DрU;^l\*~&#`5TD9V?SX\c#RXD$H`V`qMɥ'E6^3e,u -j87,ԣ[OVYan80ZZ66M HB7}Fp3ĺH[C(Pem6DA(_zJRc ʁ ^ph(haP9ek : U$a2;O}Y7n?.;V. 8D]́H˚%>atBzULyCFez&@Bp)0O,"i}A`8R+Ѐ\}i lj 8=73)J.ZYMK=sCLĮfks^ 9Ѐ60h; CGK[(l@NNY/(}{]=92j}]N߆~|YʽWb>i>(6dN';:q Uhi7p’KntdY3ĺll!Od;䍋,+``@G$,ຌ`ck 嶶ի$ղ3`(`iӮP8mMhIN?Á `$EE_^٢LOZףuR$Ĝdees^X.xDB?),l yP%0bKSec_cEaF@i/TfGdRV< pF><}rl~dN<)F^X X(6 L'>YwdP/(_6{5%>7򠿀F9eW/X]7Fhʋ7^Uk:_F0ЎLWYG6SSΛMy\zqbq.Jx0ac/6Fxط/v‡) #FBPYE "/FbN`vБq$/*8:"@yKW).V \](,1vɔ 5`@PHL)Ul*DC 2qp㬯`d|4XWE04_Î^#U`v-ΘWrAj_o0x{E)dcU/U;Z|uKbfk&Vw0*Vp_7Q$* 0="(""J4"%:1P{VRHE/rb #{,bfT#51p3!7zcP8, 2H`!X#GB2$%+iKb2ܤ$qtp2%)KiJMރ<%+[W%-ki[28 ^$&1ic"3\&3gB3\=ikb3ܦ4o3,is3d=_ҝ8B*6a{3'?4(A PO4 ](CЇB4(E+jыb4Ȁ!MBHEѤ")}Jsҕ.)MajәT:)N{Ӝ> *QjԡUXjQTBQMTJի>ժNMi.UNb +YZVULE+[ǚֶխp}W71C.(HHysTI-^TM,c>d+R,g7YjVh?KӚ6]-jYu-mc[6m{[򶵥@GG* 0IgAXb!C- b7.w+vwxw7U/z—]]PluqZ7[`#x >;8 0[ףCkZBTh PT+#FNkqX(F2l+cyIq-pтxqn $r ]@Dakgz3>ς4mB#zυM4FCђ4'mJcҚ47NӢ55f9ժ2=o|&@ C?ҟ>oc?>??o?_???o??` `"`*2`:B`JR`Zb`jr`z`` ` ` ` ` ``a a"a*2a:BaJRaZbajrazaaaa;aaaab b!!"b"*"2b#:#Bb$J$a@! ,! ,! ,! ,! ,! ,! ,! ,d< F  ذ5%H b$XF   &X3 A DR0@i@TI &R2&>P"!?BPhl8 *A)+ I`J 5$UB!@ ڼP%LICQ!BlY#!͔o2i",;qM-q5 2_2)Z@ d2ET"0kI&P\1¬05ţ-|@25HryC}$.!Im{qUy L fu$P%_P!@@ S$PAVVlhyA\LT-EL@[mt(B%hYmWp}F [EĂ$P kG]t4LILԔ@hg,d֝U,@{-H ~ExD E( D_)T&wA駞~*ꨤ~! ,dH*\ȰÇn4iA|x3hA6lyj (!˗0cʜI͛8sɳϟ@ ŹΆM ,P S(c Qk *Я`ÊKٳhӪ-;%H &LP AL&(60@H*^̸ǐ#KLP$JA Jz= װc˞Mvλ a lI0Pҹ7ͼУK905`荄Jۀ)_Ͼh}]zxݰ£_nh& r '_o{Ux!a v a%LAuAQ5VB Q0"5#"<(DN 3LA $%љTVi ؕ@xaihIV&tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,2qjp j GWgl'w&%"#&#*!.Ǭ 2\ 6:,>BMF' J7-NGRWVgZw=^-bfjmn rvz~.wx߄/n?q#xjCۗo^枧y^NأwzRկ޴G]{Fλһ|=|/oˬ|6CO}_ڛ}*s~ߏ_k\~~뿟7/&?1_] ,3/ rp{<(Bm"! K.$ c Pd-lCͰ!! FX.$2`B|"(.r"E-r^W--Q_`~b̧?JЂ~EAІ{C'J}"VF7΋ i7/*N(&IIҖԣ,uL9QpӆԦ= *Au*DQZϟPegR?ժ%ݔU Nwb4\ +7)5N-YתRUlkV*s81׸U}=+VX5`XbYvU'KYBf/PͫNZFtN]*Y![6=jj?[ۦV|mP[Z5q J)sgYNץMu\n]w]W y_Z^7{ZhmLQ6W)q`Ω~ "W v aRp}^عf)bOؽ%'b -Fꋩcغ5%c8R=dz .d+78wT2|(k2,U-]rY2mF3uYu>gs}ֳaho9Ʌ>i设H[5hMct6aQ86uiogezӇF[Uj֧tU j<2t ` RĦdc.Cf?j^s7;G}i&EPݎr{ҥwmz Ln[ׄ7!}'-//-o6s&8#xS~f"xWnw;,5Qr)[<:8e.q^C]N<49>nOV«Nu3]9ءꁌ}_Ϻިqú]]:ӹtGq:Z}?^n"^?.y>wO~vOc_O_ =?ƿnwX(hx  8x(g 8'$x(g,Ч084xGF<؃>@B8DXFxHJL؄NPR8TXVxXZ\Ѕ`b8dXfxhjl؆I8nr8tXvxxzQ~8Xx؈c8Xx؉((0Xx؊8Xx؋8  Mł! ,~ Mc4i "n.qi!v4g|>g  A') aIYʩ@~*l~ꨨ.V*j`nꫴ+֪+]R뤿kYBZ,6+O.T-fmL㖫IznkoFy\zN7+Y07gx䔯x嘗w>[Ӟݿn:l\s~M뀵 _: xӵ?| of/v3':+pl9yJMh> tғ BJD)*F9 >4)I]ZTJYbҏbLURZ9NcRZHMRԦ:5~h' 1Ntw3>~#ξmvQg:B*QW5ֳuz,gn7*m^v=~7b%1xwd'b[>jfT ZKogk W8=yг񣏚?oǖtozۜ|_#><y9xOi}C߫9>c@l-쇿O_·Gz8Xy+F8ސv`H؁Hvcu&x ';U'0x)62]p@ k,6&Ej4H+@ ƃRȁL{GX+Q/MfOH c8ehni&HdorC'ug؃E X x؈Xv8mX*@ID8X 4wb@WuPX8XHȋUlR\ ЌX  ׆Uր% p 縎؎Ȏ討8 T  0 p i ɐYk~ntUyY! &}*Y0 Y%y#$/ .Ց0Y')1y7ɏ5ɒ@INYOy:ɓG.IZ [@H>SMٕfɕA SɆd)Nyq/3h~3sٗjlk*ry| (UWY|QTisVIz)vcl闑I 3蘌 y 9Ihixh0 9YyʙiiEew4'Y~tkfd6BX Yy㙞橞Fh ( `Zٟڟ^h qv٠:zc *gEڡ Z#7 j^z(ڠJ ,( )h$2c5j%ʠ<:ʀAꀍ֟DJ4:IZ0ڤN:PoT:>z.z[ʣOڢ~a*cXg+emi:w7ꢄ|z4i hQ WGfddz:ecy` ݩe\Vzyep(r& vVz x?::jDM*L ګ LvS@M WuSZMw 8LYzLzjp խ*wE݆'Į9P溂:*z$mүL*)[+ ) ;ƺ )GT Yb$Zy*r#XuV0kV2[V4}H:<+H"Ye DeE;FHG۴]yy TV{D2RJp 0 `;aKb{`elKi{ QU%ah !{xT [#f 0 0Kk۸+k'p ͐۹0}{# ۺ+r^{ K# ;+g ̫kh;ۺkۼ{ۻ3ks [{#+׋ٛ˵1ۿ֛G{K# , +K雿~ Rw\;;+8¿$)l#kK3 +l0'=,?<7,˻"s 0T\V|XZ<~@3 ːb{3;kYoltt7 {FU~ǀȂ<Ȅ#YƩȎeP{{ Pɖ|ɘɚɜlp췟xVlgglʧ &c |˶˸˺˼˾ f,#i:LĤȼ  P|؜ڼ\ͥ#{fF`ݜ O" l|{#\e` <"Lcr` l" ݭ m }#m]b $ #!a\}7ɺ6. 0M#2 T4`-}38f@=BMzF_? [#RmTV-X}\~kJcM5r,pMGpq]pcY P ~|-؀=؁}؆؅ {0+35;ٖ]tQ{гل4٢{Pڪڬګڱڲ ۶]۸@ e=ܕə]K 0=m Խ] L]ޖ쩕  ] К-pq > {- ՠ6xᡀ n"-I*,.@? /~8* `K _D^* `iN YV9K (~`@  hHn 0SNhO vni@ W׆~q>= _: Z瀱}<.䚾/^ %^"-䧎x~ま^j׮-")7N[>...Na>rrⱾ; ֮*U^.nnunޏ紾^_^ nO~C] PQnq~1CoH)L)ON@/ E$׾ 6< t?vz|_G v/_o~=]Oxׁ_ ~?p0ڪ@__@^ /?_0̍ҟ蠵!!Yڿݿ??_ QH@ @PB >QD ^ĘQƁ!RQH%M2QJʄ<SL5EbIIN=}gM6I*QFMҤSFVNz +հdVE(W#mks^}[7`%F8#?|2,[j]ƜYfΝ=cl.ˡ_.]4ZQV5٩mmٱiݛʟ ܞƑ?]tխ_<9vݽ^x͟G^=ye_|L_T0@$@Sn"cA0B B(;0C 7cBG$DOB.E_qDFo1GT܏2ӱH#D2IxG!2JQI+2KI)3@ԲL3D1.OL7 r4礳N;ZK8sC"4PA̳>ET@9eQGK,D'<24SM鋴RO?nMG%T:5UP4UW_ŏKE)V(7G/Wog˩D0~/O_' m(e@,ʀ4 NP30 Fp9 I8P&a EBP,! cHfh ^B HL&:P(k0kN;A0Q(+Ψ *ph,AՎhD'ሮ @2|p q h +"8JZp>JR82` RaZ` R@PF h S Ĥ.w#Zwc^QhK @\ <"H䲗 g&a`r2@7AD(W@@3Rh `&)Vq󟿴̃<PP*hpc(C\~` cP?7K0|EJ4 (8$ApN d :Ar!g6 p:FyfBUHD!hMqJL4DA`?aM a4~0 `QBQ؁"50m p%\ @3tB p n E@䮘&w2<tkAD+ĴͬjxUQ=jΔyQͭ/EVcgkMr:ЍtKZWt.# xKMz(ˌm6 L>;~ >¯~{ GL(NW9l<ʯ9L lƴqoanxqA KCL31,e[BTV2o] 1/ J&x;-@ bnf1b7pCvBÄA&{6&&h *T%.D0A!ƥ-dlo".X8iM ,gӴ@~olprXEƲ& o`bQ0DL X8);y_p9tF|Ƅ(W{x]s"@0ǡqBPmJ d|nS" x'F\ x[hA}jK{Qw#ҋ5Þ@$ۙ H.7C̣o0ud~˾7\.hwL@6^.0b ~{]0&@@=&_/e9]as`&vkgff_{f_` q{'jw|N@}>` vʷ uzux-Hhx Nwӷ /Ȃp Vxз QuxPiҧe{'VjOȂvbWh{sqg|}Rkgܧ.x{y7g~&}ghf 0j&fq$_9nw)&.C?B kT|gzSuqzP'j!Tz"XzQf&Hds09 dg}4苭n>jg ]|0gQ Gka_p(wgug؊v{Z֐2]TrTfyxJZxWdN;P,pvQ.4@ ypz_ǂS7Htcpwfwh6m(H. FH G GjH"\jeF 01x#vthEwvjgqgkabQItMaapVgܠ F{xfdqbbka[au`yJ7=qqPsqb}b&hbhSIa{9 pcqb% geey# 9Yyٛ؅i%>#F^ड़^YIșuSh2x49rX 0 `yꙞ칞y IiIɞ婟y9 ڟڞzJ2#0 πDz*ڟ:Z #j(j&z$Y:Z2jZ%38 0 3:Op 0 LF~ ~ CAzXZ\Y*WʢZʢdڥ ge0zIbps\0 Hxj PAZzڠ5_ LAHPUA 5A bʨUi?@ZQAx TAgEڪZڪe/C!rӠU'*O-@gէA>pJ|#@*Szxaq ` 7J0RT#K>oqZ:p *kEy<Y sp5ڰ2dѺUUfՆԈ-Pgu";N{@0p~Hʰtm0RX.0O{ZJW7; ;0ڴh{S(x۷ʱmK#~;=#X1A;Qu][{UNl 1];rOpYi^j2gi#_[{i5>2%61e6c;c:fcId`)dfd&h&dgRFekXdf$s:)&flhp>fgxg|&%Fh$*hhi62#dѶd;&jfjцjzjlۻk6kkU9l{flȦlFdmVkvmmf7kxvnqHpt8&f+o p pgpvp q'q@q4wqF q+r_ rT|rnr_-r 2G5wr:f=p@'ta@t|ZVE6*wV7kXuuHbXvyxlvkrGwvwz}W8xclxjWiGvxWgGdy7eMy;yg glzgK%C<"{M@{M`{G'—P|x;}QX}%}s8wǂg~7ȅ7uv~qۺ)S3h h{xg,`hXXx h#X5H}(wbUG 2}589UHؒ ؄\=u#$W[~׸q-@xeH]k;gGvy~:тq 燄Xx؃^LQ @f&ϛ؉aůxƨЌX( X]øgxEʼnnj;DkM@EXبy|NvX>uX`~9 "8uw)UG ɐNqgi0x4_ z] "ɋe@x)yyAג] ]7k=1j$FFiД}gg V vvx6KbR9e$L;}bq>m6.b26ٖ&V)vm#v!Kbg(^bb@f2nb 2"n#ٛLNP帉]K2k"]]^`>b^`N^]^ij^ifgkv.xNz|u ,6"PY~芾^-f20!頎nZ2 37_N > Z u^~.0C fދ=:rbqnB}%mҌp`E9(ͣg{VmWx(j*an UN2#$NxI 'Ppw'ͮhz_^*c3t2aoP! |?Ӌroc?&|O.B>  ?/ݐ_#2[:R\^_2e0 >#) L@ lB.|D#^\HE9~x%FDRJ-]SL5męSN=}ƴSPE]Ec˚>ulTSVz*ԦL 2#6lA V$ E (L! d%iexie A^ehJ` DZP` N7A Vp= `*c{\l)nhAhJ bƋi iZjFD`k/ W J;1q8ܠ![V@vŒ.HS23 gk85A5X8GUw /JA -Z̠ $@(ޑ(SЉ@%$" /ޡn <0=!H PLQF% Bp>ԕ#A<6ә)3X4Z;5 a)S#)DnC(KB hjDx`Lj,"QAŒ(0 Q e"v0B fNph| `3 "|fNu ԧ(BJ)>BvBDg8Z T2P B."k Cx5p Gā 1cn / DmLb( 1HsCyNp`RrZF"@`8ihE;vY8R21j]˜KB)7IRC՞'5Q4[5ŭULH9o;[X9 03dBH gfbk#%ּI4ʠKB 5kaUdZ+ ͌.m0Ҋ5 FZrp{;ս;ےd1DgxEBD b?22PpJtB@Q Gd0%p-uWYWvlTX=kzA#@TlCcpI8 q `88p1sa)93 qTCơhEZ`!hC:v4#-GWЛt?MG3ԣvE]jRwӨ4U-M:fuIxhɁv3` t`G<ȡxTpli3[ЎGggۮF=n;6pVwnr6mR,C-6p'<pW+>qc<xAq±|t@I\:,8#(yus?968ssE] ZP<Є&N Z`Qτ%uw8g9^G$d6Wpb4a;MbLMp{w}BW>x! 1w(Dah$A!򦨻E?ѯsG|TԷ w"_(A NzBu땏s A'XN J@7`.p~n7~ozן<ߨhh9@$0A _BJXA(8< X9@?'x M +O@P$Q,AT= NEDRŗZ\XE@\F`^4FAb[T8Fcfaƿnmnopq$r4sDt_ZbkG8'xh{{|}~Ȁ$ȁ4ȂDȃTȄ,Hs8x2 6t ȀȌȍȎȏɐɑ$ɒ4kІO BS\IH axɚɛɜfhO|/ß ȘɏTNɣ,JtepfPHUPfJfNPJJWhfHF ACˡɏ4`|KMJlRpDcJf'P4&ȄIY/ U(KTɵ1J i0NJUIͨIҬXX#C脧D͸@PW MCJMKʣNDM$TۤʮH|dTfge\HoV~nqA㴈芶hNevaFVfv闆阖陦隶iQp+pIƠGvliֶ&6j>jFV.j~jNꨦꩆFo&iHakgka&Vkfnkv빎뷖뺦kkk[j6FVfvdžȖɞi`Ǯn]jl&m.m6Fmnm>זئm׮mnQ U&vlˮl39؅knζ-`pQHKPK i>v6i\nc nd9i PM-𘉄 p n6l..;?(c98=lc0qMw7i66熆'' ;t ( W%gr lp6g ¾(8lggM.*Kc]c>G4'nˆr1oFYFDp2BU|]SQuNF&'B70h l*DpKj5eJ=0FWQ'o7#ƕs@Mp)(Ye3@)bC`Wp.diV+? em2c3< Sp80Uf,h „ Zӂ!Ĉ'Rh"iQCб#g#h*Wl%̘2gҬ9Mۓ:w'РB-j(Ҋc)k3hRЅZr+p`$5jlϚjײm4sJҭk.޼z)߉`.l.0s8Ȓ'1̚7ss͇G.vgg5Snʛ9SӮm6n~1l7p m?%8ʗ3o9ҧS^ݙ8sss;<ڲeG<׳o=ӟ/Nۘر? 8 x * ǎvI8!$;h!t!8%x)-!jM&3S#=#A 9$EyThM:w` UZy%Yj%]z%a9/8T[8"&m&;6!uyfd'}g֠F[9J'l"j,2q6*L5MnVZi2 4i'rL (RJ)dI)k.%e2gȚjꎮ4A+qBP2)MB4I";@c ̐bX:d"M(3J* |e/bXp}*e"-VEֲ81 щtr' IJ*t 30|ʲ!¼2ʟc-s*\!t }sΈ3&8t khb(P`D[@8_0h# (R|\Yh+bB ] b/HI$ ΰJIB'BbE/(e"|cHT8@S"TPW&fpA"mxHn c H*a Ѐ4E'!S9 &4І~@ rԂB >&Bg @9I EtM\{1BU4a pЈi@ Tf Ah CS:#*Q "@=$7`#BAPFD\$ | -BϹv@DGE.JtVp:`bn@]Q)@+ RXD) * ˳R,d 7ijnt" Qh%\` R)~ɈU3w+ wVwD BG>0T0` fQT_Ax C#a t-PD3FiH!& B"DH pQ<+TnpULr8@!"B gtxApMtaT wp:Ay K f@! zvg;{МED*4b{sHAn0HtpA(I7(} (P AmFH!'M )H! N\ "VjmצVr6} Tȷ=k J܀Q0)!qKRH@#' ar[il0H+JPPŢPr]+UJ?, vrpZswx7C{bDG/`9¦4h@C@/$<8Qib 0!n*ng 0n땔l*ʺ\Gy 5<~hC ⠊tTh p Etl XD<-"̠6 wAu 4l90L{aTsxZ@7GxhګF4a@ \A*؁ F$2 M7Ms*VgST2 p f5$8@B0ʆF }#w++t $.\1dA#P ;qQIE/ʿGɸtAnB*MLO XO@4+D B"=׀3 $TSgAC Ř V MA1¸@=@DTBhӁ)1]!ODhX.4tLW0 M@5 aQp]+0$8aR18Kف+Q0pWSq@h T%])mˠ XHU4@D6>DhЏDa8hACpO4cs<ȢT45Œ "AId_EDP"0$FTD@$vAUP,fAB.h/x$FVa䰅A"0TXXǘ w ԓM ^ I5]ӏ$3(C @ATa]ÎP˨h$U"jƟ·a؍ 2 PشMewF^0Ȼ)ATIdB+4CUa$B扟W )@ZmLIf4ܐ<I3 3%hJH@ aƦ!^ef <&B0dΕfBݠGyy$'r.r6's>sF'tNtV'u^ustFCvwID,y'zz'{{'|Ƨ|'}֧(8B%ܧ}'g~LxdC5 &(.&(9<6(6hRNh5`(f(zvf~G8xH(((.Ȍx,̂0())&).6)> C+B >9)hj)闖))零)'Px9Þ)ji*i6*.*j>j FfjC,*****/BaBB1/**++&+,dE=@B0Rf+nvz+~+빖+k)ÝN*櫾++mܫ,BDj >,F,B5T=lJn,Ǯj)C!AEt,ɖɺm10C#xB$,8l0BC(FҬ'4B)Оκ-0,2N(H.l#ʆB) -j>Dq4l0-,.n)4'H0Tm$mzBϊl#DB/n>۾,ξ- FB.nJ)l*Z,4m$D*-,$Dlіآ.0P,$F$*o#6نm#-F~FD .C/m"@"k˺϶m*)PmU~nlj,­'T+$gɮPW,*U0 )h.@AQRar /mC6@FtF2R+5S_4Db*RU1C%HBM6m wOkFwÜBsDA1U[yP/Z)82w(AU4tSy4@6 )Nj?sF Vk/h4)us7kF>s#*@)@@!yXfuN/ +"@Nwh@+ZvAD z*@ d =#"H&B#(½/:(- 3 ̶=*0׏nNb:/.n*/n]9 kJngWĮ>K@ @G/FVuҋT:u êW7hb@P&G)`qp@ⅈR:yفgNDAIQXfJU`p(%VSDC !C/a-uKJ*sP/}IZp#]:C jAp MU;61OW̸bB1",:BiC3^A\%TOA} (9^~R({ONoc{J4WC[(4( +n h_`YۂBE@P +(*3@R'MQZh4E )-*dNY)E.fn;I:Cz [X}~OGtxK _pA 1#U|W(sG$b /V  T?&* O6mjωL$iVߠ% p {RHVaMB"` %QЫүNjBT’R9a8Da)ٖTВyI\׸VQ< bxQ^brC@,Qi@hBlQ @39_9F1M;J,M22x@Z[%U.@lHVDH" 8cFFnez /"نYAbr' ߹Q@ S8PIE A ~;q%%B!OǼCX$A*ݰ(Y=x*72"ˣBezCTpc/BsJ}8W8/  [!]82#t.8K&`x"ȴڲIߌJ 2tO:,^n\1*z',bN>FJRź!Be0:I/Ebf0LOjU*P΅KT:xoIg@1=K; 0Y0ވ> C 2R[k:RxIg1*#&OZlblM=:8J=mHP OH̘[ni4 }79 <97A\[έGn+rr[z%_vV9  spRa9ȄHpsVWrxRg0{ >FD/Un bM1~`!<+yey/DDڙd (bQdh@@Y5K7鐛>x)XPق Nx8!2޾u'C#'QC1uU0%,_Lg9cz7:`-CV/8к5\*ݰ `}\Pr;e ^Ph'$S:c,*NaRW3oJ!NvMF.B6C `8*~zO:4-E&b6ug:.CooD=pP=$*&'$nT".$ o(L%#nn|@| XD=T0q#e B+e=/ 5F4cS>=3>>??>=3:ka SX$Ƞoʊ^ 5^啻^^5Ket^1T@ BX!(Z ua=a!6bOC ^I6&E t,bbIa%dQ6eSKVU N FūB^AF eLUvhh3[6/6csA΀^nXj 61i"k6lS_vV ($^6n Rlnb"6o6oWeYo p6p7qi qwa7r%7_q V3s5ws9s=sA7tEwtItMtQ7uUwuYu]ua7vewvivmWr xw}w7xwxxx7ywyyy7zwzzz7{w{wz` 7/`|ɷ||7}w}ٷ}}7~w~7~~7wߣ~8x X~8k !8x)-;R5x9A8ExkƄUX V8Y]8[xaequ؆y8{x}8xx|a8x8x8x8xɸ8xٸ8x鸎8x9y 9499%y9-1959=,7AY;ّCMQ9UyY]a9eyimq9wx9xyAyAxDa@ҁ8)˙w99oy㶛" ! ,8Pi!ȰÇ#JHŋ3jȱǏ CIɉ KRpcNʜI͛8sɳChϠUh'~e\ʴӧPJPի%ʵׯ=(KճY]˶ۇG;,Zcקؾ=ڵzTmÈ+^,s0a#KLchiV̙ r;+ӨSyհc˞-tfڸsmkӽ wxY+7y9H_;8u _7O|ͫ_ϾGHϟ?py߀mFMl nc>(!YM86fZᇢi("hR(ja*(#],n8bՈ!<)$X>nbC&юJRT$MF)NO81eCE `YQaP&AZل7쐈76"x"!"zmY_:davinͤR=eD_;쑨 LLɣ:3* Pԭ{Ir&bQ6뚲eNs,f{>mnɭ~k.~ݹ3;֖Ƌmg/[^+m 6 Ox Ÿ=/M,e|WrZUj$g&9(-glsE 奃imtg95Ӕ% 5wBLSgk[ՐJ{hbMp`+fsft'E\ۆ^q0]߄'U_͊ On>cxb;o4'Z.O@8oL˫}d9<16 eo=cǏ@eQP>*Fk ~ L ddt 2Q*/PƟP1 ` a 0b@enH>^FD!|G/%]{器D.RbD+b~bL\HF01##F8oUb9zq|ܞ 7HX)@:O AD 0Ul#xc ẹ&7yR FMh]Aڻ ]Q{a(WG@.>S]J,y˟b|=y_P^H"^y;ғz#JJ={oCjuL=I}_RqBԋ^ h~R{+^Սu(])󧀾㥟t;XA~þIz['}u' w"7x2z}TG Ex} !|uh1|'7'{(~{~x'."%|ߗaFAx}u|GSggyЃ !~bh"IU~'~xh \^oy 'hy(i6 RBhV JhfKሔXX lOttlj8Xx؊x@Jf!xR@ a ǘ($ƈ ֘ȸxݘܨh踎؎ȍ8p1i 80$ ibR 9Y &ori9 p!9 $)i!,vh/)!1.pYr$i4*ɓ@Bɑ3EGɑDєJ ! VX9IQٕ`ybY'Ytlٖnp @jYz|ٗ~y! ,! ,! ,! ,! ,d9 0 CI,Xp@5mpŁ \S@A&uD$60 (FD[A&@/D 480K'! ``ˠ%p` "Ć)i jIP` 'Xz*1pAb6Uj@L6 c4`N3%1MDh,x^8X.@f/SS<_)׈Ҷۀ_{PP*cz64@rəP%Yȓ&$xYAVOy4䨩FZ)v(NAJ pGPj.pY 7N!PMW„Y1TC ymAV $p_~ku(,J]|CՕf_(7a`Wa/GUy TLA-\C EyPyt.'Tj~ɦE@@! ,! ,! ,! ,! ,! ,! , |H*\Ȱf˦9Hŋ3jh) CICW4~>r]ꅻ^CKo=m6]D,a|P2P:D p,6LHH=h=h@V0Y!NbҰMRCKҝt0c8C;R$ -(wЊjIKxkV>'HN4'ZSan5WOD"5Q1֜:21 T|B譁s'YCbwed3̸pA`V e^+SߚuL*`9A` ur]ָI )hb{%/[p6lirfٚhЂկ_QfJ>k5 ݚ= ٧Bʃ(x+\w <)w>k4^pHI7f=0P ph tފ]T歸~Cʣ0@* jrOԯ5@Vi r$ȁHyFںǀ-gZԾ^;\0 cvM w68]I2H<.Xy N?P@Rau%m0P ^W[^XBV UNN5rLPT0XXLW $ HEv&U hw{€NpiW@q" \qf$Ru2!+-C3Ĕ VXpe`Pt%oߢvIR%dufk6Lh$wntat{e%5CB^(+4ET35Tbx䆟4JuVy4,eJxTnMIxItdi&G6T3}σjGF=PFAr^GIƈG8G״N8G8HQ5:>ˆ?E$xGGIsKuT[Jht85hGI(x$9Gx؉ Ixl$C?@ IA)?'yI)DY(D,y/3*4ɒ0y0AYyF$>BGA,6HID9PYD?9'TD\CSٔ]ٔ_yW bdCߢC=6= 888Dٙ"2s>_;s8#Úb>C ,kS7SGGi`>̹s<}c6iIr(R(M=FLw<}C<ęӛI&67%UrЄ% +M *>:R(C6 j(2D2'Q+ja&YEF#$8>8886mB'6EZ(2/"* &jR8s('!|,0b2LR'|ac)`: Kqququ$"$r r o2{.'J1*"L (unZo!.pi#92Ep)z)JQ4 ~ ]pv@9p @n? `n[QPj r"`4 aAWp_A~*PA_yqqj_1 Tp { w1kE8!+q ,10@C  Aa 3K@ R(;. 0xx q Q7Kp_; ;hj+G]? /  (RD -p PPA1 :[{MK .@R+ \SF|f@YKnA{ A8 N̠3k!byЀa +R в 1{`{+4p  {|; ֋Q s8N( (+2װ+ /["^*k+|;P/\   z)LM`Dl( [ ʀ6E!@V\Xlq\^`_L filk|n& t\v|xz|~ǀȂ<Ȅ\Ȇ|ȈȊȌȎȐɒ<ɔ\ɖ|ɘɚɜɞɠʢ<ʤ\ʦ|ʨʪʬʮʰ˲<˴\˶|˸˺˼˾<\|Ȝʼ<\|؜ڼ<\|*0 =PVPB`O `d +wL m {0ТSʄ*P2/K ae]VX EPW2P+P$8mڐ,' V21e`{:`VP C`؅xҏP,,@a\ W~ԏ֭A*P{@>B *` V!xFS~ر &3nLegO.m^p.{02P+#J =+,mNKpgnKpMe&` ]@Pa C^'@Б .3nKq 0M-{Pzf* X}PY]Wԕ* c` /yѱn ``>>>*=NGm?Y>^/**<B2P c=0ϻ`Mj* ӞMsɐsɰ Yo Wos㻰?``"`P1qG OO?-}(֎ndot/ig?_eG^K6NL>=04fssz/) EV.>Z-t-1NG],?㊞ooi^EfиcP)@#?qw_y٠}O~UOe@U o! {X*d4m"HqVZX!:vUY B0R%KʨXQeK,3PȞ*TR$5G8*#]eiufƊ`9E,B&65V!Wwl8bUC24i+*D]PEի{LݺKFp[ɝnT*j +=ZrT6N8Q{LpTG!N?^hnefڰ7EГʸݴ罭7,]6A*oNG?]|6VV4=3Fǿ:vJμo!tN:?U`iw>NG"S_Ͼ˟OX` ('b 6E)`V.Zel衅|(bLh"d+Lw⊞0(4L6Hv梎@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n/o'7G/Wogw/Д~+S>z~'t҉4. GH@fπa T(BM C#D( >P)\E0"HqB0h@H 5R`mPe(-X ~Cp WdQAa AchW>U\1?:1ZѢ:T͠ @hN4 -|N8fI=)L0?rpWH`Nw.0pdR "s{4D\f(+@SYid "_Ђ8";!PDe PDCT%"DAf dA}dMxӅ4ܜF .MQ Dmէ Q)!?L T3z`4Nœ(_ u#iͧ1@ hF,n`c)qpZ08 d؁hj@H N "4A )+_Um/1N p*`c b55J@0>2YTM8-(( h+U,xV^$pjNk2ŏt#gOKRI>2*#FF6CƵB*l?^_3v܎u/mZ14n{I}Bpr NJf@! V%| W[`oOw w͠(`3-3񎯏hxьd|-8Y q0gN8Ϲo\Ѹl\O;Lw:ԟ.GTԷn{Z:ؿ.veюpat jHxϻ4FO|/]Ƃ( [7y3^Іog}%V 0N#G}_/s -w{i|=?Kw.p0En jCsewcD_R8TXGp"=h`b8`8 ~eJ`l؆npr8tXoJ|؇{H;P;@ `HBЈ$dЈPH @ ?Xxᇲ8Xx`FH O&@Hܸȍ؍ɈX縍쨎HHHxx Xy @ H}(p x%ٌH*Yոɒ/I%y&YHh6?i(?ّ(LٔN~yЕ]ɕ@y娒),ْAXvuiCy|<@H9|HP)pQqhsٕ Y;-i3ؖ(-X 9̈XYi ɘ)IY舛ٓ(昑39钴yqo)9;)(Y:⩔KٞN9ّٓYeIiIz ᩠YYyژa8I zɝ%ɟiI.J>y颓9*Ik F5z(zI6ʣ,3ڥXj7J)@ZfzJ$pu* v:tp꧀jV٧꧅|ڨ**qBZ$m*$p$ ʪzꪪ**y**:Jʫ:J z*˚ѩz`9yʕ[[jJ3YyyY Z K ۯ 檰.kj!BZP0@IߚhjʰO*˰0:4k/)I):?.zy= M[i$P y'*O0 {/A9+rpJ{89 Ʌcpy0uX ppPOj<W0H۴QQ+ /0܇{!) []XpNO-[(୅t9Py^ZHy \0H!G4PGp:pDѐ /uQZ4\Q\HI54p/9y:\J42J\ < ȀgueH'I$ 5;[ [Hm7ݮbk\uBm+Agr*@hҥMFZj֭]{tcyO^A^#q"]Y 0Xu$ǁOr"' y@p$0>!! y"yx!҃pE̓89H|j;Qz x DEh A x฀r# ႋ % H@Hh ڃG.ʽ%r1Zj,l@đѭ800x.sL3Ttsy : v4+1@OHRKO>+].,H%v L%EA+K6W_5VYgM*fpdpұf[*fpi'Ɂ :x¡ %azZ8o੆ԣHP[sD$|gg閁]X >ٖG6 r 4 xI% xVTHxB4%.p䎡RRXpY(x៝x<r[ ¹B@G8j[)PM`0<HثHH'|*y mi.-&9ڣͳ^mۜlޒ"pG^ԫqSe.Z?=ta-#>/@ boI<\x(oW[ֽ%ޅۇ' % n*vÓg`Zh_=^a_H]W-Db4vu;JB!8@. X\\:Ltà_Aɴ%$b 0:ЅS!H IpvB.t<JBRq GDC}k@@ ("q(Oh=,'8#HR!$*M+C%*JB a 9HnDd""d$]7Ű ЈCE/E<哊x-(]Pn"F򓧄^yKTZ}[W*6F Q lcH"(A2@ MnրA7ũ~̈́Dg:9NBJk#DR'{ bb=|dAZ be/YK;ӢhFNv>*R҈@MQAJ.W5bAըGGTҁ@TETR5TUBui]kXUVիX*Tկ^uZ=k\ ׭o+YѪ@aV+5,aX"ֱb+6,e5YbֱLmhY@K#T{ժֵuSOkڥֶTSK[Ӳmpy [WS-v[չm_WNWŮu]jܽ.u+j׻.y;^weozۋBo~3*\C@2% X-p|`7n%X: ~3`s-a8 b 'nq;b2ưo|c80EËxHxne )KPvra,S+3e/Ӹ7>mi,f'mg:3&T$wX}c?X}4 +Vʟ\hD7:J\f2)-i6tU=fRZӫv5%zՍα}/uoܿob<5ͽuv#= ͷ8R$[rw|':*gBG%%5'} V._[n%fEsQ=_maGXޒ9tp}~ɏ~`Hw*N<_K*.90T`/>+SOr3^}%DnyG~;FX{q囓%Kyؗ,[/擟o;"8{Y_7>僠| \| L&w!@|X_-\`1[?Է;d۶X? ??{?X@? c?滿P@ >?> @п?@+\?  h#? BF+%0--./B% OP8P@+8COp@O Hh+CE@902h Ex3tBh6l4(PC5P>3̂F EPD4dPOh34äqOhDM%x6 +hFh@:PP P6E.PDF4lFT$EhTDR EXEO`H834F0PVD(D?@C;4Pԃ@fLIElLEH)E XLDE@Ehv\HO@ F`հBKhKRJT^8 tK ̯Y8De0Ґֈ؄\JT pGL81X(pȬdHM`фJ (Äw\IX.Zɳ{^^0;L$L < EExJ5DV5\DDL"kOLN`L,KQѺx 8K6  38&pLѐ>HPQ% 8@:p$,\SP@F1 'N8 w`NDLXXpQF؃]d>q.h&Nv<(<0%g( L=pCFFb8b8d@ePdV_CihB ]c^O`V?hNce(cN`bِX](bȃJ_ hN ~!8fӐ]7&j~7)"+% NBpЁ2kVNa+؅!p_N(0+Xȃ10m2.m GB(!6k+0*@bk=xji@nb0d0^0cJ'0PՂdPց%P+ЁU.^ߏVc>o-0_xFdo_ﶂdnii`L.N-8`Ё]v_&Jan%e!(vXpFnvVf`hm.G VnbN^%-Ho- ?faVcw^V%p_w`!sm6Oi]@nF$&s>/dNNd^S.NqGXkHI2m]N@_A' MOf< FցG NZtdZVfH&evb!22({ւn.kBPF[eI&fUuB9bnb0h<(qv!Q>sDd!kDv2NvNt} w^?unWV@+P>N] *x' {c_'wh>>dh%xkՁVG"Hgq+hMMdNJvNzZ.1o`N8sOGVm9ojA !h@ws {HfCGH&]j1XbLWVN/{>7|߃5VxO`/m6+@Jޅ3V_bp&@Hd]pBl0gf@v3ww^{}H*VG.FsFbLz.s/pSWϷknP(OOk 77k&dŠ*4det< N YB.*p`O+Zژ |DpQ P1 ccB y$R*zZQEJKu#% )i.mj}J-\mZL.1+3OJULʰ&^~?r"SE5pž"n^32E(dO1`LQE!gwE잨UE7 QΩrž3V\h-RFc ~5ߗc׃ZE=:dЁw*xG ֜] JP( {ч.EHQ( Z]p:a:A*QYH!h%cUd_hbUp2ABTee:$CJp鄓WTnGՊ yWrR)6n50BZUg)C"YXj&faWiϝPV+T"e"f` g ^&UQR:BiS yoŦLf.eȡ0)+$fo&$j )8(##7۱ 'WQ+&QN1ƔqQh9B+ֵލ S$RAq9ƁCI({.2tİ.r#IU/^-D&_*S!}nU,KњKYTFeFC"3O*B2A{'SHgUb.ɰvo'jjn}me1UĕLt/=4TkS;f%wi?dCHVe, {iwչ"HΚgatyvKyx `NxF X/ k砙$U\ E(.G(Hkk4{\'y1 CT[e$e|dlƢT< qgPN x'r,\ aΪ@AP> Q8F4J0wnlADHM">\R `Wa|"VDuo9ukVLJQ݀"͊&HLkp&z&b ,!a&v}()"nT:䤵XApBmBh;)R lQ{MC38ě XW{ u8rcQ5+RG&?9 nJ<^ / zB>NwS za Xc{IO6H:ֳa[q\2-k}N/Ɏn;r˽k! ,! ,d7  0`@‡@&1Yk& ڲ6lIāM*1cȑ LBB?(,QV @m)q0E(fR& `a5Hq(K,P@ΧS,(@@ K$)k$8(ڣtJ2jJ0uɆA4L@p-eyjnFW XaІhl,T<͇%oXy)\+eتץOcL5Aɛf@S;&H?N Is&] si:PFoTYlW-| ]{FLA LPNL@b@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n/o'7G/Wogw/o觯Ǐ4NM|Î@L  i/ Q@@3 HnDP]5L<80(L W0 w ~  ̡w@ !X5G|~D h# \+x 02hL kXpGрXp1Dap | ;HD P'IJZrlt7Nzvܤ?/ ;03b(]p%vQ\zЀx^,'Ibʱ$%KAAp p\pB3SO&8KaLg<~4(22 %3$$#9JP4SM0yGeJK(D-$Ўzl5JҒMJ{P::Ԥ0Fƕ l)Ӟt(ũPUS9>aHRԦ:PTJժZX3" +-jv#fMZֶp\J׺m%G80գbcMb:d'Kvf7fAhGKҚD>jFlhN=+ f(p*Tai .a; 7̀q!{JVuv= !ʶ#D^MXh)\Zh4c0)RMЄa 0_ oی9MDab7ۍ+.v:\U,Ým3bU4#!:h. 1͍acX\ C ;p t .P3&aōP;R8f1o<6Gne1+6O8wb3,.^SpB#@X&s (2`.ȯ@AdpA"wpa08' ; @" +Jh|jW 0C A W Phc=@&āxF"A@hb^-m R8rN,9@S"TPW&fpA"Bem(ln c $*a Ѐ7E'!\9 &4Ú~ 3 >&Bg hNNf("ʀ3< >)FLP[R܀נD BNM ~N1R5nWP_~-Ax`Ts.@]@e/Ev -`U$rwXPX|NaPEL6M~\Є (]s dQpxĖxQ(Р FWPXn 0oSdž=aPi] zp&e-PqaPia@Q0q P>@Wp!n`[tel0j4@'l.p_愤fj3Ws7_yv qp@jbPi L3Xjl<],bJ`ZUgX[X}o|X0[IY{f%e5x:X@&?j%uY;ēs8^uqX< xPZPXR׀XhY7Ȗ:IEp;P_`b@ q 5Yknjf9Y阸9čiZP[ c 9Z9Yхa5\ɘȚ;T ٜ9Yy֙عٝ)Ie乜p 깞ٞ9Yy x*:V@ JZzj :Z"j$z*, 6z8:<ڣ>@B:DZ<  L 6ʤRSTzVUXʥZڥ`bde:f 2IFr:tZv HŐ wڧ~j)GX0  P P wz Pj  p P *ڨ H*p  ˀpP pʩp 6J Jv 7 ਋* 0@JJ p ͺڬJz ʨ抮 j t:q ;@ bp> Z P@m p;Rgdh.ppj Kh -Yig8 H)KRp ǰO p h ~z ǀ  ( -{.@1+\ĕ .K˵;@ \jbK K Nಘ sJpDM rTиP@ :*wp7ڸrp  G l Lڸ}} b w * nr. ڨj b| M  & h+}  qG RʩHJ:! _-~a .@LJ- f{ rR `p7p`-W`!\ "2| \K@4zO '?Ej{ ٻha b 0>+¦r` 1ۤT!`HW Vz 0ǡg-QPA^i|^v \ዬ` KHn.@¶ @/˲\Th{ ^8| }!uFȘjHLbļ \ygM qk\)WpLǰvp?? vj|Y| q`!^v?и!>ǫ69lp Mn"Fa7ap}V  eg8 ʽ <jɒp kPX9IJ8Jn,C ?@KG @l b:Ѿ>k8@h{̌4?n&LR@6 A\q6u B$T`pnW] M@``*@;kQ  P;ݫ@r6zm -lR p N8pz N$l  ̿Hn}Ƽ[7 |l{7  AJ|[v|njFz-:JT0Ys8zߓ Pp}Q @| !6*7 kصK#>̦lHkmP qA8@ٯʰP &k{ ߒ0` A`4b0p>ˊKQJE?m1 xn7ؔ n Mيr9r6: `ӣ ON0Ykz 1 Ar ,``b~D X  {q@ LANzn   n0ۚX^WLE#`"@N>n@R0? f@9pND~l lp<+Jv@!qPyHv >>A0OP%YpNH?p 5r.^ _fٽ ! >!CoQ@ 4*_  >?U`TrΘHNlO> mYx !Co?[CMRǁ!O??(Ÿ778?_ю@ DxPaB 6P"C-^ĘQF=~RH%MDRJ-]SHVԬjΎ:uTPEE".1s1ZTU^ŚUVpHĔXe͞E6&-UW\uqÏ}X.BtJbƍn*Idʕ-_ƜYfΝ=yя $QC%SMTVSuSXKTUVeu\_ݵW]X_%vZ/4Yf5GYt5V!mVNuvUŖ[T\m-\jE7\rUt}vVY{IWk}cWf}M8܀EMX ጛ8ԎGА9I7edjw^v9ޘiYޜv[[MYT.٣?(wWejE&kM[km.hu|-yno0p|p Gp=pwr%!{yo~|!կ~gמ}^<9D`@F< @ FPAH= ЂD1`hIN@~psHڐ!B( VC&6щOb8E*nH#aOhH 8F2ьgD_`񀟨|t ̡O Oy$C Ak@ ?&i -Ղ6|it\uyM w xp+ó "0.vz A8߻:@{׀kC:@/H.8Yz&.6eOA58Y W/xBF ! yXsy vGz^yԱexR ָ$e@zwne Gjc@.g.xͤ [YX*Ɠ2$4S۴@=@>[|@m$ ` MD&Wc1mV(hQx!|B*M_!;uD8+Ac[r8]sl.Efv[학YHfWlE+81THWA,n] miz4}XvՀ;;/[=Lڦ2034s&"R1z'CV0,y >",{;6[(R4A4z-%hۅ&DxCB23 &"1G;"32(+®:R l{+@'JfºC"4ʃ<*.ھ 2̔ 7f[V%2m:J0sp`RsH&lk7bEA:303pȦmYuB Nhb,c _T'xJkOh,|0T[zmEZyOڃtStFtE1rF{x\%sp%YL@1=D@W@F'RD!l"[;=A(bJȅCBE< |:ȇASĄDH&A--qșɚI +xJ؃J(1ɅR+J'P ȣtʧJȨ/|" HFG $˲4˳D˴KI˶t˷˸ ˵l ˻˼I˿d K4DL$LHtt Ȥʴ)̺td lL\ $TͶ @ՔtJ 0#pM0 0$4DTdt"(%$4DTdt%5EUe P PTP+%PQPHяТhQ}Q1XДQЎ0Q Ҡь(%Q8ҬHғ@% +@+hR$0% ]x#kUR2 8m (60R@+Q9 ?E&eRxҫTPJEeTN@=SF>Ձ]=VЁ2 FNL2p MUL-%PJWUUeUGhJS7=(FVES2J[kQQ%VT J?!pbPR=8Pb]U M_`RUpW VbkuӊUz Q}V`P!(BP]12(@?EԈ}XT؊BT]7؉؈،цETЁaԕU=RSԉEN]hN=qUQ݃BU݃2PYNЂ[T]٦\ ֩ZE"/1O-ЁBpcE8SV_|(VQHU](E:[5 0(E[,GС]*h\e\[[/\reЁҰ=ܲGWUW-\hB(5YؒݵYގ]-!&=TDE 4PHmSvP%P-oQ0Vv-\!@_E\G _+ЁP]ߊ8S0CH(:J35^`ъ<0@5C]pߨ_l{=YEӛ[sJzQN`WM RGUn][M =\-dXUdU&Ӊ I~YV=u bޤP}X"ցx-%@=P UN֌M#<~؇@eX-YC6^-d^B]AcFYm]Mu0.\`b:vSbZPc&|/Ov!@_u:%3mc}MZۭ`݅*Vj~#VTF!6}Q;&c}مrS!2(r6HoOB8!x+E= ]^Uގ'ЕFY=iC>d%Ҕ~id%\bE>SN-]fvfh/!]h_BVa+o`݅GP6-B(GX馶!h8* E%ٴ[pmj:}}b%\G0.l~GdQ PN(X ]NxfF*` lxQk=жP|ǖW WFJ5=hVY]aV ُd=>Y&>n藖cSd~V%ׅցTZJ֋V%lVEXbVa` oUڊhE_11Э}حejY`]b&aE WZ]]kX#v2k`{1/҆](P.d q5Qf^7'q@.]XTc:.D]WyqfOܞX|FPa-"@MD~dGi6n~^InAo&R:s.idc^0hPEuS+hBڡ]Xv=`wەW1hV/D]U^UdjcUu-Պ@5ޅ VQGTSWk Wv{H:.0pac TVggW~Q`T=-P-QbFg6eXk%DoU_'=UB=\+(i5G5 EthvO2ܵdP_ T"PVP_/vPWw{Gc ~>ewtl}BVT~(dJs]=3-`P*2Ue2bŒVGPP}:U)SUjUuѫ"k*ְ]^mvj<&s#]'(8ծ*p*Rh/=eD]E*TEJ8*N)PfORW,(CmR|gA_EHGJeFi蜬88!|U˲odeUf`R0wT!q}ɈFF@iLud兔Q!`_~cQYaak!!UZ*Xbk%U/h[ohҋb]u AJ 0 Y^薈_`Kd[j(#niE\^UF%RؘbTFh“WUP^Ye &eJ&p)*%klډd[FjY0 *eYcUh!j֒sƸ%9zeW:F飧vhZR誮z; iz"$:URrYz+SЊ|.*/:P(H$&iZnΪ.b.kk[:XQF!a ^+RV_ Oڪ,ngʮb1Ǯnܱ91ׂ{_}߀ jP|>(aR8a^f$h(h Dh8]]@)DdL"O6 RVGT^\wyhH0H4(tig)'p|~ Z(" 行&袎z `iiZifHmiAwjꩨF|>c+)Dz䭴*pw+& F Rkf{zj-춫Zھ*kJ[o7 ?,q ?-+ ,&&‰r* s21Ǽ<8msBb0,T oXr[,^ bgv?z@vol]7\}rI+ͩn[Unad+f]4YCS.y772mrwy7qԈ띕<k/݌ϊ;ܷ{znw޻_yΘ<ͣms&MuDt/o觯/kf(n.z-0$`h.:| R&ji(Bp,a;zӴ籈d8̡w@ H"HL&P#HE\U,z1]"8F2R1f"/ -nlcH9zюYcE^o!D@BL"F:򑐌$'IJZ̤&?)#%DY"Q':HTte+g KTΒ~F-h <)qJbҘDf+ JezLL$7MZ̦6nzӑ|8IrOH6 mX#+p9IO5p۫7~g8$= s~ (AQ:pD:!x06<E=a(MR >HZ# (asXcM'`$zB8ъt]-VshaDIZXȹ$ e$¦*֜-THZWʒZڧpٞk)ziKDڄBK?Wur8Y 0i]PR{Q#[~z9Cqj z(dU5\PLfiE0aoRI_ ʧ:ʪ_vHc@)i"ǂKڑلIڔ1 jZPگAizj[fR6ڰ㥪0K:[;NKt.z";$k{(G1Z04[i*<۳Xa@+>{HB6 ;R;3VڪOT۵^W+eh+!lۯ[֪r;Ѷv;Pzyt;+0[{۸;[{  ;[9+;{'pۻK;[{țʻۼGҋ1 ؛kӋ:PVPE[[[ҫ=0#Tݻ܋{[:7ѾKd{QU 2`[=PE!`ܿlZP'нӫEPX2VP) !{0e‚80ep+{e˗[p~[Ѿ )ez{ {VP C(3Iо* V(íW:@ :ĜK e*ĭSzU * 'c[ JP<ɀ[8V U 2P4Ļ 2ЖC Ж,U R,2]lY@q[Ih [g |(P,e 0(l`0{+0KpO >/޽9Ձ=ឌ%.\& Mk +Mnك^?/ G` \-* Q^>+`P{c1ܽ;>^-J` H什Jڹ~] ,t.X|X-ݹٷ!.*`Z#w.2ݾnлa޽)ԇ{pGȳٶ%حнgX}a-s&0* ,BDЈ& Z޽Fݽ0҈C P-`0+ ,^7^.N\W?_ČVPƿMN11:: =2P lto?' ֯+{'pUO +&.Y݇-vöH zRMng,}r.n̜Y+m*_"UTU^ŚUV]~VXe͞EՄ RM0ᖭTm :=Q9!8ĩ=(&N}ڱ*^BJP{b ;qPJ*NڵvmƝ[ލbB8Y1^R%Oz~޻]YFx͟G^MRH~ _MbCv/@$@$B0T'B /Ь! ,! ,`H*\ȰÇ#JHŋ3jȱǏ C~ՋW/(S\ɲ˗0cʜI͛y1"Uϟ@ JѣH[FcQҧPJJի2 ׯ`ÊKV# PdI6K$ 6ȠJ&V"7ЂrB"z. B h .H t"7j)n"-0Cb+H+2?Q0ࡓ\$.Ly#!A|X∀: 蠄j`6\kuAmN:i\馔^p"rҵ)*i[ntxX&i҅)^AA닾k*]+{u^%n)N*¡K(>^I *Zj$+)J]] 9]:o /2pZ)ZMIƵ:끹04LT(.)n)K2 @Fl2'찪tL2m(M(ѯ/6l2lڬ|sk)FM4@jk Djʰ6eRN閏Ǣ*rG3m{}=sɤ:k n{{i񂳬v/~ܜm{̸o?iS?o _'On ަw>s} |kx۟Ao7pc`@ DΐgNa5xB(DCpj! DB"H*N1UHE-bWE2] 3nD#8qjLcF сM ӎӈ`'E" 0HJV<$#L^Ԥ(1GF2d"QyIFzr%a N%*iiJ|rY8b-A:1[z&L/xPά& qМ9L6s|0cSD ӟ@KP9.B9A%:ъ QP,T=IҒE*h?O9P 0L/St,I9ȃ6aTІ(^`G,hL=p5\5#D~b * /]Up=xjTzUYᏵ^sh)Ws]Bc%s}&ͬfOLfgG۩~V2%A8xZ!DMs$UҔZJ,ԃ!x?@2h$BG8ỏENS$؅A4?ZPTh(ap)| %C%sA:F%Mᾀ#}f>{RN#=ys{G=fRJ);:U}|[ws{Ep4{CRhcF1ϻʆ?llgzy &/#dabK<  z4dX Ђ-Ȃ`#_3 dkPV#oe~=87#hFgv#}Agaeg2nvgzMVv`s'Wx7O hAy isp0j 'FFl搁Z38<*-8[Y^yWP\pI@yPieք`mGv`9_<mW Q)uOFEHƈdx] @܅q~Up GPuxwH3|؏R8GH)(ugB_ &]#'rф_O] " " Ud<@ehUP G&U3QؑVii؃Wa )VZ]V]ji}XZ9EQdyPt7Fx8vp@+øj挓\5L0 P y$Ћ4xPHv"Phi!)8H89Y<_(ɔ~yh0tqI(wy9Zx隅 jЄia i9${ PHh+I)ɚ i9TOfٟy+ɚ陃y 1Wɩ؜:!iȔل,։d'wKx:]9/0B\' T6 98(F?j٠GMOI`YpyRx$Z9IڟH0LigIN q~jP(ɦa9$ѥr)*dڏ~*BjozLiCZH꧛ҹuJ9j? jڦTAʹڬr1 :ZZZ4`[*4窭*ڮ᪮ ڭz[گZʯKS$Z*k*g:sκc ";$+@'ʖ(iA3{ hM300+C۲+ *)˲˪{^xZ\۵^^d[Pi;@n˶Qfa.h;z+[* ѷ!+Tk` .0(kX۹Z;m+(ck7K(i[.k;r·8ۺ2+{V‹[;N{73 ۻ뼲 ;+؛{+v[k۵J˷݋z+{ߛ˶웼{;[-^ k<;wk[ $ ,|,rU|>A:l{˿ &L.|½Nl"8? gb+[.^ ~B.nK0  Nۜ^?mꦎ9 BV/c0wm /ط V2P =bPk^`20!P:*0p?.`:)~ Nr J ^^^ 2 㭠..^_>.'Kf"J;.P`#泈ᮽ׈pwnd:mBe* K0@.n*nU Ɲp,Gwrie0{]~ꢮ۽U>:` c(&`;ne2G^U:Of 0p 6e( 吿 n :~?U_ C(0{`-ھn;刮2 /y U +VDB(6l"‡VHD7FT"Lj3RJ-]SL5męSN=}zsL$, (ZPJ+X5%U)FzQ5mmwYK\mRD|T@W1P'%{p"OUaEJQ X!Ү#VIuӼXUT 5'#%#Xb+4cS!KQj49crOcTvݽ^x*Ea2V28 APe鴘#SE()ݬ0-!+*G`x4Tm:/1T B=+TСܨH::/':,L3D3M5d " Q=N(@ʚZ+3d@*Pm!Hyt]Qk*HBJ+nRE>sMmJ(:ԓfKcY=SZ[UP!"UO]U0RCv9z쮔+#$0ǭn)d]w߅7^37lh==Ę" [|X/RRS12=P(Z)b/LEՈ@!*l82t,TXd1KAOVԝ1%TAJC#tnqvꪻR9y;l[BNNӭZƄV][ANhBk!VhV$]|=8nڣn@XBU] Nth*wkJ4(Q jE?_!ͣV0[tUSG2MeH S4ôz-W{,%|G?Ð܋F p]/[ w@XZRN6[81(~A2tIJZ 1s:NH7MQhW)d 9U2 !4*B4 r0dVAD YoVxKS׹Kk\ Ȥ>.vы_ GȠS ds1.!KJ@EL)Q%&0iT$\kP`HCoZE5

ƕ!sA$(9xB{(nI6O(قevكF(F2`f`Ђ -| @pA Ȁ!@! .0pb@!0b0<&惋d \ ~1XޕЂ24ڨb tabR!ftf-l`Ą*gnup^^A0h6^uA^y墊*zj/RAr )v𪤗+lz`1V;سk6jnil)b)V**6;騽 鹍Fn[o 7,{Z+g )閫úukRA0뭕ibr,£J n6 0ѭ>|7C-a.jzۭZ^v*F,싱WL1LF#wi+-P..}!&3#ƏkV{ͭO+۪}n]n,G._d8U'+'j:DכC͓G^/|GW,RǮ4;o5>̻>/Ҝ«w`+ j; `5;utjwHzk_{[T?̉qhKx[ZW¦a`(C07$f( ;C?$&QKC&ъUl".^Q`bE$щU$A6P7|aa(G:bSlu8<6Q@kC@6Qܣ IH=Ɛ\d)IJ6Ґ$#iIMf2 %9JMoL*- )vI+" 0` $p-[BfarWYiڲtN^l g`IbYd\„9"x.\d\>}r3Oۉ`LBbNvAҰ xc/X RsAE=A`a9ȃ9VT#Cp#3O,r;((!\ԣEO#rhUvV\d,b3=DMq5^Y}ʃ]<5 n!,v1Av. @/Q X.E 6j.HX6Wp st{JI AZQޱRr(Ol+!<*HxdtUWxxr@|H10+PhUf|fj0y|Z0| q|X|@EPJ |hP ` LįOK@ڕE--cM22{ V~1^ *e[^ I2 Y0` 0(V:EB e ~:`0{`"3.&'~UPZ# z~ڀ.(Pv2E:-V~0T^ z&P(+ڏ`v^= ǝ0'Y]X^ѨU MfUю'pޏE -{(`Q~enmV`+~ۍmW^޷JGe /~+P hq~ C`n-``Pp= Qdۙ* D/>WDd ^ Up*Pm*~c ?+ž۸] V( P yH0+ 7p0o N(P U`2` (`_y c`mmn.` Qڜ 02 2ePKP/+zw~J`VP>XN/yPg { ae (( 'DBA*ʔASQH&pjũ(:N<G)\ؐcʼnQpgϋBr:B*@e*GK=`^V]~VXe͞EVZmݾW\g1(JwR2k%M"B' QǮ8kFqc1&\zB =vń"^.3*F]&8'L񻤊=GX*h௯}]Wx͟G^z+rBcܤBz;,2$pV2Kh2z0+*.Mh%\K$C  Aɢ=Zd0Ũ"Z%%H TxB ;C2I%dI',RXJ(P,S@` jT8F[]ѪX"N,t PMxDthHX /d80v7欳; =UB:USĨC@PB#;N2W]wW_ aw d#% D` 86kAD,Pdx$2NV\S!6 #" dw)D R2MNm rEB0\dV =2 yd R-V#%dOF9ePNH3I)2==[U[+VoKr9‚`6*H&ˈ+xhf++MefmS,j_۸ 2VB[䫸>rkι@թМ:#Y}^ "(DhF<G"4q 9$B#x"p32F0ˈ6{G8Hűx#>l| @$!F.i$IZ򒽩$&7Ih X>)R&<*WTt%,gyJY򖠴%.wyI]%0yHa~4&2YGe2mt&4EiRK&6 Bmr&8 Aq4':?us'<9?y'>8ʑ%?JP鳠A-C#JME3Ѳm mGCJR(ISb0]KcJSCʹ8=MsS@=@JTEMjԦN*ժ VꡎTz5IXXֱ5A\=ZTֵ5?}\ ֹ57m^Ւ׽,u`+=b#:v+}dZ fzv cC+Zr,iSkղ}e]+۽Ҷv-nGun{XW=Y\ve.t*ZֽkuUrWR+޵D%/zVTySҗ/C_η-/*'NLR3~p},aF40a F)C` #>qGS⌲5 OK8αw8n~"HNu,! tP e:Tβe:X처L[,f4{ul3_٠tγ|Hπ汝BohClFNt31i5ҝ5 jQOj*WuS iA|u^^-h]:NvI ke;N䳧-VԦvӜg3ݞnb dmouoy߻#p7u7pV ?qPW!rL\%ȥr_-9sF5 s=oytGEʁ@M7:+}T=to=6ȿ{^:iǙi:fuw;^fCk{3vc]<w6hx}XKy DŽS(TX'؅Jd7'$H_g_vׁ \=W8yrȆm(fxxH4H?nQeh@yMȇo爂x~ȈFoGH3aGQxp剱(芹h(èXȋH(xŌͨHHHhۈ莭(hHh(ɍi(hfXSYyTy'{Ɏ 6a&)'ْ$0i|9$X6I:i}L# ZK08QTZ;fBj` ڰ `#a yazchZi{` {@oi+ ` IO` s#f{@y e@Z9zy_ʫj `0 @1`@2`:Gfi eY @` Z=`Z `ʮc 2 XcJ#@y9j 0pek~lnk Y:*x[``!/pw*?A ˸@y $P ,Zc֠Y yk:`[/ u++Pjث-kHkH;U cp7k~K f Jе pY +⚸ڸڸ0` 0c {` ֠ cZfŸEYą[;ɹzA\-2 +\0f $ {@zAۻ@  ̻;ǣo +X`9 ෋K:ykڀĝ\N|I~ 0#ių# Lܯ OP0 qܚpf` 쵾|0f p0 [O nn n 霗<oǬjq+̚~ k\ܶ\ {I p֛ :eʼΌl(Dpk0@U#pE O0ŻS|̬nZ<栱OP+M\۾cd P|PK J\qm$plUo+̮{SXP$ [{[po)yZݼ[ ڨڜP PLج |Zۂ +$@Iʍi 0LZƿ[yݚ%mAŹ0džâ^k P ~`̜ >mߥ pn^0,އ>i¯Lͯ:{P PB0tJ7$N&A{ѻɉȦYУөVt$]E.(jJcnkrmNYo~sz>zdyY0(e.^r+茾$>IR~$,F㥾j~,&> ,EF>^~Ȟ^*t>^~؞ھ>^~>^~?{  J QV`U)Kg?+Z@m=a V(5! fk Vp6_H_:K?`0X E ڮ^>P+*P2:_ PB(p {p*@ Pm_2pڜ9_w!` ( {e_cO2 2 `ZOo{0cpDgb7.2P2`-/2*0t2 9_QJ/V ?[QƆBP@cŞ"+TP0,^ĘQF=~RH%MDRJ-]SL2vбDEUd83Qbќ=(QCAIm*=xp.s麚WmZd =eTqN!ZydQHĹfEP٣6ODi GQ=X))Bd2{(]*Ia*yi[lڵmƝ[*޶ژ($}d%Yv^SJdTFZi+@>fNxkbǛ2YQn⣻txW}=;F 7>Od2j@\0C!Sa i *Q"vC1EWdE_PD : VL M9{)klBR(D jTmŚT^2KmvYG ->7J;!hE-$X;qN#9RȪ (Q AU,FM7SO?u2ʰ 2KGFQXH 4Sؚ,+^!k<Vd4FQT!:/NxQ9s=P3@-DaT8 GPS `F8a_> =N(*Fh^ǎ7, l"0C*6]vIƚ/LL`2($v#0vB8DݣCg~o?sdvY٬1$*:fm߆;#iI=Nu?ce/aC'աrÔo)iL:ʯ/~opWOUhH.C%k9K@,bL>x'6SNvDhJdxVBإtd !lwYqwH޾(D[Iꢠ3zLiR- ȝҟ=-f!۟bMT>B,]` uH9_TBJ4'k%Ge,úl 3RdkAuZQ%6(DA(*W"l#dK6=8w,1);ܲ]/#w!@)J*锑Nj^in꩎~*jjjꄭ*낱j뀵ު~k|*zk!,."1gDFk-}^m}n{~+nykw垫nuns+/qkooޫli+hlpf0d /0bycgXw"&L*,.2׌6 :>mBF'J7MNGRWVg]#`5JmF\EF!qkPrPoۭBtwAx{}wp.wx~3܏On䖫]yqc9؛~']-ڤ ~מ^ugzNNԳߞ7{Bѿ߳]|6#ϼ?}*S;#֊9U.8#,¼/L+.]'e< 43h~|9_7@:0 s>Չt`'H `48h 0K ,A˜ [H) c3Ё:ܡ_zH0BLo"1z!☌8C(El Gh(.чZ!,~O$\%4Qkb71.l!>8/MOG<E\cd6bF&7x(nĞ(iILҔ(bQZK<%*UHGb)Kot4+O%,8Cf0ɒK6U2Aeehz&2KOVӚ=i&x)T-<iJifg؉n*AIT?: st,$?yPtD?Ji=4Iѡ9闌zUj8u&#5_jŊvFZ*Aꤩt\zUĭZ2P:ԯ&V$lִ8QJXbv&ezd\/kژJMkaKږMckR)+oYr,qV.K|;%~lE;\^J$NHV#{:M (ɤhvMvYWdg}9dl26K7oAUi8 o?`4-0ɄK80D=`wD &CM 01bwAj, {S᱗`,"BRyd$xL)eJ 5"cq̪}`-^hN3esD#ڝwV@=IЈFtMAO|7ݐNј1Rj-陡34=kF30j<r6*ͿQ Z:׽M-ZTS[׶rc4m:Fe?׏n 7'vfFXY]GzcNVc _2t#D`qc,E4>xÈ8F0Tr^ )58 沰# brXyw~u1AЉXyyV}Hu(YWy_t\}P^x]E?Oԗvuo;@;WDYHyA=aOz][+cD}U'zI]}=Y\b);Ax~ݕ<qϽ&+1&=,{>%|gR &{d'~&'?3-yfG睋}f|-}{G&{'yg}}GVg2W~bL7mǀx~0wyRR0]>*@gx$BPU\Gt8&A@V(_bnT|;E>(F`udBxFttD9~QFSXE@YyVȅNHP2xӅUsG(aHN׆XfhqL8GxHfi؇K@yG@ dy` {0sKHPg᠈% >( $m Ҁ ͠ 0,0 Њ'p Xh"f h0p$Ԍ['XȈ[Ơ{eݸ 蘎%ċȍwXX$DTxXwވXL0(xX|\) (H[eW9Ōii9%ƤȐI8ؑ%钪X+ %s .ՏF{ NM9 @Xc_:u[Y lpX~mrmɖq9Pxkp%Eh~ [Dj闇)j٘(1z阂~ yhr 9X2yəw)I9ٚOXi\ My ]eK>SyHP ٝ@%X0 yF  Z 0@I9 A ? 0z Fp@ { ʠY%(WAWx>p *t!xPmqXPs7ʢᢽ q*Qr%zd@)F:H L5z 鱣* X:ZxQsiaZK:Q*AkhpJg q zڤ: QtЦaѥ%ʨ 3ezڪZlzZzګjCJZAA{}J8 *֐У*ںڭJZJ Ѭ{ֺ Zz*+Zqڤ6ЪZ: ۰%!窬% "JtJ%˯;[**#[6{ ;4:k H#K:Q[;\۵Zʳ*?d:C J^p˭:QZFq˫$>OYH`='I?30?Zְ ;VɸV! ު[мk ༵ [{[@ JRk*k{˼ϻ۾۾{\;&@"˾[RJ0P 7[' LQ}=A$O/ݿ1MH3MLYMD%Q-\ }͓c ϖhbP)lW}G_mB?e l1N֐Q02@Ip2@tԭk_M`Z z$.U5H~@ PN=P/p`>{{0{ @n{ގO V$ڰ,+1Qc`R΍gC>!`ٜ1/` ή/ ͍0 M/o5\@/PcI 2'U&/i o^ NS$E?{ cR h Dy+p>oNUb?3z/y@a:0^N/ ~ g\2>{0r`Dn 2` ڀ/Mx? a> < 0pap0?2N#>_# ֐c0 ZZA'Oc" #LbmƁIvEHL$AJ XĐL5męSN=}TPEET)ѓMćd&,dxִ3<- {cOU 9hp$a2-V.k$$Gx F*O>Ψr 2H%@L*{"*%F R\q,"C0 ʩgߜCo0أ Vd.%ZN&2K-K/D): :x dH3-^x"*j ty` OO3i ڣT<0x!, ."CД8"ĴzHp1Z1FZcD:kWGTN*á@IS.N:ɣ1V+7\q%\s 1с6,RǜJ`-mQkq"=}]E`hK+)Gv'=#ty0-ѦT`uyJ`şבbkeV0oϜzZ 2.G|{ByF)sI5`(2s15vJ;7mfmK$(3$ o~*o GN89˰`F~gyotAsᫌ?|I kPfj!:L7)ÛG`JyBo1 p ͸HFsFJVҒ>F!Hè$P@ @Vb@@NbcjE#uաqhd09rxh<G={tf%ePgvXIӜDxEyĻV:Mo|+Q״-kt_ľݬ FpMV`7p%)>Q3뫄G"p8jۃA=x7{k2)[mCD*030kSㄲ›8k;XECg@pCC5c6WCWC7k!24XJP5Ug<c2`kBV00F+XHPr+1{1W$vTJ`(GKBEoC<* 6?dȥ2x&A@ܫ4kP=4|A5sUF[e73]t:hB(k{d(3 @P9)#1 !N-(GH07i9{;EmdK[۴5Jt>+k2OĐJ8C%hţ ɤʁ`k`<d>xHFcK@BG,N@>(@ 33e8-ȷ"x!6tQxHC`2>xBA$:sчٴEeD[V7V7k! Z!9o2Eパc85,ttCN)+YiVKCZ"L%^I9xm#*{{ykDl_{p^,<{\HA,$bEyNX8o["{!:3ӂ^pSCE͵`^0.‰LT/`_u4}]=n76e4,ވ]5ܳ^=d_;m 9t3P1c7 24\fF t2..P<`WE&e8.UC{dĉT@~C?& ! ,!x_H*\ȰÇ#JHŋ3jȱG=>Iɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH{jIʴӧPJJիXjʵׯ`Ê{!EЪMv۶pʍKwݺxw߾"0m0È+H"#C,2˖3cެ3ϞC-4ӥ Gxװ6۸sb #u NG$bУ'bسkw fWËo;ӫ&˟on}[h\Qw 6`T>(^fK` ܆ ("G1(Ѕ*0(ㄶߌ8`:~ED'E&qA.5 T&eXf)֕Zv%V\~)NIh eflӚn)Kpi$Չ|bgПj(AhH.ꨢ<*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼z*|U kz7v.lt>+qNkn^mlnb~+XkW垫nV.U+Sk/RޫPO+pNlLVpQ/J ?,IOlG_FoqE,2D!l2r'LR*,. s'L6q:os BpF'PJDMDT#tTOWo^uR-6f v46kݲrw'Ӎw-L-n_G:znF3nNSlksol9O;߮/{7o'7;G[dD*),l=އߗ/䟯~.]}D2<M}ΉQ!Q4j0!x W .CF1 EDa(DH) (K i:f )EkjӅsI{drRgEpf(hXZ~~)p5ZڦTk׾ `K^b >)d'KZͬf!Y, n71ҒM-jWֲkэ}V 6v pKy-K l⹴ns[nP׸ntA KXuiA[D Z{`ކGeA7jH*K/́shˍ/|aܠā \o|!h7L ƀ`b Q|< 1H8} 0 =3a;E&,A 4~ۅxh&>wӵ&,^l(m".Xbp, gԗz;Pށ7 t8 Bo "S-]0-`Z7_؁ vKcB؁}.l8M F8|suk`N[ q )_ &oQjt6^}#FC.N ,`DKA `֞8}cyf\5s p9X N.1v{ ]xrG m`bfp8%POփ! ¥{{ "` /Lb@ ,=oY΀mC+~pT#\ &2mT3\8ho)LAvpJ@ "-o ;ƻ^f.\E6,"AOH#fx-@$PhJ%waf(sC{oKVM6^w>0%ۃ!~ O·!>g}Wm  ! }@G20AKG dufwe\ |kiv vυ;p`>Ea zw` }`36Dy&~#wb70X'}DpM^@TnB M\6oG wEvf 0j%Pz"zQp`G s0 x w4V(adEX IxCP~ @y7:**PsgO}6@:#gcF,wcB OЊ'2%FdTd @k[W|&M.4@&h ua['}EX\ 7`$ .vbH@hb;7Xyvc=n mK8IGyhK`3L(! [~[fjǐ8az|fd |aڷn4xH(G!r^y@`"!G!:3_`p]8[`;[ga7yd5ғEk Ɣ] [$OP#le]" TuƔp ؠa% (XJ pxz|ٗ~w U?bYY9Y99Y SgQ%H 9Yy9 y 隦 險iٚ\5_? YIYȉ@ιϩϹ™ٜ)IsE^ Ip 0 C~ ~ МyY5Yy™UpAO`I%LU3S PTW yڛQbLY \pM .` pMC M@"Z6 YJ%$O@H ?SRT07ڤNZA2]2  ]-@%N>f= %OI xaq ` 7pGМT4zi Z mAjЙ Dd:\k$*sp0*@pubu  q`` ]{%u"`Z*jDҦj9EʐFNmМaS.jO;Y ҩʚɚNMZ%ZMʪ5bX:%:J& WUՙZb[YP [Uj b S b(…\*L;%\%]2[]%ei{U^V^뵱^O_1g94I&_&`U` FZaFaan{a 1~7yb,bxV2Fc4Dc5]@&dDfddJdbRV{e\\ZeEe9fffhffqgsuf%gzFyJgJFhhhVzJӴVi_iajx Ķjjkipk&Mk_lFKTl3ll&l6mFnm6ngn鶴FoXoRvo_ (pgpp pqVIqq q؋!$'g*r.x17sxs9s2stBGtFGyHJGLt/pkZRuMpuMu['j @aǀgjW|n|%wQ@whwxwhf&x}xx7sg~yGbEz rz&zxr;${u7aGa{&|̧Ǘ|Gzatln%,#\~oq7^幸ks|j&-e8_b`s.`&GcA+8#\z~ĀNa#W;]j^^= NM1 O(jTdkþuOߑXR߬߰N&>]<Nށn챮;.C  w } @[O[  " `>?Xdy0^)A#ˀ; =@B?D GHKPRN ?72p p ] c_dfh^@B A/sv_@A>?% __ ?? p  K ? %a_g[)uCk4b2O> ;` b . Pp  ȯ=b@=pmHub6vIn+ sF3?#)TRN-[v0`=5Z`Hq`3qbK:#BO!.Pb'VlSn@H1^5 )*aD}D & HAȒH,yHR%]Qƌ$h=KԳ3ł!$FśW^}X`… FXbƃ4Ydʕ;Cg| :)U;ȸ'Ő\4e|:#`P8L ( Lt*1t^yrfY 8ˆ.~kϭh H$J,AdAP/$B /lZMX:eN\$Nd,jZ$ڸF$a`Ѐ 0k^cD FQm+HÂBd@+ 2" ,A M!0@"@ ʲ2<1dQGQsx,RK/8NF.فIB I4 FV9EDpԑ`Fa^p[AQ9huB!8^Hd`!."Hqˁ Bxz (a9Ĵ`FafaŽi VD!`\q%6eL !Gev7vIjʕ$QW fcUK~eY-( ,03 (Aܧt xjqOafm߆;0 #(&-^9Gx y"x DBh$eBN6Óܚf=FI$Lި=j#BѮVܭ݊xottFyG# 0/ii!cpX1B :K0*ZZ"EZXYp?Ud%8A% 0)t U EH*`'yA2  $@ͩ^FL76y7as2LJ?t$>“\ 0EnZP%2=)= /?&aY0q >P`\*z\'Ġ$88@V=Aq(؉O=PINc^'Eɘ`\Eqk&ҋؤ"Dq3qupc0c6e.oieJN! a,KV@ 9r heB X7®0EX™Qӝm{9Pws09 k*1t~:!E `CP~NIH."YDXdB)%|0iH6kԤ|'ς dx"ǽT#!!"^V4)#XO$:ꔓ6թԧ2--(Aq ԧ-z c jHQ/KP -MRծw'G!4@_!XVC(a;hV%l6+v5dXJVgYE9ԶvT#emuⶶnnm[7mpuK\7UnoV|Qn#-oxû n5yŻ^׽}o| ^d8o~1 3p<`Ep!Tk(֛LhB-^ gqŻ'F1e( \pxф 5E^o4qq LbgGFa'nQz-9;H%l &rf6߅m~6vAǴ0 l 0ņ'ḋo} gF;yjn4âAs ;0-(KlcSry[@f@tGlHovuöe2cA,(̪N5kfN+\07@ mS6- /]IWƃmP.x}lrYِ^wl[j4pnpȫ6@tq[.xȩn7JjzM kC2]^KNx<{^eou^nV$/tR U9A_GznvmmgP7>ww{w˽ը+0mviG<xǣw|!?yW|OvTAohG}Uzַ/5"=a{}s?|G59*:+w2\ e0PE3z'&)Zi#?~W #Mlh)\a'bh>x%69Ӡ'Xh{<қc8N fh̾X80N>@PW@C>@tLK?h TiQtҊ8$<9 0+6 @? Cx?@ .pe0'05)xfhFp.`+":L&θ82.h0U&6M@9p)З ($ pODyq@1 E@c0Up(XMh2h*IePRp6((W0D R!US q4NPȁoԀ LjTfQhmF=1 pxExB0`@ EÍ;AȄS8N2eh1R<@kԿ#WI1(5 G*XLjF 8!0Q$ ,h: H$wqJQȀ+\7]˾@ihx*<R`8lC(JlDȄ)X@FSh@(RP(ʌD=yԍ00,%($0(o| BA˂ԋkx2Կf ({LF fA`5b 6)KWPL(kiKSPi01dma3S4`\fPMp)(*YeQ6g ?.(s*S0<@8/j0|LVfi(cNPO^B&+ef0HYM@>-j`b'L5 L@+04feVMvff^fpXWh f9(pvhd2&`ixdc/PaKKDM9CLd|fgń0h0 khEi$Vb{X.x_RAQh_=5bc}Ni\i콆8LN((p^釮`fb<6PACBck3ӭgkp@9H߈X`E<6zg^a] +1@ N. OUg.hv舾.jKg(m5nFm^14 _^meev]~.]6ouEfon:>]V1lƯZg V n?ʆWgw OjG-v@'q 51pvhwq{Y Mq #G$W%g&w'(?M+!%"O?)/0W\ ׯ#s>>Z>ӛ87-׋&¼PZ ._31r`ȅ&RBOEυWp^[N@ہL=ӿQc4:_@@6Q (1%xE)&htrI1`I_hi^ZZpr2t8q^@ TA L|As@kD=2OP#@+0 !8 B-<]o-_`:8E/O#_M[8/ )R؄#RW/_xOxaM^(%R6^2RȃpX?%P BЊv*C)84\6|89;<\LC?@4 kBE0b! akBE(Q<A#G44 3T0 &-_B4H&!AP,\*A7u QGP3q@Jӂ"2/(`@QL@=D@qa! %0yQCa:t <0|@lR'Y-\RhFā$UL u$]K'-9&0PP!xJWHm`dI!E@CqEΩ6hFe[=80C4" Rh\ 5C DAA2B̺ .)"4Ҵr=s7R1MA!E'N CJ(:`P "t "pa&} 0"ED+`0#`ok};;\сCeb/HCfEٱ/4Pa22 dal&:q-Ga|A?ZQP`)hS֌/mhATTp2*\B]C'!7W4 Aޞт(( 50,x&|  0 0p9 >7<*Z/(#HB AOhc(9ұO `>0D  0|;g x 3adB +z )dL'\H v䠃e@ BI %u~#RcV hF,nʨb @5aa F"`=#  r n~q@C>XEAwfF@,;Bqtp:'@`TP`[- H๐vK$M "!.})L\4 B0|*I96P7K)@Pt8   @AzFIJd)A0X@E J  JiSN𕯮a> P1+~ Vq#l`U(Hх3f.s( rL$4Dŷs ip̥-n[nFݪzᒅ= P.p1S 0r)4' "PG3H1}/|+_X C ὘lk<ň5Hʼ~0 S0Y>ila4N|mhͷ.zv _) f)JBb%'ҪŻN~r0,)Sy 4\X(KbP&ʋӬ|>Co3Wf!& 1(BD1BpAT2M&uxD;\ڬaA\ -llӜC QԤ>S}]T#c-YӺֶ5skX; -a{օQ e3{nv6gS{ʮ8mm[Mp887ӭu~7wcO,|{7-|',Q'#q CVHq;ȑk89Bs%M򕓜'oqW*9s>9Ѓ~sg8ɼ8:ғ3N:ԣ~PcwԳs],f^󩜽ne!5v;C<@~ͭpE>`=QS4?0^qt"+NAyO49I/z;/Fb(@H\ BҡàF)B0D11_)BUB=j1)t@$H52A0%jHІ#BP dONN D|KHt!Vj#*TU'By^#uB_)x@ \&B ,B*aX,W#H ƁKrAOz&nk KX_& @U,*4" jBz5 |N^uf/H㝞αW'0 )0AIrdF'aiA DHԤ u&'E 0N D(&xjjj0hAZB v$x2q_=^ AWÃB)ē'Dz1(ÝhW2\'{A8ZHM_.T}6l`]l!/B~\Zrd^!/ 1T2j p#؂,"@)@,՜!,j؁I/ *+R. C ,X4H@g PxH \E8QK p,R\` A *$:du;R%EJA\cXUi D E/t*p@ܜ*4AĀռHo pxLhMMlj}Hpp`ewHnkƇ:N61RƭL+l"+#A"4+ \c&ҹH"?v iM&pm) ,fΌTH2U)&`*!*heJ$)\k[~굆Оlj>+e-"1$4B(8KuQ D@-mM-P d훾)/\"h@Y ) j R/"tB#_R(WVZ)Ti AAae"P| ̒Ih'lh~ | DHV/0$WE&$/tZ"H&B#(ch 2& @# 0B $O@yiԇ"@ Xh `K x5,z & B][>F#I'Bl+ d+.}p)h") A2C~.HprbLPG˥pƯz-/T \hen@An#tBJB\/(B柆Ё!+b4v@FDM, J@!P.c'@[R|*X@BHAh2Wbε"ǰfh \AA0/P \lBÈ8怶`L J E=LDt>T([^@d\+dAg)"?T/XhvB^txq_Dщ83rHi6:no{B+25~y,}i. AHprEoD~hW@ 0R@FD(ʇ Hx=Q42B#d؁HA+zBH3"x"p^n2@TA3$Y"#B"C"H%8 '$",*L07qԹN.ILʏcX`TF4#Bcbnqs#_O^Qz6҈ F0JU:" -Z`\ha'O,TعD _XF O(Xc T5R< eZ@rWon9C( :~~P*D>f.(4O l AHFY+G;񓕍d XNp`"&Hlp@%Fp&`Bx^/>x*C ‚!:=젣 :M c=^x?cH OiA Jq"F  l!#!4"  @ T(bR?iġ\+(ڞ2 4! ` paR8XE H8<9i@s0 Qս` ư 4{"0&#`8vNJik(cG3P@ ,)PD^(n`ZpUh(BXd)R xN ^Nad:PD ^(&4A@Y;! 0"oEB  q/d6_xp 2#Xqb 8FXqzEn:M\ c 4pM!Oq BdW>T'\ٚN'x8Vq0 c:!RX9󅤔D4~1 4Z5`n+ K![m""5oNWӂ ́z({`z{m ^ C_c^dŦk2„G "O^O|oS؇|V> E(Q&2`Ng&\x8)yuTiá= JBl5P p 8ӓ sO} S>0F{8QO=FĜF 5.+b8+90X>.ҏt#! Pc$d%j2_t$/a)Q I^t+MJY2p,q=Z ,C.^WLit!9MLZ/ n|f8INutOyΓ=O}3 9DP5AP4C!QB1Qn4@@5&jTC%5IQR-560w.ҥ5MqT3)kAUE%QT.UMeSڎp̂UUUn]ͪ0 U:c5kYJTr«mu[JUD=8WU)#EuD>W8c!YN67e1YJl-lZц5miQ{Zզ-XΖmYa \tk\Ž-fq.G`nNǵu]w^7oyћ^3&jΗ}_Jz`x\`!v. v!|Z߹Mxbì(ņ7/.+8-va5K[H:ģ8 #D., `e)O0e-j!N # b+'Su󝏛-}nERb]D1жHD 9ϕ wDϝ|$E"چQ#?+0kYqv @!\`So?I(|7ÚvKc]O MNSQk A$&h힭[myu.T!/PԞ8.e /(n/z!t79ΓEw939q|Qr;:$wr\҆qNUu΁tWƕE7ёt/Mwӏފ U_duo]ve7ўvmwڱZu=w! ,uzlH*\ȰÇ#JHŋ3jQ`CIɓ(S\ɲ˗$ ͛8sɳϟ wJѣH*]*PJJ՞4jʵׯVKٳhb4۷pJ{x˗Sw L^0^̸cZ>L坑_̹ϠC=R3ӨSm T$cDYN8ȴ+_<ͣKn1ا#ν_.ӫJ~yßOo'@Hd` 6҂F(FNhUa ra$N8b(2xb,b0(C8<@)DiH&L6PF)TViXf\v`Y9H&zi&lʵfpEۛqivzy~*&Z6FV fvjJ/*Aj+Gު뮼+k&6F+Vkfv+k覫+k,l' 7G,(gw {HZ#K+.0,s8߬s˟S1u(3 3A]tH MM+ uO3MG_=X# '(Qr mhl6`J, mx}v%߀7ሻ=t#xV4~`>9VbʅnݣOk9=r ۹׎vҮ> ش^;~- ?[yϛ(w// CI]AR6$z2Q"x@$@3Z sEp~qޘ.*h`&i-/s@`A(A t. },1QFpjAf#jSF,bATJ2%l.ĔPӋVĨ7@`+z5ZImeR@P"XA0mp ncMөF!I6& @K f.郶zzp KX";-TGJ1:9 z )X" f-{BzN. .Ԕ.<]ID4;"iI:aBոs}]_*d\mZ4Mlw(vpV]cQ ie~[ZPF8/Kfq|aԍ;'L [xG,V̨G;7bKW,{hJ@iL64c@L!H4"L0afgyHrqle.k^3,η vZRQNp8O~CcW4laN|8 ~h|C?B&:bq_˺1#xF=x<# IHC"gd\2F'?Q܆*m%1jy\J)@96jB2ДP O)Q9VYXIZy[\)L-1#Pp p k pp p lipyɖzٔ jp @ДP y 6ڲ vlY>ph ; i٘ >xI PКp k tyhj ى1"lYIW iI p M t 8 ˠI  О \@P艚˰ -# )P)@R )ɛ̰P @0 NpPRIIpai-鈙v ~ 7pePg Qpy?p @9 w u7y fࠩyuXQv  P pat VW - r ЦhIwbP T-`pf *J9ʘ2 !7!ǰl"* @iINp p!y y@ -Zu)C(#@aP7@y iz )v oz!q ZjfZ-#j`Q)  Q j]Hz z fnpڹ bpP hnp  ڢ#  ǀ  x4Z* P z0 !Vz 9p ?К8`>k) )#ifyYu ty ɗ iYʗ+R`eK)jT +Yk-x +-K . c)ъk@YWAI++{ {j >[-i 0 Pp۾k諾盾0+{K;P 蓔UH" \   < \l\>Ր L o/ -Hp@/\@4l@1 2l.\<<ļ #>|HJI.J&2R}[4@ `` |׀ 9:?m(]0w nXҘp@Q = fgP `> 4}}]0͐ӫ X-k=|22ҺCn ҳ5[N Q]4`ֆ`66Ep Mq 8p6a z"1bf164.;ܣ`]}6Z4j6,=#!f \p~ni 0d0Р ;`m` ~M=47gz` a ,f-Xv T0 ~ pӊ< qQ 隌B3  z e>C#|6}4ё6 ۅ44CC4BٝێiCj](8"M ac m B= qy09 8 ,%.#F>>>y!3^1@*!>~.b- /@o   /))  "$%'?8! .02?4_63?n  >?CD/HJoL_NMN mUZ\o[]`?b_Z E\8npƄ avxz|~q_Fx 0(q7?o?~ _v-/¯O'7_ˏ?տ6/ ߯?ӟtO|O* DPƒ>QD-^=~RH%MDRJ-]lLL5męSN4QPE!jTRM>UT<^Śf(vJ&4VX_͞EVZfϵśW^}LX*IFXbN=Ydʕ-_\Y=$i!`ZhҥMFZux+blڵmfZwݽypʼnw}/[h͝?]tխOt+nݽ?x͟G^z=\{]|g^~0@4ov>UTh:Qŕe\Q%fYp /"1DGJ)%WLd^6yiBDvq 2fBiB ÏD'2JZD/VYJ-c+C UW0L NpAg􀰉0 e.|pRV3L0%1C)eQ6)e4M>S *|xSaRQMe|ƘP  (p!@legꠏnYEa$+zBEJup"=y Çi0 a+(5c8F1CrlA6I{H) 眿q);"\r`h3pКE ~yUnФpnhcc 2:w?nPpR" /C!>{+C{_~p#OTEUP*3pA6& ]qHm%Ӄz4lR\=v\̣ fFkV MaBT! Ђ")Yˋ(h(cM`D":qD) sA6Q!!E\W8*8FnO809\u1B/V7sEF XZ(m8\"$-RpA\;4ɍ% @ `>@.$  "e4AV 3>nzh<*9:Mhd3Yc.9k<O/59\H[ƨJṵ`+cY=a;Ϗԧliϻq(gR(raLs1LYFw*vի_aO/Q )E(^0ǥiG6:W֕wk^WUk`:8JElbX6ֱcSaVֲ,bglTl5ADŽiUZֵ֮m5ౄƶMixӴA1 ad%qK"M.s\>W֥u ]a׻nw;^7%/z͛^½pq;_֗o~_ 9rDx0LS0) wX0='FqUb/^1/S`qmcX=c"B/%+OvrqB<~=gBŧ(6!9я9qF?҄1OT($e8hD# q`C0[4QS85%k`EJ61q L+ NĥƩ_Bːs<kSΆ+B1H@uW7"I$mj܃̿t pGnKdc*/ic2 ztF- 8Q DKTr)Pp^ #13bd8*vrn. z nb…|1_9Vq R8vHbӈV447VR@zԧm54'vwich}*/r &~\r}LQ:d*I(*.*C -* HtX9-kCI-@$U)!h/ϧ8`0D 4pf*!<mX#8Up!`s? @DU_8K[RX?ۻ>:k8S ;Kv^N۶P=7h>Sq#c3@k>f0@650|l=CvP؁3зUP  lwC I5G5U3{72.wI+R#c +`C;A1((c4^ ^3k2`C9*5<Y7[^X BȣI24LeD[(* _8N<O?8A$`Wؓ3``8S>U`O0c&k0@;`,I)K?@EqSpCY_P20NX<_ 21`x>0A21y|kGP2s% k+d}9G)$+yHK4J[ݳD*H*8Ih`qk2T)`@$Gz44.Y(~\^ fL[qȁ31ei)ɃD+y\A*(D6^KG=^8tl*X*`P3 DD(Y` !<1BLSE0300`(xke  `^BH72ρ>):#_6`L?+Sx2I(*I^ṕM|D#䶰%Aa\`e 6,I$:۳DH{Fa<5Ys%}{:^`&T2scP4H)2XCP3!%S`A^GaK\2Gks}\Q.I#Nd#AenAD֋HPؽ5Ǝ㨨<*[K;hD8(H+eF0[lBBG!E˄qC_N 06;D`(=Å̰c PWP ?m u?m*\^I21]4[8HT軂HB116qTQT%K+TWTL=Mp4ܴF@3F:(@p!)@@0 ȁ~lOQ1; }i>f|H< 4GaIK{>;Bϑ3F*(`c@(>GP=bC΁[)h#@&F9$,VEf?0^ )@X&SD^N%FQ6εP(@֛HVs!iac%TMc*8MHF1``”U H^55<*Xd>A2(!L;Հ>H\+ZS 8mW?4)CPeMӵCռ 輡|",FER|-؏c|ҧpv4KEL1]s9Ed`H.ô}uKA4GtޑI;Y=1%<;+_=>6e^]2Qq?#]_OT6C=6_a`@RU>`-` `4 v߾ME__^YRt``EpԂMjXߕ  p!F$V%FjP ˰)*+,-bc0c..2&c-f{8c3v6789.vp=c>>?ncx@8DFEfEvFGHI~dV@\8EIJdKPQ>dV'\h [PUfVvWXYZ[Z]^eV`YkRzZavghiX~3ldUoF mq&r6W3M8gq.f-xvz{e|b"^ ~&6hjVxw> 芶hY~ lh\nf&izMPfv闆阖陦隶^0 EvikЂ'ΒV8vƅilp;γꪞjjjkkV^fkj 8C>6nk&XghVHl^ƆǖlǦȮɶ;Ύll&Ӗ fm sVٖvlоmmmm߾m.n&Vm~nfV f׆f6 8l~lF&flmюonoĦnpph.g~ _ qWmWpqWnpr&p"!7rO'?%r"q%r()?l>/qdqn$ #F6q57g6p8r9ws&n 0op801o;O)!t3gKJ;hH2ItNu'_pHqEsFfNtqH:[o[i\u]v^v#s?_ua/f/vb'rswrlmnopqv 0ws's?tWuwv7wyyvzw{w|wyw{sxxwgw|www?x~wxwB/Hivʂ'7GWgwyyyzyywGzzU7j:o&tG'{{/{?{?G g7nGz vk@ D{—|ο}*|P'z|'TWtH8 X<ڇGtX'xH]? ȷߞHJ(gGXx/O_]Ps0Rp|V7j 2\X!1 R"kXjs#XFN*WVĀ˘2gҬi&Μ:wϋSAQd S"X(Ь-_Z+ذbǒ-kК0,ŷpZ@@s/*Iu%8,P?]ޕl2̚7 geYrЁCE3زgӎn??-|)Ƌ֬%,X|'Im:쎡3>XGGpe=Uu? Ftx *xYh0 J8!4&V!zh`kDx")ʆ*"1ae2x#9T=#ՃAy$^E&$Qj NJy%Yf&]Zz%eAuVy&iDRj&4-IPqyU Ax'!' (QJ:C*Zej)vߧ:ꄡz:*0Y:+}+ԭ" ++ڔ@îB*+)& (,;-E{! ,@ *\ȰÇ#JHŋ3jȱǏ C:#ɓ(S\ɲ˗0>딯8sɳϟ@ $ѣH*]MPJJjJ7jʵWXKYaϪ]˶شnʝK'ܺx.߿ +k #^̸TŎ#K2˘39MҨSSvoc˾۸ [4{wNx[Mm_ܫpͣK|JνNËY}%CGϾ}G˟<??g___ r=e ^_0 ;S Ϸ{<@}=ƞ?W~?ϿjϿ_(@.X: TP| Ӄr)U& ECFN9!LB(z! C$n6s ʈJ! $!FjHooL(g= !!".&,2HpQ?,cΈ1BQcBGɱ]#x:1@lchFu1ܣ!HD#Hr@$hR nd!HQz)Iq BZ|ю#v,ӎ{@e{J dM)8d&6 1Ygg q5ce6 1pƛ6+9K3Ns; ﬧg9R7 =ٜh2o$9A΁*t9ħCZO+jt )HGQr"M)>jҕ$L_JlyJ4ہVc@PԡH%RԤ2NjS UJXVT#^@~ ְAXjִUm]YJ׹խw+^׾p.!r԰v:bۑX4dkXd#r,R|F mFTֺvmml_+ͭmup+\^m(@:et;Rnu]jx]]#'A;zB>yS!x/|6h-{s w('E{R^'/@! x 6/[gXψ!1W.^/mE#b @vܝvDϋG`y 6F@w>%%l&Ky򭲅 eSN0,.x[~0zY,04.4mϛOg~|ٿ-#-hk97n0a"$lNQd#pOGk ^cMYۺָs]{=a;>e;;׎ GMf[ؾg +-\--6Q̄>64)JtEW|3{7W=[Ļ*xwp[ p(a JC .A.򏇼&/9Q*yY.ssJ0L;:σN]H/zҏ3BrN\!AHutWzؽ>vO\gD@dEC_d߹@w{Vnw\s ]*wy$5`!B;>!H2|x顂wS{??܃~/wWpoY_}g?v7~IY}zdg~{O'O҇~F$0H1u } w`$S7u'8 qv,(70);41a` 0PA8Ox;؄PQ +aZ` "`0`(IQ &aaeh Xxh n<ɐ88!Ј l0`Qpȉ8! ,! ,! ,! ,! ,d @00![> 0@ $DpC \P6n\0a4y@ʉ$ !@@ ,p5 z`'S=P9HSʅ(%LI#].\(!YPQL0!P bLbaɛ lp˂z h # ! ,! ,xH*\ȰÇ#JHŋ3jȱ=c3=Ϥ- d#@'JOrhDǹ~  5 h(-)RҕAȨF%::R@XRԧQ21S{Σ -$t*:*QQ˹Ҍ:Ҧ>)PZQ4jZ&ŏT:R!J%i\ Wut-(ѐR[lNֿNMy.*Mzأ"4lf_Ԡ55V-vխ},Y#Zv+ns ΢u-};[d~9(KUNvdnQ=QrF8Xh՞ZIv /kH죻ӧ6ZYz"jOmF1Wdb`,~DL`o#=/p[߂QA0<S8$VS~U72]b@1wyBOdؽ@aIq |g>rd% } \\`6 .s!<2r찶|-sȐtG#z%io@YʖBé.Ffr-8CəNldX j+h+_Ϝ޴)Ml9yӘLyw[l! Ϸfv8w\)k.S7۵ fw>si]{~3\ /7ѼۛvirnP|){%7c BGڎpidH|!6]B[q놮L쉼\Ў0kkt7w0'Σ%!#:DnW} ZI8q[5FOq}Nw;4PCJ9L4^ {/yO~w펀i@^w7Oz47=nSlqog>Ǽu۾My O>E/}|7п{_ןF᝞\/;>]^굇"~{q+-~ (W~WG헁 "7Seז-z P8f.H(%x ؂$' x?AHV.'KSw~„LȀ98.ݤx43+QGnnqhaą>x]X,ܦlf6nޖofi(rhȘvRnqVgl8oFon؍hxg&|]ٖi &l3֎hņgzjdHf(k fzcH8'kgj֐$ylsVqI7np֌ wi#)nИ)y8YeFk31.ytZ6q< @idVviXcHn ik wSIdi8`hd/gpweqb !t!ɐ{)Wɖc㖚srt ȇ巕I 39g )$gr8Po3ɸʕ299yٜM; eiTd ӑt Q䙈I. AŸ@)-Yy5RF/* : yџU53r Z *I ,ĕ ڢ =jYY9Z]>ڣ ڤ?4&.1R ʤ!Uʙ6:ѢOʥ_-:16G ;Vf:ei]QOQʧ{ڧ1#:k)4*FHFd d3XJޕCTzM0=hKEj҂ `ګ `Jz:ʫ0>ݐ }x>@kj `z뚮 * 1q犯گ*; nJr  ǀ @ ˱ +K!)k#˲-2-@ߪZ5 ZI. p F EkǀJI{OKK0C[;Q˴J˴QCV+^ S+] f;WaQC 2^ZZ;+A KB;+`[ [B븕ka{K;+K`DFz=H⹘[kB˻ۻK˸++ۻkF(>KB ۹K[[kKҋZ ԷZ˽ڋﻼKܼ˾㻺w Jˆlyޢ  /l ܼ3ӛrLƢ4é4+.Ļ+>,YP-k<,-,+fLƕ[98ʷ.*\H<|j|ǓmY"]LYK{S<Œ ɋÈÞ| Ȯklq,Ȣ콭ܾʌʻ|:|qʝ$lJ /qɱ<6ló˵\KrL ɻ٬K| \̣5_'R  ]  W =!]=M#}`"+M!! -4  Q ]VL5UW IHJTKS-NmK W TUXMGfhT8B 0;-܀w-wym} }!x]z؅׾ؘڇ s}IO=\׸ נף]\~-ڦ}ځ]ڢM%5-.-M} fsr]ۨ}۠]cݪ-x=2=mmQ?ڼMb -1W<ޟI.]~ƭ2-nNۜ]-:D}ͽ HZMUcI NںL-}$ h CLN4A(L ~Q<^N 0:N_N cYYwXS b4.gUS,lp~R^p^k~{.^}+`V5=[|%V}%RoZb.[@YNTY>拎N_WmS^Ecq/.nŞX@e ML."-ξӾWTWXpZH~^+W^^U ]Սh.+>댕[NV_ _%?RoR[nT;vt;S uWBo)^KB3VoD_-jMߧ_?]k0 x;.wc[_8$]vh ~?_EJ-VVN4+ ?  ?_?_ry4K p  POo۟ _ߟo_ݿ[B_ުf DPB<QD-^ĘQF=~4iIDp%D"]xGlęfL=}TPOv[Vp5*UO괌P:MP!DD0Xmݾ˒dD(]WPds`… .ص  \Y̘ |b @+!f- [-bڵΕ[Wʖ}gT3ōG>v0RŬ1Dkh Bh)c8Lf3L_ż=82qÉ0@c2 )hqEk\$?TN\AąF b ap=Z=D7rK0 ,FoѨ D; \p#84ȡkDrO5H1Kz܋?L3}[NfDfk$4E@h:1&7@m<3Q*1uRK*0)vHD & U#;e͢ԊR[?ZtV"bR|%؍td0F̸S16 NrĊ:=ce^u%%I)]w͔Q?&LD6EFPq[@\8A5F{#1ٵb/}`4@e499jhKmK!]Yf.s9 RFO1~JIL(AmFkA0ӫjfۭun;n=nq;-Zo Sikp%f{p1M&ɳgr/yg*QT>w{7^tC )Th(2|҇|?%_׋^b+E)`H(#`E/$w[;~_ant?5;bt2x*$+BQDIXˏ@  _e88kHO!󠼉vbl'[ƒ$L\  Bт3bfE[*A v+]j9\b[MbNscL1N3]#*1Qg2 !ȓdcx}jS(N~Y!l^,B`2)ڂu &0)z -vEPWdJ_uA(*Ye9Іf Ip|hOj4H8TupGMjʱxmA7Ya̲zeu$8 Fce"p;vZʋp$jFH}}@__, Ȃ/A8 >CDp;zT \@Jg;W8щ>0aü7ͷi[K+1pk‹r OaûP@Az ).@@}E~:403 XW/q :`GV ( D@@ F"(Cc=)ebݽhʔ6H]q-->NmS]o7]ܽ_ƛz?غU KCd}C΍" 3 B^ :SCk-&:@>0!{ 4>Q?R ?0)$(@! cA7hȾ*B$|D[A:u "( (xئU "ۋ \#$tBI*t 0 L ;z bZ"AtA=ʱl@KDMpPQ$PV Qvl lhXYEY|Z\Z|jE]$EL bDcTFJ v ghv{aFlmlFppGq$s4t,uDGvTvwGwxkYƶFrhrȂȂDȁpTGTTYDTIX-v(̉X TWTdT͢\lՐ`̎ MYSY<˿\`; EUp28U&8 '!/=V3@=E)@ 1(J?C]6@}e%KVt*- (D:N^xU@6 )Fh65&IY \uQYJT0MO\XJL]] UTTU]X]uݼU?]ˠ}`h@`F W[EMPFPX\6P1ڻ`zLk+k VIp*2`}8.œ\A #_R'E]3XYEՎ͝Uњ}T.,ՙ aޅL%R#^e⽁+W*cPy23Po,P&HXtO{s  ,I(2 :(c@*2*(%N?K^Rb7x`"~WH5ѕ= =Um ]߄aNM~᝕шٕYcX&f}J!KU"xL3\(6;EjVhaҚOeMR`fKO6a(]P}hȞZTڕiN]aR]ه^df㽂fe?3`U7)⫽2;`2^ { H0n)v'yS5S#e7`F~.pCXg^oIxLth1H;^5%Xl6_FɎьiˎM/f˦p =-EQpUN-eYVLm ՔUgM .ѳ"h?I_8[bSMf0 <6F`deWF !qMX˺*E(r 6 0) @`4̠ c <?'7GWgwח٧ڷ>'7G~۷E@<_7 #>Ϸ;wX?,( ;2l!Ĉ'Rh"ƌ7r#Ȑ"G,iDAv!h%̘2gt%OAؑc< ;lHE)ԨRRj*֬ZKDb&ذbƕ"QN@T~ $D/.lU2n fN$rxa-64B91ԪWnuU@m6ܺm;& ,@ >9T#j~în:ڷ?];xҥ*o| %O,9ܽ",:-w 8 ZWFnz$H~ ;!gGYtpځ%x") 9y'tفjxFia!$$M:$a*-U1Hcy%Y9) ?xyQ@IC_P&qQUx%6nf9@9( g/ 4jIݡJ:)MJI5 a:Y):uuf ަ='*W%zaeJ<{+ǰ{,*,:,J;-Z{-j-z-;.m~j*>ڋEҋ// 0\0+0 ;0K1[\1k1{12#\rY.ުKH3#@3D:3? 4C]4G+4K;4OK5S[]5Wk5[{5_6c]6g?3L5$7Xt;v7y7}7 >87ۉ+8;]6[~9k9{y璋>:饛8u :뭻:>;~;:ܴ; ?vO>>??26?^?< '20wL #( H r C6 z&I eVn%EK첋_eh&f2}nb)gR( ht9(pzhv**^h&J^j!2iZ *ubi*kkkJ,+ʒl mNjD2ִ-w~+XӨ̅nծȧ:o`'mLp\|` ;p  qZ O, pa̱W"/qT!.Cr2LZ3߬:#s 4X?FTtpm͟L|rkTwth @p}bE6VmjwE9ir_7XzKuv}'wO 6>O^/~F'ޑy 7Jιl9O݀^S36.벿exصyJ;)Y>Iq+Rh7`D/euٷ}H>I͛Qs[~OFoQc}A҄H1P|J',y[0x rp `=AHAa%D1@xEf%Kp[8n~",#h"b9#՘@6Qt4F8:Ďs.Vh'$Hҍl$IiHI2) CZ#KH"*Izd)9L r$_ Kr%FdGZ̥.-j4/WY4.t0G(_4O6ӤŘJO"`6MuvӒ:*P̧>~K09`}%{?І:4hAyp  }F7Q =A`3hv('ϊZTm&MLg:M#%bJӞJE]jξԧHh@o:ԜLT RӝO-QU~.U 8NwծիkS:ZmpO@OnoYW ڵʫ^jS^ե` Ԑ֩E5jYׯ d){Veb9ӹ:X*FKZ ḵ2C˪oֶIZ >"&ZFEnp]"|6k*t+3vɫQZU-Bq5 oS6Իe|F_Խ~M_Ԛ Vpv?V`mӫZ.x*p~w;a5DQU fWcP1|A;` qynaC '?߯ǝ,ybg3ĬeUn73a*wl\Ȃ#wh':t GsvQlBw/ӊ;^F{1gT3q%j ڹoM\AV|iuf='%=_?>6YmkԸ^ܑQ [nر[E+lێ7s/; [w}yaxީ雽~7v n4y\ffx ߋO!ދ8wdbKh7KL8rr{|&jm.Y{^K87ZU.U/\m\}̑d(:ն'BFq,sͷv9=m6z_u|{MnXb ԟW_5,F:_^a;/ ;>io6"Ǽ53ο۟i2w=W4+u?{'ssoS)ُ\+o׾ io?#O[{g_e춅y8  |6w}%w3 HZBgW}}(Swn&j(q3G8 z!t'"Gfz7;sA؂<8>GuI8Kxx>X/@ȂgOG7UgZH39XzJ8U~ׄbhwq~Xyn3Bt8\HYeXvoqxqf?0&XKuOG,xs|77|}ql؃E28Xv|x{VȊ+p8RX%3tSg.8qSX/WxX7&|(8Q.lab]3h%VVHH=xc}m u茻:<Ɉ&W^8XRpx8_H1iVfi=%IX҈ex.3\؏Ȓ@7׀phjlٖnpr9tYvyxz|ٗm9c(xOP ٘9Yyٙ9Yyٚ€@Yٛʼn9˙̩ٜ 8AHev Yy晞蹞ٞ9Yyٟ PA  ʠ:JZzj: J"Z(* zܙ\ 2:4Z6z8:<ڣ>@B:DZFH/ ˠ O*  9 @ pfzhjlڦ=zy Js {f M` >  q@bPnکp :w/0 ; I @ P@07 @ d Țʺʣu*Z*੪ O s ;p  z :Zʩ h{ ;0p mpЪ 7@kJ3ZSivٺˮQ 4-z zڱ>@+;%kpʭ3z Ơl0g 0!p N@ФA`f:zFk&[i( ں Plan+|۷~ZWp~`@ap>pMw QP -@;+Aii(;@\ 7p 3 q@;Ak@3-So `=ˮ=p K؛ ʽ+:3Z[ѫ蛾B໅;jت;ŋ|JhZ`]H 0| <\||Qg0$`+,.0<2\4|68:<>@pw| [+ ˼oɝ| S",SR XȞ` L̓ LȾP l!` p ț!͊ P ʂ `W8SL;  Ϟ0ņ ,Rϫtо\}Li,s|ZǬ[ ()ό- bpg  bP˾ ` AίN pL ` Y 0S<˨t 3+ P@Sү\dP`nAi |׽,h,q#ł $'آV͞- L@ @8 ܛ t\Rpӫ - m . P ~mLJɘlҝ҇\#]%#(T ]l L٧ ~ Plm ?|ԥg ^Pڋ08 Д} \pܔ bp 5 ? SL1m T [۽@ېߞԬpZ~ߙ]ߡla\)F.}<Źڟ ! 0˒l; P  m]Q^^M pRΓ}!U{I}ی xX z apg 庾_ʼn؊=`h~"~R]g~ a7P}. #^Rާ0~.R"  돬Ԓܞ] . Mū xNa @?`\^ƾ>c^nUS\鈌-Ӭ`m n o ϾlPpv8`\۷ nf-߾nTp㾰 Y @9at"pL{M7@8 LVrNy\WAL} tՎN PP8Q@ @7(@zt`t mp <L-Q  /z?[n^.d샏h` Nn>m -O_^ou_U m+؏ DPB >QD-^4@F5fDG#CG Yti˒3ëN=}TЍڪATRM>U*%֊QVqqR0!0(g }mݾWCuH*ELB\|b2&FZ5\7i7/߼_ƝgaŽ}~*թ*e+!f<-/U+Y*]캽wMˏG>03P@PAܲDJu4RH'MRI-r#.ȴSFTQN+KOULWUT_eMkDMxU\w^}Wa u9WeeYgu֓{)k[kض[m\o%w\sEtU]v]7^r]y7_|_}wk륵`FX0[c)Z'Wi{ڄ7Fx`?.cG&dmŇ#ni7ēH{֨`fc>S4z^Jcnzo͖oH5;W p'C96g/c@ AòAćR6D3\Xmp8 `DZlB9 F G =߁w)V酨'g߮h~뿿q!Qz0GZW*VqbhBq#nHh bPwB BPEn 6 -X+€WpR2HEXZpBqkF̀Cʇ@ ["ZFHbh\)@.z_8~{9p{FUr+wȺeİF )pZUx.8xW;2KN xBH~@_@2Lȁ6/?+2& Wnl+*`YҥZڠF4 `+:/xQf8jD':z\HΏpF\zvmĐIdHЀN `"$ U4B`0$eA^ tL  q kh/@`{.2'v hS1pa єXFOvp#<牿zb#Մl8OD G k(pI0 @Tф0@u-XG^ ͙v 7+U8"B 1 yG$: ?+iH"ƭ;\XѺγSӵ#;܂E w9W2!Fp]@@`h+ǂ#$Qp A)jpe8Bf<1)0´Dj':) we.wW]4g;eMXnbHV"E@3A;1)ܹ +Pwv$FlR@/0  ed{NXfuPqu '1CEWZֲ0A̪mܘ˸!;v|VQ؍ J8vd ond^60#?H!Ak ߳lYyH⃂ 3p 0@!XЈth.t@y4 q&Ov?PKwܢתZj' G[ W1ߣu?> GEiA=kwH_PTgk6$;Fw hn؄F (tBHAJMK7&?pNaMce5+ݽUwҥјw=7UϬ;~@dZi s$}0;|"4^&^G yĺ<Wu|egI0`7w#E#@~ǿqpCawt|@ @ DAD@dlAAI.Z!d"4)$dB#>*A&<-B01d,$3D4 /Tí4!69:,\8=>!B$0?$B4C$@EdFt7|IJčEKN>OQ$E&|C=,TTUt;MDVXE5bY[E9\^p_a$FBE,dTeD@Efh`jFXTkm'H! ,xO h5D*\ȰÇ#Jċ3jȱǏ CIɓ(S\ʗ05͛8sɳϟ 2CHѣF"])ӧNB**իV"E+֯^Â+,ٳfӢ]-۷n+.ݻv fߑBLÈ+6)#B˘3k̹"K!q ʔZ6ͺװc/D? ] 9dc!<УK?hv)h'/f#WM.1׳Ͽ(Au^tā &7@4 Jhf&m2Da (OF8A,!'4у-h<":(!$D&?PFN")XפOfQɥ`io[Hl|c並tֹey|i]i6'{"0hBj#):bIij}3阕hڪ맲RJhjm,҉FkRB9-sv+ق[ 9B֫ bᷜ'l! 0W:lI1+y\(34ʬϮ3@lҙ 4LG}*-Շ ȉbfdG65\Jol(c-`gxOu6=ڄ'^R*J7gRwkGwq7_@뮯.;/>}#0_+G?=,W=g2'ۗ7緟x?oOß p3D@0kX5Im[.@s Om¼QPBV+Xk'lP _4Ђ4Z 4͆2ġp:"ğQAGl̔hD&JfO,P2*Bъ\lY0̋ZE6qzp߫HF5bm0>яTX 3DːD#H4r$#%I{U?d4iIN]O(O).RҔW*X^˕-5r%-u h=, 9Ќ49j*cF3nNɼc%xti)ΊKH< Nu3]0~>'gNԞa@ x](~> DEx^ FQN~T)ϓ4"Uҗ'2TIkΔԓЦEy͌^%9}zwTE)B,4*UGIS~S*PJSbmePiVh25:YMVƮpҺ8+׿u_ZذJ&aX5kPJYF沘ݕ\Jƾ5ZlgТV-kgOqngk{VͬjW ˷Eqm5RlK[F]n~j+m * U%`r7=Y V6^zj}z_^ɼ5mqk%0+`+m}Yfewnwd`x×bpu bKuøpi$bw|:qr? cDX4d,aRXXq[_ 6xNpdm8K6Tm8v:”leI f>F(Mw%1{lf.gXqFӬyDg.?lv& @kwі3+zes--5c:ڠ//9zԝt-YAzX: iXg\tlkB!1{'CԳ&3dld6^{laZJsT=s niىNqݝsW6elnx󮑻Qmy[7#qڅ&x{mox g;gO3Z=G¯=d(Iv2KrM.}+NzX>Iy}OT#;xL޿>-G:|+{ >y|?>=#}7w:g'gY'臀q| o{ѡrwtӇЁ z4z{g0~5\,8X| z3H 0R嗃Qx e EFByׄ4I8WRgYHx_OsWJ^%q$p(lȅurȁd Xx؈f 艠8Xx؊8h 񉹈ȋ8Xhˆx̘͸8Xh҈xܘݸ8Xh∎x옎({p͠ ȏ  ɐ "$ɑ& '9)Y(ْ*,246 799Y8ٓ:a ;pn7Y9cy`_iZ ;a MWp7 x @ZiZg)i瑛ɛ m 7@yR Zjڹ qPah iki-6󉣍ڣ/qީ"@QP TpRڦөYa~~ P@;.p-`nI>p\j ML*zjZ zpXIxZɫeYyUɘ[ A wڬz?ZJ :JZ꺮ڮz݊گ* ۰ ;[{젱k "$;&[({*,.۲024;6[8{:+ @B;D[F{HJL۴?[ ){N[V{XX AZ P @P g I;l& A)! 0&nk b m;>pidP {pUxzvkk/D tg g[  p ˺R ` ^ P kC l `ລh p c;;+8V_+Okp[jpX@+ ! ?Pp ->-m P- p>PK{ | E b@ - P g -@? 2 P  Ò |L[Y[˿Rkk R,|!p!A4 W pvP P >^? P d} e<  žpp >vȫ ?{TP? ?P!pR8@Wŝ;I;f<AJke.$ P?›?0  ì;@R ) 8p^ ж nR Ы-;ˊ8 vlL @4м!t ek8| gܴ2Mxجj ? i! q ?M.4- , .!2l -pB- ˾ Ri WpWL@K!Tpm A(].] ͬ,ݹ--ƈi{k@8@Е^ gLeKT` +RB=, pWPl{e bR  Gn@K8`aǨ\B u?280LfM2mr ;ӇMc͞,öM?g-PMy@?`f.pk7@`g 4L]ԧPVסMʀl`npmc N+Z+ٽC@[ ЗԼ. xgl@ـ "$O$?(P +.02-?6O2<_ 74@?=_DE sL5mZteL1w@̞:yϛM>UTU^ŚUV]~icxV3>J~Uc)PK)F>@ &.%/7y &31.4H֤cՆZF,neuPA֎(QFi\pōG\p,Z\*ʍLX2$0yTcFƫ$AD="^ᩏ({:@@@6xoKi" H%`$:ZB!/3H>U $ h|L M7lmFu1GJGؖ#H#D2I% pf*ne @ C&ˍU* E ls-[[2J^2! )n7ҎN``| ZX0|($Zx5B1(/+:2x"2?@F ̕\+H$XcE6$w) rX8ʼn0 JW^a$Fh *4]FD*3H…WV 7¸č iPv&49p_DhphK$^a_BB IШ$V`{9_szT6h&ɂ԰U:`A* x:(奭-CS^1LIF-j*N"bd(|3eDN i \id0)8c#^Z$) PNv`|y{F=R7:vgvN* 4TU8T!+}ǁ >m?{{c3|GH*1Hcx1In *}F̺ kHsUYxFHO\#]u4AvphNzEteljC@3#0 H}$3I&Q+NaU?1s"6ikF>7j[׹ծ8j`;أ59ANnֱldjH"u8-f%Yvֳa{^vEmjUZ<)DF4,j mu[ַm5b[ o0زֹυntob # ­u]vX[Inzջަo|;_u*o~_% ! ,xO!*\ȰÇ#JHŋ3jȱǏ CIɐz\ɲ˗0cʜI͛8K!Ϟ@ JtѢH*MtӦPJJuժXju׮` KvٲhϪMvԄKݻx˷%KÈ+^8!ܸ˘3kތkDMzҨONzְ_ˎM{ڸo{ N|ȏ+O|ПK9m=#(BËO`m]/hA˟O>9('& 6hVh)b ؠ"h(~!)0a4h$'vꩅ"騤6D:*ͣ*+|9뭸~jX*y,&[*3U Ԟf-GZ ѵknCql[km: l:{<̫0Ø 0Jp_oGĿ(`l:|iiaķ0f+*۬3B@G7mE4C'K: B6MCJ5Z6j 'zM( M ʍ `'^^ϊ7>9.9gOnyf}U |59Etezߵzz4{t{{ď{ȃ4|k.U"p8Wy?݇/P߽槏g|Ͻw_?'# wys`u= 2o{,ʗa}&S0u+|!\(Ű!9w~N>\x9 q:"e )1uFh8rMk8:m(diʌmܜǻ}83ґo[7^#" E 0t#GS$&fMM['Cy7Pm<%Lʳkc%,YMZ-s5\j%|)̧i g,f/ͱ?*fbD3ib-< ͩa@ۦ3io<'̩ΗFc'k!r% W ڕ2>W:QT,$V&˱,ڳX˱ud)~汭g[b"-bqkW n+,čZ䪊U+~Huo\nU.Z* vQM]z7Rofnyl];5/xOYXl,’/daoxQ㴋 xb0bx71Tbk6T]cwjq\%L>r1 a@s׬6h3x4=hAЄ>tF'ш4!di2 Msӝt?-jPԨ&GSխNu_-kXۺָg[׽u-l`&c/Nv-mh[ئko[ %sa2 @67.]n@A C 9`Do(T@R @9͌0`1>p!\ 7 f4cQDpi<yq %v6>!fޣ\ pAD/RiH"G GGFBт0;8*qL : 4oL*^ G@^.B8ȁv7>Q iO}vT>s?/O?ׯ?/?Y0   |NR % ` @,$q Npp -xP /HP05'a  |` pPQ  >pEqvJ  9    fX M@ %Qn@-@dp>`s G)H ! P@> ` >0 q`d E -.p AX tp  @"W l b.(?~0v>a Eng- c tPˀ@xlP ; Q 8C$ ex`! ? b l`> g ?@.p t-pia g!ay @ p Wb- UqɀP]!xy Y !^`GP n@8`ps4ה |!R7ptWyw  7٘a#YuX9M/-y8al xp|@͈@y9(Yy7p  I"ɀ؊  p!)xt R;p@ (l p`*(q >@xx`s ;@^Aju! y4Z41 |$y>(| ل?ga>@zQ p@j ȫq8 ,Q P ـگ˯ ِ䐯 JU[{ |7 Q$|%&+' ˱}-K|+k46;7[8:۳9< >D;F+H[I{J۴LKN+P;V[XKZ{[\=˲: Tf$V P m: Ѷo@ ep Q id o3q;R! ̨ q `@ ' w g0k +-p)o؃m ('hq  -p{ vJohjw஧p ʠl `yvWཷ;k{  p P)?>@Mv*HoPp @ ,"p[X@ +pqp72 yVu p !PvJyv !!`{8ۚ  w+ )@ M @?ֿdHɭ !WmP KǗdxvT@y( @֛! TamP Npz pth)RP`D ) @p v qp0x@Tp,Pʖ47Ȩ1| Z n) 8 ps| lW  \ {XcLrPRpܺ οT,>pynH ? wQt0wY, pqp mߚXYntw8%*ml1 qGy; t Ȃ< hT -xt`!p77@)m Ik-y ek{zg𫂸ӧۧ&Q-&Χm=>#c#F("#P#M}! ,! ,`H*\ȰÇ#JHŋ3VJǏ CIɓ(S\ɲ˗ ͛8sɳϟ@EG/^*]ʴӧPJɋQ3jʵׯ`bB(Ī]˶۷p?iB Eq˷R< LÈ+^̸cO4.Hcpǘ3kޜT)CȇO@zu[V=vش_㶭eqs _9oϝ:>%ͽwDt yɛW}zw~|߀W_ } `'wVhaOhVqa ~(b$h"%x*.^4hcJ1c)BH&E(餑P>cTJYYKfq`^b9\& ~igfp¹x~7es蟄硈%u碍F*eVږ`iz駜ꩨjjꩫ꫙jv꭭*ʫTM K&[2l>+F[fv~l5X$+oƫo[/ A N{$ Vɵ?U#{y-Jo<T ד L VQ8n$HQBTbIfE׶lpYqQ =ʞaռ Rշ%5~57?}ždlaJI ,y='5Gʏ~+gO\ҷH[JyeN{=~ГyКvcn8N-\'7ugE,3v#x{X6x\jWyHh^ ~[H}6D"X7(X)%Ȃ)-+$,5(7X:8;(AH#hDCHhLh*3hV(Y\Z؅`b8dX\fhhHkxa؆mqn؅sHx8wO8Xx؈8XxWG8Xx؊RRD`x؋8Xxʘ̸،Hxؘڸܨ!ӨS[эx蘎꘎؎Z8$58Y"i`~9FFّ "9$Y&y(*,ْ YE94Y6y8:<ٓ>@B9DYFyHJLٔNPR9TYVyXZ\ٕ^`b9dYfyhjlٖnpr9tYvyxz|ٗ~9Yy٘9Y9*(ЙyYE`VP:陝a&*Re5=!ĩ!9Vٜ! ~ {c V IK+>`)љPމ? :GP9Y2tPBBfY {p u!=VEY2u(J* М7*;){neУDZc *@3G艞qYVZVzRJ[Z  BУIi{c?CG *e 2c 2iPE V J c`P=ڤ2M c5:Pf*2 3ZڨʨzyT6+J*`_JjYj ɬc2 'U):<:UJ=ٜ Z 0@Ь Ι{pک7j0;Z:piB 0Y'00(J2A:&e+o*eVpZΪZb_ڬDHWJ:}Q 0"yМН Bjeu oʳ :r@p  ( OV3+Ц(a ]*يo2 9] äcЦ@YLy*a;iN;+PcPY 2-˯7 &p޹`i J,[)PZīIZPV a /+)P,&ࣂڣKP>:˳~ZKk`Y Ye`2gʞwj ¾+\ b+*e (fjmʼἆ о+)O7V/y@Vfe ` ΩzۙK1k|[ œ:a,JШ7_1YGP*p``0Gc 6CDȌ| ܥ\@zëE y3;l 3*j'[ U{``PU6U& րpoz[`)칰<۰w+e`hʤr<,AL* ˢ3:`ʤ :4Z'a@\<ϚZ왱G/{0QjT= ;p (6(&Ѳ!}Y0C~ɿ Ъ&0 0hLmE.Iϳ=’™iZP"jZ 2L+ ` &(զ+ꙭk< ZEh]b&m~й  Š*0Wu o^[~mlE a˶ l0ỈDJ+ఏ) aHP@@KѤ.>BY5!.qOPA^l! ,! ,! ,d7  !@& 8PbͤA[60 P-)q 8"1 ,Fʊ&1)QV @m)Q0ˊ@fR& 0AKQf dD)HT` $]0eb,HPh\ 0Jx  >(!HL: qIK1@qHq Aᗁ XA}`Û ڰ[2-1C4M_H N[|BACA).@[HNX@Qc A`I=3+a (4[lq/[(1l _n @6a}a~e`uDE{=UB Sӈ`P 1L@Ʌq@`?q^51LwFdfŐ i]i)$w\uTB%@iRIE&V`.DfE~sI'qy@oig@! ,x} !*\ȰÇ#JHŋ3jȱǏ CIɓ{\ɲ˗0cʜI͛8A ɳϟ@ JтBv]ʴӧPJpXjʵשE|Kٳh:"vHpʍKwݺxw߾ Lxˆ+NxƐKLyʘ/ky΅h3'Z'ֈQzְ_ˎM{ڸo{ N|ȏ+O|ПKN}دk|HO[IϾ˟OϿ(h& 6F(Vhfv ($h('}c0(cLb18<86(=j$H& PQViM^Ny$` Nizleprigyoީ_y% !衈6M6F*ITj饩d/Na**V'"7tꬴ&ꥮnzjzkzk7d-Nc-])Yy褗n騧ꬷ.{T츇dN2;H.GK_T7/QG_JoC3yo觯/ɵ>~{񀋛8N|"'RN|l"@ ̠7z GH~&\Rxqۅ¼ q80qb1!6NF\88$21oK|"ߜ(EEs"v-M^$0FhH5Ue[Thx̣5=# Iȥt Fg$INL,ߨ% fMfLƴIQW(SVve,YC%.w˛貗 fK~)b3$b11Y,0ЌξAJi;YJm~ ެ7I-pY@B9DYFyHJLٔNPR9TYVyXZ\ٕ^V@C& jlnٖprt9vYxyvkyz 9Yy٘9Yy a7 9Yyٚ9Yyٛ™0;iY0 0ٜ9YyؙY p Y @ ! ⩚ 8Q ؙ ZzՉ2џ Y ;Y`@ !9g ,ڛ -2:4Z@I ~ @T-7` a  -@-)R ` 8 7-hy qP N@ . "p !@ 9T  d " 5z:?:yi( a4@n!tW "J - T`wg \t d-8 n-ࠊЭp .}@>p y @< npl -pg`l@P0Z ۚɠ11 hYʥ R!fZ r? p^!` p9a b g@QvzMJ W b`ʭap y f{[ 09Y p \!{T≧^ ڬ`.!` <? R yWnAk: @`亡w\ڭ`[t+aʦa mڭ\ p %'zQ !Z p tƺ T0R7 n@}`# p P : UK;RPy7j`P ©4џJ8@Z  b0@(, apt pp Mɻ ZA hJ@  !lp q`J]s -*q<Pt,y{lz|~,Ȁ<ȁ|Ȇȅ.Ǐǐ<ɒ\ɄLɗlɈə|sƠ̛,m+` - bg/ڭzpI J b-  0IpwbzʤJj  .:<ۻν˻,l |q  = ]Ѷi3ᠢi [ eK#   ` p#wZ Pp ͬ`&}Ҿ𧐰 Ҋjp+]ռeM`c-flmgt=s^x]nm}r q=p]|؈Mь-jK']Yy٦m`{z 40۫ Lֽk~ض-عۇطش-`]ֺۻǽܮYJ|eZܚڣl0Qp` ɝܾ{!߉mވ I<N0^  , Ű^N">#>$~&!+%02^}]7<9?A6nB^D~KL>PQT.VHXS^]VE,>.~jlkmp>r^onq~z p>N 脾n.n銎蓞~ꔎn...>^N~˞>N~֞վ>.>^N@~X?_ ?`q^ "?$ `%*'(024?6_8:_>8AD/EFHJLNaDV/XZI`bd?f_hjl:  pxz|~?_|׌֍?_y]?_o?_/1Ǡ?ğȿ_?/_/_`/ v ; p{ 0 @; !)`P@P™Ra8 `ǎiEHv iU S)ǔCAQ‹W(2 4ܰËRM>U: Z5+VXn5l֮d*mABlZj޵kw׽ZZ!`~ >,81J>Ydʕ-_;#G~Zhm<Ĉ$N5f H)~< ~tcEn_9GcBܑI?:u'3!`Z6$h*p/9 ǭ8kA>++E˯ ,BQ[|Da\QE[wGq4#$,f9Ʊnb`A@ H@p jdDZN3l("*h @ |Р; A^NcBq IF ~`3B$IYE\O啁 GY7pb7~8&EH2 H_,\m늶̺ IG4bЭ+-Q-mIl=* ڂeD`[8ܫ@Tv]ն-oݢ׭YeBsY:tW'63I7v+ a"1 q` :!F ^VÓ;np?7B^[&X/PIn!Lp}IF'hASF6B ZȨ0QS:b& 4 F=|Z'΀Z6b B@Y KdWŴZtqtA 8~a_G@ FtvSja]viʫw9b"ѝeeSAw9BgO* ·_8|$Y `c#&H< Y&@~P%Z[0bA)Hd np/N! K1j&,j} V0D!R0bBP fޏ 4o`zs8N+žVwa\*d;]4"u8@`Ҁ֥Bu`\D.UU&n.[x:"@XWrs8[]id`8K  ]^"єD%d0&>VfIj5%R`7]KA/(HA4|0btKB@8PW$!C p$H :J(\pUE(T@zelP74i #Ρ6:(Q*آ#N+mq!<*thMdZUZ5_BE'}`k4a\^>*Q׭4hm,Y"PC+ A;^X8ԫ_@TV-F> ؛@j bk;pCпb~* c1OLe0 $;8)nEN uStXƝPkWXi@ͬr*`" ^QʰFfi֖]P`JT\R\DwQ#@@pp"[f"kq w) P0T~9K 1+XHغ|bڨiCY$P.Qc[r,d!S.zacd5++OS>Ѳm .}c\?!# 3.BRD\)8XiҡTX# D2BB€7<$ aAI yLgp!l9)k)" `pT@7q'nhpĸx-݊]`B@]򮧖 WI*պ5^! яoN _ WRO1o(;-Zxs]8{RV3E.pΠg)@(@abH[@ Z 1 b0 @ G23 XめAp }ŴGsْ*W.te`T'zQ`x!}i]|;Z3Z5lV+up藿H_EeWhRG\*e%tQHŻrDxodVVu)E>Q x]!A^~%Q ^Tz{r(V}ǔ' !`:TEB L[/x`|TM x]*{v4QKV8n,-4;-?ϝ^6Y,@ړV!9EWah/nqh*zUh.?GoSK?O` &-x( d |f;V" A@PAR$લP(H& *Y5hvy#x> $$;w.ܡva4BxA;a,z,L)55h0ڐ Bujp){x| JCBgS˺( G @6HG8#5@0>S+0-( qo$z*C/n1] spA:5C?@A%B5CEDUT?jtFEGGFJKTIMNOP%Q5RESUTeUmEXYZUEMP:=,ȃ>[a%b5ZMƕLFcV]the}fVhjVfihhVmqpUVs%WtrMW;wxaEU^-'`MT@`Py؁%XZTKE U]XNԇ=XP؆XX؍؎؏XXْ>(ؔUٕ-V;!ץWEW`eٜYlX]XuuՄٟuVUڤeڐeڥ]ZK٩ڪzY#WH6 ?;5AWۻETE^$ZuX}XQM-\}\ȥ\ȵɽ܇%\j5]y{U%55hB:+8P;` =5^=VK%\W5^هm^^^^޿mT=ECuY]]Z~%6>@Y;*H>5>`55Z]^_Y}`} `>Z `=᫵׌i_h]>,_%,V9: ^Y^ bENU^IUb \#^b'fbm)bo'0F%vAa`@>ȁ+V: `>6+h^A.dB6dKdAdA>d-CFfJ~JLMN^dHdJdPvPdSR>[?]_36ue9@&6a`a>XFf[7efvgffdf2tmhA?/<c/<jE}xzgjf }FSh@5>`{fv臆lgnFo>|͊h6F锦UVJ晦隶5"UvEEPj^ꦆ꧖jꨮꩶꭾj&k6>FVNfkv븦빶kkjg6"P $Xl~lF~l&n F&.6F>Vmfזئmضٶǎll llm&m^Nnnnn.nVn~nnVNfovoZ#,cZ'7G'pVw pg  7GWqf7 !'"7#G$W%g&w'()*+,-.r0O0o/7>3G4$sHR89s2t$:>? (s@'B7t+CWEg&O! ,| *\ȰÇ#JHŋ3jȱǏ CIɓ(Dɲ˗0cʜI͛8s,2Ο@ JѣHB$RӦPJJuժXju׮` KvٲhϪMv۶pʍKwݺxwYD+LÈ+^\шc##KL˘C̹ϠCxӨS^giӭc˞M킥oͻ N񏹏+_μ9ΣKNtسkߎ3S!ν7_?v_{N(o}ހ&jzwF(d Gބf!Q> (Sh(rD}) "4ֈ6樣.͌;)"`C&$=PWdTVݔVf%sXn6deh9ڙjfj?tRvdx)q矄)j(Q8)q'FIj J(v7y*-a:ꏪ@ꬌRJ뭜>뮵믊 zR*+ȖigТlԒlf kZil>9mh k`K|jh+=M7GW_g^:w7H+=anW=4,UϩQ\2Dۦ2E'Vӧ3T@Vg=ogC-veRmvd1O}B6p[vt#ųuxIJ߄d*҅'>S}+FO=㔗x嘗u朇tt㝇{.O^>ѿnA߮BKT O'(azi jv.[ c58̡wroz>L4@"x%ҌNgE)Ki-LPMbzg?a`ֻ Qdi|(G#3v=6j㽦(H5#$"#E LDX##/R򒘌N 3NFe CIRr<*Wi#ֹbIZ̥.w^Rc,IMW<歒f:S$|4hR,U6Ml9ap*4'YNu ;|29ډO=}<z~(B#eЅJJ]TC#( F*j-DC'TOIϕj.S Pj2 [*Xtu>*Zd5KGV+ukL5Jm_(b5lUֱ{E. $1V%YYY#URCۢ'Lv,fS[#4,lwpv:)jq!zB_p&*h @&m.jJAFu+ږ(m+"Dyc|㛡wBo , a*Gntp'-0rqEA (NW0gL8αw@L"4Yp+p&;PL*[Xβ]\V FزL2hN./pL:lN>π$"NF;Zц'MJ[Ҙ&ߜN{ӠdQԨN]yհgMk'w^[:ɻയMb;]f;3QrMj[1In{ֶMr;v:ڇVMz&Yض~y&NK^&v'NqDϸ+.no wCN79mJgN8Ϲw@ЇNHW,;PԧN[# {`NhOp> ` sϻߙkcH;񐏼'O[ϼ7{w< 08OWֻ_}7AȵȽwOO;w .pϾ{~(Qa4OOs߉Pt(x h X Gpx$8&((X"{Ђ.0284X6x8:<؃>0 WHJL؄N.;0.`XWY^؅`ȅbcdxfcX`mep8jHrXxx. O8L8~7@Ѐ~ . p m  @ ~HXH`芲8HQ(苻HXʸĨ،8X8Apg4qwQ0  @N@ p  (Y ˸ʸ y Ɋ i Iʈ9ɑ"9$Y&y(*ْ.7EH 8 ˀ-P{x ~x ϐLٔK(XR)TVUIixXb)dcZɖjٖprtu9zI3Q討 ;a w wY fɖYyY9əٚ陰 ɚ)i~YP4g ;pp N;n N@Лֹay]yI) 9bI\ɞ䙝ِ)Sٙ񹞰ٟٞI2 p \P Tx~z JUɡ ! ꡴i'z)*$Z-(ʢp6z ~7y~- չ pT xp T74Z扢XTZ/ZJbZdz4Z`Rڦ2臎 @ ap-@ ˠ. 馊Iɝ:Yj z꩚JZp*5  @Dap s.d zO٨ZʖϚڬ zRɭ: ڒ9 5{   x~:{纯ʬ y:٩kɬ [1ʯ 췈'&{KXZ0  (j*Ji4U5k @ؽp ˀ?Pp M>]%)n+Yԩk)-  }-lv K]=& ˽v^!`SMo\r!^^r@Nt>^t^ R>0 r׫ Ű^ݤp PI >p`>)N<`9> ov\U;ܴ[t]8^/@ |+ X=PD^(^q؝9@<~mN!^ϝ@] L Qn T @Ypv !>@  ? ~-v  P -Lء qP N@ . p !@U 9T d B5>vS=|PV=4Њrslŝ @٢ M_r5% ߻5q䐋T W跛 ޿婟 @@ ,NB1"#( H`thN+IJ IvPs'ęM?@ժvzi(RNsřW%FTBRSR! ]rNBuQ!6Z0ByW^}X:0$<F`XDž @ 4,#S `C ,CleݥwrjͧÆ 6y+n̥co^^<Թc?^x͟G|R|Y8uW$* BzC 3ZŗR|8~('^V XE*(.D\z 3~h*Z%\\E"j`q$^ 0~T/J)ɳ z;̺j.*-,E@+=lrKmL;;T6 t˓@%SOD@#6/E`JM7SO=-##o ! _G} ^z' *pxQW/$ '88BLNAňI )X4ä :ѪqkS{B2̶ݲW5l+3842a@@Q6w6C;{,c;fs -b CG6=6 GdFMN֙z%h6qJeZSJ|h! H<Y[p$xV<(r9VRX:Zik))A7#qs$,q_$" ?)Gp6y˕A˄OǙR|yyo:ag}_,cdqyhϟ>N;iz,T(:pXCȔ֮ F:Uq  E_0bb`h| !&A Y[ R\ Ȳ (0"Gl9E0dHqBԩ31t^rlx\J^:ΆuR;$ڹzb Љwa%"6ъ}”mB.vы{ig)$jy*(""3@7XES@-84Ђ-nZ`2"p# ("bJH ] augDDzq|QzN˔0\nNvY:%;"%z*ȮHC&N*g|0D?͎Y-9#)Q)6yFdKTTXD$^ձ<*J"kbx&SYK#]7WXֶV=#kYxV>ů8$AlOnֶSKC"ۄ׽&bqF44_ΰ"jϸ_ؚ̉jXCBo<`?fO)\8Ÿ w/agpASf4Ymf:q᳁YtЇ64aE7яNtCWх^%JOіִLKҝntIjLzԪv5[=Wִu -uk_[c7ljKNmn&v=lfo۾nkv~7=oy׻o~Xb!@xp7x%>qWx5hwyE>r'GyUr'xe>s7x>q%| -f GGzҕt7=xӥ>uCQzֱuw_z>v3FLC9o2=s;ݮw}<> @̺=^G}Uzַ}e?{}?|7~|7w~?}WOQw?~+ lw ϋS델?@$4 @,@D@T j @ A P8STdA;:?, `A1XH>E؁Uԫ3(0(;cpQL0BU)8ԻR:-BS #;`@D=A<=B4=CATB\ClDdHtDIIJDDDI BN>WUNF0H(HChj 88l9BOB*`BhA 9S ;Pp2W Ѐ0k؈p;e;%1cPUv9F/Ƚ˾˿WEdFe0 CpB A(hBvY:;H7,Ic7 PR70KF 8W6h WX)K  5 ~(=)cU (F()Lۖ+h  !%R"%,K=6(I #^8l UKI8C(=jK<#ϓdՊW?B*WQ:RԀ"IJT|A$%#@cm]Ϫ~Z w K$%Bv5=`H]P=>$\ ] 3,\9=v=>"D X3A >]W=NE=cx({(`$?^@ R`xU`XJX`(o (H8Aӫ\J$y lC셀)M` \  ȥ܋3ZE]=uCD{_ _ߤuY]EVmZ.,  `&6aFNVf^vaa !b""F#V t~]p)^)+,-./01&263F4V5f6v789:c5zxV?@jdBBFCVdCfDnEvHI~JdKKLdLMNQRS&eT6TfUveUVWZ[\eCj@='; b6cFdVeffvghijklmnopq&rf9%f=wxyz{|}~&6FVfv臆胶MuƂ<A&6Fi{Eh`h@`Pg;!Xghffv꧆ꨖ꩎.jxi>xgH6΁,xg;P; 깦뺶^F⣆gx,P8+P, :T5ȁ6 0 f镮f>?*?PiXj϶ݞgk&,^m 9:Hi@`u>a6,m*Hw?nӖ'7GWgwp^*`OMl^n>Ȃ4Ŧȁ?>xm gwq^_?DWEgFwGHIJKLMNOPQ'R7SjPhXYZ[\]! ,~}H*\ȰÇ#JHŋ3jȱǏ CIRd(S\ɲ˗0cʜI<{Nɳϟ@ J(<83ʴӧPJJaRQ{r.ʵׯ`Ê /cӪ]˶۷Kݻx˷߿ LÈ+^̸dǐ#2׸˘JޜϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNνo۽O[[{KOϿ(h& 6F(VhfR|X'~c,B-(4h8<@)DiH&L6PF)TVi啭}#\^`eaYTa暡- +)'fKĜxZ9bi)aO砈Ffge֖VjZ)\¹m- c=J`MUaRu 무֊9Vj>=X;S& S*lJQ)-n9fmG}+GU\; =)*dmmni"a.q0ުK G,N.l,$l(,0ǼS+J,,|WΨ6m4H7t?=*RrXg\w`-d4EeTgLWmQ7Xu-n'7G.9rhO$ۖ3 wJҝ6砇{niE:~d.n^ξӘs4Kȃf12,d#avd7Oq*CR2,w>pËL2hNCэ4yL:;̸A.@ByЀ MC;:ш'mh?f4]hLGі.H,hR+с>uS-iT_~UkZիui4IrM džBb-d7Z!.@h;[&ull{F=f7mn)ݠ  QqyS@ )V ;ѴAP 77Ӟ%^XK!qG?çr<)6 Dmx'("T2qKAY+>fw >vc↾1Nue+N?u׵^7۵Mv& XZ^@ ƃ H_7 us-Sn[ 9N򳟝i+W_vzMCI;A@QBr Lw=F6cmKؤv#dgm}|o%&@opv13͝d ߷pVyyWw ׀Gw{z}\~q~Ȁ$WgPP T'z ʠ|g~n~vu am'}܇~ZWV~ q~$'RTf @ . -@@t נ !@1|z#~&hqrWyWhyxr)hrfzȁwq((zJrQ @ ʠ \`  ? z@wq#Hw聇Hru&vW'Z}FwȋNZ8sJ @ap s.0td Q{XwTHW`/~'WX{)zXw Ka  Yp` )yaAhiW rrS~WwRH~㘋q+ FWg`g+(g9Il<ٓ>@B9DYFYiHjPiJ}jUijVWL) `9W9[&hIh@SI yhWYW q@jkmu}9)}~F!oYIyٙi鐚r099yIyhiɛ oi"aIƙhɉIǖ$@&֩MypL@먙vet [`ةy׹ ypI o VzY": f":$Z&f{v*,z[@ vg,ٟ0 rL-z<@C<<0jXk |pg٣0hD9+*- i:**0h׉< Wf|؇p}+"`nڢ<ڨ'Zz:0:Zzڪj"P*:*Pѩ)Z/ )$i)YԺ *K/PՊX*KJ֚ʭږZ`90ڟ0-@y~:q) j:۱ +UD(*,۲.02;4[6{8:ڳƚ: "pM"p@ @ڎ4p ʯKE[4ګК@Py*o+஻IP9j{EZc_ ю؊e4"Ql;;{۹:@O" `{ۺ;[{ۻ+J, dgUlqg|q6Z0$4Հ*``*Zjgڽ9vzZz[? ehn̎˫` ,V ,hl <"\!|$&,.012\4|36¨ ;1F\FLq J,Nsgbzpl;h``{kg3Pɠ4G&haL%hlk nr jylۦ u`p)Z اq)VDŽI|| 0AHlO Ij*p~vfZlp4j`iK*4%0j* q`:j2v/pqy ڔYt~&IĹ ʮ<=@C@нЬ< 8PбѮPp |ynY; ƭ W\F䆭" t ! [1j/1-sQ`Q yX<I'w! Vgg, I ] ;%Fp  @M! ת N >p k{qmP P&Pɠ1 g+nVzvܜTڜAǖ<`|2aйQnT @Ypv !f -@3-- ji A8 p 2ʡP٬ qP N@ . p aD9T d }t*QҜ 21.jO@ {P]֫mb F}<ϛѽY~o (q >As=?0t hP > vؾPࢸPapw g@Q t`澠1-  a`UB6!q`..^@8R `.}ؾ ORpq[Rf /ģN\hؒo.zQ<1n!ܳ<jΰ%)8UTU>pA֭Z;x@녬eF5m=ەkٶf5,ۇntz=)t5\e {}lr#e;WXWMFZj֭]wl U!< R1ॗ@QDF70-1ת }iA3N5 ҦW48 ) ^ U`$ 8%N C: 0B MsL.+bl72R-$,ҌE\,> D *UkFBF;mF[_}vlNV{d>IP>{&{ F .Tz駧zRb39Yz>_E(OW$~%}EBv~G;-.KYj@ .`'NG}Ca UBFY:,x2CҐ3a uC'9a.x"D(F)WD,8)Wb-j]ȓ\0͈F5qotc84r#XG8{G=Qpc H<6ҏ!BEd&5INvғe(EI' :֡JVX%,eJZҖ%+uKU|.qI]򗳌/oKaRɄf/gN&5l^ŚDqg9ӹNrSlg<)OwDgrG6ud"2{e,_stc=@ H_ (B8[Ul‡ 8ȁd@8Ep P8 !45V?28`O4 2/Bძc-pL  c[?xOsSn 2,ȁ!€? B |F"T Г[E>0)bU (kT=+l#D$T%D?9{8y(h7R`;1o<< 4;N8=VAl5R*W):&〙Ӏ7Q)B&LMԵ K 6 S @8S8!t#)8^v[ @n ehX.P؁3(h XIZ|9^XFV; ȉ`pFh&+`( @[9yzǺz(`c=aDIH>(8F (cO{N(U`D6' K S@D80؁V#/H3A.jIs}76^8yǨʩJx19ED;4p`? 8i3 H Jq(Up1Y*10` +ˇ3xF7{s$C E0L 0^8ѤJORE< 1@^h;{{ I(^Ẇ&k͇,~aŇ8Rh;k2 ۘF0^?@A%B5CEDUEeFuGHIJKTF2'hjUaQQ-UR5TEU=VUUWeWXUXYZ]^_U``%a5VaEbMcUfeg]huViijVjk=Yyq%r5sEtUuevuwxyz{|}~؀؁%}xYE٠ڡ ZM6́,?+ 5@ /%گ۰eϛ85`??8Pȁ 9PH۽۾ߨ# bj ȇ Ћ4>ڇYʵ\oA5>pXȂ,>PӽׅU /{P@>P\-]5E^8%$[xEMx%햀! ,_H*\ȰÇ#JHŋ3Rsl6'h!`1(AhSQᆯaFq(h9⊝.U&4h8<4Ϗ@)DiH&L6PFdWCeld\v`)dihc^YU;nf'sIvz~ 蠂J衆&袊6@uBJPj@b:rz)ijꫬji뮼+k&kS<{YVkf-6Pݒk憻;D+.+8EoNakK0P.UG,qc5wk= Ul2#4pTS2C 8o[3NT@M5LtRB'GôrG--ԼBҷVUJ.t͵]obmvhlmrmwxӭ|}o=P..+GSWg瞇蝏uY:κ뭯n{Ӯ߾o|׎ӷ^goo}_/>_~o~/?NHHO$@.0 |A 2 %X ZG( LW,| ]hB7!w> "("FL"&27$R`PъUE,zq_"(2dD5Qplc(- Ṛ> IBL"F:򑐌$'IJZ̤&7Nz (GIRL*WV򕰌,gIZ̥.w^ 0IbL2f:Ќ4IjZ̦!Qnj7INp%<89Σ',"㉒vD=uOyn)'>498~s EhD9q "y6ԡgH+zPRhJOJѕ*TliFיPԥ%M+So]C=J)KzԐJ0$MyS:HZКT,g;UNuTjOը2p+Y:׸4%]jVU^+YѪSUk_ȸuz)V{Ȋզljf{Y&5)=נr|tG#)hԤUhmZVjNMXq-mM[[[ lV֫u5&ֲ,5TJ6T5Y}[ZսUW:_&w=nuKٗZla׵+Y8jB@ܭ"ĩ,nmJn§ ]1 LI f#gM|b CŤicqkܕ@e@! ,! ,FH*\ȰÇ#JHŋ3NK\ i+咋{+o;‹{+p;0&\P6- <1Wgk<1! lr\2.r,r@:<}?mGJ7MICʹNGmWWZwMYdӰhl8tmx|;B;d.j  l&7$r`A gw砇~n:r1Hl+E0{n 7q NiܓKu^b6{H@1s(X阈+MAmza-;ߗs<{h]_1-QJfSJ;:/O ܎ʁoj=TDdې~9_sl4m=nYLVu8),p<I QkIbU'CNy f$XF 0 NesA$8$ 'ls~ C:8G@B8DXr P JȄK؄PRTU8VXW؅Z\bdf8gXhd0)3rXtxvks1|1~؇Xx؈m"3nX3 !؉X(؊8Xx'3 ՀXxØƨȸ،Ȍx֘ոȍ؍HSabB;踎؎8Xx؏Hr@98v;p ِ ! Yyّ 鑣cXVa -y/924 6Y3y8:ٓ9< >D9F)Hɐ`|;QNy@UyWVXɕZٕ`EG9fYhIjykL7#p,ْW yɕz9{|;!9Yy-yoY#v8;i; ;陸)yɚٚv  tBWO0 iɚyblٜm Wɛѝ)9鹞ٞ )9s)ۙ99YٟyYɠڠ:ZzJ ":$Z&z(*,ڢ.02:4Z6z8P*+:Bj:PVPECL< `?<@MڥZA ;Z=?a\pVPlBzx hVP Jh:yztZOA %jp2JGZH { o|ꧏ0+zn: n`P Z* :t' t lꩻ}tV~:<:K ePqz81{20ۊV :{0~ު!P֠V c`2n:Z ~B e ::`0ݺ:2P2 Q 2+K2E=P+ +k8 0&0+z*p`Pڣ= `@IZ۪P*PJ2@p|z̪t[:`*Vf*Q +)۶o|z;{ B*!Q& y:VDk J00iKB &Z'@= : qQ;+;eKQ[} eഞʷ;'AFP V P y@H0 ;+ ѥ ó 0 V@ oZ[ P2` Oˣe lcPlj+;@ lZ&%\Kvj ͊nVЪ#;`k+ `0<+0aj<ְ0a jº\:c;Ƒ@:~;&L\\oeLc+`P+ڬÊ\; ~|붲Z phְhɆhs,Q˦"{Ey["<ƝZl:§8 [ʭkUʧ̱͌0b<cđ: ׋nڧ lZ1`[*q̣L8Q@Z0JͦJV < , ݌>ʪףJP'H,Mܲa@|nV<̻P?t =ZJ +\<>uZ,68@:meQ JѡG"]iҧL:JuUXf+ׯ[z vٲhɪ=6-۷n㶝 ܺH*F߿ LÈ+^̸ǐ#KL˘3k̹gʚDGeS^ͺװc˞M۸sͻ N$MkɣKNسkνH! Bӫ_Ͼb9sZJU'ͤ@߁& 6 pyA'2qv Mj~\)(,3}1i )@L3.iH&dvhb4 !’Xf\vy!)DHHamP8ZEl۹}ID©|goWk,&!q(ϤF䟐F*I k%@"W"@fji2Pr)<ꭸ+uDjں&nVKZrl芡J.3}6nK L' 7G WLgDdц+lr(r,r0,s4ls8߬s{멳:׎z_#O|;?}o'@^}`%H@ o`58An kp Ą@a K"Q a8a q6\cх;< XC$K|bD'FJ"V@aE2Nъ^#x4q=G4t,"G;я}l[t/Fg|M.zR8 8djz ܡ5_dM0#WґDj^VG)0 KPv%l[T0K 6ؑj4dB j$MR5L*F&@@BH$|aD1IOc4goTP Mלʁ8\"i3'ʅ4 ю'9NA H&\c,–1kpOD $P#!%$Hx*C /E*lq*FmZ"Ǫl `#@A5 UҹdVR.Q"€ !,1Ed#KJf-z mdU3ZۈEi;Ͳ[KASHj:xA<;ya+J `-BmaC wEp D&#N}rWUܬ5U=ڗ{^\ֶ+gHU ހìI*x-mLW赖D':ID"# Ī!1_bڴx6-mkZv}ltæŔQ PUrE3 Bu&@Scؕ+|cz-U![njKr3fqֹ1Z<8,}F̔3%;i5׹-nRȮaiCIUJ3OP8+R!1p5l M2R+c6͇>dNڞHl]hW~2iA>w t$< o _T6V/p e57bXrgz.sppK5t/^_r%MqmDx}W:ti_iF54-ozlxjCRI:XUW#K;~>[sO58>9=pBo셶 ]v3'3ԣ9{@R8M~=/k?@ /7^`|'x;򋿼3H} FA5ctz@su?hУg_{} lyO?՗>g>/~Gï~uP%>u:R?6xGǀGр x W8#h()+('XbN" ШM. o$Q՗i٭UP0vvjarʐJ*SZ^9vIxzw{Z˞3j -ٱnUvǯ_N{N l0* zB*&h{,e{IJbmp;o[eHwk6}˷z1!,*۸'Ǹ'+%Fk۸;K+ ` ";Re+Nۻ +ƛȻۼ kKڋ; ;[;{=]ۛћؽ \{`| <\|Ѻ!¹&+N,.,0<6\8L:|;<>D|i-gý{ѿ;K[X|ŽYC\^lP\%Q\e|]g] ]bg,}ǫڅh~<|e,ȫelc6<lj|~۾|?_A/|K߼oOw3O>{峏ܿo~Y|~?7@{#c%p ,dz J'> Z 0|I"2` (C̤i7`E 7R@4aqfȚb 2 03%:5G1:8&x>Is FeG+N72xd@0r , zQ`46aEe0; HE.(FTq E1\D/$9(&gnƛ'fyrVsD%fX 2^8P"L&`O ̀03{H3 3@F7юrtH?ѐ%EI#`t0Icәt6iFJRf "@8+$K $p' Z8Z3⡕B> @QW ވF$T YNЕ2wL^w g*Fư&9#A@c d:P;R "тh@ցD9E4ϋ2Ln5̄RmmuS65.oQ6(ˢG-X)"U)jVȎ&,Y( m(|;m"}!Wί_&m;P/la:8!Ep7L_ $9\`ΝO.HR [HXh2mbM ށ0R-M,o4)G \td f:y̘j2-c]تQL"9&A}?@D |4wz-|4>e/kG>|퓿 ?}ȟ-Cxo^z{8z{Ȁz8Wx X (؁yxGp*,iJC/H1XDs1(688<>؃@84:(F7؂0xLHMȄE8=ORhTxANȅIXF`(X R un\`Opf @.F{OvOp؆`|88.ԇxЈ[(JAD[1FqSɴRT V;W{U\^`۵ab[d{cfQ˴HpDs[x{zk|}˴lk;hK[{۵qaO+y;UKzkVˆ;[{ۺ;qˆѴt8; ;ƛȻۼ  k뼺 k컾 +˽|@KAK|`V,q|p| ;!<˿,-.1<2\4|68:<>{! ,! ,d7  X@60 CI(P5&mP X MJɂA"n`2KԸEA#Pc)2R%&m(1JJ  ".XT 5Ysb h}!(ן uk_%\ d$@{`˚sIS*(.PP0h$X\-p.)Ra-5X)Jg0_,`ݒfAԆ*>Bɨ Xܷ .`FB W( U-.gu@sI0E TEem @A S H ܕ0UGA7Sc,b}l& (cWnh>Vߗ`}FQg`H?IfmI'em! ,dH*\ȰÇ ,`5% h4XFGh8(0HHS&ě8sɳC@ q &l\ʴӧPJJիS |@DIA!EHn`!57|Xt4Ib˷o h[Ƥ-z*^̸ǐ#36V SH@p`6\^pM f&$L_AbA5(pm N JY4i$PLЛA$PZ`g'wn$EzfwOrK@uC&/%1[P$hlETb@`XoHfF oH($h"C UB2$t-!n`aV [T Pv QS)%#TVi問-@$EeJ/"hQ 5L[Lq7S0U*%BLAli衈&S`J0& KPjo0Qp1A J`qFZB *무bɔ@ @L FށE$*"`2:P k$v^woxydkF C@=+޺G-`Z2@Rlb"kBU@6ɖpeLܾ$w1_$S%,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.nG.<?ZX+SO;OJKF[Ak={O84/+Oˏ(-x(2V2 'x$R# 78 r G! WHQ! gX!wHO!:"PHŃ8XE#r^b(2Z1fD"x-k|(2s|"x=Ⰿ~!YE@<$ H&j#$OI$3 JrrC) $*axU"p*cHX򕶼%[K%09(abƤ 2)_2s}|)R&6m޼89q}<'4Nꥳ{'*;*R3ԥ^NT:R5rV㲪qc)X'*бfMWZpn}*Wѵ~+^׽꭯~`kn=X1n{,d&ɪEf3krlB+Z⡵m=-jGrMjc7jmrͶ-p+E,r2ױ}nd+]R.v5v-x;״n,`ߦ=0g.# SXpy3aڳ}/U&&S\4b.~b,cѸ\1vo>rΌdD1Ɇz2$)G0VY-sD^r, b-#3#5˧n3cssr3ShAϸІ1c3zɋ~#-i!SE4MkYӞv2CQʦ>;44"Y[E^s]huk-l%6reXΖ"͓fS{g־~_mLZ6K(qv͐u[!~7B-oл7}L8^oF8n8%mk85m;9E^l F9Uz0gN8Ϲw@ЇNHOҗ6PԧN[XϺַp`Nhpxϻ~O?;IO<'O[<7{VO^Ͼwsק"[>뼇~SO_C&`Wԧ#@~E8w|FJЁǁ$x|x'pg.htJ 6x8:<؃>:DXFxF&01u؄X5TXVxXZXPu0A[Xfxh[bHua؆>Gj8tXvXlRzurx8}tox9؈Wh{7OLj8(xt4XH(Dsxj(t|XEBX(=s+PISxx،'Htx0` U@؎D؍hsI` 7 /pP{8`88O Ȁ :p I`:{P 8x`P *9 7yX֐Hi@*=Hs،()$`P$p4 nLi0@逎O`u X ظ蘃Z` /@PYB7x /*H8Y19y7X$`FOp )) @@Y9s8WX 2PS(*hțטyi{@I/$h P8鐏y0Ɏ+YYɀ It ipٗ Ri`|I/ؕᐃٖ` *2i:0U04: ; ` *6:ye2xih aZ 0yCI '*is/qQ0@'ʛ j 9 Z 8X ٗco:Wyi}i 5pkyy 0ڐj8z=zZsJ li^ Ԛ`]Suxzkʫq: Ez{ 9H A[ zy8 6:7(y7) +IڗXXѸy[H[O]0` ٜ4}k jpH/P_뒕Pj;jZAZDj*Zd)Ogɶڗ k0p y606K[<1Z Иp  u) ;J>I` (P速` kP=+ ڤ6ɻ !˟A I/++s*x ѾPZLjY sK0aX6@Wt+:0`xlIG0D 쎏x/<.W6Ĝȹ BďHl:Jło*> RuHjKZh]> bƐHH rܗst|v\jlV|*Ksik.Ȑ]xd|ɘɚɜɞɠʢ<ʤ\ʦ|ʨ&ȑTH<˴\˶|˸˺|P˾,G|ȜG@G<͡I؜ڼL<ΛLEp<\|=]}=U =]} "=$]&}(*,)(1o4]6}8:<>}7(0о32[*?m( `: 2!P6NԆR Jf} Q-+ (ֆ : a0X*0{p}%0ԏPi(P~VrUK`~+` }UtnM-`PUi(+`]%c@zm hݬ@*Ppշ$I EP Q:}%b amH b:>! ,zHm*\ȰÇ#JHŋ3jȱǏ CIɓ(!Lɲ˗0cʜI͛8s\ϟ@ Jѣy"]ʴӧPJP)իXjʵ+U^ÊKٳ ]˶۷paKݻx˷߿ LÈ5N̸~CLe/k̹̞CM$ҨS^!װc>-}iͻYݾ Ukȓ+У4.-cνFË~ˣ_޶~/}8?F\߀& 6 ^=(OEH fNvx$.Ć%"P 0tb4R6cH3D:cH&)J6 NF#RV#Vf"Zv!^!b f j nƹr)vz9~J&6F*VfZv:j؉eتke rĮ:vXl`&|! C,%mܶlࢵmmv5n^unJn2n5ouootb+.M Ǵ7FlKOXlҿ"&|*L.l2,6,:s5 ?F\t)#ʹ o'R:uNo^_uM6c jv 7o v[w7{M߂xFU_T"tS 2 g\1k9-gzؒ/zN{{z|'Z3<͗K|N⟏mo6۷,C~_+V;w+!M1+ n`@)0V#yE<(%b'DΉfȠ98Q1z(H$ё&uFSύF(L%ԸNDiKRD<;TE5jpSMu~*՟"5UU rMDWձgfOYz>k}̱">@VWd,}_{Ұ=q=yܪ$a,drGNe3{r:t<+脶VֺlgKͭnw pKQ*r:ЍtKZͮvz xKNX<|Kͯ~Lθ U8'L [ΰ7{ GL(Fq$ܨ,0gL8αw@L"HN OXQ.^L*[Xβe!;QQ /C .~0S\ hA4S@ )V.πM?u 3o>!2 NPD(e0"WШNWV[NF yƪXZ^@ P\@ ^]f;.t[b17zƚk7 BWk`"wvӆraL[;8C'.(@nP;2OCS[ƌv4l(DA c=`PGNɡxrhmk382:AN tUq e .?ЇN7+A eh E݉Ѓ 4qs`ϻP(@bs!;59;`]2,cQpy8؝!" W3!yϼ7_eXCquLcO\vC~BaA)νw/8ꘇ;ЏO[Ͼ{OH}KOϿ8Xxx~j 8Xx؁ "$8&X(x*,.؂02486~-6 Ѓ>@B8DXFxHJL؄NPR8TXVxW *z X`b8dXfxhM Zf]HR > @ 0F ˀ? dPp `j؈胹І;Ȉ@ RX ;> @ X!Xg XxG +~P? Qn T @Ypv !>@  0? =- v i P -8 qP N@ . p !@ 9pwT d  "Yi' 4@n!tW H - T`wg t-8 n-p. [I ! 8tБ pv Np !#9YY 6 x؃>g=88 R!fX ?ЃI p@^!`ؕPpWP=8 qppVTȸIbW b5 8yٝil˜!pi^ 0ٙTq^ G I`.!ۙ  R xWn i8ي @۹cYv :[ك٢.bnx P=X[ p xQ !?Y p tD  TR7 n} po P & 6T(a ~9@Xt p0))hdz7x}-@Zy M6 y9@  nx a ك٩ڬ0۹ -=(xbPgo7fPp P-P b _ 昮= .k(jƓJ xP؃ /*&I0 == 0! l` p0" )0@Y &{p ^) V{ɱ+טW^Kb<Uۃ:@(4G:X{x2:.ʎI g냀7 v۸[ ۹P Wjqj[[ ;K[{+˻k;K[{+˼k;K[{ŐLJK+ [K컾싾;{+ kۿ̿| l <,\L| <&,ՠ~.02<4\6|A"@Bp<СlVǎ|HJԤ̅c p 'Џ}zГ8md 4M0i|g! z> } c֡7wڳ>϶'ۻ KkM0 W@ Qi揦YǗǥ0Qj 7ȒT͏gy4aPu,8`nj !EsvL7*W6yyjԋ9 "Sݜ>t}j4 %}QfNJǣt ԼuM-px} ,L7`ǽ yuwNjʉXh渞뺾ȵ f% }͒)b :} np ~ !mEU : \DNv v P  y)q-gc ? u`T8y p 7 >R8 tT`7 0YPa`_Of p Sژ {WhCzۼ 8p_fn>pDzГnZiǿfYyiV vLP֫`>f Livq ֈf>@*OB8 XgPw mq~_lԖۥ ~ qjq > ]\q K^v| ـ?UyֽP(Jč ǡP +@ DPB >QD-^XW{<~RH%MDRJ-]Sf,WN< ԡ@>  )CK3>UTU^5L]~VX5aEZmݾ-/dśWޮXf*u FLXʼn?vdȔ%W|YeΙ;oϥE&}Zuj֨]mƝ%]|\pōG\r͝?]tխ_Ǟ]uն^xOZUC/,j۳wۧ_~?$AdpAB /|o] C?'DOD1EWdE_1FgFo1GwGQO8 H# =`I'2J)J+2K-K/3L1$L3͔$dMȣ3礳N;3O=.ӜMA%Ԥd5dQG4RI'mRH" 46>dC;(%TSOE5U=ԴUWȂO ;rH`5D#Ty8c7c?9dG&dOF9eWfe_9f>_o>ɜtTIȂ,r8avi鰘I:jj:j9DAgi< [  9^Hl-6[;ooxg}ˏG$X>y矇>z駧z>{{?|'|G?}g}߇?~G~?`8πsCT?6Ё$%`WA 2pDAH@x@NxB. =B&u1#4 P4aS?&8l"h"ЊW C&0SOEЈI!(Q!lcHErXc%rяpbB1 \ch6BQvL!hGBђd8~ql BQL#)X#VRT"&e9KѐD" IWR|$.]FD:#Aҙ *W\Y)Ic %<%L1s&4չNқ,-y wn20WN| уj$f(;Ӡ}I38lƲO}3}o/h}ݏiWok Y~OG39B~>-JbU<NJ A?e} I&S S&M+|!\(3Űc" 08%$c I#"vaA%(GtD)ri P*nKY▼()Pb",FLȡ3qId#G sc  GO9$k$ Id䍰HHJrGOG/YL6J## JerH+HUvRt)YHY由π99BЈNF;ѐ'MJ[ҍ2tHzxӠGMRԨNWVհ69ưn5w^׾6-bN6f3Ύ}I_Xζn{Mr6vuKηo}gNp~SOnۛ ' ϸ7^ ȯo(g?\gNsz[5Ϲ;b@v!+d)J3M_zԟ.u[X֧o]zؿ.vh'm/Euv]N>G3^O[>5 X{GOzϺ < ֻcO۾sOŜ%;ЏO[Ͼ{73OOK<Ͽ?8'~D Hw g(x|G؁X8$Ȁ=7~%*~xH+0}ȁ1X6H}!(H7<'(Ip C(DxFEHȄJ؄PRTU8VXW؅Z\Y8tfxhjl؆npr8tXvxxI Ї臀8Xx؈Xx( dxHv0Xx؊8XZJ؋8XxȘʸ،I8Xxؘ`G8H蘎긎ȍȎ8莗D؎Z@fG|9Yy ِ9 DّIj0$Y&y(*,ْ.0294Y+Y(xI9<ٓ>@B9DYFyHJLٔC+P! ,O\"*\ȰÇ#JHŋ3jȱǏ CI$I&S\ɲ˗0cʜI͉(oɳϟ@ 3'ѣH*]ʴSFJJիXFʵׯ`Â*ٳhӪ=۷p%+ݻxΤ߿3+ÈN̸Z!KL2Ŗ3k١ΠCdӨK9װ*f-۸.1u#][mNHУس\Yϩ[O<%ͫ_\<_g}/y~whW~h ^o6EhfajɌ @Gh6=.J0dM21h#IXs7cF+DF4.RLFdIJiNq7Y%`@PifBŭpݗrix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩤJJjkSXzN *KTj;< ڄf˒vےކҵK궻p⛻R+֫k,l' 7G,Wlge ~ļ /[%?:2J7/ͪSs83AMtB}kJ/tӶ̌Ptծ^5Zomj^ vآM61w2g:<6=e&lMzw/&{KN ~9k8:w^oxo::n鲏~yR&=OZ7;\ J()Sh0`ܟ~+/z~w>Oo~H鏀yuRl[ qO01j O6)vXD ]'4\ =D'p")kgD9)1OcB5: A>{!ZAc~ 6`P( GNh; B n#Bh"Xs.HP.xa}9Ң%ʨZ8j><A"G9.dlO$D=VQ+h=A昫MhtSS1UafD %5I睗Ur#Eiԟb)hd_jdg6[F &Ffif4@"PA^骘3!dU,ả ZA00l]*³Vkgv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n/o'7G/Wogw/o觯/o HL:'H Z̠7z GH(L W0 gH8̡w@ H"HL&:PH*ZX̢.z` H2hL6pH:x̣> IBL"F:򑐌$'IJZ̤&7Nz (GIRL*WV򕰌,gIZ̥.w^ 0IbL2f:Ќ4IjZ̦6nz 8IrL:v~ @J`!P._e2 pA D$"zQ Аd \ AG WAF@I91*TpPJԢ HR5 Pz 45SJt ` XJֲhMZֶp+\E 1^ZԒVT k.0U: S!pX:d'KF v]_7יBWU Pj`9TֲlgK:8[z֫TUkM+U&=T!0Z:Ѝt6mͮ~ہ*M*FԪV^w/|׾~_w/,Fj]i+ULQ+I֧B0XA_gx(>M/&Sbx+1u=qqP-Z=Lb~qb*LVqMeJZn1sY`>se,d2E[]ɜlsOgY9rX΅M7'юm#Zҗ4|Wy~0i:X uְOUժ5c Zֲv[k]z׿umkUF6Mk^;{.vuFӝŀn{MrNvq\G%-y=~OIM[ϸ7{ 0T-eۼ8i<<υExbGO:җ3N:ԧ.SV:ַs^;.fO;b`p@w{i~kU2;x~o|'yK.yh!9v@/&rD`{av+~=}֫׽;O65`<p. 9x<wQrhOA8xUj 7 ZG 'G8'GE``ְ ~^EP 0 9}~< W`~y $'A8"pw4 =(~HwDȂgF KH]( $0Xr <4wr}eT VRt4w{ hH9z+gR|f<w+wpxw0ЃI5Xy@XK8x0y{s+WX/Ȋ0w{UE7 X #(8P pSp$ xv~@X4pj?G~܈~4 8@I7X$<~ݘȁ؃14 P(H`'@jG't[ <p@ cAP AENpPU؃Wp~r2jj ww<ȃ9y ( P~$rljpp '^ wp -)8I p€V$0 X2Ij `>x IA~0ր0P'+( wZ5 UI /)_p0 hI;hZkHuhU ZPwX/ 00Ȇ(r4Pȱr=怪U b|(n= ~J~W~9XZIjÙzy3s'}ܝ/Z`<` O@UL/{`%EzPWj`@k /0ALT$ sPy @H /WR+wHEHE;Tp~r X@};[U Z:r0/0 pWKj0[ -PU)93Q$\**C+`{{wl؞ Y@О % xƨX$! PKZU "0 ☪7U XhhӪ`)@R { Ì&N<B( `3 nH՚T`@AH`TWT\$`/BAۨ r{9l Y ؃c0\xeYhJ IP ] z$ rLLz, ܃ BHVxz= P ) eȜ B: =OҎ miI[TߗĩZgZG\wZUU]S5XVT3KSHՏ5^l^UMLTIUr\NǼG᠝9x= r^pP?ׁ{dW~}hY w4U{>*~6ןF=@ ] pVj˷/p3UHUw[6V5.7~b9~L|88~lS)C[P {P Pcʩk8}(yNN~r g㝜g)LNjr@*}SxeЦT~ftyn~lm/on΂,o|Ϙ9:oh@O{n6|v5T3'N8褨P~4y\pwkj?{3_/|XfsOqs`P /Ɵ֟пN?w|po_??ަA=<8„ \PĆ !V|8EvtȐ5zT2B3,OO?RFtK/#}IOJRM1SQ&OE5UUWI sΕM앍=/L%üӛ6\p>9S,:r'ܻc:e<(`jRB#(*rXF)Z,^xQdU$L:($3|'_=.Ds4@ D :qAU-^ 첃tFS(szPà2Av^8 0|H\#(5c<` ]ṡCPrGh&F.?X?v1DFcA.vы_#k<Є }kC)`0(X#Qp= Aџ/Ds9 ͜a{AyEGdX7y c&5INz|)E0z8,CDaEZ֩ @s#F*2(aУg|HP"NӘD&8H3l3y$s4ь&Q~yM8D#XNHɄg<9O4@/@yAh|FB AӡhDGI*ThF5RhH=:RT%EIUjR+uiLa:ӗT6MuSԧ;iO:T5G%*RT.թJjSTVW33kX:Vd 0+ZϚVխjk[V֕wk^Wկ},_5lb X2Vc%XFlf1vVgJ#մEmjUZֵֶ]JZֶmMp[|;\׸EnrE.׹υnt;]V׺nv]v׻ox;^׼Eozջ^׽o|;_׾o~oI V,4ڥ cX dP45ʄ+ c3 2,.!$a (. IF VqgVTX058xr2%l=#1AJ0jTYV L-FZ沅 # 2n+,wG^3g+Οr\TЬgcsc0G:KDUJkF[pBVkZ0+UX.kM=p׾.É\Vpb'pRM*.dk(5:Wljd{3* vAhڮr=pSMfVm@:鐁͡ZNJG-G<<,8#Fü֛JpL{5Zl!@{4c1XHS1-؅i4B4wɚTȕ^GIt5< O/,<0B(٫1Pö=56YR7#{;G໸tԶ{{= ·|Mh7yT5@3> ;{X37dsiJACd7eBK% FZ5 M6kH3td(( v_[8cJq{yKYXSCW0x6J.נ8e̋[uN=T6t3~=:?+OȎCu;ǣV۵P06+:X\3>$hH:1|0CYL=.5PZSdU7edY`2`sYlDLlCV$r]hCCͳnl[?g0 ķEeXTICI̬HDaZES+}l M{W slـ|ĶBq]1V07%XFLiK:3e;1t ]T֓Vӹ6{Qc:=U6܆X+Z$lr|܃G8M˦}OH7` @2+[$I>ң P%BPHأs ]P8SJ=b}B`dl l۸006ʴ97K!5T.CcE4NXa+o츜<5لib״ND}:T8IN8QA5̳B]dPdd.fu`t(Vb" g>㥶2|g62ieS`;;]~Y\G\ㆳk==W;MM-bp;7˽-Kĺ=Э[s7[@Vۅh#;uGT>hk<<@%gf[k:\ cvXH?|氰Ԃ#bh1@B@G]R>};d>k5-m0;nenKE6NKNKMN(KJNٍ܅m R`1TW,/E +n ktTX:͋+& ̌n k޹ sjl*!pH5KasJkm75V;d oCN9V#(pl? sc˔82P%KfаbsCXs%Hq+HXcePB{JDc$EO*>7&jJ2܅VhvGo+(THoX,*({|*UGL3+N׌&8]]E WE'9CvDFsG R D5lxiRco;HWIݪ]8+8$I@lVPʚ؊G`dC5ZKFw$g˚ĠiS}w^&e7@<7X}m5XӁ wC4OQtV/6iIphߤ͋w9xG1nGVA mE/Ӹ\UGQ Fsd`Fb{[0S5~`ߵqA[ۅJx:' {…vJUom^WFCkh6b{b+yvtsж&4FWf$TRe6$ATXe,j$C!WH% e&QRhbB2!z#9睎9 +#Z>ِE:ܒH!eґNe}QjQ@! ,! ,! ,! ,! ,! ,aH!hd̽j Hŋ3jȱǏ CIɓ(S\ɲ˗2N'0sɳϟ@ Jј ,ѧPJJիX}TJӬ`ÊKٳd \ڮ,$8dɓ`A- *^̸ǐwE-\y!# EL7װc˞ur列5@  xhH& rxnkУKNELqMP‰#b@,[_Ͼa.#px2Ŝg&`JY}FaO`aA`&z ( ҧA8W(4YoC`Ρ(栄j(A8RF裐6hVj5T'K\駠֨PFqO;Hꪬ^es.j뭸)M6՚ ֮$&[T*жlVkMv;aąX Ĕ[z nAXD`=  f/mRݝ}XEKm4wI@@KF!KP'&L0@J(!(0<ș C %q30 @(! 2'l4[V#{fBJ`4Kw|YvO̅Dp-+hyrQَ̖#߈'>l6u).񍚙w9V_稧.ԨI5t0SHnV{7Ҫo#aN78#iV7So^#=SF;xׇ@z9@XhrE2^x>qF󞇁K #^$D/r /Z: ހ#'dL/ 0@r ˠ ?y !,aP'x ]-|{c71`"PHFN3VQyx#~հ#` #]1c2 p}dĈuCG{ZRf/}iВ:GIZgC8'H"v9X 7%liY`ZTVW>J$ 2bˌאUœ6;Y ' R{*8n dD7:guq Mabr𰊭bM13.|64#X*"ՐCA5xt0:- AT?{' `hqOƸ7|%`B-x?땄J.s  ^2qCa[^[;$4C F Hv PXk@g{GJMrd 4B'9N8=jbzD2"1g/0 *Du#|Vj\TB 鬛#:>טgKZw'CwXDkgVJ%+x x"9 [#t'bc:eGϦ7#wһ[at4 ѬAwz'YwV7,\ 9xyg[aċ08E[Oo|@F3xpYJBPnDHAWyA# Q fu%RD3T2sRw|p! 4&~%fTWq2á$vdOdcDR=Fr%ZH@/r.t(vzvޑfZuFE. OX"1@7X_v}, y/>"pTdEg$dp!BF4:cDžFwĂQ POdrT%5&`[%25@Ei~Hd*8fCcWqU6T}JESAKq}}6Ut0eO W /]2vDk^|v1}c6Tn4wcuHu' zECӍg `ua*NQ>ְpǎ`x+tv Cyܧ&0 WMvCJeBDΠ @A' Љ2{sfC]ua&E ɖyRYLt" WRa2DIRUiV an 9RT}!f03F%CCB`&KVh&a UQE:m0m%x(5yu^RHI =d<%7ZD2Q^Y 5SbI .3Bp* O!/yBaY=EYfdp=IPmH.iW)O)hsKIg4KFP~6't]s+JVnYGCFFzd嘪Rw]w:@be' Wdu0+ybǥ'# bNQMiNxpxjrabWw:m'4Q P c!) J@ 6F'# :;O|c3<|cK"aBi{êeZTZDI$2& /9K Xk&D:S\#dZ[87e VrIzI.>c[/@> yprAni1X2Hq@vi:!OpzԯN': {9@|Y ѐ"(UAI05Zdj')t+L9UIifH x !:P&`Ik>3HKVJy`gMK PiF [T% 77qE Ǫ*ֶ  ڕʲ.D@[p;h#DqnbqI4H+Io9Jt|bZ%xcl0ՆJ)!HNJ X'X]`zE DTf(|~RK]U'\U6{e 꽾#U= eg܃q+S!E@C@AevIpWF _U _23 2.<'6Po#|_ P 9P;<ĕ85cjp* łJ  `p _ ^Lx60V]|p @ p0bpb!@^ ` yǑ Zv]@ | @ zŝhurLu@ŗ@ @ǣpʓ ݰV%+Ee%t w˦~A&%;ITc$4@˯ͼQސ˗ǾL ̜pBlvT|Γ[ɠ `{I\s!HN1t{l ́Г}.g5%i{es|ˡ Ш PD\p!0=Oŝљ|"-$m} ,[aINr ̊z0tͫeѧaNuȎΑȵ J3' ;`=ۄ0NJʝ{^ ]ԗ/Lmۀח@ʑ\O٬Őp x|0рv\XLNT gŁxtjpptxx-O۸   ޝ H'zQY~ } rTc ߰2y% >6 AKPG҃2WǺ|Qr&C .ǧ^cK]P]8q(`p%@bI(f8G!,B+5U!*ɷ!)=uK21| ~P >D}Aai2Er? G-|!iBE[;B臓PJ@c櫎dيJnByNe>o~ߤ` ? g@ !`# P%Yp0P& c!Z.#+5!<"/;fP.s~QTb%|2a| Q& GVD0rAsQ`U! 4!&plߑ[\JqU*`.?6H3k%rI=~Eb!+W2~\.] 4i4K!NO=g12oDa0v s N ~aa0P᭐[5ɼ%:0Eurku3r@KJr!K/_2 Jp5h$fX53Q=jAŇc0%7\"0@#aDg7E0>DJ tkU'0/@6̯r u=tn?" =Й" "2"b'X"@!Bl8D #, \8"$0a ClDXA!&g9fD`$  6d80A%-,ЅU^ŚUV]~VXe͞EVڅFڈަkH!ᆎ!RZu/9vZp8 ,@`@xt B/DH >0I#0* Mp* H@x%bX) d3A %Rk:$:|ׄnH,xhHD3M5dM7L gANe1F@RHi:ɦnZ  0AH {6W1 %pbNbS)0L`z[,1$Th ʠ B[Ƞ$0x 0%^`$Ž4Ʉԃ@܌fpG j%n\ˌ2 VXR$.. .|;sT/)ᅚ-&1HC `YqKԁS@$Kd8aed8Nwg+kf!eTa (T mE?*08,-F,"JrPBCBը)8P8%XzU\#%ǢG Jp!%N=a%uY18#Ǡ.h:Ў+Bcl#3pV{Í8@h}Mh%?e)=2iP""= &ep'V{@ܞD8] fӏ\3`8@PNtUh O `<44&@ef) "A  0/hpD0=cZ8`'t'FF+A)AD,8E2Bf GC?! 1ƙRlF E Uk6 D3>T&A0$@\6Xf¼=O>ʪ5O"t :B؏{,pB|Ip@6)IG~T*@dz@P!ySG,zDf2Lfnehq5>@@Dh@jT*$hjR pNfƩ̰{'hХ%K%!=}&?C*RĜN$LRm(a6ڂfJA6,`$%AL9At !qdT`J&=NfPW3Hؐ f*B ,< ,ӥL +pO^Xgp涐}zYOGO.k l&c6ӯl`t:!N8F':F E8AvccN4,I',`}p!Hg;KXBF'n` -[v4ƖeH7%` 6vkt[# umaBIMPKfe ں1R'hvq E^V! *]3vr[_ִ1nk'`Hg EtPRW /!lx;X’ Hqe<˂҃LY\.@D[^)O@dg %}_;ww9E8Ut[9!2M!nˡm5)$V*y[9xY3;Ax%,<4qk\ŵO'GyUrcG<1s|09a%,A 3}ME<v%zֵuw}mpF;t o˞vd#∇bw{ޛ)'߃hW{W{x7-|o{$ t &"v;#̖9ň0#Ƿ=xie7vS QG7~(/}fЛUJQ#XAWǾ7MvW~eD;ߊkg \aO2)_뷈= @ ? ӌyꍊi. Ǩ? 蒄ۿ >Š+=oۇx$@>RF st٫==;ۅaK  c-.9#NDf+pR&KnP@sEM  ([\$ rL<ƥ#@@!!y0zѡ.ͪ.B]j/±k};㊅kDtTGA\!u{ǵEdKȀbh;]ȃ*|dȆtHxx臊xȑ+s|ȐINt{H|PɕdIt;HgəO̢ӅR, ɞN:īɢ4[aeh5P4ihǣʫäJP!ʰDl3ll|+r s࠲h\Xz! ؊}[~̀+B?0Lǰ^aЛ̪L{ Y1;ӊl4`> <±;#HJ[KPKˮl˷44,@ʐxh# LTy ̊󉅑'Z%)60,% ޴ \HJXӬ :"K3x;hY  M"i Uu 0 &*АAch 0-ȟi6_s:tR+ 83p*bx=` ȀȨMZ]u݁0 (=R)-"PRYJSAkVQ//e! !!""E%ٟ#ii'BТk 0 x24R#e#7#9+8 _ˣ=R3TK!P+-}!@-6Y L~%e8 TR V*WYm!:ꉟXV_z`a5CAR8S8DhH]a'X pvU‡r0 ZNz8愸Rf 18R鈏R{'\ 8!T`(ȌEPX!T@".iOq)<)*՛:t)`](^Sk[!*XE"4b򩪥tb(P8 r3)˘WZ9) z*3Ϻgu \eHY$,hƠP02.39{3"aȡ"3ژ'0ܨɑɩ-⍍݊z/3Fc 0}ߎ.hU,ܚ0⮈' /)Kzڑ7.T+$i-#w c̖!Xg 61#4j0:B.Y0|_2.&1Lc.d?1ϱS;]eo -o(r3ϊ7;-X\: LPMlϒ{3;б6MB 380;09|)3sd V@b-5 f({VizJiB,:e(V23Ӛ ðrjд 615ص_ _~X7 2Uh j[O8QԎ}]]XtcW4i,h ‚F!aˆ'Rh"ƌ YH$@&)ɔ)!H2gҬi&Μ:ebuݼBS[J2m)ԨRRj*֦X壗+ذbg.iִjײm-ܸr2+TNۗoP.Ċ3n1dY5cf2̘9%IТG.m4jXinݺ]ym6ܺw\ **T" V+0JD``p7K (!ẃ Dxo=)_rq7~h`JODJFPB1D0 XHDK`|!8"%[}TܧY';q Q.<(K,"Xd`DOT#<&:$QJZ&;0"I TV @T@.vddx7%uy'U2c_f4C4%g0 C  1D3C ̉':jhz-a%g5 f%H%a 1zKT`{,Y*e, 7rY3D$&X J@X@,Okz,;IF22-3fPMgI1 #s=͓3gۤEﳭ6]X\5ar +"%'/!& T@x,@8O9%Z4@P)"i8Z!X\b |rC(0 =  #JDqm;ĠH ud  b 2Xf6b=<8<ŒOAyH.+ɹ,F4" olG(DOWY \ W+@ h=؇%$9@HTqq:#?b@@,@& %*Nzzp|"6G !QX@T4XHONsA},$wf }NR2y AgMN$4yL<9pUhx%\,a3(TB,m)@N=8à" ^ K9RDBV^BKVkCT <4UDAf r )Hl s% kl Tab=H`C0 8:°%X!n9$!=wՃ Bx<>B:/%dZ*ˬ,d0$#QZ~$@bֳO5dD'vj$ '`/PV.1 <¨V2PMR)4%T˔z͐+ivp$@b r#ZX,J.`% զJìp*@k&CKz3bA xHPxEFFIH8K~F n,7b&aYQ3 !( \\`T@`P)-=bxf#Hv-OH&%hCKH\$^!x`BKHoY+,d=&F6&<BrBB-D@e9 QA^a {tψp\={VFLU:4KUIܣAR"Vb[ yrhVs|&ę}UlL='RBk;Nu'X]5<]Ui@i Du*!) `7QH𕹠K~5!TE%҂^>=@^h(%SIH̑48yAL UMW"&JԠP4K TʐPՠ$Jh`ۡ v anMT-!B+HBdc8OP؀ p̀ω !LN9H,$e#P)P "bՙ&AT@hHh˅N0 a~X@ohB їB}@TtTOijRJd &kF 6aB,DA,z,/:-&ļꄻƞG0lZPdNn을8;CѾ&-.-Ѣ=0-Vf;EZ~B)m(ٚ+-+&x'Ԃ,/m/m0Tdm0mtN.,,/-Ph)(P@jYu`GUb$n p" $\ D$®.oB0A 0+( B#B x,/6m6⎂ h)\qp XAG g/:fn0l-/0$ @o>jN0߄08n>݆&B/,C/B El0 0)Ho(@H 280!ڏl 1# H*,*G$ CEpw gPs* m" "}f.^D'D$H6' 1/ 1/>n$;.2%k&?n^'Wؒn)2)(r)BaT'r;:IJ,ײ-߲,C8+2=0C00Y2/'834m4?3T2_.O-l37w7s..6s73:l 9j3:37TDpDTϰ lEHyYZ@{ $=_DHd!RD"պ DǩƣD LĆ PHc)'@AڰPTfIt+<3=QD 'JkY'>'{[T̾H,4AI@7O4 @CR,V( g{YA%M(t#G0sL{{,Ur D[eac]c@3:/@B)8TqP5}^8|[I|iy6TG=[Fy L?ϑMSC9z|H'$~^a6SETqUX%p)kĹ,X]J&C?BWr$G=k  Z؀cT/2Q_*lp ('B8 G(&w]9 P*@eU(u"S}w4u؏Nc xǃ<+,Y#! @ @ttxJ2x =F"@%H\ p6jT}r52]9@ƴc- M uui  r%AgsA׷ P \tZ5YY!5MHpw(Nlӹ%AV"ᙋ6BDʤ "@5z؀HP8[9dB-ln1@9HR{e;I@P[CIC `A0Z犚@[L)}|55M=wGԍ۬1~sӐUi9ۄ}e|SqDT%ztHr |ٕedD 9%Aix`P!YbLDA=O ޼9йH!@|2gfcNUla-A]?ӆE© A_R54@c3.$؂-l|Ǔu~}\vrA*ycR){ 5픽Tܗm ^9C@D xhDA XH,\Œ$gD$I WD3vL!BND`ˋ2$ Cd\b%hԁ & .4G1b!"F`MQ`A 3*1rĦw3l #<$ֺ,T`aL ˈ G*P 9B3<>mdG N0Ǔ&F yH$pˀ`HɩΈ Ȅ m8HaHp.׾{w?|yѧ'eV-("[pPË$rR[n!N*B j 2(( A^X !"H9x f(ɰ 4$(4¶pʦCɄ$Ðlr3l$#f "pr!"|䡢'"0$ HB $xF0PnRB + !&xzr <>BL ړÔb47,۬P8_K!㢩B $Zqd25%NTu=±!PzMT>H, #!ⷅ 6 m 2 " BTWy{k>re (ʼn3 !G)N[_gl>@ e8ȑep@Hif`#: p#!^Kp`)_Z 2h~$!^$5-"b`Mp+$G!z* *5pG!*n!CQbkZten74 H B{Mh  / ؆xHz`\a"3%8yS,X.i#jux}@FDbSs;Ej7LNR΀I$#M!1ܞ#Ȃ`Xt#"Fyh)D q}iL$)| u(PIIgٗctSy$*%0t}GϗBn405BY":JhigC[:j9 W'vD5waK*ץCqbIH4WvQOAbVYV:O Yۄau,Xʅ,be3Z 7|p@E-^YbcBH ۊdl&!yBdZEos[In_`"vWXp%\0C.c7 nv,A2kŤp9R] i ]ˑ&xzx;r8w  v\bp9sqZb"tڋUzN`%NVP߷-S ߈9$܋nc*A=0ONQc Edl{15 ~ ]녅Yld7KQfozb4skrڢwuƮ|g=Y.rgb96t|E9Ќ#L¤}hMg}a9JҢu\E:ҦӤ9V#N2B/]g#Ȉսεg]iybõd/[fa!mm#(÷nq6ѝnuvoyϛo}n=وF5p/< ?x6`G\1~qgxAq#7yQ~r+wyarǜ3yq~s;yρBap8܁Mwӝ6SէnS}U׵]e{]gw;vl{]}7_Ŀ}{oO><yg߼;oc{?Ew[ Ϟa/׽{7| ?w}Oշ +T^y~7џ~~y} Ch@\C/@@hEo!0%p) @V ࠈ r@V N *0epimqh^m[ /.Vr 0 p "9P`] ne/ h @ ]/ ~`0/41 rr ~-115qvP.$mA15p ^O ~  Lqimq?Q} ?nԀ@H H 10 r x ב ~qwQDd `f!!2"q kN `##)q@$%$M$Qr-1%a2&er&/%C%ir'y'}(PpR(2)r))))2)r**2+r+++2,r,ɲ,,2-!Xr( >...r//r/./0 021r1S111!0'2+13252=3)/E32Is4M4Q4U354]3_3es3i3a6g6s36k7u7q8w388}.up.A 8A3:s::S:::3<:s:s<<3;Փ<=>S>=>3?s?=>@S@3> t>>tAA4AA#AB+TB/B ;Aޒ9 `DKDM4EQtEOEUEYEe4FiFmtFoFqtGuGsGyH}4HtHTHHHII4JTJtJJJJ4KTE` D 4MtMٴMM4NtNNN4OtOOO5PuP P P5Q`Aɔ@uR)R-R15S5uS9S=SANٲ"$M!U@U@UTRiMaV 5xUC5XuXXX5S-oT5LߔO@uMMUNgUQ5]u]ٵ]] `+YVn  H I @ h _@rU %5 r܀[`r MqZA @H \[bu\Ta}U؀ 3V W ^6ivii-UFU(NV~ `Vc`a €@ r@ ad`), duem Mgif6` DZ Uq6tEwtItQ^TM1V !U@lDq@   !V WU47n1e yhT0#My t[ Հ hkfSh@ p0t7~w~wRCAtYKyQucg[d$UԀ~piUbWV37q# 0 nU dKfwՔlU xcs MK}wimVL^dz8dvVv{<*W1wxc[5W5zwWwUp+ h@ume5[;pvY5o8]5uuucq Q 6R  h ؠx `3 q6lCRϛp6~艾 u l_ccXܯࢿ`'y 89`䩮v\ 1@ V`^I@>\@l \ >!?%)A \cl۶18voެ "l/^s V < a[ oUodY>s??> Ac@﫷? <@vrC;iJ?~rP! id;R!q"4F`+踱#~<ĢF ,zbGL:} 5ԩTZ5֭\z 6رd˚=+΢#ں} 7\OjJ!?a~ cH54c yA%A@9f -W`DVF|u"%1ɣaS is#!@a\°b*HIc)ԫ[=ܻ{ hQŒǩW0 Na?^1DhRrfV !) XN?\SOz`$_mJ`ToYSm󩧗dw2Hc6ވc:X^]^kD` <(bA4q$12$By)F^wPsind9XIGD[9K_fЁI XS %xێNJi^~,dr! D)mHJTT a)"7H"\ VؙjLqCŘd{%d Snwim )2 ~ ȐEvPTj E՛"vqGa0˔v,"} #TrlD3L'OKjm!Zn6ߌs:;sBMtF=Ux)H? uROM5v4u%o]Wu^ fjmvn v׍zӽ}w~ ߊ'xKWS8 aD?> ,zꪯz뮿{N{ߎ{{|O|,楂,O/}_o}o}}/~o~误~~/onOG`*p lJp/ jg۠?p$, OGTp4 oC0< q0<"*qLl.T,jqiZ0cψ4'qZ PqthB> x@"p n ! ,dH*\ȰÇ#JH- p&`A ! |rfCş@ JѣH*]ʴӧP L&F 4$$@eP>A[ALn$kI`1Ći|J˷߿ L0aL&-8 s  @0 <@,(f%@M0̺װc˞M ś H dh/ dسkνݨ:Zsu`o=e(QMM5VӉ*-wt !a|71(O'oK.:Q@WN_V^+\aL E'_!O`A@1^Λ_c Q4D"a4p $X02\3/B xS4 Z@eL~AGAy栁=qnAYa x@< p  dpw '@ψ d@yXxZBT_7 | Ul/@LD4M`JWp3.K(Cs> xg_BZPUaFP1L# @@R f| v` TR@AZ @x 8GCNrl.Ux!~Ox̆K?syR`sChT1s39>noi7AQQs<4g8s/ wPnnrS(P5š%<<4эzԣ= &R;F=~å-})La|{hIY(a%FAQ HE Ӊ;{(A iPVͪVq}<% !իVfM+5FNi(ֺժh[FXMv lZսmba*ت>@eA h #@a *0Q]J&Dx~P +я:: BFv@WZbx̨YB[[R >@9EreHCaR`ЄX"DP64+6eh{eM+l͗f|L:ۙbƙxlT hrHhF#!y1+x#LeCkuq+@:04J*Qd¨Wx+4f^B˾pGf_G';ϾD;ȬrO׾6^Qc#{ϵ!(`MnggbЪםKf+T,.l Ot1 SC"aB-0C^rI 6NFAd󦷌"R#s&P Tkpm SP#M@+j^U.f*&"%!yB p(s#w{?p#' l@! Ͷqo=D$b/YEYҏP@oj5Ý{WU~QQrpau @mVsq V' @ awFB IiQTosXi Ys@vV+OC|6I _>az @ ss # ` Y]v g IbhGz og/f_@ Ā z` W@İ ;uذ Q]7]` 3WpDn)6 tY1v)_0UI _J N;`a٘^` M0G 9@gOE3Rs@Jyjo\ .L)Pՙqن̹0i[LI M` ]@ zН j ЏIM uH@Й<>6%i)dh N@# `٘; Z49@ljKP@ 6`áVH _@ zɚ@ XݹvcɢЕ#I >wCJZ$fbIc۰ )w\ uuDUpkUlKLcÈn*0N<67y!uLqГ؀T?19sکzI5   WVS*@j f Hgrgzg*Yr諨ڭ:6(j82ZVP4YJPi,eiRH+U,5h ۀyqf]bk\vkPkxxˢhf2;4{qf7$ fUܣm&mzϗ&,.@ S|Xxjb܆&&e8kRrpګBx s Zu^4ZPp gpJ * @6(YydYGxOoWU_@KN/qlnkd3 reUxU-rG "0m@W)`k SZ T5@,O vz0GZx `3P# &bf;w"7u<[fB?b[E wmp \s{"z \{+O+z]ua~HEBpF򄽤CAHɽ4d˦_~D=0'y ]6_K _` om<ǂֿG dT+FYpPw ڽG~rH@{V姦0 ǔ$ƣƲǫrz 0'Tݗ;L??;{UF{ И]p]+LV;| t$Вh 1~HDu~' VM anZɢŦ~~%ysqpDM$1NJHFU_UؐpULz<*,u\OƛLO}Xp, ; qb Ӱ7_ -Wϧ Pőd)-a0u4`;IKצLNHuk,HLck_HWv@ \E5 pdSx Uh^x Zvw`MޔMۤ!A|V@+ w`ˆ(,OV^?:MOMXko4U\ vUe+ցd T۶k]۳qfx؟ Bͬ 0ˬxu}{ƷٯHj*֨Hڥ-h{Fٜ-RǸ.7ukк•S-.jXX@ݑz]܈XhM*݂l<ɓw P}mߝд6X-=ہQrtzF m h ^m-eAߵI[ ^@ N MᴰcBl]MuE'~jp *1 @zn PE0F4 AvQTos@ +Np@ٔGbxڔENJTɤXyq<^"Fޏ.Pi `F p qP4pEPK;ƻT.Qٚ@"0OZD55 l: $n]w͙]]G > DY O|~9#(#` 0!^~dPeN >I  +~iހ z>`j _[DRuHvaPL`@ ~p ɀ(d-gBRI# 400/0f?3)H7r[ @Jp cHP+{G:`EaD@2 F:&Yٟ& K4MF:pF@Bnr/q  - Hppʠ> )TC0D:tD0FKpQڝFW\uśW^o X0`u/M;"QL<^SÉ͜lgO`DĨ]Sڵm׶,l޽}\à Lh∣44 z'RdNݽ) LA\aToMKǟ_^%J0@3B2># 0B/NT0C 7Уo?h9ũTD1FgF 1Gwъd4xѧH#Dng'2J(ŹNJmQJѧ/3/ 2M5d3"y3N}Sp( '~4PA{RPE݇v੢|DrxJIG%TSȕTWEVYmO=G4bq.D\un]{#{L;LRS[\W\[oO&\q%V"k}Hwݝiww2b*_lo[!{{E8ʥ\lvuc\pEwQ,7(Tb Eae6]9g]($'e".c ^*H@~ܫy&9ĸpa#KF*l4iM(AH ٵqX^Ui]jI:ifxiVo/qq)q..(KR# Ԁ!d ؍/ z..Ç(DB{ƒߦKă]@Y/8 c%GLx=~opfsWk(2W5P K * $9zX(t-\A(@Aĸ@8Am&v`L4 ,ť{pqpl^'0?  hzjD& \<7XtjP% !v9PB=\MdZ+L`x%.kMy'-5  fĹܰD8EHBpd&Ճa +F7xQc HЀ9|]ȻpaN 9x #6Lȼap-0r< sH]C7ȟ̄7$491L@$B 9 *|%!$mm8ڱ_GսnvN1oz6=z7G ەK)|%.NØ+x-qZzV"R"'&& ]G]F/I_8^Qu[K~ܐê|uO:3ك^<`B"+o{'!`ݭ<+ׯzU Gf@Ks'` hyc>pz.pQ Es}I?s:Y2#@uOlĥ /e R" sg>X`Ih;* px*[s='*M@0`, ="|s.ЃЁAxD.x2xh'P 뿥+bWXC3`h0\,|S% Ё$X% (Ab1M0h8%ձ0R;p.x | =؁?܁& @C'<)$0 #,X'+ >JL*$*CfhKlMl33 @,ǡ=X8DQLQ!Ll؆GL x" D /C Z'` AP Ģ{Dk:[Rxۄ+RA+ pRĜȈx2H 'C,QQ ԽNHyh;.h ( E E,,ZZP\XθPm"dǀc8} Qo :# < }R{R MP9k z2 Xȹc<;9T0 TM] PQ%R5S[aU q PVU bUZ9+UT_`a%؃nxTXSV8g1VjETȑGm͑]op]hqs*t`Wv]vEwxErJ|W|WimnN(Bx]ȇn`6a[r։uK?i}Kjn{8Yeٔuٕ}ٖٙ%{ ٜYzY|0"689.eڥu:96uqY:Շ{p"Q[}ZZu%۴۵%aBYEOXިljQhUAW\u{WcuƅǕeܰ?NU\KK\5]%]_ܓKeu]vpQ1u{@V%QH]E^_Qv=}[^u'J]+ņI3{meue_M U_  "`-CvuiO3333{}u{` `_UhWJzy1|qS0_Ed8V/X؇y"6]i`6-`&v&nblh߄+,`q  X8b`zP1J{ b &q0{i{ Kpdb0IS+y6pDi&=&nH0 LЊ0ؗ'H/>mH̄_}ip154lQ@c@4// X0sj'fSl``e(_W0MpN A6WHdƃ  0gp0<jWtg pc+V;) ?099h@ۊfI*djd|I0l09@0D.H{0-HF=؆ aX_'p<.eԃ[iS6j]fe¹ z&0Ex.$d剐ZXv+(P3`#`ffb*vΩb#s!CWid RI&ЃKXE߉Ƞ̈́[3vSa7e?vl 1i&Hz t=d}V[64jSކQme1PlJtFcc 16DȄxbhk2>0DP>f4gp+u>g 6gȄjM0vPmkV/Uh}p4%(6r#~ɉ$vH~"c0(}!dž@v(wInӪiosLn&nP!*^ oK`m.P !IQЀ낳`fWlOg@}f7_7ZiivojبYa*Fqi2j@vġ%"Duڍ(=U8; zv/6b]fSZBjսKƌa3i'qa=vBMOғb@yLQ5ʥi813 $Z-Za /.l0Ċ3n1Ȓ';6&(h iZLq!#F *:$Q,\ƍ7a۶ osxq77lйڧOGWg :,V@Dyf̳w7- aB8eLcF NGIfBvO1 nDG - 1q`r mtghƘE (I1hbGGw҈H)-h6M&֙b4!jĀ@ŅQHc yByQ%]z%a9&!)ij1 Ȅ"SB;4›H=z7B|;p.[mu*%3H_i&4aJz#Dq4#]Eg|65 q44N@ .H.pa3s 18ak=J= h(4\ DMM8`^z1{1!|4r%~5 (_J,?݃ 66Q˱dmd2t&dB -D_rC#͍Fg -)7쳏+= *(Z5؝,U+'P8%r6&er){r'+۷NwǪoT 'u'f9t?5+҉,pH-')e' Rq mS-"K7Pˉ?B/ԐRApaqωe -r0?9 (0Lc<Gq; -s{F9nX}\lh# 9 ?c1;$"E2RpF 8|0d%//яa:ڱѓgT1]|%,c)KCe-oK]沖.)aG?e*|3Lg.hunM[rs&8Mq:<':9{#>Lu%7 yÞ'8!v@0˅2m>Q~ckD/Zшc/G? Rz!;ّ.})L]R )Nsӕt>JAӓ޴+5jOC:R2G;AҩJuVTqvV^j;T }(ZӪV~d[ֹ^׽D(V5,aW v=b;>la3Yrvl'J!vmgSck=![v}-,Zk[ƶ"!FH=q#W}.'R7X3 1rwc1!5oy;W}ozϻ^W/~;w/zכW/^0h0SE3,a_*ь&q'\貸.ޘO.qL>cYA0 L%M~r{cr)lcYåpO,w+~1ӬfΠggxsF9 '@]"| \F,^7 }/ D`UE GW QP( (21%^)B.7xba_X+B~b̤02A wbHB ,yi3 |拻$d)w}%X} ,@Bns[1O,"}s.o]R`W29HaWh|H3 T X}PwBUF Љ~“B_Uf0uk^.NAR48IJ afb6)mn@(B }|Fwp}!&@B |/*08/ K'.y԰% Z443rH - 0%׀ UPgyyheW>s ~̸nP ?p3B`A^!Px4B\ؓ1du5 Bt3F9u AyI#-#j" ) DPA y3=41"t@,B/K˽;C hi@\"&\)a2ȝ3t a, 80X@ 8,ٝa^!`<:@؀a]^< !Ơ 0]M["\$X@\ ] d "^ 0ƒQ5sB"̌$]"4O3l@Bax@BhA) W@@ "d_썟ZdADA#T#)xZ52AvB*0"4#])P@4* ]B*A'B#1*ҝ**A 8  J"\ 0*A04p#C(4\#Ё!A4@)a)CЀ, 0$ d@)**^^ DADF & @d \ j0nЁ%+dꨄ5꧆*&8^^n>@"B@^q.涡 h^L4 U]uV $^,ћ + fF a},6ЂD3€C.CPb$34(),CB|#p.CΨ$4.-DzA^hr^읹av6@akJ/0+|@Dؘ 3(h*"""BPo#(9:m0!pՅ~!AvBBA%_7[)"h ! R4q "0ЉZ@E2"h[ `D)B `9a +H^*t9'X%6jStA߆1Bw#0\$(*f*C.&z5)< ,4@!{@ d u-C@^/^  [`-yf\ ~f&\*b` _@^ rBo0vdЛYQK" -ɢ2"2 |8+=3b&dʉWN# /)/0l7B^_" 2H#4@C[ᮈA!3$x) t,bo>At滮g60ç|^oU1\1B)d0C#xK2q*q5BѹcxIAp'mc za'4!a.2`;`/V5tBb3w*|p_adyV#@BVx; ),X&pX)/'@lC;x1+×B.W+D9C'\Cb&f&<4\3g^# #V2*"r!5^ %%{ۖ{r1}_4/]/A&}-G9yg:܇ -A=A,`\CyvŽ^̹We (Y}]B|7$K\=}Y:YY=سeWo=9X/tXC@C8?\'A@24\źB_$'`X)/i_k`+"@f#=I 5U~@t3 aH]v #6 $nECO^DۘsgϟA=tiӧQ+V,ׯadž)۷q}/SWw:pΛ_>}%Яg78vޣ~oQ)ѧ?ioCbNyu $s@ /#T/#SP."$P 9A MI,D gyaa|ufqQG[w R!]$RF LRlruft+zK*2u~Q{@S9;Q{s~̇? 4{g@Ex mG!TI)K1TM95F9vM4}D53UYmUVaYi[qULFK|`GG^%em<,ŒhkͶmVnV\o qMum\xV^jd#M4ٷ_~ XQ.GHJXH!Xei0Ƙi.8ciFjAflPNYUo`&fqFfsu&gk6Z颙頡nz駥foꭹ{ⱄƆln.lKɪ[n;?[F\'jAmOl$)/ś]A @ZDf,Є&9GO] %=7;\ʪGl(vtji`4#F}^KvKXհ>/G?m߻.DdvblFQ nqKć31a lqp "YW~P"w 3a&%*X g/%ކOTgUcAk1Yjl߱MPF3CU eVHނPϻqA &`P40эKe;(: 9 ;06bwe{awJygd3=]H}_paL$K/{ vP`7ᲄD0Q<W%.v _"c$S31K%G ZzZ QP7V((q}rD.}okhe>l;}0a6C(K4‰׈lB .D@R Po-pJLpp֧qҪe$)u,Jkꮽ4 5pv&xww2x|xh+upM c>fpBfdJfqn, !e(nLH:p MN0wz~' &x'jyٰ m.a]!5dc#2q 񆈡qQ#!1'.1+Q5Q- 1v Ilv/ZY]5b>l>apyNvDGq1q1qGA1GڡV$Mġڤ1AUUU?%2 r ?% 2cLa")"-"cq#94b:a.Fr$E$b$+%_%]R&cr&ar&m&u2'y&}'&r'(('(()e2'cr**R*#B+++#ְ#,?n d".r...2/r///r00֡11!1=Ay--2-.3=3A34Es4I.1#35*3]2-5x8S.[ 4B :!7r@ L (0u |/92\'7}8R v ̠:s::! ax aV1 1 "@l@  H,L CA"@zB L1 ` , /c3 D30^S d66nS7z.A\.à 9A$=q @:4:BGπGRZ G1@ZHA)s@ $1WA' bED<` OBA-zABT.jCUOCM8,2CN3R-4EEPFHH`=i4 @a2OVA.!N"%+`p|TؠY47B r Z`0[ nZ~ ~  7] Z3L'A Z ]xU |b\, a7;  $"@ T+5 DeTJ:|4`[SvN?p@  hmUh " 2 <,,MU3*P0@"v2H,oblvH-(. ",0oo#o+BF.wPn- *V-MBo@g@. U U&a{ ( 2An x $g.] 7 n ܀ VH 6(J"(`LAnSBP4 l5 aܠr'n!Z : Va fZ Ap`=^WAK+^!Zɠ p߆ Ƞ<@Z i @iA_#! |@hw@ D3xETD x ̠",<ʶf9 6,v^df 87l6qnR!.Btx 2c@V0``Ht2`Ttt(,`z`49O.,.@ om=UxbwI~a` LU!pG9 $Zƙ @E`3\$\A$@ `%@AUUH04*1@B w8 2CU; Arr߂- 2`𕠛bBBT a[oO@A ܢp/.QKW,@]v @ !4 $A˯X|.}I 0^܌ޙ!B_It_wѕX`@; ANV`S ƘK@f\"#^-r(#Ղ21P1cTHBH2 -\*Rq8P9ŕP F것ѩQVAhf>j+הZ֕  &Egvd*^ܠȉ 2,8䅃#0̐ņEF8D &0<3Hr'LB$ @ymI@0HET  {kc  jСÒ8CCFD<yGf!eNA4ۿ?`H`L .Ƞ#'< ";CL*͐ȅ>Edp&I-sQ..DdŒ (&^"C$5 tQ80CH2҄,Ld\HT$@DE( .@B#A\BUW )N#|!S.(2q@!I3\EnyQS)ƣP("2b #AEYhH  )myT5 1`BK@00T@9cK024{EfAnK`]V ĹY0oTpiH-{E[!bHfmf=!D|d ߁&r*r43 )˨J(t b)09Kg2H1*7?s#7|M3;U f'X/ HI$H=2ל25΍RX:ӝ˄o H/I=M9Ѫ|FJ$O.2n3f3m5B#i -߀_9sL0xRJZ^Ma@(@6OJle>U6F2|iJ<=@"̧~!&}U擄!^ C:=HpNp'L20"'D>a }RQҘ dh G= VZU0E8'bhGH 3-eщj|"3RhI "3pttQآN,K^!䅂er]0}^IxB>A#/YIJǒiW~wՏAkW s xho[3! d*.lϞ h.#ΐF7&Mp1XpbJ!t2d]HgT:z#.Ч=@,KAH 0$a9ZOaJKU 60̀fyITOp>'9\K_ ӘgQEM`ST@(p3,iA-P*ԤUhGEQT*U8SԡBuU*P:TZQ*jִzUB+Y֢")w׻B|k$P y{:ȟ4@~`KejVP< 4Њv-iOԪvmk_ v%8ApcXo=*wms#ԭujww bw-yϋ`tߛ7Xw='x6N&ܺq`3%kp;| &1G8&nl,j4q#A2$<Yf,$+yLN y(KyTr(X ky\2ʲ`&yd.ldAΣUn38ytF/yQ7c> Hn@8$ AOz2w}P*V10#`2<ȁ f~ė󎚠KhGO Oah_L\ 0E@~g_|$ Ȁ$}Qnnfeeh\ D]'m PH%S@)+Ȃ-/1(3H5h79sUWy?@cEhT[IKȄMOu[ ZpYhVx[u_(cHehgikȆmoq(sHuhhHusuraH @hȈ舏(Hh@ #H Ȋ芯(Hh p8HňɨȌϘ(dX - ^T@^ x(芌츊!H ppR ?pX H@? p}@Ɋ%T0o'iȍ !xٌ8h銒p !WpgI@H =يydc}J(!p!@<gpuyPx8P wx80ؐv^8Аsi^9 ~yH ۘ9?Rp(FyT@T xlgLT@| (I tR l! Ryx8R?iɕp?@Y P8@^ЍO! -0Ypv}@} vp :) I噊b`18@^i?^Pl| sɎy)<)P@FJTJ :E* Y}0@^P 7}pYx<!F "J\ɗT`Y!p@^=*@pd*w ٍYz08ꩊ?(i8٦)TЉɜ:[Di[ )[PgP }ЮW 7ِ/z^؍d*ꪙ/ɎI? i)Lk*8( ˲ )DPD<@0$,I˫OoXڍʥ< /yLJ3iȭ뭊 iܺ hjl 鉝вhW@sz:)vybxx|Zy嚮h<@MLq[Gxz+Z \p2 tp?@% `?D3lpB0JPK櫈 4ˍXr7Px把yz`Z P ؟츷"pZ z j #;aXL` kK ;9{=C侘KMEN>^2N2A]3~4SnNgTH~e^LSRNo2~u0qv9.n臎hcP P cNn>#霾^>*N>nn^<͎ N@  ڞ9 .N.n .Hs~dn .^H'Hn> 9;? ??@oGIEMC~@Do$R 7͕) {V} gikmo< Cu_0>q/O/!8vU<}óW/OolgfO- `xo/S8w |?  puP/*w@ Wk?6Bxp d $r/O.hA_$XA .dC%. E 5nG!E$YI)UdK1]*,X)`<:%0DA%ZQ C(SQNZիInW5ZYiծe;[q=Zy/Z>%0aÉ/>XcƏ%G ˕1o9gΠ=)ٿUfݺ:رeϦ]mܹuo'N;۽=/gwE.u٫o]{w{'xѯ?^{ǧ߾ӦM @ $4PAtA #B 3pC 9԰C?qM!RTqEcEcqFkFsqG{G rHs[TrI&DH(rJ*=AI.9)a6l_B`#H_pR|85,ʼn;F$S씄^эїUBE11DB@2k@pЀ@qL QLLCTF`hT(׼ \h܄/vؽ|)m)4 HX5C;T\\AU.裔U$RqUGh'ŋD-1Fhpd[QW >Y[r C4M~Pƾ4#k)@ V^lFV\ -EdVNŖ$t b΅ )( F\`Yq4t%cԩws9X)(}GIvYh|APD$]V.p.,'xzԆ0l 11[  `C#pVb V!^b@@A\CTrA xR_NSP) X+ǣq>NAR@ ʨ0wd FDlXP 2@$;ā-"FЁizrI>@B9,A~%-sf+lq,_"Z8 MRabm"ֲZ`+@MhֈEDPL/RUW(h) Qmಅ ao|a `swvbE.p!>`*zj&H ZҴ-U@ S-4_@vN`2Bp Yle8蔭.bahA LTUHPG\O - G8A-UbŪYE0jA1! l 8CKq=tZsݱ5Im`W-paDC&CDMc%IOb`2ÈvĸXḋU Ac-7[R$.@زsV#3 \ՇWD ubӊp}t[*AaÛ$ U϶Ufb虚t5] "8'̐W^-ѪӷEDhITUd #Z(q)X  CD=?K8 /jSNy늞+з٪Y 63lq-B7V)L{&ؕbd[6y &k8X.^^\ YHH !Ika IDZ3detUXa1ZnFUh[ .$ a/}U :,RЀ04QWW4+WeȈaP"+LxFTuY/F. " ]oU{@1b cpZ.bB)Kg:L$PF#S b$eOӯH{ QR' @G\9EFla+V4 PT* wⰂ!Rng~ hą404U˚ 5W8p!9Y3Ny lVr ePRvGlOEwׂ>(w5j+K8CXyߖGXݩj0p:R3Y+4:Xl?}ywZĦAw&ݕ"82>Ʌ1(xҝf!Z@3,)V72;2\52P;?,⛆;H8mY0<9 _>M*(kB'D*K+P T,2,U%*9Nj+p B2 Z"0B߉-r*ӋB9& E D1,7ÕySPDQCB7Ti ҃C@TR\6,&mqCq-$'J#)$@3' Fa @)>, .:E C;ěBO.+QgY>!oaGE$D@aG|l d20~>~2}$H,Hd 3ȀlHd8HtHH@Ȋǂ,HԲH,ɍ4I䝓\ɔHQItI"#8|I$ tI JJ,J?SB=@ՈAS;U>SHTbbTc]Vemd}VdcVfVjuVilkVmmVnVrWsWt Wuc{ Yxyz{|Ո}%~ňEXy-Xz5X{EX@`Xp؎Xؐ@؇XX؍؎؏ِY%ٔ5ّeْՈUYuٕYQ;Q;@;YYٞZ͈٣ňڟY%ZuZڥ ZڠZ7-`|]E`vBQpl` ` ` ` ` ` `aa.aV=aVԽɀ! ,0BH*\(Ç#JȰŋ1sO=)dȓ$Q"cʜI͛8sɳϟ@ҜHCH/ދJUӧNB**իQ ׯ`ÊKٙFB<^iʝKݻv=o  L*F^zE d˔/kάShlmcL,$A\U \Ţ\z $$lE/W'lsW,RXXA~luH7̣@RG=PWMU;-=e$-إ$<6kq7sdwf=wb(nx7#K@嘏\2 5Ҁ4N騧Ssgg.%{̴oiy|_BWoX!vC j䓕3/}J.#x|4Hk%vt0  0% A{?P}DP?jbP5vL yA"\X| "F @ =+ R@ qHBA#L ꌱ=*zC̢TI L%` Lf)0Nox\aW30>O[.؁)&ҠEAiP 4Hڎ_L"z8X\T_0IMQ5YJ,bn&ӛ8InsL+%ҖT>3JSl1 č=P}:TG5jP:;S+4MJժVTMb[ W]! g䯦hMp\JWb1T!~M_*XiiMttdzv\c{ˬf7:d VucEǎp \y F@`>5 ԍB;k- *ΒͮiFU[ihF&ƃQ0ɺ.nP K 0 Jóڍh{x-ojj Aؠ7jh+[D Ii ] z$WzkJ @ؠx%[˒NE5`\h Pe8 ChL4dq0"ኇ`"!a rۺ &pu{JkmN`޼8{]p^ʍ/oϖ+ie.g"N+<głiTy \L>$~k`l?9&neVܔ6}*:ݵn 41`C9spLh#t6Mjl&D佁^{Jq RCyc/-Ⱦڊ-\@ZbpIn Z`M(dwI_bE6M٤)~4b1KZ]\ti#E*s&@ c,⸦׾m{ŏ<.~&-h^cC`L69Kf'+_GOқEY4~4KgOTN@sPOMڎj7G}8ЏO#(?17緭mW|?j$ Y~htKXxpSGuT=ŀ ؀CC eu||M  "8$X` ^o,؂.0vjwЁ&<ȃ_+#bA(E8HI^3HﷁqЃ%dް V((hPD/z%Ca8JMzRXZ:!t?x i1Ȃf܀ z }肞nx6(dA ;]@.U M-N@  `;ЉZKxZ^eH -  ehbf}؆xfr@z fdf]` zs@ Nň =`7N ĠPoxP-xinV:z @;t؅_*d`sH ȉp{7؈pޠ!ĠF_ YHlwj`gejnzD&9. Nq_o  Z bE 4@s0 mBPphHd 9fWBȏMI+I NIF 'hH ޠ ȍvؐ \` ;Ibf[pxiVzz|t__`__I _0M M`FH`K*._38hE _GM` wsI q9Đ@ i'؁ _9GI ^?ł8g JP4 (J鉈9nPxawZw tKq邺yf!z$ȍ 8@J?2~Gp9LPMZRڤhy\ڥ^` WaOfzh O0S!"{r:tZvzx--G1uŦ ⦌|Qx}g~'~6g|}7ZzG! ` :Z*AB9urSsƚȺʬκ8 jz*  *ܚy'y*:暮UMcwEuWאA^ :/ D xװu5  wSuDȱ#ԯ "K{g.Y:vLZm: @ $ Q-#c]Ub o!W- @dQPY'k#TVa g { N -d-2eK"Xu "i6- V`n0_. bY # gʶ^x@9@^P0.lm'^{)Pr2"^^ ]Qw%4[:8:泡S!Luq :KoQ{Г'Hxs~&۵;d qDPb7б=#ak*{Sg:7 ?;V:2fkJ@q ]K 7rgȱ\;_ ;f V! kCbt%P -pǻ"qL"9:k6GӅ:P?YK bO;jĀ W`ƨZK ) k>5NA!6 q0y2 & rQ`C >` b뙤KƀĦaH +S ૚+ `}>|M=S:@TȠ/&~(*,n+ H6>8^9N ޻.zDw ͐JLNP  >A΀Z.@G/: bjl mm@Atܰɍz;@ɢ݈ +[~^Yl芮n7ZN^sPw `}8 ٢/x̰訾^[.s]јΑFD8}Ǝj$s] BMH.giI~'>, 4`H2GHq` a©>< ^ўZE6ol o( Dnp^NJ"U?j^.e-`*i_x;NN,ёg1Bz;OkN-@= 1h~ ^!? `-. o>:Q8ސd@sIN_n}وUjh6Tnuƾ"!I^!.n@_Vr]ha!鴰  Hba7o? ސZ5fbV$wkn >R ̰ I LOXQXI1ͨ7Z[)]_;Έ^A~"Ͳ9]LfvÆVBbLa†ZDlLFA{1D-r43 3Rq\BM"WbQ#=}DTPEETRM>UTU"5"ʙ7ޜD W=;Qڡ%fb ga /1J]mfN +Xbƍ?^|K-GH֗/"iI8(} 7b;Q2''3_jgOGIEpeUʌ`싘S:y2]vݽU\mK&z۱/l+_۸[0\ 2t "(.3ˆ*XFYB ِj*%+jkr7eTYFhB#UTNTѨNQىAD2I%dһZeJo)JKbh!/*ܦNdAl6c/&016" P0'|`tEeTU<\pŎhH"q3TQG%Ԡ+UUWeV@SVg=Xh%Qz-QB%<̎-t"tGgU΅0BMSMwµ[o)RMWEJ 7^yw^V} W{0`&`>4Hfa^XabC/*=&G.sج_9fgW}o{G:h&ngfi:j۩:k ;l&쯵q*{|^[f;nǚ%'~o'p'<vq…;(~r 7> ggg~P'WU_][\X|wm;}-6H|K^z꯷>QQ(}WG|τ}͇_5j󌳿7@ PE'Wj4Ё`!(i,;ʳ(3 jLC;rЃ&QBvҠE @І7a Pχ?ؓHHqGDbVyS`@'&qC.Ћ^b8F1rӰ=C6<8YeEKcij* $( MP!X ^Qo"56qb!AW$.؁%@XF21(Ba=y&"d i( oÚїL_DB.AK)х491LipİLiX"-m%\ qA 6;H 7ps:pRgIVQp(\HW+\1RH% YI) B0<@P!FպA+`yXLG$k=w)6 ͂Z+s~"5.$" PpnpH.h EArPB& ָf{Vv)n#=J9@ah!@ p82c;$<-qP/AIRph@`Xb`jOCYm b"}-l#2ъֿ-0I!Ʒ44MXÃA&JV=dv]\¯xaU F^,+) tA"/H [GF[E!S" \/eJ$rk<$B]KF#c))Sk(;D"\І$m)_(Ј5X_Zb/EddFx ?dS6%&T瘱&h2b|ntCA(( Ӌ S7M*#8X"L}BjL)}4L4=m Q0-1k ʘ)L\p.Q,Q*p1sK\Z]b]لD|p3+kSNcFDz42YDK<9F3Q.Rd!] W !ug1XtTD; _"CH)Y1:sut(W/F,h %J_ 6gϟ[Q\]Eҁ*/]ng\Pwe1-T]/ž_r|;k~~ߡ]2~ wȗǽ,^T|Oh"HNχ~ϻW. cQܗsDȃ0j}W(TDS?q}99tx~ 1 a@ Aq3 Ka| ̇vvxz8$$DB%|'TB&tB)B%$,daԡB/20q7Zؒ-C9|89°c灖?@AHdOHETFdGtHItDaLф_POD`!S,EåHVU=Cm[N[\_`ab$cE_a0;MtPQjèhEtL<=ԙPofc4GdDs4\XF"xw,d@zB1Ťذk GE:AoqZ džErEUVPGtDE_Ȋ FvwǑt'z+HI?3kȿXf<Hnotȡ],ąRPW`WHcH[HblG%Z0\ b'@.d4mI:{heH3.\4J\NpI ;Ec^hjąZxbʬM1ɱJKd8$1J8@46B`W@jeUxRNdlǟםU DEIⲻvO)jڧVKZ9ȡ4fЄ&hF F6{Zl98m}HVFY.ǍtVd_aMj=a.4WRx4źd'@hQtcJEE3jaLAِ8R@#}|$Sk`I3A1'(益EfFvdxљHIJn{R(VMdO.M8ON.eM>ePFeR.a@wyXYZ[\]^ez)a&3&n QцGVxhj$qp{ogt r6r^sFtFgsfgr~uVvk{|g}ޅ}{J灆JhF蘑fV?^qi^ĝɇn葾?dxh~^ifvn陶iFi难i&jև"Favꦆ꧖Fj{\vy빉뵆뺖k뼶!."i6FIlV}iuɦȶɾlu8}m&mnQ.fmK({p6>?`ؕƥfvfBnZxNUNvooFoVoU@h b pVWX * q o]0>3Wgq{qGn`Pq jA#WrI?s i@* *ex=-ZH%273G4W5g6w2 m9s: , BD&q8GtQt/KLwMtL PPQvڢ_{gsYsZs[&\]4rX`uauaq!*o!ewzv>JP !8k/vԕIA6N9Kh!n(4Q #"d5\! A܅lش@/8%-N`bIEMnӝC|DQIz E05%a9&e钋\qBex"5-\q%췡Xd'}Zqц ame1Q[q\I)=;Bisp+3\Dq%PgY m([D+!W܀J=\T,UxqJgP\4.PX]^F6ur3d)q]G[ Izh!RH4mO]Cl!Fw ݢEI9]db 'df2)>2 +]qq`e>.%G S@aȕg V)ctrH @A/юk@[Ѣ)Ha/B2m]i\ 8N bm{_GIA*Hu Db1FLmIc4Mc)# KRa^3pxpHh1'd'Mv;QƏ+"e| faX > -2 5֩B3 A5E)rt4i! Pi<}bz82@p \Ǡ(e>%xn.ʁiNw(vU*\`d,L /~h\L"8#\b %^+ Lsi~z%E~ ^#f1oPJjKZ| (,Al"_BܹLlChZm9ꖶ-py+usM PCymzZ`>)T: KR]V5fkm0tL6ގVW~ Pa4\QY(ZC#l0W`Q8(Oy:X]|:0((Er!FʬiЂ]D ub!; +&k*|+ܑ N [Lb.К`dc +ވ A -F*!qYFK&X1 o)dYosےYm o 򙃅Fa @17¶lw\nB @  1}5@jLFp10&B/rU3S4&ԀPTn'sGj6Bqb@^X048_.ܕ+鉃&8hY1C͑U͔ALŁJ0 /*_LI6)JUyi` N ԈNA^zydR9`tl v0YvE;  eEѻt,m-7X8 lhE;#iFJZ͡˦bNԓ96u@kt)AW`;Z֚ Ѐ 8LMh389bG 1au}AxO+냩:#o p@# [;WKw(_8jYN;:Q}_6IL\$,mh"JDƯ,3z37L'6S{!%tSHW0Klvqxڧ [dȣ`&B`H]̝ܝ [^1K| iX|K{ՠiFP'i 0)m,Gsp6m_r R .dX,! + gpEQ %TA`ߋMCT`qx2=4"lӟP PIF&3^$4>3 4Zt(+8dI$KKdIzɨ\$-MNdNdO P"@%QeQQePdS$Td,Cd]eeV^eHqKZXzJz"L*TC5l![[%\ƥ\%]֥]h%__2Ș a&aa.ff(^e% 0TIe~&eC4&i4N>sF'tNgs"@?u>\vrv^wbgww'yx'sgvn&|ʦ|'|l'l'&gl '}'gj=(gq6>(FN(V&>&nhrv(Φ>C;Xjmj(~(>`hި.((54>"&&>*F'NC>Ѓn*v~j?hf**j꟞j**Â;p*fi=j86+'J+NVk\k&8Y$xB(dŷ~++k+Vk(+F`k'뺆Bk++v†k,kk",kF,NV,^,kƲ+R~lǂȆ,Ɏɖl'k'Bʶlʲʬl,Ķ+ʞ,B,2"x'l ---&m.=І:-^>m m;Bʆ؎-ٖٞm؆ϐ۾-ܖ5H$m-.-z=C3d6"3DV4n@.fN>Zf.Rv.ݒ.ꆮ22C.֮.n.n/"Ʈ&.>N/:'B/lo/~////9d54֯//3,NŅ0[Fx2 .7mFpm^.n`pfc~zn璏z ;.6/ K 0 0װˮ00.# O*\'>1/$$F?qo1߯'sCw܊q)Oߺ1O3m(C.,CpjVp l2HB1z5C A쪰*8HB304¨X0f@A.$$Ύ)0&"#1V%+@ /o@An]1+TJACt 0( 2q A 3K0s*/5 B B2A .)x2-װbHA8wo0v H+8tBo/AK$ 4fq4HےMpܚxB4Lq1\p$oH; h.@,07OgpB23 (n0lOc.%)B'B k.3.83$@"@*up3.RCA#56U7B@#(p:n91"(_ˮ20t'<3!1=+3<6_4 xs]:tB<3#p*5PSoJsl<.0 u_ 1p63,@A$Eo@C?J4#E_tro4GG4xsH) }Jm)ރ'm;w@\ @#,*2P)B'@N@#ʱ5Ln'N148)4C܀$P*3w *1"$2 Ѐ*$B  /s\NHV6"B\ HA#/+)` #p,+NI*g323d634B !5!k\23 ز$,#"h02hoS 1'B4B3($xH1wȮOX=yDW6Bl9)x,rHdP[@A$h62$;#0 0Yu3\C 24é9#`z XO4Ont7@dZ7m34Ch8wj63t#wX@9TȻB0dAw&PquKKh B)X","@@B.F3~wHCCT;/&}¾N#&A&( Edz"16[SA8K A +܅!4 !AwB^7I]$6OwpAH+4A4 ۗ"Ѐt2B74c23d* #B&(!(¨8sA//@$=0mcFtBAù@P8PBA#HAs QA+_/ ܀+pO>O1a;:@,ኟ(- ]U0[1e\H$D67r1m.޸熔Ff\DsEe"4jŪU Ijƌh''TR"L(7.i3Аs3R-1q"D!-kdxuO7nZ(CتcDh @lFD eʓ_y WIi)@`BC!rZՂ !:5xq5 lp8JQ&HBPiM0!r}Wߋ\fǗ,C]кjR pm@LPApA !3! @ ǎHqeL`I  hΈRxO9Fx!*Urˀ,hTM4`HRV!4p4+C %pG[8HK9I^9#HBQML U:`ÐVH )[ PpSZxɇN:2 \/A`=2nq ?0DO)[0U^YO 昒_  'b!/;&iI=_FNY(&VF!L`1hdFF!@pcPu(t :1b."B|_3,E,.A> p`ĨDV3qV6v*aDYưB,\f0"Œj] (b7띂)@fxnnW\S"D햡 EA2(qi H43xD!XP=S|@h3< V , +B`3 WB`QliFS1-v8`ǝa!N/"-g0[q6Q6渀2Dn"1"6HP%zI.@XH'Q.P0Qd 5 ]rĠA 32! ZdHRG {$dVD;7(f ^o<F$ ^oHȅ:RC@(T_RQE*D!}bS(1dM`^'B* [Vaì"^"#E*PCRBRĜA( 043H!b>8Mm $]a<Nbm*&Z\qVb÷¥04/$hUOJ&퍫.(ʿfiaeJ%AvRxVeP3flXŘvH˴6)fd(2OiGIʡ30Z/|ˮ<'(1a]/;-)<(9-F0" ;L. \ +"S>30*ź{a]W0#>dމ7(OS`060A it(CӸGAKo^=FBh]m U b)tV ~&!7žZ~Au h0y 7 /DIӨ ;1sp QRDNVTQ4 .5MpI;] ".RԈ E@*-1`ijftoV^ : 7 L3P`p gK!ArmmRpRJ/0&UVF~$(B_u^EhZ:y4AҚB8u^1)G)jkI n"U0DԂh;F8̏gڛ|C)ߗݛ$|o;Pհ0WX F0$=+3Q73ճ3 ^q(v3mg4&B '$Nq(v"HN1/paہ)h9c\r,A&`bї{d H+P_|U QRc|EjA|;hqxGP5.WdK+tOz(_UUIJф13b?x v)fv2*Q@ M@ WajjPȅ($$&CA bG-xĠ|rOۊ (`F v1Z QpE#SP@1B-Z v@o2"hO/RM{=3s9s<%a#Ca82mNNƴ>lR*uA*;A{=x+$P6D9BdDxOxoHd|HZtxgdx2 2@R v@GA@IyG@~xtPG?HA5c'5; eWԔf = `(f:aƔ3_Nb$NϔxC' ڔPY@2԰NȈ2A !*:N/2###=oroX8.V#U_U=`5WS5WK=" }@XF QCDZ5uDm˲C $FqFqnFGu/t3gt3H~$jPJkIT_yF}IȠSF!UHٕ]H_`SKL9Nu3R~g$Ou`9CQ3ubA&Q'I  )1(R!fO֏,op6:SdyδV.C*܀!1QAM=u3=)j6jsVjWCV*aS*BUA1mvmٶm]AD$nDnvnIndo!9dpdpIp oUaIq Awq-I$qr-@J-s#$ 7rq?ITtn $oI2nQpE7vGsg7varmv=twv_wpuWvws!t7ywG7yy!{6z7{w{{7r{ɷ|ɗ4w}ٷ}}lD~7W@@8础A`ail50~=A:8?xZ硄MQ8SXUM؃]8exiXYq8]ugQX؆XOxaЁ8x'x|x]`X=x8؍鸎8и@a>x Y 9!9%y)-195y/y9aaF9Mx]a9eyiٕa xF!sFPyٗ EqG9ٛ9y9yϹٝ-!@@ٞyyz  :zZ!#%)':-zACzEIM 9,a4!4ceig:mZo:зk:z~Az:Z:D0uz/a dZz@ĺAڮ纯Z ۯ: ;z[z!%';#)۲3+;5GM7۳E[QA۱[{C][ck'{:{@t!l{p=تɛ;ۼ!D.AC{=$4Zı@:线|њ <d D/Z5ܲC3a9{O\Q\[ܴ_U\G|KX9 4 TZ&DF@W۪oιa@@5 4Zc-_:қ(]@@],AĝEI]O=ZϾߞÕ<گ~yŕڅ|ڱM~ ڹ=W) ܽ!5@{| ۾,a4 !0m @`b˿!$MG l @  .n$/ <' XuY]>AC!;CbCxCЋ(2U3D&aŒ7ye-h6+JpbƍhhGEzi`A(SNfeL0%ּ 3E6wΜ3'P:q4hңJm5ͨ1,JէSX"]5ԭEًgɛZJNҪ}eZbBzRiظa…ysSځ7ZDͰhь5cW Z8^ &dNq: Fvc3[I)wؑ4iҫSn=k.ajwQ.\|YNLF}jS B,DA;ta6@ -ѵs#GaJF4I,L%BSAetUTyU`5#/XT9袍c#W=Pdd>nmÖ[~u\u^ BmM&yc%i2cI-ff 1M5j6V#oq" ۟v ".Q\gJH1q% v ivMswmQs^y`1ĴpCac~]6KCySeI@Qaхrza.-I?+I"\ǩIowܐ:zf  -ke5!zC, *:BiYh%D)¢uI"G9wq\ T EfA b'/r7E - c bdf4b_씻Ud(cfV+5-3=!zի&bZ St0 !`P*pCrA Js0 _DZa,HZ]hB.n VK@ FYIrhrLdKJ.j Ox8[k1ʜDE/Ћ%Ѷ̡ aR ɏiE8PFt98a EQ4xRU(Ch WtPk`"LqF8 N=0-|sS4;yҞ9m 5W^ yAE@ nI(b")JgI m$.{re*B^" }"b:Ř7>7+[=gjU™Z/=t. 4;x6Hmp#9^י;\6ǣC hQ+D,c5$d Ɵ%th(Fq:roSU }low,w~/+~oK~򔯼/yğ|?/>Hozԫ>q_=1~o{ٛC wG>{݋o+)|<9ίk/ώxP??~~G>(HhwwFЀ(p@!H (%H "b+, ./؂24)X8x36=<(98)9 "h8 (KY[XZ؅\b^`cghiXk(lHmo(htHKt}/ +臃~x0 P Ȉ舍(H `P3pG |#hgVxE(Hhȋ苿(H P  Ȍ( F(pGFWHh爎騎X̀8( rw( ` !a(Њ` `q  @&ъrE)!) ">@In0)-@ 7PVD㋃n'6 ? (#ِ>iEg PI) PxRIP,EؓxW xa)bpLɎwÈx   _F3plxHp *)r =a`b > i 4!IˠّKyWp - 7x~x ;PK@ ģ ;`v @iiEg _ aː[yE 9y0atf E Җ8bejx ?()vW_E<ˠ -URI@p. yE puO#8`aYW>` 7pV - p S 9pz |Z7GT Q`bRp. qp M qЦ-`I7p{ڧO Qx. "@_ aR~- "  А~МZ.V_%WYv9 YZ 8'̠ij' p< 9p p9! >  Oۚhx`]@Pħx {@.sm`a oۮW _WĚ4x{yRT@PYP3@M`\@XRmPɩ|b n]A Cd t( В\$(PK"m0 2"pf@y4ӚMq K POj(>jE]`{˞ ~d М~ sWRf R iX~bp mPˤrad\|T *͌qpଏnк zaпuTZWt&<{ tp̪ ֊Nz>k3<= Wb; M7 =,P!`ʠW|et>PL[ Sv! @>Jp NQ maHw NUE| ,0) \ǫjP@T ⹕T;0 `VF m sV` :)J> P? }o \@f A 0ze3 s}ЙVL<  Ҧ"6n| )`\bڽ naOy 9@ A Z>a & 중pP/&Im;QY {fАv0YeI]{-p2;p əW2*}7snJmҲJۀ]G;EIIv? %f@3\V,ڼЙѨ ~@;@P@P ǰ z~pWpeyْc]Ť9Pͽ!vPЦg 00x܌X 3mzq0̀0Вe#N \pIxګi.-@a bO@ʀd @ۏB`lmۯϳw а0 >!ЯkUmEk Į )p ގ<xv0"+R-43Ł2D p@&aiڡL7hČYLq"40UNt1T+k̖ŹAG. | L7pB0EѪfgkj*SFUȸC>lfc̀ %UqZ(rG#3.JhN-~(cɪUQnCձN\`v2.dJo'^q vX`7V1jсyg WybĈ^ _}||HQ2 URfPVjF \# f" AX2\ 8D\Q M8TA@ A(pN1nBk!  EBgBc2inT DTYC\b$i#3NHH()9f2MBpfaG(Vr& F:)4q :JjC]pfZhaG1Fa&F:&Լ@2LõTb2Uy #Y 2N ib@1ViT!I9F?eB9P_`1 :p]PVXVX^yr%gUDDMq1HSӨ$jVAcCyd;iBnSZ(5h`sa^$eFLFzAexF'sihd0Hj暩[_zBO;P:9EBUVOqPҚNUxYPQ7PœQ괓d8HƘSN<RWyYftkUpI;NQN;Aض ? UAp]}8&#}Վ6+CYk7F@73l]k$\w΁YP6ծ$=Ɵ:e"~ *2{5:nz35*mfB{ NjM-pJv8FO&=f%xv ]LC$bCj=F#Oi $RzZ y"8AjA 9-o$YH6)ʨOxY}IX g(ܷVYa/-Xp 2@o U]i4`?DAZS)TJop8R(#TNxG9Pܓg? ҍ` 4( {dh0P'8u%J1R d+5U6Clֆ Ԥ} K O0xFX3+fphv Q$ *oқLt$PDUՠӟc%kY>mQ)gUmF1 Mvk_}ׇny_Wpkc XnOc36ZXfֲ,i˷'LZG -[evv-n}Z naVWq6Wҥn{[VwnwWnxˋD.h\z^׽/}{bX#j<_p |`'X f0_?Xp-|a gXp=aX#&qM|b X;ZbǸ2k4vwG^2{-K=-0ð#@p~'zG}V_sA" Se;!z8G_H}!jT+%Wگi\io~ݿp_gޗyc) =  P3ڿe`38{?|v? @>@ Mہ(D80!I "`a?lAT0 A<7( {A3pTƫ"{A%\œA'|§OF"A ʢP(Y|B; D[?CC\BJDE\DFlDG|DHDIDJDKDLDMDNHD EQER,EShƌILI2˘L,)ĜMڬMT̥,ǔL9)́ `MK -`I 0MN5` IM `8VNM8 > 0O) IL(NٌMy dHKDEK<`\OۼP ЗMdK %L,t̡Mu@>P,KH 9+$INNH)\yd eKKHKdE`БRHOHM-]K6NHNDM S>Prād1N;QLɂ,HQ\TʄK2&KV(-8!E!H+lM>PR2ǹO4UddHPVJ(K0ӔdK1pPSPSlVlF\ hVTITHޤTvm7)K}KͲ,0OV0Wx(T}>HXY}5OIKPջ>HWqHMddQxfMUV,K&MkV٥$YoYCe\TJU]җv=v>@K*QP~M?8 Α,hڑK(LЂͽUhW TN,ԑPӔt3Ͳ4MI8]d8N(gPK)MQ8N-tLӼ[rMһ$\ޗ4ae]ɻTL͓\έ_;u ])=ONӄYU \ ݑEIPߖ%< )̆KnS^-NeBxZ_aVw V}Ζ<QѻP\WMb;bG,ߒdZ{GXNO,恖X |I,R3%Qyb0Gcoc\ۓtVc}DM`+^+VI|c,&T%n䤌b'nI=f$K>ɾc)P>eИd8SYDbGneBJO }IP\[aPBeaSõI}\LW^f7c{t#zf(cgfk,fnnfmfpkmqFguNgv^gwngx~gygzg{ftvfno.$fhyFpxpFgthtph8hFhhtxhhphinƃh.iF&i>i6i霾iijjj.j&j>NjF{V钶j#hV0u kk.k>kNkFs`)k(iV뒤빞kRpθk.)"6l:lI8l4뻆RVlˆl̾lɦlWllfĖNmfm&mՖ.mmپ^mmm'>ʎl>MXŷv`@^n@^Χ^n'~'{^Ho^*bIo槤'Ι9poNo^onopp'Fp>ppp^/qWqqq'>+Nq'7pq_q"f^%r,&o-or-_#,gq..72Os0p6s8s9s:s;s<5s4:G(tsB/tC?tDOtE_tFotGt-\nAt*tLtMtNtOt:tKuS?uTOuU_LtJ'uKguYuZu[7uQu]/[u_u`,OW(vdOve_vN7Ccufvivjsbgjvnvelvowr/Twulc7wvowwwtpWuwzw{kwqw~~wv}*x:xGxOx_xWxoxxxxxgxRtxf1_yoyyyyyyyyyyJwfDOz_zWzozzzzzzz{?{O_{g{o{7{V.zfM{{|'|/|?|7|O_|Ǐ|ȟǯ|ɷ|ʿ|||ϧ||,vWZ8}O}_}o}}؏}ٟ}گ}ۿ}}}}\~d,~O~_~o~~շV }_6 I\ӏ\@֏M?}_X\x֟#)U.)T"Lp!Æ.%"/b̨q#ǎ?b̕&OLr%˖._Œ)s&͚6o̩sJ } Ip(G^|6bB!<+ qrAθ@\0׫Wͫw/߾ m'†#Nxqb ?z"AriEH΄JY`dHjBǒ6-E¢RBh‹$*7p% 4b+WX I/<@]  b)pJ^~ 01? _  !9'-^ pp+-w痆r!H"Ę#X'& gHrF 4ƒep !A8+pbl-rT,9*&TUGgdƅ8WWrb$lP*@sQFXr`]Uh#dB/"^0 ^n@WtH-xQK]nPIeyz`(ZX^ "",&4\Au^ F JQP/kT0RHe*q!. +hu8Rfw1i1»TpnR)uHƴ0-&l&FLV-IqRܲXR3\ͱ.Gp !ppq@A n e.8!Pk-悝##uQV1PHUHӵbH;!Wڸ&ۧ@E*V-R~e  #.xш!"9[x/' !b"&$ꫳ.g`>&H IƯ B+R+Rv aT5,ɸͿhj4 `loTmR@{-`XJ)Jk-X+FQ70U>ޕ=h9$b:u"abV0pb\Y! 2 ^j1^/J( c5I؅wF(D }($'nʡ\,n$1r+XPp1 qd kQ 1u$$%*ة0pVHQށ4pBM[ rsfIA .[P@" =P.$f)[9N+VJ@dHKnL,'B3C(R$.G!] HDUP1A iBD P '9$C Ȍ(Em≍A+Xhp Vc^&6',`EI! 0rJC…WbxBD۽($Qt`@-&QԝdDV1V)=efIՒtOD)㱋U+㲃$ǴP5dE׿mrE'@a ]rA)Hc#@,P*HgU{ 9+*(&^ˈd]X.^+`Hޅ!`Nx0-a)>[lbB"0K_a8*1yAL#8C'!%R2+c12/9b3l39j^379r,9$F5 ?G#3\hC#ЊN4?#zЀ^4'hFW:Ә޴hK ӜKMS:ը^[h$5g=kAϺuK;;6mc#;wòleC;Ҟ6jc;6l%FPnrp@w{%PɼoVx;ߌu<+20#< _bҝkC<8+nc< <"YGn<光D<K/{koJ0o>QNV !F!n~jr!F! " (a*,b  a "b"":# B$RbVb&j" #&b(%()*'b,&,-*.b//v\@! ,Cr`H*\ȰÇ#"2u"J&14Ō)ͻߍiƢŅgsZ,D3L.@lVV-flO-EjЦyG&d:!0V ymg& \5Mf4(;$rAPwݩۂ$h(v^lŭ&4*DF'a0P{&$`wDidy !|hBe ֆ)x`)\+Et7 -WZӤ5J">lR9 B?嘀*0% P(b1B2CJ"Mےb3A*ꨤ:QE^ d@r.D"gQ]%Xmh&eϸ~%!LC%ց̶̖e覫_| m|q9l5Cְ,0e'Aeam,WVEpK },PPR7D+ͣ<ݬsA:|PݳD 0'&uJ;#R[To]X_@FWsm>N1lN=mhgBs4x_2%i0[ $ 5TxJ48 E#N4+W.Z睧ꪷ?E j2{:ҵ/|(؉F,*o.WSf\b4хf` .ַx1>QDM҄C|!Ɔ 4~7#H(N ] ԍ!7`uB,(.8!fF<=oCd-|5ʇ cxADA $$XPu\ Dj \L5ф8Hc_p $죢񊟓%61q8 WbaHF:$@IJBp@ I(u|(G)zK%"ݨ8ҐA.L(n]=%0 CLfkY+3ؼ7BxIΤ9ZAN͝|<Ƶ|΀J6j-{Oqds;hB:6 QcC)D&سьv({Bёj,& +MHSNd''T=)A*/:΅҈D<`T]@LiJ^69Q!z5]?bcp/&4Bci@ 5M/'jl>3RPQ|@ l;CA )EVXWA.\¬\0FixȄF[A3d 'jUdfe IArJ(]pA&N.:V}֬p:Fl2NFQƍ*Uk_?4؁a W=3d^VS*^U+ 2yAnY!JN[9xH0wR>7B m{ _!SE1qR*i. cbhsA †˰2l%$D':Vs?  Kp!ei~A@TE4-`xp)WϠ.fؿAlE D_h]V 򢌁8ia |Q])e9F8"`hv`s 55h($|=\.`,$8o HLYR9GϨG=c$c|"{yVW=5=>| @0f=Z+#i@jjO dUAvŃe!9L;`l]\bvK>MIbF@x%%LS&Aqh#w{6mvMr} }8@[gO;Ϡ<Ā7O~opC8cL j׊e ݣ7~ h2~1~ = hjwn~V= sVVt P1H;h#7cF @ P {~x,x6@ k>\N ;z _@sD[]jC Ѓ[(Ѓ TxH1H}ׄ_](f_@ Ā z` Q p {Nexh~8j'؁p_Z1(le;@ |co/ks` @ _` ހD^' q`;csX8NEK P'xH8渇|臼$K(Ȉhmॉf=QX~e$p -@v=Sex hg N@ ܰ 0)0IIx Y{->x H VUDٔwᎿȑm؈Ռ (N D@ 19~ܐ]~/ a0@H S{?ꗋN9A _@ L_>`(q``ɑc4JF>s 1ШĈB YAN@ǔ@ MȄwQi{גLI I~Qhc v9@ 7 (hXTIPsF)rYI1igyHu|Ijykh<7:h쩄ȈLjC(z'$ y~_ v+6@6F TFL63sy8O7O$(^zV04dMsNQ#6S55oTKyצpNTƦWmpPä31zx~\4_ c`:*JzMJ= 7J1Q|J-pp8a} y*:a` /18gH^jH:36f9CVpTEf8@ 7u 9 Zⱎ-85( ` 浑u:J3 5[:cTXĐ;̷]qx-y JUu!fYmGa e$vƣUdg{JAMtv{2 q%250sP>G{cGP{T]VK i Xlz e]g+1 _+]]sؠ;K۷Ѿ2wP> 5&Wϋ*GdP5@pi΅~кvk}eh4 tk{Js[0 k=z 4ռKkebE BPh #f; h{6 1ٱ@K\ {½ɻJsU+_вE-IcGDhUkm :g \  .̻P~]Ш]8Il z;P^;Xjcȃ\֕3~HRmg d`Q1N^d(1~Үܨ040kİ?[k]M c4x0 tjM,^>, N y m0.b|gBǍ_ R28N;XDXjiuþZxTh N.a 8bDJ?~L < M@ KVߜ\T``.gZV1D_;룱 a   p.G N Dےd8T)%1i5Y~\PE`VAMPhc>@x]` >D@ TA 8L!ZF e\)cL2X\ĘQF=~RH%MDRJS1M3;.Zj .(Fi;nܤD &یI]~6c%-#6j--&.pi)QM`^btmKmڽP!%>nv PQled ev0Y5][l3m4"&NJ_.broF/ikXM =?fٳ_5ZZl2+X#V}݋ {LN:FXhf:A@N f`'<?1DOĚÈZn8ZoĒ٦f¬JF$ȑ2k>l ' m#jpK)պ,Ć. E"M'|@(I?pae.bf.N 7dH?4PJ-pHf$e4RW< T7\pasZsEZbei蹌y^{ewGKBH7j%8bлy.j)Xa?VxݘA9eWGx Ȟn)#ZCIVq6~~|vgއ;9j%%#J'zhΧ鰳N:I:x)K)橃IJd.A@p /|Wqo|ӻ{vL5<=I>ˆ zx멩KA{C,x|]#t0Lh7zᩧ^x}=~x?<+,C7Ŵ6k 2^@ V%;8uDBKOo$A z ȝ(3%Ї|@]@%q   _xH'k OT/("yh(@8 . A>Gi& T bPM=\B^<"IHuo PkKЄG{!"[HZ51#;HolBڀKhb0]|Ђ~~Xa匀xp bw1\i`w%\AS䋸 Pjl6\E I,QӠĠn.R=4/#!L?Gy1a g>s+4AN/.zтL8 Z`"tgN9ɽ#pA Pr/ >(=g9R,\@`Dlh?M@6<%!_@j]!}PBni^'Dx6Ј %bNQp;+ؘT-Ԭ58oyELA StX`v`zT!!aY!;N QH4 GvdZ@-U _Pr @I&.6Jj1Z~`c3oAVgXQ+M/N,IZ9AQ"`9}E~ӧQS" 4@s!XV\QYBT c:"zMԆn |am0ĂԠD [K$0fX"7|@  c.G*$v}@ c -ջ"4;S ; (=dU1AB vY,UhEhb4q~ORV]@@ Q!_IKlPϧS*8PF2"]_4*fW2xGR+RT_К+\4ҙ޳ vY \qqLpTE nB_F_\lv6}.KTqpųG<9HnuX>zߐ07 "HSNJ,q$kD22xݳ9#( b(>Tz+F]\yca~Ā!1XOfmBY8,9IQ#X?wH;>2|h-Z|P{W$"zKtf!ч8h00{x<L>H/H b-G4t—>$+H1#o=bF2= aϾh;Aky>Lׯ߱|zsIg2kAZھ4! gk?6id="0_X9P{XMt@@Q?cYLԈȔTn0ѿĈQ8 feM_H\hXB%TB\r+܈/ R#X༏}+=\"$ )B&B,CxWr ,C-@@ĆXZ2$<t:4,B$DI7d$tNDNLB\9B-0PCACN?/T,,R3 a5̅\` MxxC)XgEQ,R@ XWb8.$DC1TĸCt  kheڪ0G`Fb$XNp* IxaF *ƇFjŪ1 .Pb#ZqZ'. [0ERgj&Yw|Q{(1cgs~g~vQ{C!s3nKQތhhXhQ [ň.iV&igh *`lɄbОt ÷xƷ꧖ꨦ:jE{8FnA.>fvk7|ckf^~~$S4˄"nXL}b˾>EO1Rxml'צ} ̶ˎq9N.2MžKh{P2Ag0PaN垆g` hnnnVnFdYq8!멞˟)Ů$Ȇlɦlml ({Apm9P6v8  ):mdvJ0j.8BxK&5&BW[ܒcm'o`.#"",H!K.x+^( .`Q6rmZЪ7npZعb L*剂9z5 O$(1p#99!pW#b H' W0 |!q."n6lKp'z5Sx<q\uJl.0"'؏!@*-öɄ&H}+($J<8K17J62׈YrȦ'=P &Za#R%<`.`2d-آ-lVn2Vbi0Wc_שlsÃLwPڋd1aq_g sqmJR azt0z&„gy'CRn⮞t˖#[˾OobL@,JR'qC8K3{vbRRE'0Jq^zen<3{.l*X9&#:~{h&g.&#z|'F:"-/rk2v1*sr8l;Rp_y'5{`CBTW@(-  LY/&3~FB@MR;aCiUgٴLM(M 3.uTAL.$lri cD@^(Ըhcx J (P\TSdNX_i%<;tĴժF͕>#g~TјD lGP.%ʼnXs~%Z۸y[BnܰuفMse(F"G hb B).4M35yS$?=c .4 QܰSjU;XQA QXt ;AlgZpe]]49Hf.C4uGdGBifqu6cbbYK"`+J++ o%b(>"x}Zkݙ݇itQ`M; \\./=t4`OԀJ&d)`d\LƤD EEDXD~B)qg_ eA+?tI;6¤Q"d )PA4EvP%19Yt1G1 Ba ٝTTlZӘyZrI>$|^(~ 4cO4+R餍/5xOi|ܬ z|FڭS\-ڒ}>襇~:詷蚩@,\@3l3ϴ Sܹdw~eϹ(k=k4q;AP-3M@Ct%qJCC20.ф8hk6]$#MM .h\,h{XL}'3eX :x&i5dm;D`ԭl(>}iFb"b8ll#4Sʘa\#hA llQհ99jv#5sG= 닟=^@"l a"Ilu^zA4X.ہ)'QNG{xL`ÄLE,.Y c avXS@h 0{nF9b9f+^G]"!Ҝ餕mI6 G@8gHD$D>PPjSaA,\19MB"y a &ej@ xXqpXT31L R$P%̭6Oaf#R]!^Nx~Z!X)0h%V!-h.41aD!{k xI#_zX @e ~I3Ha ϰKoC 1:Ql [M!hA3E( ҄S$Kc2-F,LHS өNDBN5s`@~ 6g Ych ;L;W'N<PPhEZ.`Aԫi1&Dz] Fԅ yd0ф b <+>}>fΎ16 /Hy^8*mq\ы)1@;'ccS~/&;1` kK X '{ / sO&BM6LP"ٍ5S8a12&/h| Nj hBd(CA2<2jF؂wb5Oqp*oz>Q/!fB3%:Ld"Pc&.a NqKWrͨӎ6lCFR9%e鈐t{HFB j?ҠHbhu{ l"%:ё*00al+$8LD".ihaD#7X=sC2ᬆ?(,V8/Q,m!=N|I*j\XxG}R'q Sn_ #Zd+@.!eSSr>a}WrE߼.!@7CI>gyWIy ! ֹ.y7EڡC6R,b+FB`uKI =*2ŐIt/uv҈E9+ƴ7VƻО ٻAnHw h+str]J;r=\ѯ݋?֡Lh~0y{K7-AL@$Y5IP^L[ ` b_ `B \%C7,YG_$e2(8C;( 1UjB1GjU:K5T B@`K!SSKMCn4!SxaKSaa:]TLVK""%\>̃8>L!%>C7 @?C?p>C(("))>$D("$~*vK"'Nb%&'",bB*'+~b?D-R"%#>"CB!^"+*f82:#767=D]/5m/^6.#)m7c7"49#>Z>u+C8N!= d>C>C;ăV?CB8$C"@CDC#EJAJY8FFdAvF?*CJ4F$CLdB$C҃EJMD>L$uNdP^MPM&Gv$;#GfRu SRT$Vf%V=8.$LXe>`(= 2[fa$B'(BBt]\&^2E_%`Dq%Sa^\6&b>cF&dNdV&e^ef&fKvb4&%hX)i`fffdFZ& 'l'mN'܃(mfm&ppgp'&n.r*m:C8\N'uVt6&^ǸdB0L12<' 1y"3Dz2yY1ȧ{D}|Ez&|y'gD~(}(.6h>(BF(g&|bݧg1{|(B;VB/$t&KШ(Ĩh/=@CJR3$.)**h'ӱC1|'x/d]$'S(uܧKx)F.'N(J){i)ީijuxV| (6*}艞(8/؏R/بƨ.܃2i$5.*vh1N!|*)*h^1@tg"*0#B|250@E5B5B T k*3H,0 ()ik2C$h0*)v *p2Hµf+h@A (3pN{B2H)@+"܀$|JAd(3,C B~2"k:F&|; H+<-Sdb,"$䂏h׶Ħn02B,NHz/iթmbǸLRbxcB~|BA*̧+8#H 膲gR+J*P{hvh'02|r+B'4+ HHn'Bk\.S 2@$ ,3΁&Bzifz,6B.Âh3X$ڬ. Bn2 l.Hh5hJ様,3O(.gB.J*R*/!$,+P~\`-@+t"@`٦mK)uH-m;\ OݞV1IhA P $XZ AxsGji* NR'H*l43"H(k)B"8GAx6C2B?*r@ 2#IvD {,B'$)@$#Q 7KP1%c2 0C3@*d)|2)2\P##_)p@̧`1sr#"@A@!(21$36wl.sh,'? h8B2빞 !k#3*;dz!lұ0/+X,NΧ01g23H(Q0Җ(Ӫ)B/t)HH  @P$dP j ()\@mBl)H t@Ш!@]@85 Ǩ/iK0&D Hl65D*`')3u-1t A)SA *8'|2`Nhîho23@@AĬ6C/^V"5 A#X"\BfAhA yi("6s ܁4*0%BO1PB9#B9Gw¾4!4B4^*@E"8d7/Aq|ryH*T6/7wB3|Dh ")'*((B /C$2A\5\"tA 4r 32p2 0*4B(g8/ 9_6s",drp q3)+‡_3xW|$D:밒'(0ffsBz7B#P!A0ā6B+/jK*Ё'xz @$y ^; mc+7V'8#{3Hv)6>w'4$K @x2# kcs'44ܳ/p71CKB/dzCO{y72"tzlP^ށ-ZuBŞ7*1t3ld<3 ؁[p*t@%h/첢kd7kH)p@#|2 ÃŒs2vHsD‰33 j*4a#t/3hz1Jwl#6B+߁ڳr `+2<3|s4"L(4.|^ AJ<矬(li Bh}HA((*\,&܀ymҺg('뤲CSG+‹C'QB֢mIJA(0$@ @}$p) -\@_X}T9З{ʘ59ff˸@:\( թ N1mT.bSM!b$R0'gJ *Y;9IDGQ6>41`Bc @#3f7¸ѵV5chda|"ER3f-(W&gNCA0:*UxDZ6[R'neLOT| ɰ5uʥVeȡ*fQ]LU;jF/phdLN7B93(nP ̴\I:̰k x.pfaXfQ4èS @0@McƔK/)4PopԀ)qʲ 2S<@󋓮e T.B#b2B STPQ SF lƒ`H a_逍` ŠV%!\] (O DAXWE{A*pǚ.tfښk.iRrWJy! ^xD]2D *X^s˰eᠰehB:I21'M=.P,a96̸"e]<*0;,ò` c Yl 1kaTHX昦kIUe383n*$ON|c ! c3R@DZakn0C/oIUD#@ 'µ- Q)I d+`0 H8ѧN _#lK &sI$!`HM H p$$xE~3n_Ȉ "%@ m Lp MyWH)a D3W'2+($/DXR b81("+z R2b,Ȍ"1c3 f > 3{[&5"䞘>8iːa /Fф`&s(A!čЙI@'pu;_\ mB Ub{飌@ aI xq/I(ɔF-0 &{a( ;tr0.A*A$-0`U] S/pAŜ"QӸW$YލR}T*j f$ U$"meuavF]fWB'ػ 1pA"T) <Y"Ӊ-K.Êi>}E?񂒫a/İU@-B Itn Ȉ9?U-8Xt2ZY)$Hx  j,jRȶm@"j e< @;&v7MUCD){ O)*<ш^XR(JQ9`aS'B BHʚf\(Z 36U16ZaPBV/Dcщi͚:e!#XYJL B5 L K. (X-a6|-} kѺiDM~.) GP|ذv~->B "!QV_Q!b ))EVJ4 6 qÜ@ \!5 IbZn&!!R /0`Xv R0 pȀ^& 'Cr`"1U`>Q$_v} <#D׺ l R{@7 * / ΠD21 wq&1N2 *01 M+01ؾ*1aN#2"q +S1㑰A,S,2npc< wP!9 cA1Us.P("d36hsb6b6u6Ys7qn36 6K8ť6k366B9q)8)xS.S:S9;79839u8+:)L73"d:s9s:s37;ΐv?)?yb#@6ƁV sA;D;T.B-BeBϳi8C=i:"Raaܡ)RtE#EYTEcEF_TFo4Eׁ!4F54H_))TH4")tHI)tAFtAq4JJ`JHeKKFW4EU4MaMta4"4OO4PuPP u!MQa!"!aN45*S=SA5TEuTITMUH!U+:SSUU^uVSVTSuuWyuWaNaXXuRA p`!FAZuZZZ5[U[;hĕ\ǵ\\\5]u]5^u^ߵ^^^5__u__v``` a 6ava`-\#"b5"A0u\i\9b?.2!JVN6eMveQeSVPf3Afi6fEAQT3uVgCAD;n@\N`\iii)jVj6jvjakl6li#lvlͶk׶i6mmln۶lVmmkoom pnnmqmqqwr+7sVjn;rնs)pIko=n-!Sua7vFvp)t*wuw!xw!!JCs ;NhT6"&{)P{k|lVkliMpj|j}w~B~w~|~ob{{jswjW{W7p#؃M~3{E!p7CXragiijgxu[S_tevi7*bwxy׈BwWwZwyeb!B{M: 4F\ A*A #0!hat,Jx{h @`ö)@`BKc巀|}67!yrXGsXq?}O9MWM-My傔%ٓa'xsy-‘;oْwytx~i (`w\w ̖w6ކ~v#xm~W j 3[d:bⴊO!JZ CtL(vЊxhY8ј @ hޘ bA*zwiv (@¶ ¹ XWoש?l#YYW?;Αؘwn)::XEwZ9kmu`awZ h @\vڇ9@A഍ tw`Xwf e_lP=. ptC2z4茩h, ئ#" 9 FYbzA_qti-x(;lX5~xɖ<aY3o 8sc#WշtpyZqr]XZ g3»gv@9vtdO@xa(O ӹ@ ,As! Z&sh0>7yC9BSyAz"y፣ zzwx{j֚y\{[c 'UX\|)Cc\s/W?}W<X\b"|_]sWo+}}~Y]\ZŷQybcy &vaw){xɝ6wUݵAȝ,xw}@Zt0L"'\ Ω{cia*uNw`4Y!esZᖏ 8 ٿ cE\ q{~؃o~!s݆)mǥcڳ- MU{x#Bʻi@v||:ͼ&N 9Zo,0!Rzw؋[!ϻ;4z <@E޿{:mg\;n>cou=mIau&YȚhz fnvb }&j~ms[gc41w!|E:Sa޽7|btmS~ D6a 124R+H-*dH2 Б(:]ba9e_.%@3Rq0lOe|po|q\0&רk Wfn>V6M[G<21C٤Gg:[]13,6s4_I_s;)ʠ7.A@@JLv}\㋉ 6L;Nh@AMԴ b\n趨4SN,5]U%!0陴T못KQܮRR8҂y 5Yb t z|gɻ2'02ܧlbBwgM4osP5C6Ox<pl%pdu eAۃf|DhD'"2\Nb5a2Ts`dxE8qR .&L,+3&g;wozһ>217Q1]Y6DYiE+=7UꎵiKt+_݄AEЬor2"h%:\M@WYl''̐NrRf9TJZBeQd[eEG Qdƛf䋔2NjpG|ΖLc_y!/DFB&IP2% N-r?a Ws(q`}E $@@sMJJ$8E5ahI5#O! G/ћԢhZjQt8]hN+Q;)EmbSը$]*SZѥN2 q}uh>QJve/jvlZtm?jԞiآ&mo~#o c0d>qz5x,wԭuj(wv@Kq j_9/]QwG8q^. |JHW #qdt"!܉/8'la c0/ b 8$7X)Kbx/^qclcߘ:q Cc#'Éma'Gypf?GxNreRb.s(̌3(B&҉{c5 i5q0>6 CMp|'Prxpp 7@p-Wl !̀a P08#90RpNr~sv tk>wTpnPw!@o-gs@ @/ ٲ w &4Cgz G|%!pC-p" .@w!$ -$!q8\p ` -&(nǠP`TB7 VqG6D8 +B${07{fh !pǠ @jXpn b M `+ jj `p!QpmTp7 \@l~d bw7$nn Pgxvs !p~iafw j4@gpP!p!aHM@~  6ّ1菗5B !v>0-u !`v T N`]z)l` `h1ɑP - RPe H) QVx HDQ-k8H"x$RlQ - T`!`+Yg~mpp.@Hb`a Pp qp-Xri8!3 pvp4nPڷ sTi8hh dM @"~ W0 .Pn ;=jǜyQoCRz>p(Ipx l0r-p?p| ; sapu6i7t.> ː9R p?p? r pfpy 6 7p/Ѓf`lp ؜1 P @vNvГ fm!{Jvpn; `t Jƈ$"'!yz! 0zef(xn!v!* qp !`~Ò. lp! z sj-z2tn ;@kpihʐxwP @J"yZ Ҋw@pP i*h w yv7P!@H|-0>g4JkRTz xzt*-_QYgqH.Xg pLJof74kp y" s}@vW |6 _ppW#a`pqwnWI .Xw/-uv 5 pajk܊p!4j .mO \@j0t{ 0dw憙GoQ. cʘy Jyߦ9p aqS;h>0 Sw ;W]tBT u r ͙- rrh&p h6w .J6y-P8 3z>C }Z?@4 y ! d7u6l!P'9CFPPrVlR@Lkwx AXY9Z0J!3 W v{np W@qP/ă ( צxa閙!kS`C3\ XHQgP}v!-`Imo ?vًuzC &l@&Ҽ jr;nK] 'THb Pypp!'B  & ! Yph^  ]ЦH P8Hd@ ]:HB_Lpo  f]  X1~9z @ n{-2X z!0P b-NN0 c 9Jp9>+>!߼g0Ǡ MP Cw}1u2P @ ;0n>p"D-"b~}R\4@Ŋ M@x!4> r. b . ˀ5Qo8>p 2 @9 :0p0@b@t0dP2 098 0bP^'H  Ga(B.0Pp dg]~%].!φV0u-h 2p  N@z&(?WgPv9-9׀am,80ő-m aR 8Tq Wj\084,BfѪ`m50fBW)d% l- 6B@`|`6͈g #v69f^$K@_CeBa|!v!t ~  p mb &ʼn To8T1W1JPB-!4|gȃӯ Zwyp/ h P 폜?fѧ`o+ SJ q$NHYN3 +82.}QUbǒ$]Nx Q @|(;6SH0% 2yd)!<- *qQ2} x2S?^ؓⲉ6qhl֗H-]y yDmQ Aof8)m?j(ecJ4;/f׌hvS]رeϦ]uQ׽y 3.g싡+{&e;R*unH5D % Bo$&F+F}TN/+fȤTI 0Хk𡑺KKX&뺆0(b& +Dcqj {f9{NK`lKHZj"U%K2JNyr",&lIK#T5ê7 +M(r&dsO0|q̖J$EsЙ AHQ6LJT"-P=Mm{vh~n֛F{/W1l/En}\vlM EmncpW.Rk^Ђ݄Bp,@B*,b&Ő{C/@x |`}p>@9x/\>"ع&qY7ִ.%҇ !/+.ЇxᾊnqXCf68^܂W0[+@"hv}̊Yc^dVx!`D>,}XrEtM 28Kf@[ mqc %K$8$ps>a|I$@]/XУ&ʋ^CvuFޫe0"Ơqm_ πr}ۜo._l<[ڦ0Sfd[eu]-8`wKjw=63l o0G6! #\|f1nW$ -npT7; W 9:q#Z)g9:ZqtTd[Dǀ;ysC'1+$QJ4%!NB]bzDBH_K HDg;I!(q"/wDzqx}oo`ko{Rݥs{uxQ0g8'>R|gpJחb=a᤾o;q/{^;=u?|Ɵ}?ϧ/W_>U}~obg oK_?_c9@cISXf?@ @zzx @@v: ,A!RM`A7H3AZAAWȅR BA"A[B%"l#Ը%‘j"|$B,,'*$B+B/$-.B2$01,C5434B$\C8$64C;$9:C>$<=CA? A<*7DDF EF9;ۄJD+p(IAP EQE#9OR9س/wֿ;wOϾ}k~Ͽp~heQ 6F(M&Lhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6 0 lĐH$ 1ɪLlElI n!N-|pZ%L00 5(4% PhH0"C A-Lkw Bi,p,2- dk{+(%`@1"A 1("\ L< `qǃLjN馿F p|@[r (1|k A pRSz'+($%p|!/ D \lQ {m 0NՓh=-u0[i8FLqK |ӂO1Ԁ( $ AH ; 7cZG\@iz |lwPD݆,n`@ +fL`|0=t |0E $[* !])J_X=PT@@F~SV8+ 0.;5] `Y0ŀ*H6݁BiކI%s  CbЕ y8*$oZ0?Gjv7;Zt 6?[cFđ@CQ̤&7Nz (GIRL*WV򕰌,gIZ̥.w^ 0IbL2f:Ќ4IjZ̦6nz܉0D#L:v3!څ(z'"}>9NBM?!y*d(>!O"@(*юSZ'QTC-)FOz!Te(* 2GoМJH$iO}* DKzԀ&B4iST) TZU)U{vATγ6(l[TƵs=UzWvUATB_tka $O&VHtFV@e/۟:VPc5 g-iak_ ֵjg[(Y-'i X4pp5[BMZǪY$ύhX#Tg~-njֻ5.{5V Gx盙RFB8+_VլK`X3+|͡^>3Elu Kƿ 6^OT0+ ZS&w0+#ů~ \ŀX&{ 0ʘK6 ' Q\ Y.\_ Js`&9jˏ]!9΃gc8y/"mGl/σ9cg0#.]G2 }gK]nwn'`']W,y1uN~`_Vû>hoxߣ ~bt7p-{w~ rv&|(!÷ev7xwc |"}'E'W^7};gkrW!bWpR퇁 H&&H g$& %Efh'rPqDhRQGnUhiZ51],ȄMX'{ VAee78&Ox{\hXnK@v|wy&s`R!uX!A&v:slj}X(1wP&(uP ȈAėvX uwgh&WX ohj%Ȍ8aS%bjhtw8X!iXwטe8sZ׉ܘШH7V|(]cˆ[ڸPg7xxT2cBYUTFz}e~&r7( l[ X^&qw ͗ 8Q_jeSu07 aTu_y p Q`l2* XŕSu%˘Xd)tTkw؎u–OSItY搘CU a)rgIg e'9ȇjin鈜TIx]2XHe-xWGY cah#H%ɚkVV9ؚ.)iT5ؗq9jɛXb)*9u)ƹItXHiyZF B%'qU>?Z:dU%`1RzS{PVZHP񡕵 @evreFAJZcP:JZ- yW2ꔤynH*eV V 0BzWJ `GYya:Xc ᰥ%% VX @i{ZVO  Pl^ qZVJP D\: mvMVD pe eV{,wVNO ৄV Pv: ʺUND@zJZګX*(*ʨy 5rꀩ R ZBjG% 7Zy[eZWoUNۺZVV_ZP#gȺ;Ɔ\9([_Zą| F xG#;X6ZlOX{(*`ښ @N_j\Ť[\Lɷ@|c ubxͮ0UYg{cM@N]M`[\͕죅MlЩEGЏm fPEzY p ҩʊF'TӮU vrپKh  ǐ0 0]PRӚ}% y IK8-h4gN ҃հ7mNA KM̀Nj=؄m"iwգ|iE L`օ}٘m} ' ~qC]a̰ځmәڰ PZo}}euܥ|Ԫԡ}l5Z\fW ;Aں}W=ً;ǰP O,|Ѓlo;^Q`-٭/]MՕUہ Ik KI= k|mN5d|G ’ PMZ]V=kbו0NM-]= |~m1>D.]q=ތly E~ުq}h7ڪߦF׀Xݷ nN}AZfޫ7m{lh H`#Uwfy拺F] J~܍>}` o]'(ޕtܳWѾ[~^wk` 촐=1V9ݠĬ~Qް  4-싍I7fƽؾ jnSUS%N^PޫΛ,.~ϵ KnbKZۀoZXTL~arx~Wƕ5G{,,l 2:,"N]-t}Rn lJ;^ a;~S!WErM=D*E>ӭP>O/=oB 8/T. N͙cڝĪa_N_>C nZoú}Wyϵ{/.Z/ EP_<<7wD/֟_s ߼|: OqD@ DPB >QD-^ĘQc%Qbdpᴌ(ڮ'('"S̙8)q ɮT H΂Vh"QM>UT#jAxl%g5`E;sW`X'N\sIPc5X`…  DH]ZNyWnw J)ѤUEHKXR0bڵm}߶`( ؈JkKf͌ˮOɌ2O~|):8x''2r}(f_rp? EU=πOq =lLX%hxC;Ⱦ vtVS zЄKq35VЅdBN8ە ]Ї5 B&-t ~DͥpDܙ{@Lblh籰GdEE2 +Ԗwэfs"hD1юd0 02w(GeD?1YѸMb&+!$5IA.kW@;!JQ8W6Jv!Bd광9VֲZV(H]b&@'v1ҘbS`"0E0bӚc xaVߌζ rn3&ќ&8 ӜE79Ͻ4LzScZOn͞4YPZ'LP :YQ D;:ҁ BIL]"eiL:$2Ĺԧ)LSjFTZT)Hj:<=Tv]!`AzT,`on[8:X\QS\ UMQֿ{.Z؜ծA^{l֢ԜlN06bjGb౧EmjUZֵֶ0[ֶmnY5 D,.E%VEnr\6%+kiքJpnv]v׵tUz׼Eoza ^NW=u#v;_W!_[^׿]5Xxw/w60k]&y|BzL6"8'F}SQNqe| {pgјI4c3r[[cg8  ZBH`\!W9D`Pcch5ъ*g~,'e-Yy0Vm$"H ڊ`pg? /9k(zfN!V9П9!pqazX# %A%1KUҔ&gVԧV-vYϿ~ ֠r>غvS"dm$;[xpNv&A$#>a]T6_pn pa-y,]_P$` k%>רՂ5^@V%HVM6^ ~{LcD!S<n X ǔa1݁6_kA[1Flv97+?V`悮xjyϻU7b}ZSN*Xj0# @cƻ]wQ*vw6FpۮZW16S;|Ktp, z{=  <+TR<>п]c-X p?+?96[Hµ39Gh@Nȃ<(O1lNKK۶J>kӒ>h<:|,8ACڵ9- s'cRhkBʿ9BMJukf99{,$ȸ]\{T88Âz BPp m4Ow+Nh2J,<%O?Է&ClzYuٜٟٛٝٞڠڡ%ZY]R" ڥeڦuڧڨکڜ5PZ+x۰۱%۲5۳E۴U۵e۶u۷۸۹ۺۻۼ۽۾۶\P@UeuDžȕɥʵ%5EU]=@׍ x٥ڵ%5EUeu%5EUeuU]]m(**ЁF~*U FkmGHݝI\` fօ]X\F 0ame`xᴘa#Q]aaaDS4m7E+`m a` %Xh ց% &v]0 b/N3~2n^7a^586^+(%V!L͔>~dXOt{ߦl= GhJP NLN6\Jde,eNUeROnJN؃>LXL.eyc 'fb`d'd];0^V\g^6&}df(8re^p&g9c=yF=zgg7mxKݛ (G02ha.]Pኾ !鑞h虐A߇{BPH{S02 0_X&ff6f(Vfua6t^waj>cn>f^q^秆,6뱖]f^x6ON`Nc*_kUM=E;דGNmЂeNx@=( S*F˾VV*lNmV\+gFȖ,GlN>jy_ցCF*rFnefnnaojuV.>̭nvbfnFviv]~ow&o4>g0o.jVxgm+oցnXkPF=kH3ݾV\!huGPblSў p0pc Gk݃18ĵp(aV~mЁG ~nonFqfoqf&kn)$o,?r.vo.oosNnFso+rot^6obr5?^kNdGtN ta+@ ntt܆O&mBX=1@iJ׽6bN)/a,~r86,G3Os/Ff sn/wgswv6avN7;/xtkr:u\-Nk{%U+=x/C >]JN2c FRwuѶvyaN( NuO~!!G݅_9r7jOrsouvgGr~8ksw,Ol5v:gno{v''kG|?w6gN>uN0 mN8XS܅dƍŽlu0P˦}]P\g}l 6Šyy>wz-}Rׁ2XЁ=Hwf)//ow;{of57Ѝrf{o7v--Ok8z|r'Q @0 ‚ 2l!Ĉ Y(pBc*dEF+jʔ*SIAPJ/Q2v0(@;uRI*H]JPVE@"@ӂ<:&B+%df2ZT쑡b#Ox{P^z'Tx#X1a!'0{1܌q̚8h}O{7fǪ;9pe Þ-viӬM^ m3o>PU)cucPaev"sry(Or:Y2ҫ,hQ~+AUU(Ȁ !}:tQ|Bt'SUBUPB@WBai GfYrv#Yh6XoQyDhWciDJ4L;vb)4D!~V21qDgG\:ET'"F|=3R$Up}=cTy׋']T5H#]{a;wzF7ސ HQ~VA1١c{ABu+:S|暳=׬t^3=Kx<>|a9C??! ,zH*\ȰÇ#JHQa>ueĨqFrHɓ(S\ɲ˗0cʜI͇Fr'ϟ;E yѣH*]ʴӧP[XBKWԯ`ÊKٳ6TRժn> ڻx˷_T ;È+^̸qõmJL3"3k̹gS'vӨSάhхMICS-Kl N`Ȼ]3WZ.Ỵkν{Xװ)/N0RO;_>߿]}e߀dg 6cKuOP=3>#H"%,P?Cc8003us(CbG)DP>^,P#͕Xfi%]F4`~=XifhIMW0yiRcp)Ckօ瞄=TfMW梀 饘zg1W*rf*꨷IJkzEꪬ&'uZꬴz&uZ뮼2iRjۗ)6K֫ʤVԭV9v[TdJ,[.kY()ƫOFS!,XQH6px91k ]Ets}%ܝ@vXkma6oX5@͒ܗ ΝΡ㱀.>:ҥǪ|NMd4Kc7'O L+M{}:ONxc/~O}ȏy7/Jnx迯so^·G{;J5΀t. rUЂW׵ GA/(,1 ǾF/K(CRCc@ hr>nFG*~F=x-,.vqǍ&6FE+Q3O1A:ю . j`㏀ 35񐟑YGdtcbo GlTvk#"7y8c\dS"=A^r$ 'WORa&,IKTҏd.IP PyJARqL_zKAֲJ#b-pB`xSw6/1a9Z;pCPL썤HWe Ї=5YR0Xu'!yd5ҒX;1g Y ǰW"e$g ~m3ƥ|< ڰÒlIM--rI݅+@!1׹]pKI^)rn\)do(]גy2hu]nښ[z5 t՝nk(45/C.o%'<}bްRԛͦgXs*F 䉘$> G(c`" ;%a#< dS؈ketxL~{4-sSܼ˗#Z~Yޱag993;%Jv];.qっZN_F5A OT}pa\5(eUhhx""h2ʇecF 1jqҩCFjQѪHG$:Arܑ=0_ wN=i[$nhNpwFJzY^su-f%G)䕅A! 9pcrvcxQ䀀{#~xm}b_^Y'Ü2.l!jK]̀?NTSUW8`| u9Z!ތP<]_s8dIr7lJPߧ({ ~ߺ_BssbG|*[=}L@><\V&FzO8=@/V.}I:ޒgC- ~ͿN(J烟%Wg:vWcD;i#8 ~+d@ H G H MyW{nj<C ""8$8Ww1/pV,xVY55 7* Xl}lVmQm(#l %[Q Ű Opz"$FR$%'32w d82f(2eBEIZnYU^ W+E 3 |h%ϥ~'a4 ׇ pL> AX;  C `\sB'e)5xĈ( X:p[NE3 Z6+0v&zv#q4x}H&!p#Acp2ٲ%FJ0u}U dh8a㊭-(Xxy P H^u%Xx"((d_Xuj! v5 ʘ)H)fb` 9a8Q*Iُ_&= u(  : 9Rڒ&鏺x-aQFy):I)|&Ε6i+%'=?yAI QE) i+*OGd9fY kW]iI}tr`& @B g_+9^ĢФ rDwW a4Z*v^*z`*FR1ƩhMl)IuZʥ\{jIvd(BU pD+wj:!~}t}ԝ qLږšiwG JZUʨc*ܪȬ07: zT qlE+A0`Z{k zҬ ,!5K8[jD*HZQ%J@yHkZʳ@ JThkT1bUn;g.@z+*t.wP [K"Jl/[!/Ѷ۸}P9U(ЂK2W/Uf!$8"0{P  x 0̫Ի#‰߹D3W e+™/ W` ;K)~0 X4//<H |Y|1  #ZjYE’ ,Ta Y14@0^oX ;20c.1C.K %a9RUT|VŴ9 yI!$0! d c FB3jlL3DM"\[uF|G2m~ +! RbA4 9P im< P k}lP*ц^]h$jt44^ ptCC0˴\˶|˸\h!)< ZO`̕t | Ll ɂ&pT2<̢ڞ|˗ Rh%~؇4# e USV^Xn崜 EA&wѪ-ҌDj]'@@S[=݌Ura̐C{WՐ O1/l!4m]➎Kӌl,^.*1/k4]װ, [,N \F ]˭e3*!;$~d}`l. ۲=kc4mI7., 4}إ3..1И PОN^d(f!n~߭N0n ̀~.%p&-\=Rnˎ wQOvfnoeq!-^\UVSе1}xMMEn,q- >咽FO]~/nH,}'ms,+xm&9+1ԈC/F>/^~> >A @ Dxp{H<QD-^i8~RCMNT@5ԤkR =c: ԙETK1zr /cRet7sbXeɎjITF;6'Q@x"X|7V_‚.*%?Ydʕ'?AR\Ν 3^ҥFZj֪44(1x&굕!&֕pWψGJIoߘj,%ދ NZfWlO<ٷg?ohk_p?p@$~,0a 0B 'B /BGv=q?q}Ƒc~{QgFmZdъ{iO GǒkϞycCrp{ĩJ/Ź'aL}pM~99d3k`N%vi?|eLewv/)4C&{7Y2ֺP:_&x U9aa#xb+NQc=VNg[52)3dSF`\M~O6љ{ֹ}EEt9iu^`o* QkN浮b9&m^{!^Ff[no뾻oopoOUܩn/u}񄞧Jfn=w5 ^ Z]f;y&7pīz~n%WG?}o=7ݿT~Oޙ7#EwuGQ;pÆ4 YyK,PL|["g=f TBp-8Ew~ZabW Zg Ȼ8];װ1\0D_u`CxE->NzV"&gьgܜsܗn(=vB_sb!P\S [D(ya-`#D{S ѸINv?kCGC-Na MD<9h@j/9 )ZN{ }o/8Ýf4iREy:ʦv`/OpIZ,(NC" 9I9nd)-nOD?[NӠ5 cxJR~Le}?p'#f9s"ɢ}Sp@)IyCȻŴoc,(Bu􅒡CIGUAoR $Re4fMғ>.K˿4,2Lխ(l1ezQQyטQrǐ`N}sjձ4+M:Y~B֫[\d+{S7Q,*.ԥlH [*Ϫ/lnZ>$=~NC\~0\FVve7 "`MsByd'gpJy D7yus?zЅ>tߣ|Vxңcke>}ģ[6Jȵ|8"p%5 sL킻0tX;wz|w| x/{5ݕ>y4w|1/5ZwD,2ѓ^'%$j( X#XFs?ᱱ Ɛ8֗F|{c·~W֗~}/~}?۠E? rʷH~?o KZ7lL؇b+ +>k*PP@4xˉk$(l1{m@A ADT\dt,AKs4(N(nɿ#B+@ [0È慠T c mxC C142DC2TC<́?d<ٸ!4CĆ$4 4.gBdi0jkך-D8>X4DAD6DMQDS 6T7V|% :C,q=# 3p=*LD)0h{J7tp,TV#E]C>DZ2D DTbdDEyFM4HhƃFFhƅDȈFkd?qم9|"0@9'(E# ,%rFH,ÉIF0lƄIIUT́rHLGI],]TB`B;|,ElĴ{DIIʆ,ʇȝ$ʇJLȥȧHu\|ǓVڮ` "Ɨ´6ɀf |KƶjJƠ˺͗|nuK=wܿQ_lz{Jc|@р͊HQ [>4Cμ̵L$NDN6ЄK?^I,Cה&\ɋۄIAB>LNdK<ΣLδTHOh|AbNgdMwݜ'ڔDLŌtK_FTP̶lNQ`GK"d-EDP%̐PQI OO$-4GY4MǾsͫ.<ͽ܌@б욁| 5!M4RO Q%SΧN( P@E aHIK3༖ TIJKKMNOTMTZRPS5TUX='`TZU] FE< ¸ccd]6hgaxdI_nopq%r5s%W}]wtgWvR97fpqakќH]} yxp؋،؍؎A;xY2p y+@Q0m'ĈYCyidHAR#d+ڡ5dYفiZuڨک=Z]ڬ}ګZZZ%[8#X"h#(%h"X"P[=` GjȗE,bxIXhbuǵe`kʵ\%pd넊8Yceu]ݮePLy]  =$qu]ݤ*\߅ƕ#}P]E^ح(fH9%EUme"/^ܤRߝ %^=^}ŰТ_>^%\] 6:` f]n%uY镻=n Va`a#Fbܭ`fiJfapVr੺#N,-&h !v9-f6n28'V()">p>b@F0a2aENG.#:`;<*%FbHd!d\PR6Gԋ@U>VNZV~eWYZ[e\\]e`P ap?;dVf@+QuXtaqp@tlhopq&r9EgO vΜ2uXzgygwuXzthuX؂6FXndQwUAfFQ٩UWڑ.5Vifv闆阖陖PXp` T^@~[H]0/eŽ]j-{fjާ慡6k$j>p>FF!`㷎뾖૦klҠ_n~V.vjXf߹~̶fkml&mkkՖ.~ٵ~jϞjֶl&F \.玊>m8nm,%궎Rfv~o6^GApA07GWj8plöy /7w'7GWg{6ބ !'"7#G$WG{8nm`,-./01'273G4W-Gr@3X;<=>rXx7sN:k,DWEgF6AoCsGKL'MqI]tR7SgtTtP797+TY3W#auu^_7\[udWvSa'vv2uXjvF0gckpsHW?Xugw2or'h'iv{wl}stvWpumyszV'7GWgor"qxxxw@w'7GWgwGrGpd)h0t'7{^gwqmЂz-::x:C0|7kR@`ȗɧʷ|O?R{g{/v %X%Xտ}1^`#W_~kӿA0Ӈ1~!{$w~<% D (h „ 2l!Ĉ'Rh"ƌ7B#Ȑ"G,i$ʔ*Wl%LmZpi"80A'РB-jhDJ2m)Tf"Z"(+ذb>j,ڴjjBm!;yF8.޼z\͍ l0Ê3^1ǒ#Sl2c$r3ТG.m4Ԫn5زgӮml &~/n8ʓ/07ҧSn:1&♏/O׳o=G|z 8 xvUu~ B؟sZx!jH 2bJ8%N)"-Q5xU"=0(J8$M:lBU)PieWj%Xz]ey&i&m&q9'%yꉧD' :(z"x(:(J)ZZ)j)z)"ܞz};j+:뭵:+ ;,{,*,*J;Cy&frz+.zk[f{A/.[/0@0-Lb`Z8, $^Ar1k1{f:g,'[,Lr*\3l:=AXc'XH]@4Qs,b.f5!OZW(p5WXm&<B99+~p$8b<;.v !AL4I.Bt5+^!4A M^WBA.@+6 Y" ar(k"A|hM4Hv @ l(: {`"'V)Ǔp& |A:HލwY.b,; 3 0>&qL^IS^*^ <-X$hE a 鰜 {A=-vP.xBIKb *UJΤB& 8z@b*byYM(MiFp0|5)6Q#r0 ) ,69yB+ J Ai@fHPQm> Q( 㻩'KLQ&@7Q89.@0h,T, <bm;FSZq3|M;A@/|rNT;/ 9-j<EAD Gf  Z(" =Pp!D{xx9XCadxzj: 0,ڸ+ǓOd@z7?n%~s4U! tǽqpDjs~T0_K'sd~sE\198VvX"'z4W`\, F偗^p`,l=^$㍌BYPaԝt,8v$b<,``. MEԑ=T@]Y6`EXA`A@8 Na^AdOAި @HA@+D!@!ߴ"%NA cAA0N4"+""R ,n#A7Yr%Hi# b.#\D*v O(c9B8qF_y4!p'XC%5DB.@=`@g<#ae GvhIz\`W9@(j5ȃi50cjAHUv7jA8X9p eɃLLWN"x(.BA AB=BJVqAeQ+/'쁄r<\VV.WhuQ*(X\VX x?Vmo9y9#Vw~!Q& ]aDш` Lxd! h pݨ囒`4؄FMF'*BX7'$DlqAqCdBh1ldjkFqDwD!QfdtI B!()t@0PϥНL,%[$ aԨ F0T( ߰ȍ@ߙ K-('knQTĤYSIMF@XA!TTB! {_ilM8#r,3 pH5I: i; (L>Fa]8|e b !ߌ(h$ 2k`AUd*uJD+(IDOm|ɏ;ʻ8{|Ӽ|]zס;׾{wѽg?|yѧbp?62XϏ> +пK?\A|0 ! PB );D+h Q$YLaQiqQya!De}KQ%#j'ѲÎ;r*RK+̲- 1,SL3P4ACP.UE1QnGAR%5C%RL-uKaS*)ԐS=OTE5QT.ՠ7ujdrUNUUUn]WV*xYWmu[WΕu]WAD_׺IUJB jIeժ֏Tv"gB2,A$͈i)W^DePYϲZlj؎ֶ)n1[ɨ@HE{ޚAv kLwyr[$_2Bo1^|w"B پv FZD:8eQpDoSt/kK"pH [h$Qʀ ĻL90k shE:HE*(ŠՒ=k/+q+bcaUA]ǘձx' }'0H(Í X-s)' /_w)Z( 0iDԫ1[D8KY$AqU gpF.Y bWE@QB%0"]{a]`!Z öhj+T„#X[eMZmťU aWBe}ɋ֕(B Qv cH2ڰVl" )b*a L$B@Fӈ# n A`8M z@8W"`tl.Ǫ,~`  Ԭ qd0@`N` ~MyQ۲2PLӮ bqѫ\OI9@ւLeڮ S'bj`k n6qT`!Ok uXάvT@ l"j  ővq `LƾmL"`!ˊQ Q A)R. Rm"Za(*PˋಷL8+Ѿ+펎J00q" %͍1{(`/򭵲 %W z8 O 05 nj9O QiNKr3M/^kMN807O~Oa ~<O/$*K>53д ^O?/B@NK7бa $sl Mv$bJ/BЎ(07KEwy菸L0TXyqIoϷ9ӴF">.~4fw@S笼xN+Eͷaq~5V" aά\ꄑֲ/v+BP#tV3̭aJ(U"\k# waݸǴ9׸ѓv ,Z;Nx%B8/2{5M'U  *0E²,T)Q0鐰~\m"nkL)GD笑/iM`gvN@7i$7ъlZ_u}˿3LfQ$1= sYV`ٹ l%.1ָ+9Ž@ӟ{-A:E "< hm %bZtPԪX1[rw *uXC@pU5p;񖡤y%K DƦ\$NoTUkvSl[K?.tR+c!n >klVsDjK9W` {0Q?WMY{ n/WGW0 XR y P4zyr˳.q 0Xg LL/1[a$#Z>50 61+2ͳAZ޷Iz6".-p"* |8.RmPx4ki ֮K֦iF5?y&"w*JFەZxG(uY iʬCc7va +ǧ:`XaUVǾUJ xaQ<#`\ܪ́L@ xma|{Q)  Ϯn 90w;OrcQ [ )Zm Pl Ѷ cF%b@m`0 AŻhwFm b-;k 8aL 0ґ,[& 2D۝6 =/,vzX8ьPO4=g밎 Ru6".$ ')?"=fY""׷T4Q;/(,AvAސ#L聞#"rp~=yd9#2蟾Yw^7C9~1g~)+ Ҍ9ʠ䝾y?' #²^#t=8VX,#l!n."sKxo $~r[1ݷ( 6)*t$4 RL Ŋf$챷BO e 1 ͭ Gbn т.Sf?d?->vTYx-H`t/r\$ <0… bLB2ZB +{ *ceFƆ$K,b'OA2̙4@"gN*X)g @IԨҥ&&e蔩Ԙ= F Zu& vaְ5! ,zH*\ȰÇ#JHbAuaԘqǎ 9ȯ(S\ɲ˗0cʜI͛8sdUϟ>*hNL\ʴӧPJJUϲjʵ׮RrٳhӪ]˶gвƅ+.ݻsUlI L]qci|ͥQ&)(Q:㵫7RĨS^ͺ넊C?C0X<~PlN >zƣDžУKN9P:9YmmT5!{e+'VK˟O#.mL-1\R[ f]'z+Iu߄Vh;AvM q2omtndh ؞Xb(4hcA-\Ƹ*@c Iv3e {!W7F)T!](Ÿwx FqM(psHLiU)tP(b1B2FwۉicEW3[x׋pbZ-haύOOl0Q =G<_q_$lTO,4l|G-Qc4H\w[S TmavlvpM1OBxqӐ~mXRea'Ē8j4䠇n-5`%ftAK]a .N)QDa@_qִvS@wCֱ`w|0OaP"M,tD,(oX/J?}Լ1vc.)i[G B'k؁ H S4a^ 9|"38Y0T dF0#41 WbaC",\hd a^֐6oG̢B@|b6nh Cч78v("%  H#% <F:򑐌$!k8"Ȥ&7NzcH(letTiV̕1Y<I܅(7^h@Qsh<1Lf.SD 7k l+4Gnjӛ!8(nxvBO<9OZC O|] *Ёv ; >z:\\;ZkT(C7X(4+`#k_d(@GTDGkAb6F@aC2 AwQeP=[Rlpa 0 iC6dq J@c@xpE3NZaSbXj4 ׃'-|pnhvn6NJҚ 5E0`{-WWk=(6,PX7 zAk\p˽jA .> wHGYL c`C owK/@np9;l {2F'<9$14ԅQo|94*ev`r 4VUTAzƸj`>J, ҵhiZIL(~h̡b5"fj5XUMY#Zj# ^:nm';QD6ZV~680/*gb[Z qBnKcֈX ćC7зt[fw&6$η}")˂߲@.9ፄHK<'{ ANKģ)G)Y}1]\3ya|@%h1tKG7:ёt6d.|2n{][_&chOZlغx{ޫmڷz؈I3^㱑"2r/xbأ>蟬x7p%Jg};goF8x'˶;-(LhϥJv;0|A=8a1 @ ~t07 )%T\z/_|X'f_@ Ā z` Q pF N{Wre5O ; q ` _z0| gz {}s}g0Yv Qv$s7s;@ `}T ė f|z{j_@~ĐzA|6YhfvNMv7QxP`|#,Td5y8<?M` {vfhXz۰ v~臟G=w> H pfcZ]7XW g؀X| c ހ PhGhG v8gl}a:a8 Y Z@7ihXG Ā??ȀܧL GNNGmH vuRcl԰:s #z_ bB m=NxsRQ@ 5I 8itFvtht8 3i ?9. \i׍} DѷDKAPǒZ]Na myd5 _7 5y5{x(Y4ɀ9Г3)=Y9阎9u`n n9Y PAHYy dpI ĚOIyi)2 str'ל.q)1Ӝ0sJ0K-wr sYy1=ĩH9Yi &4`j*4JC F*B#MXwM uDӗꠙ0v薡nʡCD;5ӆsOdl z)WZv^rmE77AFZHzJxL >:b5R"; zp/ETaQ9/~ XT]p KZI qN `=tJ R@Ub>P=JgqUfXC ]%4bu ' X2vxiJ` ] lƩJ%wjޕNpA;P!E ݷEUqx-`:gIb E <ܠm4RP0B@X iOf=X8J }`&zRg RtR$Z\D66Yj5^4xvڤxN{o'E&緣Wdeba{%P}>w gʭSf` dG ` F[HdMfl" Y&  w<5"wU Ҁ >@vgMe Zw`B2uRb}\e 5(1*_DzM\ŦwfQJ9b444 3jL_:xp P—' 7j,|{Awu 4Ÿ)SDXpL b6dEކe{YX|AE:`3E? M%g7|-AzP:S+po=tzG qȢ@FFnnnn!qILqqHɍPȆpd9's/7Ws1|˸˺˺9.1r<$w,p_ZVWjp <\| p IwOtI`x҃= U: NW  ̰Ӟ#Xx% ֗y `,nKFRU*cf…: ag0 @.,ӟݍxM ithD޵݇-nAM 5W(GŽiɷY 9 ]\] ˰ p Ͱ eߍ oUG ؊W-f5ܠm=M.0ߋ_؀ hw'Q.0@@ T ` ͠ l?cLhohHx؀ȍov=Ć`G I %I # &BNꉀwP !׀ 0B \p ݋ n?(}Xxh} }h_[>pXumؠ mkwj5M .. ѓ5ItF J0= hĠvdfe,ٖg M0}N0}.XT b=Ύ1ԂI&RL8{4ꪇw!]1͊1-p ;_= фv)xNY 99 2.r?t_r^ {}9əDw0SʿYJ0_/Ay pO8s+C˫?OǬ$2.r4/32ѡ8޿4k nLt_`>??_`sQDM6bƍ1zcGJ-] ә( F*ęSN=}JCTiR6]>]ŚUV["VرԈJ3ZmپEK홽vc S(dX`GF|\h"s2!\C0+ל2jFcKvOOve/! 8} ?<4J4p]Ւfv29zלcn0<ץ"E9j6Xքh)S1 Uv0cX2)Mh#c,ihBIꩧ" 3 K4jvf׬RnN;Mq}~i/?]`*Ь۔`li&XZ.M7O*8G:IQޖe?f! iE)e#idɇW"oZa]U?~X& Z(bQݾQQ6dGU8`J6l|Bt1Q#oÖ@c QbBjPxKrf 1 CAS f3)8Dָ@lib0Fv@ -H p,  0!9|!X4FST5D|UFsinFq@1sZ8. [b/faKGJVr,q4c!E#m0idQp$-"Q )Dт8.K2.Ժ%dY^BW_(dbR*d1.xqc|ːZbd$W5aӜ7pX`Je2uQ3R8ȃЩΩ$ )5Hڢ^r]9]ęrԢ]Hҟik@L-U[Ң?B3-rAJ L+iNuf1.  D2T"N]jTz{e~gV?vի_u(?b!\SպVҢoE[ QW@WvU >;Xְ-8ࡄ2rva=ێOѱ`Aeml+{4'mnu[v(j7׸EnrxxB[w<׺օ.v ]jeG8D ׼n^~cu/{ _O,aZ%L <,D%{\Gj:%b %8(UA jԃiA2Zb?.xÒdh(fZp L>"IHP$p,b!-2̇}Ss(&xJIx :O(S.8Fu,bd{˄e+/%{p۽8  hkC_RH>I`W81`{).?=k0Z9l(?@A{h5qEF rdO:'IKJdKDJcrB&@EBe;Vyx>e>=e=e=vNW\fYfZhh!X`fphfП0ckЈ2f0+:q&r{(ufvc Iyz{||9hcihhd^JeT6Kh{0W~w^Kٸh.e"ި8U~hp !KpPY(/16ʄ&@0QЄ{Bь(9Sr94n8EܠbsQaep1fXb( . *踖냾T!\#75"nA|&6l:!9L : 8jh{Phe18Dx_Rm`)W0jxvejh`$Sxir+0 <<10^b=xPƍQ'7GWo;~kWذhLiK0 W-qhx 'pƒL /H ĆĎ)'PgBif'KixQ9h2Gj8NXhLx,*j+< O0h!Ʉq.:C<3qcvXou'9 !"o@&b,,Bgc M5xp@g04.bXQ)? ߆k:nwcFf Fy{je gRC'9;7L~gJq6;Up*=FH'wB(FH 6ђ&0\Nm<>qWFgqgBFcp6Y7Uxyyi(t(Y A^j-UWV j`se!`ipR𨤐Nl&Y ?ePa/Gm!܁Sts/_gcP"kXqoYDqn'pPsQDM|G}FmHXjsYZ.h3Gsh5D.>BEPI8h~@ WQ@yi8Lpnr6`tG :0&Єi0[kOH¤(/0).v&*lpT>'Rhq(ćrI4cD elQqvd2%L3F A&FݔxӅT\{ h̤.]ٻn\نVl]|X݆i]vD݆%X]]-ܸr}{۶!pE̥g}6 =(hcqȒ'Sl2(†VGC#f.qҤgˮMܸwďEJ> Mg.@65*%|8 Zj'>.Q3EDRF}ß Q; h)hF,MD%]@t= E563"9 B Bu VuuCӘ.`(Q0R";tC9wP{]DQEy4EIӚ)Gz|TR3]M%K %T)i!D%LSxyW!MTc9Ul5Tĸ[k蠅z"5=IE@ϸ@L >&"p>&TII bX+Dq H(1p3> B6mTCr tB4&<ߺ"pN=˽bJ ~:>d,a0k4 COCőP,74LK%!R##Ơ1fIqв)j25Bsi"F &9IIb14 bMOT@ bl1Y$ +;!%(q/nR$*pDt/ $/d.a1cmo/1CFU/a4#Xɼ%/OʋfB{`ZG40F4+b7kmJTK6Ѐ.4Ehꨙƴt[h HL0TAΪMl.,j 7Z$7;>ʺ]4di\CٗJ$&j2˒Zosf8njmB'B{zNfKlmАM(u_]w oE{-yswig$5G-p_fy/Ov b35|XG diؙ{.>!DEWff[Ի9sn]<~y](-qqoԜӣ.1O:֩m^:ح^ug=Dl5׼/E;.wꅃm~;Kpc8팷ԣ(pEvp'Qtmsϻ愿y~{| Gi3˟G<(~ @_g/~?ϟ~Cgѯ?qxD_D`-6 >F N:>eiDlv  !8  `N>n`̜l  D a C 5]>?\!?XaU!fR^EDЃ!!;=DD! C>ă!  "#2#>b#J$&"!Fbl"-΢-".ޢ."/ڢ "00 c.b;'h3>c;C;C3B6>c8CI*//1.aR(;&ˎ#<<ƣ;uxl??#@?"DB'A"AB&B*dAFCcC.A^Ef$FvFvEzE$B.$CdMFVDJRDJ$G~$LdLHL$MΤMFjO$PP%QQ%PvB)ؤR2RSdTrT6%T$OV"OF;:m'xYeYZ%[['=me[%^^V: G`&a`ze:g,&c6c>c:eVe^&ffe:P3D|&3Hh&h"g&hjhfEfiJifmZkfijofh&hD&iifhh2t&t>gtN'u^tVtf'vZ'wJ'xjgx>xx'yy'{{{zΧ|g|ާ}Ng'XJD/L/g((+ "(F(VC;, P3dun(vufh3t&D0&h2芞(6@*dj&fvlofo(phnpfjpin&V&'"oNfuv)niz~iw'~i~zvn(w^iviکh:8:I(Bh.0l_* 6>*BE4扞(7EAU9楮d*҅n&p檪!j$4Eg.*r2@5CsZ*\D0)xi^2܀0@5u~'z25B (ksJ,0 ())3@g$h0*g'8"(h.@$$ zsFk)4(i}kVg"$hDĒ)2þ엢,y6"+)2~e1Dt H+iE2 B@B.*2B,/\ġHAR2jf6RjE@bfЂ)mi̐*^&gZZZBA*0­~lFD@$i&) +tB&籆@r -3ЮJ\zi3H kk3@vJ~. 0+-E-"$Jm>ED@6pv-Rp\gЭASdtLd:dpH܀*H0P ϊ4BV&/C;Bi^N.ҁD\C JE낄 f xk6CȊ($kp )B"0f3(C(2 H!x++ . @ A հ4v +2H)t¿2) "qt1aDp)p@1 0C )@A!*,45Dkî +,(򿾂"@Tg,3(2 o$O +!\A$2" h8vq xz+#v3t*1Ls5r0 o'"/t")k@*+3tztJ)*x2,䀬P$2HDPG$ @v+@d/!@NuW*.Û5ROV@*8phRA -`BxUht7&j APA)l SA *'20e$誻@$A3\+A9AHBZO)B5 A#7!46@vLve#@3` 4p ܁@*0tIgMD(2[2䶑!4hB譹A%*@!id.(i1xsu%B1$HA'4)tD@gkXv ܀(7KB@(Bgx $2q#\\(k_r/@#v 20/#r+C!#\A#*3x,̺Dl2uKj@(l-;/3F/.dh&g욞g4pBv7B#P#ByBA6B4+&Q::*Ё' 8P @u @K_&tB s3|@u(urtb8wAh5pb Y4wB $P&%3BP9e@*s**n A'T1,jk0@ &0pjf?7t/ BPAA HF#)( /8W1\2, ۓ?Ըrc?Bl_};&>7a@'04BBUÿJ4l+ @^AB"T1  BFC3#Bt3G/ʹ62B6B3ܫ|s<X,3$<4$<*A<#z^t^:1dgɂHB6elϾ)8$¾:A( 0$S+B/@ <@w5[w5@HWAVk AC!6k IЌqsɅPLbI&;僸e˕Q|Rz2] 32Ō6hQ.{*I)L H7;I"28iCkYgR *˔J3c!4U(1TE Ō1"0 U\HjƬE>)`%jF2X OUH!DfFY:4S!ͪa8@Fm) ;Y 3Z9 Sh|e28a\:Sb 908f(·bL$Wj:Rlpb` I9f⸡:KB?*6?sMVc*d̘Ɣ+(p8M83UV9 xCVdFKI̪O>>d|ƀ)FX )6!7 ƒ` a_逍`eRB$H5rA>K1 EoK   Cb$;AR{r)0cm5\p(%cu,i Ƈ( 駙2ܥF^jw∑WJ!!! ^xFȰ0eyF+ueּ`f I׭N8CkD~l86nLN(-(^f0" $CD"BBd=oTYXUT:O`&$1e:U8P0^$AIj`2(th^ViU878`>^.Qreek&SR3ch8seTAM8+ {[(ޔcvΤ#IV%80s`E&y ¤3w';)O*`'Qi$P!B+Hb* `j+NaBTŧBAW pj(;r ( /H*,#[)InьX )6ñIc IJ 4 ٖL8@y<$0&҅ c`ĐQb^4"lBo8Fzȁ "?@*xGC /šՑ$I vӐ r3Y)^'T 4!)(b\ Ȇ@ HD2"е_dq!*(+RdcgSYYEbM.o[EdÈ\wT_ &p~@$ 3/S@@DL7;[P9E~ efRPDl+H+4WU\ѐ!s`P!e`X&=K^4P)7`0e'Mk$l@0GE(#Pd#H]AhhGf=X4@NSc84p p^ 1XS$B6>bWR^ "&iM{X'B7]邇YiM*r f YI tDYF|f@CYO}0cf-T$!2Hb>@ Ђ^0⁽ي{-?PE @,lËTD4+_3eo)PRF[ 0CU"v MyE/ՐQd%2!l"F,bA1`|9|2~eD(JcChD/YSt(E)*v P0 E#:!KU\G$x0$ (;; 6wX3g_9e:LC>En/5c{a\p}323y;a!֣Eq֟UG0)l0606Bm,1@16Ām>d;hpGMxaEp1~>4cRNFA<PyD">^@X4 00J QF$!( #2!fV X& &gTM!^&` {K'EXځ |*̨*< ZNAь!F-3e.W12dk/RB "!p Jae31_@1V0iq1eԱ13Ϗ("N$ 22O59E1;W1 L^3 7#%0~f7{3!ф"_r%?R%pON!ʠ)3=M%=3X>oZa?=2[Ю@ @4AtA!4B%B;a~0454C9TCe)Cbf>OFC7CDUDCEF1%DtEFetfjD;4E34E}4H;GTHHHHm4HmztIITITK4ITJJ|LLy'ML!-NNNekNONgHP PQt@HQ!5R%uR#!!a2S9S75TAuTETGuA@WbUb\!XUgu%:VVq%vXz"~UWWUe5V[XyUsVYauS5ZuZZUZuZZu[SYZu\Y˵YU\׵ZMZEYau___5`v`^ˈ`V`_/u\U !T!b16c5vc9vc!ʨcId3v&veYe]!fevfifmfq6guvgyg}g6hvhhw6fgDa@jWdd!kk6lkakrmrض-nvnn,m%w7p wp 7p/,hqq!wr%r#r)s-7s9ws=WsAsCsEtI׿,uUqW7uYu]7v[wvavevqvuvy7w{ww}7xwxxxx7vNu7zwzzob4!4{{WƷ||}7}W3~w~7ae!ä a!a xA!)!))X`;=؃]B5!NQ!N؄Ax?X]8CU_xkXCA\؄7x؈؉8xX8͸јXxx-aⴌ8xoR"x"] '9ِ@%?8!4Y^0;E2\^N%,x-jqQuw8[MY"R98b9y]X9x9988x؜YٙٛYa zx 9]Zyk1,+/9|Z \a! Z ByGف.{|b Znl5Xy2![ڨYc5!,!zey٨{"zګQYڞyڮZǹ9:Z {x v!h!i`A] z2v MD6]Z \Џ'r x v@iۡ!N$iV@7A@ F+9-!d 6 |@Y:ɔca @€(a@Ai ^9'~Z E<D@}uYO˨!8[Z-]l81bq\];ÃT\bFfFx\HĬ*1P@7;:N&vMFPT\F"mڥq\Iv<9ʛKtj:H 3ذNݱQ5ɥw7fA޶olŅ]WQFxG-[MQBXF n7mEu"zHP2O(ȡ.II 6Y%R)VmCDzuYfdaBE]M.4 ](F&b9s4Q3aA0I hgrM3i Z(5AQD4҄C,b%Q8p; Ks}q]CMv4H," yE" -7 5=DW!_BAёUBd[8m:4a]ZW!!#[ˮPA"P~bP8II-A8TUe_Ђ&z0Oq%vwu%7`CalL Tif B92TFë́v.r 4@>Z1va q +&Eq^sX];(Bdc@Śq`eD7j-r ᵆ렸G8o^o# #6#%VzQ18Mef$G𦘍6w$Yf4<(s+s*(2(Rٌ) A .p `P ' &;*ikTΨV+ dN F&H*n VC-u_@bX(Җ-ik# =$܀$n\(:xt;b'#bA- ۘCv@;U b`;0N ô;Jvn0&e( BҀ#]f4adPi1fSjb.QRR,(2:W,Ty I▙ewvYJЂȄ1A A%,x@hA9Ħ&c![J'op\ bO$ӉOĹyFEQ$nJsa̦3yI؀G&XeL4f1#)c2p%ln*:шNDB'J;щe"P2NÌeڡ@`'aQef B2ԧvPX5 (CߌY8uڐ\܃vNB5$G Wz5<=Dx&qEb$䚅 VwN*@) )=B& =YeWS9Fg?i-6РS} &8n 'Xgñ:+:us ]JQ'wtD&u ޴`- !SG(ֱvT E\w/ MR.`gّBLG*}4 ta͆x FbZ#)^1ǘ3na|c(1ocyDml$#Cn{\'INJZaf:>c0bs5fl2ik3->V7tfu, @/PD+zьn~є4aLkzӜdPzԤ.OTzլn_ Xzִ^u7⑊]`~Nu8ā}[؈GhcC.ݏa ~󨶵lkڌ1_p{.ݎ{ܣB;]vd7 |{ |/1}# _8? c7=mBB?龷B`|,_y$\!3E;!s<<߹g~C/Џs#FOzәt;=O:ԧk]7suc).v]fO}r{v]tp{+2O<w E)@k~7r!-}3B o_ϲ~o~ O"x4Kԯ z|n_ϏoyKgܿ,q Npz73`q7%Q Mpp & ?xq I  @fp | H 0{6{n@ .7{}n{ $J({{` @g2n&w { 6's~aLJ}^ ga2 Ҁ1  ܣ 'R`sBS{"͠ ЂfT$|lbJ?83{8-ІG -_2 Px4`` ! 'WVTh80 qt|@y֐z}h}!ˠ -@?aIz كzr QpPbp7 mv q Yq x . WpQ ' @?nЈЀ97-3)  -yrm xP>H;uB?a@SM-Pp)p pTpSP1 JyS̀BIa  pY$Ai 4كmI7`.Ѕp >3Tps2nPgw0?=y t SD ޳ y !4RR jI?ؖ WI Hd3 .2yr`X SbPn`'  zIp P`T7E7 9?8(1]xl03H{v `'p TPI? 8 R (`-i M@1#a?w. @xPJn wpbp @\@0G~d ~6nn 1 = \J!p~Pp ?` "xPaJ4M LIM@~aN yj*@m0~gf !@ө< ` `JI - R@ ap&@Q!xPD "J Q=?08KJ ;  e9 RTsbHs;AH ZBmc`Ya p 9yz1~R bv{4n !y88@jWGcd nz p!`1K Ї6jrȬ-`>Spd (Pzx^ QRP>(v#̀{ ?0m;7` Sq჋\ =p 7` y y 7%p y 뚱4 P 芡> Jz| 1(x!sr64tҠm#? }s& ; w0p3 d q bvtb@ s B!@n0çI9@lp$QSz *蓪 Dxw0'gT 8$-p s"Vi|p +x z7`Н!@| w[8z1Ý avEC|RYއs2> @00ztg ( Zw)Yá f0 h׀ ) s}(+>{ p \迺yRE wɠ/%-gW@ x HTƠpsBW,f@q[h.Cx z 6Ƨ1Ip \Yɘ>0 }+0 |3IP8'JL9 ރe[][۵q \hyx Jvz-P8r}ƷM`1ˀ>S@I>9 -3?êM" H3P!IO عR `@8# {Pӝ:EF Ts"7 ;0M bە6'Ps3Ƈ=-\r+ !!q ֬PЁd p ǀNqˆSH "d@ ]<|60\&[H@ q 7pi*Pʠklǚˈd`RTQy د1@ 7lp*d19z 1.; ٪[l q@ /j ]9RMЯ |@2Mȗ?tp|3aP ̾)ˊ g wdIiF M9JʀPLː44(ڞN9T@wb,s~\phΫkPӝ麝> ,P}wmo ct'.`YO* ^$P)y `tq O?{@Yt~ V*Y^ 0 GH>>p)#bp2 GoE4[ M'{y#ت |YM.,f\Gc͖5!3Wb@ ) @`LU#4hF˸dfS>^#PeP\ 㢓+'1ILCLH)%y SGJ31PN Q.JQd,GuAW"$W1j"s։b 1ef*74&r ;Hq1-vJefךBSo'^qɕ/g ]"PD (-r!/$[:jǙWv:]/'d^ V߾'z?fN ÇF*0@UTDl{ NBQyPrC?%|l686&Xc@9~_>ʜ%瘇f4=DRJQO< UJSxYS9Pb8bEu^i3c U,g6Cf3e]e1OģkiLBD4ň|PL1@kq88e,j@F=*Q<82{pI @Dž{7͜ޜF #5rvsG90n%S6xUedya @"Bf>h _NJ)oAFV9xr:FF/SD*k. YY*0tĹF9~fH` KDwjAP1Η<xܬuCP;D`Di:xD!NKBLb gD("DRDщx#Bb,bшMYE*Dbox6IqLoF8qZt\cG>qv HH@1#GFFt$$yEbR&=OvR4w2Td\e+YHÉHG-myK\RG1K`SÜ.yLd&Sdf3LhFSӤf5yMlf3;ozS$8Is3>$~NxS<ۑbGXY;S%(=΃THBЇ6hE-zQfThAj z#ehIIzR`?]RT3eЏ=)V)OyST=OzT&UH]RԢ6UPeOt%r ҪU~ի]%kXիj-Xjֵƕ4kLVµwk^WkajX"6%lBVQe-{Yf @=YІV,[aiM{Zemk]fpa8w Vmou~V%nqZ&w9#H\F7m ?L'I`iV2R@Dlf8os@tsQن p(h1xhBDB1<\C',QDr " #Q|jTϫV2Bpg um7`AOɅ0@6.BGBFlҗ_ !Fe&-Up@&w}nt[fwnx[wM P7o\'x~`@:p0/3~/*^qPI>fpvڪ͒hjW|U\;y}C:Ѝ~t'x8" 89[C7~qbw%WS6ynFQnNJ{w' _q'?|x?^<-?W|3y΃'0S<g=s=g B2QX2z&XR" k["V8{|}{7I_q#>?}?g???_?+{{88ë :s@7%k @p8&Ћh >|A> @+?AAA!4?"!A$4B%t<lB{d 0k87~:-8<ú~{80 :FH8*i iCS;A=>S@% x0TA ԡSY@FMTx9pXTFeTGSB;5OȂB:EAYUN<,pCUPUJUVC-U]U@YOTPVSV́pH%:;5Yȃ+T;V5lNPx-VZT`MTUpxVs Bq-W?=d0s=Ht0OW:`ր%:5xhů,xTEmYQYx09ٯÂpK`YY]S/}͛ Y ]1P]xVcm2MS5Mxڤ1HhI M/P`5UMR,άC*4 ŜY[}K*NHUEB|N%x:M-PX8<͡]]TݽE$[ 8]\T ˵R%: ,<]N[<#PE%ψ@Mx}=}`jN}3V^z`zn%e^mH,hzpD5_M]H<@ t±TڝH%|xҐ}f`Ghk0ȁ,ԂFp$0 H[K}K8pr}~N=rs5p\-P+pnֆm(<؋KCS^W;ukݔO0vWWޝ\ݜ$Eިh5gJMMvc5t90pks)qVpX,v vQn F=kq. Tq6[uwUG*kmrV&L^nu5d`^ngd-l}p"H胳= ;XcEI>;mI& M [G*6]>PX'<%^h=Ppxp!ςOط܌K`HpX*7Y ]px@ $`88Lӭ/V@ӥkM\kX˭qH Otp=x pܺσE}jMi{C,hS= Vq`~(C-Mf-X'Uh}rx D幀e r(G"-xZ]PC=d8 r#e8r 8QOĘ.eiLj>`O0!Ёd+g&Z1`ҦS*E꼰GϸTY.K5əq=$qcꐄ?31Cf!E:Iڅ5$pH tY+2~8Ado8"P\jUXgO)AlEb\bI첕E{tPP&BXVI"6(PmNx"$,$$ϕ  ` {#L"UA2@$AB#䌦i1 'D6]BN_H:]:zAmMB!od,Y ъ5WW!#U'yl]Bea$&X쒛4ul3l^|ASO=Sno\yAAW9@[ tpc 9H=^P !50MEgHT|\yyAeB7C`q#3a;dj892˂haPP09#*G/1`,mHҦj\mF{%'Y`B.QKC ʀN7“Z9%Q"1]7M>q%0@ALtl%ӤZD7QCr@(oP*5"Bf'1O*1*\$%*2m:0b *IRD'Z$/y:BMMJ("C {nlc;ҶcM:ԙv,9xBo؏Ї7Лrȉr;@ x!^h&PAQzv*B2ph-ʁDT!UHR+:QCD4?rEfP9P5A,F@6X ∞`AaF Q4H16K]D`.ɖ![a]rkYe+^cҒB>K8% Vz!`IHf4,$hmfԗ`0pi&(W!B"\&+"69\kE v0nwܼj>hϠ'؏CNH*rq#;ˋ(C涌8(J#DʯHkx@vՓ+/-BJ"9hü$ h1H)v!D+cH Y7D)GF]85WM;P+ ! i(̡ko}v]$yI# T 'FĨt/'LK@VC=‘{D*I4|؏ȗCxZ:h&@: W нޕ[[/?{*R2LUO tmDDDF5\O|mQ\R$imLQT`< : EEx#p!pB!̠ݕ`t֜Q qݽִ M|al]lXDɼ1BD&^l+0㱂xmBteS!nDz"V eWH4$\[8lգBaE\u`?N&c!* m8%YJ$]b:2elb`.)j2^iNğr*2c6jy*&*j$X'8:; kk++r+8$G&+syjnki븊~+zj+k뺖뼢+rjk k+k뺲뾞6,.lN"æk,2,~,v쵸뺊,~lòƪB,2,̖lJTUū:ҫ 뱢8C5Bm69Ֆ+bjbmzՊmג@^-تm~r؊m۞mY-fܪm.m޾-܆-m-z-mZ.~-䒭*~.V.jߺf."޺-ؚlnn.~䊭bn-njܞmkf-;Xb;!A%@m(p+$GFi*"6x8ެڠ!$`Vop p#p+3p;CpK0@B(Bk-(ABr  #G # / @ 0/ p/ 0 Ӱ ð #0rx \%*U6q]6IqEDW;qckw11e?qCqTsY1qR.1wq2 1"O11-q$q[2r2# xB/C0/(r8H-sr1rr̲,d-2sxB xrkr00q111#s'22?13G1S34C3K35g6ks3o3s8w4s1s  B;72 ((0A h)"4+AAS&q5sDDKtES4's7_t63[k4%/27sFc7ID_!5w2H;.A?+>'0 BH%@ 4) R7BC7CCItV73VsV{uWu2tJ{tLYgKwUOsY5ZuV;4MN7(߀O30A 0+( 0u#G'xB)U[g)@`ZsJe5\keJKt\!6H3Y#2fu['Hj{v'ôk_h4[!3)r]p0C(@HB$+2ǔ'yz :xNx0ЀB(K")0"Dx 䀞yzz8#8 4As*:p"((sucz+3{;8pw(B$xB$@+v#xrg(0{c׳C{{:[1r.+Gzs{3{#|+[)0[|c~#+~'3>;~S[c~gk~so~{~>~w;C |C&x6ݾ~>~#'+3/;C[c?kos{w?{~D- 4xaB 6tbD)VxcF9vq!p`4yeJ+Yt%H3iִygN;y.0J`5zQ6p E_P) $K9 KՓF:9VAU!T7b.D!4hG-[sCpAR!FbUo\%*N-$I,Pʏ͝ >-P/_[",Uѵ~o*@csөĵK۹Ң{J[o@b|S Xs "V!Sj:ʭZ račFMeIγ%.k1[ȥ>6i8~o=( 9mN\h PTb+=j"e 4[pnCR0oc1:ZР/ )ؔR.x  8KkFZ`rA 3)$PvDM @b7Z y07k(8\r"B8c@`M`|5`8Vz%>C4M~PV4CT)@ V^UXOEOeG\`*EdVNE]\ ̅ )( F\`ΆDkHsM`\Nx3 `m W%5Ahbab*TF\ₗ7f0@ A \WQQFOaEvp3-Ks K*b*^պՍs٘E.A) [4UٝWlqc?uܜ3L0 P9+lNhFxD(ȁ $IvHX 6Z ąҔcA>H~hč3XT kF>$<,6@B+8`T0.;H!U{+t`n0pUB >dC* "R}PW(%@\.aL[ذ6xd&,`^8ztT^b|$1BL&-!tN P0*Ѐ. h!s\ZH #£ӵ @@b6HTفX#cD#<b0XaH #j/ԢKn'72JB` F,h[ra(]Z- R`D8 2 Cg'_=aC wP%-@̨dy<2j[-H$+v0VYH4> -Py:\`DhCbd9MAϗɣ ^!\`*QcR8/dӠlAxDFJh+"6|O)P&)H"U\Aln@I0My>|.:Z;UV1p!XqV?ImIY*S1C?=6?sU"V"0%Ed4rT R\ZG(LIe@C"R9 .QR)%D,0n MuVP-pa}"YI<4c"$b R&7x\† @^l񊿬K-@^U=S<= ulv `Wi8\^2+I%5/CVz(&3pp]:#r @!`û"-#.e$؈R _(_Sg+$V f${ P␹x$,U9 @?xnr`e\T/r s Fva N--".ӨvȂjgl\mTRΚ$7bųȄ".`+ / \L+)l _v*3WT  |MzX .+V,+ULzw ZWȷ- F8*RW)MThx04\'&l+QÐcm>V ۊX=+*b^|bڵyR0c*RT76]n` V${A(tbpp?[8L%cz«S=wŬ \iY.v"v/oyp9 -YWDw&A^vr $znF Jhb,r.x$͒%tNC1Bq!n,ADW?"<9m ~T8,4:7a+z4xjsh@1-Z^S/!?>#v<Ė~ ܠͨV"܀<'^df:b(ȴ;n7JGYJeFQXLnVopo Wp4ٍ4mqvq'Wr+qCf^i~=kmwus^{>~鍞w>飾镞~鯾yo>~^Þ[I^_ _>#_+/3_7;?!_AB@%DJ?%JY:8xj {__ t@%`%%[v؊_ǟ x@܀@I @ hN$r A@?x 9D@$I54BŎ^!JK>tD؁HЕI ;6 ÎɧPJJիXʵ`ÊKٳhӪ]˶۷pʝK\GZ^u8;sPs%!64D!FM)>&e!Fʦs' nD+?옖B4GM*ptWDR#!J6ѡ[У_Kسkνx?O?ՐC;91SOAo0D:7jIHDF%-QqR7QWHaj RY,N݋0(4hc]hZHUzXZHwя| IH@r,$" 0d$eAJZ̤&7Nz (GIRL*WV$IK(rt# .$]40 H`s#f2ˌ3 iZؤ6lr g7 Nr<:ts'kIYKKTPS6 Rps#C`Lf+0:B(BIOR1z8(WØ' ~ nچ\zJD\dKEh_j[<,(eA$9C2հuό.%6a|3 KZBER9Ƚ54jRgϥ|:ՏM&UMjk#^C`Ykլ~Mz;} ]H!Z3wq6zt@~/ PH# 4 xq~Ԛ1)eY.95'wMͷUl-@xx%a@bu"$\Kʂ_SV1U )2Eb: f2TP{27[TIu&(p P6HɽZH1g4W lꚄ 7 RTy 5p@t RAW; x "2ĚM'|B%9%.#`C-ɀ?#Iw !Z>Pk_ѯ1ŧ8VxHSH ؀$SxR1[Էׁ ȁ"#&$'X(*؂0Ȃ23647X8:؃@ȃBCFDGXH Pe\4TXVxXZ\؅^`b8dXfxhjlHQP @vXxxz|~؇8Xx؈8Xx$h{8Xx؊8Xx؋78XxȘʸ،8Xxؘȋ؍꣍8Xx蘎`mzXxX#9Xy ȍ$q^9 lp&5R3T72  9$Y&y()n76.$v.QB!Mt! )<ٓ>HG"BAa)"79TYVyXZ\ٕ^`b9dYfyhjlٖnɖ"7$$Y"v:Ro9YydD"$P$1Y%$rLE[9Yyٚ9Yy{,0@ </n 4ٜ9Yyؙڹٝ9YY*z9Yyٟ:Zz ڠ(Pj*:ڡzU!J`U2yQW!*0J 7 5U02J2$3 !JQ?F"9J( =JJV!U%QS{czO2P)UtZ_JVj*y ` ybIjJewzV1WV^JKZZBP *ѩTEШ&aJjBqJSQa^ʫ&sʦO%H(RHj92өtcPjךQK* `` >E`%a`ʣĊ: '`S`m {yp J*dzP͊ZP'`&`0['%P``e=7[( : y[Zjp#[t`ڬKJm :7S^++Y*y` +n j*𳭰:VP C)0V"*Kd۞DJ۞۞d/:'[˭K_}ۢ5k6 ۺ2 B &0 e +*zJV:[{c2e zjӛ*Pc2 ` HJꋤJkɻgۦ' pX!ʭ$k: Rj ,9k{F :y[:VZ 2Pl:ЪV CE T+l.ZZ:`ÒUP-†:cZZ*JBK(0) UJh V+[ƵKU .J B ZKWʞut(0z,d:Ƀ,K,v |VܥÇU0.갇 WJvK˪ǭ{LLjZ p lʴʞzE` +Ό{8$=E^[Z0UбktL\J[ʎĢȼlW[Z|̛\ɮ̢.BOVpd*6dʼ+ Ye*V ʤ`͗5+9 ]̿Ŭu\02 {k% )eV )4{L:'`4:*\ͤ)aMYm\9&z)*P MAگ]0P ZKd]/ +P$Wʵٳ(-ĭkq:?˽ʱ:M{p։˹jު+}7̕ ڪ=0pKг_-О}k~.\M۶ ̠}?Սd+ cݵm 2\-ݪMkLKZ׵mBи I*eeZ{ nk~eܣe~nS›C^ynjmv(ptXdۑaMC`WZ\U;0\ .:֠m ^}lG`ꢭPUߋNڷm*]6p`VZemUPnR˦Î z*^kְ* *޺ݺ<ݲeL$ڕ: BZP(_[, FePHV` ռʻ>˩˺ ^}ɠZl(O/|,m}*P+ɐ$&^ ^]Nu!dMe^{ ^kZ} *?)P2̭`/I_4ڷ! /`oЌ` L⃟koNd+ 0 %(4Ln 9\߭O3kTklz;P+=AܞfjpnezK)2z|Z/(Jo\m @AJ8!CJ 9RI+ZA@PFc "*t$#pe@1OV 8P6>T9fʄ pBB-hd*c WFU~F-DS*ت˴Ԟ`Ua6ZPa ʍnO$U$f́>S iaB:v|IP%= +U)A!*JuUGjeW求S8+CWxN2 yB(vHtţ1Ty mڷ*hքYWtnj8pC!(NK-$k>$L?cLBJd(&-8AWdE_1FWIV6 Nq!<IVʰ<Ӯ!R 08N* *L!B̫ a 0.t*k=,ѥx38IG6;Z˩Zs܃RbHPP ǕLJA*TGv20lM8Sh SV# !]~THFB8L>Hxs7:TPH+CF .!C"eBr͹tle[BOXT=Q햫v7'i3K1B*0՚dvWk8N㥊nQ0 9!Şd hVpTf3Q;YK\@@ kb(2 i#hA4uFzk!V&U&9 U\m ^դ0hRc. b¶j CȃCm!AKzF2"(U'&q N)E#u)[= U24LStr\Ԩz+1\֦7A(J N3iB~L 8, ƐLS&,vM9#շ G0G] $N 1N(&x&g(SXN1l W{hd2LLQ~BP2NSGJ&/}p|>c fP 5M2H>3&1TɸJYaE䈽6F2QE~(C*ȃ6"B+?_ZAeL:.T_ AoBqC0= Jv8=T[;[x%I_,V^Zh(J iZ.T7!fkzN*X%x)B >X1hH[HK9Qʒ #af)k_*Uo" ۅv<D'0LQ!IA!n#ݢ3P. V J[lAAI+ DX2\jo6ycq wM9 &A"fFF sL`Ʉ#6h#Q#pV(5) Iꪐ>b < 4Z)Jb $BG"(id GX'}pkB0.[y ~M!hJc DS"2TE+$ZHi[1dv_J p4B.(=\Oꡀ4-,GØ5k B,IEs2򬮱 eYA9_ x-.qRx!p%E1VQo8.,Ujnn,'W9 U(EQ:ԩr% Ίy dnd,EtY0Sy.5&0s5(>(8&(׊s HTj+V5iOZBc&S B8҅5$k*aV k-7(SZk< Y˚T䩢"?v/@:}gxr-3Ġe@͕z#1^H=nӇngwRC9q+MJ(]oFjf-"Mf` hU'UO? :7)<؉1e#6󫿛tD ! ,CqbH*\ȰÇ#JHѠ>mJ*jȱǏ CIɓ(S\r*U斴I͛8sɳτОAѣH*]ʴigetJիXj݊Zԩ\ÊKٳ6È۷p-UܻxKV] L%T+^̸1_KL2ں`-k̹Ù=MG̦S^:mְc˦ ۸sEeG# N}Cμs#G]yJF=QF;SC|}$շ{hhHc߁ 68x9(ᄉ fxWhpA hVt,Ra0ƈ$h4<+ZDRN{QJS4%&l Zr%[vɗafc%,QJIWxM#4'x"'} 蠃1DtFz2@*٩r*js4 G:Q飬ꜧzWʪk 75ĮF@ І)ijAtʬIFml'P3Ns%@kZ5*ޝ>:vMl0eZ^9MDΈGܘ>D3>\@k1#1#@N;@Hb -G@s>3|s5L36 =nrd2(@ 5NKuX[M5ZOM#-v^;65Qic-Q|s#PݶmwtssîۄUv8M{7Nmh[fqS)AKސ c-DPMG|CD\ `ڞKWmczz3@>\*;eA#t:AsBfo~RWM M17sD#B3ȓid-7:P8"!XR>z&\B69աn^DyC5pr)Ѕ@$ -A Rѐ](~9ʘHŏc D>8mU:D&uxXXԚ6kG7" câ OX]NH ҐN`KiOP&p*QW] B%X6:Ք U0mSk XlE)XEu՝ؔh5Wu57qՉZա4;O 㬀^eu{fkbC"Xڕ`M>x,M*٦$ gYVViY/I?0+0II5PRD0°Xg9k\!GzNXxku됅]vD @ nzٻAmRI ?ۣr#Y߇ 0? ̖. >Gٶ7 ip\d.&ܠI↰1J̒ ;s#B< ag6މl!/;RτG;L戓Bd ƭ oёIq<&ɕL3870A*d GJgl9!PQ}6S$VnCrtGS;IoIDkT 6I\hP$xƑ+ XM: ( $щr X}eST"Ѹ=yCv{nˎw@-r#6B vC;b$D~;,e7#NKϸ)_$D1Ѹ785bPbsΜ""#f4 hsبAHnr!IsD ЋČ\Bdz)up.9`[!} O$j{Dھ F:/R\-I`6;tDS7u(F~ $񏬞|ȓ=ƗxK`gGc}Ie1o G<ΊR % >~P :20HXp@@E 2#!RfqQ8!.8E$9dcA@BhD8ExLHN؄P8JXOXQ7ņ8xwkzA مޥ X5Ptcvwyx {؇zx Hp8p%p(q @| @ZB&x&ȉ؉%Q[,Dx 6k4a[&09&(8H^yS`vh S:4XuԈhSy$L4P+1&' Rtor0> 2끏Ӡ8 I&hjθ8379Yyّ BbX_* hX<1*I6Y8y6)P%- ƸL{,Ys πH((8``*nUaRN0Гa bLjɘGД`@Ҡd&`8(!aq&юY, 7/9:Ԁ qQ|@-іbz8bak|yO`P,'#tВ7O(hJz9)ev b+ )! p@ ? h IIQ]1(0]R'I3]A9 @i,? ?f㞱g:xM ]+AaQP M&#mvDb7ia ꡚxg+; M9 c9Y) ="10(6I>(PB'J{B`AI,> ɡvM` 8a59- 0[Ylc*P a<11ڠ =@]@M[,,4_2]*fbq! ejW'h\M#y)I afƠx4s%9]  ᠮP_ ٚTeuZ?i6؀yUu (Zj3B ɩM&qa|b ꏡ9'Lj!QrDZqLX Ѫo ੉9K;:ꕑ #@ɖj ӛTI,V8qrABq,Z.9*(4j%q+iSg ( ܉P)t?tⰒJI6tLxی1b[ؿ Ê#MxYE3F.0H"I*l-39<3̶=l; "#5F103%\8'-:21Z<[\^`<s]4s{n-E"PВ8s9iǁ}<x̢8GPmPf|ܖ,ȓ ɄȘ,ɚɜɗɝʠ6ʜ3P)DN 080g 5!p` >!+(y q a{!/{>W Am `R Sѧ(=G}G? q^cÈأ~ǐ{Ӹ  QwbYnp{@lPA8 NPx]P- q~࣊TP^wN av[N ^1l)_> TL* l^u@ | Ͼ!G^41<Q47UVV=q1 \Oͥ Ӯqp `>y ;so@ P7=IA 78PP32! M  p1J_paz=/wM!>o &q -.4py0 s07~v `! ] 0-`%.;-Е5qV?  ?(+=V]c} b@p A DPB Cp@!EAI.qA18}D$PԽ"hhS\@J8Q%J_ĹShB_@c6TBUv+NK^˘L1fT9Ap*i͸HI#ېY 2BAx=Y !0s(/D|YtA3!~%HBF5=JY EA1J#;q!v첝ڍC D`p=ut)uC}hӧŦ"[H1A ,d6' hf; z嬂K(B f \P!)hN)A U +Ƞf@ eVc4Y/H!DVmSRL4R&2J͎i饅p Y \l]:LR6 &$(^"$:p-pZ1RKDmD|P9: hHiT2OC UB-HһB,HQ hĐV259^`VC X SYμ7oz%vDL SE-Zo1 q Z&Ϳ.2ƁEwEyQfTiPZWtmkēN\LeT)Fka2ٱM5r Uj-g5ؠ?gz̠ȲU* [jMM,œ q.*7"M}+h*lo@]^XܣY%eXHa5Lhp!:|l>HqA S%;v-/7 w~ ?cNɎf[YC9`΅1.{:$βSbٕB!oh\Dy67o_7ߦƯض0iXA\R ihk7/)KrP4VK1Sy[`>/%HٸNH _֐D1L mC0 3a69"wC-d;A8':#)X&g/R"P:$"bhN (&(mJ7yя}HBҐD?#% #"I[A:A,Mɱcـ:ցUte,a9KY@vGx|(Lf6ә >_qhA-~lRd:ՙNvӝ;N |ӟ(?ρ5hB P2T C%PFhF1ыvTGERԡx=OZ/uiLa:SH95S"`>OTըC6ك 5QmxUUZmP]*:VUe*AҺVnUg=VU޸k]իk_֬数U5^[Wu}^%U2v^1 ؾeg3;YմE-\=KVNvq%mlA;[Zx=cr%p[v-np U # ?rLԀ*v%դdX=HbeXqXJWW\ۻ޴mwjְ:U-x<޷ /g]y]B_.ĪmAr*y;;_zVoc Vu}qr6N >nn&{Tm-Fd|*%5yڬؿL`n9~Ye5-ZLg^巾{fs)fð%hܐmɕA,Q+A1RW8 n ӟFF;H!+(&63jpw n)=5+aSNH~?0#[]m`WvmWsfV/;i9g·e D>+bdHAMÑ=fG P7ԩa j'RݥGPha[Fd Z!i+r׻w޲be6,Ow# 49_Wfj&i M:%в^>;TS0@_+C^͎zPYa"~etu?Ewws2'څJU},'y0jFsC}#w)]Bd !lR# dz5w->y_喟܁y!zo箝9Ot }6?9|zöF%ti8nLK8@K;+reX芻5+ 䛆%<K\2˾?dAoS AK 36΋d?rς? c,7 C1M7 ˭HL8#W#IX8.ȧ #?:+=lBkAx;:;l˼/d{??7{[13341YIE G],LEa@üLHBlH`|HïHңN-I:C*Xcw \LzBdMĵKI|F$J7HJL=GLAlLlJw#JFy{B,JNDWQP5lFl'J}:ILOOOpOЃ%O#=qRNx1IMIJTTJԛTQRuR=US T]UU TVWZ[eU\u\]YU`U[ VbV]d5VeEeufbmV!I]NOmnVQV!yYHM(s5tEuUvewUWOȆ"H :|}ƨQQS# {X׆u؇؈펀Xf{[1X0bXّ%ْ-YA{Xؔ ETQ4ٜٛYhR]YiY0 H) eϝeڦuڧURB3`1گ۰۸XmEvEB5h۹ۺ%YZoAۆxT y&aX5Ef٤ 6Z)[ɦjݔ( % kLڱf78⡓]ޱY[I]2Y8=5q݅Pc(A ޕ^ڐ@M!P ZM]vu_:YO8 EE^ظy`ݽ^ᅯܪE =v`:Y܂UR"0"%"" `aޢ1"#Y>aaU:qRR%f&y _Zpup)+b+F,/)bcI*uF%T'f6fc=oBB|;<=>cxThPEBNVENGvHnIfJ^KdJdILdNdMKnOeNvTFRLEAOpHUY&V[:0^-X^b6fcff`evifU]mfMflXbq&gs 8[q.wg8Ms vFm~)egsu| ~fhf}g{.n]wnh2 huF}6铆iuf阎>F&ܒjPii6 VgvgfjP蠦>..hh#IN uFkVk&4kkP&k. kf딀p f옾>:A"썾v98ɦ 0X`fh6p؅E(h&)5lnm@@XfxfgrxGX,>mm&n|掏xn&gugF9 fmlmg6k^ liV@xjH&<`&H e.^h(9pl0kFjxm emv8G((vV@ne7r7~nNHx#r'Flhm Bop@4`lr&l!=7MH"W@ܦȎoVȃY8lGPVqAnqkN7CN'nN r3ToO>9ZwM`\\p@4Wa/Ȗt>mVo>(_wPwjwv@'m7\Pg^kv(w{&lSOlpyobRHjzjO|f.^`x^/К'Ry'G' 9wOaHx\8Riy~E_jx'ٝrGORxXy'o_U?y}GܧzG`w{5{?f{gڠ{-S(#ZUBc56Yzxz%Ɨ݄߄l|ͅZxR}[Z(WW7ЇڟSw}}8}wG}'eGf:gLZ~y~oi}߯엒~_G@twإha ;8ȃ%,h „ 2l!Ĉ'Rh"ƌ7r#Ȑ"3*R'R*Wl%̘2gҬieɓHn'РB-1'JJ2m)Ԩ2s""*֬ZrdHHx-k,ڴj"M-ܸrUHٺzw(ҿ.lcÊ3nNǒ'S,5̚7sjjТGVlҪW5زsGٺw (g{/n,YoyQ;v, :. +c~p׳/",NHyc7 ] *y- Zxb!!_y8"ji^)"YWa5Xԉ7OGu< 9LI*Rr0$QbwLGYj!bn9&}yXeʷ&R)fu*ع睆"x:s(YhJ &jछz`~:ꀎz~wN!⫵^rOںkvQg6=*,b,-eْvzڵ~;f|䪛Ү.ej!GK{oc9B& ! ,! ,`H*\ȰÇ#JHŋ)v s-Ǐ CIɓ(S\ɲ˗"I͛8/"C,ϟ@ ک d ]ʴSJJN;(\pʪׯ`ÊKK@~@0X{۷eKO*j!@03 Ll#3$(he 0Adcwx2 4P,g2Y3.=eϲeeP 1YuiŇcU2!\7Cla35dڟ)s˟Oŋ_V;shiyi6cp@]nEYf}VcEGy蟁a!vu[w"iMnueQZet5P')D"ӵt9-mY&ZXw9(Yz'sxgoq頃c&2FZyZm6t=d%(^&h| wiT2`Jgg>6&tmwn[&MJgzYiZf;fzyk<שfXA,*Z@q`ikuYrFfjr emܒnNfqZ')&.}K/顛b*ntTg~/qPm֑j %oqюgN89aqcTχ~ W4A }B H = XIqӹַuр}Zj <( 6p; ,rQ֛Vnn{w~j@(kߗDhqQ ͨQ ,IHX_Ͻw{g|A'ρ4B 4E/Bx8/ˆ)~̧-j_$I@C$mn[~T87/#Z!w˽`@<U/@0z 4 $  $Xw XX%$W*7pmxoեbI@OVmEYVkl}FxHĆ =s > |P p Q r8JuWXL9VdigmPq"0 Ph"raN PzMmr ^]G?Q`P}ȉxm pxMሳ_vyߕ AfrDo(s- ָ tGdp n @@ 8p}soxa rg{hGjP X  4`{ֆ"ؐamz A Yq`FzǑ"w1`m1 ,sd/ . ҷ  g ǐ>P>u-uWnhvцG9BPP {0姐bYrǐP9`!i{&iv(rצƔ~DŽC `Ѕ}  И`I6m8(~.NJRiI@B:DZ * JLڤФP֧(PVzXZ\ڥ^`bSYcjlڦnpVJUjzz|_*@ڨ:ZzJ8p&:ZzZS :Zzګ m:+HZzjʩ:Jj*ժʭZߺ:暮+ڮ:p ʯKK( ۰;[lIWIa A" I z02;4[6{ 䀳@³D[F[{!JۭoJ+KmT{&U{MK[YKo\m*n`۴+Ha֛K۴L[sl+s{du{O;wj۷۶{{۸밨p³! ! m80FQʴp) mᑶ} Л n{:ڪ܊b1Zڶb;RP{ዶl׆ [к@H D^  } + 7 j }Vg0 L۵}%/JX[tx[4g껴s 2|؛kJ˵FVh[zctB)\7 Z\̸k^ Q1r8P!<8lo pb ;8t9T?R sc}Y^l, a<ѿErz,ƪ{FK@=ҥpPʐ ޤ{Ɣ1 l-:pʓ⢫C.Q,o P0 k݅ˬR@l謰  ɒ` |vL @ | {#-} t/:Ւ- {UmK$_-M Ͱ.!0ʬ"] }  \nӟ[ݮ ~Jݰ "Wĝ+`ɎjC^Ӥ[-` ɠzim|^@W#c< T=`|Cm!qP< E7"M @ʂ哕bIƪ&V]&I.M@4P>ԴE"-R@m PLPUee4Uo]ӒR=t_E-@(2RS"P]-Cht\;UYYYP$ $\sE7LpnqV`߅KevX#_yrtd5Y; jZ.W asP*3:X ,Ӑ\yMƒ F9eWVf!f! 7gҋY:NQf.3F|N 1;Ӻ'ӨZ0%y0c"/Je&[Y̌f۹mN5掛nmo㖻n.%og_'\m%rgn3sC'}tKGt|rOTmoAp|wwtAޏ_>デwz7xߑ{/7_zo~ߞ{?/}C`@.Ё %A NPxK "`xe/ܕmCa UBЅ- e8CІ7auCЇ?b8D"шG DzɦOY)QbE*J<"BJ!F+Je,#x,o#8+qb+* 87ql$d7aD1d$%9IJVҒ'$+:`l$ P2J;"E0zY•e0lyKYҗ.g9LZØnje.m]ҕʼ%-LfҘ,}yMYf/}!Nrj3ϴf0`δ&.ib"ә&8Lpt6Psh9)ЄެC`֒hFQnԣBCQ'ISґԥ-Abzsg@_l|*wG.ѩT6թOjT̩VժN1s Or^jX*U|bD+YϪUMu+X9׸nծh+^׺׻կ|k_W6%,bػNJjdWFHlpƺYvֳmhE;ZҖִEmjUZֶvEfe/ֶmnu[ַ-b;[ Enr\6׹lqTV׺nvN׻nx;^׼E/f R׽o|;_׾}_׿~`Fpupp%E=hBЇFthF7яt%=iJWҗt5iNwӟuE=jRԧFuUjVկue=kZַuuk^׿v=lbFvlf7φv=mjWvmnww=nrFwսnvw=ozwo~x>pGxp7x%>qWx5qwyE>r'GyUr/ye>s7yus?zЅ>tGGzҕt7Ozԥ>uWWzֵuw_{>vgG{6k// >wt@UBwt_8h9 -`"ߛ#j{*g7 !/N< vczݠ~o {ٰ~o}-XHmTB>3 Ng3w+x>o;⿽ӆ_{_?}?V( ؃T@N܃KK J>h;!xV`C=S2V@JhG=V< kT܅B$A;B;B(H%P2ϫ=?c+C?C6d?+?3=S0lC<>+C8?6?ӿ@>#DAT=BCCC,1ڰ;h!@NЁ]MԂG ؅; <>sS"+%1V(N,GHA,G(V>[T];XEZ2XhT1%d,h;MDcLeԁ= A^AG`FЁ"C?LC4̙>d=;?D5Ӽÿ3C~ H@7tHG?|dDkČtG`F@NKDBh;QCmL \]hI[;D(=HDD!@N@=@R8#ճI[L k<$]ʪCwtSEK[D8HSĊțȋdD̢A$C|H4Lnj$LLDM~,DDL\D˒IhG`LxU\ETNsІ%G GV(ɹD(ʿ"|I!tKMLKe<[KpIWt˵ſs*2;T=OŤL1L5ļMLɌLCtHeǼPM ǿH$?<0HI$ƌK{I|mQkh%Rm2\<(D*k02n";&UdT=)MO!`JR+2R[UάT TGLMMДBރTM}LՇHBGUUSPPU؄7U%Y3ǏĽ%h{IޫK[]]d؅*ؾNIt00|W0Nۃ1^tZ܅@XZp΃ZT?uE[[ƫeO0*Zl~EӒY74Yۂې\ՅUʔȕ-tTuX㿏mؗ\Џ[l}YEUZX-H7Yq,>]٥-x,#Oӂ)]>(zTVʐT,$TT^[^TKsG0 J[[Q Pm_B}ьQM]PHXPPI\]#Q5Q\eZMEPBH̻Qe]h.a;+(BHNdALʶ2*pK݃GGlVaᶻ^$Ū\=(!.bAϧb"n;WE7~PMUETM=L\_5\lecT8BtfT-]Jɵ&U 600H]X]D]meAeN`D.!nl<]<8ak,t]֐S}@-J@Z&/nH,%e1wM2Ew*HOEIGlUB&ؐXCf]0@c<4CX@$ڣ .%nF!DHh{ݠNm 켪TRG]<-Y ]VݾЃՊ4?6hTX秎= jzjJU03=B(,BN<=T*8c6\D=GΓM?.lU5kȓÖjsnw^l[%h33W+, 0VL=֍<Ё 8ن8XE}m,+.m!\FCn\nݿms! ,NH*\ȰÇ#JHŋ3ܶ--޶ Rɓ(S\ɲ˗0cʜI͛$6R@ Jt(ɛH*]ʴӧPJmj %Xԯ`ÊKٳ,pXɷfEKݻxKp @|V$PY]̸ǐ#V'SϠC̴40j (0l PN͛A طe @V nzԱ[}w໇>=3_nկV{}zgrh={] `6p!ĶlF(! Zh{Fnʭj"o9䐻y@mIl؁W%Tf%n_b`nۙR8iiitd)fVT|٥ Ym'hh1G~AYb`U~!&g7gYjC 4}CZjBnshYꄘ"ޓ(^mFnV+m{Fm~7`A(YwvKigvM "hnmrAOJlt+L饔p2w6Dce@B"mi2@ l;r+{޶r:s@wmf| *t\-I9ya`ˁ\i.p`$ s D 1p#7dͺ77k"f߾ 쯼|)!8>z?g|,ӹ{>(O$Ny;ozyE@>x|;7\A%2zF qT]bn%i:ʈsEУ0_saH< B LCH@ p9 <A Ђع3\~ &A $@ 8.a ? ;!BBW_''960*؜ z]j /H xB4P43٩ܷ6d[Nw% P8 Ap]b $H@Np ECN{"'IJ&a4Rғ6I,lm&4$-BRFcd*sJIkc6aQm#AE: nu7 2>4mT6ۧM` |ݨ$eR 8 &v>/g;U2Ȝ*X}RAJ > ]@MʃpJ &I鲕 T:/V1ņ+tX.ͅLv&R.Y~@)'TOe׿i`T?,u2է`T :fWךֵNh}Z*WN]#'}*`*X:6Y] ֹUv%VkXu -xXf9UVUKla?.UmZ_KUS?r -^5VxldLʉr.-b1R.v]>xEoy+wuxi^W.~ 0;8 np`ΰ WGa ,՛^ûfiG H?LHN{%/NfdTy2ūeƃ XH'Bg$ "r+.>~`3tܣ5yusYǒչM]ڪ>t h2:Ku4"zѓS+K/Wj+w\Ly6/KsVӝ5AW57M]Zz5׌5mK][ [$x ,xVn:볮uGjjkʉe|5kO >ndOMl]U$fH(\8hM p`NxoEk K4'h玺Pk: ٧D_Q6rl+5cPr>L+U< .^f8=Z~2/@E׉Er'4@wESjFy8ȉ p@4phhh{2 9ph4prȡq)>RxaXЊiEȡz8Xqvʁ"i2 P>w )"0Ch{``04` "Z yPp{X@y ) @00qc4 yГ])m$'' 4{Wzw똂 44p  d8} WpͰ gA0 Q m`pX (3O "{{q8Y*r/j yX+"P'mhWO P2r ~j T"}qFO2тq) ]g i C 2@ y@#y9 r`p<d u' 9]ڛ ('9ə$W"Jʔ)j SC* "p  J]iYp >l`:( j`pzU pqt p`>* y+T`#z2_o#>{C9w#@+I헦 ?,jJ * )X+%n pǦ/~K% *~)P;/P(c\ @W! `N*2$!|ŧJc@(`/@dw X*"FBZ=}bɽ¼Bat "ZЛ~22lp p!r#Z2"܀OcfQ0, ` Pc {` ֠ rA+ 2p~ 2='$$ªG{y*yz{9ZpzӚRs9 mk+L(3 Ai"$<`'Oe : y` [̱ظ|w*` p]|F|wԯP΄(δ X1 pH8`~WJ9ս7`#`eE< /` s @ I7 XՀ꘳@о=}ܳ(u%ZL 2+0 @yPvKP ) ] УVp_/Ѓg[pm(gftq w ]MgI @JWw(#0ׁ/ 2M]@6$0^m& x$`ի{YI~ A||EkwesBn̎d yg:`` /@lH)~"x'^rPk0<*/`)۬Mچ}Jyپ .=M" ژ 9k "Nxٟlpр{X *'9 ww йE HА]d8jypΪj j&Ny쫪pz7}!ˉpL{N+E>+gK yI 2yKl̚jmp"=8z-* Jg)H {TI \yP 옓\ᗬm[+9ޛ]o-H9;6~>[Fzk @{φZȍ"X鿽qmp zhCO (|Cⅰ1(0 HCvDB/pp99$#@M$fy^KB"9}rh3V4W& A5$ISӨS#䑣,<@/| kY*O "D*Tmb<Ydʔa=vXeΝ=Z (hb\TR0벆; 0Z]A0d\/c^xdp <<,(՛s _to<(BdOh  'SN! H"#3g p! h/ D0 HE v!kÏDDLG@$QH/]Âx:1^iΜ #5 >11 MQ.+)Vr`Q)s'P:90PH ?y #jp.I(#-Њi]O˷(;)R#Hf C '-j7|J #!B9%(Q94xhe2U4q/;mDvʲ(+,!; fQE-Pd=ТY+JhFֺ8ER\c(cz/V0*/XҗD˂ '? BU"0Uize!:4 1UM$h <TҠVVکπܩ`!슁,Kc>H": %2B XnT\xDڄ9H8.sjHg9B&]DT԰ŻmQ2 ' E 7K!(P$"*QBTb3 E5C`$p}8L:P,dIIb/Ğdҕe6IRҒ6ۚD҆p$e(E)IP1jZjSdr~c+<-C]TȚʜNqp K9D N17֭9ؓ( dSغ1vQRXP|NK40P~c1ɂ-%$! /N9`̾Ҝ%`ZR$g$]H@$v!T`:TRl)Kiۻi0W4GK 4ҩgZ &Jn}31GV%4}cx~s\"9WϽўېō$a8*~%,c{P.TBRU&LZK>Cj Rfr=T]آ:meA6 mpz@ L=nK*׹Mr{5<+WЂUnDYWyӭ*"tdhk"d?CDun_T7х.k]*Ep&/Q) kp;Auc?rc GqEd$ơgxd*W^2e.wGέ;1#@@Ϝf3Y2hff8т/ zЇmhF7ʈM>!iJOҕ4cH[,nE=jRԥ]v5RVJWvu_^StWyYUװe=_ 6c7M6=meW^6:l{mpۺFYZE|{w=oyכ7-G:S%=xSnC/#` n=փw%G|uH[ɉ(qT{&nH-bcW7Đ|ye>s泽yt|$*8tG7zґt]"KU(?P6Hkw_w#֕r?0K' ۓOz5-ԷFSzɪw}?̙sWyJm-!?yWޒ|Uc?]Yj~(O/i+E|1}Rq_,;Sø[ws/y*}/PX㵏[;|=?~𓶫_mֻM ZGK]bWhz?ۻ܋*X2/3>Ջ[a@:@R@@ߓ@ A l#R'x$KcA>|AߋAL3;j'cK<=Q AIR[@'k#i$9D 2ABۼK:?4 C(8SHN+> Բ;/2A>l>,z;s83@A,@BB?!S;ޣBՃ;)A/r@Խ >TlC=d4C4 D >Ƹ3X9>P_FcdFbDfLFgDc|hFjTi,FkdfhmFoFppFq,rtTtDGq4Gr Gvy ҹDPM  eEU@QH`( O*-Q) PR/0O2,)9ӯS6QVO6V ppQ)ȁC SP/=PHPH݄ -`<4SU?!/8O8VUSM8US)T%HNX; -5Sc`EQY=P\S r5ע/*? (`VVXX' 5PT0}*M >PXXPHXS<L1O,UUHhY}ouPQH@X5uY`Ex5XSV8% ́>U?mWV8Sr=תڏ`PP2@-`) 6 IP3PP3 yp[+@JM3ȁ:[[} VȁeUɘQ\Ǖε۫%5JFDZ`| L]н 8 }]Wk -\](X\р50(8]V>\`E ԝ}\][5ݢ|Ӿ 1[e䍌8؂oEE^θ^* Ł\E/x}ѕ  [5@_@]-ۯ-xu} > H̑/ &ХP_\^`7>`>ݕbb҈bʨ<  ~} $݉a؍Ȉb46c5:_΀ > .ʀ?3A FZI V_@IN^5`DCCc[HSFeXZbш]ˣEKNZe\E^_^ `&`;bPfceegnehc[idmfKp@t p8_r6w@r~sfggrFv^z *FgssNwt瀮gy>_{ Fzugʠh|F芖ǰ{ii&6i^ih~in隦>_rjR8R`R@ɘ5].΀ꪦ jnd m>a%jH1;QcIxݕ\%v뭅k\븦k]nk~klVl&N^lvÆǞlΕRe]jHj _@`^@^ؖm^mȨ`nm^xmخm׮ m؎`̐>nF~nަ~m.on6o׎NnnVۆn .vmnm_pp pgp/ qOqwoVpȰopn^ooծ qѸ/*nH o~r%njogn*Vn'""'/r /o45?4ws6W67:;s<=s@r)O*rΠp wGHIJKLMNOPQ'R7SGTWUgVwWXY/Φ[A\__Gm`/a'`7a?bGeWfOggvhwhivijknopvqq7rGwrWs?u^xy8lz|4}#'7GWgw'7G"@gw'7GWgw'7GWgw'7GWgwLJȗɧʷ'7GWgwׇؗ٧ڷ}^G~W'"+H'~}1@R( ~!~WXϠ1@ G4(T! „ *lpA+TheMۮpX#Ȑ"GB$i!Ó*Wl%́*PGEt,"HcD)JP?RЧ o.]iEP+JED@%X?SaS -!RtrI\ʨ-]:m{KgJ M]Ȓ'7JM7[F2Z5-3BΙ5sN Н/ʄ ʽ]'PA%N9rJ0UF`e9s @ ]cy("ݠ]AU~ʩHbIaiDXSzYQI+ AB< 'V4H {`HL*I+{%"A*XJ%NI2XZU\%!hb}e8G@6eI* no UQf4@cn A9ЖUywQ %f:p.Eu)ft:LF2Q2=T*!|Y%Z{ I =I!9P+2!D.46h .4'_YUJp2FBa8"=PF*֮r"kJʼn О 2 =-UQ@`kТ.y/LUF'"eU N(wU¢`iQg:LJ ZXaMkaD}71F`\%. 2 ͤA79%'#3ĝL,O'ég(R#KA=x<.O=+.:)'*QSOT*&ȐZ=HP*2B=PA fu}r;'e9 Q.Skb2g=mZLg2/{]#&p۽_xR_բ `3_ɤZV 860o6Zx&C'ϵ>VD'(Pb{3z t@؇ܧ 0"$6dNf=^: dB6-$|%%V`O 1G)D!F+ GpD( 29TRZ%]&#PV{ā22$6)HA0=F% XGKXZ1K Lx!p4dpkCH%bVBLx Gz.6TS<GHh l(X[x5V*P1<\*B٦=i]wJx$Ale2^x@S'Uio.$H֠8 /64

sP AeOͥ('z@X7/\BTQv+r'>YOr0ʆ*58zJ\Dq(qsHp,BRt tI ,kd"K4zÍtP ܘ@J'Qni"DDZ'` R02;)l>j{6Ei~Iv,^9 $bXy/)b2Rmp"xwËH"x^!KXYGy!WZ5{!!S*zP%4g  SR_.Vdt  !Pk,6yPn8 2kZC؋  z+2%3AAdh-Pbx5sQ>&@Y7SS$D[n*s@N(|scJLBtg&P{@wT'D>E&di$@& t)7LoQ`4h js0<"g/2S+3p*PB䙛B0/} R#)oAxO@nd PEa.DxKGPiO DiQUELBن]<dNp8s9X^U©h,BADeZeg[AGm"aDL]P$!DmTUQ]YK+ 8Dƅ5`CSRSPԮN2Yu`wKFȓ+_μsgQ`@L'75  _PfAU lg| 0C'f "]YA$*qmBTi7|߈$h ]Ȁ1R\LGhc9$@NA @"N:Hc6S#HrZNY$]9h⨥ado6gP wP`,0ZBQx fac^Rw%v ycy .)]$hZ#Jgb A"9?cw2)jmB0enz Bq,t R T% +bb"[$f+{hV*긬c8 IjԺ+g-Fl&nv0$+-ˀxA'"pD6(y8q@@JH'Y"Y2cztfMm},^ $] $K+M&dt[']n|7Խ -hDP}\CGPotBR4砇\#!cM>R없c^Z=꺬~:bn&'kˢoR=ݘ_-^%nuF3b@+Ԓk!B2A(6.Y.Ssp7ҔZŭ)GHǿ!y۳) O _h@ 9 8 "Ig0* "a? !3Kx҈N,gT(.f9ӟD0Â~Rh, 8W a5A?)d[/0bG- nJZE*vOiEʼn[rl^]0Ă< 3,4@4d1xF9ꋭ 捑|YEAsДqR((fmy@Q2S""I00 a*yk/̤6 z 8Ir~МL:<τ  @ 0G:s# 8=\TDlFTVh!!fǻ[ a6fd s|'DA(# x<@1"R!& A=VoG{AeNlB {e! 3 D >~9%Mz!(pL_Q'5_[zD =Ok+_v-2TV2Xmw1dW>nj}t_ymuAf`75  qWy 6wEq~$Uv\w7h~Wx"GrrWrzV_)rH{!zWa$zhs({2c@7ta dPpmm@t  Pe``` FYY aptTXu7^G7^~6^$v &n@6dHbiW 6xoacd8^"~" @eytq`eWWfh6z7/zV6i*xhzx,(Hz39 .h ;0@ sV@ @ q] XH @ p`.h]j (ġ&^Vka@ ߑZ% 4ȏ` ' F cxm@oghUTG?o .Px4Yڱa5(KٔIɔJP9NIRHyZih ` @ a¨N8jI M`hgyxy xЗܐ=hfPM@ H 0Ny8 ЌhWX ]@ \YNb.!^ 9ug. 0i Ĺ !*vw\ *4qqv4G?hvsT}m,F?xv'ܙå [~0w!8[ j:YI*_e;ڸ;@^Mz tixp | 9} A qCc@  ]p V@ @ PȨ`6 ^#"jZmoo'$UskHrp 0m$mVmI ywBpc/@ѐ. xkq @? ZnƇWpѰQIpvEYFfр;@$XZ:``wwi spŊp5 yy ɗz 1 M@ PGz! s;xٙٚIH ty\Yi 5X#^XPb$ p0*°bVWՇ{ @ 6[GYIdmn#fddKVМfr7pMe e_kekfS mV MyPٓ&ʱz {+ڷR ʡM0銖]pݚ zzIi 8*` I b ;.P^8.@qа h  b\^\zKh}^C~.RbiȊ" [ epbgo5V EkC| 8596WyKTge;|뷁 j;j) @_ sp; ;0+"< ۗ6j.k[ãPz >|   CCH PęVzf V얖@ peż Z p\fyaIDAEwɳ52PP {P $Lyⵒwoo꩒8hYhC (ulyЩEIr9̷fʮ^I J cL İdc/}ėO <͹ [|\̊ޠJl|\xGI4Pe rȁF[BXI<6 < rF?vblpl5x~iCߵ\ʃbyz\ &}/ +*L\E6LHŀ{_wƍ\] Jlj;Y9IttH=cT +ϐ\1ZLS=|ռ%hM Ѫ\'؂2J88 Aْؐ=ٔ]٣ Zٜٞٝ˛-ڜMڡٶ]ڱ%ڱյfEU۳]۸[UY \ZmE]AMT[mǭܱۚEqLܻYӽ٤mڥ ==}ߞZ߸l}}غn- N z  "&~(*,p2>4^6~8:^gQ !!. ID>.M^Q>KNGO1\^`b>dNpe7onp3-pxz|}~^~R>^^~N@>T D봎~n^Nb[Mޚ\Nol߭eS mT1ȝRQVۯ[܍ۿ. >>_ _>//P K "?$_&(*,.?b"&E-S}ϓuA\3_QAo>Л|t~Yǎ^ϣ][*boYa4ɮL/npr?t_vG4a #r~~ԸY#4Rщi2pQL#Ʈ/&%&/b&$U\rV0E/9b['/6[&1EƜBl_ȟX$ Np70& p? #/Q M`op`\-'9qA D@B /h !N`'6Pă=h<Ĉ#3BX1"K2IdpA0gJ#3̤D)1t>}ziSP2SLcEzT@WUfVmD;U]W\ueP^}X`… N VvoP&Ta(KTY6 BD@!i,?ެh$D2m7daG\6n{xurU^[ L@Cl cr٧s'9#2] -*FhB+\g@,(pNĀ0B :B /0C F43N(@ BAU4P%($i&,W#ҁNV =}[mNU*7݂Q"Sꀣ2 F,DX@ +rFVIJM ]ƌ}pt (ЀS1:i&}`$IdL7T9FA*`J)rX@F,CpqB/X c69ds(hbAK.q#;ngBd Hq! ? C`F Sr7ЏU%)<|XEp9(N)9FUD8@h7[4&]k52)MS5V K4HM<ڼӛ8!NB7% rI%5p)GI 0@E!+)l"2# 11= HR rft VRFDaL;(1 r0@iHRB 'E`x9%pB ?QnOnh@lkPrQf)MyLRU8)L`@n#U }Edi@~Q3$fd?3dN("zQ k,Tъ@@FJcЌ9Ha(\?VU U034B@Ô hL(CU gx R`GZ 91r(QB_e`QV -1G`3 .A C314EtIDڭ}`x3F='R[eFV&E\&Z[.xF̀=bOFU@"^| Ub1d~$Q 2Tp~@!Q yFm5U,C*dY)H!Gqea؁* (DfFa!\ȅaNQ). -(^*3I085fFWU27(56vLpBH2L;Yfn 1b8myQ#(h#+64bDV eKj.`Fm sJ5) Ik6脑BqBwҝR9KI<ߥV|X bi/lK¡+J ڢ6 wQF(@!^cvcKNB]PK&@Am?9,S J SD8W\ j+H"-4%)T kQj d@Tc8WXHM, Z RܠW)rH'@h0_c|@#Aq+׃ qHnR1qeā~Ȋձ>L3@8]`?DG} hB+Sد7bX8 DĿP1d!'"\8؁ < RȠA=DG"V @Wg\?:(8͗iu"?hfVЋn@ϔ+XhS4)N~?0 wiߘkX0D@^@5:(.RrEp98 1P@o[ F8Mhᠴ";kdR؁qeh8dDh`Dh*;+3e?0:5`X@!+ԳUDh+1AQZ C~2:28E @j+( @= T@2p(2p$C$!l&RB~& 3B( +wiD,dMj47 9$\F8B~X[1m1=15 K .2Ƚ:⑂Ch2u¿p ꘏hT Y PN%y7# w~r%MoFxG%[,s!c7SiS wˑx,HoF '$R1WFJxt71:P`m{t*oIFUhR3dx$ 0c0`\1Lɡ%|tfo"))R3oJ[I{KlLh`@xDofHSH;cK0X"{ G%$0<1&jISwʋTJqGHP@qJq13p q$M!)[ĘdׄM T L͉RȄDNR )b  ̺ഋ%<*R(18*z,̾Ϋ(O5 Jeob,l r  R h\ )R x3|4"ERDR #R%'%R(ER)#]*#*U,eR/R-S05R S2R s1=!=R3e7S5ES,S6.:E+S2R.6R)BDE=TB]TG=,ES@TJLMNTUIERTRRESURRWXYZ[\]^_`a%b5cEdUee`}upVu@hkh kVj=nVw|hȇtUueveWzxWwz{|WxuW~؀WWW}WWe؆u؇؈؉syx،WP% THʑG%ْ%Yeٕuٓ}YYmYٙHʜٟٞڠڡMٙYYښeZ=ZY=ڦڤکڬڭYZuگ۰%۫[EP8U۴u[m[]۷[ۿѼ۽۾ۿqM5EUeܺ %ƕɥʵ˽%ݐEU}u] aؕ٥}K]]0wD]5^e^UeE^^^^^] _^Ue]_m^^_^__}_5FVfv &6FVfv !&"6#F$V%f&v'()*+,-./01&263F4V5f6v789:;<=>?@A&B6CFDVEfFvGHIJKLMNOPQ&R6SFTVUfVvWXYZ[\]^_`a&b6cFdVeffvghijklmnopq&r6sFtVufvvwxyz{|}~&6FVfv臆舖芶&6FVfv闆阖陦隶&6FVfv꧆ꨖꩦꪶ&6FVfvkVFknV+!kkm^'Hk0V0k'Xl쿸뿘 lFl~lu,8mXXm=0ls0=HsHk؃N6m +@ m^& ^mn>ئlNMfma+(@oNP+V=8X<ІNt7mN](!oGhJ>=p(Nh= onGƎ o+hlP0n~/W=o(B?%for*'f,ns0 o*r.5 vs+r-Gon7/m5.1؃dV8<"PXk@txo NP]((]PNGh2(GBp(V8t%ЁP.SO1 NkuPu@(GuhuB%؅X=%wVo Qs/rv0gtOw+sx7zW{_24s>wv<5^xwa?7]U/xݶtxs%nxvNHn F 2n-*@*G=qGy?HOnk7oO_x@oGGl%(rq(1POxrx9_wO{WxssGx<{{;oWßrx'Ox_—{ax`z]77}s?lH@_GGBh!l?2s!hduZB߅k}*(o:}Onk7ރr"6ʠVD%X'\m v_>Cu|~NҖ$Tp|FM*h csKvz), bB|pPCQܲR" N A =HdM-'.!4 xQu.fĨ#GOdI&S\ynLI͛8sɳϟ@ JhTRtӦM"|=+Fjʵׯ`ÊKh4dҪ]˖g[ᶅ)fٻx˷߿3J gq]$YKL˘E<͘ 7G5qW.!}MaWh䘖ahkClF"gN3gs 35(cʺ4~8M(mmxǍ=&OsnNx@ )-P1 *LEo'ayW•oԅU~ ($R&XZw. f(%;$34DAo]H _cWH&=mMJ,. bQD٣zdޙۇLp&Z|v[,MDG@78BE$\F*餕헢i+f]BXzBؘC(*]1-1i!(#bQDmyVAVkm`hfRq&;"|-5+ai沾u[jur~t2(1(4͠*| Yc+$+_oFۓӤdszc9z!o\@܉Ddo͊-n,TW](T CP2Uc-SeԚ>[pwE9Sx]vTwAyނԷ@#xysqG.A>g9{@>#A^棟 kO;WQKR<%(1o<1w ASsog (o~VB6HA݄ N@)\ UB5(|o~H"X:p `d K@X, fD"A`@Hq'XE9{M2a `~Eo. Q+6d ^($ a0!T!zTS'@B)82*b` =yBtRVM` vQ 4h|* @Q9 S]p1 S|ׄ+Б$#8": t2@-l !0 H*a 2 ",DtIlP)3A>Z#@^O$ \,P!5P=cf.\Bzpc mBF.^qE2qF?Т Nu I.8!X"@/\!m A8-@! @HjhEFg@Pۯ/0l6FM7R]M.^(\؁"2AWP>273 ><)!* z0 %6l P?=, E,. Ā dkKY! sbTJ%Q| /|`WHȌ7Ψ.+].kKjDapBgMvHmv3lb+r83S a]TM$-4L)E_ TV mi}nA)l83`YøM)T 0X`i[KZB#N+4g' HGaƆiODyEyCE*vDeHx$NtbH I:C9\KxD5i/POI]I`{_F}R&W'>to ʀ 0p#$6fg3B3B`פ>4 ?P=VPReO`aCUUtE`atQtEJH dL$}Pt>D*EOPG@ tz[BLj' iRTt9UHY/|WZ`6$G Xa%>8>o?3hu&Bj?Ш>e MpM#?ֳOc(ma]_FHIRRmӋ!eUf[*C_؏qu`wF3hv;` lW Pf3? y+!4Ƒ6[d5VƑY"9P9%68I4%ғ46C)6DyFEyo憓5& Gp3YQt\ٕ^]iFgQ(DP0#pr9rt8|ٗ~l9c:99::;:s:ØZA9) -;<9<ģkv A_hv9saḲ ʩǙ s.5 5iKډɝpy=5Bٞٞ`0?">>#:Cc蹠oE] ~YE?ʡ ʠ :53B؀ .`=mKo\' @ ")B*B ״>"m= ~} 嗟zXJ>\Z2%zI s@odj%z]Gj< a .@ ?I:ps@pЛx ?rYW]Z=f(ڞؐ M jXQox0EF^Qps>Bڐb: z*+gʞa #sJzz }oTts- KCJ:驠ڞjho\ ʪwjZCC 6dMqdBR *]˺:BL%@K1Kѭʧ w*9 F` y"뱒 "pڬM-Q@&?NPيaٰHot=^腣A ! kL;M p&` :B @ $ ;/:D:MӳC5r n4M I+t[KB%.heK >so"^>= [g e}d= ~V*X;" `K ` ;%f^=^v 0 f( `k J!b*KJ; 랲 |A< J*\Ɓ0%vo*+:6DYQ8L:|4<ŹB-'PZyO4QϦpKHR$}'JQai]@=!m %ߜ  -=Fmjz ԙj ܐήM@ ]I#  EP7 a-6p K8P#55V3#@p[F0i2 Is[DHB SYX`V] cVKp݃ל.;0LnN؜.@ ]ߒ-fʹ]'K ;0mN4-Ӵ  9rG_x` K.qİ H40.4d dQVk9@r%/|DX6l5Qj+`&[.EIX$qjч&`X<55IN&W^'DYQYxPpNF(|z\eO %wEX =(f=elHeDH;gpNoP{bNPZDP$9ZSqzU؜z Uz0{>]ڼf8ڱ_n zufܰ  Q NLю. V{5'z`N`Ua>pP %ܮaM KPDk"P :@HD$pY0 OIBW7}GƁ?ϕPL+7[uN6@'XedEF\.>r G*hD= b347E%EcN/t0tx:sIE0N207. <`ސn=1 & '=n% @ |ϴ٬M @ η'J  ]` v 3 Ԭ]n P 0NwQMdvbxXPVx Xa@ND ƒ2"b!I xaKI0B$K|"`H3d8B, &TBĂ F^("=rDTa)4 J|52Ó3dP0ad#de8`hO JxH=rT2$B )Z T,hҥMFZj֭][lڵmSno;ew'(yL̙SooNPMqMPTNsb]v؁ݖqsN6lL(=&x|<|d<0Ijnk! Ć0pE,Xbi"QhK|H¡$l@h/"h d Np !G (tB'3 $'%x B" J 44O‚ʲ*GJ qrFZ̩x"%`p@!0x 6a%XcE6Yĉ Ἁ Zbăh!f'ئ\bv0"JΛmz. #`n0BMD9Lbĉ94m[pZL$ES ! lZi8O"X\oa#`r)I`!  2@bH! \*34*тhꉯx̗HM @lL'\ʩ  h40 .:%X* e) Μ誊PbC30㕣/3'E Xg✈%"T~݈"%@0e'xGܜ-i =09EJ:C`v^)!Ɖ%Ƹ"jȕp +8hNA爈Dsy D0e*FZ6P?$2)MD/f؁#`e.6p@ࢢّx"z I3(dF⩜$) 0 d9H@/!j2Sb2` و|5`QK 4LmkB` Q 67lJ9C,@`BBX$IzQ0GPs9ID6XXo5!ʜ)ĵ&hCs y)P&T |5A'ĠD *O@0Hԑ")3 D"j vlb9i$:H~C* # FX0*ZX%pĆ**K-R$)5IFQr&DFP|i% !Z K*1J ]Z!\aJj*KXH#0h4Z,;XVXFFxC `zy,a 6vB@2vBq&{lYyE= f0l"%.Q0 51'F,Y[fD'-bAXH .5*EKOXF< P%< HꢆK!G\B/X[ m{س Hh9 `Xһ=!KH}{nV#BݻwJ0X8Evvl#ÍL;c%^ӒTZ-:CưWr\xY_NX VtFCfӄYʚ0g:7+ 1.ْ9)ػ܄5͝3!mT4| Jd)X(S$J!e&<Mj$h =FXJQӴڈqK?ė4ojDMa& <70rφvX/ڼyMNCwY"[Qgj~nl0@37_e]ޞۺ5t'oiti,*&Bk0l%yc5cd :[X/ ǥrXΈD5sWyiA~!ϥqN}C8e\OzԥQyJbd]5\/ě:Ƣʎ#.{ܑxw{NX#ݸG?XG|oGo>W=ⱏ#ǃLSE'u}Γ?|7g?XJG7l~?_>ohDž(?4if??DT\d4@s - [b#PBPW@LATd\tA,ܠiADi"Bi $A B@#t&T' B"{.-.d./C/D}[344C5DCj<8l A}9hd>?X+C$DDE3GC:}?V#L, gCi#y#Ǔɕ< ql0?0ETT[,>4?$}SZ}X'.p a'a JjIʕ#;pJo$˲rJLGPQyT4'' uB \J[d \E(=K5WqCtW uhE' $S-l7P9UnHpUׁ% !] [Q@u|%|%²JoXX%XN5;AWY5֐%Y@A(ِ{D䙺YXWm, Y#j0y(ڣ-={۶ ܳޫӻ[ӻx;+`i^]\UXIMb<h5 CrZ_le`^Em; Ulxbv[41W4^ԀRP0eP] 7p^hPRh(^Up3&pH #@ \[TS=@!aHHFa 0" (%褴+P S !_ZJÂ8)54"`c,_e 1 %XR_4D`WnIk- -uN_H.F  UgPaS(x/8CnS{P%X)S'@5٫&HP)XH3F@p0!ۓ HP# -ߟ+dl ZD.`d8C. aDhs jф8XFF^908k1'&{& U3Ѐ+@(F R@Q@ jURXFRXRjchf`f 0P p   Ȩ@ `H)X `¾"8 G$kޜ' !+` J.쑈0  ؊H N!Zq1qAZ PA9\+ c ӆ pŀk9m ukk@dvEN~s̄ZH@<~=&Ȅ1.3piH<. c Wޙ6KkNU?XR?1*<0Np)U  3UahX& pk kk%ʀ lH @%j ڮp%BxF$`24~cHsAh@ ` 8J5'50 r9n!8$Pt@ )8H?!8"=V"Qg K56a= Ё"ar!0x !8x H#".F{h,0,6h.oN4E91!6nuǃXTW@x0ѸfffNh0N E? ]WXF(!ea2Pg0hohpR0f`f$);G?CF6 8`";P6ܸ`5DA޸%M` aЂ. 6 RC p̈́]8A 5x`1-tA QDb"<`D82Bb p+MF* Dq+ͨ@c td2\c )) KTFDA 8\N 0B\OD 8@6GH%A& DS\B\fAY@/`OI 3(Gp1Mj(Uw؟d=WUlYo}Ʈ~f~qwEH䡇zW!HgeFC, L4Mp@$ Fw. (DR%mĘ س&ā؄pˆt !͈@\aC ] Ub p)'` Mz)1H.b F6J\q3A 32Gd8l܊K[2 6.I3 `(p&.o-&.Ár,Ph 6X,g`t4ʩK8vy3zeE y,!Lg!ᅖ{%ZDCQVvBp0$&n 1X-v\LDŽӝAEl"E,.qL-b! ,RCѾH#`3U3jDEK#;@'TCiUtP*FtE_te"4 `hIdY" "V:M Q%s6FͣLc%+a 5VG=!E(l[a K 8>\. @ Og@\$Up`\dEq ZW6Kmn;  RŰ*ᶟ.s^v06뭂q[.$(L7׼i'$L+5BnGljlOc,뇈Ԩbr95LPS_б1a աя,"/u{4e8f'L)~`!5|Ət!$hpAc3mQb{:XxY=! y!îeٹ!SD@U^s1ðw+xiX] 3kXR:XJ^> b3qNie3:(RGTiUJYW"'O6S:(:A["Db;q U@|^6ùRoKP V@#f4D({dJ k,@6OPh 88vJ=5㜎 >2tt_zQl>0n1*R+LAYؕd:ֳojMkL>$?CA5ګCj![G`<ܑ%hA 'X ~<O2ADQ }pnC1Sճ:c/JD+Pgqx>k>/~~^??cJL~??EY^(^&6(zU Z`^f RbFCW1 F` 2U& J[ Π `& B7T`6 6(5LTM5L4PbV!Lph!Vf!n!aPša9 >4! ^9^4 C6E#J"%N"OM$Fv'b.(ߕX!a5**","v "8#bÂLU MR3HUH$!&a%>c3F#4j=4ȏ1-8 1 R2҂'c-;KuH =ȼc,c" w#9#Z5#V\B`B1~(64JFf4nY!lHg\AE<ч:#A$MG㐹X ,^($֤+b$S] B,(rF3JG"6jcUB4()#%LΥL2]g$vHgc_= PP~`QZ-*"^A>bB$L$B4)xRFbW6#XVV6 -T%QBV\d]6m^#_d`OG+Za%fv,Rf9%BBeBZ6D+B Ѐ6v'X9chZhRbiX\ 1`l!:f:֦r"o_odafpga"@ c1BNU8SuHreVu|j&mɨj*-|/rQ3,|Pf2zg%NѦԞNwbHuZr-bzjzۺnẂtJLVG!]N"f"-v~Tg8;l.5[!C[}GCnn}.n.XwTB>g<,/4/>B/NF/"@< ]88u6<;;`=/oo~F/&p}=yg!?pY;_K}F;4!{Ђpxgp{ 'e隮(p_-G"&xBo}'1#1+7qsO1p au _Gg)G-F,}1Y#U./1.11 2 !2"r.H1SqNԚ?욈TXͽ@}qVclN.ĺ| `D-uV4~K\2mu4]gӡ4h`4Z|r*CPVG h-92}2L2S1.2Ǜ NvI 2 *zq(r(8C34{u1p66s/5s8/@B)B.B0$t;s-*1<>cYLu`[̍(4 Ȁ HLJ@ȀrJd\WZ PfׇP`l]O8zKh]h<4-EњN#l* w{rSOSCu3,C,܀4*$2^1ht"U378ڛ& t^@0PAh,7#68#p@ $0h@#+*p\A8P//p{$t 1S.)ơ9ST6n4FE;|S\cSR7Ed@ \  HDp. T\@.EDi4tt06m4Kx솝3_`95\4^ Lԣ`A]K؄F T|`kt:\khZP;Ḱ F7]aWmPʐLxTx,.&y7܀ wA#lDc%Wq@U hIux5X783a38Hx#4)0B+ܸſ*B6_-@\"0D$HA $ @ΤNa[@h3+a@@0PTXF\e93tVX(kşH\HPEd N `aTYPD< e,4K61Y$AmJ0SpIP1àI6phA@T @މLvuY*{: xԳ|(:C($H!H_A 0&Ct tC 302{s5p,x.\B+ k+ $A)A p@PW*ȄSPHbW:H]k *1N.n`$q, a  $ >`@  xp0I 3`P`#'OH0', "$6&Is$r)O$FP;S`P3c$U XHXxڜFF DX5ȹ-܋6-10,ʩ< c?|yGQRH_c?~}-O OYi~B#qƐLvPDUА(XF %6`We8`<>TED(iF 3H\җ+B Fp^s[iAI*mWj9 8K!O8C:h*{Hr9P*"ZP gG".-6u@o P_ 5(º+22⡭5/RIV.In/ x[YHa2p0b LH6-^ J 8p +@-nj16iht 7Iba $Pc݌Xu`XG %\uVw($AeV1pHpL>;PRF2Ldb Q(hA5s8 g؁&pM.@*4c(TP2hc$7zF hF5H(%>T@VqWX | C p7!8S-bJ\E(b])"U u*I.Eb$ 2\b*X 1qO$l2`b0P,*XJrc!5!fLx D+'>i bFW;y@x kFYYR$aʃ@POHVt8_3A7g)I T=<@ DЮ`3+pt*@Ko`A@P@ (3D(EHAlaAeKQ@ /N>aU;Ñm?'SY1fQ4Y*)RC0E \@5 h9aPN1A`ȡFgI^D%24 Z*@$Z4"@`  V!- Ğ03@7`+N] a%H*p 80WK:JSe`* !:g{yx-ޭ@De!lo.O{x׿BJJ{̝XnpAHiX*pm!((ehX_ܖ,@Hr(}c:*1OHul%0 j{8TihëW͡UD~uD b2#,e63 ]D:A6yYFyG3 \q`/PMĆ!.rOl-$MM@"6\-*ͤ^", G R)$ 4zH8%1%D 1[%T+ @B%,+µ <*%v _?!@Kbe vb$໡y?Yu {  NvFn%mXM `$T3#s4keZsTA籉pMeA#K9AF[l&:wwtR(Ʀ/yV'Y`W l/OxN܅M#{hS`LɃ Awzy^sPcY53VA,{Ohs,T@Ԭ`@P"X+6|aЄIN!67m2-6F|!nD|n2PX`@/2Q$ 8ٰ@tPCL,LLB YO<Ad $#&"qAj8,b?·o$hcCC DZ !̢A~g1p3Q&J!ݳ!S?]3?s?S??+աrq.@A/A!A#Bab44CcCA4\a]ٵ]PiEa^^^__^l`caaab b+`/Vc/!(5fZ^UAaAVeYe]6fa6[efaaq[bgh{Vhhv|6K\!iV[gZi6jh/0\Zɵ–lŶl6m6l$a\\ E]U_gdrXs-qu^x4e[nl `+f+XׂufTvV=^ckgE7fj.i\mZk`bڃw5cY٠]Ya@Xy[eںU9\Օ]oAڇ ; o{{սۼ{yw{5 Z=Xw \5^;?>;aK57s؏g="Aڪw y58x{vZ\ڔzUy!ڕqm\wzy}]{ɹ[ɱx !rU5 h C/ [מ6~yWq7eォ^:f>ʡl(Э}%mڬ۟yCXe\xq[)SUzQ#>PĐ6Z t9QWD9*>ٯG ?߿|5xx I aq NHas tnRz~b^M>h'x ]u"?'{ <=3{%qPx '>uOMVe܃>beHO f&rIvYz¹gz'2=팉hbh 飒FJ餖V饚fʩry8|ᘛnN)j*<";Zv*:벱lQ7󑳴J-N8#"CsO8/O8SMo pLpcp /p? 1FM6[\g1oq ,r!LqgS-r0r2ۼo53q5=s@-t0We;GM3@Q#4SLo4P3Db} cvK Jmݎ#~Awvߍwzw~ Nxx x?yG^IHlsΐs'^:C"|:C 4;./Ž8 P #/#""K[=_}o}}ߛ֧~Oߏÿ p3 _( C \`/(A"G)2AVP! )xA= fp4 oC2DGb鄄@^Վoz ȿ&ROP,jNܢw]xK(@e c.aca I;l̓)2T 9d HB4\!~ww)Pa}c ЀWC~0 R6}ԟh?D T"`!}~I◻^(GY^fs/>,Р~H.=d[ cF33,:yΓx G.q] Dh- ,r} @FR^~`.'I=Bb~?)y50+) +43jhhitCP; Ăwzoԗ!NT~%9$8N+Al =O,E`ֹu@B9%-]0(*vMJH+nC/1$aTHKJIK^T ֩6`Wx@QWʐ: :UdWYT)@?@-`KzSTe* V OHUF%AiIv!( ?dt ZU(@YCʥ5vUyf`:t!S@,+/*2U?[e!KY !68mmH#La~GI$8'ʬa\GW0u%a',f0U,c)^ 4ctsҌ5t,A [D"`.BIP jSci̒mgx)ғ Y鱲ن WBTJqZyE52/J5x3pgULsY%eO]8hRXB.ALfv*!]}|@UC)+`Au˩΋`nBtm=7 f7-'8i#fܼˆAa: u)EPaqf)_FkR weҹL)8 @Db HM8§JXW+6 Znr+M0è!j-hNL7{Vg@Ҍu7°%v3ʞg|f 5 Amc8앷Xè9ӉZ;mijeosdǀ %6(@TuWmFituucFfze+(X%ZтłWo'X28wrWwrYcm@4IP=XHG` (mt΄=hkjtf]Q%X8KDgLKL$Q\[HMa@d=I^M*N~$ThLUtLa9t# |LL?w6UY8 uU듀ULO7ZHkY=N$0kS6Q!F5KI?~ғtEknS`dHYotL R_H@DV!uxeutu QO{Ev*vgwgg*(~FX}g UwƎ7ha@jZi]5xtHY%VV={XuJR0\at`vT =Km \pr?<ؑIb(Jf0aN(o#`Qb[dYใ#H k~ JFS9ZH?V6ٖ)]$Y:8>FkY\ nЗgtJfI4i3x@Iy (I/Jmt`i`%IKa}"p^]t1jTYxzx AbT )i6ؘYaFbG؍m Wgy14ؚF7mQ4M7U6RL7`Im_tDbVNcTx\JDb8P{$qTe=YPU:\tMTdIJڣ?ZIs?GK:Ë́쩪&LJ*)ӡDELۊ=Q_xaM"C*~c:5ca5=xn㹅~Rpz9 8}IStY׈_ #Oue${hfpm i傄%iY2XƳs8꣒s%Y=SMc׹>QEp`fOtzHa)8wf=1E7th%D _U$Y=wQ rжf?uSMG7Oh;7٣|wH<8v^U%=F7=˸t3I+ɓJ%8&8k-tp8s37DK7eLgtcQKe=>̖?k5g:yA+h*ۼؼj*gv1+,QG QP!ѽYAp'h5hNq +qY#E>T=>]TV;RC*=xYPT4CI>ed ܻ 6?V=*=BƝH-lG{Iwi<-=e $Ԙ qiWau!rhfdKvz6G oAQ]DJTHbJLESQu`} e+|n@^N +0,?g?}LE%Mk`LȔ86\%Л;gF\BOj I}! @ʥGжʫʭ ˱,˳L˵l˷˲ʹ|˻˾,Ll̲ % l.̐g%0L-\++l \l| - -}Ϻ =$}9\P7p86 ?-AM?,Im6PQ ݀ U}V[]W \bM^]cmfk}mln s-uwMxmy{}Mcրm~s XC*H"H.gؐ%Rrhq"0 1ڠ-ڧMڨmک !yz`xۼm۾۵}Mm--=Mm]սڍ==}ݾ Mm]xU@ .Nn~x$  .N>n  x9y1A Q,-1!n` 9:;?A.CNEnGIKMHO.SNUnDCݰP&a].]jijT Kס qaݠ+U7.Y~MNnn[bdn܋qWnEP$^= ~~CA457vQ ;J<$`z9?>n׎~.@  hQNmnh p )KA]QYEo`_8_oZ/?One?b>?>vv1{va A%Bq/νU5;8P}@@e2Y"XA .dC%N@@j#E!EThѠɃx7\ƔISK9uɓV}q6E eҝ8k߼N͢6UW^F%[֥4j9NF-5q5sae_l:.0ߝ6; 3(?gСC[]tͧCQeЙ6{YWMiSPۆZtȊeX"F-[rj;qމq'ې@h%<oTO#-@ oTǒdb'"ʩ𩺂3 Qek9"Kk˻r/hL뻻K; L I{ @*JrKXKpnsppxK(C4ɩ :MTQ-@akPjC/= GsCɃ <#JTP%TVSmuUWcuVUk}VYqV^suW_vX]Xa%Xfm6v}-L-B3 |l )D4+K=˒PA] ϴ FwR5J3(h, n( 2 OSJpc26@nc;&CNyd[.e]fM&MdVYif睁yh癓6,oR1[4w#j8:B\[vw -B+P ,] âMĩo=FZ]3qSGrV%U3|r/=\C'rS/=[]uW}vevE{o6ڤ.1ߔ-8"Nı.kFBFnkt<\(ˉ.~~~LK{erPxn}Z⵲m9I\ {h+(4< prBB¯TB3U [50V84}C 0H!GTb&1LVPb"^q ]JFA<&J@8^5xG{j3bG@6C2萈\d"FFRd%-yILfRd'=O"$e)MyJTFi1Z `Q`9KnR%.u^҂+Y?"G'LhFqj$.&͜ӛ2 t"L;dt'3F4ܚf#Ր[:׺Fzū[zWup( dBXb&d+ee9Yφ-iE[ZԞVemj[Z}mmek[V-n}Eg xï~mr\FׯhG;bWlv]vfZB^Wo} ~wC  v`3Xp)|a g05aX&qKqUbX1ؾ;|jF6

mozo;f7os;7n'p#x,q_z8 ZZrspwJm/Xd Rɽ V|^o.\n*r*a>hP1T]}~t 4*6<_ha㧾Caד;4pڻ,q.scS̰[v;ȍ͟CzEw)Y돻F0F~lm#x"@?\JuG9f (>Tv8 jhh@}U9`s 7׿W\|i.0@@$75 <397CS ;ۼ+>Ը ;AT؛= !]6!+3/C04(3S3S6;SA;˺c1$ˁI\K;E{;?CH8A28 0Bdk:#AB<̺*T1$60C L;*;%7B=NSpAAPpsH9 J UY՚ٳ=U[PLU5Pη[C.s[5.30HQS2ɛO{(AQ:Ly$<6@G8ySUD-#TCL3GP,͹GE>X:_DQULyTQ$p9UDXC[@QRJ. >I=UWoUCSE֜XBC0COR-3!Vfl:nKIcF<@T#;ZZt]mUSMYEÂR0 DJ9M(l<4?]TC4,`6V*`2r5i(HƛNL.=SÃ=|\93Cgp<@`+WmLF2n5A#lvF(`hd6qIF>E.>r436tLdFNd4^%;/D VS4mgvV.s;tLHƃϤ( ␎| g,\G:fO?{^•+YTl6FЮme6L-b0l]m$nؖn;v/YNS>5GYnl7h`ɮfTkV>{ft=1>1cٮ۸+=CgVDp83=D(ѽrӮPr#<3 |Nl/8h sb<7f杅ņ`fѾ//&KF/sӓ88Dj ʊA۶6G9W 4ct7DW)77t./OyHNe ,cptW[WA\Fn-Sg>?vZ\aohvivjvkvlvmvnvovpwqwssOwtWwvowwwkhO@S{w|w}|w~x}O2؅y@upGxoxxg+]dxxx/?yOyGy_oyyywyyy7'OzozgzzxQ.8+w8+zzw_?z7{w{@/xV+++j+]|/|?|O|_|o||ȏ|ɟ|ʯ|˿|||||}'|gX+v`vx y23<؆C!AaVӎ.}:֯3y[enɓ=s3A?~Ut\Qq ϯ?e᭄@lDG9^pXg@DarH- (XdzG?P[eAi☣;m&$)XWAPāƃ@TM=b[n])A9I& 7` GE?PS\♧{^2FYb[O! ҨޱYbzݕ5"xihZyIbe%ꩯɪ)=yګ["2۬BR[b8wʭ/= , sn.;K/pL#|3p ;1?\S|s,J;3:)|2.|R/Ln*;ܳ?C]G#K3ݴOCSS]Wc]0Cθ>]6g6k6o7s]7w۝7{78 ^88+8;9v1 8l,/eR'}@oNd}ꫳ޺^㞻޻_#_-f䚼S_cs߽/" 87+Yj }` x׿!^ 0 \w>xAt @U'@9A }w|/BJ$&%1!^<; 0L(6XD E ;6Ѕ]@0 E`"c_ Y'/}`[AP2.t! ;E`T]Ev*Г}(Ep lhxuQg9ĥ ;':xE}.kfC/`.F2:e7Q Ӝ+ԐM`@hT;x Sr.jtBb?iCp.Н<=BsPԑSZOQWXrzݫ}eKK4H{jOtTH0M5$$xA59'CX"tY`&D ,xveA) hQU U5WΪ9''Z6ࠁTOSWBy@5jP>0 Mg]6~0mmd?d ry?kW~LY,((5ЇcDY­J.0-ځ iIṈ,؄D@EƔ%'sE8U՞,+xW*xMhGxg/ȧd*HXT`L ur`T>pvNwwS] Un~/ĨZ{\c|CۧSTd y/8x'b_E{bieYS lz5݈Pfxqu.6ajޢ a|vU^Xt 9^M >c4A~xzgBWU4 9Y~Y퇥no>$b3Z4~R)~CxzSZ4AQq$ Wsa=7mIsPݏC및`#Ij 9jAqP6}t`Ǝu,D<=ݚXs)< @ R각_ȡ$XWNRQET2[U! ͗xYx ]'Ҝ)dT׃9"Z ]}]D m$}z`ԛCu갏⑝a ёRAB(ߎO#%FSQtrc7bV ICbyaˍȁNW,Ӓ@XQ P΁I/#uG/G)a$mGN.ed zLAb ev)Aj#рCia&E$ !y@:9]AUR]DF@ P$Eyca8!:c9JJ4PN^ؼNe~6D]T@e_ɩfRjYe"lBN$AX}&Qy&PQҡ`.Afbk>N ifwΦOAV)a*'gVYT'&ٌexI'uyP^ 2";lB8Z뭞`iM"gb!!g,J<'dMjrlzǂlȊȒlR׼8ʪl˲VKlˮB'B,Ϣ,lm- "m *m&-VVnlv->-؆ 8 ӊFRmϊmbm~--ƭ-^ܦޭj-*2n:BnJR.,X8l.Un.~_yn閮r. Uʮ캮nnήo/n/Yn:/nV/noNv/:f/FoJoo~/Aүoop#0+/p3O+ W0, p p p 0 B  0q  'q3q;CqK  !\1lqw1s{1!, qqqq"E N0G(!L"R@Sr%[%cr&k&sr'1 ,Bq !3IĈ @2_x,r--r.2' ."cyPȡ23Cs4K4Ss5[,-)g Q`42 P@2s8X:s;;s4r0"Ё PH?Ӂ`P<A#tB+Bksps 7]:PE@3tG{GtH2(/  PЀPetE|tNNtO<'aphЁ"3isA? tOSuU[US56ID!ONH:Ecu[[u;߁2 =oSPHT48s\a#vb_V0+cCvdK't]Oecvfku-U|Jhhivjj6kkvkkvlmvnn6oovo owpqwrr7s#s+wsKsOwtSu[wvCvW7wcwkwmA͞ywzzw{{w||w}}w~~wx x,LBxKSx[cxksx{xK8xxxxxxy 8 B+3y;CyKSy[cyksy{yyy9]yyyyy"ژc9 @ùw `N0³K9R'ׇ=gAN xݓ'9s/aXaPГg: @:曉P1'M=_stSss~V}@0]A/۴ ̗Nl|i@WAO? sdSP+RaCď+vȘ H" åp " B ͮ@ $$Sjԉ 㠄24@"X2)0@,6P 2AAؠ;,O+nt*HA5 ?4+Ы@B =T+;`, *(Zȥ|1@j+ #>, >D $"ЬObw]S6~ (`Sm,( S;0ã A'$v, 6xp)V;9H#a5J?aؔ6x+^(H$k-Km'D#N,ӧ|VˬRdl>p&d6Lc\kNt0(ID#5 Hj;DtpX7^h䗒Q,v“o6 $tĸ6).jve],~`I: y5e΃+W3Zzz2V,m8iqwHذ^7b!D]lqA 9 CtJF/40_}>4a9K'`])l1q"\O6*)Y (tM(W.k^D.`I%v H#q D' BPњj~Q @yGD:^CJV,|>٩M3~ѥcNAnJ0@AQx3~ey;Lb|K+> bJ؈@Q]BtU -yHȾ<7 A+=ă,sp6j8D: )neV#RLX(HT680bA+FE8?A_RBЂ.ZdBA߄Rq 5(Xw?HH-!ܡ#4C0ے6[bO<U  F 1 .7u"TC.̇ /&)paAPAy(EXƊ@S+ 7z FP ntٗ`/Bd>9HHHd,k5 d;/4Y8 | v0p@vծfQE[U2EQJUWoģAMEE;Gd)HM79 2G]C⻛F ]qJU\woǭ (,L}@,M;g_Ot4 Sb)KLl0>yFp@GlQP"@B*_yZ@׼Ƒ%FC ;8E+vޜVHvÈaD,Jyq/@SS9fVEQъ&g|qC@yn4"O*@=j#i']"baJ)Ԃ_[dmG&dms扚瞀$& #444(3XJ`T&oZ2h'v?ࡌjII%@jPh'e>겲2s2xR݉쵷ъvW-%Pw|L6+KT`ɁVᅴuLUҞ+h̦b񼬪or g$˦(rIFjƸ ~T˘`h]Y罪Y+t'Ӹʅ|P&;4 .ĉ4! ],vkv *wt/|hzrI'~t2+~S_Rj w2"xWvr*uucܴߤn!`MM3\>%k?:۸uh.'_^z|{}NrBFʍg+/zaUP5*[oo+o `(eoK2}Á HA Z7XAFЃ`G($! ABp*| =XDM@Ç@,IC"CDb]&ЉL8#,XяxExѐDd>NrȒ4&y$IJ:Ғd%K"N%AE+f >1Vpe,_IZ̥.w^ +M2 bIL2my ?%Ќf!jZӚԔ5ynz 8IrL:Yi 4 <7zԠ(@i3K٦6*ЂM(BІ2(D'*ъR=E7юF GGJQ(b@ERr PQj(ڜNY%LbBb((T5)MaTSD@K4xpB|0 jbbI/ a);EOjӭ-X j~x+^OWįukJȄ%b:ӊ;Bj&@5&\QԄRCUj>j Nf|nATkXh3M\Z(}IFߺW'mI_EJt K]cͧ|6.pA. J p.8 7hU-1bC0XvB5(Qhڴم(B 3C6/u, xa=+.Aauaj́TC.@AmAj7Y(nfڡt1&&|@9p<\"  m vCPP_ATAi1jk QA& @ c(!ئ/AhCɮ55JXtu v`JCڔ]Vf*`v>(e㞄T:u<-B˪mrgF|P8F2d"m9c &WڤFM0%Y< mFMS`J%:KJi@ Kh,5' K>Tᵦ* 1EsP5*`6r¸Aԝ{\.cmxś\&+Af~%7(sSA7T oi6k,Tw;|6+S¿Zw{& /XBf;]חF+*{#Xf`94a֙v 0&Ⴗ3u=Xp\*10Ml{'PMu[B.@ BNNgr%OG fRWgypzf(zW&zWUVwt *l)a 0Tb b% EPTGaMiE @ "%euƐkַ{Ԅf GMw @ 3 eEM}SNXv.H 0H Pr < qtt_Aj+'T]E E_d[5 @Zp \?_UjwXNX׉k\\!s6z#fh&qT` Btƀs7{qrM wY؀i] @P;ZO@ f _~ Ȉ kUZQ'TSwV[wn@ s d`~WuMU78tt s ` M0^_5`;xǎOM0~`@ _nfhgUMf6Q884)X7$Ȋ% ^\ ns] ; ^& qҀ ;X;nHwzUNw 9G Zw ?_Bbdq` w5OMAw6N` G E t.ew0;PpI[@[\p[_[%ۄ ɕƀ5ȨqpaQPcW8y0 6Y8ɁyƓ_Fsu8 LO]Pd& TJ9W)\Ebq=GKKHKiVu8id VY^8pFdڴ{pI Hhdt> P[ dnYMFfd_ Ocd،8J)e %K [-HP].Yf,j V, 4\ep88@B;D[F{HJKܲN@;EPV{XZ\۵^`b;d[f{hjhrF{4r[ittv|~I}GH,1HFtI&Ѹ;{{P;[{ݰH'J ;$[;k ˻ī;K˻΋;{˻ԛkŴ`[;[&Qܫ[`?Y00L։ \  |l\<( *|+,.&,$, s ݀<>@B R \ġA D| P٧ Z aՄ &_ta *,Ұ,8 syӠ  AL"j͉po^4p`djdI`K^`_&;<ˉ'sy Nr=Iўw < td֌=MT]FE)f)-֐ْ=%2S>@5=\6Np`WרBVIm{}~uNM%$iD @ x\ƴxD}md}Xp1<̀ u)MשMB Ex }!۪MM­%gM2]},m=lmdsO*ӮM e]~=Ԩ]P\q=$^⧼ܵ` -Θ-rM` u L |Aݍނ՚2mj\ő4C mV~X>N1E _0 ^]9_s9Ul <Cpڱ?l 5f ^X  劾%f j4!J 1u `d^vL=?РFΧ ʝt.* 1ӈF躾<;FM:A^N}0ZO">b*>ݟ(ٞˁ]n zhzn~^.~>|? ߰[߯z _/!$&pн'002?4_68:<>@B?D_B ,NPM;Mceb#X0Q1n-\I\34rhUZa)|@.C)L-.a vOWQ%LZ p4< @|-o V81a A;@"n@`k( |DlMtB"(@2nqCH t0jA%.`NY-[Y.@H)  /F "`t- >ƣQBU!XpFjf87>8M"`Y Q-57=nzp4U?d51A&pz 8vNo,$@e(q==.Ņ~`; OHߍw.WX{jRܯ{cSөIz^mR,Wk0(.)4)#9 mBF !"RñSZ!s s0!K>a(;:P8&X&,M09@'!o+?P+p4;C'$̢r=*n`ӗUOo T{6. /:[i"./225T8A3B6T7}фrE@Y-Z5")0Ĺj/:Gᣆ.tӓ$E(2ɡX'Z6XIJ)qEhXȄ_ф/k/M/ 0!|9oH(B(/(gY'J0Os8)F1!l ,cJ(LpAʨA; y$9)oӐ!C cg8:؀k(A0A.d!׊wB rL$J=kL҃T!"+*S #-(؆a3YBD :&h戂 QJ!J0SZŸD6Nޑ/Ȗj!Fm51qQg ?Z#A~U0um bU.yVKPnrygM_l^ idV.P%@!'EI)0ԩAIdmK2MdPI>.S6TFUVeU{Q Z[\]^_`e7b6cFdeѨم~hijklmnomq&gftVi{Їxyz{|}~&6yp8xH肰腘6~hh6އF酠hhi~nV蓶iiiPj懐xgF^虖iȇ>.hj꫾jjk>kj~~빆뻶k{h֍&6FVf6ƆȖɦ~{K &6FN֖$m&mF>ۦmܞm f .n^K@pn~nnv;H -nPoXhfvoopGQx@ap[ip p ppq 7qp'q G iXi q("_ $Grw'(_ivPbr.wb/./0'374/5Gs6G9s9slvp?@A'B7'/DW ?F*CA,~_JJKLMNOP'Q7RGSWTp}XYZQs,th @4 ՁlqGwghpp"EgrDC+]# a?]vguwwxyzWu[wZ}Lȇ#s^_L!,iHrgD=fwrlw$v)vtvYC_o,<ȁwj{y|yewx]'pcEXH =zjxFkjyg|wlصȕUӕ6zw{Qw[j0 'pL%R! WKLJ@%v+78F^{ߣїە2Wgw}{^u /acpA'&_q|0~B/.blߘHR;EzoO}'u%}i`z‡ _|2Wp[@4v qzi,h „  l!Ĉ'RR;{Ĩa$N,a5ZZpą"ͬI͜8wϠ@ -JѤH*mt'lQJJլXfw aRE4ćr)m,Wh0eRzZ/H!i'hx!ȑ SR>{Ƥjj)barZ4L]zذgˮMBjL ;VYcmZLqL˜+.N\2f;-7x׳78Dv FltQ$?1y%nv " Eo7T]q q` %.& 8X;p)7#5^x4bTD~ J%SZIYJ؛pf((\roM3昮ט% )=y'w}xm-y&L،f^9Rjn9J93;̳@,?E#MN=uQ[M5XK]Q#0A| eM6kݶq=7al]x]ށ7s8;8K>9[~9k9;~V8sOꨟz:߮z{{{{//Gh(T! @.gAI97(>R I!Tí5*Qlb{+GPT#TW`2҈Bfp#VTEpa  Jh@f8,#V2 u)|@[V0ED-2Z M܀Cf`|\UFֶpiW2TM8C'(a'P)'AW(%|}44s%jIbz1J$]B,(KMWA(@ \G = 150)vDEuBȽ`{nSL,ف%H3d._`vb Qo/-AIbA6 :UEp| fM9DPHYcTMHEM Դ%aJRP~˂n58C>`%@@%BWE rqDBLA6!)d%R-^F8,! DQRm@@@J]@'AV5*TBuBЀB'D 2|Uo\"@%QA#A("P,֡A2@|c^"(B'\A ^5(|#( /p3A\H ^)2 [(pA#,C"P@(9*H6]湈B]@lia L܀9VB!A"\A'+k hWuE AF/B&\4C!tAp5C)(-AdFNuAՔh jq{e#6`ѵJ\(P!nU1B ܀G"Fi[iA&5<WIbVxHGpUeUgUqhyF,@-LPGdl-BHXVmX'oD *%47$(ɩSˑAApǚ-&1jP \.&@qQI@%T75by_@$t!S*A  4*54Yeq$4\ٖ&0V'ԙBVS.CD@o_ (BrV'|*AR%|*p*5C뽞di@5bIAV P߅Bo)Y>odbFAv%9m)Bd1Zc5"*-3",2CO3_ܙR @A'$'\w6E ƒWX# ^dDbfHqw6d ~D9pNI[q=SI!6x'1 ʅFLaֺ"+xgJQBeqjphi \ (p7:%G8h`IÉfgHg[QAJ",2X,#U"ԨUmAhD X1TZ,D}juرTX6yB)*RaŒ-d1nv0`Y˽ٖ*in/Rt)4`Bp-+2h BBc*ywd"x*:)$Wj*5p)<<3:o&\2(4;7 e-^5dY!\ vs3*ZV,!C"J2^@pbq:2^A2#3uARKp [p_ g]  ka) ;'6fn nb.M|a'ޠ) 5\`fXO)R'USB",QAADf'(1CĎp0~[mln2ppA韲aa Z^&i~`5bh1v}bU%dq`t"/@0X@)a{#@I)9 6rg5r/4ܸ"Ă7B2C' "+5p3@pf93P;#""*)+Xe,^ฅ푁*82!DukBܙ=89'3:E+9ÒirF%IGqqrOaB'6xu pA'b,Rx/+M;)RGܫms!6 14A!)w\~»|v7]K\|:F`0T \:-o;9T-&۽ ` \2 wD$!I{'ݶ?rXϻ144i,-"| 窧H{\kv*ֹR@G4x!Vv(ׇ)@iBcxx3jvߏcvmlIn/3ht垈($Wt!#2 F=@Ar*i"s&ߛph3n ^n~vm 1p߇3L(/L* x:ۚaK2VuBR'Ey+5Э%I,-Ie@ ۨX԰])-cQ3H0 !6n;#AifˆYb XTxA4H &FYQ.-HQ_Z[ 3ܨ!Q`,n*SXbq4QSDaCtGx ?Ϟj,)6K;dTrLr+pa7FQ Qj46&H;{5}Vvm۵U-Ԉ٪T ZN.Qe͒Wvu벗Al83w"MN׊jΌ>3Ɵƿ&Nm:䮁nP\9& ))0隹΃@bMc#o8e3/e搢e cKTqe>۠i (LNk9a8{oNaF8IζP9,#,jhB5k|9Ć/\7W1?@ߌ Zh!B4.FU-9戫#G봤 b:8.Ӕ*3:+,UWROj(iհ^mUVYtSOiX:)3DTט'|[(|V[CNp6u-&Ͷ[y% P 2(l׺خ1ŇN $ ve+ڮy=Nԥx] oۘcv eD>80LydtP1 ?ߏ8İp (l%tSACFsi?V5d&'0.? JDn%;٥M\{e RÉK[U951I Wc rIzc>(\p iW)NH:!c\#qy/OChh8s݀kh cȸ6 MdG!7Xq7 @xkgⓥ_@(4oR),r!A ND1Kܣs@B%4 QBC-t aCΐ5! 1 >D!E4D%.Mt NU⪀(nC=ye4јF5mtG9Αu:;YΒ-gK\ҕ/{Iav1)J?" % MHѴ4YMlnSݤ7 Nnӛ48YNtS$6 xbΪUlcYNue%kYZZXj5^k[P{rka[Ζmq[nx,SgqX.WesOݓLWեu]nWw^7= ț^Wԍq7ѽD<`]f*(DxBXbƈ @n=b85afq%xw ׀ h&4J "C(ve)OYճ ɍEp < 0|#"c}^V1OMx[nP/xAiMoӝpWU/x_qdF." ;%kڙւu{+Y h\ĄV-k{ lj؁%2q`bmmo~Bq* .'7;B"Q@SԛeMa["6bW;-7B6,^4:s!qiC* Gj-(N4Ѐ肢\o-gyt ڈ|5,1WdsWq}A]Ews+zs~7?q =/.vJ̦NEN$k*noN<2JA 5v FEotFo,/m}_  0 4ݠ\ ݔ/( 'PDKUP#O˾Đ p M אHo @ b]!NtqLϦJ!bڬ g-  /p\e:O ðI0Ppp e!vb),ymO@ L(101- R& =Da`Qxq#˰q!QAP?P1 G1QYRLq")r42#7R#]#?#Ar$E$;#Q2%Ur%Y%]%a2&er&i%&&ur'erA""Hr)(")2))2**r*R**+2++2,,r,R,2,#ph..r2/1)A΢//h0r(H~(S122%s2)2-2031s3=/90hV%L4Q35Us5Y5]5a36es6i6m36 3746}7S 398s9S993:s:::3;s;;;3s>>>3?s?S7S3@u"`a<A4AtAA!A%4B)tB-B1B54C9tC=CACE4DItDMDQDt~dtFiFmFg?utUpG%Ga^rH}H4ItIII4JtJJJ4KtKKK4LtLʹL=V fc|M4N|vN`NtHIO4PuPP P 5QuQN`c'@6|j@R_b:` |RuUU!Z `TaS7FJzfR+00I`\ bV@@ (fZl#x\`uFFOTH Tδ!|]| $r !]JK}_tS_!` ] v`}A @n]`Pc5I`H A\^a.^AIA pVatgdabt`oc5UM_T|:j66n p`UZd |Zi{ A6\?:j!$x::`abj{㊮@ڶ6@b !N`k6x"F.U6f O/fO}JAvKѵgmL}J$aUh zip rKc#vIKIa#wCl pw]WeTw Ii}]յTAlT|$_!~$pztgi6xbCvqi![UFhCAZ@Ā(`.6ȈLĀh}gHWam;Aa v|rw 0LUU 0ڠ@`] b\@ :@U |@R׶ Ё`V̠L~vdYV!7C 0N ևxr2;  TN0$vDj !8,<. T!0 av`FD8̀W?N$4dVv qAH\@$!|@BlJ{}Z@]O 4u p`I}!}qVB 癋B@h nU^ 6Vᙧ oؙ ao &Xe/8C^A`V!!vBXp`~}^5`h@p* Z 9_Aؙ``Ào v6U|Ƞg}a8 5bIA] !%!n}p@b(Z~`rg7 :Yc) vt:B`:ؠwqAd) cq` rYca^i״{ Bޖ @A\!9 @#( ܀lg$Va mtzd_A @2aZ =CI`6! Z@HAtȠ CaV]a @ !l[( ! @ .h{7  `Rc @ E68vatXv7<`zv{̠ܠ<; a BU\Ya0H:n@ Na;^'D7\C@~ N{< :. ԰Z4 p`C@܀Vv6 8JB p`N`VAVr!V{ { a]]ui{ AP]Y Zx\wJh"yT T#n!n؇HcSU6p 6g &U 8T U5 ~CF{@kC\gZUqU\ڝV;WCk X!7]~/'`>m/mC @`  rS' 9xFLȺ`mj} cd?{ n`A[à@,H8xs[_!\;~_qA 8xwJn5@}r "pzW|ᢂCaE|RHH QHnZ@ b>ΰ UsS/1AI(ղE^ q E<ѸR I!l+[Zbu I\a(Cg6"^S )-,-nDI++y IYa(Xuڂ }Bm\a\'VW7%kH\:ɺ o\Ym˘g„` WzG .OGfۻ~F!jѨ .\ C aar*ŁC'!|`ƅD5\)\~\B"#LPH4tD"]H{ƴ"pE;^ @ӌN!3̨…}ИB2@0#y1#@"rITЅ4MT\n n0-@c trc(@tPL M fxH~LP@(F'] T^)PAАa3+ug^h |]).N 1BBgl%oxG[CDFFBbK-?HIM$FT H">H RDAgFbJ-{-C GpB!V[oAufS}s|kFGWhFn\]ж@K!h$\ 65,HKЇ127&^  9ޕWHyDtHRJ'~`\#Lnxa15fJft &-22]ܐAÍ˸Z˺ޠdS|t&s׳+' 3꫈";4x߈,51aҩ|QxZb#.HcV)|˸H6N@p4 0E X Y-WhB!@?h>'G(lF,; YpD$]}:A! FaKhࠥgp:H%\+[Œ625>I{E"mxpΌ"bK ;و-zA$MXQ l RxH)I'y؈ƈ( ɍ/'afRV7o{HjY5{ @jw)S~^pHUIb@w_ImˁlgP8 g``AR iTkp +:s"P$? @B E##wEr&FE ۣ 0E%Z > cD Ӆ:DVs AZ*G$q kb C#̀#]x;f j؈HBB%"̀z;fZ@B׳;Р'FI Fi;@$mY; -@ PFh![r $dAwW d P  8G P¤-8lR  _Lv `$ Al_Ws_ gHK؍@zЏ@` / a AJ- Ɛh lQ s)ahȏ#Y N K'`JѸ IX ?w 0ܸzH#k:4\>>=|ke~>?a(zɗM+QԗFRᘝ`m;xy&Q@-A%*!Y $%D*w P@H盘›#wk< Z2 ~^Qa7w5.38X7s _i>ya%RvQ 6"ap){Yye;Y7i#ixj 6MxJGiܡ#1Hxn`9ZyQs١jmtiG#u:0FWz.LNxPa` !f ͐ yRm!xrmPXC%ᛅGg NT:`7DRweؐ`Jw0b `@j ÇH7:ӫ!J.zHJ)M:ѧ-d!:| "z} x^ `ڟ;FRHʯ Kk*JR+K0PшI"{"u#k'(Q,*[30#˳'K9= 7;V:6˲4{D[GL۴RQ J@ NYk+ P`gik˶mo q+sKukq[y{w˶p@R`뀸۸ 븒۸{;kkk{뺬[ pp[ KR;k;ͫ݋ +܋[K;{˼ۼ[L{@l <!%&)<*|!L$%/\$;L.= :7l?<,@LLCQ R #0"{ `^| ]ƗpƢXbh #g o,n| 0 pv0y|~u|<Ȃ}Lȇ\Ȉ,qLǎǐ<ǒ^la|bɛɝɞɟƠLrŨjʪlʢLƬ<ɩ\ɘ@[ȳ˽lǎsǸL|ƺȲLǺZ}>-!C. $~lnߞ.seg]>mVm0 =  =-.ױ N. ἾNn~G~]?v~KM%N$oM1=;}.&\ p1 P_ٮMWY[]_a7Oa-gibXUI1qOoyoq?= =``0/Oo?/O?oϿяޮӯOm/// ՠՐ/_բ $8A!`PÅ#BlHQŊ/jHFANؑHKDK0Cl9f5psgΞ:sϡG,4ѧN*,8jO7ʕ֬%{,ٱff$͛numKZyŻWo_6͂GI;/fcȑ%Oe̙5o3f˟E&]iԝfѫaǮ\mܹuNX, '^qɕ/gܹJ^u׵g{w[G+}yӛW5{M?_}spp@N>AtApB 3?$`(K +phc8ih4,9XL;npՎN6h H+q:(Q:#(:+d*, C*D) q8r4MS>}9jSQF7S?J+S̢DELD5SUuU  C8nh@ 15MՐ,~hPlL;@}A1 ?A6L,y̒:cn!#pQT1Y:t̰ݱ̳ $'U UO_U IxHIIR˘8C!>L䌣 ؒKXu ] ECX23SD$!%hE|0` Hb88r(_!6f? XL3%Ip7F @A6H*ĊvӀ(F3Ha8xYu&lV6 q>#t"6;8tMx:[//WčnHhy`c3G΋6D!aC*ύD FW=cYpH8r7M)VR蛸3 P-,?T8. f ~+YuPwºU(-rٲՌfѠ^WpۊH0*EV܆+ 8ЅjM;(u5xxpފ68m8$xAU-V@*Ҧ0  C~4" Bnyij $؊og.a8eD?(ڑv?ڐ;:% ֢; ~1|$^ 4 t+JxA( cx0$ S X!t&A34tsa ެX*A VPThHhYH~Q cR㘈D@WS6 l2ՠ"!^!q$JpJ@t-js\b"$ A@<*}>tE8_kgB!,j1Җ GE80MWA jH*QXM",! a-| @6)p€W@ꨏnpEEDM8wsIMDZrInbR8ɹbgk] CJ~S"dQtF@RA))B[@=n)%m lQpjS?`jx[UQZ2GkQs"0JđHQ(V Q r6UƚaW " K_2a4oOmWHUj F'uk%o\ڔ5ɵuZҎ^T@ڣ c#QY"$(/*B} S>9z$%:jYZ0SН5C@+BHsrO":8P*9M|B*lpC<·C̜*Hh!N1w_@U wC0pY4' D;)ԗ!mhj[Kn66hn:jhw(T셀]d^AeD#,0 ue-x*0`ʇ>5gr5>Ԧ0glb^"^TO)eK J2]PD@%Nxx0Rt׺8㊍ tPK Qıay{p,! F怖;S /i6%k͉!6XޜԊ`(w:n=)\}+U;5`P8W`: MuL!-h~^-193H^`nhn0"V~SA[Ti<'7Abo!y CAӧUqMy 4*9y| -d ĝ1En’^(@s .89oSEHaIM{k܀ mx6@oK2cӠ(24е0ڕ%: F(*]smIX(h;[aJڑ6x>@=I* B7#SܞQ6٠%j[cә-{+P8?s!+ I8C1-2r>d K  ZŹA!lI E!JKTJ,WQX7 #Z'K {ɟQ"łJd5Jܐ^EqK|4qӺ亵 8d7˘ѦE9N5iEi14t)hFpW%qE!8h,`|c h?DZ$> &c2+;ᳲh*;PDjD(^38C&!z1 BI7+F)))PEaE)l)&a~Jc 6i;H,jQЖ9hJ(2䌑<aDx*HɟV0\C!Hr1t(AL8),ˎ473ƫMԙ% L4'4MoAMd8ᴒڹq'Ðɒo!LM N,LAL;2DjO|OOOO86OO P-,P=PMP]PTpd PXP P PP Q%Q-QX@ U]QmQeQe]Pd@ QQQ Q Ռ#MUR$]R'mRQ`R*}R-% (.Q+-S(R!MQR5uS878%SS=S>S? >PQyn@EeEmTH}TIuTJJTKTLKeTOTE=GEMTR=USMR]UTeUUmSUOP`YU\UZU]U0]Z} WeU__MVd]VY cbWhViVlTMVPVnm WoWpWs Th=<vm=w}xeywm{W||W~WzW~ =v5(Xc5F^K޼=(x.c2^>fc@cANc"`5E bG~bH$6dMb#LNaNNCvaRbPdMFPdDN K~Q6Keab+eWG^ d3&46f4Nf?.fAffg>f2vcxj8]==[=05.ݽ_M(B^atX#^ PwaӠgyqg~66\8$(6l[Xh2gh5g ~h{>vht|g[~>iv\^%Ńݻ'fnߔB>g>ޟ>g.j>ݞ^j_X肞cٍ$phm# j.k>kj\l^3ic杶phjzuNg|6l V^lnlFlf~ʎlllllоlmNmӦnqvߕ8X_']([<6(p p½Uf_c,``WNbbdn+nDn&>No6Fooo~ooWomnnpvppp p pKhk٢f]5jmm==sBjX j^3ibGF_`x JtMWOtQ/L7P?uUOuV`TwUVXYuYu[u\u_u`'ZQ/Wuan"tftgH_g'hfkl/p˵^~f v`uh6^uo!wtwywzgyz|}Gw|w}x~xx/x_xouOgwxxkͅߕFth"אW/yG{UyOy'ynj\\ ?wyyzz z>Nz_7zozgzwzzzzoy'{7{veE{/{'V PddTO퇿EOEGOgTTUE|˷D4UoY|VRe?|\mVG7/}Ώ}Y}\g}}S}}}o~}7~~\~~wG~_~~?`Mɗ@2{4H0 |0bA .DPFb!~=t(Sn4k޴IS'Νd"3@AS&QQH5uSMԨUR}u֕b"phZa<,TmU v\pú[7o*^{5^# 9G_;qcɚ)KwrlQ/Vuΰ-tѡ<ć7vw͓ *,?G{;pd&Rwē7/{xWGNl>|׷|Ht`&(߁mg`"](`FX ~!ǡ V߈%xbHΘb53HvbBX$L.dExJX%WBe#j&g"qB8'U؝{xv~.wrDF`"^GB%x@(bj风*+]J*: ꥍ"(Ѫ1Z"z+(rz%~ʩ"+k骳i ߳κ)N+*kFmZmf{nܦꭸẋ,*+m;j/boɦ[J/Ũ{k|?[jǞB-ʦ<*̩\k7qG4%!".ҍ:4.=H7]|ĵy vu5#Hk}6mܺ-rkڶ|j0v{ t-x݅=+8-WN匷9G٤=ꁓ:ޓ޷+;κ`޸wO<>cͼKKu٫k}26w7}uQ ъ"9\I?/zT7 Z ?]hۃ^hp4]{Z OW6 y׶% H 0n^`Pq2t*x*4x:0|np3pmsOH6aDiQ4h-}vc<%KWp4 d PX"71 _à M$H`'B Nz('x$)!J,g >Ek>iTMEkT@? gL;o<Ԧ:C,kCVy; h0\A m `"x+c%G&?Cl< h; x'C! iHG@2v>g$cyU^BL=Bsnvd} 0-nϙ^_bX'Zr l|CuP PQ5ȁ%g$ ySn mawAWhe5:qZr"009+\ lW"Q*p }&!۾m->Yt#4MmMTmbtGD}T!}CN#@R9y JdvBn쩰+4UC+ZDI|x4J,2 <J P&HwJ֚6%4mGNEQ5UB\xnRIЯ\&N^SLA NT]guL꺮3ͭ-`JQ+O}$n-_J/nY||jsq{1Oq܋t11Z~qA5A}2Bq 2!2"";r#C2#K#|<$G%kr&s$F%F(r))2*2$r++r,r*+۲,,2*.\ @-/r's% /2&&K3 2 #5[s6Ws = |D88s994:s;;s[?S  ?z).tC3C;tDCDKtESE[tFcFktD7BC(CsItUqtJw4EÁ0KtLLtMb[WNtOO54RPQ#uR+uI5A6,uTKTSuUeS_XVsuW{W'.V#SuYYuLuZ[u\CZoY]u^5/ҵh^v` `_C`#vb+Y/bCvdKQ7dcvfkZWvfvhwghvjX?jvl˶qm6nvoW6c6pq7o#wr6*0ws;sCwtKt,(wvkwj/t7xwxwxwyywzہ(vw|Kvw}}w~~"̂| 6#13x5Cx۷78cYKgUsﷂ8R7#x8Mx8A9+3y97S9[>9+Ws.^9ςw}xGٙKxy9|@Ay九w7yy7:uCzK:90[zBksz{zt_zJ::xzczƎҷ#{+S"C{3Y[[/,;s{k{{c; h{:[z;߁{W? |+;|ہ( A?| Sk|{ǃ|ȋȓ|ɛLpCF|("ŋ3ZԈqǎ 982$ɓ&S\JH͛8sɳϟ@ JѣH*jӧPJJիXjʵ׭mٳhz}۷pBY7o߽~`Ä+NŏC,r˔1[ysbUMi3^ͺJ^˞Ms޽4KM-ȓ׼LWC󝽻wFڈ";,逿_ϾDj.宿YQDq&@U(>M7@@h!~]A4n(wdhwɩH]M!8XM'_y!J7 DbH60䤊+A9ʓ4AR&Ul%p8igP曮P@w C知1(6&ꓡ6ZxPcDZ8Q5I\9Ԑjjjj*kjkުkk*ljTe jU"A3UP T,s&>)>Z5~PC++fa-R~DJPIC^bq*@SjUЅ4v<+Sm|KeC. @C,R"eA!ͲxlJS< - %@6:u]O&fDr;`,6#}j(+> І q":0MShS<4-!MM@tM]LN"01Z9yV*cpبf>Txpk6E`79AM;%397HKqD xDp5- 񍣪Ա_ŭ~.O[.(7蘲 a&' D E`cY:F頩Qp `/*X%k~0 fbq@A}8yTRϙ%'Q0j `0Ni|̓\3D_bBí}b]ȫ'%; 8{h@v}vB2a(z1b EvHOs&h(\B S6.dbwedm;pPeM芧LTpQ_,VI sBE0&D)KUJNhW)m-TVCdNNvRJ*p8[.B5)֚+`9&tn'NnX|6Jr5VHkۥ̹Yk ciG|),QůNt+^j 2*TK-FJi]-4r G19:5"&X5]GHcp !NTAhMI+bO+T*U;Ƃg<+׾{ݫ@+ J\^2封}[X ) ,erZ uu];B[>MZ;6O}@TKv+E@nw;'޺-pm;7Ouj-q\vmo+FŮuzWej5d=%F^׽}o{KAe}Iw_4Q/~{UƽwE| &x | e w E8 ^+P&.+x6s\>g,yAFyd#3KN2,#OXnr.sV\1>Fh"*SVLhuޝyxΉ,>ӹЀh :ЎN4 Fъ%]iMӓ>t]joR=HAH?SXzJo'Ra5$9 d~S\3OM'YFҲ TgN(hsfӸӝm[f-r:4ƫ~6o$82h"|E6@h懓>\CF}_|Dzt? O97a*v+ s u&֮! @M>@sCGzя7}N:ԧN+OǺԵN{=_zػd?v}UΉ"`y>Q^I|};߽'x|1Oy['y҃/5ԟ^_[oz֣]/DE# G6/|7?gO}[s~?~g?ׯw~86^WMBȀx( (H ؀x $ȁ8X*h+"؁.hEP2w02r84!: "QEx4HHIRLNQE8PUMJH^؅O_(acheRȅVHkxjmosWwl؇7a{Uz0 \KR>r(VB?$XQ XM8D Joq q<9qplԈ^jhkEHE>XAhK9QA\9=dE8AaTEb LG)b{HQt͓=9A s;P,N@ B X=H@pr:!:C-As<-]M<AC@YzȈ9FA M@Eq .I҅6Apd` :ԠDmSW @rRM4CG sP4A#;MKXA M@ Y^#Kd Ԡ bIfH 4:))kI -5qH<ѐrٗEN1q+ JXH)N@ 3[)Xynh71N HHĐ{ UD _)4<D hI )m[1㹐J4LA_P?ِi@؀4-S,В9Q8q9zI =7aP4q)۰I 8Ya9= 9Rz5< Ls ͹")9ĔN2 ڔjuBpқ@s$*-C  7 9VM9i1L:L5dʞHE aDqB6Q>AD%J514A|6=8@z NpXK +**.;' Z"ɱ, Vulۢu$Fszg]=@a\&}XT0Cj 'X:zШ8*=pzqJ8ډأS91 x #^ɓi9t zI ܰ=s=AەjzYɓ= ˯ kK $[&k(<);-.0;2[4{68:n !:H:sYzzgsEuT[еZZuxawa;[xZSa[^T{{GX;]'ywrU!W{xyXKUbxP;Y;T˷x'gxws2%'Εt۹빡 E;[{ۺuJk! \TFջWk(+˻4q̋<ѻ6K̻&KMb;[{훾kx@s (& w)<wjt.uh7gg&Sk9#hh&:14n+q,.HB(p(<Z?+ ! #!^A6<vB !FŖl& ! &RN!^Ġ) Z^=X@Izƺa'jpn[\رz5{=mDzAń[,k|{̯v pZȑĚ|K,|ã,|ʮ:E vh&HgEw=˹˺<̼\̿l̾Œ|ά ,<ڜ\ތL4Q ;ίΊ'sRfx |Wxx\xL }M ]-MMyPl\ι&:,(F42m^W8]4709>==-F Cm?]AGIP=(p7( pshBW- _ wR)|lɣV;lo]qpn]׭hl71x~z ׃-ׅMׁM؉m؋=QG ص|Ap}؋SɈr:b٣}s WĩCK>R ] *Xڤٞ}xsš]4!^a %͐4 Mm6 Q Q?q ! s԰ڞL` 4hFt|T72ݬq[1} a̠`ތp$R [ؠm8SQSq3>c2rV4;-s` m VA1 \Aj^ҠIJG*Nf\ @ @ n/C@. Nι İKGyG>I0E 94)!s AQ)4V 9.=1.`R$9z5.sh^;@ ~`n 2 T@.ֵQ2>> GQ04 w; P->9⏣VY;?KuI;6M9@ h;&3=@j$(K4V?%>.iDݪ 7@m` As HOR k@(n8qTRAḾ U5ݕ@lD; M JC ގ'4 ;7>. O _FA-@ؓzC oNu;HaA%rܭs p #ٝQ'` mު ̀Y8r\@p;~<:C 4rĊx.soT I61Z1m]0qSUP!\x@˚ N=`4s7Knۢ(\a p y@ DR!jQf^ĘQF=~Ѣ*WsBEìt3AFB J]A#mDQT(FZ. F6@&#faAl\P XF(7j8df1fiGZA]Q6~ Z*H ZMF`kL;IJHҼ@<L*<%1mZv^jBF3L! xofz|4%6]v»,N @a\npyc]LEz: 96/}I|!DpMʈiC` r"MA ($ ɔ"ī@#8XBA.Fy,B b H | n^ /p!9 /1Q@@f/qk|(2ҺN;S}@@AJ!O#CO:lGDjϬK> -> &1DBC>lB̊EWK2Yʠ^G ]IXi+2Ѥ(XS(ՠ@ f35[ iZPub2q79;b)NTŠS:!0Hy3U❴`9Zӽcl*m>eT()W8ێ.z|gJgI]J٠%9zە44SfK^ƭ- ܭ8F`3&x֚,F ~m 1j:7uSY)Y/4cRޛ@1Z)ouc|(sc̍Έ A؁B[KͦRa__&:" w_w>=xa&zG>y:]Q>z駧zuበ} >G|[?zO}~槿~ǟ~~o`aXKZ8` * |!8A V )A f`A8BJWS QoX ya aBp'Tp:a8.PEDTD&61(QL "5+bQid4cѸ1nT#F:ƱscɨEj`^c Fqm{,#O0T#%+fryArғz$XMrΉD {Dm΀EI̲e.qK]e09La}ԍ1˂)2MLjS)3g Nқ^,qO`Ùp8Vj&B%wxEk֓ħ- ķӟ+ H"FrEO/vϖh[C5Q'>狦rԡJ$b[>,gL)Qt"|4iNu=4Ԩ3=jRxҳMSo)U꒪LjU/Ž0t_kHp7xp7wx!>qW(:֍v;yȳwH 0k<0!HI^3M hGM{\ C  Wz*wnwIjE@ P턡ZANq< PW סYÁзs qhd:zF@ @rp ":ǫnQ0~ ܀ `]h 3S*C(QF|(t jm)|9A`O(^  еN>Ӂg#܁3\+; ҂((X A!0@`?hHPH?ns9PP3@HhI U>xⓂYH8?ɫsNȂȽk0 =S! TE6#R:fA?eB1H鄉Zx˅ZP8#4 Ah^ ZLhsfȂ3= 10yD:PBt1 `PC?h+NBBWFD[7ChU@:F@9ȅ\KRhA#z\A(Ń`k#4CC8PBHLINpR @jLCx@G?h }4z۝5_x_$FDi_^`$BHH(\,@ ;@I:@;3e`@(UADX ?! A.k0FHǃ9؁S$D:S܁T_45ZWYV@HW`>i>CF7k\Wl4epPIE #Z!9=;hUe fPř8|QwA+HL`\M(IR@N([xRȅHV(Lμb\\H*lg4H>7amDгĉf9!BXR䱈A ΄H|p9AлPl,lT?c;׻8*EcVv`~+DAe3H@ch5huF,E栨(8f]Ύ,xfd֘ o~6 inQ>o8^HKcNeJ d9K^dK6ƉV66cqIWe7סEi6R>FiF~h68ipɂ Eheidvgx@?VDF6;]N(O^p.>e$p,ȁΈ;~6pg~IePP&oc8Xk16fWpɝfvq&>xΈ \0dXj~i88.xm`(]AGބ26̃(ƈ CFmpJh3F0?VN6x.&>RWg6vڻmG,+W!퓦oBƃb ߈]^dCi7;@d3~&J .npWtKꌨ:sf/n+)]~hFs )zi%WV]f%ar bzi&gm&q ri'wֹ}'fPUagFgTsN.hPYPQYZ)e馔j)z*:)Mjzv*kꭰJ뮹k jlZj]B^5jRcIYnmk-+ߢKѹ/[.+0|  70?tGj8C'8D K~WgSc.sn硫>ꥷ~멳>n~C>|sɈ=IA܍  2So}g=uB#@|7HAp!,Op 3B) mBj(!N0E(B#.MT/}˛ BEA _4^QhŅ@.';q|#>BocHҏ " HHґTd%%YIJ}d"P^(-TL%(UJS’(qYHޒ._Ka4f1IJ].$3MeҙՄ5Mjbt3>#9miH@4=!EsO: xt?iPԳ(BP3hCPFŨEQu~hIzR^ԤmJ_*ҕ FcSԦ#KwԞT9)QӔ"ENS*@*UZӧJuYVjT^a%FQ'Gxrq ~ ]`K4uC^[W5(tݫJX2֯ka_NAd/Xjy]g9 ~ -mANԒv mg7[ֲme[ֶmmm3[qy\ָ߲Es]Օu"].q!@ " AXׯ~U{_BkwDQD^%/ X,` 71-\ O0a"0QaV1a,C83vCc7q{ /|#a!(`)w>*Oz0W?rA1Z3l#cZ3{ݬ^9UlT,h?~ BSk9*S! ~}*K9,jF4d 3̧wkM/D aP)\,xߠUR 5.5_)RUZ*DQ@g( Jd'ʙL a Wi^,( .QqZƷ?Nt/IOuuOuoU׵v(3 Z^Q M̡>3[V{Q>c.[9x\T+ v? Q:㾣S?~XġH4 ϻ1~d:\wpM' Mr#@ 6DaK5j 5wxAE74x+BNSwCW{ȁc,6wOvA}_8\!&. ?}ox^P@\Q\0`Qi(B@?qv p9iDmYAkFLnWFߘeAE^ !ٵ,!\ncP]ٜ1`݁!,ROFVF:W%|ÍAWUnGS:!YQ|Fda%ARџ:uYaR]%Of*z`a )FQ#C_m܀<涍bə;Z)#gl$ $n qelu1̍ZC \=ѩ՝)Z&wNeUwFX䕧yza''Ч}'~g~ާ|~~} (((Q.h>h,P"Cbf(nj(vh~(舦hb(Ą(*5F(ϊ2z(8C+"@*(),mGTv _Fi_Jiꆔ^锪_Vb)҆v)riVn"ᚾ)Ʃr`PΩ))2<*e!.*6&裣N*VzcZn*Bv** ٥*~Gy**F檮Q`**j+&V.>kB+V 0n+i(AvkzA++wB¹k*+֫ꈹJ+H+셰+Ы,žk6ÖG>Nt0,^,Ff,vkȫzȊƎɞ,Ȟzlɮ ,$؁D"@ʾ,J,*l,¢,  +.|N",f-jZb׎m-kצ-mmr{ʭޭ޾߲v*Z*i..Fi^n.vf~.膮bn-ܚv몧ޮ.pn/v&/j6/VF/HV/Hkv`@! ,NH*\ȰÇ#JHŋ3j CIɓ(S\ɲ˗0Uv͛8sɳϟ@GУH*]ʴӧ:!bW fV\ KVV`юU[Yiᮕݸw歋^|BL!hPQpl#ӕ2`ˎ1C̹r˟34ʙ^ͺuŋw|lMҷO1o~pƉ+_x˝;Gs֯cz{^y×>P/=ߏ' H&X2x 6(!FH @EK;h 8"l'%"#xb25Θ<裎@:=$L"9EPlQieX^e\ne`~)fdifhfl Uuti@uy eF`mF9U "*&@*&JiNZovj駋z*z(n㪩j*Z묶뮷*lUjRVDbJ)RYjj]@چy+.Pff綛.k-ꞭΚklk0+ 7|0/9y^̧w@8+ҟrk/ݖ䦌i.znnͫ->\/8k4{eW2TB]_Q RWsWo^cw]6ER&=^-4r˳]m*Jn(}2Z[ nݒ)_r &Har0uy7̨^YYFRG%x<߃ẃ.?v̧zF<ϰ9_=w^|[~/曹-+xVU?[Y1U;Fs[Ng-Hl}ʛX6 q;k m[타@E[ZGgEP|+)Hτ,l` {Cp6DaH懜Abmd(QzZC(CpPY2' )US*)fTS$eoEB˳"):zQWx5:UĔF6fZ\by*1w#"!yH>#BnrCIM.)AYV~S*ldyYĖe.ҿf" 0bL2f:Ќ4IjZ̦6nz 8 { 2`dt<9 d:} %ED Q(fBꁅ* hB1ЊF}E#эZ.0RԢ-iG5P @@ ]DIzQFԣ)NeRb&D7JS+eOzӣ2 5iSURU )CRtF]*O:ԯjb*PQ"C\E"@.t׷:c {k^ޕgA?RpCHY*Z֎ڏQဒEK) -hE{EQȲQ#%)Z:h?U['<-eayH۶ԭ>5%&'fQ/@ŬlS4׺oe'׼ǽm@8ľ%}k"k_9 uDq 80HQ[p NC,a Q|‘]=^m0q, 8Kc?d7Vp<oYӶr){X &հG8Л N۬f s$>, "BfDO/GpQnQg<剼e 2s9^aweiH%I0dR^LȒDaj0.A.TAeτ A!B!|J²S=3Iq2)DEp/tVʓBػSظ3x1ÏI!ԙr=IHhĉSԫ LАyJs֡-{hVXfٻ1D-GS! ]vݽG͟G^z솴1 yi" H$^؅϶,) ,^ !a[% /AloLj("TȷHG]-#.x0P40|;i,= |f!@'tPԽ\]ua7|vEuߦ}}SwwՍ܋]xwv՝^i3<8!{N<O}}"@ }Wa@g _x@0 `1 ֏~<w \A P eB kC0 4 8".Cl`adLTb+vQ^",t! Oόgt H?nl ?B:~n| :FԨ$2cG;rGD87F#8Z򂓜#%H<2Rr!Cql*/8G8βd%/i@~&I&R<$11YLKֱL&s\FR&5Mћ'v F\p7Uol3jd ѓ; <9#|B u3giЁ64 MgpGPTTENӢ(Cѣm4B t?ԥ-KeSԦ- gNKleOds 'iRVKOEO3WU6UVU= n^۞:UeuZT]U֤5>ELtWTX߾hťe]؊B,pWJMUźX]u\tk9YδO`6ZLlSAvUOcږOrkl;Փ4*ij됾6׹Bj4'\T2&KKr*u+D+ulJka3p+y ox˜Jm;f% ɺ]1\;z7t)cNBb{~ݺDAkr͙*wޫB]kv옿հ{] XKr,BKF7P~(W xq+r]&Ω2˭X46p-5eG\b?Fn[;|l8vzA&+k͜,iU\S\b / ʭfٴ7'CcFqICy ,{z,kUo֮M\?!}1; mjv¤- 8ak|Wf+`?jc6iP5lovwV+%&K p\ax5qwyE>r'GyUr/ye>s7yus?zЅ>tGGzҕt7Ozԥ>uWWzֵuw_{>vgG{վvo{>ww{w|?xG|x7|%?yW|5yw}E?zҗG}Uzַ}e?{}u{~?|G~|7χ~?}W~}w?~Gտ~?$4DTdt $4DTdt !$"4#D$T%d&t'()*+,-./01$243D4T5d6t789:;<=>?@A$B4CDDTEdF>HBJH*,+*ЁJTHT*PoR(PLJ4H4X,VtOEQ1LE(1@`,FK<c+(HE`|FPFLP-kІ]kpXFǾS"QDG(Xh$2G+EazyLv~%ЁTTFvtGT},l1!`Ȁ,%HJІtHmx0t+E+qGDĝɝDDVЁHVBǟETJpJDENʁIDhPG !؅I؅pJLDl ؃*EdUl`K,<P=b"EKJKh,GIaDF00K̝"c|ImH4kpF+Vx!GJGhN؃ۤG2VgJt](!xFV~G0NtgըT,J,G؃ ϢȲʨK*(Lή\JJJN@tJlN0JDO؅"Ё|QOyLPQ0(BЁ=@PKLpNNXQx]HOh8QG1s Mkx&M&QN`H+؅!"؅TN l2(G3(=*}H,-R/S!9hSD!bTS6uS0*(bѭ+E0THH*%X*لGHLL "& ؅M1xdNpE?ΒFD^mZ_̊4z SS\*a!hh,BImԆmTxfm̃+]Ve);ONUD$p[URJH\cHԁDU5b̴ -Ӆ~l%J E.ƞ9}P KT%EEAHL@wI`֙ĥJ@ahX~T<[_BsTב]̍XzL߆4cU4kh?%N,UfM)-%XlS<&XWOFTRf5NZL+mĎVdL qKo<mr"ndǺRxrX #~Q+r,ZNPD\&;=ΒmfHH$T%= FH`]5GZ=5I\_JWTJYMW9) >Ytq _TaxX3>>.O)m>_<4Lj QGM]Rt`~ugD]Xjnn}vvtbmjkvdl4Gx4b /TG-pNGLۛ6}7wDuKVG0tş_NjVTԂVIL˼XvpXT%ٿ,F, ^XHanHR\v tP֟çċ=mD#&U$/7TbLwt ʌSƎԎ]`n%_6 7VcӨbj?ЫSE^E/TīGfx}LܬTfޮ}\圪:+B`7I.T{Pp&;$Fݕ &`B U;O X#T|j=C<ŸR=X> R'P]KiI֧ x Y UnM14ltfM =<8Ɠ#УK/:j!wƸO9os=Z2w;n߯ ?("gUwapx9hngZV' bq(IU1=}ڝmw]kx!iPv1IAmw%[AWYqpifhkĈtӖ㇕m]i֚l[ Zlx肂>ٖq6hy½f⧞(6z!HaiUaV*hQꄸ:p6d `Dbđ"ˎ&e~9DB &K[)AmdNoo)pK&v )2P>Cdb\[xZ[ˬkd"~-w֬3D,ܩ,t,LHtP-4~*XBt_w vx-a_k}=6sϭf㭷jmeӍv{=݁(9,W.cnyow碗N飧nꨯz밳.;le6u^t]Nv]8ba?}ˋ}=ٿo/} gZb+bbFY`BH~zyt䯁d b@BS( zP о<[SҾT&P ʤ/10C8ъph#UA sBp~G D&F|apb "B+\\@wvE* `>91$9G}°F:̱k֐ <hzCeX IGʡ<؅%b Tp#9("DpĄҒIcn\R xd+bIVC -%/$g %q.aOt @p$dT(Gc.A]`Gl% h<$ d ^@Ф\RX"HK9@TxA= B #DU聇TW>?ARHԦ",A)45db/h`t w@Ϫj蠟#hTsЀaJU.ڠT#IG 18C_"J$ӧ +HĄ) ?0*QbϢoG"p._fYP_Kl] lX|p _-b?44p`c܃0e_ G' 8иÃB4C;͍+pHC#"EWrqG,4!p!;Q!3&+5)wTB ȀS UVWjV UBV*V:V5g%+Zִ͚boUk\ ׮vuOEWzWfծ{\:ػ6lb6VecÊRle5{f(ѩS@mjUZֵֶmle;[ֶmnu[ַnp;\W%i;unt;]Fu]n׻w^4тoz^REo|;_֗/w_Gp<`o7p%<Wxp5aw:qi=t=hBЇFthF7яt%=iJWҗt5iNwӟuE=jRԧFuUjVկue=kZַuuk^׿v=lbFvlf7φv=mjWvmnww=nrFwսnvw=ozwo~x>pGxp7x%>qWx5qwyE>r'GyUr/ye>s7yus?zЅ>tGGzҕt7Ozԥ>uWWzֵuw_{>vgG{վvo{>ww{w|?xG|x7|%?yW|5yw}E?zҗG}UzַVAeowWA`*=WTX058 yb♾C~xn'-?wogџ{09̱t#؃3?+@?[S \?@Ԏ> T. d ? 4+(ANP+V=8X<ІKt"4m](!AGhJ=B(Nh=-AlG拽*A+hP0@|(1,3T=A(B.%dAD ?J$dL@EP@ AJDNUtEKDMDA@W,?U<1dVЎ<"PPk@txo-NP]((]PN=Dh2(GBB(V8CF%Ёp+sL1N=Gp@(GGhGb%؅X=%(tVLQEOD ŖPdŔLIK|EdTɛ\RTE^tHš\U [J4_4]u,ǨJtJsE@xHNH@,f*2@M*@*D=C9DK<HL@4AL\J@ A9DG>%(DC(1PţLJDĘY͟\ILMTJڼEEDJ\ڜMM[lTD|͘$LJ\M3J`3L ]п44Os>H`\DGBh!>_ 2E!hdGz|b܅ث=O*(AZOL@ʹ=5܃#Q E}NtU}[\!ΠشtQ R4J+RddXugR "E<ELKNmD]0VՁԴmSEz|`K0@UmN'%Y%RMVkɣm٧}V͔љ ]}VU$Mu])Vu`]_5խB!h1(1дݎG؅ސ܎"@F|FLK2>DJ VPhfRĭ#߇L@-Tۻژ Gh\D"x@)YtYE ^MM]e+V!`ԕY&eVX5ޤ]`n֠]R՜=Y%^]RBBH0bCuAˀ4@0h](b+ZBȑE@4ICχ)d*1\WXTKЂۃ]/0F1M-(bhVBc=q5*GPcυ3+HG\^Q!]e=]WO~LdN.ZEFeA \9=0 -4I)&L˥ic5-Tv]UZ%e\,}ݲYUk dʏ.A$RN@} ]tȽN.@KCCﰁ1Jp.@1,xEj˾=֍ikQIm–S^mfjFlfm]&>&YM\ K{, ȀBv\$+P*+Jfk!3NVܖki0 f@f&0n'%Aƴ! ,dH*\ȰÇ#JH[&MZ#A (F !F& Ly( 5\"(!Ak& ڲ@ţH*]ʴӧPJJիXMh4ePL@}8RILJ d [Xc @&8 ͆oi]̸ǐ#KLL&-`{`  @HŠ,b=AlJYǏcH2e. Nȓ+fG1@~@%H1I`@vJPAEPI$ܝFϿu@ ֛԰fhy@[7!F,Q߈$h(8p}'ʧp Pᄳ@"- A⸁H&L6Tsm!Pt,Ptk}QHA$bip)e6[(EUVR@euiŖop$Vj饘RuC1]S&A%[l=E-%xzWUBFe+, (mP (} -G7A0N1 l 5.FiMܶn@ޏ"k',\(Ї.;#Ql*w ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n/o'7G/Wogw/o觯/o HL:'H Z̠7z LN",Ba \@TX%")b 1-Qр@t n(@ 53` E K"4 hc$cx b hF%.1& ?ⱏ|#E;*La$H7F"/ 1v 9P>x)@c%XJ06p$D71KHI-g\AG<#D@jқ$#QFt%9CtRdd)(y2>/AKJQ3u@KdS0ɁBғNQjTbC3ۤ@{[2Q%<(͐2r)E*ibC7)PhRؠFP 'j35e&(S-!5JsjG/qg*CjJldH'HW d8%*m-k#xO1iM$N *j\4p#C(V"eJbsh&'DvVyG_4,%)N#0I:1ԧ`TG7эE1g-6 [~2MnOkFVHvV=Rfij -ot{њ)'ӫ~@X[%*)N7i|`30`dI}  /G` QjCl)# aWr .N^  cuO/t ] srY-st5l3}1YsaxerD@BF CZю iIS:ҕ^3miMюV4-=J#Ө=Uz4Zֵ1^vCJDlf͎h` rH Dgw=N/zO d' 1 Ta `،sk!H5"^ҍr;pӏ60nƂ %) /~ fzb{pw*=v("E ]xC"g؅9a 9 cQj4ե܀ǽC˩ x :Q Xz+ȴ2p0#~ _ڏ -#Z' qKb5`APg/=w{!N[cED 4xA;k׵ Y& <" `$Rw_c Aaq("`@G@gtBzr wPzAxU %@H RT4y0@u% pXi ְ 9x`9Ԅ$pȁyQ3YcG3yK@z1y?(_lFny F I.ȏ鏶 ^z5FXДai` y'P yK H4I>s{xeHQWGezלH[X]`o^x$I@z'(0PWm =%I$FkGJhgԉyri /hI0( e@II y $@x 5 f($x"؜yaA:Xx$PZ=ȓ@BJ  I ǔ %tm Wy8t 'Z""tpPt/wBHvxvwZzu$e Z IzcxDwHm\ޫq;˾[,gp&JnaR s;1Dm)|@ ˰a!0@]anNnɽR`:1 G۝ J @  @a]qJ.' P 0E1D `]_p  0pnͭ_@0f @q Nށ 6 <>.n^" q 8 ~qp O=M`Mp M GTĝn.> ࣀ   @'k~ O&?  㑮 >aߝ& ( 3ȧ.-3_6ohnG1f_p*O~Qbu_|aQo@~6?qlp?_?_?_ȟʿ?_؟ڿ?_04?_>cx@" DPB >QD-^ĘQF=~RH%M4C']SL5męSΌnڬsOEETRMsf1G68qUV]~%*nHѕTK"*Tq厙~ܠAj# WVZk_LVD֬6~ ]EB# fwhY?<V47k޽}|2XōG~toPΑrY\6LΏwd.4 sؼmqrIݚߪ~nH무&K8&B /h67 ?L%U2SL<4.c%bْ6 Ӳ5 -"Ƀѳ;S"!(N4"K08$L URC3xÌsCH" ybQ-*.c;*r EF9CMT+53RZ,Cl-jlC3@ p Rᐂ6ڈ yaT,sK[o%L]d#v<ā=Vi!(& ƒ n=ie)SOh ?n(7 ocXC(u- H#qe`> +$ x+Gg,C8ŋڸ鯷>{~{ﻯ{|??G}?凅~ǿ׿_'@ЀD x&t`@8CvàG dl`A8v"яd G81Upc!A6ґd$%9I9.-HJvғe(Ad3QUұs|+Y9KY򎱴.uIKXR/K`r% 0 \f3iFf6 mV6qz<8ɹNsT9 2f2ybg@ P}@J(dd9!"`E*QdC?*ҐZt&-F єT&%)EA*Әbt65&iO8NjPGΙx("ȟ.Muj#eѕRWhVժv[WUgkZֲͪkkY_T!Fծw+ JW=j|b^;X~eA`Dld؊4@PNIIֳ$g)FNlV(hUZvW$h bZj핷-hnꖠo;\ .rJBӹ|n8Vו.v]f׻nw;^񖗻5Rx#|(:җ#~׿o}|=pJ*V!E"> 1|sxE!&qMbOuN۫L׊6""V/} EFr$xNnrW*{S\n\~i e0].sDL/ ,mg ,ڣ 4=a<usg@gC#ZЋ.thICZэ#hLwҞ3Au#D@KTըF[=jS &LW=W:֡uOkZչNMl[Zո^v la7ںa}eڲv6k PĔr\Y@.nx{o{;- p\qK_1oi8ou$q]<9Un087=\?7yNtԼ~'b.+ț2]ec\u\'Ŏwf/{~vjs{o>VDغA+do|AC򙗼1>|r'-/O=;{{'mELi ~|/͇}O}o |(?H ?˿Go?? @??{@% ɕ0 ĕȕ l  A DL<@AlA|A4ATA,LA \@9HzABȁ-)IQ1zAݠ؍"B`6d03Î)ю84Qú!?W.3B6Cy„h0 hGlPFDJDDF|MDKHDHăDGK ERdFDHDEN\ELEWN\ĂETDR|BL dkB`£!=,p4 1\AlBSiH1Ǟ 2w,G yM EXlSE A 1USO!4BsIo!xB5@-ІH ЂQ@@@фO3p- ERH@= 5t`1R]!7{DD\P&m8<9ä dEI:$P*pX <RM(T]!I QPh GOmD-9h|?E:):(US$eP+@@ KԊ!կ~̕J0TĨ$:ThSQ*-)m D?@A&B6CFDVEfFvGHIJKLMNOPQ&R6SFTVUfVvWXYZE\FP^[\]F%*PP`\a^ȃ]k]Xe^^f^fff!s@shVHt0]nmF"xgoF%pB2P|NBXpf(gs`=ȃu6vfa2Vee+](!Pae!xV+XoF=0ii]ehefnGleVЁ\f iFi(=8bރBFe%} h!@pg0V]jg愈fhȃ<`躮Bh(V1d](.]b1j(ЁBxVBpЁ\l%Ёe*(V(lG0lV1 fV=xG@oas6ksqnhfkޅ^ff1Be!q`kyVN GpnVh/gr *V+(ldJ(-agopmsf0Xn=f odP<q^l^a΃20k**f62PtgtD?dp]vn~mI*p0(LG7jNs5pV"\v2kx'pfm؅2pQWM's2(r ,Vtwo>tasdžo(HpkHuPHpGGu%sZWp_750mT?p%7bq6myNFpov00]8pN&G'ySmNpnVfrj l+wpekPfrFv^]{'hVWs:Ghdj. q-t]._mw|mi {,glr(z=W<x_OaVyw]Phjajlfr~f#宮l譟.*ރGV8qWi߅U~e}w|2le+Hpvd(Xy{26p6链s~!(PPgWVV LG VZUF@B8U|$CB{ xT"Rp ÐUT(q#*vH"ƁV {Sd̨RRj*֬Zr+ذbǒ-k,ڴjײU+H'0s 28bx_Neŋ Uo8u a0 Õl!b Mԅj9#M:i4-زgӮm6ܺw/ +"SR!$f[ksUh%#h7Ǔ/o*2%.BzHZ_XrDzLwPoNˆeaEv =ظ06J>.qAZ'5cyM q'55i;ʗڅ.PEA fEcC؄VhaH;]ؤG؜h]b~Z5ᖈ&ׅ͖q9фDAqqCoؼG HK`3Uj6;F{ҘW6Z>DQ(_c^ 7""EqHWStG-nn7]袌ebF -H#aЙc(q4RnR(Raۤ-wV,\a xP31j$;(b'q xI,fHڹ+qܙj7eb6N)aw-5x$(5uATS,pT &&EIiǤzNXI΁ajU[F .0G,H C)-D0Gލ9&;AK"M!^fB xbX[abY&sb %Rn゚7[N 1cBv ^5| ad?ل ;h [R d!´]!uMpH|A81kdq|Q0-sCpe܀ EF8n'Gw697gk𣖈dǒf$5\HGGvrI&f7T&Z,yr1j]_&7Eԥ.2 7\1 ZHc~~ֆ P jiXFRԘ_QKFF-u8l41_daC}P%rY2!Yf#IƊ"|v8,~gWE05Sb}JJ~>zqSqǤ/SL"=VOfGv:K% FNrCjŖ` ](HB^2h|e%`2ʲ"w(> 0Ib<櫒f:s4jZ̦6nz 8IrsLv~ @#AƯ=B Є6t(D'ЊJԢF3Qzt@GJR eJQҖ+Ke ә%ͩNʞ> *P*ԢFM*RԦ2N*TʝZUR*Uծr^ +X*֫udMXתֶg\}ֺծxZ׼ue_W bk:,d'TZ},e7zh5K‚uhW[֪u*0BjgK!ږTqV0 nnMp [oYrZZw̮vzļxjMz׬|Kͯ~K`vN;'L [.Gڌ{ GL(NWx0VgL8qccixa;D.VEp. ah@f KnMBXˌP5L@8e A B7>Թ˘#e@RŸ=FP:gPŌ]FtT RhV"q9 !^h8D Dx BLA0`k@A &Vqh)ĎK8 ֎B3t]ke0um-s)7CQU"qvAT8 hSyS D;7t×p)'mhk P#8nHw2 PafF'.)\ЀS#k]ˈ>h7a  P@w>n͖ܜB#e ?hH ИC @;p0D(Wh݌212/9t x ((cc "~e0J64b@uE|}} l;p9 ݌kd41q1s~vӟN ؈h1[3 '4 \DuH'~ʐw7-`7Pwp >̀R~ ; ~@0&%gH ׁm1t  +~<8Evd(W8d0~m!NV&0'Ё7g`fMG$8`kxQp Vwh=8Rt ] hzC0h~Aqr'qTtAH&Q`0 a( 8 f0)HZwiu0N1MH8ḚflAxPo p1eXNxאHq Nnp @d%x HR`8嗈X]A T6 N旈x q@N0 8.xR~P \8*; ’ 9G! 1o K ˆOH 0tLiXkLI`)p(J1~8:(i~ȅt}Y\9 1~;9s9z s)39#x pYqٚO9OYyٛ9Yyșʹٜ9Yyؙڹٝ9Yy虞깞ٞ9Yyٟ:Zz ڠ:Zzڡ ":$Z&z(*,ڢ.02:4Z6z8:<ڣ>@B:DZFzHJLڤNPR:TZVzXZ\ڥ^`b:dZfzhjlڦnpr:tZvzxz|ڧ~:Zzڨ:Zzک:Zzڪ:Zzګ:ZzȚʺڬ:Zzؚںڭ:Zz蚮꺮ڮ:Zzگ;[{ ۰;[{۱ ";$[&{(*,۲.02;4[6{8:<۳>@B;D[F{HJNN˴3P+0AX\(XO۵Zc+T`Ykn˶hjKs˶vK\+ute ^۷Qg;{KU븊 wz[|˸;ۭg[ka빨{i ;븲˹۷[[{;n[s+k۹ƫK[˼˻{[+ۻz+K [+k ˽{+; jߛۼ{[f[໶˺+ L +ܿ; .1/K6̷۶%|3<.f;2 P +L čU &DWlc,_ :egyms|! ,! ,! ,! ,|'T*\ȰÇ#J0RTLlŏ CZ$3'DC˗0C@J8slxv .*]gLJmԫSF +S+zKjFQ#M<$TU Aƍ.τ*CDH\ ! D9IG׮Y|r僙)se<{ܑ3BէeSsǹdrHpZ"D^3)!) 0%= yr#$Ș3q_֜D֙T i1B_$@E$(A7EC`rW_/TPE X@B =!"$\1Y9VP` &X=H̸F]H'U`BOІc@ bD@r1#˸2DWJV$E+pE9Ӽ0`$A Vr蠖  U*lWQe4L"'UfAG$cdP3* vB܅BƖeI"P,3#D3#\AC] .HjPDqC<Ќ+E5=Э _ aIn'`YQy"LBOVa^IOhhZ6Ȼ8a.0x~[0ԣ',!?cЂv8 GdV0o Wdf54=h×°.Ie`% *jJZ*Ay\&!-{[⢺6q"d6x' m$Y$JcYp,:z&\ẉw#i2A\h3 1,Z ٸl7# ͔aFJ Nhx<]?CJ92 2lHJ $'H({ܘR3pGO@c--c@! ,8b 4!Ç !.HqE1^#ǏAn IrI%Q >|s͚8i꼹3'ϟ> ТH*54iӥNBZ+ʵׯ`ÊKٳhӪ]˶[e`xKݻxVۈ['#KXWk".6"0#X#`Q_j|U+y~l(65c{ "` f$)chM%cĔ019y#s9fi~L񉤋'9F`*c(ec.znWĞ6&XR6h&Oz 㢩%نk  'ߌa*xy{^;/.ntQ\ 򌘊U< KRIflnN$YĔņٚ|ƕ|_8yƜ "Lb왈rP#;lW ۇ72F;AnuO̾,<<2gp/(,9Gfewq8 `>RqQ`2 p 9H2'+mhMNtu)"(͚SO+cd9 r4[ el,L`ϝqZ(8PGyGfcBdҊUj6b+ha5ဃЊEƒ> 2Ip3 5V> cAķg?:>r3$7m &RTKsƉa bCÐLa`HoSV=%b ~hCL˘A{vMȠCMӨ[iX3װ~-6۳s֍{y =<8Ɠ_ɛ5C.z;-ͽjSlV~??>ߏ'X&(uauxVhHA (#H&X(" h㍡q}-@idH22)8F)h%j桗Jr`v旯hzFl)ՕprIixggən&q6 V)Fj餗V馵&P.*Q:jjCY~ꪮʞb* ީ&䡬 찰+~e~Zkv쳢*mABkfvZӆ[rbk/*,ڣߛ o,,Xg]]y[+Ḍ̲r06ӌs<@tDLޚ|*D? 6ns7t]7vw߀-ބm߃x37?8?tc.oglcd^َBtMԺ/5nr(︢=PC qn$;>0SK&F1Mͮu]^Www]7yL]Ba1^w˗8wO/WԷƵXwjb=lgֶrMk 6m} ȶbr*[uA `ǂv7ɰlm!ַisZd;w]f#\Q4Q|?bnl]_M5?pP/ i7xϻӶ' ̧힏;nAR k'^5Ϩ?F~yLD/l_h龮7{:b?y4T^Dn};/G<o;~o<'/5j1Sk<0(c{VN{QbVO1>-C>O?r^t Ao#@#nClcȀ X 8ȁ!#('H)hH-%H((+h*V!~@ a`JȄPMJ &;ׅ 6ݥՅ[ `YHghckXei(oȅshu(mȆ^H{}(膃hzN&uAzVG ؉ /ei~EHቮ f cQeԠ<<x8HϘ̸(Xظhޘ،ܨxH\q(EPaUF kUى5`eWEᐹH) j Ix$I<Ԓyʣ '6i%Y0Y7(*0yjh~wxQ XUIE<%Q YvS8I,ilɖ H;n)hɗs{y,YCkhsLI- XIZٕTI`9 #ijɗom IpI)Yew}H9QSa `YٕyC)bɐx")ƹF YY剛)ywJBH)IW9:Iّ29y뙒$9ٛiIY9IiilɔIAʠ9YBڠj9 %:2)7z 5 IٛYj IjZ~97piJ@9L*zڧ jWK:F Pۀ@(iVj5 )zcJ* e*Ź驥 FJɧ(FA9 b0ʥʞ‰*,zzɩ(vXyZDhJ*"D jW\Yڗz+Jz6qΩz(ʤ# ɠ$+ʉ:㩱 kX oZʳk:E{'+ɭ˖z=zꤐRO:8ǘ"KQ 繶ښk٦ʶiۡm{v }+{{t[ڎ'G0ʵ}Q;^km$4+jgK閊++luɶM{˺.ښmY˷|{i*ۢyj˻:h{x@ EHA @{P;ۋכ˽իk ;ܫ꛾۽FaEh[[{ۿ< :ŨzsBX\  -Y6E9YpYà70z9%mZHC\<8;K1ěRTZUSlZW ž0qd pƑ%҄Z)Secz:DžxpxwauZ%ȯ3~\zlCǒǓ|ȕɔɖɘɞɠȢ|ɢ\:laulɩ| vU¸ L6;ʣ*vޓCJqffvtNfe&HaqvF̆vmE!gl\ؼ|p,lΉA#lL=, #7Fx} q,$s= v*$=&](}*,.024=6]8-ӟKuѥ@@+}>G-B`T}V]X}Z\^$ӹLUKԠj- e֊bllpk!| }~؀=؂bo*w y0mMؒٔ=ٖ]~ԐTw֋- HmrԦ--#ٗ=۲]۴}ۅ-׈ځ۸=ܶ]}ƍݱ*پ m]-%˜mtVW}#dRB ˽kt-{#ɍ[ml룴Q uiW >;~!7dmqW7|{ >.>N!~*n,^.-/43n25;~<;WGEq|D~#<5"0E8ZV~6!'(W>YNZ~fkmo>q^[>iuj 9'G\Ln!p;>鸾` !Q.꿞Zn!=8=G1I+E~ .>^牒7i惡nεdWjye9^ iiZjsk:|<3 ٌO,Ul o_ ̀p789;_<__{ _A3 DP@>`H9QF=6RH%M i%lZb{ S̙ a )M;ybfРB%골Υ=igTUsZ U*U;~UKjuZ @&ڷJ o{m` eXXb'VƜY#Vej)e̦ZNmgiSd=t\kfzulKm-n.MIbĂ?7[Gtrz!6sGݿ_eLUFOON) ~ 2άNs/ˋ<:/C\kEήP (ObFTF*J+PA4п"KH qBpH$}Kj8$y29P¸J,CYH00l/)l<2#B/18,}HNCJ=<#-ހH=T)gR ;0L/M<PL0Dռ: #hQN[cq'jJR)>OH2tA X e+6DRTښ,+T43kn3Q1ˁԥ0 sUWTx+rP/F8o3:Ħ].Wۆk=M"I5θޮڋ;A8ќHN9[J[p]z9NwEr0˚ҙ^ 9-YS۹轰ގeNt=*}Xd˦XZ&TH;k9l;!^a8n8FLmYܜ[Ý|r#|v3gsbV{{?|G{G?}Ł k}>~'|A7À\>x#  8A VЂ`5AvaE8BЄD;υG=@@2 sC谇QnܢCёd xi Hd&5q#a@(F2όcJVҕ4W^9KXfj,iK]1Kp9Lb:Q>l$`/y9Mis]*IMnnӛ7GADg:L+kkfJ̅s=QIOSg@J@d)k 6МџdC9T2ݬ$Pvxt{Э8EESM:ґ-u%LWzOԦ3ũJ+LԧFACfiRo|ԡ.hjQOȁa4*U<լ0EY:1խU}kMa9 ծwPΤk`OƲjSUV6MlL%Rv'T'jNZճv j80r2`U+Xj\_{Ѵ6=lmj[ַkucWǺ~ָZӊuElnVݦTוoo \n׻mRקz=(skg5tζlp1׵U%.hQ8^Mz6V6%wp}{պ EN.Wf3 7(7ݶu1k{Ƀ r (~hݏ;W4OrdIF+kTq̩\ѐ53yW=: zgs'pt|vo޼N{ꍹr,Cz$.q\:Ow.lZ%D_9] vkw.P:YG=UۺR+h!:͸F^wt |YN@Kߞ\H?z 8?x$>G#% "xo ;S8;ѻ8l@l8>9 tK@;!3ӌÿR{YqnYsr?Y ̔ϻ9̻k;@Aܣ>Xq?T?a,N9:tyo @}A@C 4C#B,32 3dC=R’A<>s:=dA拺A DD$'$ 髹4:;8Ծ8> BLiAs>/sCEEMDEĉ+F8\Feܽ#=\tP|Ɏq<ƒT>y9Ę@^">J@IKFQDP۸k;Ƌ[FӓG{I_ <9H<HbLd\Dƻ;;P|ķĴC@NLKKd KI,#$IH<:yJy/췿{G˽sδի=3?|d,@A(܃F*-0%M7!y9cRTdtYb@RVN,ND$OOONddOV` lTOd,ODlφNDPTeP=ONLO P|m PXxЂ:B 5E-Q3*# l8㜇Q{ @XR!RE!-R$U$eR!=RmR#MR)RXR) R.RX)E#/]R"uR/S(S*e689%*}R4S<3%R+m:5S'ES {"+}PFuGHTgx~MMNOP%Q5RESUTeUuVWXY]U PUȇvU _aU adU\MVf]beVjdVM}VieliVVlnpVgUVj-W `lMoVsuVmfnrWq]VO uVwd-B`QjaPNWHNU؉؊8 Y^^hPg@hNbeZW`RX9f~!gvVhbUK&]OV%ge%U^,d'<ݑ>]XN(Vi1^pXcZi;]Qj6F>y{XG.чjꬶjk&.6F>Vkf뷖븦k빾k&6lF.+,H[n&#Tvx&6FVfv׆ؖ՟v?QZKЄmnnᶄ/;Phv&6FVfvꮈ2h6pm'G& c`opfxw p p q'WgqwqqrgpDmQ($Wr#P *+,r--.s./0'3G('r%#_%'/Z'O, P, F ,He6 (%,tws@?2kWRxpRP*VUNt3'27u4?RGUWVOWguXw{(7$b0:m8p~7F_f?o PD_esGteJXf$xr Uttqwq(gKW(/wwwqwuz'xw{ w}w{}GxOxWgxwxxxy'y/wwpfmZZsZp8m9O Kx$d?"@ "XzD x,ppG Xf!Pz  `v#P'Etg>k o?(MgM{wKpggpȟȯwqʟοp'}7/}?_} }O}Wٗڇ_ؿ}}}ܷ|}|q_suoy3KLD:9(>#Pf0 %z/v 7{! Xz1baD%Dj5e1xL5fI)8QIqdFE4R(If-g)&͛:ssϞ@ -(QF2]T)ԦQJJԬVb+X7+s,ڴjײ=-6椋&w̎.V't3;D H`Iba3(aˈ:!2Ă FTp'6"Pz  @$m{$lVHe-ZL~qr-Aln2Wڳs}//<ӳGSmGܺwᒷ`CX2XasX7\rAE&h Cag9= aG(Y*D mI`Ѷ !D`r'u4QI\1EJ'Vb!QQʉuQK@VIRY^%[~9eifg&a &d&qYov駞} (zh:&EdUj݇\u|ACPa :AQAjDa[OG!IlFcdB Df G\J1GFGn;F\XP.;i{޼{ֻ/V:pZpW%M젇%_ % 0a_(xcXdl+:(`Aa0P.,D#琖$IRcH)UHQK5MwDv#hz5؄c36hm6lj 7k=-"^tM<4A_sM`R%LnVPHq a !-g(kG, (J3bC.E0K"LBRJ*=/Ғ{=k=ߋ/}o 1B-eIK΍%F0 `-Ox`=a #AΒE,K0X-C\ $-\FMPr+#j )šȉJ\J K7aC!JC4bs.$.Q/aD7퐊@#:]]"E11dØE&ьk"3jKX:&u'. I 90P̥[BPӷ'ZVpB1%J(&iIr)) %JR|)JXޑe\XR,sLYR$&/id1{aJ|2}Lkj&5iFS滦d=R$<IHOP m B0AfJSw#Q#.;"*Q:IOP#.zƌmGQ+~!HO DlTJ[*Ҏ4JMZӜP1)Y T$ w2#8Yӊֵ"Pk[V] W5xEk] +`Kص5E`UYRֱl['X,g/X̒gZŢ6,k=ZnV-mmcj-ٚVmom{mr7enmXʪ"eA#TyW5ya9j=1u< ` ؿ>p<`x .0`Wv)_gx/7\S"FA;86Q, X-6pc|cx;Vq/c w83~qex%Nb'TFI\, p6Q- ?4Yl~f7,3v~3-AІ>4E3ю~4#-ISҖ43M:C@OĩSUլw0Pr]ӏ׺5-l_;ev6-hS֞mk6p{7kK o31g{Ӹ7}?h>o8 + #pC|8)o<C񑃜"/9Or<-_c󙿼28cc9Ѓ.t{5]|Jzӡ.S}Vzӳ3}^:ع.=d?^jo;.w=u߽z;.}G k tWp 0LL WB t_?xٻ~=i>~iE,ěӈ<49 (Ta~+&8 53ҷu]G˿  & .AqAtB1 (=XQ] Ơ `^& [4Y Mq0M v}ݵ a!!]N=_D=)1$B1B % (ealaѝF"$NV$Z"%^&f"m}4 \A3@%43(3 $+N "#6b&b0#1r0c12`]^bRϹB3X%p+* pD! .##.#2:c2#;£;c!~81Ă1!&" Ba2½@pF9S/ƞ#c\FcJ&d6a`!TF#`gz`a%b]Pe۱ee&ed&kf}\*n&oofw5hzUUTIq"q.'U%T9rZttJUYt^gunvvgv~'sgszx>'y'xgyFzRygzg{b|rg|z|'~'} h}^fbA8<8(>F(Nd 'C7((((ƨ(֨(樎(h7(Pm"ޥyh膒U;Ü=)FN)V^)fn)v~)))YiBiiV))U$B'j"&16FN*R^fV*bzjj~vj*j*jꭾ*jjҪw;œG)}U,V^+fn+v~++++wYA^-+.h:k[D&++,c֫X b(e+`@DHRJe\ (R؆dSZJkd $,֬,Φ+Y,ʫObŃ FlA푄$fTljh,Z$L6´.Ҕ*CLM ,ڦڮ-۶Vk|X^nf7BAЂXL" DHo <X`ȈF @@k0 <0"It-G4Fr4CLkDn4-//+O;e 0)o431R.fDV/6c7%kr$6~P"&"5@$ %و(D`B^5c6k[3'O6e++cD@>q#n(AN Kk7r'rtdӥ6w}\{ڟړ\@ƃĆ \g>׾F'=z@2!P.O >`|H*)۾O?&=_|C\L>S+_r 6?@08`A&TaC!F8"F 1rcGAD0HQPTeKK( 9fM7TgO?:hQG&UP9H@LӺkW_:ԜTUm[oƕ;n]wջo_LY[^Sx9t<+&qQVSB I Js0pF s#^DIpId, ֔@$- $xEE !jOAʈ'D@kNZ'WV<\ޘhx0p5M=p?!;h_ 'T2?M F aGfG`ܚ*?j4X3hBT_J3H&PGAz&En)p{Ȑ R>NNѪc [B"`A8%2 ":wp-eVaδ(E͔Q1 RΕ&I=`1Bቾ f0xV-q#< DؚԞPbGf%akEY*X[CZWΖmHd zIKZW"%.J1Sblu3`q.Gn)jGUMێ]sk.)Q2,RéI3Yȫ4eZ5!5HrH9Xa)a3K~dCޢbV+vqabǘ3qq|c;qc!C6r|d%'Kvrbqe$`ip8y[v:f0Yb.(Emv8csg;Yy8 ( hD/ZэfiHOZҕ-iLoZӝ=jPZԥ&MjTZխ,Ñ0gqk]wixQ a6le/< )猢Ȅ&4 K`[ns[1Z_sk)$׵zתc}o}wx7p/ w!qO1qo87{:#1 7 \+Gy]rs#XZ7= Cĭ/zQ\Eс>tװyϕ>;}@ 0q QM x\`]刁g*Vٱ)#P0i.a }V.,!!!Rq/ _"P1!=b#2$Er$!r"C9l2r%>3?S?s??9 g94AtAA/aÎC ADX{,@*{*wfjFzFxԗ6hߗL7^iaY8Ya7xu-сBU! h v:A:.‚5d gW zH#·fM@#|F} ^S^Xm}YmWtkY ՊA9EyKlA  G TA AnvQLs}U7xٛ8YyLy陔MQag/. @4Αr'kF8@iffd`N6q*h2#r a tV=כtʹO{}YW}UX^yyc)QeA a\aJT"ô0 fPd²G/+7B`34 R8uU~:i:_ڈ UX}; ew ;#J#(!%:{c0=;i fLt4_5u9]Xq;uZ \T{\t{U^M{X%ٯM{Lk;緑9w{ɻ5uwքa-\!-ڻB'#'܍6ͿZ!\#%)3'|=A\CEI?SG|]a\cei_sg|}<=I`ȉȍȑ\&TeAXɛ4|ʥ1Ka˹˽<|ɼ<|ټ<|<Ͽ8*=} Aw3!]7!81="9ɡ7AӅsA7=Ӆ;7G=Q}I[]_]}aequ=y{=}}}؁؅ؑؕ=ؙ=ٟ}ٝ}ڡڥڱ]a۹۽L2F=GV-YA=}>~ >~!##Aa695>A7~V#uT>!T~[ \^amq>u~y}>~艾>~陾>釢TAȝ$RO>9^ʿ4'vɾ>~پ^/12^o D>Lf/ 4FA ±>O^L!Zʯ&] 4`) Q?UY]~>~6\ ` !TAÀn\ :Z`m]@9 ?ٿ^>YOPa F `X @8|1ĉ+Z}ԫGPsuEش.e.FQa &P80Cq-h_a;Y4!pR ?@ 4,I^"Hb&3칧WMU;J,pI TH3%;WسP^ Á5*,C`wPтHpE'^+8;8?k pF̃yoyz袏Nz馟zꪯz뮿{N{ߞ:E8|O|;,4匎q=}OO}_}o}~O~柏~~};Zӝ܏I_G51Y'6q"p l Bp /h bp ?p",! Ohp*l! _pa<T;!4~C PCalh(JqT,jq\0qd,ψ4qlE/J1Xi%AG<ʈ'r@ r,!D*rLd)ܑ90?Hd(# I(D:ea(`( lTE.zUr,H(ȅZ0Ś`d]iL*! {A!5ljs|@GLB 8艬 6D@/eH eN Grx/x ^ҍL\+X fp _ *@"tCxQnt$-IO:H8FG8`;5A8p@"@8PO=T,0X/,H==<"_BIC 4 B }X#n@ *N/pUv(0WHdiD2@ (&;+IB ?!WD@pB -B=Fg(J*w$e$NLJC4C[Ќ/xhAV!@  `= 0p@f0 Ax@U$3y RX` C+0CAAX.p@TpBUlX9@0 x($QZH\ᣃ8FB8B.r 'AQlqpb Kd7$p&!l8yt3Uђmnp #  0%0dUMe@f,xibYZ?8}a!bC|+sl YHD$Z[# -Afr>N> gXo ѴC'\I4 ABj |?7RJӜE U@- ijKS̠NBQ N2@ , "T/H,P`ԉz `؄ZW!b$xE 4*x-6۾PFrgGv#A %\Yג7Dx thz {׳mb.J!M8v(,w~+/R=>{2*l҉`.DnyA'KdPv7 /9XMP'`g]h,*nӡP  ^NJH$.A!xDKx!@Rx)̊"EWт6?0zaFa %wLk!@H x(Z\ߤgy$ pf N M@`.hC jC0:_rG-BUUa% F`Gs'S j=8 l%Q` p '~F|!t8 >|r?~TdpT Ƿ  d g8EE@ P\%}gf> }FO@Hlvo(x8pyd ;pw"qCqP ' T#A@P/ T&S"FTi Od2F"zOU ~VKVQ$P H&8P RKm-VgHR du3eP@ PScOD>D\M-`hfb Op[DnVw!)Myvx c ??  `$7YFyD,6I$,N]J06@PDDV' DXM Hն Ov@v@X]Y RP}ODZiDwW ɖP Z W D?zI\#阏 GN!q 19D@D 4{/#D=ctVIQrJvWEtPda~OPXt MpvLERxW\ WH ɝmT 4C s?@dG)4$G#`&JDDV$NdP [LFƘNf\oٝ*E%)85%lGJ!*#J% KI@XwKk> Lh>rB;Yppbea.`VZ{ {l ׀Q"n`PP <ɌM_ 00( Qp6YugpBk,v«8V^wt KHb{4 Mt0 `tQ-{ M "MW 8a7->p Tp dwkGln؉؋ز]R{ K` ult @0ÈKWD]n@l@HpyV!VAtp[l`>d,7.lp` ngЉvt!nWi̼ 5A\ `su 7 UܷEn!"~ !@sEgpؼTNKNp suG :b׍/1֫M3<ر$M6e`uvPmWp{ޞ| ʠ}[σ-P?@&pWN |X1 eP; `f`VN iɒ \ m \n gP`ZMf fY !'Mu{;m#,^t`paő @ цw2빮\K+3}@tVJnؼd+u  Ǽ ͗V`.NUk _NB^t݌p|MTT7k M6^Px=KŻ>@?aa  ' v#R ۆ7m;=K(MV9lmwv`tc| }kiR 0u0 rȫWW@×Z gՍ ӽ~\~GG viE|w je ;|n%oNv'VZvlkp#k} t Jlf38;ex}lp.87x}?Vtp{WINݽpWH\H=ݍ, t[lWVM НVwL5\ r1 a ]H+z[UQ0(22DجMP$11R!JʍQZZ/F,+IgTa* /`rk:YL豒v%[Yiծe[qΥ[]y{j:F^!j! 7yeu DU*Rg|x&*2}(ZcD;TS'd^55#|&f 7ymqS;Z+"ڑY%).@@iQ 8'V|Wb.4@$T n`31|DЏ>; \b:12 –RM`a?F^a/[tEcqFkQS1"0fEJ %c) KSN ^dx ʗ#{ HN)H.yӓ)ۡ-_hW `xQ9P

T]与9~o~ î@ [8HH鞐  & JIǿ nl D P0O  ? ^3BiQD-^ĘQF=~RH%MD`dL:$QSL:v 1>@Բ8PNA .\EJ# p S` Rgn|Zš!Sn\@Yz)/g} -N`0RZ0uK Fm ̩`xL# JYY5/$霸PDjƝ[n޽kixoōvD:]hOvr`HSͥ!@FBrmU8D#Ly RE\P?+rz ΐ$VY!VA;:c)$(NvA ZPDe0)Gj;G2H0%!D2IDW:q´.فIĪRćU8;(( (:;SԺZAjȅSJ Ň3J!j;de8`?O^ ;*2KIZb^hAB ehARJS*$d 3|aȪ*6%6XaySiXc馃""2E"tr S;x hH`C?/s]!$e[nl",CKQJjF$ᐃ6^8c7> 8d'J'J,yc *rOT;!O,07$$/uc8'|{BY] . |HD`ec$ZÌrB E.Pqu& F)H\,[pXU%_EB@P] 2EkBc280D)`AA+-0R\l}O"߈d(VQ7%An .. "‹*7S -'1dld#xyqi^1#qTэOMx % cgC+vғ*'E,DDG8)#,LQ-#ZF!wR)6vi`kGDR]DYe3ZO Jf("re6Y}L|'Gڇk* ɢuRcKݵ6mi A+"&Z ҐIQ?QĒL*&s"DdE&ʀ/LFŐ"%s5wDQ($)T3S&䡥E/s\Ef2-ZUJѕ-ۘT'uj9 ƕ: ;| <\x|zȄ{Mr?zEx$-\= XA|C44mXbv3Nt]{Ku vÛ@Z8._woo"~{mrG|ׇ|%?yW|5yww= ve{u{Ovڨ?9z,χ~?}W~}w?<|c3~;,mPJhD$lS?@WXW`e(TTf Tf@NPTtf(A@.A8?0 Ԅ WhRpH0f'P0& 1e2 8d7B8Tg1Oif@ 1Np6\<Up4L"2<>\N?$C3D4T$ClKh&@:7x@ (L0εdNl wf|dRl<WSPˋ@N VSE0h/?8P"CLOq*E=I DE0L,+ՈΈؤ_?@D@(PP9 2i1F?8&xNcpDzT=cND8ɉ2uV0FhXPߌ 2hrkWI @Dp ȁ0W*P}vk<8 _ seWLh! (xS8(MPkbuKXhFC՜KŒ>S?gXYdYl@RD]YmgYeP݄Thhh ڑ%٦%Nڄ> >`N[ά%&گUY=Y E[iRY.۸=W3[J$f0kK![-ۈV5 e\x܉ԊxP؁Մ}Ah80\ F\ }\=#!? ][xdWYf(ŕ]"EeuM"^*%5EUeu_'v__` `&_N`vV%2mv`&6a.FafaO  86j"6#F$V%f&v'()b%K?#A 61hXC K1^,16c2V4fc4v35~c969c:eWDXxeUie[nVQT^F]e^f`ecc&fddnf_nf^fxeAGֲ1Aᕈ1 `PCr.FHV[8.E6s6(cgkD|Ƶd&i b~f]J2ǥRޱx3xЀDWbKՄ/K#4+ Lh /DWH( ]J͎tJJdo35<%CKWO( iNSJ=x}4i [he`U'R؏UX9UqeXv1#`/y9*S0"<((bߡ3kBA Ĕ+eNݰXN0XȄ/ƞ~M3lk`eh?H<h f`Tjjc/^lFVs2mժlŃ XC BHa5? #|X.J*AQe=5hof荸8N(@exGW.p*oO?q3(mŃFAS7X/<ֆh@mXiܶ3nm Hұ)8 ?U5 ߍV"S~"&b#"#5*qKF5g$lIo"f'Fe$s#5+sA䛞5rJ/xO6BF;J'ut ~Z[\[#W<Іʆb7cGdWegfwghivev۸_nopq'r7sGtWwoo-x?`*mhv`zz{|}~'7GW|o{xc,wb_'7GWg/R@ly*9'_Rl E5ΧGJOڨDhEAO4z lA)R߅\0*\O(!  `A i BXӉd& ,FlU_Bڔ%[ݜ{- *d?pUHQa #eD4TC6fC9d:t;16}@d>4KD9CEZ>m0F!lC9l@WcU/\H_@/MOsaF2hFUX8N A&b|@՗3̴@@j"WNTz|(sՄˎl༂IA9ҧSn:ڷs甗RrF[)ȇ^!Xnkg| uj# pR'-p0b/ I/b@!I.PJ a/'"m豢 b$ˬrw#Y`)!PlhB"t). 4Q1rmLc 4)("Bi&<)dq3qt &! "mA)dn `V')_4@AI-$B 4\CI Ղ!n dPx**:.JD R*p#8Ѐ2v*.J,HI}R4I("G(>t`ǹ!GA7PAmAhC!\ R,RQ ZN Cg p4 7d`'C'QDL3fx4 ewJg.P1OlR`J>a*rfL 3-\*Pv2B{r6Ҍ) 1-(b0`Rvv:<7u}7ҕFnrW\A]qö";" yI!/DŽF.  6"H <">"ջB !G);! .Cͣ$ ևR; <#Id(pA3e )+qKE[AE(!v(= v 4щi-pDQl pZ8&75̀BƜ`f C(be(YL ЈM|%;/`āyR‚HbV|6`@A4B !N2-YIA a"ETL]h Fڭm(*W4 $3 i+:0DK'1 |B2 կ |lF| U7'S fSJpaf)=5K#c)YҲn9 M考 %%OuP ` . TX@UauIP?)g&D?AJ| F #Q_Ђ8/x00*\B]Ѓ\PAfpdZELx@ >hDAP@ ~Ù?! \Y9A1&(-*"D>@+HF;p\DtIzF.Zr^*JbQ3pLa]%H~`3Q4(Da''ݬ9kVඇL*#`ڔ&.QԚpҘPQTP?e >0dh* mjsȒ"A Q 2 $j`C`$XxX\bX!ynp ìՀB!!v!_ Ku؉)SjPdT'h,X24q-C)2ǹ2tD#Y>(.NXn7O`240 X)`>sNq;4#-IʄcE.f\(B䉚ԡeej\`%#-uCO$gŮ}Ѯ3h3 ]0Mp 4!mnZ@hv-hnNbk2T MfJ-مz5pQ鲊Jp wn(I$8"lGƃ5R&$;)Q#0CM1y\%Dbf{sF/Xإ)~x7)'v䊝GOyW*.bMi2 OsWRN6Nyl//X;Ygs"PE0:ɟءY]#Cы?Sիazq>01 Q=/?>>/S_@@6k{Ojǟ=@'?  "% 6.B`;< 0̂0dj ~`  ` !"!:!2aFfnaN!^z!>z!r=d,ơ!֡!!H!/B0b"""6"#>"F#J"$N%V"&R&^&f"'~'b'&F@!(**"++b+b0".."/"B)d0 /#2&2"A2>#4F4!x1N#6f6,6~#8)`x0C#xB$')/a)!D(;Fbţ'41E=)ԣ:#@/8:~28D(PS,Bc#gB)c/>cxCX?c)u,G#0Bz$CF=RCzB>Hz$DJTDA$IFZ<HCc#DB/A$C;$JNG)aP d$DP2vISOX>Z޲>6BGj>R%PNV:6e$#X$0fR@d=Ic=^fY%I.^B&A(lbb.t;cp~(vX*p")h0Ee'\x4b"u92wR%bH*1<`4Hv0XAs 'h2 v'!|\}@rpu)hwg#)hp!0g k'/ H&')8A}$b&#熪u(v/RJ| ,ųpHdbg%|h}',p}p'yjX/zpvC<)wA)'J`D)JCGAPgp/|pj ęE*jvCp&0h$lBf##/:v:pSj #BdA)HC2A0+b,d$˄ HgcPa*FH *4AtlH…F+~b1| !X>_z),[b橊eWʐ.k""8!RA F&`HV"@#m HB g-g20B‚u't4"DLB`zM Pԣi$,f,0 )ER%@Ax)"vuFX dAD*l0લ*F FK#)}CJI2),C/#$XO$V.$;,۞)<'K>2 ȉ<."ҮMP2Neߚ,3 k@lD.e9b/؋ВqⅤD1'JG0-)Rh[@^p@!iCOTA@|Ĺ0_h@1"l؁zA`r $Bc1bX}*b j)o0gDVM@dk|R*pՇ >B"rS,!R@@9yD`Vvtd)8Glg\H`ȇv]}Fd7j񅾅+p$"/h+(*0Ew /1)#P"@FGRAv8f/T!!Gٮxp䎅|)Emx0J"/]F 0 LNG6!Ϋ؇(1)2&X1*n6#* d) 팄(B'4H 8,F,C@#` 0n ܀IM03/(|H>#4*0'GK 5}E rfSx*PE3+D"H&B#(Ktm 2̜S|tЫO\@8sFs,Hh~f,dS05 MR#@n(i z+RBp@d -S![9') KdF$J A I5u_}@ &"| #NKABU2h J<YS"Z0'Ru3np32UHSoSuNs8RtԝDy/9[%^iF8D\Ï(D(6B. ؐB(ZȐR0o U`71$wb*8r^d僗vgh+9:Ud+y󟣸@~aA (*[R97,~[q8)D  |Ύ) QMrbϕSȰ=(%1# (6)E @!͹!?%d+pPH:-[Tt`  `G(ND#-`K7ָSXj4Sd=0V~>HS, 4"P7`)b4@ E@-t #iG0: Md9NL[AU:)=BБ|QKnUD.cKB hn0HqXƑe`$MHcp~r ¹2\a"Z@{:$V CA eD){ TD~ f#JK]f/:ԥMjTZխtB\kVZֵ#׽}l`#J@rfa e/vmiOնmiBnqg(ѝnu{foy+{ ±=o}vwp7pgMv.r E)^I1(8/qw @asϜ5AkM-߄'~ΊR|ҁ% ^8wӡuOUo .~%T <$8! gpA (\Pa`˭wϝu/C79!)@e5xd-<]6!yO).L&{`$$Q 2?+N Hvxa{Ϟs8de+b37&Eԇ7|'rdړ,!@#[,ɧXwV``.^1H@cNN.Ta8 $< 8~j F$p)l6̍Znj<ja,Q0UOL;.^oimYQp}{\CK a 0 p 0 p 0 p ɰ 0 p ٰ pȞ` 0p1q  1q!1%q)-1 ^b@1!BFEIM1Yq]Qaceig1mQqq}11q٩1qk q1qɱ1qٱ1q1q2 r 2!r!!!!2"%r")"-"12#5r#9#=#A2$Er$I$,P2%U2L%]%a2&er&i&m&q2'ur'y'}& ( (~(rDa@)'r*}(r+q)+s+" ! ,! ,! ,! ,! ,! ,! ,;art/process_iter_fg.svg0000664000175000017500000100772313457660353015700 0ustar gabrielegabriele Flame Graph Reset Zoom Search L187 (5,822 usec, 0.09%) L340 (565 usec, 0.01%) L430 (2,562 usec, 0.04%) L1449 (1,546 usec, 0.02%) L698 (1,920 usec, 0.03%) L1448 (1,274 usec, 0.02%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (766 usec, 0.01%) is_running (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (2,213 usec, 0.03%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (2,266,657 usec, 35.43%) create_time (/usr/local/lib/python3.6/dist-packages/psuti.. L337 (562 usec, 0.01%) L1584 (8,897 usec, 0.14%) <listcomp> (<string>) (6,385,044 usec, 99.81%) <listcomp> (<string>) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,173 usec, 0.02%) L100 (6,385,350 usec, 99.82%) L100 L6 (6,385,656 usec, 99.82%) L6 L340 (633 usec, 0.01%) L337 (980 usec, 0.02%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (827 usec, 0.01%) L1449 (773 usec, 0.01%) L1448 (1,544 usec, 0.02%) L346 (16,184 usec, 0.25%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (33,365 usec, 0.52%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,153 usec, 0.02%) L187 (1,952 usec, 0.03%) L187 (1,153 usec, 0.02%) L1448 (1,499 usec, 0.02%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,377 usec, 0.02%) L699 (13,614 usec, 0.21%) L1442 (1,700 usec, 0.03%) __init__ (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (240,509 usec, 3.76%) __in.. L1449 (6,124 usec, 0.10%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (757,438 usec, 11.84%) open_binary (/usr.. L359 (6,108 usec, 0.10%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (2,449 usec, 0.04%) L337 (1,377 usec, 0.02%) L340 (5,375,297 usec, 84.03%) L340 L340 (8,298 usec, 0.13%) L337 (18,934 usec, 0.30%) L1584 (541,476 usec, 8.46%) L1584 L1402 (1,404,933 usec, 21.96%) L1402 wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (6,445 usec, 0.10%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (31,816 usec, 0.50%) L569 (20,490 usec, 0.32%) L337 (6,784 usec, 0.11%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (18,934 usec, 0.30%) L187 (757,438 usec, 11.84%) L187 L1591 (1,173 usec, 0.02%) _init (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (20,490 usec, 0.32%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (562 usec, 0.01%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (1,405,804 usec, 21.98%) create_time (/usr/local/lib/python.. L340 (4,159 usec, 0.07%) L367 (2,213 usec, 0.03%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (2,514 usec, 0.04%) L1442 (1,123 usec, 0.02%) pids (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (282,284 usec, 4.41%) pids .. L337 (394,402 usec, 6.17%) L337 create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (33,365 usec, 0.52%) L187 (716 usec, 0.01%) L187 (2,401 usec, 0.04%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (2,454 usec, 0.04%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (1,614 usec, 0.03%) L1584 (3,061 usec, 0.05%) L1447 (560 usec, 0.01%) L1402 (1,767 usec, 0.03%) L1442 (2,754 usec, 0.04%) L561 (14,039 usec, 0.22%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (6,381 usec, 0.10%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (887,043 usec, 13.87%) _parse_stat_file (/us.. L1446 (1,324 usec, 0.02%) pid (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (44,730 usec, 0.70%) L1402 (569 usec, 0.01%) __init__ (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (2,213 usec, 0.03%) L698 (2,530,630 usec, 39.56%) L698 L1370 (7,349 usec, 0.11%) L187 (3,807 usec, 0.06%) _init (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (4,159 usec, 0.07%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (12,805 usec, 0.20%) L337 (31,982 usec, 0.50%) L1446 (1,612 usec, 0.03%) L1442 (898 usec, 0.01%) L1370 (612 usec, 0.01%) L1449 (565 usec, 0.01%) L1449 (65,138 usec, 1.02%) L1441 (619 usec, 0.01%) L1446 (1,225 usec, 0.02%) L1402 (5,494 usec, 0.09%) L353 (6,598 usec, 0.10%) L698 (5,494 usec, 0.09%) L1584 (1,787 usec, 0.03%) L1442 (5,643 usec, 0.09%) L699 (1,739 usec, 0.03%) L187 (12,535 usec, 0.20%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (26,093 usec, 0.41%) <module> (process_iter.py) (6,385,656 usec, 99.82%) <module> (process_iter.py) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (8,728 usec, 0.14%) L1584 (6,454 usec, 0.10%) L1584 (33,365 usec, 0.52%) L692 (692 usec, 0.01%) L1449 (1,023 usec, 0.02%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (8,897 usec, 0.14%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,404,933 usec, 21.96%) create_time (/usr/local/lib/python.. wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (319,965 usec, 5.00%) wrappe.. create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (5,494 usec, 0.09%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (19,087 usec, 0.30%) _init (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (2,148 usec, 0.03%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,836 usec, 0.03%) L1448 (663 usec, 0.01%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (720 usec, 0.01%) L1402 (871 usec, 0.01%) is_running (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (5,865,444 usec, 91.69%) is_running (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) is_running (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (2,396 usec, 0.04%) L1440 (565 usec, 0.01%) L1584 (928 usec, 0.01%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (27,268 usec, 0.43%) L187 (6,381 usec, 0.10%) L1448 (5,055 usec, 0.08%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (16,031 usec, 0.25%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (720 usec, 0.01%) L1442 (2,514 usec, 0.04%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (6,908 usec, 0.11%) L1448 (70,781 usec, 1.11%) L1584 (970,529 usec, 15.17%) L1584 wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (3,533 usec, 0.06%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (6,053 usec, 0.09%) L569 (2,213 usec, 0.03%) L340 (665 usec, 0.01%) L1428 (6,120 usec, 0.10%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (3,927 usec, 0.06%) L1449 (1,388 usec, 0.02%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (562 usec, 0.01%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (773 usec, 0.01%) L1402 (6,784 usec, 0.11%) L1442 (918 usec, 0.01%) L337 (720 usec, 0.01%) L1402 (3,061 usec, 0.05%) L337 (1,020 usec, 0.02%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (19,153 usec, 0.30%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (871 usec, 0.01%) L563 (717 usec, 0.01%) L187 (564 usec, 0.01%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (6,784 usec, 0.11%) L1441 (5,809 usec, 0.09%) L1336 (64,312 usec, 1.01%) L1446 (48,286 usec, 0.75%) L698 (1,404,933 usec, 21.96%) L698 L698 (5,825 usec, 0.09%) L187 (712 usec, 0.01%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,229 usec, 0.02%) L1430 (612 usec, 0.01%) L1448 (60,227 usec, 0.94%) L569 (633 usec, 0.01%) L698 (12,805 usec, 0.20%) L1584 (19,087 usec, 0.30%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (3,524 usec, 0.06%) L1402 (33,365 usec, 0.52%) L1449 (1,993 usec, 0.03%) L187 (2,454 usec, 0.04%) all (6,396,892 usec, 100%) L1402 (4,333 usec, 0.07%) process_iter (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (7,683 usec, 0.12%) L1446 (867 usec, 0.01%) pids (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (612 usec, 0.01%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (9,151 usec, 0.14%) L337 (19,153 usec, 0.30%) L698 (3,700 usec, 0.06%) L1448 (1,950 usec, 0.03%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (2,627 usec, 0.04%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (164,489 usec, 2.57%) wr.. wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (3,547 usec, 0.06%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (2,019 usec, 0.03%) L187 (6,908 usec, 0.11%) L1402 (1,533 usec, 0.02%) L1394 (665 usec, 0.01%) L337 (163,213 usec, 2.55%) L337 L1402 (5,835 usec, 0.09%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (561 usec, 0.01%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (564 usec, 0.01%) L187 (6,772 usec, 0.11%) L1442 (3,831 usec, 0.06%) L1447 (1,528 usec, 0.02%) L430 (44,730 usec, 0.70%) L1446 (1,837 usec, 0.03%) L337 (908,630 usec, 14.20%) L337 L337 (6,293 usec, 0.10%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (917 usec, 0.01%) L569 (2,396 usec, 0.04%) __init__ (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (3,268 usec, 0.05%) L337 (871 usec, 0.01%) run (/usr/lib/python3.6/cProfile.py) (6,385,350 usec, 99.82%) run (/usr/lib/python3.6/cProfile.py) _init (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (633 usec, 0.01%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (5,494 usec, 0.09%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (3,927 usec, 0.06%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (321,962 usec, 5.03%) create.. open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (2,401 usec, 0.04%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,767 usec, 0.03%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (967 usec, 0.02%) L1584 (8,728 usec, 0.14%) L1584 (1,175 usec, 0.02%) __init__ (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,923 usec, 0.03%) <listcomp> (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (64,312 usec, 1.01%) L1402 (6,555 usec, 0.10%) L698 (9,712 usec, 0.15%) L367 (2,396 usec, 0.04%) _init (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (25,751 usec, 0.40%) L1442 (13,863 usec, 0.22%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (163,519 usec, 2.56%) wr.. L337 (15,569 usec, 0.24%) L699 (688 usec, 0.01%) _init (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (2,213 usec, 0.03%) L337 (40,002 usec, 0.63%) L367 (3,087,710 usec, 48.27%) L367 b (/usr/local/lib/python3.6/dist-packages/psutil/_compat.py) (1,428 usec, 0.02%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (9,712 usec, 0.15%) is_running (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (1,147 usec, 0.02%) __eq__ (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (162,764 usec, 2.54%) __.. L95 (6,385,350 usec, 99.82%) L95 wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,377 usec, 0.02%) L1429 (764 usec, 0.01%) L337 (1,563,584 usec, 24.44%) L337 create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,175 usec, 0.02%) L1591 (1,700 usec, 0.03%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (5,825 usec, 0.09%) L1461 (3,032 usec, 0.05%) L187 (4,913 usec, 0.08%) L1446 (612 usec, 0.01%) L1402 (164,489 usec, 2.57%) L1.. wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (1,020 usec, 0.02%) L187 (67,059 usec, 1.05%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (562 usec, 0.01%) L1448 (1,991 usec, 0.03%) L337 (319,965 usec, 5.00%) L337 _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (14,901 usec, 0.23%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (569 usec, 0.01%) pids (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (7,349 usec, 0.11%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (2,447,418 usec, 38.26%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslin.. L1402 (562 usec, 0.01%) L367 (27,268 usec, 0.43%) L187 (612 usec, 0.01%) L1446 (562 usec, 0.01%) L367 (3,533 usec, 0.06%) L362 (532,833 usec, 8.33%) L362 wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (13,461 usec, 0.21%) L187 (240,481 usec, 3.76%) L187 wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,787 usec, 0.03%) L187 (612 usec, 0.01%) get_procfs_path (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (613 usec, 0.01%) _init (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (8,298 usec, 0.13%) L1435 (1,147 usec, 0.02%) L1442 (130,990 usec, 2.05%) L.. _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (12,651 usec, 0.20%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (5,835 usec, 0.09%) L340 (2,396 usec, 0.04%) L1591 (1,222 usec, 0.02%) L569 (25,751 usec, 0.40%) L569 (2,925 usec, 0.05%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,792 usec, 0.03%) L187 (7,092 usec, 0.11%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (21,513 usec, 0.34%) <listcomp> (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (7,196 usec, 0.11%) L1402 (562 usec, 0.01%) L1448 (3,299 usec, 0.05%) L187 (20,941 usec, 0.33%) L187 (79,726 usec, 1.25%) L187 (8,993 usec, 0.14%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (1,940 usec, 0.03%) __init__ (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (633 usec, 0.01%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (1,377 usec, 0.02%) L337 (1,787 usec, 0.03%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (19,087 usec, 0.30%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (79,726 usec, 1.25%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (6,185 usec, 0.10%) L1442 (373,388 usec, 5.84%) L1442 wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (1,175 usec, 0.02%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (928 usec, 0.01%) L1336 (281,456 usec, 4.40%) L1336 L356 (19,240 usec, 0.30%) L337 (1,175 usec, 0.02%) L698 (6,445 usec, 0.10%) L1442 (3,824 usec, 0.06%) <listcomp> (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (612 usec, 0.01%) L187 (11,789 usec, 0.18%) L340 (3,268 usec, 0.05%) L698 (8,202 usec, 0.13%) L1442 (191,052 usec, 2.99%) L1.. L27 (1,428 usec, 0.02%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (8,589 usec, 0.13%) L1442 (5,490 usec, 0.09%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (5,835 usec, 0.09%) L337 (928 usec, 0.01%) L1441 (867 usec, 0.01%) L1442 (8,447 usec, 0.13%) run (/usr/lib/python3.6/profile.py) (6,385,656 usec, 99.82%) run (/usr/lib/python3.6/profile.py) L1394 (633 usec, 0.01%) L337 (5,494 usec, 0.09%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (2,155 usec, 0.03%) L1449 (612 usec, 0.01%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (562 usec, 0.01%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (1,563,584 usec, 24.44%) wrapper (/usr/local/lib/python3.6/dist.. wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (11,189 usec, 0.17%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (320,580 usec, 5.01%) create.. wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (27,268 usec, 0.43%) L363 (8,515 usec, 0.13%) L354 (8,728 usec, 0.14%) L1336 (7,349 usec, 0.11%) L698 (5,835 usec, 0.09%) L1584 (1,377 usec, 0.02%) L337 (1,054 usec, 0.02%) L337 (8,627 usec, 0.13%) L367 (2,148 usec, 0.03%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (6,293 usec, 0.10%) L569 (665 usec, 0.01%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (817 usec, 0.01%) L1446 (1,071 usec, 0.02%) L187 (1,836 usec, 0.03%) L337 (530,674 usec, 8.30%) L337 _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (6,631 usec, 0.10%) L1582 (19,153 usec, 0.30%) L337 (25,165 usec, 0.39%) pid (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (2,562 usec, 0.04%) L1402 (21,359 usec, 0.33%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,054 usec, 0.02%) __init__ (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (2,250 usec, 0.04%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (8,728 usec, 0.14%) L187 (5,953 usec, 0.09%) L1447 (832 usec, 0.01%) L1584 (720 usec, 0.01%) L569 (3,268 usec, 0.05%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (15,164 usec, 0.24%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,174 usec, 0.02%) L1442 (14,594 usec, 0.23%) L1584 (1,174 usec, 0.02%) L1442 (689,229 usec, 10.77%) L1442 L337 (3,061 usec, 0.05%) Thread 7fe81eed0740 (6,396,892 usec, 100.00%) Thread 7fe81eed0740 create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (1,701 usec, 0.03%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (8,202 usec, 0.13%) is_running (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (20,490 usec, 0.32%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (11,189 usec, 0.17%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (20,746 usec, 0.32%) L569 (1,147 usec, 0.02%) L1584 (11,189 usec, 0.17%) L699 (13,073 usec, 0.20%) L1447 (866 usec, 0.01%) L1582 (40,002 usec, 0.63%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (3,061 usec, 0.05%) L187 (1,834 usec, 0.03%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (8,728 usec, 0.14%) L1448 (22,872 usec, 0.36%) L1426 (13,773 usec, 0.22%) L1402 (2,935 usec, 0.05%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (12,805 usec, 0.20%) L1442 (5,032 usec, 0.08%) L340 (20,490 usec, 0.32%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (5,151 usec, 0.08%) L1446 (612 usec, 0.01%) L1447 (612 usec, 0.01%) L1402 (9,712 usec, 0.15%) L340 (5,354 usec, 0.08%) L187 (373,783 usec, 5.84%) L187 __init__ (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (665 usec, 0.01%) L1448 (2,244 usec, 0.04%) L1440 (5,976,503 usec, 93.43%) L1440 __init__ (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (25,751 usec, 0.40%) L1584 (163,519 usec, 2.56%) L1.. L1 (6,385,350 usec, 99.82%) L1 L556 (11,543 usec, 0.18%) L1447 (41,430 usec, 0.65%) L1584 (12,805 usec, 0.20%) L1449 (69,898 usec, 1.09%) L1441 (613 usec, 0.01%) L387 (1,499,109 usec, 23.43%) L387 L214 (111,484 usec, 1.74%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (3,061 usec, 0.05%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,787 usec, 0.03%) L187 (4,011 usec, 0.06%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (562 usec, 0.01%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (11,189 usec, 0.17%) L340 (2,250 usec, 0.04%) __init__ (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (565 usec, 0.01%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (908,630 usec, 14.20%) wrapper (/usr/local/l.. create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (6,445 usec, 0.10%) L187 (561 usec, 0.01%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (21,359 usec, 0.33%) L1442 (9,809 usec, 0.15%) L337 (8,589 usec, 0.13%) L1425 (307,162 usec, 4.80%) L1425 get_procfs_path (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (111,484 usec, 1.74%) L1584 (927 usec, 0.01%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,614 usec, 0.03%) L355 (9,257 usec, 0.14%) _init (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (5,297,271 usec, 82.81%) _init (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (27,971 usec, 0.44%) L698 (562 usec, 0.01%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (612 usec, 0.01%) L187 (5,151 usec, 0.08%) L1591 (12,218 usec, 0.19%) L337 (1,614 usec, 0.03%) L1336 (612 usec, 0.01%) L698 (6,784 usec, 0.11%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (562 usec, 0.01%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (15,569 usec, 0.24%) L1442 (718 usec, 0.01%) L187 (817 usec, 0.01%) L1402 (12,805 usec, 0.20%) _init (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (5,354 usec, 0.08%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (871 usec, 0.01%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (2,602 usec, 0.04%) L1402 (27,268 usec, 0.43%) L1402 (6,445 usec, 0.10%) is_running (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (3,268 usec, 0.05%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (6,555 usec, 0.10%) L1447 (574 usec, 0.01%) L187 (27,971 usec, 0.44%) L337 (773 usec, 0.01%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (320,580 usec, 5.01%) wrappe.. wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (6,454 usec, 0.10%) is_running (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (665 usec, 0.01%) L366 (2,502 usec, 0.04%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (3,700 usec, 0.06%) is_running (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (8,298 usec, 0.13%) L367 (8,145 usec, 0.13%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (2,935 usec, 0.05%) pid (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (42,638 usec, 0.67%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (394,402 usec, 6.17%) wrapper .. _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (102,997 usec, 1.61%) L1446 (560 usec, 0.01%) __init__ (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (5,402,821 usec, 84.46%) __init__ (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (2,740,192 usec, 42.84%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) L1402 (8,202 usec, 0.13%) L1336 (612 usec, 0.01%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (612 usec, 0.01%) L569 (565 usec, 0.01%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (19,883 usec, 0.31%) L1442 (967 usec, 0.02%) pids (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (612 usec, 0.01%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (24,395 usec, 0.38%) L1449 (1,379 usec, 0.02%) L1448 (3,506 usec, 0.05%) __init__ (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (764 usec, 0.01%) pids (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (7,349 usec, 0.11%) L698 (8,728 usec, 0.14%) L337 (11,095 usec, 0.17%) L1429 (1,049 usec, 0.02%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (12,049 usec, 0.19%) L364 (8,066 usec, 0.13%) L1447 (2,297 usec, 0.04%) L187 (662 usec, 0.01%) L1590 (1,207 usec, 0.02%) L337 (562 usec, 0.01%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (5,825 usec, 0.09%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (716 usec, 0.01%) L1402 (1,377 usec, 0.02%) L1442 (31,968 usec, 0.50%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (2,935 usec, 0.05%) L1448 (82,477 usec, 1.29%) L1402 (5,825 usec, 0.09%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (561 usec, 0.01%) L1591 (871 usec, 0.01%) L337 (9,712 usec, 0.15%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (12,535 usec, 0.20%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (3,227 usec, 0.05%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (15,569 usec, 0.24%) L337 (20,746 usec, 0.32%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (9,712 usec, 0.15%) L569 (8,298 usec, 0.13%) L1591 (3,227 usec, 0.05%) L337 (5,672 usec, 0.09%) L1432 (3,823 usec, 0.06%) L1442 (1,974 usec, 0.03%) L16 (6,385,656 usec, 99.82%) L16 L339 (27,524 usec, 0.43%) L1447 (22,936 usec, 0.36%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (18,934 usec, 0.30%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (4,011 usec, 0.06%) L1402 (2,441,080 usec, 38.16%) L1402 L569 (5,839,145 usec, 91.28%) L569 runctx (/usr/lib/python3.6/cProfile.py) (6,385,350 usec, 99.82%) runctx (/usr/lib/python3.6/cProfile.py) L1 (6,385,044 usec, 99.81%) L1 L1448 (2,298 usec, 0.04%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,700 usec, 0.03%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (967 usec, 0.02%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (21,359 usec, 0.33%) L1448 (1,223 usec, 0.02%) L187 (15,164 usec, 0.24%) L187 (917 usec, 0.01%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (33,365 usec, 0.52%) L1402 (3,533 usec, 0.06%) L55 (6,385,350 usec, 99.82%) L55 _init (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (1,147 usec, 0.02%) L1441 (561 usec, 0.01%) L351 (21,770 usec, 0.34%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (6,784 usec, 0.11%) __init__ (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (8,298 usec, 0.13%) __init__ (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (4,159 usec, 0.07%) L698 (6,810 usec, 0.11%) L357 (9,712 usec, 0.15%) L1442 (21,851 usec, 0.34%) L1370 (282,284 usec, 4.41%) L1370 wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (871 usec, 0.01%) L698 (33,365 usec, 0.52%) L698 (1,893 usec, 0.03%) L1591 (25,165 usec, 0.39%) __init__ (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (5,354 usec, 0.08%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (25,165 usec, 0.39%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (8,202 usec, 0.13%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (6,293 usec, 0.10%) L367 (5,201 usec, 0.08%) L1402 (16,031 usec, 0.25%) is_running (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (565 usec, 0.01%) L337 (2,935 usec, 0.05%) L337 (3,927 usec, 0.06%) L1449 (1,386 usec, 0.02%) L1448 (1,564 usec, 0.02%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (3,533 usec, 0.06%) L430 (42,638 usec, 0.67%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (20,941 usec, 0.33%) L1402 (1,175 usec, 0.02%) L1448 (1,995 usec, 0.03%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (1,924 usec, 0.03%) L699 (208,344 usec, 3.26%) L699 L1584 (5,825 usec, 0.09%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (2,935 usec, 0.05%) L367 (25,650 usec, 0.40%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (319,016 usec, 4.99%) _parse.. L1429 (240,404 usec, 3.76%) L1429 wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,404,933 usec, 21.96%) wrapper (/usr/local/lib/python3.6/.. _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (5,672 usec, 0.09%) L1449 (1,287 usec, 0.02%) L1402 (1,229 usec, 0.02%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (773 usec, 0.01%) __init__ (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (1,147 usec, 0.02%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (994 usec, 0.02%) L1442 (11,739 usec, 0.18%) L698 (21,359 usec, 0.33%) L1442 (4,086 usec, 0.06%) L187 (2,449 usec, 0.04%) L367 (3,268 usec, 0.05%) L1584 (16,031 usec, 0.25%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (16,031 usec, 0.25%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (2,396 usec, 0.04%) L1441 (160,181 usec, 2.50%) L1.. L1442 (6,600 usec, 0.10%) L337 (6,454 usec, 0.10%) L343 (8,202 usec, 0.13%) L1449 (24,904 usec, 0.39%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (19,087 usec, 0.30%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (240,481 usec, 3.76%) open.. L1584 (8,202 usec, 0.13%) L337 (967 usec, 0.02%) L1402 (320,580 usec, 5.01%) L1402 L1402 (3,547 usec, 0.06%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (6,454 usec, 0.10%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (8,897 usec, 0.14%) L187 (2,155 usec, 0.03%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (2,935 usec, 0.05%) pids (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (281,456 usec, 4.40%) pids .. wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (8,202 usec, 0.13%) L1446 (1,503 usec, 0.02%) L1442 (840 usec, 0.01%) run (/usr/lib/python3.6/cProfile.py) (6,385,656 usec, 99.82%) run (/usr/lib/python3.6/cProfile.py) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,020 usec, 0.02%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,229 usec, 0.02%) L1449 (816 usec, 0.01%) L699 (871 usec, 0.01%) is_running (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (633 usec, 0.01%) L187 (766 usec, 0.01%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (9,712 usec, 0.15%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (5,682 usec, 0.09%) L1402 (8,897 usec, 0.14%) L342 (33,518 usec, 0.52%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (163,724 usec, 2.56%) cr.. L1448 (1,180 usec, 0.02%) L1449 (1,329 usec, 0.02%) L1584 (6,445 usec, 0.10%) L337 (3,227 usec, 0.05%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (8,627 usec, 0.13%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (5,682 usec, 0.09%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (373,388 usec, 5.84%) _parse_.. _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,634 usec, 0.03%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (5,494 usec, 0.09%) L699 (1,382 usec, 0.02%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (32,121 usec, 0.50%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (5,835 usec, 0.09%) L698 (5,046 usec, 0.08%) L1442 (3,686 usec, 0.06%) L1442 (1,054 usec, 0.02%) L698 (27,268 usec, 0.43%) L1584 (21,359 usec, 0.33%) L187 (2,019 usec, 0.03%) __init__ (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (20,490 usec, 0.32%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (373,783 usec, 5.84%) open_bi.. open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (5,953 usec, 0.09%) L417 (161,998 usec, 2.53%) L417 wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (11,095 usec, 0.17%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (6,772 usec, 0.11%) L1584 (562 usec, 0.01%) L1447 (2,173 usec, 0.03%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (5,977 usec, 0.09%) L1399 (6,185 usec, 0.10%) L1402 (19,087 usec, 0.30%) L337 (12,651 usec, 0.20%) L1402 (13,461 usec, 0.21%) L698 (19,087 usec, 0.30%) L340 (25,751 usec, 0.40%) L1584 (320,580 usec, 5.01%) L1584 _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (766 usec, 0.01%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (20,746 usec, 0.32%) L1584 (980 usec, 0.02%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (13,198 usec, 0.21%) L698 (320,580 usec, 5.01%) L698 L337 (5,682 usec, 0.09%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,834 usec, 0.03%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (565 usec, 0.01%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (7,896 usec, 0.12%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (5,494 usec, 0.09%) L1584 (9,712 usec, 0.15%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (1,174 usec, 0.02%) L1591 (6,185 usec, 0.10%) L367 (4,159 usec, 0.07%) L1446 (2,396 usec, 0.04%) L1449 (612 usec, 0.01%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (662 usec, 0.01%) L698 (2,935 usec, 0.05%) L1448 (2,499 usec, 0.04%) L1442 (1,521,232 usec, 23.78%) L1442 wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (7,896 usec, 0.12%) L699 (4,133 usec, 0.06%) L1442 (24,241 usec, 0.38%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (980 usec, 0.02%) L698 (3,533 usec, 0.06%) L1442 (1,020 usec, 0.02%) L1444 (26,045 usec, 0.41%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (8,993 usec, 0.14%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (2,040 usec, 0.03%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (712 usec, 0.01%) _init (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (27,371 usec, 0.43%) L698 (8,897 usec, 0.14%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (1,787 usec, 0.03%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (1,700 usec, 0.03%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (16,031 usec, 0.25%) L1402 (1,787 usec, 0.03%) __init__ (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (2,396 usec, 0.04%) L1584 (1,614 usec, 0.03%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (5,822 usec, 0.09%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,524,161 usec, 23.83%) _parse_stat_file (/usr/local/lib/pyth.. is_running (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (25,751 usec, 0.40%) L1591 (1,704,821 usec, 26.65%) L1591 wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (5,672 usec, 0.09%) L1449 (49,547 usec, 0.77%) L1448 (3,076 usec, 0.05%) L1447 (1,171 usec, 0.02%) L1448 (1,330 usec, 0.02%) L1446 (20,953 usec, 0.33%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (67,059 usec, 1.05%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,952 usec, 0.03%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (520,794 usec, 8.14%) _parse_stat.. L699 (1,478 usec, 0.02%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (6,445 usec, 0.10%) L1584 (6,784 usec, 0.11%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (9,712 usec, 0.15%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (6,454 usec, 0.10%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (31,982 usec, 0.50%) L1427 (7,036 usec, 0.11%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,175 usec, 0.02%) L698 (16,031 usec, 0.25%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,614 usec, 0.03%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (40,002 usec, 0.63%) L1433 (19,468 usec, 0.30%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (10,532 usec, 0.16%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,071 usec, 0.02%) _init (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (565 usec, 0.01%) L1402 (11,189 usec, 0.17%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (9,712 usec, 0.15%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (562 usec, 0.01%) L1584 (562 usec, 0.01%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (7,092 usec, 0.11%) L1446 (45,185 usec, 0.71%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (3,061 usec, 0.05%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (531,134 usec, 8.30%) wrapper (/u.. L1448 (562 usec, 0.01%) L1591 (394,402 usec, 6.17%) L1591 create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (1,893 usec, 0.03%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (3,807 usec, 0.06%) L1446 (1,072 usec, 0.02%) L1447 (1,499 usec, 0.02%) L337 (11,189 usec, 0.17%) L1449 (2,142 usec, 0.03%) L348 (6,108 usec, 0.10%) L352 (13,111 usec, 0.20%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (9,936 usec, 0.16%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (1,175 usec, 0.02%) L1448 (823 usec, 0.01%) L1584 (5,835 usec, 0.09%) open_binary (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (4,913 usec, 0.08%) L1584 (5,494 usec, 0.09%) L367 (1,147 usec, 0.02%) L1441 (2,213 usec, 0.03%) L337 (7,896 usec, 0.12%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (12,651 usec, 0.20%) _init (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (3,268 usec, 0.05%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (5,201 usec, 0.08%) _init (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (2,396 usec, 0.04%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_common.py) (1,054 usec, 0.02%) is_running (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (2,925 usec, 0.05%) L1336 (7,196 usec, 0.11%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (5,646 usec, 0.09%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (3,533 usec, 0.06%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (16,549 usec, 0.26%) L337 (1,700 usec, 0.03%) L187 (3,524 usec, 0.06%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (12,805 usec, 0.20%) L698 (1,787 usec, 0.03%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (6,784 usec, 0.11%) L387 (16,957 usec, 0.27%) L1446 (716 usec, 0.01%) create_time (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (871 usec, 0.01%) L367 (565 usec, 0.01%) L187 (561 usec, 0.01%) process_iter (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) (6,368,054 usec, 99.55%) process_iter (/usr/local/lib/python3.6/dist-packages/psutil/__init__.py) L1447 (22,030 usec, 0.34%) L1441 (717 usec, 0.01%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (8,627 usec, 0.13%) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (6,784 usec, 0.11%) L1449 (867 usec, 0.01%) L1584 (2,935 usec, 0.05%) L340 (1,147 usec, 0.02%) L1444 (3,268 usec, 0.05%) L337 (1,174 usec, 0.02%) L340 (2,213 usec, 0.03%) L1442 (562 usec, 0.01%) L699 (1,291 usec, 0.02%) L1402 (8,728 usec, 0.14%) <module> (<string>) (6,385,350 usec, 99.82%) <module> (<string>) wrapper (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (4,333 usec, 0.07%) _parse_stat_file (/usr/local/lib/python3.6/dist-packages/psutil/_pslinux.py) (8,589 usec, 0.13%) art/austin_die_cut_sticker.svg0000664000175000017500000006526213661542344017243 0ustar gabrielegabriele image/svg+xml austin art/austin_die_cut_sticker_twitter.png0000664000175000017500000004333713661542344021011 0ustar gabrielegabrielePNG  IHDRXsBIT|d pHYsbb8ztEXtSoftwarewww.inkscape.org< IDATx}y|{fgl6B)D@^a-ԫV*j,ţ-"**Ap&rm5Hv3;36a~3<=yqGqGqDŮ@yD }BqF:--:y$t:iNGfjҤIYUDRht:-*eYkkkk'6dddӧOCTr&F#ALQA 6ʹ=}- irc&K.DJaFI,t:vv]. e2 o-w. nܹEQqD8ABrJYQQmZgϾe[Vjda>8#ft:;Y v޼yl_է?#Nh4ٳg벳d7+Ks"т"1ͧ:::>Zo:tz+ka JJJddiE-VTszPa]PJb6?"w\#N Pk׮eO+Z}SRRR.VDJ@p:j]EyZ%NQFz™I2k >.Bp\CC_rF. ٤Ij:nFIvB8jP& :968b2N?oe˖9~%N.&NP(V)ˣu"MO? Rlz:pCI0?Vh@'AʐYp0A; ڨ;v~1GOS4˩ .N`wvs̾|A>9t_ @3`; kA' V9SeY﫩ȑ#g/^y?ZB2CrrRRRry2N"oՕ) g9>փ!0Q35 QEE܏q:lee;۷oC( RRR6meJ8m`mW"(1CiCT󡞶܈AcccCEE|B'`ɏ F? #4ܞ -<_EC1l:4j vӧO[YYȍ7/ A^y-ܲ,##wSOpg #G}?,% 3F=S^^~ݻ~h& 4'//o`n};?)^ ˡ^5mc[[=Q Ν++..]u܁8K#?:֣Ê8 L%`=νJϣi}̙6n%Ț5k=ٯrz'u=MPx|3Lrt!9"u@TOɶ5¾_`͵PN]b/LF_C=I~&G}+..wZZڵavCO9-I$Gw&UQ#!G`H^IPVV70~pcǎݓMʾ^=HLm!1EQHII/ɴ#Fޟ5 gΜٛ80dbg;~n*ާg#r%/$9PE $&44)4Myyy;o/I!ӧGfeeKHHH 4V}sH ! rtk^hC\/z뗶v`[MP$TZZb֬YG6nHD(bjvOQUUUFI rv-9&9$,;֣͇NZ1( h^Kw}~O*JpX/DXz$@/69vm@ۏtÇo~wzu@o_XaF1H&Xp<\U@X7E3 Bt:]0222}vhC%ȦM4;CvYw?ο=$GP(&=""&&䷐%AY0盔4D&4hЉ۷KA4֬Y#/..~?))idB ; 39B%wG.W:>9߀E\N 6t= 隑<==Ʉo=|+ȁ@Ir O`$"@PaO\^%@ժJenVV'4ȭ:0%%ed"OB (9䗰!ަOy4 @'8<J(ƍUfK>{Ę$WO06@6y΂N0@5x2ĠP(hC>Q~A!ԩS$9e!##Ck&Q(9srHjtR4huc}l> g%9`?Z蒃/×@K9$oQVe Zrʞ# Fz„ Ϫt're95V8/yA~h _@ 999 :4쇋~Aٳgz׊wCq{9N&E~PCYt7I^0`/FcE1OH0YRJ~ņ w,v' E"r,PrOUsZ$++5b JNwTRsViۘ+FM޷cE h_WR8nxvc wqFy嶽+@0~'AhIr]6 lG;0 C,^vmLY1M5k0*)DǶtLqh $:tg~WB5g Σ"9p쇷B_[ lBcr1M3go'z]rѝ. 8: mHtdLk?5)))92,&Y1KH+ʇh#!C,9~M/w~V@Hy|xIAc@UD!;J tJJJ1!$1*EVVLR-JCi IGZ!}w!aj#V iKe O>RSS[vm̙Y1K#GzP4ܡ"WHc$x% Ak&܄^(\ .<Zv9y !*((#m^q`K7w"9x@Eq7NH jp 6I< XK5P(:.\1I+Wd2\4y$=5rZq1$I$^4OX$+ V$jR4̈#2r@rxSFlG\)$x($9tDTjfs `ʔ)Z6E* 9-W;Lrt!9"uE%S_n]!;rsSNb ZRrrg;ؚÒ䀘LArClCMe]qE#7pm "&uP%afg9gTܡ!Nx}O 7IpAd<6#r,Nw2 9blnl6 "8~ K /m򅔗^i !$^"%#!a(RBP("ͶsˣZ 4\վ[xiMry!JH b(H?DA1 d=hJ*xAj$nMc1G#G*JhB;xl$9& DOA BCh)ʘS!PJj4M -Ǿ}O!C3vz~hٿ+vcr_Ø"ƍiH &/M!RM2dӐ[kIBAkVnf ."#b6iaFJLE!(?A#r broXЌ BkOG4&)Tm"Ng`D NV*AΟ<9^ڰ!\9yu}䠕Z,XH^h W.Kn NyVs{A TS+ 9HpDů` ~&ƕ l>h0D K\p!$ iL 0Cd>EMR,ˢy_YYY\aƍ4quw{ Ug%L\Qrj=Y NzOHM*1f= Jd"H^4q "Las/40i"!ݽF9$o09(@7a1`R@3vv"Wz#D1C@1 -tgD@rH5IɃL:ۛ Ei`]J2_vYxx:t0~׀T@A?$QH]'I(6Õ9-sQ!vXt1D$F.lj(џAD&irYvHl[/O5=J"/sS MŲ/---N)̘1#K @lSrsC|+\ A3_e](=zO-sSOrUL!hnn~ر8AP($G8_qtH''La%g:Н[h}mO{: JsAj$Hs8GF#Lx!P&id0ϫ@OaSPjO.kv[1 H:=dct}0əCX,v- ALdʕC=#Iѝw9St9_Q©G=T# oi7(@ӑ:ɍ>tq' J9. ݢ( f#]hPyĞziI"w? ȱ,vڢ|;4{2x>RF UvF #~ciL:57R8Vy݀N*XVylٳg>(cf / 8ztdoAB[3Lz |t{ ։1s皃21 Af̘ᩫ7d.&SF3uIr,w߱s 5gL.oMf+*kMZl8vF8M|}7+++&ca3K/ԩSJ qjC ]7 c*{{KkxiM`|c 2R2A6 :p'lQK GuuusV/^8NA&O\7VVV~Ͳ4_6 įJߛ&;x7!R! K( G: Į+luTAYHKhXcǎ=b @~򓟜?pjmmt^>n`4ٻ3e]*FRzt灮̢( 7qF @vZ̼{c׸i""ѓs4|sgk%f(dǾjnn>_YYiW\vvvN̈́#utyv%ͭ6r^SePN2 !7# im@N)z-TШШi;"#hkӴ;`jlCeMN^:t rS#&MS֩xOu \Gc\ @vz@S%Wpp@ŎjS3j7ތsuM8s"Nz +V`=+BNG^CdмsMOfLf]>sP~uZ~(RG~CȦM^KҩH x!Kv DưFϥ/n#!H/]=MSx2k,ˢb`=:o---]5y[C2HiH __;fOŸny6dc"hׅ!3- c}TVVknn_HAxCɄ Jiڠ ):,} &傑`jKOџO[s IDAT߹_7^=0p1ytt *w߬ Z/k_QÄVܞ={ໍ7 m۶aÆMOO/J׳zlZݻw_[[~U'=ok̘1o)Lh4ـ}PǃSN8|\@?'?qZ[['dzre4T*{e@dϞ=Ɲ;wwܹ_W?~mbh4y~~Lp^`0j4 "L {u~ǣ&"Fʒ§Z+0qrm݃,X`K@Ff̙GCHu!N`޾j07Zp>%Ucƌ٫z{X|9*++Oi{HOOǰaһH%z}fkkk9smܸW^xF9sCm\JKK`=z4z׿q?OSTT$$$ f8\.( hZBvfttt`РA#^6";v 88q"mMM ۇFT*$''#)) zNd2az\qxpiX,444F{ZmF9=DSS[P@RaޟVԡ:}2L#ҎJ w^TWWͰ_3f෿d@MMe?fhkk5K/ !hjjBmm-`2pYTWWb@P`ɒ%+~z8!! .,kZj*رI~(NN^\.lFkk+Z[[g,[ 8ÇǪUVGD8NB]], N'ڙ#Fy׿0uT|.6mȑ#;z#phBe2C}srr_b׮]a |!,_l!J%V^ ߹^{ ~w`rrr0yrJnV_|!*xװw^F$$jjj£>Zz53ֆ{t:T*~ڧt:OMpχ`OSEz3*yɼՏH `Ŋ>m-V)p3hOb q"%>̙ V )))XjrrrBuU1f̘ AabSN :o`Ϟ=~4s>o~>FyСCXv`֭[r@h ttMi(… qo֭~u:|I>n6lUF(}= 333dp:JK,LA1d;w=Æ Cbb r<3xGa0|322K/d2WYYiPhuuuxo⥗^‹/7|a?C^;v'O4SZ[[F{ĉ֖pr'? .\ʤIDm2$xf/:x1B#AŋkTWWcҥ5k~_fᡇ- a,UrҽkxvZn:ky2 EY^ygF!MթS@:}GLbV*@BQ9şak<$%IGw:HJ]2@ac߾}Ar->gY6@GV[s\ݑufΜ 6{u]3f`ƌꪫ>&:Κ5 . wuZB ! lfEJꨯP.%c46Jor\ DXF &ͫ^)1d|X|9~ᩧ'|ӦM}ر;hE8~8q 91(ҥKE*fFB.#//O2e(*cSjjjk B{<] D S=ܢu2s榛nBii)&OӧcӦMذaC/!!EM؉%UvI Ď1BͿPQ2J艉!*V۫ rZ`y)wJo١0@AlW9s ##wqfϞ?O8z+{3R N'(b&ӓ}p+/B6eCFU]Z[7D?vP {oJ $kÁg}Li/|I̞=<֭[e˖`ȑhiiL&øq/$3 RB&R("|sIn۶-mO8<7tOѨxJOO\6nO_nGSSx..AKѣXdo.L&ٳl2* cƌq/c`0i\1v!+++\$SgyFY`Xcs^t}/l6[Eccc&ȶmRyϳ~'"^bkZtw}`gφ*T~O(|4M{˪}݇uE䚾tN i|^u$&&b~HO% نnM0ݦMEFBO$E/z Ǐ4f̘R0j?`0`֬YiRZC!Di ^n`Yoϟ75yWmmmxoaX&J ҂EL`m&({ũS|EMXm At,tڤs*+BBuP~?d{?sņ $4M㥗^ˆ#p8k.bҥK}S# 4M\)))c/[~X(, B=Dd˖-Z\FIzNvjB?~|P'O - K^n>|X4TYׯ/> % B tWȽu]m۶ĉ AR9z;Q b4QFj^g}~K.ի:^?pxٰ4@C-.PBG4VX72,,jkkl2޽[4O0l0L6MpD C.(A I&8/8HJvCXuE wǪUwĉO#ŗcOȿxf _8lau:?cڴiaMIw:xg> /7Ĺ7ό_iPVVk4H!Z \T b4RL&5Vn7~رc:O8ZMMM_K[x=Hbp,M,$|G-\T*<[n_ / ̳&d&7p42e \K,aD z9HT r]w%z$^Gyy9j5VZŋcѢE?|رgj ~̯VSSY,۷/"8_F Be{<=.KłZ0c}i"N#>7@@JK)ׇdC/vG-qr\ToZ,߃Osx&L  חB{ۍy@48ç~*YۚyI A+UUUzDe|rEs:/[(S5999@V+ A!Dh߶mf͚|?~>(}Y1~\ &WB$k$ʯZP_ h4 B>䓐؁׽ e)8ΰf!5/,#`0꯿Z0)--t (JΕ+WF N)//?gƐ!Cp-ğ'{Ǝdʴٻ8p@/A4̙tЩ)-[?ǎիWcݺuAEW__ ~?_)SH3 !EPؾ}{йZpLf̙qNgAӌzmh4a .𗌮\1n$]vYP>/)P?sz~PՂF^K,/K|G+|sܪ-[Ɓ. V5֌#q k@y%DX8 Ԗ\rh~R{@~~KJJzEDKu(v;`ѢExf͚ /L& e˖|͒c(III1d7nh~`jsTUUι\.x˚:uv1lذ!Ğ={ž{QAʲ2I?}~`]ڵM}:0O3X+ 7o"ڙClP? zw}{x1l0%^lݺUrNMHII;+++fVb2Xҷ9m4ߦ1R0a}x ;>RRRB* |͈8}au JZ,;!eYO<8pu ",,,ğfho F\^^>8bw=T+AuuuDkkV.C#777N@Ν;q XVB0 p7n%8{,9sN3f n&EKK N>gpnFBFF\.VEaa *VB rj\veA^c֭l˲PTth4PPTHLLСCm"999Q(//~ǎ{<DIDATD1}a4)S? tttp@8tX=:t?~FQzc.eeecǾ*Tl˨s0 QބZ{sH'GtAAcc㦢}IIIW_]"q∣0L۷{{6uYQԔqtO<ŶoNz$77wN cq\=͛7W,O>0q#ɡ7(#,=meeM qX_~eرc7#hnnv/xqnݚ?|oSSS/&!v}M)))37'c,,{aԤ) Ϸ̋%4559?>rre/^: '|4lذv;bXJҲIP88ʢjތ_3 #<69fs`FG z\MMsb0ND($}թ!;rtxrf3AQh4NQtl6SKK9r칹,v޼y>YYY|ܸqj+*JL&ctZZZZL5n{KUU˻yB%%% 4hF)de=6t`jh4j:[.e2t:=N~uS8-RWj͚5fc ~F kET*UA4v;!np,KE}}E&q0aBjNNνjJQ,&Xuy<k׳vB<4M'phoo[__d4hЀ *jBHQF&)9Sqr5{<&^i22 ASRRh4TnljD .WPP.**z(99yIJJZt\zܹso׿oZ;J%j+pG"/йqŊ$/ !ZriZJVSfDFNHHq;v@VVt:Ll6f# p---+Liiiɓ'!yF3]{dɾ233Ed2QYYYd2܊+ʕ+"l6G}}=χ)]u{7 ^d`(EMMM VX}}ETz.#8b Bw(#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#^PsbNU@, @4)@:'A% A3C$C?=CH(DA4DHDEA+G0HXdI5)ILUI^oIe~J@/L:#L;/LF?M5MRTN!Nk OQIPH/QRN.RbmSUPSX^T:T[VG=WB+WOAWWPZZ]VZ[[SC\n}]H.]fl^_W^{aZEac\avbN.c]Scnqdell[In[Cng^o=oT9olcovputqN0qrbCrcHrcNrfUrq,srgsuvnw|wz~c;~}vlXqZH&s]tTt_y7yhيhI~uݎ#{g~rv}JlOsEzfFjDŽyV _mryii}fzəibC8wXxN,ShѨ:m!'yƳqݴqVE*\ùmǰY8kЃ,8ìʲջ̬ױ! NETSCAPE2.0! , <@D0@ Ft(ā)jLp#E !f<!A KnTdK;&T)"Â/oXN %4E9sґIA53'˦HZUUK6u5֖ryVSiᮕͬvJ,cٹP_1 2+MX}dr,^C2m3Fpgf{ʐ9ٞAKTqV=9s^wY:cyR{mb߷3 ק+nN8c/~](b} 0& =qLh VY_DP_qe9pAx A`wBfW5TsPc2aĠb <,{dubRjApL\x eySםiI_QUfa^b eZɹ|pԩ٤bɛt!|i U=: s3*.q'PD3(jRWS(*; rmU؃9 B.;c id ,&X^IfJc~&/^o:ܯvKImrN[Rv{Jhw rlWZi y; x~ h7B lA@pA wR&@iB$|p2q5qP;Ahh']K8 8_X3iXs4@0 =jA;ANsG 0GKP$8^vo7,9Vz)/ 1A$`WI:b}`=ɵFpCd;l%!}nGM~_x0agؿ؃A  hB#C2E<&8CDZt&/@P"AHHp0E L P0x"pd(2Tp%$c0 n2wM#2 ?bݐq(M@ <*:t=H4tNlA{#ZdQiwTz\IMy$Yn/@Fu̳R__5}ܓdMJ0ů- Vw=CA "ȃ0"x8Xm O ;Na j!c Z@/``fXj"SP@~1!c76 A=1';a j$p`!{ \ $Ax(9tkla-R0`󪗠z'8Yŧϓ((O*Zs:j8[W5%5%,㮨^$̛TWIU65d۪|g ci^YWCf7d!20 !8ib@%~H8\3܁0 B*˖m7~vʊ< 0ɲLm/zX`;0$2-N/(hm@=T8A9yYrs=Uv_}/$ke\cZ*X4* X@2ci JL\RV]ڪ_\l_) 00!P9qC "4,:p|n!1 7 Al;T=OƉO}2cv G\ aQ 4(q7zausc9?R=4-FKSA'I|8} M hlO:uO1YzR] |GRoZc**ia,&ezD-%aI88̑0|h=`@ $qTx#5L`+k(F2[{Xq@0D) x+!wX3Z,G 6{A5qDe(` }֨%dpA`8Vr[8 /Rq⿷|PӴi%Ly0ѩ&*Ϝ`u"j4OF W$$  0BLs D X B $M Ft 9+p`  aF 9I6OxU Py= 1@ 8G87` $-{.rPM =0EwrUe|Ǘ|c|s S]Mq_~1'I`grF~~~Vַ}a5`t( q["r!;!O p(SF4{ p Sq:>U[TR& 0rYX#p3"21A(&xWQ!uGwx`8'$:&~oH(Uh`:g~YN<|1$a#t6(g_N%`+'7tӇhwsCj}$UAu6gArvT|yofbT!Hrq}mB}_|GAчZad 0^V`V=lbI3j~đgJ׎I`x>3;dȓh 1jȇO~Uk~$?h)_Y>6kٚi9J҇K(~%;zɘ_N2&j|G9iƜ9且DD'r]+_^+I('nɞ阘sV陫D>Q_@I%J.TɓB=!0I;ɚhi+=’~!rYDو3K$C!4F+)K2 p/yq92Sa2.*KIjǠetIɏ ڥEAޅjaU)%*r44j%w J"b0* j 3+yW@a@nQ)AoBt*4z#J `#>'D AJK>*c /K=X'c 1"P$[pKC02iHG_X!V>9ZʶX~BGr[rћt(3hV8Vp@] CZـt 3z C`] U@-1 Q ؐ; `Fdlh\@* а  U!  e @ 48'  x A0G +7;   0k[J P ~ jpc JAPEa1<p?9pu#0k N$91eR?d Q!CI޼sDK*9ɠa$(k ZJ؜&*ĴxhX+lI(|I):ez-ǖ籛d+hi0@]PPʜ R`RLp@ W ٠pJ`$PYFn`;0e`vFb `*3N ɀѐ` P bW7ߐ Q y  s ˀ p@  QSBVl&@4F @= lݠ  @   zAܠ@   -MR@@B$*2XM - _ BкV,# ܙ`--c ~ 56 ssiNT\?=ILs)?K4 -r1'Kc(Y*Ҝ); 1+qS|m0 9 [u] 2;Zi  \Ib U ]P-8pcr$[1NjЯsGL;Rfj = 2sJ;5 ec` `aF I#4 A@F95W'ߖn!wl)r# _k@pbEFL,mNG4~`bzy{'n'SP Ba`~k b:6s'? )͗Sj9},GQ.GH9i&-lu߀ L!TV o094H]AF2qJ2 fkvJXp/-|c5+Zh ԳlN.f Ո5ԳJMx@?7f"'P4*S`6fm0+0.S 0AuX$c5U {s'LLN߾%3fm 0rh%P$P {5q`np>GPyN DCH+==}Seٶ`k[YjksA JhPB*L`ąJx8ō0J#!5R4 `ƃUؑdž2+v$9Ƈ2#Ɯ fA>KG 6 ![C dBDQC((s#Yj٢ǘ2pB-dXP"W9nalє`'İ4-4~m 2 ^XO4"4- hCO 4*F"׶A dPbq:+-gu&m!&p( pfpr [Ł*9;ƑnI8p&cwnQC֠gQk_2hF9āB_) P (8xh M,ߑ9> Lb@@vQ#ɷPHȏ,`w\iƏ]flJg_}ny&fqj$qz8r|o~y Hlj.eP`Y!'Fs.h{h`L9C PM':[]T=#qߴ}U4WxVPA%%-iT`"RxMP]OSBODezAU(ݹDzG9lwSD>HAKYt,)KuJt0)MmST2}iLD= YH DD$T@T q@%@B5 UJk PTaU _ @mNt ʀ5aH b蕫 P @P` (@z*2TFUɤ,R+I `>CZVY b `] P˶2zU< UH@ n":`Ag[ P׺+g#\)@V  ;9\s  `G è쳿MC9Vk;HA{:4/KhR5j7(7#q{Bp{ ,4㉼Ƀ=0Q 7ԋw"@SDKi0-*" * M.OD-*UlWE02.-$PT8u0dj>0XEӢ/-[2rAE⧛0s]X"DžSD U(FЬlE@l # <3N EbAJC@3$I#s 㻼1K?sp? 53CIl$ =4G7DHNړz39PRvZ …pep06r1uCCQ'dQn;$BG9 >r-3h \segQl ChXo(x]P$`+-R/.E!@)9r͙0: hHeS { [bs`?sP ؂GPq M8W,p<ikIZgD`SIS ;PW9#<Xp=XK # fC2̃x t&؁l ?cRX7Ph=-8(PO rY3pwD؜ k<#ePfzP]9L ͂XT%@? 5쨟?842s,L<4SBS p N8;i03 c;8_P,9P_L4d)]ȕͳZVCЄZ pz8U\mHӻ _e_@pxO5qhj  `X.o;d@ @rxT![Ѝ_UI ЁPh*hZdu-r\x㪨F&,HIS[R8"sSKh'wzm0Ax8 i]0v!8>G28Xe`62ߘɜ `KN9ٹPhȀ0M(2П? >,ߑh4 Çy|34TC3$)X9AQ#RhHBHY/x RBr[q*x)(AN.. x1(n[!"g!WN\Uؼ5锐B3FklW= b. 5 "L"_%!=9ﳴ]>h`mZCs(SXȃ* dw v4onxiu?Ma_s9hEn-BG۴t#X\koaN Wv>vT'[Б<QcpZ 8H=S < C3^.^'1΁qRG_c I{BX"' )(pxP.xϚ @db H@jphx'Aȁ0W78 @i5V~7z07󝁰4>(jO`fo9 ճ+`(ьda]kЁfX p8͓Z.l.n|PN h^pd\ѝWhh -@fw;I`2 ҿ@5ϳS`ʍٟ<û&͕v!D؀xfpZن8jl;DH~IL7JEFxZ /Xhx ?5{{*P0 (Tb-PxXSj(1,˺URF˛pu];F]PŐ`)( еJJ0)R6h0 >*@nT^:bh>$HP$"*AP]J9\(6 *Jvߥ> 8P\ һi+E :Zp s<;sJ0@³hP@TM;盧BuN]:ꃭoع廬g>3x从﫽8oM^^ϟO?{I`\a ו `$TU}SU`)ED!wM8D d8 9 IT. 52₂ꌣ M=^pΨuQ@W2q!ZHBHRMe U5{@m30T3Ntc9A[v 3ib9VTz!BD׹'R QM$3"D 4Pbf\p y젌9qAuDBס_~3 fDE|4\p"Yl&Yh+1tuGnwf1SM۸cgބ>b+1w__*T $%hAE@F  2 ֶ 1I+@JwtbKotEAR8COMmrWBG90~ uKwI;WV$@S?u V5:|^~h ]U &aVUw_n\8}K\ 1Q.AUIIN8ԅ1S5'p+=mWm%?wn̴|fg1q"obT $ A`XL0(D"(HABCXR5h@B(Dh` +hh}Ro7I,|B^TnO -1~Y(1qwM" nVLTRwFZU< |/%` G0O"*řݯ|+dh>뙏xMG22uP[v@&)iN0 J4G "@ Z8pPJūM: Ch|ehPT 0D,BpCcyK l$Ʒh=!yxґ4]4Il<8<nHqq%YU2ַ6VJBzӫ7 M5x>Ӛk2 E}ZgO%+_HzQ1mFZCw@ xx"_y:m6ޭI⼈Fvo=*nP0|0y`{:{kcq`p^RgFגCC+R/nRBݣ6- iW,X}ZZph|=", 0P@B_SFpF4 qa0( m$a! `CH G§C==C8́ 4`m'*sCt*I$ ah$ؔ9 `߈X(Fp7(J:ԑ [NAQhSҦv!^@ף4"*3<)d 'Pd_9NYT2n):g3v$|Ͽ7$u[A` ll"}G3xX<2r,UP$bpX( ! uS+|<4np R}-2ΩxY`jR0˺OoڙD-xl6[,%Bt@A#L@xa@P (Ê%FRF$X4LB7D pZ1LPN8m d66@LK.&AWp!́()h6})PD/ b !BPkfZHl M@LQ ID2fs%!@zn6 @yplGAWv,rϩ }cQlb59լ6EVq%jY48SF+p((..H7,1&L u'@= ́2lLG-|^O[JETd@3pZC)x5.(! :LP LC_pK5$AX@ C3B&@Z@bV"m.t,-L 3`w6^T52dD 3.sFϸ{9bX5qߚxG؛J@"OWi10&V y"+`,4mfsS1Þlf/d7ܕ0rYdfg~$e֒۬V&!Ḛ/9˕S*2"v9l:y3Yc}*,G+l /=)E_ #dyh #M6)B V?;GO;W_;go;w;;;;;ǻD̻;绾;;<{c;;*;C×:&8CV?3<Ƨçhů{7T|ȏ'./C7ȁ &_47Ǿ=}ؗ?[;:$ BᾃP<05@Ȱ%N]A&DȎ-5i2.C'Dxpb LԅceK]"FJ پeh1) kr|煏%Lޕ˥KzqdJaP`dD/[<} 9uh.)>"̀K,#[Ae*T.zs0͍%&[wY =tiӧQVukׯaǖ=vmۣ<8?# rRx s4`Y8u}@N:uA`YɓKf9<@e{YACg 8Fy8Ǭ: ṉN%f@)¦ kS:Gƞ[ /\a欹'R)+|2.L&hh",)@P%hb2Esf.ļ.F<@<9XhX(JY`ɤ hdd8tF|eTS'`k. J |d#e6 -q-sMWu .͹c!Pࣀ9Ze `=˶Quq$Ovd]Hi@&Dki(Y<0)zSXEf_=AYBXE' @3y1r& 2xpE䯀كݷ[6wd&P`y Ϙ)"~m=[P۱Չ &abr1PfNЁ9t\%Ll #Xٸ4 L}g;Uh{p+\umS`E= wx%|qғlLͶHW<h_*֔pD, g O{[A4aF "ta605A|X =H1VD# )0D ^@[B ;Ʊ 0` -؂dU0!R%xDc U0.sA\  s Æf R6{`w!+\܏}HA/q +& f8c "kW!.0 =HDA(IЅXӋo(|114.X:PTxXxKAc_@D Ex0hh|y!j Ͷh/s۰m ~P$=\Ddj1 'D"q\C (f`*p5$IIo uC!ѻi @ x5>p4=,Q/:@C$lF@A@89>q*F 1D  mfЗ:C -`U6Є)` p `r {^ $\HCWTʠ#D1Yn6L2Z(wh⽂QMk9[Ζ~lmq[jn[5qwKXsFՕnsk]:vz׹v{^׼=/v_ dW%ot[]wn~]^-p`/ n{_O/72L(X-q5"KbϘ0nݵXqkdK2{ A. H=Eb8`TxQ)x X$ܘ2\bG-YlaLcϙnrcC8XռZԡ6uXʛ6q\YɿtmhN?y٨v}l*3hHAQlUkZӏNrmpɷ&wnnqGV2?cr|_5.@aO 7J|Fm_ B<7%@<r I?` з5Pkăa "g8#oPrOLz 8A7Bq2߆8 蜎r0`J4J}uN+z޻dq}2λ mSW9 ]-Xf,Zp@BG~<)ycq`w~ C !H (D:)hfst!8F]u˞ouH+· GpF4iu'HpE̹/,@,` a<& @ `lx`\@j*z 0I2JLl o`NRz 0ٮ2m\`?28 A.n`碯~nܪؔ pMo   9@0O@p@O狼FL!,*xY >rl! ŭL T!p Rqr r MUX1LiqQyQ1qm & Nľa-7  L00QhME M肬$' N  'NRs16`hq,]ZmO$e- -ZR s">, Rդl rPД]A0El n >/ 5 p戒&,Pt.hP2 it A`/$ 7x`A2]S>n8  %'@!A rsa zr "0 a ,7 jDAA2@ DHAܪ)`Dz@8C@MtN7C=5O5bN jaAHF'j"ATkr`M 2NI3;s,cN!`)~b'.ߒpצؼ[,-I, rfaĠL+Ѐ,:yO! ^+o_e_3> A4 A5m:h`sA@@|b30c?mFv6doe@e~SƜKH t`+30fL0' sFN N T6a*Ynk/`AϳA$IJJ11.k]|n2p)Pal@ xi!J` ! !(opt=Sk`ZnFTK6 ]Vt<NֶmDV`L@@4!bX n J@ mLSik!b` )`p 7 z {7|stA`U  bL azwv v!LZ+ PDQրݰ\R\\&vK]/ܥU z vanL(4 הK@,!źR2`E  AP>GSBl. % (O@dO:2Xئ20 {9@y@@"y+j] * >n<ڌ^F C77$p< ?`&fJFC0 lw%@^UZeyQ 5w "ӗ}@H2/ ~n] K)`J `BW>!``" !9Kk= ZA]Z` Tj}@s؈fa @YY77vQZ}Y/` u`E @z mA b'XRbκ oҰ]֕ `Ÿ)٢X 3{;>8 `@ `]4@T>: fRf5-ccCUl{{[WYB !0.!M`K"t!B0K zbȁ-4 vH[ZÏZt||\ϝ̅fH̨? \ţ|(` Aa VUD2((@+w LM*;ΎBXv۲8=gR pX1]ތR+>$-ց,Ba: (`s@+ jv 5os4aM&۳x ==4@ޝm6; [Y4 @ :/1d̝lҦeG`.O l !J>[]@T֗Z‹޺ 8| `"ȅ[L9*` <Zn$@ $!|}5%Cʓ`{>ZLBػt *(` PP ` a  d@2@r&}E0e6ϭ~{ !s_L@k=31}kߚtʓ sl!}YL-؝- W(<80BNQ`F 1z1Fh"F,QǃCj٠ wVbPAJՆTxHB <|I\!ֳ*6ҙf&*"%L5A25/6* l"$  Z.\Ʊ"(4ᅑ p(9PH) 4| CjխQ `Ȓ0Bjn4k*DT  d@,Lm%9 i>cywT8s4b]d#FKX ڡ"P`G*L0<\`H( Fp(Wr-$XcA$ r6xE)0@( s( GoLr.Xir 1۽FAE+:q0vDGUp/ MDc"HB6B}T2b70AB 1PG΄kM#$ӱD:[ {lQZM4u!yD@b ;4c'2<0YB;n3xBֻoPN:CeH,>< T H6S4%{RU:D& ?Q T|q !O@'%22ۄ9ݼ 0082A !8GX%nj>p(t(8߀B<p˭fu]89N/?,P@v K8(3+0p0h`5 0 P5.3\ A[xKEP pH)2N72A;}6&آ9p̱9PA 9 ͨ$+* !pk98.P' ̀v!Pf n]QW^p W؅ .pT "m*Tw)CD$褀(P !n g?U A p`ϲV%2Q[aUhQ\ƲW53f[01K/r JXH#5.7nK"b^ g9&'AЁ!0 H rЀ y@4 QL@t9_j@RCP<*K]²L .Kd#b1y@t`&),`+ P \QH"J@;R,)ٱ(APӒqZ yzI l Lk `nX<=: xdGkyz 4)nR FjQD#LhCkjneT'W7ـfL$yJ%TW Ԛz|+ ֎ӡّ_=#T`  6a| 9)4)DfP 4  =ZN)*õ.`F:W@7aD-!oF٢#qhG6JDp|d}nHsX[$!?y0|qluޘhʮy H\bT ĩ;&`Mf}'Ӿ `QGA}k`X NF$QJ:bx^ (I IgqU4p D8 % c˼fc^TȒ̉qAI{d㶤X`&H*@^ ,^n81 #8= 3AhPn(C 5#`G[PtՍfv_߽zuC'9wK]t{4K-i/>;O^;%_#GԎ/KQ/"Уw+='@p Q Zlxw-WO^x i!!hO!TpoBwJŴb*MؔK4N L$M'm MRsr s!^drUAkBx\ bOXoDF n PNmtn2OTf~^ QW,!w S7zB{Yx!cG8w@j`d  QH`g} HGt.t~}uf]j4 0=P @*ذ ~xtxH4 06Z~Q'zbH' h樌@6u3 pr{uQ.-0 $ CeX36P  Ѓ&x0 bpLAф 1GF"Ap`AbqHTBcX ; vFG)P&$r,\PQdLj:j[)Y(m7Ɋ8q8i`'wWlB0Ӹ/M \>7|])zU}wҵ}WǘVdF%ׄ ` P . q 2 XwwHb`I% @ !i$Q{- ԛq` e H3} ϐT B)5!`-h&oGMNTu0 oI!a `!X3W6R 1t% R06MşJ` #pTiΠ$R?QM19%0Q uH %!(% Lip `ZH,@` ~ V+06 HŢjLZ!ZPĦNYj]QcZ= <@t*gQVrO 05MqR\R;CVuŦ @pa,dV%T9@: {6-ksx/\k~1 6wzg+ T H̀ !rֈ2E" @ tԈȪDЭZ 1 A y n 8M SfU0 ,RME y `P`a f _Cw~`s`@= p 1p<` p6!Paxk!(pppC|@n`?7qҡt !L0B;#09Tp F@6 *P@[3 `6rT 0;ـ͇1'i[@$ T Z0ZJ>d>wPp. RN *t[B)R h0&J@lZ@70J Ud'۹J 𷅺 SKf{@` R֋@ 8@ 0a84  0Ӻs(` yo7qݐ~ F(W ^WH+קerjeZzRd7a jq\2xw6s "R0c`y' &zA/1߂7|%ÇXstK ) 2p T Ԡ OJ$ Cn;GqP VzP 뎓&3`0 W0p"u$0>` n ʮ %oͥ2+p >)r Yʧ#М)5& E̺L|(p>2ż aKpcO#a# ѭ ; =ېѐ>`f-P:gEzwksgwnX(TC'̀ՐEĿ؃ &j?QH|h$psڠٓ]9`c PQI4E16r6` ϝ>< I 8`G@c&"$U6a)h}JB7#P +Ř6-+1@!eqRK/М )kȸX W<|N&pC~gI@Y2m}.EbSPQ &k8j fbNpPsn5a7eFLvsL6v}cP. l | [bi@\~t͑ ʾPWL 1w\"GK( 05P  S0uNK E`pp`@^Hr?FQ)5Br0o ˰?[#Y,+$!)}f+*m ͉a |p % -7l!`slQ 7)9"#. !6=/G&"$P2$bmmo@%@n`2O {p~ɠ# qQ*7<(p/@KPC*F"*"9bBGQlM pbj׭HV*u {M-e|-{>Poq5d(L81E!f1bGi4сE:f| aǗY^AȁmF  !G/>&ƎMQ @s"*#$7%br)G Z( %6J~A "LC̤ am>.l JT|!>KǍ. lc R/9 $;*;2=~@v~ak v8˙ &$i T~e1mBXfׅ HpYA Gv,]@ &$@7 &>2i?2 /0l6K ̇7޻@e (Xa79.Tc tj'63[.9N";_LbF.Q.(˚(6 TlDRzlXAr &%#EA (bج6h&,hK3SbR@k'BtSS+)b* 61z핋1*P ؤ#c P9e@%VI%V\bF& 8ɏP(xQ#mE&d}`&"nVZLPӍ4+l!Mjz /QEH =yF1"hap` ːq4P7eda8@a ,f@cگ*3oh"!B e!f`l棗 huC@Hz'x&N ƂC`pYd1UHZ &Z3`l`!1?2.\d "I*^hCZ m &k#|`0hB"84`h AD"h؁9^$ 1^ZHtd8S`0!)F0,  (@t0 D@p  0|C_ ,8{)bp_=p XBָD|ݠ B kb&b+P7ޠ"`E<, NũjY1TԵN2յFQEDVyS.b[*Wc~U|q"A8NL@8h U1IFGL72#]-R+Z#'N3  2<( Ѕn +"H= l+ B:LlrKoLafF =H](A3|qb@8 07q(h ~X ((E*D [X8KkF8&6a2P8`|8NwNF-Dp݀G/, 8y"J],^(0.@r2hB70 Vܠ-v4&: \@ rBl `>tk C \3vcCPB\3x@ IN(~$PPk`W `ڌ\a4A ~zG^o9k. `k1ƌh@, PT"шU-/b*+Q}e5j#t9n[)>zL0{ ɸ R&5ɑIU>0Eٕ`@4ҵh@ 4XV!@-7R x,</-"Ql5潕و 1 !( &rD@'M܋LHER3#YN; : "X)Q,p&iL) (D6L_p(="Od4D #~al Q2錂OKh"\kB;ȍ|3BE%d?@Iz`A@:3f+uo{m_D\3n{[&mի2=[1ՀX<ҤX72c*R EO T͵v 0ӥld =/Ҷ #6S^@``F9]ҜT@NoDƢE8 xUM7YK/'*"pGm@N2;*(K|6 !}F%p/ D,&-y:xʸz1Sĉ+VrF曽ձZ0MsW}m0^r'Y.{|#4h(˂'o>{R^ s8p[n]эGs3: 㾢Kstٸ߫0PzBсu#k c7|8p<ӤZɕ8B\T=\_i+>K۽X8?t >=Kʳ>8:;Bs̓ӺK <3k:DTr۷DKYSCB8:&,Ћ0J`54@LiDаKA340%:AË A tBS55\0ԣE[EZ48BBtAX66t7 #F0F#†ýAWAAiLʢ<ʕFCЕLsǓԼ, PEujGb>'8Z;7@$Jh˺TjO舳1GKDJ(*`CDD>28n)IR=̀o͈D24MFRB\xϣ=IK\BJkLlI0Y# Zɛ\^:8 eI `q4`%,ຆ4IN@Z(Ԃj{>NL6ZlxH5j%itЃoH\HXMN8ȼdIGQiِۈDZ`Y6눛EmKkĨ@2eHHLFO_PXr)Hy l@x;nȆph5}+(ojd;89``2`'nP4&g@`ȁ$hHX*H+Bߙp (w(wv^ h0P 60`@1l'TlxOZ.a`߀R;g `0E`J0o䲆өjW` X90h; `©f0 \8J9E N6@ZI(5؆$M`Mc#KfE[2h1.C ?  0 hOr0لk" gx!\Z\`4;Ȁf(nxQ6Zd Hl Xh8f1?8bpҾn(XZ8fnykH1o0(_vl\hO fUF%lŽUƼPx:LŋMf7 q]oA]Er.g:gt^0`1(^{F2i+Dek^h~E({if¤@5_;4.p @G/Hx'8 |]b/p*!бገ074a@F +a.وH'ݭ丁~<{xƌ$󥍈X R!]W7_x*0b j$XV(o ZrX]K] 'چ:CA:EP0| ]yc:I KS'(H@dXBa'~ĐL.]]@P`X&D@Y 5kV $viVn l7T@69 2L %?(mB@M x#v5Xބ8W#{_ywn߾QU""֎`c\aݥ^lrJٌ\/́> o2hĚ\pK|G=]d#FToOlq khR_ X!2@zJV8B9 рI 0H4 "5B*X QE(* Cxm+l С@ ̐ X64"N"*0pRoP7Fsǝ+BpO&w"].;L:i(P.K:}`u]r: AzP$(`0'dXi0eAUD2rlJYQ5kUR5 #+]e/U aKa x4tcږ9LLH@Q`>) Azx*L@MaGzP̡ CVg.T@ NF DudPj (""N=q8A53ʌ'L:5t 0@(|! ,9z.0c 80` `3` 88 6+$ u0 Mk(P!=u/ J` v3hɐ簃n:y#L`Ԑf`1km6ЗW ]pypԺa܀o7L 8^n; D` /!` Iz(xf1y 0 -@ɇ/W̑Tvnv>-ӟI%\fvz T P +5W|}ELՃkBmsym{!~l[@ : J/3 mW}p& `\H@4XlY0 `QoP xlN 8`UP0` t*. [F0XnTDdg3vJ}<-Ŕm~W9xyx3:_ $@L _^HuEW%*S {3 +=V~o?T~nww(?$`yV @f "Ȑp\[9k$73+H _ucqe_I ؏fz%-=\s)ON(,۴=D Hl]kĕ%W[WGx T Tp4TNtJT ]} J@ 47 vP݄047ؚ`%aaG ldXKU!LJa9Tқp < \Dp@^~`{haxJ~aP6`bL v ONXwV} H4[ >P@V}J._/Ɩ!O!Wq U2nN(4yz]3C($mOU@ `:D)8` 4G=FJ$#W@ a4%R%9l! $" #r2 eM$ZZ錇T/2#%:7n%'Ɣ[ cNNT+&٤Qe"P$ՎR.WVdAwm9#c/BT%c"gr{ġ^o>eggh-&]#U>'B9ZE%n.#I*&yVyIj"Kzv[}%γQ%RޤjePNR*eK)Y0CpS[uަ{2^;9 LhdV·m6(  ]hi}hUTAey A؁˘IF @tP8Hh)(|ÔdB&vfVwc^-/^VO&kOέdiʪl:e"|d.0.A43@Qb*fn%p@ d!p&D.h{G7T@B@`(Yep+AH!X4HaEJ@ A 7A0$1G AĀ1ʡX@ x,tؐp^]E%E#]|E]TݕI0@/|N{Ӂ@;pHGKh %}DWyhYFҿ/t 0;]zyh#, I 0IvpM1}AX,YM$x.-:~%۪ny*uf)%jgjF$i"&Q:@`S5e.,AU2 lBA4.$3[R n%pHW1.23A5u6+@/xc3M6l *4^M/K @0A<A*hCL @ $7<7ȩ*3RHC7.4Ka3,KR0*B70neX7.WwT٢ |CG tC-\4hd2YH2+(Al9w@OMQ58C5b@tCftPAJt7tWA)3(B@6@4Um (80C !ˠ u\ !u2A}C%pd`AzCL z|$|*_n-0bvY *"N";rDP%f^2K.KD$1 vp`F7/l@PLB $se@-&.zuw0D@[ $l5kW}R  hD'3hC*4hÂ8W),87΍OCnNTS&t(08@-ă#`C$")8qLDiC|)px2@ d 8.R&) ulB+D054,NDD|$p@tĘ{8(A?#I\+6,RCzZh/5/Q% CP04@xJ܀&B8HM |b䐠eksjj"eNQ&ofg>T$Q286lk32*"6e0 º0@szd;!\DiGx[{€,3tA/-7PC~V&a7)(75؁1T9A$>Kzڸ JA3 n/HAzˁ0 @7L 4P04b0֭Guۜ"dB9- \J}g}wIu༵ D*DS@bA3@@3BMA-Ġ7ɺKrdBX.d.0@O=ӫ/ b`QabRva`H[vAMq.'?CP ~Q-n;tȬb,K60C i1e,l_7@ .lX .aօ vf(JZDKBRVKH  M VDƈAm<7; 43ؙ c؄7n:P h*B4@!&4X|!u0b #|%̪Ɂ"1$c-K!2`F 졇?{Qcq EơxdE{T!q  J DRL14+2K2τM:r .c1`<q(rƙ4!BAF"gXA#A TeLC3Q_d@d hc; e|Gd:u VBTH@aF (J* cd+QJ,=!@EBkL)ZBBAbh`6j$$lR. (@?27boPFe ]!8C\N %먃Ƈʎf \^*U2?b d" h0 !#Hfe!5l#ƿ! \Ts\o=rR I| Ш2 ܒL0 ].TJ/ܳO. ؤ"c P9Ĉfu&}F( ڽwlH+*!$| Ўw̶C!tCZ1f8hbVW"2<U+x@0Vv@ U* 1.hUA)Up Aw.@8@x&@@;@^Za  0$A6`eA | JP= ^}`#:"D@@R"2 [ xA3p2-[ ;x8 lQ uJqA7ޠX"'0=€ɐ0F82\@\|6sE 0h"82o"W/ F@C6 Nr[pE,嚤 RJH^7&/NhRNhiM#]9VtiSz(!A8N DG&b}..sD' f5〇:ԁ tTOir(lG(c?M 6VpQ Yԁ vVv\C c Ѓ1ڑ ^e0PY f#w#ȾAof15G70DĠ`8P(& Hq×TzQ (WOn\TB` `&* 03.R؍:́ xw0A [L# AFɛZ,V<8 †3 -ܐ6') _4Ie^m ki ݀G/Ь6KbY"qdj'P'GL ֢w\A|%{s'H9aIu]Ĺja"ߌ4YM|dR}fI[|dDiO/tTFH{HN40%9| pux`{=$H$ + @ Pݙͅ;ң4sAxFޚ#/pZ(w .S 52m@{##1< CVRoFnh?YTƲ@ >ёrq7/{ Ӝ^:LrN]d4)z'>[R<.]p>u,{ޕ\lbn=rP)0qF6n0F~&D Daa/Đ $`N-s=yMeb?i橜v;JQ:9Wh|1t:8ypN#Fx'Nzd,piP ht 昄I /N@>3N2wXm(^`64oPϐov*npn.Oot \'Ӳ?(A|C P!Ab`DRA 4c! 0TB/4CcBK h8rŒ ߣ./cNbo#%0"RR R b>4/zV, t` |?Xajaa!~HW@y`$7Vz[Ve?6\7yU"`W"WN &"@/#"#HxN.(lteQhCz∲@A;\RY;1"%BO~ ӪQ^ݺԭWͻ6oַi.naߎMPyq۶u سk {wǎ>|={^~~o(_;1cp`Ew2hA/p9TĜn[l*(JN!TtuE6h\T@و! 22np->H80khBJmZ +J1H蕊4$x%$gpgb#@)%V5[byF_!eӋ4‡`0:{ ȉT8#3@+xh2 - J2api)u L0ALG(\! 2qBӒ.'/ # e4(:aXMK@H"dQ|q Vt%D6zNkMVjGB&jvWJ5>@ !KȚ#\r(xl7HQQ^=w w w!/M\˹hes-tM[Wg5wǵ'ŷ}=٧6'vv 8ckɌ(]tÌ(,XnJ ^ %#HX@A#CdH cB2 \'1cپ˵me0cȭ?`D7t(SL&ZS:h:5͹nDК+!C·T|`x xiB퐊+=t P M(P@Е5!8Nxɚg"O(/((@Sb偳jR8 5Q 0hn `/˝@/i9b@$OUtTe4"0+AVI`Ȕ Nj4RPm= X3XT |eS 5%- "+" 5 |RַHpJ~.q6L:7יxX7]Sr)fwwLf<<{4ajl, l[% 9n.5S^ I:"y@ZևP`XORTh2_ה$.{љ 8dq~Y4TKH: r$ pHPXrL eR}9OMkҸh3pV0'W"W'entɶ=ˇ]y5'l߭{ceܜ+_8xfo)C9 m62n+5OmAH/X̙3gfl%Ёu"dCL.:m2E4hc&D{ڬ2ƁAi9ef5ۼfUvX{jW3NtsN<b/vg_m^Oz h\x-֬⨾mwx;NWz$_{ŸreO:8nj2D+<}rcڸfȕ;憐ӛ s]?{ۄh l}&v/LQ߬jN6:uj;{Yΰ:~r;1(3׿Uwˡ^ݔO=˱iț7_KҧkG0f|ltkʃx[s]'ob^6g\z<=Ko}. Է> a:zFfo߷y~.zj-n~Wy[w{Lqjѕgp!ȴgr]!7uWwxbz7q&_u7Wur ~xE&JW{97yWygJA~s3gCyMs0nzf(u%g{|vK$!8AK6%KaChVwܷ}qXZc~ H gvvkfErȉFuzU{ing8NJtJ(i,{ϵosVwqXҵp7! Lߗy9؊hP؃O؃؋h(l8wkxlqxc7q(bn&Q(hA5TШ5WJd`ˤ7/f{1_ƍ g4Ds8ȅh{ihj淍x؎1uXnAq<([w׎F"zivAxϗLБ+'F ws2Zu؆6'{A܄ }CD!X@ǐ8{l65WgV\8pi|؛borR1|8w753vE~Ǟ\ fQyX[< oֺA]d^ڼ+ .o߷=B>]b=ʚElJç;0 : `*ގL墋t^ 7S9˽Lӥ)KF\GA9h"&81V9x]6ROĭ]AA 4PaA $hÈ|h"ƈ=~c%r4qJ+=|raˑ.AB)QeF,{fʠDQD&ɓ ԩc΢G.uJOI}R5z1UBy eURJiڊuCJhP† 0` Bć X_ƍVwØ1\(WD9jujOq>\WA9dβ`/ˊauaPZ _Lp̋KjiQ 5gv=!Eq!&4iþ_͐s𣜹U'%k|DZfANkG ݺȝ G2[sH)nB )N+zv.nK#cu[ l!Ab`"VȪy_D*NSLeDo/ .2z'>RIui/ yVqta A,JH[~\YK"M*HђO%8q|y#Xcl$5x|!Ez"Dh>1*p-lOCNE Lir%׼@vX‘T%F>&}7Mj  cHƞс eBd 'Qr9FV)HR* ::Uq@(N_3fn+~3i EJ/JZJY%/2ʉMIU2;P3zOݎ1uKfq\D)Ay ({3=\I5x^N^6XLjcT]` *,T nf1Rl7W_{VN5!6ZVO5rW]#h@<]v. Lۓ ua$خĘ/Y C:^a" ԩ 6s$l[ޟt*z֫ NHd0!avՇJ^ɱ*' zAӠLM_+`XXoS 7 nw%XR"n?F,\53x=7CYo B3WCu1lv&⒴1A7#ส)4rqg=..fgYy I V3h-wϠ5jj h*d0[&% &9Z9Y;O븺ȼVלgwJ[s`kT۴ bZyҘuG9eUtu'gQ:[l=SYfVA{?uhfc&Cd)r^[BU~ȍr#n'zo>wDmsTK^pFH b36t2xkk6 s{>-_abCu;͎#X`5+.^ݛ; nlqfݳ6L2ւa/3|yeFXBXҜ'YYZ.(0+=AL>6~wO;ݙsy㌽Z>gY!={|Mkk\(ke e}/5 QU/ ?_3犾?y $!>@ .k*` ;5BQ(19+r.>ҁ2=g*A˱3;\:\|b9 حZ@Փ?B6BӞ;䂽d!T#$3'YB s{7|*7ty3e1=2&(h +\94O;9?C?:8k3y6; DT:bj/NBD1ڜV3 (3'a Az?b5.[>T3OE#-J!lE_ɺ]FK^0s_ƥ&#F\6v1)ܤ3=Jc?FFQc?U46|nA^izQk9#J&굡 GO,`G1DL, ,")Sڕ @HS\\E4*AS;s`[HpHx1sCBT4ź0|5FGtKz;UKGpU12iM$@{3|<'MEr 3IcZRNԺcڬl@Rt.=l/L>O΄HYĠmm77\ % T!V=;b6= G`uY]WvXVY^Ue[eMPxi{uMԪM-FZ@m?>?B-fVOL4 h4b 81[H}fKzb-BcFj;0甎Kɠ1[Mc nܟȄ_%Hխ1uE.exWQck-ِVWSؒ9Ψ+Bۍt *;̈́G71LZfءT[JlQ6ZSmmd5ә~c|+nvnm;?JDZi[eԣT6Vs^tf]!g^ݠF6V}Je0&pn0|ߓA&R6%$ƹxMUu~[#[^o Finv9f`c$" pvV `OV>hܛvUek^f=ӵEfUFTs&yc%`E^.j'N " {/qZvR V^N#qխ#l>=ɢn4?V@r;I6*WMk~[ bBr \KjwwNRpB$Er-hD>>D%,G$LvKVq3jng|+>[w ^gS^^f/k| goHB!ob:(FkAq/燾o~ff!^pOl/=Zs>s^7E`7.<Wh\n"3oxRyy-Z=UkSe ?KLEGSRiy,y>zEr t/-n#iM!/x$Sq3WwmŦ2vDd5+aE^eX9mg㔷#7!jLH&vl=ɨ~`fޢz&5e sy|+ކjcRV+y!*+[c9F۫H:m>kjd] ]$6{vZm)lrXfs+zMKfʛmi *; -hjZūUNZ務K&Sfk](NVW|ifl0(lf~*l':irXrn-5>G؆R;P,OIZb{ +H5iJd-zZ-5-%@;TǿrECV9ڮk8êemO f -mȽ',-4^<ҵxytkgW5}nI[%e$#:;={}VY1\Ϩg*эj)rG2n[KQJ8W9S%>hM6C>bX6pu, [h/myZ{u?H gb1!30N[k_79-O/40'hRlX>JVHY\74)󝱊:@PuqeDޓF@L.+~8tT)(ɳh1LZ٪a.4bM}Ξ<)1]#GM2 RB ş) W9 М&1Ky.K$㘺Mk$uXJ6'k*bDrZNq[.sKBol={鼳ID_*NPRS#T4T)6Mi f2YNTR:cLfH9-v4s0hk3!T*])yXF&1p']sJUy{5wzUKHVղ,gѪܟ i?VPDKTu,m%VHW$DtPM}JV dIO5KJ2=!zNwԞ66> 5 Ր[IoZp)(ki;XpEy g[=c~ CSw+n_сJk(O/>9kcx(uд3y,V~#);Eڰ͟*+]B23,.$!;%]t([aćDa{:s ,p*y.[gsn;[DTR0v5xfbF1O]N2 KX|.O JF:ueI-gk֬FDIBl ]Y7j58^ 6->K;͸nYp#we֟uo:zLmgF/2(-Zl& s1nGjJݴ#9l6o]:O&ֺ#,A>,7%;wlKE^]Ѿk u>e\ok[\Cϟ|ye6kε ʴ'I,wKx{ Y^^ۊz%ss۱,.VY&)/َљptLԇ Qb]w}Nv:APȑ lsf*>;!^~:k#K}ȓx[K>ڟ6Cl3vÊߣyݚFDP_圆Mٙ^.qA_@ l^ԗA&r4tai%)YMh`q_JMgFX~ް]F_h]`zdQ嗲u^5y ]eN9] Y"i`iٿOyؽuGܜS)9 ġܞ>EY}сUQ!R%]MuIVFVt({I |uh"!rS߬<"ɓ-[)zKyYi[5Tx \%⍁ I]XÍ0a4];]M pڄyVXAe#:TCr%{!H>~i]A?"VD]am+dabJ$䛨<: 1Z'a5ܔHPܒd9%)f!9 .V%1NU1HDP[C#WBTHZU-*fe) XX*= LO[cLGYb `2eREw$!Ή["_,@XL,(dNZi YI1VZ__uqXFbcoj*QZ=f'f/FA'\xZٗB,g9gf$Q'`} `˱qAVj gM@%ab')^iobg>(zZ`Fږ)ZA9DHGr&D͙ \ڄc_wII%'^(dH%&>唵}^$wBaZhCܨ0Nѵ%6N#E@)T@-)2.i~p•=&BDScFƤFK. Ynb&N h2 a!%_^YnagIᱹVuUREOj馢CK煦r*rzgn$H*&`b5%(YSҪ_e5:> ȉr]ꦢ*j[֤""*U[&gy#g5zj6g$bNeI]*`f>Jk#6bsgMJ#M}bJ6b|B֝a6  J'Q暉鲶JO}Bf& kx-"",ƒ$*"F2keZ᪁kâid EӮӢi*j{R"e^۬ 1sm*!S¨O!6:nua9ez!B%rN ص+h=.J%*eF-䦚2xob?]QI^n-YL|=U >,[Vm*jW֚&KBqn&%Rerv.*erlu)N"Y`Ur9eH.J_⡮^N*X"I"#QB\ Z[wgpJ/?p<6Y'#5% f.!_e 0d[2;fGV"%Vh 2z`"!CqcN$2A`_3 ۮ /*.,o "a./$h=~!-e͢Ά 3m2_s!oV }qdXV-CQR'Y eZ(2('hn,,3 2A-Zٺ#s驓flRs0?EeΩB`®l ^'4J|ib*tq z%p8ٺ3z,q$Eqpjo'.Mb "k#)@itmt Fc^>r>)kNV 3)lFkVtĒsyͦ'5,"J(72FhcplOڬ3MLΡ1;{sИc,"j2Q):3.W n窺BJ [GUe.m.o@K\]u5pƓ9KA'~M5bt[a"N+4D,?' ?Lj~m V=st)(nR(+t|2rfiN(&1inj{E12bWd]`K.rzl([6ce[b~^G(7+]u}3t )AKS#|v!.;>j]hZ13^s/{e_s]4k7#:@_e췙1^₨;Y⁃xk18]ӸBx{3R1(KdjMQ-ߥ٥yx?0Z8Bs8It|o/ 8/8J,60+(ξse&Pv)rs:-k6\Nom  js\x֜δrKkrz{c|f42["w[6<*a0z gSNxD3zYn!Vx"l׆άP',T6gNKƴ&}71e^ʡDz6{;6F;Zxd;>u3j(ޭv߅)y pd8;~8;ȇ.&#{-`yVաcj.[sKϻ09/=ҟ% :8 :IYߴ71mFc3* WvGHuҿ`kG^xqWof7_/Wó=R"/-ǻڋ9,E=o;ܧ߸i)vjOICqz~f<> f>bSJ.zvP%EF)uok -3 . ж#Mh߭_/F%_:8@Px0@ cN5N2zӐ?Z)?{ A ;[Q; Q*lF?O3#LcO¼,䬿l 5|QE&C,B_aЄr1/]1 3DvG4|B%L;;DGyP13dҵ@ftn?*h O 5B42AMcӷ'9m(iΟ+T9,RF3'urWhߤSk.N@O88RYZOSlYt3j5Xa4PmE=4܌^I]FU{ֳU]T T<=:2]W_: J];9E|S8U]KUO#b2衑l0y8>p6U(񨲘O\gmmQx1FWY뤑n%۝ORfYm_ݦ$| ;ףVȔMfEtxqt ~پYiW]QY5g^|)GghOn[b>nm[RκwNMd ˄rbxXK uC^NWܱg "o\YnX?ukBpY YF 2$ݘX;('zY g:nOU>1n3#'(z4!hUŮVDH.]76zNjܔ :䱤X:{4Qܽ*teW}qK#5g%r2hDѓ1Ovdd$H Yic622O\4"_fq)[2B"س03sgl'F9)pi%GKARC;/EtX]Zsʂrw1ϙ` OoX1\W~ra|`P"-08Ce2ʠMt\WyBi]@T#gOg[k&Мޑ-+bq5î%d[So.&.8U+)Y E3:QK[C9=-ْPenj8ڃ"7N=NUuj[JRsͶHͬ*vhG?VYx EF[,8fs+OU oPM׬/a$&"WvD8קrL݌ٝ.ϊeoAZn]IO:t#L/Uieb2qeS1s*;~r'.R{1O95ojz&MYŁTRD[OvP?fevmG$ _nm,~3;xrzV=OPok8FϺr,i:_|@gZw!n G\dNtGN~pUy0O;ׂ+q,VЫf " G珹'|b (k0+n"|H ,ьmSnH1X:ч|v&oN, #m*qa i HlA$ Sp$#4'2-Wp_SPvQ437h![mFk 4IyO/ cdF3,O1;Hʫ-c5k /@'ܒ!Y<%1  5҅Y.(E,4Ñ?Nqe*)A0M%4ֺE%ְrPݴs?o!j3dzs1QIT+')ɭK7sFw> 3|~?/O}%[6ϒ6ZTߖEz|xz] d;KvxY$Lh8>낛aכ/6VeYqW6<)P2RuA9Xz;tS _/TZߒд;*VVސR;3r@8q x=xg :PZ;Op2]=_-,tSqg PيChWt%kXg =X*8<'"R|?8W{ILk12s垙XȺI6zxY)k^{mGW LېnŐzi7mɒ2k=6D]Ν/'In)ϴp^%Y 0zZ љ[2Ea1cr#, gzFϘv}%y5 ?)wN901ݗB&\Y#+7J/բ"{.{QCtm{8-*NY0:\ ;PMij1^s=TVmcz%,8'kch3Cng[c9PMx8K/BƸ˓ŻioUYPƛqQ7<9QI.yɸGk?ܩhgf(;sn ȟrY|+>IHl-5k=&x{,ApǒkZh ˵3?r촃zlxSIqPE%}-w=UyŪ% ’oO`6D@z]twWZדBuZF\R_88Y[P/a].Dًqq{QU}nO)-ި\{5^9>;:4~s]D7,102ޣ]rt!UG3Mm7yV1JMq(~IYe3jyگ+QU7Џ*7H#\T>a] {NcGO;|‚XA@(뙔?GTKc_3 c0)s򯵻m_09x2#(Gj&OPp=*/Fv>kzvׄKBGXœi(@PAjqV`Zpi7kxq(^04VSmv"n8yg5ctSES#ZH*zCrqٕRǝ!6YfI,9c5i|I'bڷs~ct u}&2 V|]jFe٠{ƕU_^'`&or)ړ.驈@ƩМy&)c8b)eiª‰VU%A ^ި+jj\:fh~av*豭j*"x+v퀬Ylv^ @ -0` mq'e&i]  rNƠKvw+]v rW۟Nֵii>pP(hr/ma55/*2W5Mu {")=d+r =szܘ=4 ]"9'U)0Rvd_]n)Dcu*a)G,wα;Hʎz@gnn UL㲖j꺨eN39 uԆA}\j0,Zmߔ>ѲUNeIض%&h\bٰDի˨ʪfY 0qBvmP`1**[-2;Lb̈́[I7k CFU}U1xYŘys_'ϨyoT;9|ca>NcWjrn=jl4'GBWNaJ1dEB[ťs4I]Ls]y35r1ݱQ{۔2X#<N`eAwjV0^s =ZqT6$ȊO#|44ղ?xGaՌfxp}/Yms'iHW$!Qxč뤆{.ˈr8\X_~&,#NERX&4gXڗW_ p|vs#)rxw5uwd vWֈ(IC֐絋bl|Ӂu׆v\'8Pg}R؊S*IqÓ7P٦y It~wvl+OƢMwK Og( yRruvh8D Ń{V ovw_8~E{ I?2'@|8acsV'Yy&f8|(GDC<\3GLW0gce`ik9>i`):ug8xRKE>8QK4=za>Q]0P (<D VA}ܕl>f) E[1E;-;eM&mPC1M0~  `q +U; ي`Q T1E~ W $ 0H>^뷞 (R` &m S`& BP&j.Q@>+Qo m Q MϾ@O7;1'@=` `m C rPx1߶` jI-gKFN}1uUgF [N 0+' NN j` ;0~>1< 2psP!  q[B,ھ |/ 0 1m@-0(A^_o0~? L@ `Ԁ>0)@(e1"=` :@$0 a!X(He @X@-YhCTNEVWWi= SRӧXVZ+V/}j+ŊVX0BIqn E$H„=X 9 OvC;G0` { kjЍl5ds@cjE mLaCx`E}{I#D+ğ-02tp0[X=ͅ0! mCf,!"`$PEB lQamk@&PGEq@ĸچohѨFQȟ:1{#,2%A I/:2uNJc$Hԅ]2xXc@yj@ (I0# F@;m{†أ6O(mGI 2TR^dZ9 Ȓhq>;8f\T@-|0_d+d$Rԋx=8wa( "#֠:5!^8Ac)@EhB0p3.h危bc7< (@ ם($ZHI)jf39{3,'$+23 LeH5 0g)QƆ ձ6L 2 ($: k:-9ơ=uî0.FL 2#AzId+93_$F+n <;@PȡSIw2'U2}5ѝI~^xcPP6 D ø+1 ~q:l4xbӘ\z$}zϊ,>3vsab7u9eB=@Mx4@P;Iah ??ؒ/(p1M01)X@j;!0"?6h erf@8 h)-D)3199[ӹcC:H)#{C=4ix( @$A(% r.CBAx\PB zclȀx ( p>PDfX幈@HXC%oMh=.@JT,o0pȆ;`@sB)`Cn5YK>Q\R8u I4TR:i``=3ͷ4h;: @UQR / U=ZIÌP3l u)ZxV[[xn`ЁtP^BQ)L!1 ){ yT,,T ]SL̗7=lKϼL>E 202VмKzm2d]Nӊwx @ {e@Uu0CV@}dXX]X4|U c}EsWpj,C@^`3j֙u~}oCR)NLzXC}K}%5{5WE<ڥC ßK‚ZA= 7>BeL̕0ÎJ 9 @BBM}1SC ٭{Ʋ‹QIUZ"Džu5Z<؄9XÑ@CW_Xzu×C& ]>eݣ ר5ٚ"ޯCXݛBؖm\-::xEÆU^H7d˫^OM5Wօ׭_?uYŤݱu<_KYuE_iWG5݄]peQ`! ,! ,! ,! ,! ,! ,! , vH*\ȰÇ#JHŋ30@ w9DF8wA 8Sm7L^.`3ŎB xNJ2K5@5\veF(:X mwL((7|-MxTӟ|)蠄`t.P`mh "'UXde `"|r؀m)`|t鄀4a$&1 kXEekI0vPȸ%B&@Fj+l'˯,Kѱ2#0Z%a0C|WK߄$ AXS8T Ha  ͇,/D8#JFU "(au\*PsjGK i,G`_0AtU`Tg4 xKvX'% a~z`H `lf9`DCZ+JWz9-0Ҷq!RKjTT @G$sKx!/T$\$ev8Ox|؇~8(ߤMDQb`NNx_JQ,Re\4u+Η_>y{xdTkrdjNh js>;NJ r`W9`hxYXsP":¨JuZf$ohU \- ZUPJ^6+}8_'Ug(VAzI`f,2aa!$F89Q$~d]-eRy#o` se، ` f*I6] /ksn uSHD)#x`* l Xr%Tr:fyIx#6THq&gqGyz HRK7+PC$aIה# d`5 1!{(`d)d@dYg`>)V]M \uAg p)Kp( d 'pA2g@9  j#` g 2%n p1ٝag d p 1) (ų sGHPA0K ` ڤװg g1 j!v`& 10EzP i #@. r BР7NPEӐ! !Zg }# $n #7"3,, rlmgj,\^L{1! ,! ,! ,! ,! ,! ,! ,! ,! ,! ,G vH*\ȰÇ#JHʼn(H! Vp@ 9{޹Lo2$A@#P5@ fw5hPI 09:B4 'XP 5?PcjyGf٩?v~4B6{D3W`I/ALctX4 :eY|M9鮼'itD ͌s G7 g98@q@ssw@ZY!P䢲SƫI@ɑ=B@<L:O)jDC ,Wl1A^޸[`.D^l(XA}첺%qlQ<3yDm $K'L7}PG]K7PHpt6qL0C 5DЃ-"D Z;t #=V_]S~#$ l,9[ tx` 5sK 8tTz8֨ D6d23(JC;#xBJ @@.@"p)skP0d ({1l,A0.DJxxAb7Lu¡nKPs!B:b 89 gX*1y`2 ׉ 1h5 g8t0"5 )Ilx  DXO0aLAP^r(2^ @c@ L K@aln9zDq85LDad-Zva(`0xF0CPJTrMnDKJ$GIPೠMhІ:D'JъZͨF7юz HGJҒ(MJWҖ0LgJӚ8ͩNwS6?PeuHEk$v@`AdhG;U=hBv X4t4*UZj*XPjekRTc8JH&ڡ8s XU hCz0)` U"8COHObX~EvUe3Yc^h ZB <Uh43`P@ i !ש1;U Bs>V.o )p((0a|ֳC\r /Fns[ֆޭxϻVZ xm#9pŖE$$ n#<XpvU3g,ӽ  HT@(y.5P%@)x*PgM4k* ܣ׫HI׭ xE@/!g}`ȕM|Q%PHLnU$X|=TNO}q#L( 5%oS؛"%6zOˌfOs=9|h@_')ij.py5@)can6~(Av_%\VYUU]gXH]X vpkT?o AZUz@eG˕^@ v` U=>XLuY@9 3`WUV v3 APV`?@bdE` d\ aY $@Fb>T փ\Nrjf^ o&LvfgU b&Zu`P 0S`p AfGVst%bƀ [GGE: +@HFj%C cbWE 8 UpdEnܰaSU/WSUEǸ|(BGpt ptn@_,Ax$@(pPEq@Nc:A5!Yqށ` ِu9q^|nuXq5UxUYUz C&V~uViV9wVXXXY YEiH U[]T)A^v5`^_ aV_Haab#`'ybvbT{Nfc3VcP Zc=c~hf5fg,`hlfi6&q y+AihؗeF 0il6$j+`k3PPkkk%+fsv"_֥p0oFovYwai:Ab ,?gQYv a e(ap@ tНU:%ap ; ,Z2D/a0p d ` v0bpP͐>z~  `F@BNѤq p2`=k @QNv`(` /% |pi\*d""2ך @1אЦ}J pw q0պ+`@7g`$H kPCg>=X+ gp:A(ɢ:uhp"'tb,xߔzv#2Ґ g@N (X'&D[)0 ] opگgP8q Q:U&Hʊ 1,r,Ry[ sówz'}Au{!|[y: "4y^AOT5FC ruh{ۻ ȠKRѤ o;LmK44 𡿇' r 9|/ oE(F룋[yo ( d vEю>Ll`N"۰[?! `.ae 9| Ţkš `| b 蛦i| O 0p\* (1Rr1@4W! #~ڶ ZNȩ`nȶʀ np G!˿gL `0 :ljh `wɰL*ʹ1)kE lq& j/"C8d@ <{ʹQD&1YC"A @7ڶ[ZdM1ЬLD!~#@2QTҎ! ,! ,! ,! ,! ,! ,! ,! ,! ,! , H*\ȰÇ#JHŋ32T+,(SB@@UR @<̟@ JѣH*]Zϸq`,L;rFP0MɳlhS>OpʝKݻxd8H3C& e Y"K^N :u̹ϠC0lX -J#`dcByS Hȓ+_~B M bEf,|@q޹RG\\ޑ)I˟oM R ͑]X"x̅^dYfE(VTO$7("ք<ܡ zpY(4h@\Oe!|1v(! r-H[;avXfq(D/ в9@2\5C.5@[*蠄:8" 9]r 4!=@dQYYYHpjZ}ZjV謴֊%Gz HP  xT[LׂYI9NVkb,dz*C~fKa›ȼ MwE 'J4pCWlqB?|ƴΨ:a ݨ#9:15 G;P%a0'eP#t^`3MXL&e8k>=5*tM=˒ c AIЯO/4}nc[3H3B+δ9`I85+9o{.8"e· [Haİ:A@ ?\2O`5vc<PQt{-8 @m 0L%iH' 9-wiG˨A=d9{"HAG(@€  `BNfee(@O$O#/w"537.NQKY9bErQbR:ڱTM`Lt1A2DQ?"{8hʼnca< 3&^Ìw<% 0ыD V@nb-r2la~BTM'83F>4}B @Al&a`$A'3p>ap& shBRw–# 7hpbf .cp  `f?d )M p{rq@R RAp €V%q  +0PG 73@ "wP n. ʐX@&}7 Po ܡ @!}g} aL r` C 4Qݰ @ p9`#`f@6uh{߀wa <( X '8N\A8FtـI   mp< B{4yG0pǐ٠(  90u +>aVb(hظ\:0 R k +r Sp-{V= Z IC| b0w ~pѐ $mT- ~} +|.@P t#` ~@ +70 ` 9`:p٠0C tr^fv',!90 l r P\iF4p4M&`8P 7P pa-l@ j o`k@ ɐ:@ ' XF7pyTqX5P% "9'! %Wck 菸4<(*9OfyY99FI@`mp N[! Yquߐ`k'5x;/ K `]a cR]#BD0%`uP;P3 1P4 Ib rpDVPh+tp|{3 y+! DJQ *0Gl+~Y> 6R*W*qd XpmgfG iq>;P(' mKP+,RZPy Rp 9w h&`QBpFv}Q00ipP[,``ny 1I J%738z0PZ.B&N ЗCZ`wc&NP ΧIJ%(@7ɰL ~p̠IF?R40%' ;& #(r XHM3 Ho+nzf$9a6 =GK۴+0EB0P:`p|#" 0NBB4l pGq=Tfcm qu: p P 9$t42p1hB eBN@pГɢjR 2 Zhtɪ1w T Hߐ@DŽ.|:rk[ w` d @'P OXr؞͐N O=lr` @O P,3D 9pa^¯_J4k/+ @@T0N`]'We/goկ9%mmXکƬN VPP<`, p`JjAȏ0 HّfM0@!‘)/\( H\X02@8D G,) P: LA +Vc ZRPP`ڔ&acp@NhL80CJ67A!t)(DE [@\p *9nW(\"*d[ N J%h0@$@D A.M"/@ Ұ? AC |B<@sƁI\Z@&" ( %F `PkEI4@EotFP$,H%LRI3lR4~-q\e-*Q#I@ hG Ml3Ge7(Bfx3NO?5TQGuPROE5 СU E5qGpT?mrP LBtuWeL!HQpnYf-<XQG -9=B ipMB @s0YaJ`HZ{7_}UE)w5&~\qFX#a4a:mK^bb?9dG&dOF9eWf9˜e8KTzmJh.|#;tbp4Ƈ?K%r!<Ŏ@%rL76po FWrhP šɁ&i$ :*[8%dE"4eѵIzI &iq@ ? <;^ld[bߩsPT&ƜR`X;ZH5P!lhqVZwhӿ˺E&Fd\Q @F7d@ ,?;!Kܜ`j"5# jc:aĀ8L ;R  Gܒu;]~j ʁy2@q%7^ .*]!fd@ ~ZD:Q Dd#L sb!|A%Ƞ8& hg@> - p`1H@T"rAf -`YNP0~ S1)Qw@?o LIgP CІ&y@X iJҲȲ <@0#h ,q ^ )`/1e<nA$Y|@Vl x`PI8&$q@z 2Z5r#%SC& %3bHV2˅զ 5%g)`S^ 4g5mjр1nʠ1hd1;di>vJ)͸+@E&n!\$8gu@+4'|Lvȁd8o4ȃP 9HY{/֠ rBPB2!(f 07PD”/P mYD:au p!P4t"Ά!J # nnPr@^ *Q&|$Fwoz d#RtfР @f#`Zh[t7x$ "\T3dZhCkeaSQp2*c(C^![8p^0c 1/z̡݀U %3; 9H*pC_8Ϡ[h.:KnwMWPq[k+SxOK@7`Wlc {49$'X>l P%v8- Mv8+| 83&0a@F0p:јD=Hqfq rZq΀]B:txxd0 bgE:aYk@R8wG(A@hHOT`Pv|tr3Q@ \yz"hDp {(@ 9,8haʚ2={7C8Gع <D(E};Dgæм:9A+-:[x6hB f-#K4<))(@-`0hɠDX+Pp&C=><8,lH -ˎ (&pL4 ZT8!zD 5?}'B0, ;T PL'p$ I`dt\`Gɐ#&` -ؙfh'iIp(:A7=跪;yjmjAPPZ$L 4r0v (KH ?«SD CPVp9q0xxTX=P"͋J sopCpIPׄ(GyChh8"l 4lʌ0!XCm#; @*HzXh|M@h^ۼ#KBիH(@0POВLM$MT= Cܼ\Pl Iz͙= 3f`D!B<K0Mp(D+)C!!mH#mkh_FЏN@2)tJRaoIi !eJ 6@2$Ё0IQ?G舺Gr^X'xZ!Ĵg5Y6DE 8aGCPN. \Msq*@@l0ffH9!VcҮ:BiO O?1V hH'A]D9_Љ+8-E X9 j6l$c:V,eؼYlmx UDugMI >_Ȁ4\C%x/+g~ ye>[18k<?Xk؃1S_pKP8E>;ɓv.B8vaqho{`V%`HE(gPnx  xg@3S=gX3a5_rn( a6ƎL^@΀^j1h<8@tuF~6N8nj>Qf>TS?'x!_ Y;שQ!pJ*r 8BPɜ hMPFEa昊HȑИXkLA1 qR"XIpT^hoP% a H wϋ Ĝ 񌲁F`pJT Q oHq* O G ( ܈i,70 k Y ،YT"`o@ R K1EO'BȐU#gZO&)q Djx^ V% ER!*hA( 0C7 "Tt,R"ieov!vAlǗg 11 /ւt8/ w|x~ 9SI+l߱QqpVrQ)ի!cPiu+3YlyyBevD!| QvG@ eY89z sfӨ %H*bÇWrdPBY+#-klTLW rEIθqbTxqˆ0:v䤠,[&q7jK IL8)e<\zyBJ@,2„<=A WS^l#nN4jA~Hz o[sGլYG_ͻ˒D(c?tF9'9G(IgUS+!O\'_ka\st u;h "`!D4F x#ǡ"WMؗ/b a5C $8) вE2PPLG`o%h@GU&IkD](0!L9XEfGs "M \ty>ঢ়qЙW>6>`ؑAg'B -0H(CMAYbz FգaВRIqXf*EUtE$vUh&1 --`6P+C.faAN`B2 r|(\0(iJ6{ۑ&2J4N430Θ+(bqq2݌  0PZGxZBZCy ހ:À 0,C:$ B""@4ht \a]1@DI1 b8/NgPeJQ@, \ nUW%JQ8 r2*qJD.DD*!^p l"7{5MaU!oG%Lcw./ ~X P@HOxb%"!JhpK-@gKr;/pF$5@n&#PfplD+J %64t^*.Ғb/Z4 `'PN5bo<hqD.r40Ar3[q䠠nw@PU Amr ]m-v]ʠMfKL{wPH \Tb,U*!GJ!Όp0 28ǖ=vm۷q8B4Ɏ axq0[rp"K$ ĿSOPYcx8l҄ G6@5iOjʂ P-&%#6M,82!A8؄Rh&5s7BzAi| j hcZ l) Z@g6 gAVH<mF (fh(fP 1<@E]DN;+x@s]AN0F<`;)ne4%BRp7y1PP"GL$@O=ȓ̈́d@3 fxK6|١ p!`!& C@"ip64twh!<8Xz]HB+PA }7އMi ~)G_ y2<3Xx5&WW]y5g^|}NI*"+|F T=쳓Az$@P gaF t٠d<lX` 68(V(1B@b([dA FE>^] 4*yf  H@'Cet3|ӂ#" aD Ir\Ƈ\F~>Khbx TP@d~8 CS } l~5 @QJ(`HM`|Gl&1(C: Z`͐I ~&\/ EăMI 3Z_6f (m)N*(8P gl(@'\d042ZZ! эp$cA.^ӧ0 V@|9ءn@h?l@#] h,@sPm`Z&y`p;&B%tO , S`9 8T,-6=\-})m( U6ʩCp~&z1@T EIn,B$}`P'9v3.ȩҹ'5(B) 7K*t.q`jG6G(A! `lUCJ<&aC`rZYH؃kG9S\BF@;6~ɤ%i_-a9in]P)!Z&x-'UNەC> TC8ۙcHn @cp`x2!D-g::W`xGJr%탈upP2 G6R _ 9?8`idL@`+XAO0)[k5Yha =IΝj ڔNrLnA@H$*@&<[cj$G7 &V}@xЩ&Ttv¬n7)c{_vx$ e6c%82^ w`)>]h!bc>Q==U0(z=wCRT ɾ108 ѻ [:0"ޒ;X @/͙b"VR6&n; pMZ3.@- oS,T@C᎛` 6P sxxr"Dj 4 VptC A V0&%BXGks4CI_ӂd θ怍#A"do<ٿbF Dk p#AЁ@|2J0fȠ%(XǠ;xB:S7``ƃ* :D.臤b x P @h! PX JpxP b 0$Ģ`n {+ t\bĠa" uv [=:f}2 T'8$V"2id tNazX&Vy`\ gء8k8PB3~(SϞdu**! D^0GXMA^i# a\q<> $/` {v`;E'.W=\J@!n@D9@p@4!b " N`W^rHiKU9tN| Op9ր`` ѻ^?  !Zߏxo ԝƚ P fWP … :|16|P_00(\L0~&y$o..xG+oAwI@} 6I\m;RM\4C$t Iuaor@X Г'/(#FDfffj:<|#kCk޹MMeњT'1PPC[r0 x@M/4@K9ݟNMs39tcHVUi[uµU$jeg?xpʹf+4J^HzmXGce\\N&!Y7"ZMPcsNp%yX0]D i9zgB6@6HH9p7x,AˢyBڅBPь7U{ʈRF q.*xnEjbJ"M2LC3M.!d‡%Pag/8Hz#pbV/d'$9Te0<0"P@! Ls7I2s ( #w86FXU(4zQV\:A 4L2BG4s hPj mb )ϼFɀl->M-~(w0@FEۆ K(.x s7DR'(2J "c*Ð$8ȋ2v1X=<p$8>iF45X (@H6(#%xZ,D`ٗZ@ s2 W)};@a[?؉MABRTfm"xn`$ARsEk+_(d @/*]rT\be]JJBg\h ЅlB3KDH@r`\4ѻE xDJBxZ# &@nP 5BN1{$!`s@,4"H ,2 @j* TX(XhHTHGH~PLZfH %XbK(ORܐ &1Ԟ< N+dx\A`RJ#X-r@gJA !0x391Z)X`F[-Fp$f5hA@I=:MP%k[ܾ&E":P*0C GMB"=pSkV? 2 tt l(,͸A z. Z]xb/PbdXz? 3S78~9``:E]0~pu:dG7`$Ƅv s|,nF8q00X j x.4XPᆴ<jCh@A h"/qFBzfAAƇ0:8z$/c_#pa\sp/~ӵC$l kv 4`!8U#2PH$,19yhؑjXAr'@#V0AQoL?Jr3 { Kۜf Lv.G9v'fmO]@2#@L::E>F wc$Xr| 0{bՋ(@ >%P5Y!G71mh$>BBrRD/:H$djDE$8G`P@8 ԭ`H($;Ky@).`<ɱ#݊_7'W`EpZ T#0zB؁;{4< 7`rvzDw ^yA8bA$z]cO֎v7  `|=bKT?:N:u2!/zN#O/Uyef{/\ Vj#>V'h~p1̷(D# ڃme'plwB>ŷdwm%h GV}G(^}kN#B($e@ ezOOx7 OHeZG#L2g$%qf !$qwSH1 4`QY7 g^pb#wYh2g DFD^ ut61+M'3' (PLxR&~x'1v1p b : Pݠ Rs(H8htT)@MȈhasXr 0$Xk^@%茎(+Bwg` Gx9HAy- `,GHh a' C&}GG1$!h9:L8*)IidE"v pʰ7R=(_؁iuBnf [e 0>x 9@*E0ur7 SU)8'C)8 [!>8A Nc%%.eS"rh:u'Vzxl q9XK߀ jC  o L7z1@E P ib4K @КI4 pZ_y ɀ -Xn =cd6 t_PPO 0Мߙ @-P`_@ ^'W ɗ^m٠9p t"fJ-QҠ ,PBUy&aG)7! 9C7DriB H8 IF52 X_P*5mqAG] RPgE2@ ` e 8P  Pސ  pS@0 VQ9Y—gw77z+zV4v Qΐ'Xc="%*Mz`BΚ{ *v|E u0 c?Ȋ|_:&tw% L7 ݀ ʖš{p)}iG(1~`:+"ؓhӺj 蓭;:"6v[)pJgI%b8vaɮ37V$71ǝ !˘>Qyw` x^Qo% H0Xq I @^D  V P fXc[\:  @' 0@~ rx,SfP:>`@yQr:HyP `AQJ +`w{aKP @GL ~R8E !E0YG *0kc,ʵ@R$ `* 0ދE`Pp` Fwߐ `cki3P[ `c8fE ـ SD  @{ ~k:6= RBv[p={z hp/)6G6Իfn. ԇ |cA p #0s` @ 07 mYl[l6Gǂ)`O)Lj ' W *Uk&s)F 3PV#0_< 0W` qzɡ # p'qp =@ kԂ1&X QZP* Q C!V GVP P3'Tgΐ? p p̀< ?F:s9 = T :p̀*b<@># o":-,F^"xv #p pYS Ip,: @J`[" 0 & xp ]`e 4ѐ2A-Ά"@1. m  \U$Oo P6MX92 R) `*P֍!<C"5Y exTpc j\ERēo#*= Uyٰ^}-o} ݗ I cbP T w 0h [p"g`݃ \s̭8ލ % 1-#` e P @Cz{` V ϐE ΟPuB&N{d\`@G1I3C `!fcb\/0 |5ہ3nN-UQT` "-C./*47`.U1NBR-TH4VMJ QsRVkpdY2`1  qvJ/ۭNEX7 5T ;5@cD] `!d[1a70L?zQ3> *4HPɝ &F||q%rzr-Wa9F 8؂J #^Rz%(FH G~х-ђic#^Xڸ hB,7ژe Sa|pMÿf3𘖄46!WHPf׈ #*%d7.&PKy삀ji  It0AQ# HGZ]R r] NV8A79.( .& (m҄hasƉf*x,.Hn椐CXc 8JB"LDq aPNDi\ #E (bm',rK.rؤ"# P9ĈfK8L3' ?B /N>w8m0"bXgEPR ܱ|t"T.XU4ro$8Ys)< r(8lQZ0!1TÓ"…e!\A"`zH)|F(a‚9 $suM0 $zـ2y] 1!e Aed ޡB^h%e .tœZHfd8S` a&zDD b&D9lAV ~Mc@9]tp9Bj^6 w{; zy&lc\&Da,X "Xu<|4e9Ň"qCՇfy/iOx@DҌP!t HH=p B:$ # PCE':C=â lsPB3ؑ;D)X"@nB  2`,!@چk0#qm.8A)cxBN`FZ. $q"JYa . BY%.xNhB7G!;B"X2A35!6i``,::Fl(d$ߋ)Ă2X) -lVZ(f؅SQO-@,iTk3,;WXđx 8kHC$0;xC( Bċ€(@Z@H ڀY .CsDa܉4;jÒ]4l܉4Ev[Z@"<"dx l؄ \a$ /v e(0/%}ԟ! t,$ꡁl`QH?@lSĒTP3 22"0X8k83?|i0.nsЄw"&b *pXVV`j94``A^nXex",@9(l+̒=ʃZnJx8l;Cw<>VPq s`;th02ngPA/ohf(TJ ʯA'8hx~\`ք Qgha 9ji4K,08.$+tNk9Ȇ`8%4h014-![ l hnPr(/$24Akdn(P X D`(cF(h1K185R`- JNNTKt7x5 Q6^% Di3MzEygp(FD4"CЄ xh_1X_xPffOu!(P@ dމ,ȓ X  Ȇ=Ȁ78]P;`Fه4LRB VO؈5M1`t xކ0otK0  퍞 b&`f(BXFV֎Xp(dpOPi.qSs7rh<5d; Xd !;Ex;\(5h8y2\g lE a5.*2W38h ri^i8((WqXݓ)(ϧC 9()PP`6s7h&'P_ ZLCk"?Yp@u\&>J?ZxԄf0 %5@H`kRrf(j]H\# r^5b7;0J م7`C$fpG1B ws2H4` ȄR?XfdX^X r#WlLM3$,+GZ4q*C9pp:h;?S /3z(-gǒP wCXN xDQ7, s+X-r ra0 , 5)j[ൖJ8,ű98%"ās'y9P 0y9~V^8_u2r9ї}`3r7 Ȑ"P38иڏX=ż !r9Xȃ xO~!c0 0J+- 3K&:5r@/fP R8p BqQ̍˨6!? I!aȅ4~@ɔ %1BAɞ> *t(ѢF"Mt)D$^`%Sh8s) ,< *LH#G!5JYQl $cϸ#Nx1Ǝ y¨J>,z4ҦONz5֮_'f (`;j8̢|lڶIN-^B#p-B W(p`Ǒdر6FT_lOL1b 5xR|?C/.|CIuH 1>|flA 2Q'hX$C Р 5 SI8EW( w*\@F")Ac^ɀȈ9RЃ3Dq($+ҜAg + l6i+:\0(0ʠ 6x=5B2}An(>D FXu ,0goN2"Dq3(P2H-9K@,|%!b +?ЎD[1ĭǾcH"CF*bFKrGe*#\3f(@#$Z@F(! .mE 0(#iT l3 xMM b|@P!8lB3v1n(d`L 3_A`F`uwaaf,5j 4P@q( P%tWb Dʐ 3f .mJdqv&L(RG@20G6(i,To LC6zq`csH1ac@\iv oc \̉N\ G=3`g4A zGd#׊pkv8C x<@#A T<4@dC!q tp! A JYoF|" +H,F.N@6@h@D20P`IeD f " BԀx8[Fz&h6c@) " ?M<@G\ h #LІim Rp`IO*BB a֨BLkxn%jL@\i Ԙ 1h$@]} 9z&yIO*bPL` R 7<3V-܁eDp/~{1E27\aXPg@ K*! dUt pCu ְ G *Pq]0a D1ȡC- VFN$i$6 wE#*p("W4d!xXA*[DB@]@ &0!]*3 hd@@ mV|$+@kEbs<.2 W;>.25#AlР:AZ %fP a*//SUa ob8 8p"!fŔ{S;HaS2zW/$*`!^1L@, !ݔDЂniɱD }ݴ2[  \SlFj F9xɱt0riB8Ed5gN5T::|gR '@+^!0<8TߜoAk98ئ-i|$3-(J~rT!:E:CrqoO2@))U~y" (@,ī˜mp`xAЂo&h:br |jrc $U!zT6ZPFW7ۤa'" e45~ 5!QЍJD\. H. \@I/np}-$4(IMMjY72@L<@ܡd] lH^-GH v%@Ā.*0bϔ@K  X2K-^:FT`@ *4bTO#A6%P PC$A|Gg ATH(SFg0*ODH \"LM`LͮA<}^&X B Ħ@J9@SJȞĢ@\ !E2yɢ3 hPB Gl\(dC6THyNEXFd!k󕄻jLC]DDQA/7@2DlzׂXL 3Z[()l @uˀ0Cmn A@& y3XBDDq8$ITb.! ,! ,! ,! ,! ,! ,! ,! ,! ,! ,K H*\ȰÇ#JHE,X B:ɓ()(H&8sɳϟ:3.8' !pӧ ZeӢ> 4xkS`ÊKlCzu5RQҬ݋l·o\)dÈ+x @L֌.l0/վ|:X&ӨSh" VH̫9Woi]%Nb%˘ucr2ݨzg(j BErT_vgХ3,L Q/2p24M VihIQ`.r@ 39F DNևKDi,樣SMtc6Q0AF{vTTYWP%^Q& `J)I L:p__3]x橧bι&U h_"l(RV {F*8U@"}d@)zQfJ驨: hX*묓&K'J뮼֚;AP%a0@ݨ\0Z ;켃L (A$L30э!ķ  \5{n UXSd5 <<:FlB)HpP3pXύV6+e@x/9@B/8 `5D D IIo$b (aN~x}"&"CfL@@=)\f@2$Z  ]Fҁ@o.*f1 2B%/i-DdN&]  ndh)Q2D(!0WTzvqT%kp RƂJXzB #!Aj!/htP K,q`D] JIb[ PxB" ,|ĖXb@[ D@, 0q OQ K $[Hϼ}  HcHĥG Mze%G9hHV$׽1w:=1&w*X`0@p1y2cЃ  ~3)IPP  Sސ ` P0s ")[fX>P p `P`P P~3\(Gp PtR0\c `^F  h0kX` T:290E`+ ` <ِz@Tڳ'_ `鰗< ! 0`@15Pn0 *$$C$!`_` F PP0`81p'1Ptze  6Di Z ǐA0Dm9&)7|H; ٘e6y()0|PQ^IP% 03޵&\R|d&L::R@W@QNu p L v0.D \ gvPApA@PA P  0 vA :*' @  ,DbPaz9]m: ؀] A \<`v A bZXiVF@ 3XW`A!Apd2q*P1k᠙ P >%OA1mp Cpah+ =e !*0ꉘE20*Z2v]J@4 ~wm0 A0M@pVA@dʮ* d( @#>u: @9q*+yI`e d ]z*`(k;2z9 ! 'c0YZW RKY g@2< \2!1p PW;nH$ GQP M<% Ly(`Ѓ(Pg:d 5\rSٴu%1a$q ':82=A.ڥ{1^N5ջ rP P++˭Sْ-Zh\_!D81?:aUě `z { 0D[EEdpL+ +ңp `p!')qD+ KT a  ӣ`ʘ L] u kjYq:|v sKQ0g"1 KLc $+b @Q &| 0=: 0bb\qB `%K<Awf+*g Ǹ,Ap\ zG-՗1!vQ1 6;h pD` @AQRpPܕ y 'TFSECR]L Xz4JA @QͰ' *rSDJrSUae*נ*n!8DFhxv} ; =Z͞7:]X1'@:6]!!%PpP) ꃎ*(<! ,! ,! ,! ,! ,! ,! ,! ,! ,! , H*\ȰÇ#JHŋ3P@vDB+@0%Ď(d8s |P! ȴIѣH*]ʴӧPNPHk@U@AT&S R6e@~=˷߿ Lq* J.t Ra֢c$i,S h޲c˞M۸h 8>'X%Vv*ȁfO#XI1(PfgfIvlkasvm]BރF(>b +\L6̠8V 4=ds W<㏀M|Fk1P_ 3-lQBM3"`kAdi M0"pTL d @ cn29p B 7 E"6.&6A7R| B +Eqrʸb v_29Ceّ Bk.N0gLЃ-d bFG8L\te&d""1JPf\4 K0XP@^@8 tk4fU Pv ;'[*@\%[W)8sy}s"@.\F! A'bt;WmX7Հ\g`}^'dM_{l{mmǝuca8Bd$1@Z<UԘL*}em)̩t =z260.oU+5 6AK0 rc~_is|gA<M6% 9y 5D 6@'$ྃ:p9 6 {C2AX/0Pv{v0W^0K#ws &qBhq  Xe##2*kLW3 [A@V/`BA-`#06X2h9`^v =CHNq  <@/dl 9 ,ƬT xGz!^_p^iG/n8$ @ݘ9h1C O8Q8qLc l ba#v&e'5A( $V\=q@6Vƚǃb@R)c D%QI0`pF'LHXѳX8ňY :7ͩP ԡHe^RԦ:PTJժZXͪVծz` XJֲhMZֶp\J׺xͫ^׾ `KXO0HGtRd>MNUb1 JGwо*(N^EB%FR [$S =Y:뾞$^. MzB.ݬKS.EEhފ%-0P]9<1*(a,BpZ {߀ D/E-hUr1,}| ̀lC{w'̒`ܧ0 @2_`HQ"a$ xA%R [@pd3QLVJ (`hG;` вv# 13ڡ*bd`Cle,k$ȗ< i^sV@@ hD5fxj WbmaD8i @Z2y Ȅ "OK P!P LK"RtB^spkDVpȪr؈ | ŦrO/4^Ii&:C܁^lqvo᷹K~X`#C| (QZh*_C@P0 hCUC Uh 8C"sY xyg^|ӕhI&a;u.=oºO"u\Ӓ"q"d#H @{c 8{6WJXW,aȤY?u`(znG;=H 2h%R7^r`CܕDdcOZ6#6@>B[:azІ?f_6a aWET ~7rp@s, *MC a` @TNyYx )0dyP pW +H0CD°M2) !< 0 Gɠ X`p H0wkݐ j$8 @ ݀Ăa0ii0Wd0 o IJ B0jGp(`` 8 :M` T p;iЄ؀ pF'N ` lx w(8`XPъ+ Y @ h$ 6pnȊ?x/ Ԁ ϡ|8+ Q@-1#0#. n ?|UbH1`sahkIp9(` g arv| 6}j6%)-Y$sH 9BP :p|CuYv@xMlp€n, #pG '@'0`0ꑖ&9&()J  _h p  o@+k w Zy|fk Ip` zpad r $ o0J0 HV ~+ ?1p`{g|ID o@ + *0cΰ: 7p`%O*PQ 'c/ؐ[n 9iT )I3*@ 0 `? I{ ; L jZW,Uy+@$`fP OYam=_ |ПVvzQqS PirmP` GqCРw 0 v@emCa:lVfirPp*wB'.{&L 7qx⁂)4 !k#0# 3> (A1rp0ك(P(v;@OG{zh^O.[Po yEKիIp%G  LO>PR($` ~u(*<:)$ Pz?܂ y(5!p~ wڪBl y d!1 -Ր?j[S`*9ЫBC` ns+ѓ B!W m=[#O@ѐo rc0ZeÐ9>~'pU gP@1CI 9) p;@ d91 K>g"{ @`_4x8R`R1#@0x(p[  "X29au`HΚImP|B`@@:ҍr $61R  c op:y $h. k "'" ZiD w! ju'˿)+T :pyxѬ Ijk*\PiP1(`(kQÒC  1_ƻ |R` `i|᷍ :pi`~q`=  SϠA'e 0r}`)P:UB@  h pR0<8ʬ _p)p+UPS@ zp\ ῑs zk%pBbns%% !:#p'( 9 F Q }:ɊG *@IR-p Xa= pCP `BP!w[pBJ =Ϟ۟ ]RwZTp?I@дk +YFS #T p0u-9 K0FϢi blM`? 3J?~[I 'iֽ<@ q⬜I.` pD-jkʀsqW@ȭI1SjAB0S,0  U:; XsP]l ֝ٽ@: mP < 6Ws@+y(qih&)9D7 Fj")u%s`D  /@߀u+)8`5Dv@7@K p` $t}6?MP ' ]0P % r phIS0 `  WD-@{4 pT ;{p]P 0=b s w[.P*p*)1a IqPׄ^ذ%q|7=kXLBPODQ PIPpZn o@ 6p Q0SE S`` `f0 ܐ$Ġoߌ' X@0E /@йϠ,KZ 1#^0e; 6@ `mb +cY@`rk  P`=8jAa`/|Y ? p9 ̰'& 8T? (O 3`ൊ̰#ԇP 2  cP;@a`sPp~x B9 7[ J I,k GhWa rAܸnN`=u ȅsCdXg@A Rf+*<0"F X8H k¹AA9zhZؗ+͞EVZmݪ] ,[}}P~ #a T䂃_G2dT 1$c( ช\ }adIWs p:oJU6 8pb ܝ@ @`@e=U`G0  : 6. Bۋ$;p` `cZ b` 9HƬ[a*IVx"@T*Q<tDa (=S@,p#L\Jt "h1/hn4Ӄ .%VJ 0/W!H` [ e bI%[T A .hуp,&rF3tK( %&3f[!7`LXD=,YeeK<6֞I &3nm/zm-p[+SVq5\o]ikݒj!^B]<*fbȬnjYgnK%8`"(dhI*VVx-Z~+bTZ0+Y~e{pKA<{󹖞Bv7+A`8@ЀD`x` UDX J@ ǜ gb!Tam|d#*i`0XTlr*a@ xx7*a e Q "_b(`>hP@ytȗ%J r0eEt(dE!cPW;0QK dQXAbxb/DD`[- wTb՚1Hਆ$AE p2 (H+*<@]O<09+bC'+80>nM;Na'Fi"|!q+8PWqX)8T񊀡"QAP/pfAl zso )5"#"JnI@QRP"z~2gP %G0-$X@kxv%HcÀdj`_؁.!h: ؀P0"I6A ?khtXcx 4@c*)l#$*GLPV  l,Bj?AllC@ C.a'@C (<؁o`Pm(ro@hpD >2BÛ(dPȒ]f@T؂j1P ycgU3c vЃp+=0R=*@3ڛ$PE#Ȓ1[50X4P+:_xe pH!蒁 6(>[RI| Yxf'Ä'"7T0 %@-@A %XfhItKX# ؅`mtVř PLЗ)Ȋt05p!K9I؂`KXl#XI˥.ku)!I JP̸LNEᰭ'ش$(L904] Dl$:[^(룇Ϡ"Ƙ0Fs0jl" ifp-hh#;gijЀ0v0ȢЀx3 Ѐ:3<@%`"0CP2A#p 4j; ~ ]]ЈxTX=q'q St!0케ZpѤD>蕤 t1P46xrhr 8.@rp Qj؃HzC51H`R _h88!T1VdU4SeR ChhX@c1P( j ST:>(5EKO90nMA ;p* =xN @vb x O2:s+L& Q7K`%"B`  N;kJXH2 *'H.`q't1](hFkɍQڱM[*R]!@.M!X * Pӕ@+((89ݥ ٛ<e[K] A-@KL(Z9<H#mp^XYU `7`8.-$`8~q5RifM=V%AcFon+4d294]2a P!Xu`7m8>X6" C0T qWP;(3hUp\* *0^H*pGJY23qh4@@QeZ, 8PP66"K$h0 ^%)PnЁ(h&4Ҥ} ^؀%I?Ё'X'j8`(㘨X<Ё`X =TaP-V&'I>*AQ.+ hVkm ed<h7PK0"\b8 [80 8D(Br\W@HJx)gSX71V(S J*`9@  &>G!F&VHdJf]+sNHd\`p.87P4X)ouї*0gEڮ(ɌE{&Znx [EV/=;XF_,jc໑}C  5Lh{ Г)< 3* !:e",_xq TB0Uo vVE; PR`8TXKp@5-٥KV1u0n$&lNYHx!_Mdn PTfH P΀^X8s! ޵?hn`fV>uP@VVxm?7%׆@cS! 0ALA{.( gn1ю nAށP@^ HpmߑS2fXiids8oV@P&'-=(Z,QI ;JEFnjr<X3S "U_(i:"AT8\; ` X]T }9 phDpcHS0 oG.D.0D$ 2Oxj,$!JPV;nb67T0\XX4 @h 4 "(Y݈D ހ$@!?E(bI 8ڬ*X~p@ \8r1 dw*Uf, )41gȖeBә~kfɷqZ&P;-ļр/#UaCM!D::X2Ƣ#)F l #~q BIG4DO3 \_a# 1*IO . "We{N9#q޲ ~A. IA3p.nG&<4 ?ty&W鯑$f >a@M/);`CaE⧅` !yj(`=1i;1(xT #0XPAg;/f|[ sZq\S 4-r XL#@ 9PK@ʡAm2@aBE" xH`1A4y(^)/(1ڢ)Z/0A4 &AFb/^hD% @4A% !1t<لlA@fd 2d@ +œfD- A P938@2 GDA04M@05Kа()S,FT7#42B5 R4Ӆeaѥ53a5uK`8`<+$& $bBB\4@;3؁>B"0] xDA-4BY3lY G2\A33 |ğ̢ <5IP&Ԗb 5 X,| >M!,,h7V28c5$ (MbA2&,4BФC&hLt2 ,% gu>>2+h v A. - u*cgB(!e8Cl7 4B4s"T(XztA6Az&!DA+ħ\6Ӆ}H=e%hP_2a:U0 @<8Dh@*L@$180܀x03 1h9"BA7C/F07Bߩ Š" T3AH9C7A( 5"D ګL8t!69k823@膬l*Ђ8f*V8/J!3Xd0GUZKԡ<@@,խ< h@VAB 4@!nB DVL,\@l4Kx'{ H!ZIʓCkF40 kc h[(MĄSE .,+5E(/ Hq S@M@ N`\ocoZȀ^ FxP`N((mDJ,MR-A8@S0FESZ@b.xqNL@SlJH-2|JBQ ^KE\fL%XDShR@ 0  ZE lGW3\|-.MY^PA䈀芁TDqL ,\/X I r0oGl- sa@3ߘʇQs36 :3TP6`PJ}ij8/wGt3C(OohTtmEHE99s2&AURP[ހį;.79[V*LonQNWD@_tFkD2 G5Y c`SGmDDc=OOسX߼TtI8q=ud5WO ]vY'b/6c7c?6dGvK\DLП($C(2gMIN؁is5Adi/i@ ĶaYG,5ÙT~|XБIB4lTH]P")7yUT4}G@(DSge[^7='R<@x@HtHf#0hLHy8* =;3%w`5vJ9<8¹tX.FH&D2l4@+kKd,@Bl6C$ʢB8DD@s9GB D:D|]Զ >+DlZ}Bz%#w|w9WYLW<(|`![HJoDzG3A% q rL0xq D3F/!HEb560x*He9iC\5U{l纱K D@o7DHK ^DbF^OĄ @$&%' .+Ӂb`;$320PA/d @P@Ivd!JTV„@T(H0P؈sQsV-g@Kz4 L8ؖ0ȃxlS Q $4T@:e)ũW>(UjՖLf}jԫ[֪ئIǒ%YaJn_wÅ 4a1-E ,ÑzMX'MKge-AdY_-'HڵTB1B J#팝7XH hv )夹FTF@ xHkT 2;ج! \~(!|ZC fdE 9Aap!lY"haVB `"*x` D͗Flc~`` >XZq8f'r2j!xq = Y5DIVZL 1p3-_, ; "?b vabcZ{9g{fq~aCl.Q«Q*ؠ_V[U)k3gSJz++~ :X﵊ (:X%"}&0DE۷ObUK@Ar?Ǔ4hF ,& A L藣  bkث06!ýB?IO_ 6 Lyt}QB2O"Y>n63S ث6H  PJ]P?! 9qKpmcP>, .0?:"z B k؄ edvI0@B`eA )GnK ~)<":=h:- '()`2R,-TpZp*niZP0wnA- PT/nprJ <P*J'6l,~~jм‹W{1|~'|bqݎp ǐB D1ɞ.0q1iīXk݌ ,&#K0"/K++F!@h@a^¹)%:ܱ%hʦ# f @ ` ZϧT6Xi -*,p'r((¡d'bsN&E *N@2h p qݪC)/^!.fN⾲(R2p.1'Gh.//#+Y%40d 'C#uE.R+ n0/0Hc"0Bx4/ U5a(“r"%+]i*q!`x1"#~*1@Rx5]B8#*wV:7}q2r.(6=&k&@7[B <7k4j!"V ZtB>o3Rs0v]?S"[46)h` 11/_t3>m40 a#` nT`YN^\.B,R=_b6 aEP@JS!F10rG/j9 /F>50})(&L((@DNs-cP Jʢ4 tR)XXT{RF]/ a t@Uw@NX.6^ L.t6`p_΀S jDA@02j"D@"`PhQ0r`" \B][t* a~s3HbM,)@6i$/6`l0`aJD0*TqTCUUOUq)~0|ZUm%"@VvaVlBAX0&@Ҡ%60"k^b e87zæ|jR*cX$C P8#̡Nh!¶c#Gva ~a1@`8 aU%>P?[g, IFw8AơFW\@a aGa8&! V`v.s5s nVdOp(v%֖#z0D "N D$\ 鰀"}7n )x qX+/uQ9Vfo"` a|AEnxBkOS2"ˁ.ljA5p#QjIN^6VC`ʀ JV`K|ƱoV5aA H9)?Hqky +裖m(s6#ߢ."ڐBhGȈz|D}Mh##mVlS#P1,v*!Aaq3G$3QDA!ڥ.ja ;0Nf%miJѭld$1O9Ӓ&\\cnT%.yI2aCa&2H 79 a`#,`7Ÿ̑|%4C)KzL'>ըѡt?gPm"$Co2O|5)Qr4 'TQJУ*UJH1 &Y1r\M83Jso1:k3*̞#(H}iȨRR}iEԋn Wΰ/%]I{DS]IzȎlgKjh]qGTjY5ԎfT9EiAojN@:ZDTIscַtYYLDEL ȬA}NY:3v% \^otkkD+-֭`GaWƈ㔤z٪ٳյ%lI[y$AיLv!2"/s R̸VmFzǪ9wY(miKҊ.cQ'1p+lIwbǩM~ְ+L%MU[72{Y!w~K˴3%1 ɨZWe9 Wy j,#3ɱnz`8"phI-j~$vl`x(Ak儹u~^%m]tT궄",ھs†1 "C6wv6(da;cCt8aV>l FsbB/Ie3=mWt67{mדd yyulep={&o;EbՈ3~ i|4Gr̜a0]V+}&ps.=:c?J"} R^WUKf+7۵.O|SjH>㯃z?]N}G^[BC=0v9M:ҎqI;6[/.%lxzk,"$MHDZx+OUhltպDtq 92{w _Ҹ5=ak3͑tcOMNLFcK!|=$\Mz(vZqT3egefl6aFgml4a'N7cujy"imfsl MhE~8hXN'gCHcW5crƁVx(Q4QGIoap7LaCEuɕZԃV^c[iDyʸH=Spss~ׇfTȧMB}TqɗăR_@'xE@UX I}9'pIig/y^MDslGOr郃tW_әI5od}7myfdIpVzlscT9}Ɲdimoةq]ɘHD)FYSH{ejwP3Hwz]܇J(UIa &neytV73gddvx׌En(ѩW$Zc 9)`y8iBJ{( sL;+<:UdUɡf6`'Yl}b\ɏI*3JK`&{喗5KYp[**D:ʦGgwR¦ʒܧU8 TZ`z9`Jɣu_O\<VǃS9Yg_fMꉭyUT(kM)jk vzQ(9TzxꌸxJu%B[EeaY78ɒ-rVY:tJ|s%%yVi &jL&1kW[m՛ufYV!6=74h續\.hKיX6 [hX*VQZ *35X>ƫ9k6lcqrZi(Don憐YZ݄f%iU]ll+bjFטH6$ia,xgڵ tGg;{Rȃ魪z k 銚+NHğ뻿[5{?|D.@! ,! ,! ,! ,! ,! ,! ,! ,! ,! ,! ,! ,L vH*\ȰÇ#JHŊ Lp,œ(S6 TʜI͛8sDȠK3s||@řv*&̥PJJLEVi|[ճ>$hʝKDU+fȚK@S +^̸M G6‚#4\ 빴Ө'8(%a9jT%^۶%5pW6" (17Zm1\ _ڔ-سkZqY u rXF .PZS:@0AF@V <؈p(!R,&lE(}*4 8nE*n1EL*֎dEŖ\fP%ޕhM &0@#}xit@k*%"P0&bEYТ5 gj饘f馜VeR*F9bA=2N-Bt&:q@ 3? 3 & _b)X` 5s@ @*\"G*~M ل֋qC+$3,μ2t3& 1"x1 "P̘iPsH4 X@48dj/[s У@n #"7]<` x/+z'< 5d X#4L;mw\^:(/f5pe L"wg ]4A1 lC @`p0 g$7X3N-TrSu<.Y 1`01F8ʑa~ 6"D)F;Qvhb\l# HE2ґЃ6H0Ѓczx48ܨ*T2T"+a)KR B)8 laAK2ϰC,ef"CH%4JPf!.VԆ*) h ZȥHXz!4Hx3ħ>SObz1P 1K Sze_ f"hE/GdtrI>t z⑂HU@ڱ/ ,H#Q W KuFBnE8! hP %%td m CAh!^@R#'GAcc p%H%*ND bxaSEx1L"\`@1%+$TV h( >+Ђ+@[))XE@P(a rlU $xL5 N?N%Ѐ.AP\%#*WSvX-1/*R-c3̂3/z\MRB;wH`:Kr GՄGLxnBZѺ$8~ 4`v" H|b2s+pC; oՆ1rZgM3B!4Q;2ݔ,(Wh4 3T!l@a8XB[G X6Cd G*G:(f h_eB=jڙpK糹h+ z pi k(@?ih5&Ā9@lf r' $JT  Ƨ=GHݷNO; {l㎆ mĀ %3yޖvrl[dLe[:jxF[}r䦲9]=؁y x~t].H\ڡRX/娼%@h5P_fN WT K(sm|8و\@"  L -, gXSԑAbpH-)TlȁU ݀ 3/ RPlW E`gg I 0 @|= `dPr`A,` #[` 䰂1AR`r` (+% P 1=@ ΀ Q >w pDd`p Ґ 6q` hqv}S Kl ae~9@k d h1.0} t( I@i |`Q *N0 IrqD 9(}PpJs(aAM Q``+(r'W G W  %A`.YnB^͈:=x w3E,@NPR9Ti! B`)<8h Wdh<2 }U0 0(R8 !$Mŧ! ,! ,! ,! ,! ,! ,! , (T  AE'$,B x0ɋ"(\տ?'/@38pHqqF<~ĠӧPJJիXjʵׯ`ÊK68&1u`N)k)폄TQܬ84O{b`Sfۂ❺e/z:65^L"Ǥ6P۸sͻ_m @?t(PqA (48> !K6tcѼ?Óz9g^sZ>\ t6ypPC(8N ' І?Đ"y'ZR-y(4h8E>F=b=Fp9C#7l!O>1G>ȃ6"xL  + M[̣FP &!S)G!-@3֕ܓH+T7hPs L? `˻#KY"DO$Ψꬷ3Nt5GC31U`M4$X=)îHwx7<]P>£&l1H?j33 &C#x'H8!~K! > jDHD EQ"> B.= hm^e _qW5cs3h G/ -]hX75=T։"3. pe$8AqQ{h5,mK=n.V %WTt44ЄyxG c }"Ҟ$8̐8(4̃g89,ьj$a3A*0iUL8B!zrYX\L#Y(1(2ݨ\Hr謊56HiG31 D\0}P}L–̋4Ix@za;U4U ZYpA8CBB E4Nj[O|b5 0H : L L,qC1}b:JժZUXfTܥ" 7Lq Ta0sP@:dyL"lR dEM(ƨ$'(X~^p I(뾫Mm9̕7 mlBDr\v*Unw pKΰMr*dA+-o@,,aBU!EqKF@? Xa"-"]hB 1|g9`&@ {;7 <`A)l99h NJ DG ;r 1(A)Ê[w8 }Ll^Q@dHTW$@ +zR=Q<`8Ec8)k C: 8zW )ZڨY%yk )9Ю:0C|!b0^$) <ш}C4RV$jR x5~7*dˠ#q6!`xE氏A9*:$?U!'A XcdG@6@H19i/mk `E0"T#ɝmI8YHv<X k4H 8DQm# !ؑ{K ='GW.$fl qOq2 ڤ!2B}GP"D (CJ>qy bzPOy# 8xhž 4Ȇ+AaJ M ձCcj}5 L/h xew yC&؎jDJ8Q]tC@Zjm;<DEv+Նp[В&~ xT&0P*P8g2btAmB@F! 0 9`@8߰ g 0!nF- ` I`5` tX-?C8G5Dp0)#@7pm$h;  q.0P xg`Dp eh!@ 6]4@@.#7&8f>xPaX7X? ` p@%٠b+ d2u A8;wA >pc016& !V.9 6A߀H7% "x&B0d}$P"%pA6' <~Aq&U png9 ܣ^Кq0IЉ&3o]DdTeC.` ݐ hƒ ye#) yEA fB8Z^o`Dp6!7@s~@w\*JP7`pPE2x6Sj pKy۰-MԠ`@, <@ oFC6up@d9 `A0A. L̩0z*p\%`BYC$ 0B 0rp0U54`I ~{PiPiШEo]c&&%n-Pr(L  "EB F%? eBlg&T PBsm[\ep/Cx~Y C2 RE< os F KȂ 1%p* a` 010p%A.ЀEf ;09)Z p| V! R˖.q `z qS `Xi @.q ;P  :{J:봲S  j ]Jac2F MH cY0T9ߡ zM OhX`;i2  [6 ۼ t{ҋ!+fS0`[a {ݰ(2Ar K*   "JkF/F #` tP|mSXP%a[L(?Ieߠv +`+ !j6`%U s0=pӰ\;X xH- R 2^p! Q!,x X|݀q Q   9@pG7c#!?۩ ):):@8 8l0 L|,8M1^ PС]p YEOTnFP 6p]4Q8P `rL3ppe+M',/P8hYAAݵˠqY4 "!+pLn!a fqwY$)DG`* =@L2DS}!8h7n !"$0,]!ڡtd~"&!0(0nY^&UoX P+jY~oW m91a PWcrd@p7FP/k)1a ꗎ0zR A ' x!BsiLA%"p|0'p)S œz(@!g6U!!D-V0 PMj/8Ii V%H"ĊK߷]Z4oZmH(ђElZ;WAr>K7!"Xvlqt!rĐ,8hQ$^Aqj\aec^*$GBrp=2RMMav.8 59=^@@(@| $C"DzV) dq$08ut#|' {Թ!P@`}(`pgJ<1;bP"^yR@/@_)U<&x˳pK (f H>XcG5&@ЀTSv0@p B q+ !)FXC]0 裀C:lI NU4@{i:|P x@( EXAxdq(8@9L t"LaOu ,LC(2UҒd&5 ?`=0l %0ķ(Ds0}xM&P.dL^lAz9` sD,. L@5WaB?H Mr}<<%yfńP~(i|N@Q; 6xT5{L!Zel` { <AEǽ.@IF!{>QA 5΋է#k$F y@M>=t_kX:\ST6@,:@$;f0*܀=(^b+b{Xٍ̲Eah/+pX+3T,@0MᣀwZ 8$94A=M^IpT[QgGTm!(ܡ~E R9A$l7%[1mc,BJo~@/:iGdtYfyi  `_Uo58\`,q/:Da ]j9X45?Y.vc@5 oB{t"xr#]ƒqE<`G?|]g8{?RM+]б1gBtx(1sI5+@m=^B`LKN(b4cTddFb4f\Fg$h|FeljHH(p4n\C(GqLGyRR|}NȀȁ$Ȃ4HNF~TH~\ XXؾD4HBɐG!xj[=jah)ɛɜɝɞ,ɠdI>@A^Y*uJꀀs؆k0oʯ˜J$˲\=KDAћzRZz4)!35(鐩:[8Vɋ@r OsʂTZABhމ&A)@Kn@‡%X9 p먅_@ "x֔*C0HKt4)mk´TΝKtz3ZбhXhz@XЇmȁ <k8fQ v.H{>@[}Ք؄[Zّnah8-gۢx|THr&PLNhUPhMX(愎QQuDH' :}:Rn 4x2BD-}膿6ЪwﰎP} HMaڀ(+Py`3#Hp-@!!C ȀHfBpPshPHzH:8zȆ{R݀"{@kނMx% Z;gqSX z@'x U z:4`UWÇ{uְV o8x`4 ؂zppyrp&PxQvWIz9A؃͔q6 T(WЅyuPze@8ذ.؂xPT]Vv`7.xfaZXIhT8> lZx98 qhlJrBABgqMXzi'0~3ֲ=[z+TehX&Ze|(N||km\Vp5Í9bEq.`{HEy)4 [0&Juh!'7 ʃ" .sИ`() Ӂ(5&?}]Td&@4iOjTCTpDgojhtVQ@u`_60@*H!!tq@|? `,\VDyU+pH}( (`VU񩃠^KA` 7"I4!?h^0 `t{^4]1^=!airkGp& _`_,R@h%XneРނBW#ŎdRyZ}@DN P _?Mz86\C.MeT:A4 ȀقjX1Op)уX'mȆBm@ y^'-HV8 U~e-%ET8_1㗵 xorm j*3)(f!p*迁ܦ,+OdP~·pqhC '{a0*XXf}`mX  ( A(9qpPqT &pvy@i\p[᭣Ȫ!M&=Mc&*<THG "*60f(8z|xo tΎ>BPEȜBVi@.^+8ni`. ~;Pkdve@ɽn@mT|Ъl#-J@-8`B@8}n8M=0Rq |8A8mƇOt'Q@S"s_x, O5xU5Ch78%]z%a9&eny_!yTL(G/-$M(Yf'ˡ O0$9XBc)(A> ^Ny02ˬ$^aFPWb0c/6|,I"bGr+̮}7y7嫯#3 e9Xν-Dj1@=$p˾ i[O4Xs܄u˶/=IpXË 6R+sDñ2*KdcEO/7anEk-Oq =??\1C:DXa:Q*B px.d¹ 6PL>ηh;mx-S\ Ca-WC.Zq{'<'| Bqs InrOI)׭3PD/Nn0۶}fJ6I`:mnb RD}duGǔ5>7686kъ?7q,vV}uo ^ S{q)p E#6|] EGЄl܀H;s)@_Oz'`<[Gr4٘{qBMxDE|(3Hxn~=!sm `yVs&p1!4C \t> p=hAD?8Bם^>A=:@=)L\xm E-!t-ȃ2t9 : ,B8 (ۤ)54( =A83^;_ <;|C x`?C=(!X,Aa>ha`A!naC7>8 N-"jaP7|;<ȃ+m^_5@|)8, /EZpUe%C6<A  T01#22p3A4"8"C((qCA6Dd"<qߩ_8 A|?Ā>V*#,|4﨎T7dD븀±-4>< A'Z(G֖ -9 ڃ&xiCQ cMB*$;HA3xtD8( (6ȇ5A0X@AWNC9> $:7qDDAHdI~ @= ehIv]6AB#ԽWm5< Xy&hY.$>tCDXB] l@.84^8NrUw P|t6(@8xAuevvwx@u CKBU<]en9 Ť X @2C%i4TA`P@4AJU[<xu5 u݇q0'@0Avx);L~r4H$97@|"Z-4X-m Mq(C&B-HX}X(b@ "4 P@uZ60=L"q$8W|;v(:A!(QiH(0gҩ&z*|}*pVǜ.]6`;: (B'I[@5A|6ksE2,>I|V״J$Zd&9ta B% HКD>n(i1G|C=( "+AZ]@8B8"%Tvb|uݐ~iXeR U~<0DB7VC&6d\".a2LeUM249@(ૺn= +yxi0Tx >.At>.*xe;T2j\8V,8"zA@*ahv@lU+T4 ԃ9=쁁r-TX/"BrYg9DBB/DрEVWoo/:@}+/,Z j`,m# N] \ AVԌ=.}kme @ =x@84)DڃxkF,URC?jm9`#!p3@@2tAV), *% Ho-oR&Wn|.8ó@:S h@q[ʊ(U _@|ݎ+Z2dЩ ]wq~9 X W l[#@=b+VwAk+V8J0<ȁ 3jW-/-.W@/+ >HLP<ȁ4C#4Z Y>At!)|8Hqn!m-|3(< M-=$DA3¢;c*(AK4A5ÂphB7|٢034>0C<=B A/)‹Y+P@F 2LqAۖ<4MCVB3/$# d.ƲUC`]i 6 5lq"g2voA+wrmU@0:0 p8\y6p 7Bq-3>7 dZ@=C={C%GYYq@-<,!! <mBaZxH%FCR+{ BKǑ`(9@6 ;Xp uvY 0@|!"|F6 `X9w 0.(( 2O CW>'\5D !0A=_6h PDܷ@>B|m۰uJ_?y#tWX7 ŽFV\xW;sq؊Ip@ my uWLun -3?W}͘V.tyx emqVXhV܎ Teдղї1 X: X5@?fs8| :yq$ ږ9)ڴ JGz}yV,C6YP X'_lj m!䝽 )  ?ß,b&aTw6pQt?Amne>o;"ތ5p~Qp2\<@V6n떈5֛ Vim~l;;sͺ(L=S" V@M.VU‘ Im-3U, +< @&TaC!F8bE ٔ8FEA9dɑx؛R$B4В& =1fђPYHW̃-P\V#@X(6NHԠUB@A4ջތˌ;pa5Dh@T/Jh`!gF(0eѥ-W `4)N2̜qnpݿ>xqǑ'W o)*`节ĮpA@wРt+D{Wgh.5Gb5򊈇l-HA$sb -$q6􁼈1KaX 0H;z946gK ^>2c+<1/ Z;<$J1bpX`~ &Hc8{5PMJI Z$g=^@ `@ |ɷ0%Y; X! Z jiõ#@; Pp9kX  ɳm <au[j G(97(6gDrarhpB[!me|%hi#0<e@c|FQ۴ +5@ԣP! &T 6{ aM8yKsd8 !}dc PB=8aB҂zhi93`2tcB80CC h?P&Eܯtf{bB%`Eg >a@,%`+:bX>)AL%;qz<k 0@ WE@ȰE=AmqcALqb=I1 sApdC(Ad ⨣ {c8uB9@PHJT*u/2ґڜI8YF>bI`p= $ th;pQybYQh @ A,Qkް"TF al;kF&9@/ p*TZ7. xB @1 \W %īO7 DXUh< ̒9ݹ'`VA0"p,Ca`K|ĪiBAV2@v|@ `DeD, >HUhپyb p _`*0L}H 䑇(4C08{`E> &r`(P1q` )B =@Qf-OpZV(vk p)]Lò]W2@F Z!EAaQm؅w^4C$r ƒy" ; B (EsY"@mLp`ʱ-Mhafhq8# zCEE/ !~Mxt %TW`-8c߈ a8|[iI;3a!BIx @5 NΉ"4.q(HZk(EkB$+Z5H3d6@ ` ,m., 6+jc <Xi8p(A 0+\Qp'A~J2'o1:GIUv*$`B{$A` Oa۴JIO@>5 @==]Aw%N@;t{Bw.igB 7gqQEG<}IUd6lSPz{3#ApźΑVs@ `8lѥhj268\{ UЌQ.G6ۻ^bs?%o`eCS0aqD;FzVmfR{!E@4rp@j1.ADl./lzTܶB `j*+ o ! BA8 Nr&!`V ZP ) "@2aBH@-.  \L%,A 0iDI8 @   % a Vf6()0h62!a>Tpp xB.X@`"POJ"*Arta>0ptdz@ sq.!y*ơze^#)؁q@ H`ȡ뺃Flۜ< M@Ĉ @, 2 Jr렲 "`(8NԡVaO }a;j:4d`P ̡Ҳ*  x0& ")|L2 ; b @ot ,("noL|A p!+`I Č`/!1HQdl&\BQ!P\2B >$Y!6``j!@AN6[A aL037soo8 , PA b rAɱ8r' ژX`^Q!Z@s fp&` ơʢ-B%2A .`OP Ԡ t`" d T*C2@T?wRd]A d@ xo) AEA>`&i@l2tC;t @` *~ p Ɓ q `AkN;v@4 ,#CaLpTs~y|gKS,!F! ȊO!pU!LQ| !B -R2 huO6a.^t%4q.%aC 5!fT!P*x F8U1,Vs/uMMp$_5 QzAb@l! r1(8KA <%|bA'i(24 A@ ar$ s V$4ب&Ae+ ]! pv1L ,E|+eaG <6R $lO`dҠ;^kCQ(`>g-!1\oD  i5k!@Htp@!  FiBEmVz`!igvpuAuW bvEzUWiQh €4`h `j2pO}p\5]+%<5,1 4/6G5bGB(N&Bc8Ė/ LePa\ Xbс!O" J dv!9!z@B:t &b5#9b+j 3.`A ~D)!PKc xm!/pC"`a L _L@!zIutY:D8 "BF,`/OtlQ)m!tl!X/esꚜ(`TA7?KNēA'P^T^A6Wt.(j ,mA`o)){ 81A],F`RwtbWZڠAt^P "ѡIvء(7ky88>` AA0_/%i'Zp@mk vk&}ݟ]"JIJ8;B <0„zp^#/JHpȑ %"Ē'SCg@]圼pH 4BS(٢4*P@ Bs#<x"ܖ|.)Xp[RϻC7 , LJ-aGXa Ƀ+ fB^RY< 6 "4(3 {(P8oXPWmxbpN:|#LA gdL>0aO-J3~D!Db8F 2 Ubg6PZXB} fbIff o&b@)A NF2pS8 U)RpI'GBC8^pZ re)9@M8ap!QO@`M1ЉXP" Q܀C!wm864QI]pC2 (6UT^MaRactA  jL@@ 1p` ]++*n<>8/놃@ǮgO&0G=lZPN>@A̒{A-PQg2Laz{2$J-ZN`9E|m9@$H3Q t6+(Ѓ=S:aP2 nJ-:0LA(AAJP CBA9"0tU]0AɈp_KT+N%)Vc!\NzfA=9G3P9= z>s4ĺCî ETO6:%(PG5Ѯk1C l2 u~+L->uWoYXa?X K/`jFBz65=$(A$ \p.zTbI H 2e4"!akt{@[È_L%?| TC7`ݨGlX|9+C=e",C(hd \$! Q b? p@'4 Dl4 j`nĽTrKD s8"EAEcǓ%-q<Qh*}^L[$)$\, Td x BB/8x,Is?<>QG$ sXH ҟF\@ A P&к?FX C:%@ @tQx<?0 .  t >3yCf^O *`>`w,pFfcHC=ZPd ;A􂄽;V`tmd=Jt$B"X /HHZ#$WGep } vKPRfv6 Uqm}3sEn ^ `UJZ<&R"X~B6'r * %P'r0 'p<1@Ml-" A 9f hg.c 7`j>%9 PJ&{@q+`pI @aQ@8j(#cDPT!1[X.8E9-\HLa%E^spc؅g7^C6]xs~^@i Rcy 7~pr Q~ȂAq+!)OAfe"-o~0JD,/ (e2etۦm*?Anep13u]e'?B$P\2)&A1,:(c)`, PL Z!&%U l%6teQHRiW9:9T&g8@]2;Xiq&5om P niɒT~jJUɘ)5Rg9&r]>)2($%9H:Hi9[:iiɛ雿٘kR@$h[*>n P-rCug28XX0b+Ub_q%PA:B & 9@C3PBzؐo ɡJ(&B;` 1@;`  #mQ`q I 0`B3&S[1#TP *Pp$t@O +P)?5J&+Tr[uA .e @H(bFCe g*nz Zty @bꡑ*`R@ᦶ4^ {VN K@ZP J^ր Z"`p?/ʀA ` h5ZlPbsV3 ح #1&bYTOQs: 7l~"i`B- F$ Qչ+p[:qbe ۘ- ]P 69/`  `P bPR: `pʕG+50MkEf֠  ]4`wH Π|9aR0lG16a*o 7xK0I % P_y;PZ `n[r  6 F~@ [[P1|;– kA;PC 3`DۋlL@ P@ݠ%+2 `P'Jui }`A%Z /鹳 "ѳ> W@ %q޲40$ h:Tp|~py`< Nj:W@ ~*cp(+ J=;. C7ʀ nQƱ7 : 0 X M"T_ cqUU_2oF gp@O 8Q Ȱ"p,PE9@ P,E\S0` ]Q62gGdW83sps06Bsv<<ɼ2s+Xn+ hS-`ZНLΑ:h'{HMŮr:  p+PNS@P`i Ey`1ArCd`FZ3r`1 ZT0S*"5=` CoqlGl'eB*a3MdUS@T{.V &UQ R,^[mԢlDT&$j&|΀AuԐ]p^MPqӮo7P9myJ@Jq[1ٿI@3;.ޒѭz| 5HJц z CbJҦ SʏW.HPR6Sc I b@PO.uD)쩟0IJTs0 A ̀>_4/ MHd DD!Ez%t">is(4=Lؑv f o`F5LdG#Oȓ?/ eSO=>߆J>Q Ÿq` TҪ `+!3{oUn:=.0׼p },>`8V+6b-`(ED,AKa"߫<?0p-@ k`<u4 ^/| 2B`W@MR@#\?^ PN 2o&?[h G J$4U1jPJA SVi`PdaCt at?<_`pa&WN36 @=0 bb`>o,ZytC (  !QZ{Yċ>Q2! &vlJ'g7p@+( 7p*UpqX!E@ ZũE+˜B$)zGP rHFͥl l%6@ ;87A{xAˀZ@;r AtK A$@y-NɎVo`d6gAΰ&]р-䡌n"sZV#XD? xCQ 䀂r{A9 P76ׄs0?o:!RPՅt +!ȡo ?P*߀F,!y#Kp!BiZo)>J!t ŽRPc '>I~#`= 5i;~cDb$\~tW@#G62VX!9,8 `j+Qޡ0X&sj#LzvB{ppV#ۂ<~1([9 ỳeCpo 4cGZQ@2Q0Co4@搃8 L0 Kp`S|{_`2V0i0 \5QժE D D6AB<߃7 n -E`BXbQ7RЛ &K(s pb@bY͹lq@;tch9 8Kms|oρG>'51ԣ# U t>!gE ؆vG%wZ4 Ib# h<J$%%,1XyQP7@ v`%AnTM>>qdf%/ d=@]1@2jU9G@\ȉEЅ.*Qʃn@$ÏZ_ Ȁ<DLj:(Q9,@->ͳPz=BtP Vp9<>Kp$d @ UһQJְFt{A2C@=̳B{ :\*𸙳$ 0q0B$%D +0 ]yPu0j2fH)/@l3Q(ᨀa 59_rk#o\pGHr]FulG95X\G9؄ssxnd q)Io"lk.}Ѕz`jkHab^xd ɨ)}Yp08ƓCRB>;E@s0mP h$Єn]@#ȃZ 2 ıIpV >HKk+y qYhJ{HəHgdkk}x9عs(h_ Jxs MJs`JFۤn`pЇ^ |@L{0ÇXt %)&P{N3Y 1 MhXz QΌ1d%] < |;a¨؂`GdȆ%h#)$dlM|wzЇBA_P)@p܄Y kx qxpo1|)ѬPa {P5HО|(OXa 0B!էHRup@r#!d\TG}`p %`̔1 ((ճYR;bTya1H"d <!V0փވ y0\h@ XVEGiM۰0]\Վ0T#7]z0<cU!S_>aN`na`ava`G}a b".b#Nb%n^$^b'~mb(b*~ݍެb-b[b0ȍ/c3>c`4^c6v:6c9Y9c<eRbT^eKVeV~eEveX?bZGc\Be^>>d`f<>dbNf06fen3a;vfibffkjfm^lfo&bafqbgsr>gu~aY^gw+Fw ngzg6e|g~ggh>h!e^V]~M`h5hh ghYAh7.iUhNihniei՝Pin]ViGivݜjjսƢNVj^ *2ͧjl1jj~kkͩnkjfkʒ^kɲ.kkkZ.2h6lvĮƎllYlɾllξjso2mNmvj>mDVmvmym&Ӗھm֔~MYkl>KmFnƔ^ݖn.n&kn ".o~m渚o6 :2Hn8猪k_ow.>Vfpvpoזpp p o pn qn_qwq6q?nqqqqqW />r$m%_rnr''m(q*gq r)r-ro"s1j2/9(3?pns7W9s\<7k>?@oABCDEo>;ttJGtMWFttQ?kR/1tBGuSWu6uVtWXwSuu\Oj]uu_uW`hK/v>vd/je_vgihnvjikvYwm vmljvqvr/mZGwvvhwwwyhzww|oswYxh?|wxngooxoꇏxfxkjxcgx/?}Nygoyxf?hpukyyDuWGz~.gz|NӦyew7zzVޘzT_&{wgO{u^{7g{q{x_f.W{o?f?|`N|g|/|Xɧ^|ONf}L}}?}e6}'fϿֿ׏}|o|ۿ}^f}e}Z}eO}zO}?~U_S.~|Q}ON~'4/oA&֎cw~| p "Lp!ÆB(q"Ŋ/b̨q#ǎ? )r$ɒ&O"d 2PŒ)s&͚6o̩s'Ϟ>Ad9̓F"Mt)ӦNB%ѨVbͪu+׮^eSײfϢMv-[*¥v.ݺvرr,x0†[0ƎC3Œ/cάyfd9-z4鲞-Nz51O-{6 aέ{7˸{.|ď#O˟C.}d֯cp,\ڿ&~=ջ/`Ϗ־;XM ~BDJX r8|$'b(آy݌79l;9GV#!٤5ԒSWbeLYr%jy`9gJ$i&E CmُL xMPmޙF8W @)О)hw(ifLeMH3'j*j9j3\`v<A [O01ZP>iY "1O ?T  KB 9(DLO>YJqνXr?n%cEjT! $ڛ$̿Z$@ā=S8Ԯ% đ?d0|IP$/>`p0C ,(4,M0@32|K&q.!$HH3،[Wzf  ;aA>0! Dk>(7(1 :c|B 2(!c/(eb$E(0p>Kž qonإ l,PѵŰ:!}L BažÖ%X-1.)HA2* c74a|-ޡ8#=Ђs P+11|#XSMoӝAE#w7x0~,p2{H6PF汸i><˴/V@iT*n7~̡S.] @j@<4$CsR0G "!m1mcxd#1#`Zytdp֜ să_v2l/%>c. 5#K*uys?p@z(n@j@~c6VN}Oz$a]1?da^X׊ \@ SZL>,QBFp{ۧbpZHw@؄uC|> DC=5ዲ"Q.z@("Ac~C 2@D9 L, @XX8}}Ua-"Ȱ@5@ @3\_o 4¾-B?(\ 4 2#$"\Abj4V3"<@8܃,? +)A>S= 'B A/ 9ة]t8hyҵO !A%U>.B52ț{dPC/!Ā1b2=M<@(A#@ $A$BB2$9< `!#p.P×ŀ@A7M@( :x4b)yA@'z[m=J^0?dK&-C"Q7tC3AC(5AY& :</C=L2 >9k&f4n?H߽ DC;>xyƒ#| 0AjC6@vngtxKHhzg{N3ħ&>ا @AA€f a=C 0ރ@Q"@( B>'CC=T@=ԃ+ȞLZ`>)Ϡ@=tCpzc&| ?C-d-R MH@@,x[!@ A<͠C2|K( N|Ԥ8P A@L@ D 2@ZKؑLA\j=é*-?ýLlte0+"Te@[DkN 訵hA9@x@p;] \ * [ x ,F vKX@@W«= p CPTbLJʕ6> XSr^M, +( mѶ: DݥȟC4DܬD C8 >1CE=S,dʖ?lg] h}.*\mVmDD.`=B|N-疄e#@T@<@,Յe<(lHK|D@.߂n҄nH@! , H*\ȰÇ#JHŋ3:t@ X!CG('p!˗0cʜI͛8s3D1`y03y34իXjʵׯV_4<ؐ`Pկ|č˷߿ l]$T;'ƅ!OϠCM,%@o&h No8GVDh WËO(OD p` _Ѱs>z1LW4N/rm&J@ 2@p^t'vA;1.| +,@TeI ޻Ӎ<x T߄݇_1#C0֏@!D102 ۈ';]b4H@B50 !og:4!)=.&.| +€ԃ$ Q]?6HIv):" #x X q)Z!xA=Q EA^Z0 9`$&QJ?0 lAaMܨ> 8@;;98dֱΰȏxG~ 3yE H ?OR[3$'kU$H+cIZ̥.w^ 0IbL2f:Ќ4IjZ̦6nz 8IrL:ISuŝy:)tʄMH6!g> PM `@p9S ?;)EtLBxDJA36qԢpHR E%P$Y@"*DPBz9b(} fM+F)N״("D=}@z rA!&`ӄDUWp~#Q l>g:Q{J)9D`aEH 9ֲ>'= ΁Lbd ,U j[9Y$%G6pL.d@QjY"(M`# >|J=@VCn痀Er\JW .rtQhM X6ǐS`fMϢ fY4DX|d$sOUiPv$>aE 7>!eC%n63T /X CPjD9Q?TdBR/|pc\`!&&A* 9n^Vˊ,M# 9jx&[,B CV&`;YY= r.2K+B4@+P%f.C D0!=tF?:Mt pLoPD߯*R؀\xO@F<Z $`)!`G@pc>\5D 逺$ ԐIJȠ؁H>Ac|[ @ZT7f6q dKk3K HRT*C[ ^Q#6CI@Kxl 8= e*9ND%@r0 bj/ g؃kN't0ԩ 3u{`Ე8` CC8 }8 Aء{a @ 1A& sK);`c: %σ~2>͉1H}BG>p8 -+h9{A 4#@hwa|&Q#~k=~@lr%x`psA`!N`Ips1JBP<p$ 6H`0w}S 2@ON"# ]SȉxP"J qZ# ZR@4 c? fD.`B0sb&ր ǷmK!2@{Pΐ@#8Bt- |@w#4 %  A`@ )#0XsPs :pp5SWZpp1a e0#ԶC #p- X<0  L0Q  y~ 7@р p)$70{@;X%% 0shL j7|@ &p0"   #. U I#0`(MUyYps^peq! P?!w I-!g$%%wsP@`@ F@p9@xGaOnSd9 @ "]0 U0S@>y M@uW!@>E1\* "JzS@`i 0@x v"E p9 W\Iy/ZPp `bLI@cG C| k*\ I Z֦ (3 C*0 pm*Q EI`?]c39'*&,5ZY`ء iz@zPp +Z[ * 1zM jʦmz[wLq9]$̀|s<ש`=)U%P sb!Qc0*iB; p :J REw K а3p P jB\c  V Tݰ(Jg 6a MKlQ5@S9ǴNms # ^\bP U p5\0)`:*W%pȀ3]`1 W0{H r*9YjJ2 Y+` LeU*&PQ`t +@@YDVԁ5sB: L*<!i>0( ~9;۳xk SۦIHc1 @PRz0\W  *T0,䠴BְK1DK>0 D|! #(а7p~ڼ0<(Ky^(~ (P 3%%81vר^kvSp[p|4eI{7C!XtIz^+``  3=`j9a6jS]4 iN . ~I bԠW`H 蠌Z PImzql * !VP0s QpbB"+(W<ԠT@tlff#C jtP RLV P$ȍLHzI0猀!̺? iZ@ .` {l-wߩ(] .Ҟkn&4y@ O H>.po Ĩ= ?]A}QGKM Q@ Cl` %0aKbPG*O)`0(M0+S4 n 0*p`s8u`4My|u\ . )(3 ']@(`jklCɛ.H,kn A:  ڒ$  L +KPD B% ՝U@W0 Q Pr@ / m@? #  훾4 CopW8 I#xP 0쌙 T{F`J[p^nP>pP  k6 }7/P<, 7 gPEsOZQ`3S"\2RM> u#0;!QC(pš2'QRRαPWPR({%ukGhb# Au^kHPRRaߑ D ٣Q "L@ɄĠ@av3z`V

q“+2X XŸr=$ "F4unH<puEDdM:`@4bO@m¥d,Ac,  %0$W$`~]QOŦsaƞ]vݽZx <^zӳ/ײ}>K௿z>{ ;O.;}&c&xp@"-Ǟ2쫮:4󰻏@ @{Ex<K@K?) J(2*!bʾPM K@ c#Jxc82No> E<4%302i@a/&sމ7G%TSOE5UUKqU"t  !5ܢ`b0WG=왢h|1tvWP $ ;"ǻ-5r&r.JՃ.OPg4\ v`a c+@p#"Edta `8,a<k`"*vu$I"E.0YACgB3H԰5f5[!(!0I~iPX+y2J<a!E--$PZ11>BM"AYIfӟFe0mě-P jj ^jچdZi1 JME00&6}SBiaG:$A@`L"`K_KZ@:6Z+lr- &A>-߈&yc8|*sa ڀ` ߈Az0;1Is :!)Cp P":9 By bxז]x$G6t5# 42&F j,A7*z ,C7rpPB= < >Р |c 8A@kP)w((#<tA#*8Pp>9D/HC} ktx `d$;BUNA7 Y$ 9/. ;t=`3Ⱥj""!2(rZ6F02l ΁'> .A`rG4!A pB!BNpD?DE ) &:OL@" ,{b @bC؂,$ x; Q!(q}텴׽ %6``@Ȱ c/ٓ/b.<1>}?<dp}{.+=9hK9CPSe;rp8PId "ŒkHn 0 (jlxD@sPvPʏل[E(]Єf!@!9d QF&TL΀ | HA86zj ӱ!`` )\A a,{`N\P8tVEqrq+ `\0KoԔLMl:2A@*@1pЁ X txٻ6WV`7l?z᣻W؝E2 @ Φ8 K(*PݜMNćA[1-`'d8N Q m`INL܅ L 4:`EOLp(pEM!7(dKHĬ J9>@7$ KMLdЁx 4$3-b x VAę;5` rsDkWq͏ňPA d]OJ!Б<D.0DF(q;1 BLWq1P-P">\⫻# sIQhdHA fVi]kxPvբ |{)yՂx ڿR`T]U˽ۄ~\589ps0pq;z@ظ`|t8 }ЃhՁ`z`Au 8A/vK hu*}8w7a 6E`5 "p% _C d]_=ؑ441hhȁ.pZ=q{'=[؅x&~j04E)q``V `]@fx5hJ]lӕFz `z(zz_*_~4 . ~0; 8o(&*>d;>?Ά```<%q^^^E@Ёh a" ~!&b#.h׍] 2?}K?΄7X]y@v{1}CXwp0h~ϮŇ{hG x阶ePBQd%]h{dH p p855  a`<~PA?jOx=rH/e(Fn (x'D@(P9CDli`*h~j"2( ?`yA->Z@Dև~eIklY@5|PPXĹg!Fև; lIp6xm$_E_ R01px?q>ijP86y ɚh8ʖš( hk?x>8C B^&8QC-O$o 9'qB2 8$K0Hr1] .0`g8hY8-v&t , @^)!2: M, t%@xp9AsQ *X؀ 錡puʄsZ; M]un6 Ooz gwjTa!Ha [  f6|v`6C(upN $G-86t O!D!oqm#-Ih Q$'7Xf_ILa/Glx@5Pv/zx##00θY!ώfWxSʬRy{WPA#ЖC]՚oVUgX3yyI P(آI {8{ g}Ty(|A'ICt|vqv' Wx٘_PϯR} oxb{8Y)8O$cz|E @ P` <0P.\Ph@.rРBW0, cI )P`bF/OZtI Və(M>iQ'O4c*mʑ%PmJ R @x+ذbǒ-klU"-bˢ @%&ȩ2!T^$b[ V!sn"G=&{@;? W(F&{6\%1sWJ 62mn]z͇͌9_S&FXB>X1'{xl1~1p<}ȄP"Ξ؂KsƗ[ 44U52xpJ 9R O0XP@S c-{& C B A(!zx" ta DWT 0P$B?R NQND`(|T^̹ה\*fEIdprE^^E6XE`=X(N`--ABz`I2쑜E ` 7LS -M@QSPiU(Ha$ܢQjΠMyq`MC8br Ҹqa+3N8)'anIr4Cq1yQ"0k*0%8#O4B/C`QD@o0.n riT\}ГD ;ծNťB#|EKQGe_6ьzvp`, a#e+ =q 9đ$!$c&ea>$q!;|N>D-x , 5qN=`z@=Z8A| A >#Ȉ? K>`"`@AΐA0~#H B>|@DdvK6p;pmZv=!?`p(:p@tCȁ6,1%:ԒY`< r@` @X>X[G?G }Px#q!?̀Bg; Ýxz9nC#Ճ~<\<qSHAݸ>14D=(grC;o}a!(A'MXDwaġD?Kb oBα*(S_ִyU  mC+.C&- ΘG+`0 B4&c'6@p s\Єy `-@x279`{pJr!zxp$@Oz/R4@.,Ā.0C-@~~G #K72txB8hBL|G (TH( $JzMK(L52ǻ)0[9\zTAl(jQCB\ hLkG(Jx0 5`< h"hmUJ 7X,i0A1:0A"pn;j#c40mL@@qiֵ"D؆:N? -AzId؈Y{$ApfK @`58TSI7$BNυ11T0ы@ȇ<ɀ . +"a(cn)e>XC9 .D\ ń.$0Іl 0E!PoZ$#VY1*TMkF2yiA}Qj J~HUc.3+lS0D7>Ӆp@@3P\O,U%p9Ɓᦙ~v@-An@ LX)̰'iS%VԂ%FpEWhÇ ^(wif7OrnĬ֔ qT(us6SX3HeShڍ A=4<a,sɌ֋ e)pY dM2CmAX~e  GeP#1܎8T \@ xdCBs., b?@TEBMnC-{5 W %>}x!|>4ߍ`18B8@BDg[ƈzۋ\ΐ.4h= z 4G̩ C ߈-͓`S`d4d}@ 0`wCpB@5$WL2d9@(]lMפ^)ě0i>BD}C= aA= (C+EI%^QMD DO4aiP YDUY.%K/"eGPV _dCPP`E!F|8d < 8B3YS %A2D 4Ӏ@-͒p C3B\@H @ A-F%bH Dth  Q0 V(5@ Q# 0Dx*"+@DZ=!@!alA80D"\˜q܌,`DDcb *҃T@lÔ9T8(Z "-"a ܁g]$L-N#ŤBX < I@ A$R\ h!$˱=8c<,MB% |X:8[T@>!u7 X#`_t` t9 :6qD(H 6U=|rvvwxC $ 2(|_5 (".:|#1*2B @Iq\<֊Bm&n&ouZ'*Z"h3(5)eaBbB >xAeU@-9HN06 vD"G6@E aeؘ需!ClɏTCDN=<D@-@:\1KCt. 9܅6 ;8!eF#Py Bf؂>C#( ĢAAl,x N=T ;R$+@̖,X,¾5Y Pl~dOj,@|!8+B? BK@92DCDB"D B>'C0îPC?C6bm=C=7;n-K Cy@->mĚT,\A~܏?ԃ"tAj0@ t!< Z--,x@tBekY@.lRfփ+@֢ (@F %=.+\BT(UMPDtD@4!@EN!D$E` WLS C,EPh8pžrD- DA24R D]A@N pt d L / tAel?jvp / dߊG (_`B4 `Dt[ T@׵E?1L$ X x 0Y[,sCe24M@D?@l;4^ I4)F̈́^4@G#CHSG|AG\uPS\hb(P~!)EJD`,lQ[A8A=`0MaKrGU  B2<<$l=4``GtE@Xc0pPyЋ0[l6f{E@c=PZW4WSREC'WLC)+j`iqg7Vh`?7tpxG0.f4DEQmE&<@W/c(G5HXKRvoP@8AzG7x}8'381C`vA/Gg7I,Ps6­DL;pOlA׉ (mXƋ6Wd=B8n.M]D녑Hy+D&* 0OmB,FKv:9vDn6 ,ywҠ9a͖[DƐ-s?X> Cv0E4=0CV+A(WG30PA%@KD(BaDÚ(*@tf!C2t6= 1v2)C(.: w0tMыBD&o@K/Ӻ1ȡEDݐd8O BKA옕 nDWbf"/w|/OB0Tk2 sBtFrɜ1K3IHnU ~Vln;𑐃d#A ^6=AsNWGN<ע@-̠< DK0a-s2B_>K=2O.e#DOK@w]vB0 _>@\@<0Ȱ| &8p8B @Ëс 7Y: ł@ӂ2_o&UiSO&-W&E Nʍo0,!ٴh" 3^> /Nd[ˠ0BY%M 909}hfE%͈P۝b^`'cŁCe[RcCT: VXw6 j pSW-}"ao_vG {C2@+! ߂΃ %'R|`CC* Gx8{PvpbC4f'z0(s[Qr2 `< (0` }GGVPџ`6XDsn F ҈/ҐSABo4 w` A4'(,WCbǞ;6IK;-U[5(~0D$!E qСa; Lg]fd2`e!x{q"1apa8Þ$(d$K)]&@h@v9c`/zL@g DE-H~tĦ`@s8m(6X#IxJ ;ڡ'8,j!8a_h @&'mrh; 8 4Xd8$dR@ UF#@66` L/,6>?|9z ) ԰N @ zP @Rq@.@D+2c Ɇb`ACqGHp +0\o t <)ti ڰ*! ::t! NW&C Z> u b6q = 3j8~ |Ys$M@c}I< T ˾5  u3t@^\ ,n%שϘj܍^O%} %[م" $ ]G "EDRh H0  p?Y*,,?PюI6jcu2΁ 6kfp#czd49u&hBN՘MmQyvxNa) w=pPQ"J`8dmJQC],#Eȳq;,Ɣ &͸K^d<1/U yuBe4AhD3n5śi2p+?!jc-0t,$oLg|kH P8v²Np{c 9HC2t`\t6Xt> .%0)e€|fΆV \`!^g.KaF| t|aV (@ |F~0& aߺ "蓒oB@Nx$H "΢Mb&9OVAVE( "mӖ.Wz6 -kXo  n  K7C`^PpJ+  *M\:1ø8b%wj7ttU:bϔTW%P8`  `vJ @)&tg/@ ewo0u'0lD `8:9|MהIa|@@€e̊Cۦ2y_j@lf7Id *+0NZ:NA HKz9:"#8d*FM"e_FEXp!^)wCڕ.O Ě)XaavY%%"{9{`BT"WƝOA"Xk!ŊaT%b``!s+<J8 ۘ 欛bABx%9i5W3:[%;ٻD@ f P4Ozy) ! _;  ct;P)  > 99+ [)<@LKA"r,;GP\ý}OQ^`BȽ3"`F&FDƹE4!fG9~ש/'e珘 =ؠ zט@TZ9Ϣ- CԱ[)t}F&ܜ~1L b@@%4&x$5?mom^ Dx`xDd$zJ a1sy$&,`lAMgn~V*P0E_?~Pr_04/_898X3DN߷# JpÀqA 2 >})`G=sb@H'ݓG*8pE0P`N= LTF\{ HӨ!q1d@m,CE\PsbƍAY 851P"nI ̬[~ ;ٴk۾ywB6;nj@7$p ڇW7D{^ j01 Q<+6P4ܚC焢# >8aeJ$e+ dbiGٸ)4lDk*>@- r.|#G2pSE3k2_p~˜ KapŶ}"`%Q3}&Q$0@z)Law 1DV_A4|90AɌ0&4M+(uK3A Ww1$ XS + 49Pk @79<9 &E 14ӓ!@GE8 ?Iu_[w @>@ kPf ( dMm$ljN0 6"kD3$f# ` s4B@2aKMa θ PvI)EkJJH!* \@ 0 o?r3]#NAc<$b80YcAb< .X=?l#gzģ2(4S18r}"k<2J_#:؟lhԢiCbyD0 ' %e <`ݨ!V0tC}RxXX6nw "vaxܘ=|` a,f`p=d2l$(yd  TpGD&e4"*OUp.jHT#X#؇>tSB]L`D:D2Z1('@5N f8w&! YpOSoX<ᐔE/ዪ> śi ";h9ؗ92I`>it/hK`Br(QhJ 1C4x K( +jxtS 搌(+@) @A4] :\ x 6Ϥo;l{ )?yqZwԁ_ XA(K x 0cZVmc 8&wZ( EO̘?a `P#zaL @Sx$@ P^@@l(527 SE}l#VKи2x22 ]WZ)*+9aOP:aս"*aL`TK< gR5⁉Þ:O2|##`GTۆ.kuXjhICx?o XH hZ?xPk{b@B! @ pyP9p~3.v!PAR8"L.yP(c w+}%c?E3Hp;YD IM=B +K@yAFuA\@)P`!?&8#PqHCE3xpP8C:&p X l@V"1#~:%(zAǺᆆ7ᦁ *U8,#]~PvT;nvD @1Ȼp) 'E>F!w4v]L>`  1~|=ɒL~ڄ%0~v r^"Lg*ą ' B0QQ0 Ȑ[GQ;"+<@P +`9w I@0b ` *΀ $=aG`  ypn0w2!.с k 0aq. P`@/P[1`%@nP KĂh*w!w;q`\> 2 J%X b(vxL;AJ6FXiPE[P p'np' ] =f 'JY175JQS_܁A:tsMSFQ[js(UjTkd)ȤJZ0Y^j`: }|j_k{i(jbU:x (p`b)꩟ z~ӥ8 iH1($Z~a"p8!p;N:F5jvc{2> QCɫ1 \,H *z'lJ:cjP:' 3pǁvКkɣj ˰ [ #@2>uQnxvicб=IQQvɜ/- CA>@" +={:;9!yz1 FG<@ 2[ o0QK:eIoq{b+.qP`)j%`+/3 p 02 J@-X K 'r,v{-p )j@K_PPO6@頽0 9Fj)fP ,p6P  qlPTzG gIN2{ 9p d  $i'y !n@@GqHTP *[@6@0,!3|d ЫA ` l p.{0K K@Z4 b l .` x*NQ|ÈE,lRZ cx |F){P  PZ0 HV90 `  G*[ P"ZU!p6W)Y3M5'@P L10:/#==@{w'z| wC`x߸ R uTBO: a8 U?po` +?Pk`h0C?* |gl? }'[9< Mj` j.Q635)G:k ӿE‘]uXT `c0*oP6@ DtI\p ![:t^4hc:= :Xq')N̒ $:▬ S &TpP =½\#(<`m P@}7`U`EІh cƥ՞.QԈ4#a{(g)3k1I<%a!>RT69߷(Ova"*N8c҅ސԫ\K 'LUB煬Y CP ކ|jz^zk Ⲏ*o5heF0!X-Ƹ8/b2#H+p+, "sΞ)8I #TRrI&tI(zࣙqm-J0|`*d`@ t3 ȴ S i83MQƜo 4:tN("a aH #o8,P&ޚyч|8X$1I-q* x sF#s0AM2-gNRjgf@Xc񪥑j 3P5B 2?  .HVy>CfH ŏ+ %$*hZdkU:ǁ꘦TK"]:G~b 栦A6(W͈9Y/+Y,'*xBE驂6"Tph[x+V>U O~"@Qei"927SW}(]8ǑAȋYTRbe.aٍswV,*~??enD%Ph" H!nHNj(q\|I_ 4$C'Hdzb ˜ 3I@!L] 8@:dYHuԵIKHY! T|h^xfB`):]*ϔ6>, SpPp]ZT vKFq3&c @n9l;@: 2f%c@ `'X @r@o }p ؁\P+} &Tùֈ y02pxT]4|a <e%XpJ39LC nx eB C!#1&)Nr`  mI'Pb{!Y3P<uLNJ80z !葄b 䪙PF 5@bDP a Zh< i`XF<"J`y`^X e@5B h  h|Xm+C2g `c;@q 8躂@0׹2  oK3PB=f@#30+!k4`A4Q5 \ipX T`r 4Ȣ:93X3BCf A8^+311 3rs|ºXAL`}. @́ISKF_jءc`8 *㓡2-rFP / s(q3@<6I5H:@CRw|vJҡ 4$(I8T 06&>'C vSU6`Mx*2@B,HЇ<@<8xC(%XvA=aO86xGpq1XBC0n)@Gs04A ~vhy/Ͼq(t|9p #qWa.6@-A`~ЁQ8Vgπӭ,Ld|:~p<pPys}8P1! S$ҪfBdi&>q%)\*U` Tg @ * lc!@FL6H  @A`j\+׾=$0٘@׼ N@ \"Ȁ??d/C>i/pX!ȆJ?k @$-% #D! Ȗ 还p>\kqy>5{ j h@K !(@؀ )%BĨqKD՛a "CLp=h##q>?xX P T؇0B٫DKDL\2z/8Bپ%(ya {(@D7aHaŁh@Ȇ;,E.c&A041F8Ӌ"Ods  74=0ڃ=j?4֙PX/K@-8@Sp(%kGG H 8b@&%9p({pHk1x@L#uz2Rt7SM Ё.K@T`Ss9ωS?ݦ܄sOLE+ ' [X1`;!' zЂUP]hN݃2S]w&C z@C@J }P[`4hMT3Q"}W3%}%0@#Mi8( ,ܧH焽 c`QĀ h7ig@88>9͉=VS rp]>p B%i8X0!h`LYoe 4 L܁`8XpUZkFPIk8 L ]gMp{`:M4!&}%k2(Wm hpuR`xQ&e'Q S!}B~ `ee x35(4`oy)y2{uP YXho t@]RZؗp +CiXC Pb$}pcmU+yp@/O텇|Pӕy8{xP>=˕ f[er3Qn8^]5en{UH ᝔{Ȇͩs0)U9SjxC8a}؇*ҳ h\@z^G@SyqPHpQix#G Q"#-#T]h| "phX "lM݌MP>>0(-@h`\Ox?X ^ xVĸ=n ` q|ՠu0O" _؆ Q= P?Er-"l8fP(Q 0fddIV)q+5"y Q=A՘[0{$0!>tyr.zj`J^\2v Gp5N~ho47H%hjɖE|6Pv"JX 0f01^ rqħ 8&A#eT.µQ=j;@\;0Jk]N)P(EWh .8&Hb9(*M:)HڴA+k!ho`.lq8H:sh.f;( 0Z C YuN6'R#Qd>%Ce})jq(- 4DnwPr?&>2-(K<&[~T ,2(ݘ8 pxIq 2 TGjxcÕ}2cWpxہ(Z~~Pkp4Ho#zx.qcyTq@땘#9SM)}zʆ#+[jO ߁;KX ȃnYHY(s1ZsA-'v]y 8ph~ G\J ^ cJdw `fӀhc$;2'=aWu2`xURkHpH8TzPsИ%1 ЙZ J6=9#8C&)h+8՜huVLqX !ʄCpB=@:t Ȁ,7Y(`4 H}fnn!ahnP֮ r_s"i;х8'xEH%]Ky $wP?/ 0fC`-tg2Y`PxZbį/!xPЅ]= ڃ$5;P"ha0JpBp7?̰iiu;GW 0WPp^X~35xXQ xB> E"Qq70Gov`"s(PePI](XpXayg s^ьфց]@h!>4٧5tU@8>I.tM"AM hoJqh^&yy0!24x4祉5 qq!ٞ@`BFW&e_ 87)J3_$<XYv%bs@a@$ͫw/߾~,x0† W(@%ܽ`1&P!N_eN^#D×̇'(ׯw".os˶D.pnP\p Y-E)B2"!«W{4pAu Px%Dy`@Tׁ"N XR[S+Pd(J%\|#C+@>4 ]'tc7P쵀ΠB 6DK (;5? rt[s# -/Fd5t#8pDH ĀHc@6x( D@@2i[", 0+cR`f|-:[@ prGD^۴@(P ؞GvgĐd A1ple\o.,2`2@@Ί mP{ H0] +0>`K*\CW4_ XPS{Hñ1c9B.@3P&8CAVa:@@y,>cEكHaQ5`B ,@A=x`Z(%OA2$6D A DGʀ$4=@Hcx9_@AB*7:CĀPR 8CIU|= U @8(Cj#!%TCA3 9lCe\]ڐ[! C9E[[A+ 9(;(PI_xMul \̀>HVI%^ &@C.~LH$AB6.(5A'E^F(C&` ?ԃ o:CA>>d<$A'n3d;$Հ'qBPeCB a8 @]fD9hFA | ګ@*吒 &A> ,)eH:)YT )A(ԂEĖvi‚ld,8C#4-dr\2+(^<@zUü@E+ k"TS!.<pʤ$ ]d# aENdX(DilAT G^^ix~D*<@ & t'!M@$>^ %;уxBap*gĭjL4%N8@z.tAVI֨O@(C3!(iĚ,C+H=|&*H8"^VP(;PbՔ=V.C853_ y8IdGE _z}~]CT9 T3@Aī3 2@3@ĝ;|C(;H>-L@Ar@6jw X,<85A,dH t A$X5'Ge6.Ek@5DCUXC!DtA=\A P > 6C B0 = cԭC6->L pAp9T.CQT9ǽP /HH%A6ld`aqgC4|:X'NH>4.H>t t|p/f7n?0ʰC>P Ab=".kS/ޗӞ5@LBՂ4D0_hR 8C0OpA7@"F3=9d@ >ȃ%D C&x:8B7Xև 0<@@!!tz$h-&\= B-dPPC?é͟!d=܃2 C;:,;@ ,ÏqO Q!"20B-&/B48Fܫ1 hr"mCAAh/tZ$3fS@D}AqV؊Xa Tһ$GAsg{ ]l. g#EiT@=_0 `@->8PO Fh̶ElP@6@ldjucwvgX-x\R^|\r|=x Bk~wS?}eQ@I.%$z@-Td랞8(uiѡ6tTl0ERJypE(.L1 6$ \"k pr A)@',s|r͗P<@-DmH'L# 11C=j<@mpMp<G>{C14mD?]9 3cpO7Q, >= =3x$> @Am&3L ,@>iS "+x'0?Fݛ9dܟm#밓7O;`J?1&G,7ف[7Aʻ,&"wCpi}*D|/`/<$0>C1Xtx0V@8:X`fLG(a 6C Bt ,cz51F>fsl1(1KF&7QM0ytC ޠoxQ?4z !F0ph.dqR(h<2r)4aXW0H`|@`&b )jh-B0U6 X 82T`"֨dlFPI2#JQdl@$`́0pgTE%:Ғ(JWҖ0LgJӚ8ͩNwӞ@ PJԢHMRԦ:PTJժZXͪVծz` XZ% 1+GRTQ@  D ݳ.KYԺ>w "X1Y;0.Z4sBcR=D \XGBP@HභMI8Q86 b rDLh9n"(p@0e6L0 051.q0 26(( hb&s)W`j.k^`VY:DV[-W" &mET2߃ xj:HH͡c@Єl҃SauD  y@pĆ2V/ݿ2ֲӊYC" Z*Bdo(p0UY!Asx!4M+=Lھ= G`\p doŶ]s{8"jW-ނiߊ-enec0 |R#[Z]stԐLPH+3OX!8x \đFb R| FECtf6 w2xZBSF Y(00F,/ gئQW ' Y7wpoH8oxPb`d` ~O<q |c :J8G>AAݸ>.qByׇ *.]`0H@ld"28A8t0? dr1P ь\G o?46M/@J >NA kS+Op@ 90.?6PIfP` +]0 BO +!Ikv 4:-q' nqf$`|# ,JR U g r R"}W0 ?P },]=p g` 0 Gf&F əR Q`b`K "?e,Ф<` 0U @R@ :p( 0M0̪+(<{ afjͣJPs 0@n 0nIQ }Z=p*Ecө7bPTW@02<( Π:P n=G]ٳ1,c]oC]G*h%UT $010Q٠ y=Q_Mdi '0F6 e@0/Hל\{ gO`)a  pc+@4>XX@׷`S15~)(,ٰ6 "p X..+)p6w_ S0-ApVY5\n) ~pk+ M yLN&` `.pL̛B#!LeqD@$0;V?A^Xw]p8, '`B䳰O*{r3' ^ ʐN-@ ;}M\s C>,_PP ( W : 3'S6N), V,F6E$+X&;a%2!oNBU-u|7aev0 0Pa z1`VYVG@  !Hh=` .EyP 5(eUvO`oV)gH\ MF7+ 0޼: ]o<3 <Vz*+o Q l [*W 0/5 Fp;0׍Ҽ*?RuEf YP9up-18P!XtAP'knOESx& ѠADPB(01y,;@zDrc,Z7Ō|,Ѕ&| 1'Co:}y3ap?bY{^& )ˡ=HЊPnZ4apeȩ' ~#Ҁխ ,[>؃tX@@e <j>{(PC>Xԇ7 9=}bV$o E(b"%0h$( D x2k! J䵳M7vyMD9(Lb-`&SPu-;^&z^ s& +Cl@t7 ` l!qH C, _0(iHz2BysK JI-갍* GSX 2 G0 JWRJ=z'd Dy&{XVl(ppʨ2 !,*08C\BC C^5Q}#`4#x`}8B#G?ˤ g@x 8|0Cc-x{X'!z 2\r<8GȆB '? X)~c (qoDalf8 py1f/b@ 6usc|} + : e#H] n_ @R6j@@`@A&Pu&Q̅[?.'ۢoDWRi-(-5Jp{dxzٛ|qoPG#2T+\@& .- g`C e0;j~=k" yC,|B BQPHW} hPŧ `6,A >E#  #a @t1ޣKkQT~4#|n!MvDcF V _8 QS9E(Z @ a(4C}&Jl=2 AFb4, ғ p`1*ɤX;}c,ֲFu CJ@s 0&tSCH0P+o"@|(sa{jO{K@v^ G` "t8\oV.BƓoX8D0j^gnp`7 1P0fl܂Q0 <h5/=&qD` HO @ZQ (% Hk!XBzE(W|+i@GzLA9~0gi|C0woBb7Ѕq /80[ vsH P0s *|A/7a6 @ @ &ESLxŷ`je{E_!3? !G*/!y: /# Y܏8zP>@ PAtAH}{Hj#0 Kc3 >y5pp`fi9!H$(|{B.,+˜PR87%Hs QF`eȄ0j"4> P!d ssqp`GiC\Eh.@._9>bWShIP:0 ,~"(L) F3l{!< pxx @c=؀^Z f$FH\h*FszZhÿqA$Ģ= 8 쭤@KRI x ؄ ps hɒ@DOğDRW. ?rW!Ø, ;0йo*8u3YDFT 8K F@p"٦Ӂ P<KŠ8V,6j LK4NtGID8zDFXt4@c Є-[L<@9+ec]YH.lP x޼u/1k#jFrH8b 8Q,0*M@L ttw 8 0i2 (y!h4Vc3K_ OԳ9bP&x؊#@K=x)0 7xW 6n @E66]eF̃0ĭpGy[0 0(| _fyc;` 8`xP{J&Œ gdA'd cʏye ;CT^eT@}eHuN9+@╾ ZAp2ř)q!DPK@ߩ 8" ,hdcR H4其bfV  fr F/0-؇ 4ݢhR64N?hy8ФKVLIvk -{¢ X& Ё @8ݠJ]|8ⰍI5zcX @yxR9MHK$ QOO wAcX [^)$ -h$qmJ2m&#05 yen!oV Ð,82= #;"&37pj!I""tگ pn!IB7  @ >0w' Pf wlmp&0q.J'~Æqs/_ 8%x&86`PUaXPtBgsr=G 0IAe _&P1(( u}ZT!1xn0dpy,僠!h3`XD /Fj0v_1rW(n9 fCIvHa8e ;>8F qαw}w0v)FvhD$ oQx]h+X5x a9>p= iCc VE鈸q/[vɗ}qk•<ۄ[]$G~Vs?h!١Xz ǣfQ"Zh}wx0D pyzxjHxzWxOy tVķύځ` (p`nYgp\g ?{0APjOv{wozxeCaEi)+$Bٯh%C cXg8iqshs۰RiQAv8`08@(8т*Gpz|qr S:ҰvO&  %Hx &zS"x|oFز%OY7rRQ`Q``~9Z䜿`$( hR^pqrpfo'F̑pw5u ; >})G=sbN{H z+`9M#=|0A1p|p2nL6gzA8b==6} @*@ NM [C9z/<ӯo>~=%d Hx0AJß%|Aq(>H<3AO =>T A&Y@\P9#x /E |'tG8NA ^A:hQ<7@ 6`B @#%OGD#>;ID`2TuDj qAIl8- 丰EA(&#N%) MCE L z@v8) 7$!3BlSE0Hmz-Q#]P4N?ЭwU1~2b}tALxIH s3 h8q;O!4BE7$N:+ʀzZ *R)i ~0 6 X MfXz`) hV6qsBQ 8z!$C(cLf\@;mpuw4$C:LdDa0`xnS. 1I@NјƒwL|: !28#51LKxǙhV;$"E>(1!ǑT# jO"p4|C4 8yv+q EW.q%1lY#,%!V Md#OW!8 @,nD!X.,Q!oTk!+_hx  4a6Fd:0ÁIB[B LD8B$ =йb>@b` aPP!u>}xC7,sF=9 HWƛ*Uzahꀕ0^L(ebH@1}p Qt8CNs!PL/zvj#ýԣ8$c[ș,f3+5E9"xYbF8HcA@q*:#nd>MB-0#`0XኃQQ~EA;)#  L C(@$t 03 TC@ HM.. tЄ ]qJǥZL@P% *LD+y\@Z?$(@ tx!@ @ Z 6 {ފ)`Y88v s *r x9$# 7``-뛞iضkЪLC[)ʊ=5S} `P(!ɡl,@x8 @E=T F$xxU6, 9x  öl;d9AW  ,(b `Z>¹9\B32>0' X?!0>E6Wނ%!U"@A=CL?#H"]dDփ"tAZBU= &Mh%D! E"zxB|#DY 9@T=x@>bbXQ B >/D 8J_G>ce)_eM@@0@X}\WeMCq@ Z$ PrD(.@6xLH@ $JKE 8Q6 $`5܀KAx24@D@xdOFI@?@'Ք}^cz@;W[ (ΖGH &&P C؃ ~8(6 >QhGI2|,qT|d?~l X׌G M{G{ ` B2;<`@=Ӱ-V'vĢ1ƓV>GtK i> # FSei~lE=`(cZ֡nuM@U'0Y]@٘G" G蚦jfgrBRQNh!ƞ@f``yf jfeOrI^hN+V^+fn+JEyVh}PH\bh>Մ@=`< Z|VjW6Ѓ ')F}T)%v Ǚɫ ZeAVWbe hunrld bLFպGaTpjW1kL,AR(uDzR&~v+b=bD>DZ=GVd'l ,bchH0`L1G@$,Fd5>_ de =3h_VPA%Dh˾AĈO-r -)ΞR?GbH-C**"F-Gl}, X.@ eDh<9gq<0B:~mC*A8X@jm6\R[9vgN>䏡yhqQ,\$R֯<1svgObО&o89AEj$x%@n 2tAx3̀N vIew{ d-]FooCeu>c^evRpOCq S:x"0g/M`P@lI$1'y W #OFLgqXylNev(/do~ګ*/r'iF/-#GT7~\$sH2:[<܃5J_ KFQ ("9l݆?#?4; oh9 @,\@JP?|ݳvkzL>æM93qT!"_n<&W|@hC$w<B7\Z/ԃ28L|C  DDP EQ4sC׃Ѐ@7XJcyUe2PmR|t!=Yo?O3|;t$Ac< [P#-h37#Z8#@abX߅>C=u&tZk@5bBΥL]85qd x)2~vh2oPC =:@2C3$x!ymE$ A-Ԃv: ,D&8C 2Lb`H7` X$,&^yO$.Ix@1\< pOF l Bh~; /MؗF>"  C0> NX.:dž\<&8@B8=80*E E0Bzv>"? , 8u,(îE B( wAcJ,9b举t08QPc>z?SBA8Cz쀎뀤+89?3Â7xo2 ܸ &4qibA9A\Zɶ1)β2>rZog{$|,Gx|T\O qmQix8\cvi5 d@8IX\6rY; :e 494 4q``8hU}@0y5, @8(/HH_R흽P=Ba)VDAOL.(o3ϚGrP1L%=ap{A  đ=.Tm3"\ DC&XA2 $OL};@ ƚe {C>[q}-7CٮmHfqѲnn?_m7mZjr= ڇDƷ9|U F%DDvY1&O8d(<=ԩI!PN?fu@po(  ]@#܏#$'hMÆ4x0R!8hU A+XLD4-Ag~ .J UUM^K.Pꐩt0O YGM3eHxPx,Ȅ ]A. `/ •(L,SK*kIHH5`Z:ժao]gzO_?|P&XH ,d[=f@#;ڞq"c '4|1Q !#WC,CAY"P;MzA. nHrI ݛAaro(`ᘃX(8DpaBa P* B/ ?5lЖKrlNbS?Q 'xǧF $P@| s @<N$}P x"pqkEE0h%!@6A N!88Q}4 9by HISP#r8nP&p$ ">a,3N VB4)مA8g`mRVhd ke1{(2(i%89J`Gd͠ M3|T2O*X*3w_䋝,GvH!U(%-)pyPV`m$Z>f[j2Z!; Ǯ0ԄـՍD=x,9%f lQ1jlx?=0 M$Δ@JB LG>&Ō 2uЬb'm5@$^2[9rF\cteCy+s D A08DpF@>)`-ρR1~e@;z,~Cl1(&@> oCJs؋"eڳ<ȴ ᷿6]n`;BCx=QH-P_4 QvojİH$N.NI]C+{]7GK[dpDPkm?@P~F~`6?GqE/=K 9^L j!(>mZH6ўUxUh:(}ppQ&{xbh%\E\+jڻ!{gu&SE6.x X0G7۟o+zϞ޸׶QK'=K>|}K^OGd^o~w`w O|¿al~ ܯDFگFDF+%pD CjF$%$hIPVFixWWms \pPJLklA`-A ?m&/&0 )jz 0Njz a@PP '0F0i!  @ }5QFl\`i2A vP!>/@9Fb?@̯jPC ~ 1<$0xA F]ĕ؇pDbI|) ]̮Ό-%ؠ D"dP*4aAb Ġn$0M -%0!`l$("-Pq8.~p,G 6&71&y8B/ 4@"VqlT@nF pAiE)$)%D9n%zBX$#xLB0LĠE FR RRd:H0Xuq:ZAD'lE@Li ihC‡^-`0&IzNi5]sJ3>r.'`f`F/3~F !k8e9`A+p2̡@F D!< V'v8kw!i8AH!| * ZJ^ !h!YA Pi J: +b 25AZg@ t@ 4{B > 23Dd( ZV9ء` ġ8@  .u2@A@D<@!:!*BTL3Q`0p'd A JN'lāAo E DDT&FJavB+(2 4MMA>GĨa TO5K^P 4F"P.C $c0q[y" HA02AT!rUx`@VFp`D"`pD*!!0F?0 ~ ! A `T@`YN C7#aF# aIc9cQIfy\C !H`ABvvBD!* `!L@^`v^~:@3{2A2PNtF-A .-D77t!vӵg2<*[cQ/`Ag`Np':]$r9R0#j8%Vxf nLHHfդJ !.פWC *jCA! V w&3TJUP@.\\r3ŀ Ɓ1 t{#&B R. =xX3X$)5 D"xH,r zg& ,~g *!`WFHg"`9 :M!S`a A09zVI# %H I a d`H8CD%l& A @ x'J 4@,k6 3l c TlAr `Q'~'8B+BC,!vR(z[d h0D!.@Z*flja&A Zի'1[$],ZK@RzAv"*@' QTR"GgB<b70S`LIDS@T(\5 V+3bdah: dJKم3a8`2C@1ށ|' ḝ3NsPX{a.ɄB j,!`c+PHjLx2FX$GxI2ϒl,F[m,xoH,#|81 j(g Xx4oOe\:3c@68Jj/P +xDI,%8("a 0@d/~Pe Lq2a @ ](3 ?y P`OG'\*#% ڠYS0\+JV@P. 5k5/Y F!Y0c !֟8? F1X\9y09b<a?K2|,e2TbMxtayGjoQ Fkn,zR4z@` B P@BBL~ janF Q81[q@lG@96$.7dbha`+C]b*A\r~$:b4aN@"洳`e( mxe 2$ b=^w`Paby@]!Rp T_ A xnj'aE<ǁ; Af`C ` Ad={!W_4ߩIa +.A!U[݁]&UbR* J.ႿاLE*@ b^~މ … 2|1bĄ*n #/>Z#.D!%kG(eqB2L1 .K'fy w N@5A1$D,УzR87{'jb\0>|2+tU*P0aM__lQ0C0fMB>f8ЊT&֮j囌V '/B1 07æq\U V)@<W [h;eUM>#4Ih]F71қ3c2]tP A`!(ႁ*@K/2'm E?xux   D@@2@V=pCRNIeV^eZni $b v@ pAP,0B0 eCpB8MD -p'П*T $BJQ`Ӡ1,HЃ-Kd$$4R5iB-8#mȀB)`G"j'193٦y+CG(@HP(` z`ZBq'+ fUmJk ((P9@zA ȺBf gP>JpR܀#9Oх=, HБ `l;7H ^rB) NcҒL%EZ&xD)IhvߍtwCy^sݷ>wC94Mc LmCM88yDf`O9@"ɸ(®; W U2#C)_Jx,oɱ1%2i:w>qL;ZV =w2lpwL{*p  @"PBx0i^B0%uSx8` |T(c 1p }58 G>qP}P> 4Gj%ֺL6\,Ot̻h%g,#Xo5h!. IzLV@F7*rl# HJr%G l De%Ky^ Uɹ4:,e@(`Upm 0ioqR^lx)@r3.d G0e!$ ؀$RJSJx qHbI2=@ \:sm!aDL mCO:ЗqR a0$M03F#XPP` 7L) :(v`J<@[bHG4@`IS XĀ-hjf0H` qZB$ȹU!@01M 9#2McWZZA`Mx%rD0^SxY8@$=(p   D !W m1Zڟ|S@!ג* A8 5--‘j ;z!>p1IQȃ I1dqfgC Tx•;`bz27IMn @6z'sw t dƺB. Vk!1&5RQ|W6Q(*N r83]`;'  DL1hd((+0 ,f,"Q-e{N(`ebS b%[@|& @FYu:W+ ; hi^3ܬGKeX@V0$d{r 'I'R;1Q:A U9e˽dh9jTaBE7KC6 .iqrk(@0(  E2dBΨ ]݇h8O*TAθ>Q.e8"!ezh@+#CQ187R@39@6*{sPi+PA)9@^w#QT`|/X>4@6CDғ@=(el#P"Cfp$[%5(g!# 5$(W@ %p y3@@uۀ^LZ' [ 702 0cAsaU+M@S`fDX2p:l| @-0 2 Qi2f hHR @t00 K@p3p 0 O4 y 0  >ppJq 0sps0;`yu8 Z'@P Њm.0 C@?0 R(L` jP,X dP): 0>s8 ohIs%8;Љ: €Վ Lmx WL`lRy9 Le;rau)р @P8 V]Mp69Pec0g#(]@ k KkPP]$ E Ԑ+=?)N 1s59qg1d8̀!:`'(L)F>s uYy(* 1\F@%J%" Y><Ѕs 2c`rI>] [TWa㦋pT@  BSPytXi r+P $0B,9 `p9Pv `ۃ9 b00[ԟN<S%a  ' cpqUp+P+OPn)mЊj`@$'(?0^qVZEy iK BFi0 U4C%'pgAa`Pp C Y1(Qn@XJ0( hYp 5%$С#0ycuC.TyCgwEʫpL LB?*%0_M0Y4 "=`)څ6~ EBxz ` }u^p2ǨXʐ 0I@#Z kS PH6RnPЉ? 0L@yT* P \p砤 dLJJDp?{)k۱9d+9( '` ELmH]@t㘫 \`4 7Li%2' xq PEH`p *9t3zK*ZJJNR'dJS?]`wF9qu` (C$ڣ<Ͱ ;!Y { $@%񀱬cCN+R[ @H 9:qb;80BS@In[sl4١('@*¿Yi Lz.0wqa0RL pT %0@ C\H#( Po*< ȸݐ֠A0tFP {ۗ q@n"*b)i` W@@ Xd R`x Rw- ۷S Xj (jP߀* nOC`;Z5tRpPD໇*֧D+PM0  }R  u X0 ,Z:Bo` ߫Fc  ȍLw 'Lw0 A| ɠ' 3<DL4 v po 1@Dkps 1|h0eD:P0*`. PH  :0nD@F@t-a %H5גI;0UqyQ@3^z`&8.l I;z=tZQYy !Pa0M02*8 wwKM*` WA;R2ʣڜ  < d:ʠ,3H6 Ɣ !y wzw`Qy p@#xJ ,$ %P] zP Z 0ZۿN NHk7`D` TUi1 1->tiqR PPm9mV   b!Ga$66@*3pF , @~ fFTy~ѐ.#'TxU|}p0cpW0  &VڒD +G'ɹWSrMG#25W24%j+. 5jH`P/xd=9A.x6^;H B k :sc*R*ar&“Z#xw @y$=73m@2 \H5H$7G_9$A 3hH9Z?UP-fbCEQ`J` Q9%!c:gHZiKLQcuP- <o@  ]%פpt q88` zU39ZO߁8Ux[WmPN%F%YXH\ IvBr#MVpU%&^O#fr?&x/U7lrG;@?@{${TRH/T9TVr-5` ȐQ@ q0RE/F^1rBFC #>xX"ň$xA"UH` '64ˇ)`&̇h{4QIڴ;!T)2>L_>|6V]wjĘ6} Ԫ[XkK„ :0%\aĉ/fܘTh@ABd3-(7)ȓ+(lѬ:S?&!G` CPpҤaǟ`KlVq&P-DѪxRF.QhhK%S΢&tJCuԤ:=1^G#HSPS MF s8&)ti(MG b†t%!ZL w l`0!Z=:!5)7ʀ 4fϡ&B`3Maҹ*N,@A(VƐbZdF(?Ns$L$}@[a"п $2KV&f0ahj(@h H!-8QPhA2# G" x#0H (x93x.Q CX BP92ƃsCP`j{Јo`ep <Ѓp`~=!7n,@J'H(`\y}# -@8`8 pZp™G G>!X{9{A.>=q-let؂1Qh"|Cx72P;0k> ;Q"F:R1'4Xsz#((vԃ9)6vhD=1ݐ>a4BW85ISڥ-4g%Op>ryy= aġDJA6m8@2 T9   2G6b4CV0|X<x=Tm1AVd w*;8,wPn  P} #)%F$P&.м!R/R4@.,C = PB(0<isw.A@4c `-|4((=>Dk `$L@GX5 /&Ppy Y8s-l 588 y͈aD;Q @r#` nWuL_ {Ut a`8yb>ȃ`t#9h9@aB[^AQ+!2 f2g$>}M`e*U5x)U=5SW 'l{*jܡFtf,Vh^!ܨ Hhu$C.H(˴!P,C&edb4 6! .|c ߐ"UG!۔ӛ8DppG%fŲV@18xE{@K . ) -bp;&t1FK1\L&dD PIP~@S0Hj*t+]=)ŇYӊZH8bÀа& ͈( '@2ԡ!Z$)ho&l(PЙXYoK/pH@bqثtjRFi{xoD0 Ccn37ȽoB0 VȻqȀ;E8#%@l ALEK(,Vp[$_D2K QH膱H PLlȆ&g &XО 䙈Z X)]깈:pPC:|ȇ|/ nA8 ArPȼØ!@.PV &L]0*dȕy3B`F#VDMDO;W@>K$Q"Ed^P/ ?w\\ &PZ8H\SWiY+@ȁxo`-=*R\ {@Kp(@M1$:u1J. 0@Hxkۄ J2 ;D) `s`DSshrs=H$:8_0$6)97  jh9.0Ѳi<] ;˗@7eh ;ۘ/;G,9@z8p)JHt `)jȀ 𻃫 \RyЇJNLL^9=$FD4-*pN(0(t `@037;NhL)ok@RWjw\P0}Xc e59 FHq ="w xo0 ik)-% ЀHQ3hѓytM8]@x<o@8IfC#{ң884q.yvHj$R;f YCP ))%IZS )+-@s,TP+H {6RX-Ħ)y0n+57 ,݅nxFEָCKA$]&PP8}[kF] BT%H9%{^@pPqqu8mSND8P9\EZ0.?" S~QyXԘ 2[Ocs,1[ܰY8 `6\v0 a89 P(Je"v/Xn{F(9.)e0i)Ё1`AeƸ]>da {kbik3jǰ2b6+ ,0iʚ>l C}(.`vi '9DZŸ@@6/`h61kީ@ɗPk2,kH`Qɳ^ 8"`9Qy mplxmDH7`'@xz4p>n6 z, m0aݱ[0$֘Bin52u\kohӮ'SmՖ[̵RiE eJIOQa oOqW zI>a=6oN 茫 gvm癠*( ;jĈv;r+r,r-r.r-w=`d>1r06;8V2񈈁X|y 34َ-LrE_tFot//-P|@O/‡e{N[%6 k0@%sHx?@ Ǘ B]{Z`Iqwtc?vdOv*Orhc@eDö8& 22kmx08 ;HWk3Prb[actd+pe: Xvf. 4xcF4Vvxx'Lx:8k/]>jC°38; qy? `H;x ,f( x5Bux^]cnzxpЇS z{70FZXtlz(/(X?#,xu;pTIip;s2'q}XhekvePCw'\A (֠BRX!Hpp2$ D &A\oy5Q@ԉ905׼udr5jЀ 9p> 6>do1j8@ L@DdE<1tԼ08씰X4&4D6eZ"*<Ï?#5=P4P1DEJtF d$ AI(wvaGK d=1c#2>O9J%LD+@La(D:0*?@Sۮ›M@ 9T*]dkJQ>+4)HoOAACH@40AoIIfG(yA8 'C C]A+q1LjRCDI% @[sݵ_ovD8- gkP6s]7pkP{[WrY]u~P+08BKCĀ HpD9UX !xxDnPrF 2Nyێ: 7(եH3߻<sF P 95]΄!(0PB=<d90<]UĀ(:1|dB8 tXAJ 4!%?#n+-/n D 4qr i9$Z*`P0ѕl!2 GʑN%` HF0 8h`"š& EgqARydpFR\R1-䡌n#< o}G" r ґ-B-Z>C R^ЌhaOh7*$vKq(qMR7 u- l *4P?T W!J!# c >BQJ0DSIؓXZw1P!n)tz 9X \̸<8&U`T(ok`^.`(zȲqoC2$[!EH>xq= b%%Z24AlZ?ԃ TB@Z؉wG(사A7EEAta2āYb]f"|U'> eD8@,.Xn9āĄ`dH$.BX!c\[ ^ F8B>N9$$.BRؑչJ8% *>mJ>\+X HAR(s< @@ i֐DR-B UB3ptCŹ] 8d@ >`$ [DC~XPla]X@3:m8dLE|xdM2XB@A2D lBiR&4&XpG$DSffC`3ͥ&U7Z TBf^9eA5xC3BP؃cTTS\h`AֹUHT2\'9@ C>'0CWT; @2d4XD9$bA>  $Ğ"t;@7g:F>#-A5̗ZC>!X&̃<7@Pca|ƒ#C (|ɚ'F%/C=BNT.@.P,Xl -` 2@0C ෂ`!pP|H`c6"6\xo>|- "|'c -lyy}-p"yp{bA#pH+llP:HoQ u'tډ[ܱPT!E0 uޙqd9pѠ 9iQ|vI+odZr:!u^AbZO_RmP`8i&TC1@AYPc-e̠KY$lͱ12T. VR/'XyTхr 1 ϑ (L\+hД"Xlb,gDl@Plj +HpV'dHqםVwNCA=zB#8 MP,F?QI>8 :(u\[b6Ԃw ,@*u/^u4 m Mkf6T AH_jVp0!r'3 + ((`; .;$gP G sPх/CG@;O>2x ~W@E#,q V`1Cb@7@BPVC\0 <ЅC`?(1H#VЦJJE+*!@L#x'P DB 2@ B!5P(6|D P XA#⍰ZLE%D0`LP4B^[Z^C U`T >X"~ h3jE$ EPXB >@ z% LE`JD2ehŐ`{nCP$4! 10a}\yG#D`G')D"F|"Cs11X#P0 &XtyyT|rPK ю~4ء H#YiKP=iy0*p!Iġ,*N(X.) $uM}`'0D.1*` AN Fp+\Q<c( BQta|Mr 9"bj*N 1 x B #4Q| r2DQ*%&@-B 'Nuلvc !`cQ\nV r]=?Ԃ+T"BKP *B F\!xF1hLPX[b`L9@Ju @LSy +h٭^`#d`m0+P>[l#t1A?XGgC;Z X"8B…kqӈ<v@(hFB2+BBv8 |Y)g=3πC`;ZB܂(`6|2L=!!V; <w#({J\s*)Kv(ipp @ SexP=FE .j f 'wmyF><XbbȁPTB A 5.78eU~W DC5!1 ZLkDRLQu0>(PA !ݪP.Z1Z@J XY>3SD +&&dAon?UrB`odo @Zpgp w g'rc\0nHefl 3\@<:)!JvRti `*J|?@o0;X,uG] 0C  RpvV `0nn(`bUpw B@IR(5x_*Dt7FZp#0'7 ~SRǁ89 FDzoq(0r`T*Ȍb gHP(@1!kݸ% R0N0FMh4Q18טZ' 2[zB3`=K8I"&A6mb Tz7mµn@*c ``ypap8"KrYBm@+tB#puPa`haS$pTApFmr #Y B &m`p|@ip{TU`4x1'(TPL.x@ Ps:X`wot+ #J [y7 76Es)Qu;9~#@`O@Vӓ+A rQB)p5YW PF1Nh(1pK+!( p$@dpi59ФUmBmƕ!?e#:8z+4?K/E;)CyKpH)[C@xf֟? R*%Q@Bjy01 Y) p2jǃv  |@~T)0var@v6p'P>mR b?^i w/=W:M;&!vy0fV7(I@:@e &CVMCZG^P ?pe@q%bd0?]Жt[*`p@'fP[`5@C8'@d` v@:v 'ƪ1pr bpsptX *`e&t4zrSW"4 0dD@`koG]BJyZn§@5nFEF*(%7I4pm<7!D `'P H`CJj@P7gBz"!ܦx tI`'âp`' 7@ 0\;ej $ (E,{*&+:=Ha~ ` o0oU Zj,~ PE4` ;KW nP|0@PJI# p  nGzZe)zr$GWO j'Wa@kwPc5TKoW(TKK7_;,4*74Ka1(Okplw >{P h` d+Kc+7*pS2>AK=0*>($ AGjfK&@LP I5$|mHA @ -J @ n]+O{Ts@]F)a@!34T1*}KM"p'+kr 8B<4+"t#gVo2%0FDg 2l*˘ nl!A!BXj " 03BF4ȑAH2Si  4uK/ӼʥTJ"U8`8ܘ1qί [_SG]֘*b]}8W `:ǕLmZ|lT||ZHBLťƷ|=@3-9,Q<q?|-P\C23Ӵ"y<D Fy4r-lBw;p@|9B2p]F 7[!w]Ɨg=xMz1n#@ -I=cNmeI Y*00ƒu dqs j dCfyd,<@î<B;2{`=H/1o .z1{\B((2!C"M| hp5q=])cT:*Pޭߧ7J6AB[0e8|z`6EM:L.-I|T|[GQc ">$^Qpz`C& H*\?2~4^ua\f,"+Dn>. D2 !X;结3K1Y#s'E],5_u=k˂'燡LO qWP訰, yp'r7N-9)-ɒ8E\)ᘣsae0܏rD Sr iA#7`#eF.卲.7J}_/0=>:oU),i^24 w2 `QcBTщ`1n(.MJ<%[gRC_ 4QʖFe_}a M8 4!-xbT D <0 &8p F\M 84% 0(r P,8COPf9 )$0P@AɒFVĚe,p0A$״ K Ɇ8]$lPH|HܛXbƍ?̘d)x@TCrd<+ #Ќ]/EajC8$^6͝/NtwPO#c[G>ΟC7NE:uV'EC* ^|T\8qVH\V#,e5л*,i)^hM ̃{J0s`?PPX2yB-&4i> X#<00H GVp&PPAQ򘁀B ,)X Z#.`U94yңL@$ \eՁ5bE,L  RF6[@@R ?`%$ UlbYn݌.88G&y16zA (Lh#")*(Wn9ҁ؀rvmg6f@4rkIjM72Y]MܸA:  d_805 =@  &g6M6*JOV"0p2ȠO hdF_x1j'd8Dڗ?$BC0.m`HY $ Daq^7 bm^*:dް ~I PW04Y`V0eRŶa3`iL$ U p<<*D~^ 7d` pk% ,&'v[&(C- " VD 37E]qļ h! #Dd2R82{a@!x%H^p% iedhe;x \摡<(`J uR1,v{Ѓ#1JLS6m/0iK\ ~A \#?](d F#>( "ɗ.@dqHCf;H@,YJD#@Θ X1xC^ ԍ <0@\@)Hb aI!`~˖DOn{R3Y>C ,4FI@ (?JKe ) LFA<&+O!`muNQHRŀTUSFI<< GtDR-da1PT"|`A_'v1 8( zJ_ @v3 Fp5aP)Un';f.-p#˗}/*+ =>F/~{1///V (b Z1#/, _ +BA/C,X N0PB܂r  CbQB L_~ӃЃI:XBEd |\ #hЅVY7``W;ttF>lЕ:/h@* tAGF*"9"icxC^p43B( U:(XɃc !@N2 1py,?&PS@-Ij֔0ٳ:Uk'X36a yH t3J3L jf3}yG{.îkx |d<+Fs^)e v"M~:?(V*79ܤ e`b$,' ^-0΅sc[1./:f.Jh4x8.W 6g '9 kEH /jUԁp a^v"P&LL F@U J$zѧC-WEt9"ߐyVX+'5 ɐ|D2ah(npRpP*Px5NOX z~Su_IK@D4Qމo.?8x٦slϏi5l 7z=ٶJp1+hZ7E3 #Qa#!}̹X@#`?#>A8՛ C==Z0S< @/Ԝ  B+l 8?x' -ЁFx² 9B0C24CH6 O.1,*K(+3: ?|;=B8 $OÒ'@'D%DD>rB.CEP64)FKÑ9#CȀЁ)hQG <0:]+s"#89p-408A(#`Q *@j -1!BG4B\ Z9 D8% hN<G(+8(`G);HAK<0H,hKBxCؗjEPP->1 ,F ;BF TY23 ).9=pL5i$!+Px` XDFEX,V0 PnV9 AB27b_;v6;?(ù#%B`Y2bȀ4,ȀC18 P MNHWr y%Pr㏅ pO<=^XD(x/r30T]d^KeŊfxkXڵeQ&guFg65 e0 X zv!'uN (gPB壳eXhH^}hʌ0x~@ecrR&dMvU( FDi#+ .X~Mƀf⛆e n&oO>葲O1ZYЁ+igc @d lX&t^Ļ؁ *khyj@.jsf琭XxjfkʴP&xki ?hyj6F@<،fNJXlCvж.. .ӞNDOJ"4;ږmyضm A–d`.uxM HIfRmW={9@nfdg$ )ڣJa} !o󾹺f9f61ؚ8p'pt Z398 # bR0oQ@3 =5ȶlHq$6xK 2)h'EJnBPr&wrC"?G\ 1DXB".BDh~ 3'sŰs4g^ls98fGq2G"sV f&eƘGNz鋦Kry*BYMV/p L0ljqkBh Pjwh[Z3MК} Kuf ,nD ~rf WqPvg*ŵMw ہ]L…'< ! /xH1H,ʡ HSuP!3|@pPZj ZDq! "TiۦfmGD.BG]Үd t$d8u'^^"B^J |XH&Q&8"#PL`FKF8D#?r! Y^s9Tۖ 4AF3VE$~,[ E|&<22%)">F"tA=? [(.BE(g@e"@ZsCqpxAp QB x zcÀV[pN@x)Ve$\>{`zkp_.7 Cnn,:5 nL yN[" `ԴW"mkVl 8+P>` H֤/K2" >D& 4$Nr2>aGIlX*Eol0 T"i2(:r'E pSZH 4`=!Xy:iMA@, P4#Rp`(p nJ6$7Tg9 oEP 4b0ߢ%n [-( p, @sˆ <1 ]Wx ,sc]*3U"^7a (⁠MK \R7O^!$\P/} c%8 t1-D pj΁lp;@@͔h C 0f4&qxJ*^:OHS_@W@܅&cGdͪVZsa,|"6%7>pL<<-h|9 B2ʘA4^<_ #aRlΡ YH9C-HNA |e{@'a XJ=A"HP7AJ/Kȧ_F@ɅIP>#z` r|;(B?[$ uX @dT*`@,L˺'IsFHA 0(><*8Fo_WK #l+)n 1X o'հDpʍ09ОIL*&9A -D% 3hI!Gx|dCx5@0)d'p/(E pȘk r ]ܢ[2 y ~8AB ؂Mp f N p_]4Woo()OTXB *0T 1d<Y b:*]~)*:!Ey\ ,P(M5KtF>žаOxkԋA -  Ȍ<9d .AOrDLE`h_< l)`5 }@@ j p_)A,1Йk J e꼁%Dn p"@ x B!&  uD(!L.A!HP:DTEvQ]I6B ("%X!V(TBHI<'6b&nb'* 4$dQ)b(ǘHX!B+ƭAiT 9'SBL U,Z.(]l xbB&H &  X@6*B+XQH(,d(l@W\$X9>PQ(D@L0 d1FqU \K-M@5BБ|# ,#AE8v.1'@%(H=@"$XNJ(A@)NDj:J|ם*o6ZwhX+ teG(}l lHª|t\DVFєLÌK+:H, dB& Ixc%lHX1ŒEfKhNlfUՍnjBAEULvA(bEX-+c+t"b-h-מZ@((xx6-k 1 RȆĂR)adB-h(ML&)q†L,ZLpiɨ0.}NZ:궮.v/&o"m 1i:foXN҂Z4Zl-mr/Ư/֯//PL( AQ/D@)pHD}Yh/' W,L/@%rZON!BTAh9HJd LF & $M$IԊDBL77IdIE,W&)~1`9ӓ~⤱[1*Z(A0{DOpB$[ZL !S!qI,@(P2"بBK("}(C'i.T 2װ|2*+WJGleVAv.0H2+?+'/@0 l,¢Wp:VsODa%A#"rTMwDIՎz '`k4x,R/VO Um UIOLH%;H>ō5O@4{3B.$WU;''[A)pŕ'|A!B @%gKR/uS?uTUW QVV3PY7B@NWRZuW3[#xLLDw/ 'NmڞA%wN'cWJB;JD@f*\ QU^PV69e0L68ĩO|bq kSk,qC$i: s?} Y܁}vih1mԞRB@_.m ζA[@SB|Br"mxgFO%L n]^pg@77Bdh<~A(Qxk.{~RJa[wm\7qc6}"xeO:،M䯂`e 4G- F gGU9H`\=\ |KA#39m{Ġyy[; ,4qU@)/ nR uA(hB&BkUE#BSSavzSt l8!p!0vjDsdf! (K1i֨E_z:2fDz+8J$COx 1R}>t"] ac| }STi(dDkxӀnVyGFM@Ha.$BtA*yXB ÂU&f&|#dPL*E\BG! ;F=(0|3g[l/(gK !r #L)d&0̫xA*Դi&`t5PA),Y`HKBhsŔd PX=(`H˄ `Ƅ %,IǵdKDTzs͉2& bM%aVHG"%N *_ $@R&t\@€ \rdяpԑtP U3D;|1 b*pT~X& HR "g `bx@E#Apd ~hl!C }J(6kY6h=E.(6V[Qɓd5[<`),!JB1n;/#oW(x喋=VƵd/Xx֘8R+$(GVh|DF~ !G28@2qϝId+\AswEaL䛤@?UDgyq, EȄe{71lWdFG!E27PQ H.Ȅ!hTrmOp9oE~ݺB,@0fJ@K+]E+Z P` ȃl¿(@BJ`H`0ń\xxDC)85@jhBA.x!#I]D+@Q CDQ(` Qhb[rCtVP< 0`* g[D1%P4@ŀ@bHcHƆд[ ,xe 3@0iIcpB WKd@O ^j7*1 #NSB%M R%$uLQcB QAY=m$A& P*Km!')ThߺFD^=YB{l:R (`p_&`n0 @p%lA !t1l2%s B g'A@`gDn>q`fsZl xvd6"P&lEp PJCmNCdv(GRڌ;P <@G k.c"PcYG-0C\b"Bj ̘N@)x.7mfm 0T&7m7%0Yj/ntGP]a d C@gY`c`E0DQhv85sNT )tЈ'xg&Ҽf,qS|"aOz C lffWȃWE#QhfGstT9,rA݂9 \C (d0 J >ZaƺeZ PlB@>(olBH.H @YT*ތB,A/NЏ62``,v2AᰚT@B^ -`@.Z PtsL^bPѤ1p*@d $Ih Ҍe a@>d`g9ZV` m%.P<*|"? C:&wʐ ҰQ &a PYL 1 j j(qm Dp얱0 `LG~P @ j! A& bBa~0`>F'HT%mJi`DdNb&D&JUL{.I`D%'a(,Ei h>'ŏgb/ʏ%'Ap'4A8D7AT. =X8%&M#*h@Gb+C"0z'?M+ nL `db){3D) .)R poX&%'m/KPrR2O&ʨ//5†f24$%phf ` H%/*@ۈ)rtP2:G/fSId@%QR8MSD("E$8f,7 Z`h,e`@<րt2C5tC9C7tO&aN,@E ,[J6y<L O3=8~ &s.(ET= `wBDdbDn-ctlDTIOdIIA8sZ apJdLrFISpTw&?4 ^XjRA%R g OlGRCQQ!F-? h @HqFC4uR (Gu&R5tlL>!rHCj^ X=jUAjK7*@NX XO`f&? ZnA8TuZZd_3/0jZ[jոU5\7`^ ԕz)^݃ `pUTHeWό@H&- HChv]k2? Fba-JTd" B Ds 0p^=` J̸5>Pf7RHGlDTvD3d'D3eDh_Re,QEGh7˩80>6h&Ʉe6wvFZ}vȶdDAG$G<&H`bMBU'p@MBIZWw26w@Le,rHFD3` 0`efeBAbFrD,!gabg{v.7vMVŠ5UwaA][D,wxATuTttpGu]r 2r'raDTWlzץDTCg7 zA̢t%A@3oB,d@@:nG A&oQBI.0" =8B1s(Dj 1@/"xXGHH Eʈ _ހ8zaZ,#FV .w=O3ia( 2ҧ]I8Fi)f1ÕjD0pUf2ti}>D@<`H c %jH H(O `~q}h`>.j]# `@,aeL*"jj,'._= @zLw9݃y{YM_6YRDXx|wx6`րm;+$.$wWC ƆjBi6fm+Hx!LF$Qyfy_鬃UTRwXZrFUyOXv0(ZD K|ks|5aD~ALB jtB!:2twl">[jF2v^` APu b\( ֗zZ堢Zzz=sB" Kı=6zUZr(@y ,QwfCh 0( 6-W{qf`k[?o$CqD#@j<Dx>0DB^{%"]">|di-j 78v[3yEa" 9[*njpu`yoFuF4@A1GlTi){䀑j Q &  V?a{H .(Mx*"@ñZN|*0C ?nuҀ,! `ٺ/Lel&<UD4&v~ҫld >!I K *ryT}X+L gq*w)@`GB!0;MV՟z=W4QyxcĀl܌.^.2- #D@9CU&(D1t@ D}  ' dxN  2/m`x&J2n IBR*z~'ԝ@ ZD !J>r-D`+@+@ܠ\(h.*Ԣ NAz5t&BBރΩԢ2v]߁BA 0T䝜[`Dݷp8 >=.8N`J*̜2h:0ƙ p h}8 ކ껅[AʀAn@(~lbD3$]`@i߇d",]mGaXD e$KD%`ah L!2"PA feЈG("¥@p20jd&p'ee ѫZ묵ޚ+Q DNH%? *d!k|G F2{%@T'hI kx U`bdWLXb)ha XJ ,[[`CpJܶcVv ]("oqAh Q[o tI+(2_3=t4Ѕ(OL541`JVpol@ d 1s_W 490Ax \!A,&ؖr\sGj+LM4:oס‚/}5| ȡ#DPx+ZeXW xO`x1D!S s8ݤ{0 PaHߡǝu.2[NTM`/ e:LB!: | "#PKD ^0K4 Z6SJU`(@rJ 1@i`G8f PZB as@ m/%4B\C:Bʁm?AGX +C Ea ~ȒE*@h*oWP"TBwr7cT@q'zQaBK$Qȯ dBfC67= Db!>D7!uyrmY9\JsC ?QHUF0RNEa;gԇR  Fؘ}\C+~ Rܮ?!Y3 r#:8V=E\ P0/W۴9$[TLɧ])KT@ NQ3VCx Mep&}8V$ `?~\hCs ͖g)U\3r}YЇ>H7$ PБ ɧ ͧ90n$*HYDT ,`[r1B m{-kw5PJ3E*Y &}2P$]pmDо.0PӶ9= į7kg%4` ׀xS/17 7`jFANQS0wZ5IOJepB7u3p .j pMw$twuP ~q[L|g DTtCEQN' u]xTW ʄws $)H9`퀒 Mc: )v}}@]fbPG 1# stsT'='UDPCVT3R܇@~MAXIφڰ7 0y` |uՇ0{@'vk!J=+g7׸U4rd{:**bH$T-;Pb@qeTP r"M %vR@Y>$]']; M ZZ^Np.A )pypP ZhoU/^n6U!:`@Ra7|% > cZ%n&AkU`/p& #$eqDm)kEp x H&0 R(4NS?5n݁UMP!@ypc@ƾqCP +P{6FѺqu\GTH Ƞ5#*"{I> Sph҄'KRJE2*%o tI .^?^x 2| EX`68H5Xaɐ$s>VA<`jLfʍݺ'3(JȍP!PBVȥdPn`(mjȁ12C2b;@WG+Cb@X 0Vp&N Khb @VpiW7 sc@NX",r0X"֣733`KpXA@7_>Xr@w"I RpAÄ4fT@b70^ դ_[q.؀r3X " !>0:>*( %C4@fHfl7ˀCs!D 1 t)0;] 9bc#sk_a]E\A#7NO}Pď1@ L_޸BO ⅑aP2{z*? !>do3q1 Q? & 8[v% ?DP`0`P\7chC &CBV0(5tPpЩh.a 7pwyK^p 1Vp H # ?FK' I r=f7c 6L3i! 2xȗ;! qah B53"HA$bt PO<&p̍pa)aF8 D atp. 'ܧT4t(`I"A:?lAxB &Ёy-QB =BP6蠣(A ]! ~6eEχ F%v+"8 4 Uj(p90p e r P# r@HOt_Pu XCT7U8DhBevPDpPA7iDv+X` @ARdx,%?†0)e ~PCHk>Q5rX ,A`H (K֬ s(pFTX]a{ 62MbAv99ݭ 9r(jVQPfಙi]bu'/-Ѐ F!99,AN` &` ey0x]iyNp0<=nr\Jpx5M1$o:Da'`ʄ;)ݯ Ճ # #3iFB1- &sP u۠MCCF<Fi=s4W,fpLR$X[qḩl@>jds,BQD @'Vsc(ZQ 4(ןQB'hb  $~ BV1R-zY_8 lfV·UJP D$X.Ez X| GyK&vNnX[>q22  \yi#?zH9XV3##]K'>hӄC([FlJ|J'88{Gyhǭ옗'Jt4I_sU! RJ"BH Ʃ9y$ ز K{I%} J5ALL1 KL s L, Hp䣎I|H|1X'lF̈́?\GP{r#DflB\Hu,<&y KP Otyq(! L u0[L- NyA BdGMPE? A |C;MGCE .<Мt]jOPh,tQ!yOhTOQ#HĘFPH4 t)̩>%؁VTR).>0Dz DR ЍHԁ+PIJxD.4;RXSЄ ǘDT TR>(En>:UDS- ,0N[4JO@1u4b4D3e}JO0[i}5aExO&r˾W8# ǘ9>CZ8E`=90I` 6 +0$!Lmm+ 6O~PeC65ccdC0(.+ٌP6> eX0 D:eWncu |b`A]fKx|8yeuy0.KE`9_d7fCgeFFafoȃfSP{遀6 >eCX!̳Or he^VS{$QRQ@"\ftC.<@QD0MpYnEx ΃ͨ~mCA& mE8mNlV?B Ӫ5 V>yV肁Ȁ]W ("<VY*hQ*71a. ЁC@..[bȪ(I"8G hPPHD(36~>x%d5*o +OTxy# BPR pBQ8P&x&P׶ (G#(5Ъc'78!hZV #  fb'Wdisf12&g3y2 ,'onFxp;PU3?F(?)rrx1s#Ȁhw߂FF'qv0[`IL7pD_ct ݐ(4e0 a)m > wՕ>O$Gf Cw^vאi0y!lK _|wCCt;kKjxtϖ^BZ\dT8mf9pd "p4`o(M JI8((_ uOgjyWZ)(e (rϚ EoIWF"<wd h0C x`%WИ(O7< ZDG(4}n@hx-&OvNq ؀  Û8A6݀ l(%r]42 `MpLjg@-&겔|~&&ت_6o`  O0 4cF:Ȑr%˖.W>ZdR􂉣^ J:j̹ONd 0bN+"X8>x@a-3Aԩ[A)*3ǂk*Q!4-eLA+(Z|~^t1F o @<+(T"JT+XnxPLb Lk 4BQ1 ÐLٲ.pBEkƅ o\p)!x`,Ptф{V]{`iŪEr}i<1kflͶXi90 xJ%#\80uMT  w]h"&@O)\to] MPU (Z :@̰TEAܤE]E@dlqP|p7!p xRm@Ј hJʏBL) (Ɩ`AX?D +D4at4gc`rHH#S: `0 )$.1!鮻hKʱ @.(RXJJ4~QKlf10 ,j!|n`kOޔW~x!1Ђ'1qeA A&v,Y=!kͶA@Z'Cl64+l7A}O2 x& .p0ĵprlFP ,fL]5Tز=@ D/]u1H ̄":Dpkr~wi ohFmK$hiG!'@ 萉(8ٴ,r|Ўǧ{2 w&,RBoSap"`:49 Ril!V@D"SCO%Pж@@H@q9qR2]pX͇ Dp F\pD`,OZ!I "(|`޶F wXCXAS.8q 'ˏz@(>*1xB)H#2 wCp ֮dFa-bNI;j@'J 1E&A)4app"B tLbcbJp"ݕF ] F6'm;8E G * sxZA`LJf~8γ\[IEɿ "R Nh1( Ь3ƶAĀ/t7|q 23*Y)D^@n( D )rMoX@ si9! ЃJR-`VJ bDsQ!`ЀJ:xzbPOZ6 Q%<@Y!ТD0WH`O03Nk2U 8o}π":QfZӛ` W A a_sx<@@PcMvE 2;|$H2"E G^}!ptCpuVxu_|+ -a(PgJ| `EEP { ]" %(L z` Q #Z  $ ^P"0^ ,b?d@1UB M Mu[- ; O&@H1A(f Bz@#XB7J>r)@fQY ͬ Y4kD贬!& 5c@A KԤFY:*M ش#`|}NA Cܚ0&@'0j"Ŝ`@`dQTrC8[17>BoKpӚ6MX8YGPDUb(C|P1H@g1`ρ#MiEXB$VH=iC$D=v(pz!H`|&5g ~Qm7e!l`!6N)[@EK Rb ŪfVx34|&`Ye/il v* UL/@WV$`0 t ѴxyF!Z^` jQ<#2әN\h«ʃ"yU4( @ZjV9C+2*]I|j~-@^ [ 8@8,UI@eP _M-]<y_9ڞ`|04 QD#@ R 0\H͠I ʟ @a;qHy _݀8!ߊE@Hb` 2_ ^J8R ` %n@PAIJ > ^\9."/M a *Fn`0FDa\ JHc: JSa@&d"mcD`UlX|H:>cP8#0W4`ܣ8J0[DS|c6l rtAHA&X)>#HߴWP#W :BVDVZ "iLdMڤPb?Ed @pHX0:$rJ=Z8nY/#eB-h$Mj%3fV?XQ Fh@#9MRbI F.Wd@ @P"7.% $xX5U Ȥ\:cBfd*RFJe#@#udZnZ gNQ0"XR*%7ekfi@"@@ @ogp pgqq"gr*p> Zc( =:^sN깏t@) X^8gK`B⩟x*eȰD|Zt~ w糍^4DCr@tF`{~KLH k)hcKLQfKP ]KtpJK(h Yl(*CF>DFa8QYF#8QlH#&DQƠz* i8ID@FJ(h"D Sy~QDte_ s"d߅yS(تT ,iNɞ$ğ.Ն^g|B* zڰ5ڗ~MVJ~bM̖(HԀ@tLcTA2!SgXrAqh$jD@. (*XETiGD:X)HwcZ8Ɉh&/ @T3I,B/4lBliKL \HQk2؊5k UٿJ&AK D\H+@KĞ\ A) q|,hR.:z@z$N zIK*ATdi Z[(: I:A@O).Jw.@H8 ~]1$ A?K$B$SpŭPY@.`̈́`MAnp>Id@&@#u!4 K1dM'1-1977 t4@NŒh1K001s\A7`[+t,Do'e:T! h"L l}!Y Z+X<#,4( D(B+̘y0a(bnFsFHI | X+Owx8ӆ8l B#<:I .rpߨ^G+o@~䇳Q @F'%p x/AS0A/ % %tt% trD& ,B/m(dеHs̀@&±LE@t% R3P4(%p.yDݎXB; PmrDMG!BOLC](0FHŜuO8`^bK^+6;;B&\coKa$(_@g_r@vf8ZMX/ B(2u'Rg_ _eL('_e'HS0~'`Z?"A&XOjMgoKO̪" }*ăH8%,PF\8 'aa@#I6pV<@Y`3 E a'oϋ.pc؂AV =V8骲΂ &,b8J` 2 Lze%iKB)a8IH0D JE2j x1C/2<M45P( JE +<|QDNJWԏLB13EԭB"Ib` z8D68i-YP"OvE D P'.h %p+b`0&JL?f@`͠>P((F /j iD(# &c(Љ'6 `%ֳ(!x)p#"( ڲVPD85j W>ҵ]2-1(6DT9!vOc V4܈AwgI[MJZljՀ& >I 2D D. H ES_9ALB_T+\sb0+@ rW$Z0' :}J"P^d?42[Q@P0P7T bd9]aQЅ ڙhe+V,u;xEAi`Ԫv vD0 DW20XXF@P2ъRl%Pp'Q@DKNw f\D+0pR(, jfZ A6@Q(ICZºh%Z ).,  RUZQuB00Au.t g8L@Tm۩ Rn @d2` f( y"o!A{$`#sT_hE+8%2Q-D  N\M, <t9le /%x`J YFL *GNFd%@>OwO**^PZB >a$D* Ư `f \O` )DTXhP0EM&@ o,a!@djL1e$4J>%5X@o^ &1Q^ Rz=[Qw{Q:o Gp` YDn}Q nDG`L73<<+b$;e/#=9 'V3u)lXx ks+aZN@ VβtOYi+kKcG j,JR CA l!@ Ȅ,N Q`JpP=2b1^& V5E]/@Ξޗ_](Āڲ/cV"z`&*1N`  .ZG.kNJ` :f(@a6 Vzza7:a% gL `˂&bZ@$D:Vaoebc vDؠFe#؅&{@ AϹ"Zxi@@K5M\9(PDEX%L2 Dګ8J  =-yo`ob `/ a[ϻcA r{ A 䛏Q(7; *\$@2Jo^ *V"t$dr? .pElb?h)m_HL;HwJ`.{nZ,Fj&H ::QBkP +_ qo˽'V| *@DN,\1#ͻ\.K՟n&nWp2 n^qqV+'n'+AEd<IHT(yC>gZ RM">^8^ t4A1O'aa 2VW .~-;'9L~gW>f *:B{tf#ħ='('jڙ$f^\V*2'` DFI$x.4),!t>Fʠ`Ѩ)p 6N@b9pDhA@B ifEXR*ʗBDG( ce #hT3B4J t3l&F(."  Q}@j8ZJ6DH^8(rR G!aUdFǣa$1%f?:_Ѝx֠mx,@ D;P[C q< }9T怏X ޼\D% ^ʰc&*x兟~@ E*PX@Ł-o ZARJFJɳϟ@)@F9 JS  Js(G.m'`8J@jRNWPH?hr8J/%KlZVaA17SfΞ̙s_=*A! OfBhVo8Db$<)kEapE/qD~TC?0GkAV@9l $YBnbLdTMH tj!V@ vDb *D 7!#0ڠFi< 'Oi a1 IHl)pGZ̀#Pp@B5$'XID!e_N0U*KDbZ.,^Y @^H0d% ̴Va(PjCd ,Ŕ“T\jr@089цQ(4<Qhڋpj&$!P$Ӥ*hRc 8%D 00 …TX 7 >A<a8,*8 &[a 4ȄD"݁UjI!&.P^U $&ZH @+4S1Sp 'pQRgTGkR)K`vf?k .p}(0 #Z0'[iKZc!Dы<`m-BZ3LX)QP(EuϢkTO(uV P ʠj TV8g tDOZ $pj+zHl w @@LcdyHEL(_2 &qФ `c8 eQՂ"0R s* ,@Is#0@i@60H '8nN^F^M2Iz87ToNrV'oA<@g{&%  *BNϙ*び'rgbrc/Q,JPF\m=jŽF?GH2KDo ?K//x2 61RP`/˨0%#@ jw@6(1hS,EAq]@0I("EK AхGV1X8Eh0R1J)4C|Õ^rpDnuK8EW PZy0SrБK/0|2&D0Xc2`9 %#5:Pt2<Ɖ1|0kR` *pTAF⹛1R_p-gu(voepgmI4$AY|h w9YW;ocditIPvh$Q vh9q$w #b@$>Ko1v f fI*jR&r#@rg pry"ghnV(S$`/a#<@* 7)_dTcn)!gMR&IS'fhdXJ;s yZ*')%Lj=c$qFdȩl'Povj٤v!:P#y88 zg`10t{g=! )1(w]p1ɺ#|@1 ],e:k]s_#vC %@R\ WTx"P^ 3` 𝃤E'LK]p\R Шr'* w` Y [J=g"3dp"Af] 5 UXS+' 0U;pe]Pm߱%u#[SjE r`X'skϘ0v{h4k7'ҵQr0H-P7먿=r+i/` %p0 p5XU{n]DnR%#:}30e :!@&kU@&x|` |2pU! p7teQZ v [_k7AIͧ] | @E ? | yiuaEٞ|A01TDp 0 };ܦmKEgk2UVWP Z D1`>/ h"'Hgs7|hB@Od`7,bi@0,~@ÞDi]%-m4*E$B `FOAp xk[e?@e *0C1@ @c R3TjlTPgnr 0QRACbDMco'A;^p@0B22$;|R3j9aRjeqo =xT0 P% nH3ߡoG7ŽC3Acpp~ %UcteɦR0p|/P  t#3t0,$CKٽl@<&[>G|Ip@"-F=9&}leR 6aG,G0b`eIJ.F0T@E p*F2FԆ ,L-T ]p0TA-1ID%2+3 :L@q($pu͠Y8e+"AE#PbR1cqNM][@=6@ "R/^R$g|Wϲ)'a P+" %WJqR\ U |;*C޾*|#m+ 9Î =6݉_ `MvXmQmٶ"9&k-!EQbii7,.E ^+]P@,/3~%S KX `@~U~\ < i }_XPi$&PC@k m[ԟ SNG4& 8Ġsp׋=@(P eƇ8wxs1>`+ ] Q 0Iڒ n@I] O*Cn:XJ`Pwɶ,Y\c.u` O4f>(#P+ Jxf9 bF :sr000둋ͽ}}*!*4-0'ocwhǢ8u ! .`& C9`&x ?1|0h\c'c+Zrу︐KI&%Q N~~p|uw/yߖtj>}6PJ1`o~^>n`3Qc.D@i/*^ü=*0j\ 3Y.:~`Lj,n% ~#p$$$0@kP^q'?/c3?p=\uypMe!㐎W*@ ,(  ,$4B &trj5nr<@#F ĊhX2q( ʼ@RMq "2C NHLs 88*V0 O"a?p@<*yB7zOu{ƒ,+p Г(:68/AK<1*+(3,9>@+^>"  XC@%`J8Cҩ"` >6'? j,c(2'~h# =@1`T&QMF2!4,Xp & B~b=7L4\OĂ)@A3DtD,"*Y 8(tZEI,bӃH2D#2T_z9&,HED&q$ +\j`İB 09*9P}4nb v RMxU1RCDJ#3(ʘ@]N =a мi# F)&ABYfؖ "#8@ !5m-qLh(c6ʼt9^8DtMr΅` Q7bBcW=u zx8vЁ -i%2F MD1d(r7%Xa4P(LZ) }B S'}x.XR(&Z1/Q[,! KAc¤׊ACND&d"V8t . Xp_ KQ %S @` 针Hɏ3XDM2\  zRpR+E$$UaI6r 6(?ivSJpŅ1v/^+*58@9En<' `,`h2؊ )}R rK<@P@"Ba!x96=EQCOKa)2I ^f`WJ4?RъXlfI4ؒrY <;qf(g@*bԣKCQ\"E1s*EJS:t,In΂R,WSҋZy)SL WE+KS@ Q p%J47V5, (|(PU4> x* Z* DeH-}5 S;]ʖ3zٞ)n]Uc`@R I<)P9!a"2EBA b آ8dng }֭HN'$U)UCbʺ uS沅#KlP0`X-Q׾ů\_rH  Y 9X=g!EOR;RǢfs &P 8>g ,. Sl,+-hpOVT(s`PR$q A< 4q2_sQ,8 DebTPx@2,B4|/5^J 4+ѬbQ6g61OE=jRRuT&*:uu ; `€޵|bm!M`/  E}tVuڀlh"@\tb^{``vFl6$@S x?M7%߻7W*dYugSx{?#5ȕ"̀.40ins 8w$8VbBg ^`>b@UQ\^%- !WU Nf;]ߨS.!u8@+u0w]ugC@ևT ?u^r0:FpEApo 0;u &?}{hЊQ=U ?epkeysnF?F0# V@0L)@Oǿ`7d)@= -P?Yy  k@X{#P<`7):;6@+:@ح:`%@ {8̓lGB*;] Є-#@=8-H-J@؁M=NeBxA5hVExh1TȀWYX?(-!HLǃ-qJx&x]eMMUЁCHQ%9hO"8H hP`,ԍg=hfuVi+P 5՟&y=G R@hVa׳l|y*PnN ms=.QWOXHVb9$ CDb1( N!.Bʞw,c=ڵW0צY8b՘5@8X2RYn׌iUbF WC(PZ ;+ЁuЄ#*g>4V4@hMT)&X HG"010)Xŀ+]4֬I=5X]` K C09M^5D]_q#|%Oj}1x7;d q [hxdut<Nᷠ~.{SGDxC| JЄ΀9d?>xv Yc5 EsҌ8l]2Ǩ!.;`_/&.EPhzDؤ+phvvCXJD&hh~>h!)2ȃ %Hb`+H&.QХP0g ` IK\Q@Z+*8! 9 Z%TEe ِUu`fj=fU n:n`ֺɀ.HO"9x@C4@8=MtoiVdmͺ5jIǰҶZlƐ% W!pbG guRN~XI[a\yd 3f_u.5F u I#h>7T^ 0! @Fu!5w'Lu`xd'`1㐛H` x2XlC 68|6Toθw^܎#`9T3_)z98z-2a;_;Xz)h#0&,Q@?íGp#ǜ10,; R: 0NO687<.}xc+glo* ,@KWٗ15N ؂>!$|ʷ7uMá|7?'5hSٔ|Ε06T\_7( @HvE*8Ox7}H֗xYCh>(L( ޔ# H&# J4@ OPL"17`i0 4 ߌ8ab.5k}1@E+`H ɁClqYD  pHeLC(:Qh(1]h *,l !>d"rXE4~ 5(xH~l@~H၎< tA; K&R`!R0( Ҋ%9,\ GXH+]n5Q(W@AJ@crG(~>)(h (|pAL4(X|xy)DT J#y&D0PT`gk*D~N oRT"Ł`. *J(nq0} 4Zp(*Hi8K2<{AzD("~00Bpgmƻ,QjCq:+, %Jil4A8=xa-w `^s7xἕ@x;C0㊁ (06>o90P/ A3089d B&) z>8 wD@&)P0dyw e83A{P2h܃!tp"T Eu+ qo+Q:|yPw9u/xKK pZ 2` p F|Mx# vx@." =2DTA1 7NqSiZH<&b{'> .Ә : R r C,Q!p8'nzWe'pqS(nwFp\ޘ=&ѓ \!_JPr{&4YhRּ0Vi `q4D&Dr~LP NS<'>O@s$u)dCt\RNZlł՜J%3*@ ,au.&=)JMZ ' #8FR@&ĔFݐ8mOzb:!B@ :.5Ah n}+\Sиҵ`+^WM;9^#̵q,>2},d#+R pK.J(Oj"gV 擴Pl#AJ;]r1xCl{\ݚdm~xb+0cfL dgeA(@ޣ+;;E/P|'!լ]0a]&7lgߑ0d@r(l w w@bRޯN?N;D/@NW!(ϟ4`gU˹?CiiG 5,nL؝ #r`RV@Tg-mj3L mHMlqOFb1a Wh w[wo>wLI(1dC,i& ] c .P4P<\ vpKno)i7+Il \'D`սtA`ʡO``# $#G` QV {G/`j1R_ć20\zRn"7RtԺ=$l) fA3g<pAA# 4ߌ]ht & |4$܀ɜ | \F(dB+d0Al% ~P$dM#Xt"%B"\C\/G ׁzұ`Nj`Ψ`P(a@QI}` uV!r(|NaY ,D@BM VGj(T @,/y@T&G*Bx$@C8$D荤-j" <LFtGG~B$"DMޤ wL'Є]\l@"L%4A$@ AF#HA(A%SFeK~IX!cMآ@^F1 Y ȄaQ=fc`Dd F)L h_"_AN(\%hȀHxeL 8 @^@a1> He$0 3S * ZVeŰmȁ E2 ԝl lA\l\ le_݆@AcSAoFB F@)08E*U> @-N4!m`'rw fS$ ~xN@( K|0$DE䉁D@%xbh8R^YЀL*DG铗!$@PD piҩ\ ܩ%܀ #o0A V{")D!OdLH*“:H @vЅ̌@PD1* $ e:kRgv3.j'opR ߭'D`%dmaIFY űAì \{K4']^.t]/0"Zq8`%8D+@ $ FH2! IHpA(‰yK4 S ?8܀!D(#PLt"(@r"Z^AC;]H05~r4ށt"   (IVeu W1HxxJ1a :ȄVTSD`&8 I5K= |M̡ rC1:>N i"P^p6E b +v }'ȄhWVsZ^CAg/#]32tPWd W.Sf8X|Ve9h"9A#zԝ(iÖT8&T&Wm84A#"ܕKaiy0PS/'8 "`;(38 #0ܕzV @e/l6@`9XB'ˉhu`RֲpC @.`m^dˀIȡR%JPު6-qD@fVD1!`a Є"d p g X*WЄ(09|zGpC3(G4 -K" iA(@ъ5MQ}uٕظ]λ.A(ZFyO@Y(,^sIa׼Uo$La G1@ 8E!XLP ` \B@Q(T1BerBPK1%1%@ ħ#԰D%`/ FB Pa,4B#-) PAQݐ,d|T9 DyQ%#l={Ф}(AT9t|P@ D8b @<#w{7ao~8>"cˆ \+؁&4qB`p#xƅS[?`^zA `!P<,!},#W`.Z~/ǝ s}c+Bt|QXLyO8}3 .DKLw#C4dqZĎn8`O a. KtH 锎.tlN(oR`S8"n`\ |<``%Pj$x @^ VVqhT,Jq2," 2@m!`@*+ 1 .:Q5@Q"q±TFq @C-4,jl%cui0@@=F+`1@%\>c`7+P@k(4"r22[3w e&2('L`5G23s3W5E^7u/SN6-n37q/4!mh:B@DBD5 ..`m-^ pDhA @C@*2 wF "aL*`*e*h;;=`5OB),ʳF/c .^q hhĬr,n)?fh\;+:Ea:lq">iAb?=gʀ҈d&z@@L .` #\&)`& CF=-a*Q q-S=o)$I'FZ ^`qj f43;W( `($èHsMg*G`` M @HCHK(ؔ &w35  P` Jf Iat bWl @DXQVqzՠ5" 4Y}59mUBA BB `&u7.^6S ]pϢ|$L"2o2<0/:QR UQD)@F=4bՅY g7GOr- ^L!d`Ed5_*0$fd讌@#ʵnf`q!]*!)vkT 1^I4KMl`Nr9;& &'JD*VqhW Y fVb`!`f?A,@҅a3τ`j[j b(@gV^p1Bs9 l. ,hkH{$|W |\%|@%·|·~W;F#p"{}w Ѡ5` Ze 06" |B!hP/^ X'zz_(`K8PB63(Ze ` mH <`MĂ_V6!*A HȎ3ע3Ɋ=sq g'`H̘} ɚH^d  %-|ND+f b[f|&[ /@bNJ  f 1E%G3*{D+U h@-۰DEӄO| @~ zA ^B  $D$:zA9jgM%, {$Ѕ;׻d. LL MZ93N H`#2Ӳ/aUJT\5^;bl8Xmdt;e;P`CJUt g@jQF}}j&`l Pɥ% K4^v7&˷?UHhl]$@ m2i'S_ý~N@bioB A… :|1ĉpb p4H1:PH8H+`F

0Gף`2?x;p!0%8!`"`P} & P")!^P/}3h@,`2%L,L@k(L%e!Р`6񕯀&pzG v{~b"Z%Ď+8h^-H SP-%3}Jpє$Ozah=gv%$t;Є&->Ƣ}@?!t(!dh 7@a1 X#@`bP08 25`L0n6!bZdZ@cGZ?0 ^ 1U'9`4# p :O`h5P  0Uoּ@ĴLT8YcqBg1,%3<\!^A\}xЁ"^PO6  +!B@ 41b!H E:`29\`[{I^nX!` ,hh}sJW$H20A>d-Pˆ@&lua b=AE"F0QANPU".Oƀ= ĒC Rhc;Ѓ}N` p6"20o! pkIh0UCJ" ! b_a֬c.uq;dT .~j`k| ^S=yb^M=Kn cS%\-D%LL0O4dn8 FPib[pC`PP X"Z0CPH0؈Tpe\Vs~pk_3\~4 rs Ёp;X0`Z_AtV  p;J=H h~\]d P p!d (O#0G~w  0KT 'ntU0؇r(u4u nS(c!uҀW3& leih {f&km8?0x(nQhX@p'00vly?P0zgz(@(T'B0x`X"/B{^hhch@Xoȍbp+~P#u3`rdTpmj~7}@-!GP``+]&jbm1@E%qAtophpm|p?V+%Pd/qO òW. c~66\ ~}@b5\{p}2J88<2b# `!yPp_א:{ &g^ 8;`q3o1:G[ȏXsV)n+;c#7wf|T>ncxD.t 07E1j_<kɸ:Yxy0h#i0y?7sQXK8r0~,@>nW7dɟghByFu0d KeWAqa 3O~z[RС`, \p@C*Plr.%4`]0 0 R0` [2I$0QW0rq ]8g%l x1D` Gpsp ֓~P~`?wE]a)O nIp?M:RP3Щ '"HQ rx27!:BE'@w ioJE~yXwvLpAGB !M  h Q9:)2y' ,hЮs]O6yP@7]#p/p* 'sJ7 ]*0`*sz(`}kG:w 'Ԇ*/FTP =ӭ wZh:@na([I9ݕ8Q PRl-Ԡ0#%'ge[jfe+0qIh{jkv]0Ш~ ᷀+ok00k˸ฅj ` T@O0\>&>D F *=&Pa. b+%l@>(lR\#sq4s-z2 =gxqGps~+/2Bӣ~ !5r As rVәR`M _ a}w+ր(< h( lʘam4Qu-+;n@b4R{~-4U-y~-3g;ٙQ;#G3s+?@I' Ze۽ۿ"p''"3؏A߃&= `A 0 S痟6!ݘM'`U^V?1*@M/qo-HTBY. ,% u4P|{ܴܤץ#* Pr>Q$.,~1= _-(7~6.1#㯒=;>М,aO.#N>@"+ ܝN!;*]7 R4uz/`ޣ/ PlA>Q C;rpb@Y鰠P-|hi1ZkP-^KI |Znhg&{K(`j4]D0 lraG0+p5 `@ O-+vpdL֘DEQYb 0[K<9sN#k XaCfeLXaF+MCf@D i1 cȈFE0DȨ@AB?Z Bh dcnJP !*b.<6KEM h8ҕlOF@dF )Hu%l=RFcUvf<3q?CdF4BW`wXwᕗ^ @A#?% XСFxB t *((kmb=h>GB?(# @8fqzjA h$ 0 (tp$r f>hIsT>Y S] 62@F'dJg@ $$`%4FB'BDB,BۡYZ87`9Jq&87s=k4 ˀ,8#,,Bw %%0`D ?8}je0Ȁ-x:+B&AЁD)x h&c]Dܰ"$cg<+ʫNē&N"F+P2E X#H6gt#0 p y>8(08Ȱ7 xRH&5Zta05X\ɒd=CRX+0K#` ȿaI0;('H gD\{/,OPG%p︸Z||g+4U4<" .hE‘ʜ$Iɟ|H#|QKȰ\X̂hL q,7|LQ*)=DŽL:V `>t< ( $;P `4 P*h0, 5Pp<8J ^Q#{QPmR<9S`LوO6j"Ri`"TJeR*<%mh\ Q>Г7d[OSFF8GZD7 3k% >@"k (nU 88 غڤpum=vu Wz  :d ; @VtweR|R1nc.<0cWJ# H b:ыCNU,(#5?X m[*5p xډpN xZY?⻅ڎ5 ȄWcMq펭ҬMڼS6Pۃ3&1& pixY )e[?zU'%y )(=GjWM8H;Q]\sXh?eXB \&E\:@ZUm̝$# H9>lyA ۄ^%+8Gʀ5xsÜ__.j(S39((+bȄL8hZ4pb*Ʒ`+P@*.d \*H 0c;TT07E_`<dAa=䊰bio5dHdIdJdKdLd*W_P܈SP@# Ww0%R e4儳XO68wex۬eesW[v\%JDaZ >$:5dv5G0C@p__"&d>ι0?>T)]IxŴuGh^oa Pȃj0efȤ+0 uFh0)^hpfu1-Ph[`W5~gMM EELVbKR7̄i+ vtia }~t,[RȲN]1j~i`jj}C9,:/[d@k扠ٓ 0mVSgG{|.Z.`-b\爨k !H- EVGSgl1^6ZEf Fv3l&̓70戨2B~+f=iz5(9 `>ADВhf="nh%nÃnNC>5^RbkF.5`3eafiU'u}ۃSdb" ^8 0A'qeI] ]7J(XpbZ0,Jrը][؁ [PF3tqu Rbp=[Na ,0q5QW%˃ekH PePusOq9@GJ2׬m>% 4 ըZXk49B@n_K76p\rTu,'tlD 䌉  @<0Bhi\6 o CJD>@F880howJݩz0,FPSi!2ى+$LPЄO0'3E'@(VyoQ( >

LTN ? |qR|.P00CIItb&M r%C>~\aĉiĩSRZ ġ+?!O^'Yc;+Ll"H"D 04(ʂZxQW Tp7 %<=M#u"&y“iHL@*%"* 9Ђj E#$ *X/x 6@Vࡰ!-.tT%)?10[ <$X&jS dp !qň0 P h! P "Ky|\!q$1q k @D + ~1C%FDE,,4( k=T4A(Iଳ!$L`[ :C 0a y+ЮJ;mbKN P{y\5WGa"%(MBTqW2|1سC$+$F0 0 y]qfƮP)p ((/p0 " b,eri!0_qAG!Pi/`2f$#-" 0`"W ]%dH@ p +,L(4 )Qn}+We|X/X`&q,B4 ?'3T; )(^d-0P3'@*|pAP142RX @J8Dćͭ)9hb%|ֺ\` s蜌pÙPah=FUcRCADleHĕȇp Udb XĊ x V-a.HD`"adsp Ql {X1a=@ /?t.!kr!z0 ipvI {f9Р ,A V_DžCd7Dq CYPĪEQAm wLp H]Є0+F" e& ``X)ЄٶL)a׼%rta Lֽ5x«,paE-(РX|( oZ{ϊ!T@V yh y%rEV碦$02]`#" h.`O sAP[IEf;Aե@!$h͠ RM k@C$Rp J; B bXǾb80Zَ\v3A.ǖ UK?hСe{7 Emd9.v |LLXaj=t X ֠Fg-81KZa8 REKҳ("45\ 07fĀdL1n B#B%& mOaSv\-L:/{\,|p Nyx.)WG@ NlBNzc*@k@:_ L0e " Ep'8D f`ep';.. Q/П{yA ɱz}I}ozFp  fK#ǃwFi 0\"HN mF-)h$LX{%XTT^ 4X@E_0Wp@ =ԓΚ 4B+(`Y+ D\FNU`iaEv`C! LTHYDY Xpa+aa" DBb! G_+B(a%'uPE-  B+U%(ƀPAV!p4-z-XN% g "%lj`%B(GA4 0A&4((H X*d&Jz<#^, L /u%۽=fB5,T$-D#\@!D>Q#UWP4^LB52!h"[, !HX,TA~\db=^GM^ 9"KX6"H|",0ZHc+ b;˭$@,3"XOFv$M:^`B-H#7eY p7͚@PP,@(D@deZҋ́fQzfm&AO@nS`nzWn2K]'|l'r.E'U xT mz,'gPADa鍋Gg8\h`4] E'Md < 'yI]<APiz xrQnGӁ fAɐPtK4_pAWx(s*y $P<}ADn@ԧHvA@y{"'g7 DhJi^:"H~"^a@TVVt &Ko ^'xKKAsp|p~St@x0:WFhlb.l|:upG<pY(mrqcYDĐ僧͂bA&bG1pB@v&@IRq$wRL ˏ"t:V0q#J]d_}+e|]%gf@,2в ;(*@)M4BH-Iy}T.4|]] "}ԧ#|L|oUf"HASI3ۭ  4F[xaށu, -KŁlV?ʜ"K Ƞci& ˠ8#~KN1rZM!`"Ш b! L-CF .29By`hp#<C@a䜓N^Ф#Lj:s>d"PB<0 Q>[eѦ"5>#8TV U)4 >ʪK.DXBa>Љ@A1&c cYTr:2Ȁ4D*J 6TB#*8^\DA!"` 6 S8,BV@i=Vh2% _EE< ? 4xXel1 a@`V`\-a 6.-0$)@֦CFaQ4 /4rx!%Z_}/@@ ,%SC#IDBB q׀ +g.(C[zaP Jʴ@6e؍pڰADE-p ?а 2X AA$0s(c餞Vl*@8G|( 4 :zF taaBg001E G,d Mɕ'b+Ts  ^b"t0+(" Z,$wXAXx,Q`uy!V2 0+X@2B)+S rF e!E)=3 `FbX##;җ63A3aL`aY)A5a3:@\\؂ +_ aYLNqF@,/pq0!&kUFRFBDjiWb$ " \d4$8@11W +4"H07{0 HWAthE R;;,!RP !bcuTYϚVʵuQ\j%4 ! 2 + ٶ%DqgPn`yQT.z0з  E|.qzMjszs4@.,V嶄Ār&J% Diz a /aK bt{rd2"N`H.B0-D!ů/ mȜ냒2H g8@ N< Qj P( Wbtj, pЄpzh ?K$ 鄘,bpH P@m @ p3HmHA`щ07,-h@@ -е @P `d z@@ G&"`鎔щ q| #Qq- 0p3֊qh<@J`Go@-j"=0 b_`kf@jImi%8n3Hq>>qp3ڢ-ؑä\K6 `x9 hw0/ ('%1L(6A "#E76i7B2#YX&@& f@ R..EmRQ,JaR2Hd*P/ >aM0- 'S %2j 8 nTE23)憺B0A36D4MsN T78s2 jA ;H ,4899;\d6I'JvJ;,T;<`h>+7?S?}36s??S@ޒ7+@d lpL4A#TB'B+B/C3TC7t0 !.-M(DfDL.QTCS CH)Fg<~TEqFG!PN"1+ XIm L&a5J`( NxbI;^NT MQMgN6@Os"bCO<3.> P@vMi,RUPJ?)4Sc?ׄRBDV@sh P"U ,N&Z(P'܍Vat.WUZ;U DWy3>`Vӭ9rژY*<2 T\[BmΣ t "ERo ZH $SwbqLN(\tM5^!L-1_ U]RpvdNb#_?+\c o `uR/ 2;ubP,1g:^ DTUe94<^` J.@@`r.hviiGV:ikmkvD` VGlRVii6v ܨA7,E1#V6db82̢qb->' ?q`V\="(Wrr8~Q(OtrzFN"q;E*@"h|*ׄt 47Zw`!+>o,M֖xsqSMjWvIt \G Nqt|p:C!HuR{e5P H҄vLl{oѱwpsWv&17e/$Agw>tkn /+?f.X Jz!NW b)X #(BZ!t# Lxhy|Y'2f,⣍M@"Of@(NyH*7ّ6Un6`KcahׇhRvΔA*5YEf$ƚw3,J6掗ƛ3 6,o4~ҩi  uQFvϜpg,asSZBX t". *,!B05; FeAbVlL.uŚWR)(emԚ[v`W`d ԚO#)[`9d>JA K/P ~`  |>BTF'*H+p>p B^K?|FN b) (pċl\Lk` AH  "|‡[tDq n D  H|8g&8<< {| fܺi^ t pI@ Δ d#a$Ym,~#``oQPuARY8ӽhBz@m.7=2R=?Zn Qb;`D#\na))V "\&|)&6 $$V F@U.&%F>Bt;QeH) @E(z+F]xq β%ƥ8H}hxw "bh` 0䉜f3M#B]\> -9)I7&,G\&><$>@&+2ZH'%4= ĄL3xH0S;*@ɠaAh.d#ݞIQ@)`>x Hȡy>I\)$w@`< JeFIH4}t*a >Lի.W5e)N\έ{7A+6>BC).x@L DG+t/`[+L†?(oN%`U"e\M`HqJ-~6Í`Tp!O`ى(F P(bM+cjP2h#Mhde-PƣoY&ucё0% ybp ]+Lf ( #Tv|T ` kT 59u}*v)ET t0iΡ o\Ap!7 0PB&8PP qιB0"n*TAd'wЃ' A]HT\ᦨ0HT!RĊ0'e Dfsp]'0PqJ|[nw|:Z]E\b] ]x!+jSƆke'LR*j9r L0RpC$w.PLMa+oK&!Ȳ3]\&8#'OD0[/pȡC%XD0K\?asĹKN(uWe⍷?!Ꟈ>z{P&;(>h bE[!GbmQ r<!]h"$?$D pB%0)?!*&8 N% 򒹈T,q(HATgpG J(*DhD#2Pkp @؞N 9u;$7`$' !yRA;E+jV[WP._>H`#BV́N zK:/s%zGPT%2+_{`L& h&\= k|D`ZMl8]h/Y+ ಙdKB , J{Z0pD'DyHe(l֬RA.VX+$Zcԯ5OʼZخ67D\„=kiʫ_[t6ĤOX+P>`En2Pr@6UJ$X0;*z5$POC 04 "&=`DLY)x&֞Ri&uY= %*x;pP"r!= hT[`-M=GfWQw& >{,O`V@iw;&<`S.w7Z.i6k#:.Ġ}H'` ejIOO@Ͽ-`i0KWxX׀" } 00 @+z`I%i&vG P w}x"f$|/!؂Lǂw\ @+8wx`SiWf)5X@  AaRF0&XikᅆX+xzI'6h$qт p`ׇwk0mf81S U|`Ub $3s0W+;P ~"|J;AS*^W/ 4}G"XL8G‹|=Њ |PYHቍ%HWXy*8|2(US=vS.b bR$JR:"lP٨#kak@JWiiS O@sF` % p@bgG8В0՘:2 sP94)Wz:oD#0F0Ypu$k\b#%k-M@5"3ٓa+)Dxi+i :<$u4@]y"Y+aVkyɟ(")#fDS"  y%*CZ1'tA1|#`r #PQ;D#h5p=AJCZ;U7*{G839ws@]p\3:`8ʉw6M`*d @_P"leJbRf&'`u 0['T(P=eBsR{gp  tl je%s0~`B`&s{ @ `P]Vy0 zt> J ( \ }1,vv٪+Z); x1@B:M8Xڪ<f(ଆ|s:t!{cp,N2pB- [#2TK r`ɪW2D5+{pDp `e%+` !Lri{a*j  ~`dJX1$2`+`0@$DeF`e{1[вzH`"pmDv yJ)P%v|-з Z+$@c]|+JA{e)yPjq#P{K~;@m"yҩ+d =pD`ઈ4FsP[Qy 9DE`40` 7n5qjғ- `+ش( Rp0:Nƴ2p1UTG' 6t~AIc%JV!2'P@{zlr7PZIA@4lA/&gcW6'M P 9'L9/b :ʰShB!30' OÿK% r|* #VdkMpS@TL`LbP p9%l :ң{H5|8Ė: FE: җ;s*"1é"f2% ڪ%!a@+\1ȡa<`*2E$5P Pb11+]0ui|ϧS]@-X&a۸ĕw2ׇJD0E#R"s=vV :@ *Ly/ILuٽ݆!}+@8}|001 Tc PxsP |(\a!1'Q `P \xerr <6k4xA#DwAu pb^:9}2"] 0lFs B`4чiu[#`bՂ:aԂ# ;n+Pn,@V}Y+0daQ * I|>Ki0& |Ā T|v6P0\|[}{j 6)r6!^ l@p4N*'@vѲ :(DG/0:DaP-郡L.땀xW"7SRta 1E/k—$2@ @&f$(0rp4 cGd(8`_6$&P~ Rx Oƾ /O#f~z^=D.0&m4`n=!ܤ `d3c"a.p0.M5=6~κtK5zZ Qk& !S,}a&cP=)BxrN?Óps'$ af𩝒am{Y GJ gQM]Ouу h^eXJMt8pP̈́&LaBD%,ȁ g @oJhq 8`$5.]A ]愬IC/exQ*;+\y/hg8%VTPL CdN BF8 ?c"Ab8A+F CAb`CE|c I 7LQ8)N̴83LLDQK>AIbcbZ8ē&, 0l̀SC`FJC@<9N8D J4YAMG@0!WH4,(A12p%̬GS R~`2A7`YR[M<>!CTPI'*p"@!NEb>ʁ @Pi%1HBVHADaAۡLQZiŒ7drbPDDCP&`5P@ *  L?zk6x?,bvIĨ mMA}ȃ#,QFt5.n[' & D < E1.} vz[v/ X)# X \t Q괧R0@PdKic@V$`*{C,5BwSLp}[:eN+`p)P  vQ+ f rkS!dg+/ne`Q #\ek-O(46ɕ,`8Ha 2[h<0@'ƒKI +1RbF Yw$nYHXT$1dt3,H $ė0tWaY(vt(!MJzV4,9b;cёN# ˆ#sLI׼& ēUFW@ \(@!.CŠ &4lz__aD3WCJm n @Zg<(Vm;%A$mzZ3ve=[ :u8b>t1uW7o"bHt#P~7C>r9_dh,Qtt0.p} m1˭J 1HAeY-`Oxa 14) /u`&8^#]O2G 04/60VG P #XS Z'(2h?|#ܗX‡1a Wh/>/ G?}]Do2% pԴb6^"@ښ 0%C\R($H(w? )G*!6*B5A1%pR*-Z,A@!h*n꿃 AԺ(Ц7*VA46bÀ (@阃7`CAPHJ@.:QBIc)kB  %-, ( N@ @q:%f$ .P K zB\--,4 A`V)4&nC[T\.F8?DžA1pGr+G}Cأ>DBV0qDC;sO?~RX `CC0 KHA FCPVȃH?ȏ;=;6y9PuP]MPm9IP5QK mmx ؁RxՀ{[? "'o7P8O0eiRXS8ؐ!0P c!8h[0-hX> bCJu&0I)5`Bu=@5R8Eu[1'SMuT ;Q`otao̓LC #`\@y˰H L^i&9|x݂y:B` 03E PSo5M@/,X0/gr&5N\G]MEUc=d537x,mFD"(`6%4xP$%IR䰾;9C01 {]Z [G u/軬ڮm;5 ?ZZ#&kj;@{ XI ِ۟F,bN?MqL|s◃HP&X.yE ~G@ 8E-Aj9qh@I*99Ɓ)1 JL"_CL8]hGh' :  a P$O@⍔#/#x$FI( JX:ʌJ0m[UI惭KdHFI# @MKEXLsT[ OdXuE`_R@A1M-pH K@iQNcj:黨H?x.V NP΃:PPPgS셶lDhM]hxnJcSV7"AW1zxf?f]Ja/JVgoRiYU;I62u؁v4-Up到&> |@-!V~VD 6X1•i\QAr>;I\qx5EMgɹ$ f,g%x7r~Fֈ1h )ȗhhKꂸU}q'xd@P L 3n~{^tFP17mnsm6V?n&f,2wI/Νg(X?88;!UL ~$tmEg?0'1h%;"ʁx8P A|oH@=Vn86 qp#󚒅>K0M)'( MaIZ]1<#`*FAhVkZ- 0ms)s[1+kPX酁IH"@p?#ɚo)7,mL.vN+<X/kCu:׶/+0dZ>.x'X,?./7VOvpo!l700wv Hw\K@Aq rsG-yrvwvCe@ Bu?((k*p0٫'oS&89xP(C8`!>YPDj/\+5pufo%W) =PyyqsmzhD>*I검"pFגqsbI,4@Йc ; =dGh^8'ysu\,! <ȷD CȀ/zǎh</xzoPX9(zA6Z z'!zK o{GƸC*'Dq@,(a*`&%pEN "G0ʉ9PPsF$<)3@ DD6dDC6qɊ'S"ZK0f 7r+גZA1!Cؐ@-\Ē%1Aڵ(<,\cXxG06V-]0J oҕSĊt/d$̱`όo#2ie '\̸KEYq`%X{S>FH )hj5g7W^)e8pKHJ+ABsbyа(+TTHJ+a@tFx%e=d"x=@`Q'zX 1&n :A.r̭@'|,p[!C '~Eyix2VȂhWFTT㍠ ɤ R ,P"1`q@T򃆡" g&8i ta#(򃚤 )#1X!(\!D{Ѡyc7Gf3:ZR2pE]Q. lԧ9J7" ,g @Q6k`0fX1rM\179D$g}y<"x|q]9,M"Xq1r ȳW-B$8,RWPг) =T"D 4TU#{LT-}SC|8}]rnut'S5wW'{0X};z$Hk]JYg0>\U_Ȇ}'qTg# U\Ñ: }Mpadq7LU[>ײ|#M <쬮K._\}U"I8d$(L1?]20`j.l.Oi'>axO \geX$ s[ .$;[,G°ޢVP$% W> dcZ7u6$ ( a;@ bh@Ө5sNq vhCl yk\PA+n<$"F 3P#^ț bH"W8@'$gpB2)N%` |%,cY1ʼn4S!8@5.@{ @ a"a d s$P0iLȬ /yh6dK.P\f;l4MYb|΢ Qn1L$v)U,Ot~e^@TUI18 8hO=Bt夙!T"YH/gЮx=d@G)@,g #R]h BSf57Z+ KxpY! =@ V+;ATBu$i,sծάpyX3zrac*C, >p][rN Z77V֍իc(:p( VZVHTj `E,-[@0MmYr޾65(H'85#QLmv[+]ONG ;j.P+W{eg&>e e P{8y`C]rL"z `[b*01 f PYe RP^ԢAӊ<pSb 2@F 1j ncbTT#qfӅa CKEMR<ҁ^'Xe[A&2@[1 :(LHA;04M4ZxBEiGCZa~P0.ȁ=0"gs*@$~+ 0r 5A%eAիc0]V8͐@XW<|!a_B(A%fp8)D6 4 (NԩZח],^zԧ~́ ^7]z#H> #x LZ-3| r2m b +- ݤ;W0\/# !n9X~0Fp^qUȟ>:@"t(8d7YD%w,3»o2y0$4=<Q Bq<"܈V%(P !_ l Q/0"0"#LX%kqc!MBNA$i("T@:9} ` ඬ|XIAB! !(x0@͵!9e 5&$`W+PMHlP t]^(BK#pH%H(`sDY!_!@|(@  BB@ W "d" ( ` +pz}#,'Ad bBWuԲc| 'AwAXh38JĀ]BUp(a\$_tAL JA%㺜 MwHLB.d%0%SH&H" FGA (9f B |#@( AYpZ\c Jc N QQMdE64,:#!( XXL$!4RMJ!\#LYLdO6!4Sd 'f@ ,v Ae~!Xn$@XFBV(P'Tp m&L-,mt4bӮA&A -W%4P6\bRf ɘtJ(@pApL@"@쁅(AǢj*B})_lEDY"+6 $.)@.*ЂDģ8pژ0`NI%D (U( TP foxD Bz)G ZOp]!Bu&ߘ"B.Zg@SDXDȘƜ.:+"A;A2n :Bɵ+*cU8N| An+n `Jq`Ep*f o{DH}ՄQβN RxQKAB! f#A0Q$Wt5 '# Xr 824R$"Q(sL'fhDDf .]mA KlDNP>k 4K3 L\LNpv3sb }0d XT}d>E1\"TF {± pUd @tL23U:Ii0t~+2Aj6 {D,D< H!dT}*A$*A?WOܒȰXS3H`L^iDLd@u2?Z860A B h-DZL hHy;wվ@~FA((tV(p=d B£Ii@ x{ B+,qt|KXO[LN.D/ҳ@e,.nGƊ!@ĒJ? @E ^%`YBĒVt@H@… ^@ 8UGl`]4rH,C(L"J z$E!hEԪ ָah%CPu7e.X\@`%#īV02-VTTp {QVt=@8Y֭ aר0щbiG9юJ|TFހЁ M* ={9@  ZX!ZB , s\8I}2R[ LL4 09F`Da P2d.ό&"PT:Ц2i`4>a kB#Fv6st& Oy l^iISP+XID-`FS:/ `E6@lYd4T )#t;"H Ġyɦ PȄ8`fUducqrH6Ye` r@ZJoU@k:SюVwJE.zSn2:̦@о*GTiE"#dIW]WZ,-Oa9gr`@21`O 1]zls: ,ZA++lq0zBIMmoˀ4bFC ni׉Ҟ6u.t{~ X4bAW{dHG+_XB8",_dm'8 CeC>UD,9!<``&!OaBRpßxJ~K_rdj4@D/ 9|!d`F"9U(``+;'B6A( د(zY'2an P$!,09.XD/z 0 ki9@>%V 1, 7@Y8¬< ZY7e@> TAM Hs5p^[%EP >)(MB EBNر]̽{ ­<0n7(J[G!p|B H C$\\4a@CBplC0PƷ D@jh[$>\: wCM@9-@ N!~`[P:(; ` 489g_y(jl[)Ct^XqvɕrNRpK@Cf :Hc xOh1C,ZD'r_G@y`Gv'@AZ|2 ';k7)G aT~M&Eun)o 80 }}bI~"A Xr+LbvmV~`rcN P>z^ e8֘ fr,)!*ZgzrX ` B HjE1h h|J @Zb6|v@:POx&:&FbFpn(`Pc<`/ h(F@^ʃjPV `A е V<&~">d >$ u^D rP^hcCHp'`grEF@_ 8 TlmbhЪR 'c221oGLqqZ`MOnq.51MFg` 9αT2@ ҬTD4 .T`@Χp`~ '2@ "%5@ O2`h #-H5nS"J&m zl!;3JAL& 8c`j"RNJ7jlR !X %>BC<F"H H.r\+.V|c² 0D{ 'R-U 5 --HR"mJi"0 c& e0/ ƀz6 *aNP1YDL@ Ar !e(t-F Q7A#HnR'@t F@L S?UDTFU@U+?Et]R_[SlNA t buPJAilu1 `Np ހ~Z@`HV`JŪP@L+#rH7 aR @,,QQ 6CU @ P!u_ ^ ]#^< ~6h3`@M"F=N ?`f &~ `QV0uvTZ!]#TclwuxWG&Tn( xa 1 Cysww@GBd@&yMnwG7ld -bW8\#*`k6"v@dVPU$&-a5DA{i sdYcAO$Z2<^ "[<Zac?MsQU R} ZJff@@[QT'<':CZ JǬ.EƷ|UC@a` V d;|=E"[Cx 6$⁷wBcwO|,>a. o7W gB 67h7fx~nHy/"tNht*Dar慎7+D`qBtjQFE5|'Cbid77Dv4 d/0`ff:#^cY|d-HH-'$ f.7]H,B@gd =hP"EgoQwhxHҊC '2^MXcQyB7y/&@JYYgu'+%% f1 Pzg@%@dC$sfCV:n& kkܪxAzk`R2fVYa @ҥZw`5 1bJ$,yBm{ڦxDtL)'"T-{*@'!prLjyaFdžwvfwò"@{{F:UchE*tZ>Z{Zwjz\+͆%D{y g=GuJ^ET6[5hٜa;" Pџ#$^$+c%z)}w $^f[~/Z0;@?Bv{`wLh{0,<0B .]ct y=oVRȹ` r Q@E5*|o'ŧƧ@f˘*\X<%Xh# rybRf <+j)@^ d`҈0`d2\&Oi< DC8]27Sbi[F \'<өsC' Fwנrz6f0`F/|qp@@uC (.^n^t/O~c" ] zf z7 *Ofcfo>wu |5_nUpcs 47\~O Z7@=Y3V]7ޖ0#-H.Ɯ,~D K21-70:b@6 Tfܰ}aG1P :tȠ"&D=Q`VfHR?`YaD%9xS@F -eW4#Ŝ914"KOgp@ A p=D %`a"($P@8t,C %hÌ;2$`m2t/.R  pE.mRXc,5+JE&̅뜨wͺW8L;@ĉ@9Øf`gbQ^pa"sBC%v8ibf4dP` 4[ÉCe@sr\@q u1AR%K!?`":KAQHAB (bħ:dbA@ C JFucnf"rX  p~bfGQI( aE  L@!Qih2@tI'`B%A$ v}(&1H ZJdh0`L*&B ꐪ񉅓=kakxĐ뮽*hs Q"W@HL*"Ey:B-"w3tmL>Y%ʷnT%L0!(&R(P10%G0qB$'q L"0B %M(Wė]j{| [!̍\2!beGXp<d~ ,2G;0 r\q%tA9j =zO}$8mHB=bP Ș0cxᛁ. "" (Gk)#CB 0) 1PZҊ _8Oރ8`lxñ$ZT4qk\VEEsS=X`e 3-#AX_u tg)r`r8p6\@i=$ /#5?7h[ˠ(tFF{ưXʠқYPVs- Nqc pfoL[cCDto\PFABy b )4L5[3ls X~ `sp'T#8/+r xT'Np; q[p+p>o$@6,ٸ'EAB;K%*`eb;4@@Ȩe6O!#؂_6UL:-pPf~{$r8|o`'q'GO0Iȁ2 ">0`k`P.)Ek?&!7~( O0Q?hiΨx(&Nd{R$o`edNkB !M(y'e L 1d.m!~ LOIfM '2 `(( I 81U"8<_nIY3 R(i&P $7` @ʼn)8&le`zh s]`^8Irґ]?) 810V R8)/R#N`L[@  ZH p,jw0$Jzy@[YnbN&*zƚ\Q hƠAe1 ^B:2s|$=* ?*RA3E @~p$ ZJ6*L*xmEK p(qIi Q(%&P@~ y@5e+"p-yp \Q ?: |D""7ڥh$f \@@0wQ0)2X*aL%`4$@y] 3$F@Ыy!*JL*y`:@ RBMhJHʁœ5b pBZ 0v @=?| +9`q{rv3#qB"Y"{ k Bb]2gT' O+A=O+RA 80P{"= \0 j s!LX 4S?a]k| |˨dԣ8@:w˶ o2=8[]j72i p!v"kN+$j7H8V+D W|?19 k09d1g3E=> =JeXRE}{ֶ34S5K(zVQË$L8Gx-/ 1pQk{Q4§2 ,iI)E@EeNi``Bۮzދ+ԇ8L2y-.wAQY,ej80^~kq 7`b ?0|p~Gs"w:r2N6.1ԳA\B# >Ps62*. ;88P܅j q= 8b ;ouDf& |*" \a2UNqR`. p0)1n&4J #QDz$>NV> v B m'b EuDǎ̀TP e$X+ʸR^:)>nuŒDOq7:D1"Ѣ R[Q i( OpIuVrGA$'(3 Bęj 'P.tQ!`:1Z@b|02 bbhݢkZx)C:`~pb)3uP1k H? Ro0H/zƱYnpiي% rs`% J7nش~  ! C7l䛊K_ D0J)'L3tBoZS HvE0g\@~b?FS:H{gPg|W{@nO_-VG(P$K{#gEKA̳=$&Ag'S3@s> (:+bTR h1i`8p   HM~,YB&BC] d8 t9"jiE 2TB`SQNZUYnWaŎ%[JK1S%<0(lڵZ5ݺY+FXD@E|2@u 9wLȓ+_μUJ B e蜰?N&GU.^Z`͝ @Q 4!$c̛JZ [p!.OL+%h^\'E2d3&@c C/' LH7Ȉ?@9Dz,.;IACnb$ N$#SrI&tI(r*#2ظ,1 ܩ+u3P01 7 {j&CN`h#Pď1p㵮MND<>%-Ыbs$ڌ `b؃M2+H.*$1a1@ U&xozC$!O[Z*?N > d!R(zZoe_Hi.mWqjiGȡ1 b8l Tx!ʭ@pD JC#>y Az`V|B P5H`V3A(B! ";@' (员jE( Q A!( #P&3 !eKQ /[ \)h"b|N*?('HÐ,OTA-!9Q`QyS*Pl@" Pf(D(`60d'  L*&Єvd6N:AH>AS ӀTHT:" ]jR0 U|!CfulRs@QDǜ #N# :)@T%la {&(? OR#rlsX:5BP Y<0$oT(#xJȃ>ói@b}[W%.YVO*8 &UL:8 .͈5W%oy{^V)} 8@ ,mO[W6o@! ,! ,! ,! ,! ,! ,! ,  pA*P B|h0D CIɓ(S\ɲ˗0cʜI͛8s@C FҦCu4SLOׯ`ÊKٳhy:pl[vnܹ} ^`{ʵx$hǐ#KL٬~׽|fgLyf93=wv+tW?~ +ͻe*8D #On@ "$s2n\:sǙs7P;ӫ_Ͼ=M ډ~}QG!>W\m$dݗtu'VhaZDA%DЇ| ~FզE,B΃\h㍍MA  (H@  << @Y%| KefG}i)H@P5 f}5i懌Ipk8[*W#N"|YLŐ*70?,P}qFV ҜJi-LԬ#ߌ","APml"(xn,ϸKEj_ޤ562 ӣXN-꿁 *R.@I[jf1R*2؏#|z@f[2@E .CJ6 kp} BXx79yɀ~ drF6G +D-` GG0r eB \P7@1Qz)O X @&m$L ؒ 8z(qB B^&1}On@[I 3z{Ix>я~_KF$'(@UW]dK4pi*U R0p`.igN(@);cʟg wYx|Er)'uz,"4}e,@jҡ%Д")tU; iph.c,^7H`ൎ<.#x~RFJ$:k^R @B[6TdDxfD 3k[G_p #FϐOӟ^B G5RJN$H@PAI$!Og y^L}( ZPOWgTtӺF٧@:`b1- :,+C&ᔮxdyY8$!a '7kMjR h :ԔɺoDIB\ WzZSnw̔@h!ؾ0U:a G>Ա G %$ \U `:b٘J8=N-{`biG4@{{{,Y@@ >@Є;$zRubqdcZ'cy@02 B] <^됉@@7A"N$!N %`"ʅ? LiC @1Э$a VdM1~#|<sifa$$ zl\jW2/XCmpΈ) )hKڋ^$Q|F{h?h!/c؇n[9Ѕ}F0pG*Mlz-M=Umss0Q B`@TQ&(dplS+VثZ,P2ɑ V`x׻@vT+$ oM}m]u$U褦͆ǽO|*x1ЏO[Ͼ{OOOϿ8Xx ؀8Xx؁ "8$X&x(*,؂.0284X6x8:<؃>@B8DXFxHJL؄NPR8TXVxXZ\؅^`b8dXfxhjl؆npr8tXvxxz|؇~8Xx؈8Xx؉8Xx؊8Xx؋8XxȘʸ،8Xxؘڸ؍8Xx蘎긎؎8Xx؏9Yy ِ9Yyّ "9$Y&y(*,ْ.0294Y6y8:<ٓ>@B9DYFyHJLٔNPR9TYVyXZ\ٕ^`b9dYfyhjlٖnpr9tYvyxz|ٗ~9Yy٘9Yyٙ9Yyٚ9Yyٛ9* :%=:zhA` iP @c@P c f!iةY @dIW6@Qhe\DP 0s`p"q$[=A:s:ʐbC=p B )P(%2x7x)Т1 y4ڏPrp+%`~0a4;z#CZ+ %I**OGp7@-;%ka %djdǥ0o8[0G$JП]Zyzq ` DR1iqxШ(J`1QyVGjU+Z2@L]Q dW'1=ZZ! ,! ,! ,! ,! ,! ,! ,! , KiH*\ȰÇ#JHŋ3jȱǏ CIɒlؔ)MD0 sd`N> _HCydK6dSVGHG;PĐڴӎpHY<hU<ӎU  8Йi3v @tډ|  5e@" !:Mփ<<lMҍzPO: @eP#vD[8{ЛNģjAneܣO4> $BlelS ]"‡@등A*I;ׄ]=^ #.4=BL:`=a n;,3A=@A\A (@7gs?=t~=ZQƠ1DpQEyP6A`*h3gL] dmj-7v77Z3DRD ,\YΠ"@Xj=qj y72ײ4{qpNV2 A`Z!=xH0ai <@R >$a `Me. @pI }PWqB] &> Aʬ dF6Ed{8@63 ajV㚖8  pEW<0&d@t6B`,t! e :2!-/ _Pm@3Cx Hx<ṶO Bv@RDA(,n1^2QCz#8 dc ,דlsY$Ѐ, x {C+(!a" 5E?Gz҄sCً' ь\`>P8'8pDP{CP} :!R` =4%WB.CtC-䡌n[@DmN ؂>}8bJ8y(@HC"t7N09C̀BiPġg@!h1!(eHC =Iz,LgBӦ`ȩKa*ӯN3:OsqtpLno㮴0D`;B!yr7jJ M?8<@ @ |w?QR" 2G6z7܈iÁZղֵUh{3 $1Q E*=n[A8Du.tA0]m#pڡnxd  D .F$=(S&@T p2cL ± 9. ) 1P 4 Xs0Za> Pz"%@4qLQV &+ r x-ceGv@l.=&$XsJ9/4 .tH P9*f q͈́FiD ؁8Ae`#@@os`Lt>NA5'ȃ! 3惒sAGM'@լV6LnG1v ;G7 )g|!W@K* YofOÚ%JaP)MX V߸q\U4 cAb =&>@XŌ՝5̼7'T'w~ {ЋխP %H fָ *ZJ Aopd)8 Q ` hr=5ns~GPp4 ]`3GpC ނ$p̡s߀X>DբW-ģ =P^"zPF&.VxWc JB fFQ c) Bl# `@ @9 yz7k #0 |_$z'-7IߐSL\,!6z t9%yI 4o=~kG2 cpְA`YnA1qZx?r3R | h}c`(``ݒW0n&@$ gPQ9Ute d?5 iux@ d'ElXU$\uE CGAQI0 сJSD9>fYg012 (pi ,zX6rTuP 4׌߂J'Yuy` ԈeU{ڗ MJ{P#; $v3i0ؐ Ǎa @0}GWhKO M:z=!P ط1S 0!u^@݀ "h 6lPD0ʰ>嗀( Y-0 G(;. 2,1wx58U1lP6$$P X`:U8XfgB; 9eH5 @ 'wB0z jl v7 6`GGQE:@M'f l♠)AD_UКXDňzi @ GQSp`Je0.3Ra4 `yy*pW`/xemzpXI!.Y`.aq3`:鹞!z1p zCP @8iJOGhlFs0o@\`נ(P ]}P9y` zuY BQB`<{ǒ0 Tp  `i^3 QԐ%%R X nXCOr8`"PɞWpa: -8x<1aX:J~.` `9Iրp? =t&?Y9Z)  jr40 rګa  H3(K@à U 6h9>C  Sp ڭ: z_w857JvH*` F |D E@(Ba`T RDx ? Ec+",xDpJ0`E0 Q `J ab % JH t*lVR yaK 0(9y?jz2)> ݠ' hK< X{1ƚ*bKyJ%24; `G`p 7ƀ~R;J{ O02Psк^ ǫwыTʩ?BIEkw + .Sր^I=Y@'5 dl]$XWL 10"  a\$' [ P _F r8>`rq a5Y$@&?p+ 9P2LyB:L OA ` yRٰT=PPIa H1p"c D=+pb W$x,.MyZF&$ 1`! Pw`.IS [/Ej@cYW 2 fN (`2\pL<\zfHY@ "Rc|s{/nM] p`=, '\K9L0_͎O(x0 p\!"| G0 ,P= > 0ŵWD:x}\A0O\%$ P 0r(3^=Pbt#Q('U@d' 6d6CE6<k,Wo>0u]Jdy]-=T,ؙ=]s0 (G\ZQp(=p0A2gES3a/?m( `+\-+pܼ=ly@9[ hTG! ڨqpS Maa?S0V v  X.ZL`+` DqMK9G )i R`WyCǨz;~/:*\va  ڣp2 `V P(4Wml CDlt>15I1|nAXG&!$gcE6^=1dscACrvZ@Q IL0!.0SIA+%1 l1[z?뭾CAgvhvܗ{B3te@' L 1`rJK?Y` y _qu0A>]f= wO 0bOt%u~.Ze0+񩱙Xw4q!;=,(=p,$ 1|7sB  3QP 1 |U4IDDB~д`[An0co_2g.(aI".Y$tsvtfvJ ©qd_?_ JW%0@5OЍ?:KcpC9u~=c9d6i?z 8UGOpW c A< @{IAHY"ܶ! AG-`87E;V,` %Hh@ @xh%DR9H4e`(8p@A)26E&+v@ŪS(S$yYҭk0냥d+8K߽naZ>X!}բlɡ[e-_Ɯ93[50w/X; ႀ6؋SAh˧Sf`!\>~. nݼ/VcwE[6qkS!A!dzgǦCR;pdس>\c7 ,L"h 7<$   p!0*4ˠ[ 34SLSO?m (0élpp!>f rTJ=LG R 3feY1ZoE6WUY=g ]PJiNjx3ц!3<* 1Fmhx*V@J @'p2D<$U{@.L=0PZ `х^A)%% `I6 `R`)'ȁdRa2@@x.v^z 0f~icQ® Pv`V`QjiE&` RBj#f`e==za<N8 n^aE˃o^`ae? h*nb `η>"LJr`/d@eͿrJS wm`Le|)Θu}(κj g?cp*c(] p`9a^!ˀ 2` V0+J6AzJ I^HB  2 g#O.-K13P}"I\B Bmh](h@PEUS9@2!;X>(XV03@ ꡅ)p PPnL@W Fps j"X)Ⱦfnc tv|Ph6*# w@%`::BM=7\- i\cnܣ@ xlhS+ az(Q;&cp}8cT9ы急"9J~CH9 ` qXC=1 li PO(lf="q5?Qϔ*[JxHB:Ӏl $H0q8pDK^B)9e$IIKfE=qL{hM=ph CA&PuB:']~⊧-lKQ9 (! cF3!aXꐇ0;Ŭf X7 DXUh<\ aF[Wb#@*E؎vC) Fuԁ%ZqAFNETcG+Q5 @AE2@¡C*< ]c<~;NPXo{ -ȃR,Hp .- gE6wq>HEC!x=|>]A@s{890BsƱ5"R6 @ PZ"8r}`SA.>0]Lc=$`A`@$!`Q0qd8y@A3A x$<,C@Є64Kbg:9(PK>r|t_aP!L>ф-Ysl DQ p0z_ꡆ5tk&d7f.Pc b7$.׵[p$p Fx$* "T8‹L<8 (֊4 vA = WNr~y _ʲFTW1`JWmH dzi-<sEZ*pH.H[8Hjȷ0 h[M3\C($aX878 r8x 8; GT2}(0 Մ DzD?,@DpA=((˳dPv0U8恍g^R hOKџaLLL^> kFVLxăR VNV(d( 8=q"̐ P xiQɊ ؖɈ h  C F6D0 + ځlx'h" 821SxAS 4 $O:o m 0 i֓o`> >Nɘ *VUUhrQ1)' X NA v90 bB. 9xiqx 0y2Q$7,> ?xq P@}v L, ĆaȄB<󁛀ƔD"A'ln9&{(Hsp9pL r^A@Ȇ;$rUK4WpƚB^uи)J(>Jt` @@ T|,})rK@&vSj9P€3 ŰsvwwwL͊L 8M7tnjm|QIO O]8(u\ww0<l@@P/"  #P֔xhqOG VyC7d=^h"yL0PМ5_ tpa񢩈 x{ozLQ_=!l\l7aAiO{_{9Iьkyu_ƯZÊV@xIc] ͯlG̭o۷|L߮h#OIvjόz# Px@S7pqems~ xw Xy'uÆiu&hr`&0 <901b<.PߌBC V#F"=PFȑ|ʑ Zl`#1G"TxM Jc!cM;2shѣLw9U$ȬVl2&˫LKeشi_T-\lƭk7aA q`!ͻ%4+6޾2/nx*d>ڎ W-9D8xj•ckZ=1E[vv>X8Rjz$HP1|"+cHG+> ȃ<0;N5vc- @!YKA )Alj{W*]e\%$ԙ-`K4$4X%sTmۥ'n˭ p7=^ 4C 62uwp`N chY7xc@T 8c&n Ep^00:0-Z* v$ô`ʵU"=G=#JO@!N7C 2R^\ 07PP3$xC8:!7n,~GIO׽%M8<2ȏ~9ء{f-8!!#z#C= Ai`7!Lf=…4@d"~#-䡌n[@xEL `1~+BH@4G8U~#< ("th>A( cGh82:HB֣쨇#0ov9IawB#rXGB`8HlɊ+GXoX(=sK-YFr6-hsRВDkM;g6nZMO'z@IPslcR%g6zP(4q'?9 |':&@!qlbj3yS0RU=I` 3`[q(d#Ȁ P4aЁ#ѬeBf @1B ;uH ,$uGP`uu @4qأŻV'%E<խvU8 $i"dU C@<"|-ģ @"\(0@#A:">BQM䶰e ? H`#4x r 0qz &6]p<ˆ @W>VK(mM0}-*Wz~@QV Af*rGg@hGxe<4y(<'[)qiqKds4Ϩ͈+ç*j膅֡ g> x2 фe>Pɦ \<~J. C= hcXڰpTe(C@o FaֺN{ @`^1E  (`Mdȡh6҅q?A2a۬P]NBQkݙmt2@om'@FUk0 +\1̶bG"/m4CGL0zL`LP=ԢT5\S8x" P#e8\v F*HB#&+P@1$C q+BQ XN_3jeC$6g &d]Qh@W9t  ܜEqKTWCfNq"nJf3Ni3w8b=?<~1IXχoHQ%WH! x`!} @8>xAA7C A7!l$H! W2،'iaHC Y*N*bp TCDz <>C=D @|/٢  "! dxӞh y<ߗ dy͓lMV9BB/#^dFn$.\؉9hd(@@@$G\@8!4NL@A؏@@Ts]<*TAx1؁|A0*TM!@Л$X^<[%Lǁ DÍ\9  FŔa 2% xHb ]>@ fJf:C3`B$-mb[O\i9L Llq9d!&buAw\e (%8|XȡDL " %$ç:xAX t PCh#q\]БA #1=dbhi0X7M@mz@xL}A2D hcɀ~x@prgcF~ɖP8;= K^)D"_EhHGELF޸50 >U,@H.EVfDj)ԃ A72aZ.P$TA h $̄Ai *%pC@Ni%TUQ<ȁ4C/\\.4 \I9@PgCP8H<@a<$'"ddBf(x@! D$,A-43| 6$DA3B~lkJ hB7ԂQ+p+ $ A]p.{<4=B A/ (8dӺ`@(( 4[5 뺢@V^Mh>` t9 A-`-<Vh)m~C=A(mexS )):IJ(VdJ :B s$Z =D/8( ^n8C/9`.C@G <@&oC?I2_x0N1800HA5@³h<8Q13e>3,E2Ez4 b>dRO=HB\h= @$؂>(!< &̂>@ OF=T O$0A' Xˀ?!0>DHX/!#@A=>H?#2P _԰>p`׃"t[ t!$8փ0 2FXCAD /D@9҂ <*Ã#H@2Ҳ-L 4cLno^D$4TM>CCrD2_T^7^J`Dn M,GORLELJ@0/LV'F @FDP@Vpx@HhPW5 Q7 @/8 U@8gIv¨~9@6UD ĀJO}@F0`˸,Y76K50 C#Ht'(I:ѻhKIqLghL2X dP(X@VZbcxpRjC HNL6FuLȻTkN`Ob;4 T 2H;5~P3ZKb L v 0bJ_4e[6g6 X"- l9A A3@AnRx'"64>tDKt? |LdU4N4Fytyv6@tM_n\A=`A ؋R8Ft;i@41r:zL<="d/@r9Pt&MTEAo^u]Dz$C).{Wz.x{8>m@yL٪z;绾T:uıu G{(Rpǎ۴-30Fd `V|w9t_tzN8;PہPFtܜJ|BAP@oA tA G`8hUE XA\z (pĈ\"Dq"Z`(B<5,ZZ@ WlET$ V{@O;zYt2=0H!G nلhE-Ma HB7@@Cx c43y6 h/x,naB(!`Cx3]DAحB=X9@rծԣ97* -= 3PM9 ~)t p|7D.= ~.' DPpǨ0V24t{6ᴊR.\=X[.q +WĶ @h ݌٥ A(Z{w, OGxd$_ ơ.kd6 `CH bjB.<Lk  Ԁ ̂, ) t@@,I \ lA  &p.`& i*N0m Djcnorm/e ZmD%O\³6 b|CfO@, PA b/.1 ˑc@`I.@ c^@v!a 0%"id A A!.`"FO l6#e). J"f^c! n@ &za (`x)&0GT ( !q @%nr @+āNt (`!P^ƨ*a T3 ~ A ` ̢) @ts 8qe%9 3=% /RL,/@J ;Nh ℇ^RMʥJHXp(\X(t(O?@BO_7("ʑƈ|`"AzAV#I`hHT`j쑴A.-GuG3@`D 8. iRrCK%@L%b%l. Q,C!.y^$@.(L6`dJ>Wl**>s % sz^"Fp7N^.7* BC-{և`_bċ[CM&`%[ح3#[՚}۷. c.$)<*HJ 7S, .nլNj/,76돻~WY_]d8%._1M,!;!umBÝr`41ĉ+V<jCpC .lʕ␽l#()3[P0!{"^!׮J!$y%-UxNka1$`_Bb GrRțY <Ρ-' a/j!UC"ʰ!Y=4((h8 =H!>J!v״,@σ Z Fr1>O&DtHٳ]pIaw$îV$X!"ѰeQ j4P1P%D ~6l=75XdLPY, &qW^ T9L0z0(QM $FA(@P^.F[#m Ik$l ilm唲y%Wyf^i%QtYbl@}"@ygDg .VJPsG7t#@ȑ M0 jDGQ&L8@~3)L$v>L9(`$W`5eG*aU²& lZҜAH&eS@i7@$aH3x3&ؾH RM 0apH=PCV^Vid4@`2 :=^4UTA(aG2D :&\E jw=N`i$c洠ʐkP@`R#x6TCo1dzϛ luC( N1T㎷ 1p` ]4Z*Zz$g%pvc&ed޾JBdzW gtJ'}⩧:(x@(n=J(o=0)ڽ 4Cti+>߿Ȑp# AP@ xdCb@T!,_Y5@ݡB ֒ `S+p&;(@\pjTaB.9lLP#؇* (1hvDz+A8 '{$tC.(E*Zgk"0e46@<~cX58e> HE@eK %DJ1Fkg6JM^Wa234vj+*hr(809җ#.,h0P*YiILjW.v##hMPNaZҦO6<,{ͣ0' O>=ص-%P"q*O^C>  %q~`k )^$4[y 0bրH! 400 *W : `,& h g~ ~Q~W 7`  ~xph4|}*ȂSFy焜0B@p  ӐdtFM```u\bMNJ7uhND%8N6%U҉#SvA'֣=PkG(x @PRԊ³^)Aq@$C @+)* ˂AAv`.FgBcTBg-tA਍p1Ё`C^,+! `r@GK0 EH 2E8X^"Xi촍Ih_)42hBGRX wGk*4=3PA)"lwaa=%3 ]@B1N")*>Q+8KhAKpw$&>q04$cNKw=3i(Cֳ)<};ʣ=+ѢsDfC&K(ex0Ԟ(u`:D@%U#9 _9z[`Zq&Г"ي&ԥŢ(Ic'ۃ+wJjJP>xj4*٨Zx|wzʣ93}jʪꪯ *JwzOVè4`Ó v;|a?MJꢾ(ڣT;a&rCWdjajP+#**t= wPZʝ庫:tꉣIډJdOŪK]s;W% ;ZϤ 4}ǬoʄXܻ[&MeB&- |:ό,ˮ`S1ߊ2ݺA%Y翪 γSU%d NݣjM*z)|jW! }b}lˊ®=οȐ׎}z\r=9Ƅ z=,~ր] ƪku\؄:ԍ1]ֽΜ4 4S9:W J׮#*7[$<ػ jT R-ͳ)L“$Do =G-tέ&*\&Ͷ˫l`Zծ8&1bd%H&^Gޚ 3+ϫa,b;w ;jR,^ +3^W~Q|Xq.I~^ℚsw{~n;3. ˄ޥ}n]HZMNu ˞|{v~JO޿)[hf{U껼޳5}z$<ْFΪԞN嫽;dnʹ뭽K+&4L&7~S驎FҫC_C2.toР~X~Z i~Z+O T7%7v<\Օ/ FB5Q[ \μ躊K-'OZ8&,[?R# eoka^ݴ;ùX|커Lh~Ӊ݇ +#\K]Lu;u;Kʋ6[.u+˰oō0Ul} V6$_<p<{ ŇȌM_Ҭ+!AtbMmMkYr7Mƙʝ?$Rx` ,\!B :(Qbj1 E:8=20%ʌ*S~$ɉ/48p@Vؐp >dӑ0ODUAtիә,[ꤹׄ[F l̉^;l[#Fg5kdVaJ}Oܐ#Ǭ7U;7t,LS- ӽ^c]t@De5>k˪N Ezbwog+#v|HJO%'wbsSM9Sۀ9S]jVZz bXb X`LPdU1P,[ϔ=490S{YF ֓-%E 7\sM^zэ+10;uKgA T3AMz%/ҝ+Epᅟ{a$>PvJcY)uWثʼn8|9>k.(h.jkS[y |MQ7o̘. pB7Oml=3f3ѿNgR^ FgugGʉR^iF]Vm~{^L)b3{.F}S_!w+L?Z~$` H߽)*[wFP % ~Щ۫8 B2xB|Q BP&)f8WlVNB0PC$bxD$&QKdh27Lof Ii]:Y-Gx~ ̛h3z1b̎ZP͌$'j Ҿ޳ f d)"ϰ@JbG@ŰHK*?h6 eFclĘʸs"I!ro!4ZhG8#wGMR69#׸P/.LɸgˋYI+y!ݛ*f0NWkI) [n&0>Áɒ7귙 C.s}l:LxGl|Țmˑg*]8c]Y s!xzwxNTYtn <[j{|k{fd:zcL./|R='`whCn4;=+޸p۾C{?n?i0>8zʃǦ? 1;?~i DѐLr4; %<#!T 9lrAx̨7O+BoرAtE?&c K$\x>W ?t?ȓ1iBn"";jJ܏9Ck+=L +x6il(꾃 )4k71ɯy -v22Ă@: a=D ZC|JbDH%KD<6CՒc s93;K,w)81)\RB[1H1s4r_%_W#MTMK<{i?R3?$l 6t$Fϓ*$dž*/h:Da3h6+IZ%f+0CB@BGDtK)[a<9g3zr]{~f$q"SkZ ٝYlfQlɃHOƐc$J;s ʮZF/LrH|ݨB%ta+ĵ|J4{JƲױ q'kn|OӴɸIK$z xI,,5C̦lEbLԫZ{.ȶ:1lpGHC\xb JnKZ.E##ܓ1 LNYJF`N7^K;\+ 0Pk京Ԝ$ѐ-[I %MR̴ܵ(Bdw^ncM<77A{{PIQ3-36,OT4Ǚcۋ>TD\jܙә&3ENFT*ĝPDQ-I22cHPͬѬ61 9^$ ͿLQOI=B-T4,+TT_M}(P#3T@tF! TPMLT蚪4P]UEOEVU{TC"U^UZP X^-Vc=VdMVeM֯L=$֘# ߃ε@ =ȤZNjkM+ɘIJD"T;A1*:5MT7`fuV}ӟMD2@IIҨEH'ծ?D?=L<,%cmG nbr1-NzSʈb]D}L m^d164cSfJbYRLհ^ ?^eKY(?-¡BB|1*u$itCe-]'$cJڴ1^ꐬ~m)){ؾUjaN#tb0vo,k0>(˷ X!Up re/UU^$6f儜qC0A=KS(g3Cwp?p VeeNqaA柺q=jnܻ'LtY/U?fiv6 ʼ*Z6)Υ=n:%ɗV=ȢCu"Wy܎?N ONL}eߤ(n?*J`>ؙ"sv:'uET=DLYߥlL_|[KJtB\gP#EԲ si Ö\Jj|c6X2^`qb>ORvu3-eia%0:D2.vZَ/ulUo:һ5'd Na6tiԵ=0e -&NtgHvԱ-ߡ+ t.l3Vp?~]kߣW/S_?}g%QtOh{;2 LRyywWO۲o)-egڸ[9_k@*#IdqrHAn.[WZN!FlV9_R!qQhǷ6CO.z5g_ѐx míɪoBVgc|~vϊYSzZVDThwjd_rG4 ƒ<80!BpA ("0"=.8ȍjĈ2Il3!D!?BY2cD_ *tJC"MfIN:i'˂ 9r 5ȪUgܺ$ΎR[QN?2hdM,-׭O?2׳jg xޕ~9*{.29Uy7}2׬`2 VtƉv s2S~蚲ې0?}J/Ɖ7=(kEcm<,ïIߍ.3cn,:U l_U0n>V\Z,Y{uh=Gp*Me_\~!v Wm9HolGk's i+Q/P!(Vz9 Uk<CXݐ\F9g$#padWb[*ev iՎD "\bY JL)ҸVTAgq٧X Zfs(N=&RZbrکy'(x&&8ymA(fpef>_%֑Hg N鬩=ӓ%˔H7iܠ2K,t{+w83,fζvi 6:}^wMFˋzyMz(7vxkȺVw6/&xG.NXN*ʁ#mھk%uPCavn8{oוIN7Y,}=@?]t/Hla#T<)Q|#~- OP1 {qM{[]`DǗM|Iœ=DŽf vڗmngwhu)ح SJ/@-^ۿ]ݐBIM;M,Zx\U4 rW+lrD!|.Eƅrl杒m$щl$[Eu;Z[mq!WGm’"REa6ƓXMU[9;p]KUr1M7Zc{~ @H2PrZhD1qxE}PUOo,\aMA g(9ߜ-YҎ8df&I=zbӊ$_dO17M0KZB@uM9)Tejv6Otp"K[/$&ڇ]| - =d C+vHE*@wq+>**AhEհ"^s,EƁVQM զ[$a[lXdrIT`#hq `C05Q:lPnV]Je/" *+V1 txQ*%kz_ tZqnL8M4[` 8U4pvbh/%@jt8̧uk(ODg/Tkpf~2Rabn 0TMyHA^- :KUL.#NMg<ۊ1LK 42q*EsKk(.[pΗ::;o"~36aUEpY906Ʈs5ܸK̪9s8]Gi9S\d%ߊٷ,-hF~JvMzMwד)KJ`FjeCIS>q,TҜiC3ŒLRxЉӦs` W0E;@n/ugRL&+ \CN3dC[C:Mt}>\~QGkvS}UB~ۅᆝUfZ>&|'USZY-B<:P qܝ|:˦NtL/+Fӽ_2Vgi gjKXmA|&;{F<;m#vO}\$*zipca~>LO1N7̃GcuÝz妤{'[hYɗ9).Zn8.tqe&󶪆g~1e)]RB  ێsyBKP]9PUc`ZA>zz=v7*9F1:,q3Ue^DNA!X E_ M_e5ulSiS]h<ӻEյ_tSL)`ȵdypQܟ]W=uz ϦSICYUz} X] za]mјwi]:-d$׎Yy@IHSE2!ɽ$4rdxҁ/aNJE5`$} "(jN'aAXh< kQV-KP㣆X(q"Ң$F߿^gf`IQ(!ʉR"~Bq'*^.'vb z1MœZ@ Nr\!ʿ,*ʟ.R2"% :oWr]0j&Ar$Iz8\p✏Vu|"gKR rnPmW$P%%0ONڠ!7YZKk8+ޑZ ҫz>Q^r%- 62!kNOdTP`E\B&zV]%nJ4񿌔񷤲!^1a88ge9ɡ#3s Xsזݰ/͘a_HԜAJ5'49t$S|l zNi(dqZmW^߆l5P t2$i`\3zԛvN(nc6mbDiz3_8Ft'jhZ @Ui^UjN5duu~U}{v\ /Hj~rb;(I2r/^ҷ B-ohU+/$buvrp7>ptf,rLzcen668k&!ʭEt ވxM]Xc-4 `(5_"z-&1um6X<p֥e8]{"#p_5@b95,W).ukHOA`4pڄ,x&(yp"y cUWv1-VybŷNz߰lk٢ J0yvLzW~dw<4MLs3ښI[sȬwmM4Scg#׳Op f '?5# {U{ZI G{s Oݖx;O//{ |$sDؽ^>{301c"cc? ,qL&r>IYe<%2*Ҥc__G᳹#mseO<#W@j4 v ?9bɟʰs%.a#1xƤ&繴8 Ώ;V9E3u[nF7^I'Oᩇ/mkKۖyW9Zmf[ l}džzڱM=/= 5|xz ɫqKO8d~;ć~>}"{FD>#~֑E2dC"VPfv{xժjSY}i (I"`:]vv(")? ( tp!C JRŒIFȒW:DrɁ/* H;w>T1͠1VF'gqaȆ,}s˜%#P[jR<ٶuB s=}{n\x-Sž< a װ[WEiԪLeRĬX8I`9-7ff>1cx;mC\OJu A&y,L E%hejI×g\ZC'm;k C%W\"SDקZT9 kZ2+-NQyexpO nVI~RBY'NTnt1rƲV lG(5;F3vyEy8=7ifp1.k S_"t,pѾƗNpz*& =U4Ƞ4O%{5]::smYj73w=})|Ut>R:-Yxk_Pܡ7]~go2(ُl]B<9F8T?}~]c`<|S_ jܣI(ŸaTv jFERt@q%C҈H0s ?5~9i 6&NI_C'=3d4xHUDzCy\#b{Ln,7%KJ۳*ͧ4VyhY` 8]шk OE'F(U#Y6:Ƣ#xJᑀz"J*>%D^><2naEMjS$"9odKK:g:b. &nD=FdteO6jJ[a2d*S"V$\tl`cV ڳHK b$"JQʼng'cKR9BgTF  T@(BSrVhlDT,5)Ȳ0l*&uBMPzZD9&wTR<⨥F1BR\J-jtH65հN/4˓N{tZk̗\U˃#TTTBN+-f[9=Wk`aȭ lEVf eUڢmxehWX:5d @_tz-!v@JP3&ҳ,: lEeũbޭ+v\V;=Mq(S{n֫YéTFBh]s+ۧX?uH* v j]N7q/MhY^K̭bo[X@4P ha-Ȣ$W&7q&Bmdi.I=vԶxȚ39Vyoȷqk^w'gUM"eg=d[oT3 l +z-m) a]fwú$u, Ť`iʶr )ETo y䊩BmhˢoJFY[/v4!D9섞u.Ď|'Y\5=Z5~EbLƎ>>1 ,DI/d`}ɹ(1p.gP > pkVM[ۀL/\̋B[nҢcYj/+&.SWVf8"o1}l/gLꍣBI~9 -.'@@ m %  J%h$M/IhT^ư0pg:lRqDn ;DnKjҠlrIl ][n{e+$C^:1)D#]Rmk;jhPlkr@|Dt'/P'^1ՄR*_%nEVH"tʺܚ9G& {#ئ0,BEQt#qn2&'L/wH0SNqqI&Kf$J3cLl"I33 S15_F5Zr#aSR,φ݊Dfm;V<u'JqkGIJM*,e"/a,ciH9Ԍ,bmkDAc+dD*O A7grD78lkڮDd6$ntn/AP莞s)39oGe>{M QpL%N4HtKCLG>fBQt%Rб<0w..ih3OP }R)RSK>K. M Q20SNuDG0\V5B#SÔWXlY/Um5YIVω(JOL%YoS9M5W&Upp2܎F+qƯ 4H!GFi}7qW^s>IkuL6唌ږcF b+n;R0s\oOqgfy+Z w:ZBbNQpUvghZR7-vjF/YObGd5!Dt5OPAh8Wq+s{s}ph TVL #.X0 av0+W-#%-R"VD2HǠFVb7\ԮyLy 0TPyYryYV`.G g -b7v? U0x-uēi5eF4w(cLlN R5px^8kWoߦD%1WM)_1OZV8˔ͨk; w 0Ȟ+{SfQ&5ݶ1+~-HbE _jTY~"kmIWQ6%RV7rDzto{@ z%8< 0 L81?RzP#$d5f8ڙpmaJt]xhspws#r|<\4<:cy1 t3Zs@nU+{w/5{m[घ۸ g"I=ez֘2!rpJW<3?_সZ Y|In_گ oQ9ײ<9&N_7g9*<79$I"9SpUV#dyqX431oJPbd3 ,Ƣ}[zA$8rLW]8}!{տ<ے eϿ?lm]bkdUQE}+&<鷽Qgܰ,bA.?Q؎K<wM&Qr4:(/){ 9>}AlxtLr1V?&]kDQ* ] 5yU0tJ ލ~yx;3;5'u՟=y=(k|[u˸E}`a+JR\w;%mq,Y& uXH\-QR9⠾.㨖I5W-N~]C [yO"v >Y_ݘB^gF918> $  Th"ŋ6d#?BF %PX1J.A6옑eǐQIK)T82ɣ QB{/^užlzE Y胤(y+GΥsV-ѮsZ91z0){6qDҊ:\~ =&C\¤ƾ}|yg? bއ$%KRA\*U:bX=w0&enIRWߢ)NFgdQ't^#4>i(ڐPB-q:pGE=q!‘.]2~2 gQb5_BՁ z6! H@"#~lFi-Z2+%S1 ɶJ px h뀋Cߓ\@Pa&fG82(y`'}a;fDd MfɊR6jT.w^*iД=ӏ+f2T+5ͤQ@R暼in>Ѥ"asd]=ңg0XtI5߅n}Ĝ@fF{l$*JฑY#Dezbû Q(@KbqNTio/.(R R9_iE.sD> 'FҜ,#)2"4Z\(W;֝DM,K,B:4TKe۩ػ"},i*,z:OZ^6qh+dRuXyT856VnXʚWOD8K@JhkwGlͯȨ9jP>m< V4/W >nC&j CxͰC_#ExC,ܰG }.,0d,"c:0t +H9/ƱL"HNw ٤\1sV v%?U*g>]g(Gٸ"4ULpVE"` VNdv1t3I' b0lih٠1d9-,Θ6[zIdޅ Rπd}LXϨ"DENQ쁷u27ӳX}`s_H(W |f8|O%?=6q]+`:_w>: zrlj|55ZQe;K 3=BRxUi {ǑnƵe4])j!#{V.kW[V"e5u_ĶsSOWȍW\]oZkΓD'\.l޲Lƃiē:N,;NG+9CֶLQ @+ \Z$xp% ҾiBzuh5ts+aEC=jTGS斸'kӺyJ+N{TǏ0zAJK:Oh0z.rE`|u ܾEܰ#TgDlw|ʅ;7w&IO ^Amhw"TD[đLej@gE-qr"!C3XvvvgIx#ch`Ql9|}A+aM"N.<7<(XEaS0=X@;!5xWNX$fzE~TB6oexK%Cbv6gY9Ҍ~q+`aoƍAB#VndaXAK)b˨%ѸzieQuDkg&]ErJ WdWzCfَ-,7ШmVLj%|Ȏ92i3gpQ"f; G}bW(cyvBň/8S69z.HIL&7xW6I4jك Wt\hr|AxW]ؒג'09! 9&er4U%2vV916ELr/iQPx{wXD$m"W'2jG0 $Xy6gJ&{tqxYu: \P1Cff &S 5vd7V.|s.Ib*E( 7wP¢Liu*'Kg<v4)#J&H^W)2tH90KU-x[9v)@(dr4tgLs?BCV46\9Q1Y*eSAi4ÙǦzEouuG%DeHkC|budqk8I.}[UNpX<)RoFR?XHA>։tz:BYy{oxYO%;E[D\{n<AS;ZL=jW9 Om,U)m'Q*Sv\Q:%;åazp e1,VTWD[nX~l$A$jhDvזkv:9 ]yC}d4zbj\ڂ3SsU yzTuC))zUtUJ|Dɒ"[fV'%hBX>lnu(ښS ur[6QjW"ףycH /pE]tW.R-}EKc_dȂh Xm&é_i[o?J^Dł;g'ɩBD*k^eqNFXdBzg©YrRyGQJ:aUq~FksG *ynG>0mIJťu{;wȁ #afYb+?wLXR Xf:tg{;$~Wsf88pPs6Fғͦ.Saܹ̋ٳĻR2+VܛѝxM;xỾX?澥[{):^)Ǐ#̪v1)uUeOi [CsKxd'Ga!cD'c@t)ѱ,lfF ahP~:ay%vI /n~VJQixjK/X|AH$I8;m>dzēV)42;@>ZY%<6뀮ƂZF"N k,Ɔ$fp,rږ9|)wsbVZu [B3"ۊu x$7'yc!ȡ$&Ǵd`wL;v6Cz6SØ($w:hCʠ1e4\ͨg2VFiȾJ8{ x_v+h.1_o>U&5 ΈHJn3-82ȿs%aL n! 9 LАb8 %MF2s-C8agvd( 5G0(4h#J,c::x5` 5?0G2BBְc<3 9lpA(-@@DP,5>B$,։QD7D L7Ԣ (8QB#MH8HΌLM4 <0aVfK􀡈q㬴j뭸kWK8{5b5M3y b,MRb 5j&JD۱2G A`Z ൬3@27ߨ7M`!=;XB ,/ lC !F0o0>-l E!Q_?W4Ah>pLH%C=pi k P/Q@F=Ef.T pwQ)j{@A0c{? G\ Q 44p6@@=]@6 <`'a1\[67|{H րE&a<C3h9&EC`"0I\k(Fb vbR Z-(!D%KpF2P ) 4E/x =30h!NZ)GF2%F%,1$cIrR z@08E8X8 yBiB7؁A9-rFl28m9P-r‹P7 GR';E0b@{AHH X@. H : T H2] LPT( xq pH(@pqI.@VI~`f1K+@W|OI`RV@$7IXj=f-_2dU ċ%*_dTUu,::z}cWܐD! ^/BWބlgKͭnw[ pK\8MJt ˆUJ0 *v] CvqcE@;0Y)! ,oQR ꮀ #%#/FdaHACr:a0(JQv!N@ 0d ElnBb( 1)n'R H9t}XP>n# mJ Xgxb/Rژ` `!4t*NG_^R\3 dOA >F !%0C:+ CiC)f n[Qk4M(P@ ]rMw . ~ <̚ƛX☨.,[y)[X ,K8vXX@}Z,'9+%B 2:a`~e`B6d /-[ BB epf? ъ(d2>ުyI1Z*wLb !BQ."aoi>&&>{DCP23%҉$ = k).&bK*xM?)F2 ?PG (ʀB: Ow;Y8.'xEdkP.$3L,Q UQ9 (I`gd!CNs#XA.Ȇ.+8웲Vht7> >zpu{`Ca c6~` U ߐ  I`U Œx~ߐ AW){-ݐ@8N0ݰh `6<@  1Uig&@bB0 kw ݠ p `@ |  LЂ Pj70 / dhJ(DL`2$G@ A vHvэ7L Yc  Ge 2fAW?VJv~10f ;+q@?'Ձ'O{'𔈰 Ep0*yAgnۉ,s`p8,L_._SA7A9>y,F p|q;pr`ᩉU2Mc  RfjY) Spt Pv~h Zpa̘M֔n`js`ncPq s[ j; 'c𔞉Gw0uR ?;&CzTL"U[0T9W lJ %+B VG&A<ʭg`{BY l1s~Uu LBWqsAѫ](1q--bݠe1,Rp `zN LmbaK! 5A бn΅ >܆lC`Q~uNVu ͭd00V5&I!?|a`V-B @Xp@'`t%2h,ho L0 6=`#G I1fRGz! 6O H'C(1+@{lpCRa= Fpp}?B` (PGH q"  H$a +ҾI ]pD%LV`|RU|b~]UN"A NQpS!7J >_ 'P1Ӌ"v ISwrG.@1@_?ۯXcP "?b ~ tj<eHe p@\fٴ$M՚4*2!6,'8蹒0PJ-]8A ܴ=(lY$ h p, L [{bX @61Jd#aGY*2M('F(uudLYZx`… FXbƍ?0L*hЀ \ES*x PT~y#|B 솇kࡹ9.х@& /҅pM1pd۪HV>@) :~AF9x>YA5jXfh&o"!4P腜@4۰CSHk-!<d< dˆ]bvҀ&z@ [~ 剹Δ%]ZvD4QEeQG% :W0+,JϨ4K .`@u<87~S)(pK8o0*:h)ҐP6_8P  Gqggm6wH4cAe)eq5̹c>Ea DDsRe5b8`va! f c,UL<X $Dv̩P&9酷#6o<?B"lhPl cF8qy(n;ov 4@S @6 mF+ e&6e t M B'TzXn@g7@@\-OSƜ[P[QߛDw\ X>u?pBVPd$bPf|1YXv1' 9vq5iQ&vq4V9%Ԫ oWP1^ 8-–\ ~ `eCv-Gx7&6щOb'7xKR#%TC1T1s| ) #=X\" tAk+yz0*P*H1TC䠆Mыq<CW"r챇Xl#0\`r%0Sb9KpP%XFl !%64'd>`z"&EQ*ltHgklFDdzDKdTd/ *K k<HGp-8I(Ő'ds{0T0np3?h`dL 8xoX# I`EGYsh$oXfCpdP  @8nNJz88HHdǶ|<ט<"$ \ͣHT J(>7Q Qgaof ́`*[H 4 MsP4ЄpPLQxg 10Q) pT_(%&`B8Oshvwq -tnqVr1&AxH@l؏F(wb ؀P6PӮ鄇n87>-X A%X#4Ho1`%#8]@_xqf؁ C(E 5MhH1;%0es Xj@ZIpqjUsH2]& QɟJ0o .IIx 0D(H6Ё`eH(5pHQ8 t47SVx@@ghZ`%xv@؄fHXlȡ| $og AE ?YaXB5ٓeYT ]X- >8]T`&hlhR*'쐎@ɋqs he68G rqQȆq[T Mx+!cX-8L $u7`_Q!># xpF #DiKPXP&C ] FEӄND]Ș#"jPȃ[x p+x-L=\!}YsbBHE0&w :<u\!x6(́A:_000[PP`[hE8`*Hw9ȭ YS 87[`-I #)m\8-PZ`P*!6PF$X2Hc&wM@x0P25@P c9?ʳ"f&"HbLȁ܉E⊁Q+Pe`!(>U\x .~ h {0-|ΐ\eb$/'{a?Mb6f]f0ghIP] o}i(O eQjR 7PSDXrZr؂{)@<P:t*EXdih.E$Kja# p1~Hu63ZJv 890 FEFy{N`@=nj 86=-VKH^=rx^O!q<%pP~bq"2Rx9Hq HskFt `q`(X nxP@GPj!P(_$jI6P&7@(Q %089{xZ..muLPddjF)Cx(hx> ~4AUP& SePQȠ 4Iqɹщ]̚T p(-ʕ 莡F-`I,b0 l, ;A3⠋ڍIӑn NSH?ڳ{1A Ɖd?e(*S%o&1rMdĀ/ !3G;-OK@m3Gs.89:;<=>?@A'B7CGDWE?z9GwtFIJKOMNOPQ'R7SGTOuMs!՟qn)tmYWǵ~^EqX/vuvavs!Ujgguenc`svuuev\uv]hw^SfWp[W'tVsx)&Hxȃ9vsE( v$mCPxw_ >eiw^tl@ص^H59%EȄ2dtxP"ЁZhC( ǶU7;%P#>zDxL8|#7oPYszf7OG;G$0C8.x7hv4Ј&ZCZP0M7J|DH^ǃ=}O\+1ȆoȀ$h9`j/KxmE]T})`ePC lȀ&5@Yz=&s{2Mq@aL(&}]8*h98dʷ[tk6K-q2l!Ĉ'Rh"ƌ7r#Ȑ"G,i$ʋ\8? rRx`2k#ٱ'hp\sY8HÅ @ $#|Ќ`09+dAidieRnqX#J@2qNXh/ÉƛB5u36iS*+FY1* iAY7nԤ:Bl-k#u'P)3o9ҧSnʊ!"wEq@5+&H$,iɺY2M2`WtI,TE)+,TP8_~(Pр[V$q(9>q*BP*8& v<*jh ؄@s!78A /6C#ESR7p𥡚0 "fx|(D#*щ.đ0C9 I)ҕKc*әҴ6iG`ӝ>)PﵒF=*Rԥ2N}*T*թRV*Vխr^*X*ֱf=Sֵ^]u ZZ (vW]〡u(pJTep_ W<`pQ KU׀ஒebը PU "hI,U?+ }mYٺVniP!ͭz+* 0'PX%P-Mj! \GxCai):wH;alCnU fd]v]O 8A7BQ6UK  3ڤ)poTPe &.3T٪H%1I !H04ZثXA,b@1A[jf 8'h $іpE`\U'C@rQ  ЧQ,@ jX2xxc bkIa, 4UWnW2+rhk 9d~2ht!@ xǦ0 T,RF PdC ȌՍ :b fֹO C+шRhQ0DڪC#mb^QDɒ@3x %*q"HExo``N*0@[mW>{P U S)p`C@ ZHy.n:d u3p 2 V ̼敐2te@_~o(  m*R.@j \ak/xgCnXAaCCE qJxne(`e#X0Yg a b+@#>Hb40@ $APA6c1 B>;@7p6$y  x 63< \Xn:UA/_,lq$YB[[ԍ^uZ6A !mC41HK1 =Te6o9[ / SܭDVLDUe2 aĝ67RtJ(^Fj%H1p DD(B9Lp#a Ah:_5@>%ڭ (XZ CZgV^A&A 7vx@>cngQnPlrLh02hfd~ۚ h T 406\q a.L <c=ͨA %`N)TeS30,XdYarJH躅%.|B@6!x$x؍JHR@3"J,ܝB7 Vjؽ\Al 頂f3|-"PcUs!@3dLq:\(0TJ45B0פoYgcfyAD'F@ ) ;TB+aP 9P7Il0| 앴QQA3 ~*cfe9 ֐mš@;h*u 䤥k+) cuZ8A )TB&%X\ ϒ%E2`%Tǖ@$Ϻi%\2۶6DkJ٬c% ^ 6䀸@@35{-@cm( A{U@ _)\2OO96"DlHhUJ(/fv*YBZ0@ Bxk9gD@i&AݦݮY*$, Rn ϸrc 80.."@@㚀B.@RdHoebɂp@q.^18` A6 B4܁i9JiԞP9&B(}@XEf G q"0 ԢC.1B5R!hD\@6@\o{U3U/ @+Q}qYX1h/ 4B- R!,(@@ 3NC"0Agao̪߾ ndn3%l~ 0kxB*.:xALX4 縮e@2 ,@J 8Cpn( Ԝ L27*(JU2F+h@@ s9bd6zYU> b8pU }C D1JoA0 rQlA% Ԋt3Cr=4<;Ԫc7C/(YW/̀[9|!C7W%_e3h9të A2x`"@v:yV9)Cd%9xJן0W>U_/QO<{{ 3~CU? oU_~[g_>>>c',@7&RVkiU4Uk#aQc-5$jV`9 3,fc V~56)@P@@\ `Cx086 flAh0ȇJD7qܘa&C *dIK튒Ӏ O0j,KQfպkW{N4Q󄂠 [* 6ZlڵcGؖ|ëwoþjf|J(p-Q@65$<|vfd*FWBBKYS5lW+ޤ"F"|H(ϸq\pO gH~sP.Wrat1 0>o Ew˯l+v(k!h,ÉE> 1J\%(bFf` 3Ѐ)"DUE Š7㈡?fth.b@A/:#꘤ bO*`)J.(@(8% / i7* ZӖ.XLgd rӠ,Ff ( 8(@ lQ02^e 8 `PF qL,4KN;-Ә&xi6 @*!GAL(V˘ Jge`]hVpMg!t,YN DM0,3z]J(A$y% fp+ F l譠|qdzcq&7Xfܐb*A j Ɯ^~`n95awɄo@Ee @ Hfe_P^To9O&1甏$`nq.H3d!7t妛oaGX^f`fv9Z@&⻆0.=rHEnBF!$_Uu1\S@Ffl'/h j& 0` 07P%$q0 @׸y@PB7ja<sP 9uC u`t7 Eb؋OrJl7 эn!2d_)) pe$#(#s\`9$C`=hL2`n4Am^Bk#.6>>ؐAq ,Fh̸!h|!Ag8P( EdF Zp@el4 @6A=Hq/qA߬80r0B-2ajrs?P. QBAx@cgAG` HF kL#3A2&j5 ta>@;1+l (AD@>!ߐ0<3A qEc9>d )0dTPD3( |ZV n5y H04M f&1 = kA`$Ns!"6~'}=0 4]+ chsdD# l4D-@S] 0ŏ5׆̓lH[2ZZa BJ¤p0710#vC8'n, X Lyß_M(}/ P`K$2xgCb x J yCZ3rQCDAb<!`:h!"7"CXL|nJ6Oynɼq 8 mx91h,Pqj90p# 1 0 },:`} ~т4YnGPL'MFS>wxZ eqC|(*P35؛H '2_+uFC@ ~D8ne6Uф< |,o2e ryL@`!N a B T49kNC/Loo>Σ ʀ 0h>QCꨎ.T !&2\`  ڭ"bk@ ,܀RN >0 Z">0nVZ zǘ B8|m]l eOծ@!# ,$[" p,>@ ƀnR.*^tJ.1` !&o!jPBnZ + Th”oF ;@f@@wn"`> (@ tOJe!iե"{!t 6!!T" \`@c, C!A: |`5@(O"d**gAՑthw2% 6 Ġ`(4^7lT6Av 4c Z @â NJ F @$} @/ $ɠR*n`\""a" (s(,7^`O!Pla $!KἪ2#! .m X!@oh1>9k \~f& W1B>a&&֠sD.@34 &@mN!D* J| ƁzaMaZ`z*G/`,APw`DP:R 9BsFst! qP'zAm,ALz2@ :2|/ #d\fpAcB+4$ (Q8@7~̡;L}*@3BȺ- l4l" :@WӀt6$"m9fHqat3Q)N@/Mnr[KT!`k+ᤣZsfď!L(h $@W]̦ 6E!%S(( ca/++F:%2b<@!N 5N.c! D/4c9t$;(&/\@h|&c=P6]%vv#;fCNH#h{aF 6 !i36c{5*0@/(;~=|fq $N!pֺ26e1/@vv8;d Zsuov ~t5 6l+ e@,.`kK#瀩S!Ned'Jvx [ޠ l@'6{+bbS{7'7|BMݲ{U6'@  9'\|B%W'd) t~Jf V' @:"g r D5䶜 =7ۣbSa8"[9hI_T^d8'CCpE-$0XD ,'BB>&&!f -ށ~8BTR8E&<^ŇX#] @y}$"n^$Bx+x(+ ~!~4%œsb]$a!Ʒ!FYx |e+fsop'd^Hs 1y=Ҁž" e%6d6jA 3b%T"9 @DG9+ (k9'V2N{~A➵p !>Ba@#b*Ab. (RA Z a0de4.(pE8 AC#>\w:5#`I%!:RS>bo`c(C"-!@@!PB $9|@f6w<uh!طa LQ%84  zb8V':S hp'I  0@VDN BhkR*{͑Gcv+D< @w]*ۗZ! k+; L$3B^F`͕o+{fN Z$ 2ΘlG D<κsJbKz'2 <)!TG(κ1Zz}'gLjaRata 5 !A>hqp6j. 'uA36Xajo |7j<n x`H(Y"ȕG.^$(!av zatN$€a1Z{&ɰ|!.=AN!' 6@q~;{ Ɠ hML@hҤuPV 2v ,`d}ء],&;%d~p) ~ ~n`Oi()1;C |J` `a6AB{1 ~~l\ âa҅|LCHfv!d},鉀 ^Z@,8@4(!  D `0~!J 2Z"+!Pn>* zf0(ӞV Ne=Vƾ2 j}b@.|0…=~镧ƠZ-G+TX2ȑ>|S+BVrxlrGڼ AC4Pn@_xEBd# j# ImL`nҀlQ֋J0i9(IN* x2E܂r|@*Ju!b&qW ]$p `]$)5NcB-g!DA%@.9*6 g&7ʥs2y!4J#tcF8AXB@LGA%28A!c,.î DF&*eΐ,Vp`AVc ^@ ;'⇐`. b)'c `AG ~`cxC&P 1=pO01v4x&5G: @!@z8Mg7q*0C /pz"H0=*`bC VPhFᲿ홼om8QaOȀ '>ۼQ;hFre5$cAi\*7(XzCP `2]/':AL, ,˙f2! ~ i&0 [E 9 )Gπ#d{'DLt.'@D20'+u n߶F7P_-~ߤW87*] aeJԷIMB6&{+d qGgrZ01*;xWԀ X}g'h%VI-肭Cq|  2bt9)n0H![5 `T]=@HChF/&NIH/7b",XkȆXU[Ww1rrm%vwrny'臍ngHI(XHgX `oxrxJm 7ߠNH'G^5W;pxZ{q'{WyHW'A~< 3Y! @zu#~6i 'ψ ݈WR#% ȉt7TRWC `ia P @ذhY@ " my%Pa]6!C#c 4.3p"P r8An]WP l E/^; ߠk%gH\"A089P . qy 2gi%B 1pzɗ~ X VXH9 h>As̀*k|egKf!AGpۆH#p8" wXA#4WxaX?qЋOQg ~TpDs[P Y5 yGqp!/pT7p9aP/p=( A9D۶'$K[Ėjt71&q Kl% H@-y I 8sx n3ـ<@z(4| H1 0` ~ ̀^l @zFm Kp+ҕ H l[V tv\ِu"1LE)VrC"c/J J QȀ@jU-M@J^p޹VF P 8l݀ Rդr NWs`f @j; 0`3 Jeԕ 3 p )Ѓ7$0* cD L c Ycp}CyJVvs / 0\xs+W,. iW` *pl 0}&0 }F?V-9`ΐ? -PĪ r@w&+u ~`[?6 ? -Hɜ̀A14y 3)c6;&VVr@<d#?  . m;KJг?G W '! e@ e Ps ]@ l ;VTв/ KG jՄ)Y+ ᖕtA  h [ SChxޓy bQ%i%a@*@ egiP΀|d:B4 ԢêR p0#€כti%6aLP..BPp+24 &Q aj5L;1k " Ls.6bGrûqЧۇt1g;!@Ipi j& -I e|Ɛ DP!s<M@ 1U.Ks Wݠ(#FR 2 Xpp@`m|;"$+NVQ%BE2 1$#ӓ0UZ#5lVcW.0TW5L 01!C0AЗMm1T r*A-|Q`2&YˀA=iv @`d:L+#`>*RzP B`"@r?$4Ī,9WHRL a S +0tA;:P# VFŹ?!%e :zQM]( wX3aAA52 >X[C}*( SKН-hHI\P&D qCpF Lݱڭ= 6Gqw *C%` 4 J` r )}d@'` -Xcw08Gz@@: k :aq0ː: pL 1L1M q()rD  KC;#ߩ 9` =]ep 00='@ ``$*p((: %^R-@0 : p)^P @qp e=spAu Ҕ g M〰wP NPűְm`'!6Μ9Q1@o>c21T%(!놓~0` `6~Rly.hf 7 Tne0?,JTR~ Ѹ 0 BPn鹱 rAd8v"';A?h&p o|W:1;\E6S9 x00pw4bO!1zHr3qIe_5BbsBXkOA18IBryW`3 Bsn_e/b>0O{|1qV_`5=5(Poa  pP ߇B/(&u[_6~ pu Оm0Ef6@n9(Žq G b`11A .dC%NXE5nq̕1cI)Ude4@!6_d :h I6`СL(l2xl\؀TWaŎ%[1Geծemo>ZS] @  (@Dcȑ%<   d~u69FKD8`7ꅥ7˰bM&^8 ǘTY 2ߤu 7doI P)x#x BU=^RYzW08/" T*\;#0Fp""eƙd6LeJH@a4N xZe U_ڰ{LG*)Q&$&t ]Fh@ 2"WX@C8.>('AKʲ!.@0Ϣ5] s#I 'RL#)$!CX)# D9f xzkdDzn`Xg")QI5Q-5FQ!DZt>!m*[&@1!!MF@ϐd! lS!p/Đ|=kl t! 7#xДDet3x6t&*2ƓbM%@!cLHFDnB%Pl:qHjO>odLDB P% ?P >N^@AQDqa9 g̩Eqf% rcfe bhCt((;m\G[gt!e ?L $Јƒ8@fSWH@/7a ƼLsI2p[ ;ZO(p%1E`@L!Z : }baJu "~qD 3PXb;H^p.{hkЁ&!B0#`M2Ox.F$Jj(AG;no$@6vK&@2Z|pݸl'>8!1/St$$p?3MFF XgE,AQ@ȪA3 W˨ * !&,9Z4)Sl`CB  qTwKhAWQX(#|$\jP4 Aa @)B PEM|8BPHZ. U|~{c#l`@;l(9t$`w`U.2yc{1'" c  !R-)FN1&<*!8f&`Z'7 H]&F 1l$N{ T CMBxLS(t( R!< L(PkeX6xBf f}KІF z0]#d֣LnuaWrF53 MdKzc ?ZNS? m4%(@.f8G<<FeB"ҞBl 6~;8Ồ"jNp #p-A60$/J0L*a &__D{V y8jy`A荷qJ=D!<'eEetⱴTdwA%|CV݉:h^Kʤ+] D%^F6P`=u74iF$Vp >ea@j15oI*.l'Ћ:"d^Ĕ6%h[F`;{ia3 5 B+@`@+ q3j@`[46m6,.AMp or6j8Įm9*;g\lq@Z|2jAiـBthg,.ؐQPЋJp@ȁ~X¾g -B6C 6@Wc4!F6.Я. n:iV\ ;^Ђy!oWOx%h!\a4]@v3T t GcOl&t$x]@WnPF> `E˷o8lp6X>8e=zCEs=ۆ08=+#59E}TH(S/TKTL>uLTOT1X/P-US=ՍDUVmUWQ}UYUZ?U]U^] \UaVbՔ>%bMVe6]Vg}VfMhVj}U4jVmFVoVHTpWr M-WtM8JUWw}/m :xW{5RqW}W"U~WQtԀ-XOC]Xk`mXAXXHX9 X-YE +דmYu.d}YY+YY>eٞ Zvڡ=Z͑٤mZM|}Z=sZ Zv]ΫڒWZ .Z-[U5[[׵}۳1X}mS[ [-[-\oQ5\UWm}o \=ܘjW\gW]ҝn-]emZu]Ԣ]eFGT]%Ԫ ^ԁ-^ WM^]׏^Am\^=Mؐ]^-E[N^=Ӈ_uR=m"-_t__T]& Y `+?` M`:-&ۤ ` ` a &aM6nalva:6aF[ab#">b%.%~0`_(b␱b- ,b/~ )&/cc2>cb4^Xa*fc83c:v c<^dE^dGF~dIFdI6HKdMd@MaPdNeE.eSdQNEFeVcW~e5eebfnf-ehFcif2fkbl-fnbof(~fq6 rftpngs^gxfy*~g{a|b &gnah%h&焞nh!gN`v=fhF~6aiwivh>ihNaniNiFi i`hzj.jjNji_~jዖj^jj_ n`kivߨ^mk^kv^kbK^jklij>la.k]~lkĮ쫾lll\mҶ\>ǭh j[fmk.dmކ\Mm[.n=n^[^n nڎ˅n[nV[nZmn~vfnoa^m͞ovo-oFZ pZ/p=pY^ vj -`׮-k i W~oZ?qMqXompXq}qXqqoXq!/X"/r=r$W%_r}mr'W(rx r*Wro-/Y+zr0W1sur3W4Oo-s6'W7sps9V:smp s=r@?;th]sCwVDOte]tF/VGa`t&7qLOrA{-tOVPu^uRH?Y-hU7Not5uXUYVu[GTSu^/U_O vaTb/vL=vdTgvhvu ivkvvmljƀovIq' 3HtvuHQxwh #QܸTwl߈dhBp+1 ȖWXK8i و׉.upVv{-rO΁xlTI?h&%\frTp`hWCwdh_p@ITq_*vA9YvO@[Gh-QG-( {x]hmKg arx/ 2k`' ˄(ӴhE9X8D zei(؅n؂4{ifL#@xP`5NM؁qhgEz{W`#d~9wY7X~vO iT6Rh  "TB$ [8x ? ͮ !աLiojQr `# @ E%AQ#"{б'PF h3,`4,ʊ `,ٲfϢMv-۶n+w.ݺ`gl(19 3'120IU `&<պ@3sPd`_@ pR%ɐ_k fʧ9QVm\h!?6Zi"R/`]̠* QT|{)D6@ MP0PbGy{0_}_ˁJL#L$R$ΘS tlA2ݼ N 5RA PA.`4@ Ae+8@ ,XЃd#|lGTЈ$tfrک2i%L8 D#2|Xp"V$D0bN80丑5~(h)%4n6_eSAD3kI01ь>45o0 3G-0D7G -1RDpz$,Z l2S"5YF(4BD6B qL H%Ʃ]ľ7kA\p 30Sl1ƽY$^+L$Pet μ(*t*aS:C rf'L@TS-& Lz-!Lpۨ޺Lqh`ز$MC-M@Tǹ&93`ӄ5ijE7ٸ7=PC$o`1 yv`9l4vF#m#9/nK@P'#(c^;`m7]/{%3l e\f%(Bu%)KiS2.zr*5Na8L % D#, lm``Da)iu# hA,5Ap#P4|aPb7s8D `4`P`[ 0ILc"S,Yazظ6cF I?r#$'@$A!Y:,ŕ>`8 {2dPO^*(4h yar,AhH! ,-iMo|`8dl0&ŊxL!.C@(kA 0 F&|]c{DvvVFE /xgKۓѱl2i@o4## 8 d&Ad9!41vԁj!@(ٍ82@Hws:׻uQ1 ˆA$>#J 9ЅZ(h@ B4?" .9t,x|B_PMP;`=rDD 9`hFR-D 0FT>Hl'@9APHG7{b=/N,>l8]XT.pڿB/P*| 6 GRG#`=׽(qV3Q!ɊXHGT(X7XB9C[Q@8t8|^L B,_7?ԩS 6DNn۶-֭[-[z[6lb |cƍѾ}{Wiٳ'f͚ł'ObȐ!ȑ#Ѻuk=VZUVU~I.Kor 9r$h4ڰ0̚5 /B ObY^=lٲZj駟Ə?ѲF>> DQҥK_,1uT 0& ׯ_?K.?uꫯo)='Ļ{gTPNԩS׮]sUVQV-F9r+V^}U\|YIPj<СA@RR,XZ赏>(mۦݴiS5 j?>RRR0LxtbsD'ErN.0p5O% Ǥ ̆t_TĐF}4*4~$+~"4"T.j`0I!_pT$EZLIF$!T \=cƌAn%K?6]4o 5\iEQI $Pdl>D 44oCA|NzC`Piu?Mm5W iy֙lrwXa(fUQMlHbe|5Ͱg7ot 6D~$E!C 88حIp-5ڵرc1t ׯ!xG;Ԉk8~NqZS2aq1^:f̘{G9^t)D|Czzz,ے(AN@x"Kr "::7n@ǎ˽*PH7ndgg@C}TZ"##!IN:尭JBdž  ||ǝϿx" <Å Ä  =N>f͚aӦM]6˱i&cpQ<{,4hݺukL2ŮZe تzA@۶m/ɓصk$I޽{1i$Ȳ)S`ڴix]LF˗c./gb XBykFc(3̙UVaɒ%xl2.yZ*>5jh4bԨQo&z聟~tɓ't:L<&LkЦMrm۶G-GBBnb魛HZ!(qa$ )N֭o,q:ˑ `8qbiu^z _’P9-JX6ׇ{n]Bğ?Eq{A5 t-!"arn^(mkflI(OPt+R Q+TQ:qԈG WC g7_ׯ_GANNNJ]]G=W{ 8(D.cQbG0{s*;ѱcGt vs1]T?GeU2g A:M&U6mҥKPw6mm6ٳzݻ76oތc˖-9s&ѯ_?t֭8tѥK<~8ڷo͛7cΝ:u*~Pq 6W^رc9'N`ذa%'OÇq!|g SN~G0{lT*Wka̘1G||r`8g$&&"11(ϥ4h۶mɓf>|>8{,M+W*b,/gQՈ̙3ѽ{w{%g~W$&&ĉnUhZ|?`ٲevę>} !!ƍf_x1lقBn-\ǎѣGq})O6 Çܹsc$&&""V\Z5|سgۇ7|ӥXªUp /U<~8mۦl &"lq̙3qi@RRj[z56māP~}׿KHII)KVcx嗕hqrԨQ8po)U/mڴL&|Gxgׯ_Y&M ))1c6oތǏJCN:y)?ZbРA;w>S᫯RYYYh֬qҧOt~Ȳ IpaנA"--MT%~ ::nfvQ [_-dK$ t7;H}*ݹY1 m0DgQ%j%4<ӈC\\\'(Jj?]eH֌ՈS3&,99ѡAU韼>ud툋'|M6!..q<%q6y+Ұ53o#lBFVAs仩T l\ $ ֋cJCnPtv5:q󦰚͸ᯋ!Uֽ}? 3`c;r{ Uo& ЫF C4 ӭs =Z.$=5/0?v]}nz$DWQ jf4*W=UENqO@|t>Cj%bҿ 6 ,h4b8wj5~!$$W` >իW(޽rpr%Eyzf&MѣGѤI|vSLɓ'n:lڴ VvB;u^m[6ȡ}ѾmchT2 vtZT@ 5, {A A0hw}g#4n84h:;v{6nݺGZPJL8ǏJ„ УGܺu W^EZZ}vmիW/~ 61tP| 1p@2CJBFF}iӦ}eƍ+3[(Ia/B3eUPiuTVn޼Gݺui&4iD9Yp!dDDD`Ϟ=UTAV_ða?cݺu3f lق~C=/j׮1c`vg̘> ׯ1_K)))x'ڵkX~=<==xG"''1>;Z7nļy0h N:A]a՞gϢ]v9s&nݺUZ"ĂmwVY;Gll,݋oNbڴiHLLĖ-[_9]^#"ڵk!C{^֭[c…./z )))1aL>,X;vĥKcaڵ!2^xTV h׮]m#uW_1i$<.F_u| Lxj]:uΝ;3gGpp]Y ĉod2>Zcvmq)dffz,((Z+bW=cؿ?^lY6 /w7nnݺJrȑ#իn݊@uֵ{?>}`ٲe]G}ZBn0|Y&f̘ÇCc׮]ҥ oR '(g7oGŀpiԩSn{L&M0k,y衇rBw7oVqPzu\v ͛7Gdd$U7n(;x`uH`d1CwddʂMop 9_$`d=5˨UjxM,՟{֬Y_|Nc=~cƌ`2vZԯ_5jە`h֬dYƏ?Zy>FHdee^@=0rH4lgV{>W * d ϰbr3beEȒJs׺upl[n}݇ 6 kƂ paDDDZj+"##s?P{֭x70vXzݻDŽ о}{DDD(9/^ s`D%(Qc"O8C7bnA[DrB(g'I F9gQJԎ &f!2`5QV$jVD⵳Mn')rLf3voJFnj$k38e9RoҭxVsO~|оX?n6IW P?Q5{>[.vI0be׫vg.S]'Gdn 駟vXvڡk׮:t(, Zh3f`ذaED޽Ӯt(33ĉQFaРAʁzޘXgӧOc0L֭Nѣ0h֬ХK̛7f˖-È#0ge'?ϪG姻dVDZfLU_A:~1?y.\8,_۶mSvf3-ZǏCaʕh߾}SO͛8p ^z%7O<Zh={"''G"33iii]6ڴinݺahڴ)> `+-8E~0d1)))]]Dǎ/bڴi1bҞwdό~e%kRyWXt kv+W@ףcǎ/Gyk׶єeY9;vEȲL\p@ӦMa01gΜ֭[ѵkWeL^~B>|7o?OڵK9vşnݺsΨQj5bcc].jC6|eBކ{ر I2f]e%SlsN\{۷O9h_Ѿ}{%IQ*=aРA}rVUӹ4\gϞXf\f >Cԯ__9_l٢#[hիW_!::۷̙3BBB;w:޽{+֙x7@ZZRSSѦMlܸ5BZZǔ}p|gxgn,Y3gڽ͓'1b}ǐ!C(gܹ5kvڅZʮx >G};h̝;ݻwK"9{,Zl~ 4@pp07nlp?kϴM'`0/.\*F4qܯ_?ܾ}^׺uk,^>lNf͚_8uT7 VLIV P+^nE`4 ɄN[ Y9nI)YRanBdـ#33iPC%=בJyi&cʔ)3g^z%5.ѫjqQ|'tذavڅ$HNNĉ׮]KM:׿ٴi6mڄիWcڴiw7C [%X Zy6j@q+[,d%㉽{">>G?7~0ͨQƌ . &&=:w IcصkbbbbРAJzxgK/){두P02*5#TMfҬşZhLˇKJՇ&' VOQxG wEI!PY1"eTAipez=5׫̌tR)=f!0222Btܸ0 2DCm_U+'omҬH d0 QIndKw^S\{ wM.lwy8pٳ'ׯe˖ٝ(m'sɛ•$$$gϞnW6waHJJB׮]+$+WĆ g!$$UTq[pm, { mut֔Hy1t!jD 9(*8}4zΝ;K/z /^Dfꫯ"&&hРr~eMށ_O8yq!4k -[Ď;вeK4k ,{2XvޭTNY o 2Qed[ dwI%EIp\rEYl6#--M]]pZhĮ IDAT]ك;*'z=yEY V0&(tZFr\,W^)4'Շ'NpLLON\v.&*LH j^e,ȦxGн{ ui?\.JA^2aI#4b #~SΛ$T =~*d2'H3`qv b#JHJJ`@BB.Aj* :T])֒]E'((WVf/4iݎƍѡCaȐ!vrL&\ƠA\*/Jdl\2DZ mSe/9r$۰b'+ˈqx&..oeR0OF~>|8&L(4)kބ111رR5}v5 !C5OOVLH;7l*Є:"*Tdِ,= E:u&_˗qIᡇR=vZ,+%Ʉ ٸ$]Wn޼$b*PTKE% ^C͆hqg+0,!#7hF%veg?@FFՐzۈ;u#=>:"+PKѬ TX{ؗ9)O5Jd_aleʇ4 LH*Z<[Mj| PCQZLz5^YdX*X9aŶgY Z v+~9(HOOܹsqqPa1YݨɎGld{4 6n܈ŋ;C*y/_FV "{*Νŋ;9 *+~ 2 7vhڏPUy)X!hfr Ҋ]&>>_m" (@'GjXl5#}0ޗKfd`=Z Lf+RnaJIE N_]H8ׂ%nd;˶j*<䓸~I xGZZ X$H~?^7g8kPsHR :?X]G`A^3obXreWkMRn6UnQQQ2e &O\hB]G}Q$$$8-w$44ӦMӝV?vћ=7S[L^7\FYߝ0`A*6d=&)1PT4C:!?4ZU-D_ FSe9k&@,lcr$Lœ, n9s l,%"r֭[x][Kᦧc„ .| "y%}$3r,z @X eYyb:vlђtsrBff&F+VyXx1ٳ/ oӧaÆHNN.0K.-tg֬Yѣ4iQQV-|AaСy]v ĦMn}Uը:;*5ɷroTNW%=+]I!Ht٦rm:1KC)/}Vs@U+)R|ZL}1>.lc}Kf'1+ە W˵]%m+晛PzMWT6yQNK'L-1eLUpFTi쥄}Kq=&4 㩌 .9 I Z{ctn=?LUFCcU[.1uTEw%wJR;d\k %=+ [Y=xVS nZ{!9n=9L9 S FUnjEɌ OFPJi-1ETKG){6`f}KQk\']evRlv/ͅC'})""W!hRT=`ܘDxF`kE42iW \8eLd;_{LRĸ/ g\}Zj z*GHT w9 wΰi,2^0$0l(9$|12?HnV;yAWN]WdDD*d%W_OIt;!%vJf2iW6Nm홭!;x>EY, =b2$S(+_9⽙w*fJ;z972zo-3}%)Dljy5M9E}p'SĘ"Ɠo ޒ#"""""""P1+)"lPK׽ԑ ^}sN]COT To>[Ծ=WPj,znw\OcOD IDAT]PBWyde5ǟ#)969j|w[ ʈ1E'"(=YAi4}kUL u=U]ߏef+;\Ę"Ɠh vBI˳  Wϼ\> +v{9y+&~,{-WQW)T 岭,sj^Y?Vt x*(i """""""J p|u7/vn`*"ʦݞ~ΕLWfy~N%;$+/x7T=Le`D>I poSz߁A1&|l ǭ|+l;Gq.uioa綏٪ # FyVRPT'WɛEVxI||?9uou"y VRW`%U8:F 23xΛcsv eblrF'"ǸEDDDDDDD^T9 e4K7^BmK;l-%0"Siȗ"vU6^f!ob;}{.%_(% ~"v,>E:;OIDDDDDDDXIANYJ[Y*VfTPOi udFinFߚ~N*It>%S.(=vyVRPbosc/39U\)_fP -ܺ-ax"rI p*hٕL瓒T S|~QE?v9/lEab~j2LwYSb<9yȈHg]> ϰ,ӫ=U"V0S63Sb<}_}DDDDDDDXIATFY`'xӢ~ ]gRf{6?D@gR J~P-f,]cW%I Zv5U$7 EF+dgťZ:8X%BҔFTm]6}J'Ќ=J{W`%QTU;C׶d'Hy29P ; Y$}J'"DDDDDDD XIAD$OeymbS\2x6I_g ?NLDDp. """""""oJ "\$y**{fIms996DDDހI "\$8 mh$;* 6 """""""J "\E#;C%VRW`%Q^0[1IADKe^{! """"kADDDDDDD^DDD{)ͫ b@DDDDtXIADDDDDDD^DDUZm[*<&)rz="|z+(*m DDDDDO. """""""oJ "\!~^6l"""""J """"""" "m;e꾫!"""$Q`@DDDD>=+/`o߾ t Y|7```ͽ/+)+5'ŨQp_>))q)q))qW`%y&)+0IADDDDDDD^I """"""" LRW` ՊAaɒ%} ^{5ߑL:?V{V?|p$%%jE9r$jlxW1zh$&&:#F(֭[㯿\xFѣ /h4:}Ç+3~x~wއ˴tmܸ?8&Nzd2?{T6p&MwK[(-m콇*ꋊA@,PvY-elP@Ee(EWGZm )rWۓ繟s'sNBXX{O4o9-,wEO%%/ԼsZTSaj?~5%` Y2m4CXXaҥy:wo./Hjj`HHH0t$''жm[`0DDD֯_o222 lYiLL`HNN6kΠjsEÈ#o߾ܹs`}#k(HNKVBBaǎaÆٳg ixW ] M41>}p)C v풜>v(J;ӒShcQSɩyX2JNKVQG_<+95{|F@w=h uuu"Lڵ NG--wssc͚5ĠP(P(./u@V?VٴiwܡSN-== T*3h*W >>>ܼy3: 2;w@PP#9-9xxx@*Uxc^zl۶m۶=%O>oHNKFa1EO%ӂrWTrZr:[<+95;|*LA]wvZ-ZĎ;ꫯ_0{lƍ史tR:vXvܹIMM%33+++_G}i߾3/`0υ HLL|@)2eNNN̙3X*T@޽ #11'K/D۶mՎ{… \mUX .P(PBrɩyBrZ>?cQSɩ䴠g>̃yVrj9-kɩxr&E6n܈VeȐ!,_۷sUڵkٻw/ׯիF?֭[}6o@t̞=~>,oK,aΝ=ֵeYiݺ5fʕTP! 5n8gg缃)SrJ׍7aaaDFFj*޽[v$}xhٲe| >B2 Rb|%u( i(<g>GN8de,hGͳSiq_HN㒒TG~ضmW^u;v kkklmm "66 a:tǮ]شi[_h;)[,{t|ڒcǎtܙFTg{TlYNMUtӴ4r/Rc#95ϩ@\\iiiB~pp0 Exs@QINKFA󣱜{<g>GNnݺEO%%Q>NͳSiqS!EP^=vaP*899Q~} EzIؗ.]o߾4nܘ`FiǡV֭K,a\~?l<<<۷3,FIff& |R?fXXXGz4!!HZ-[y֎jJLL }FNǜ9sHNNFҮ]; M qQHNcSScGwwbͧӧžkg>ޣ}TSa*~ E 47e"HN%Br*$Br*$S!9.,(@:'/@ h<-I!B!B E !B!B)R!B!,HB!B!fAB!B!0 RB!B!Y"B!B!̂w8|+YZ)#9 ii+If9&$BrZ\ NdH3J".u9;2v/}L !B!B)R!B!,HB!B!fAB!B!0 RB!B!Y"B!B!B)n^A}ʏ_[H7ېQ&Q_|9a߿+dhu'뾝Fo ?z1sɜ'Bc/@^勄oc+6,g]9玦b9Bsh۹!j.y흜>m.k"g0lj?gRO_!ɣ{'[ 掛I>|,ZmD !J8H_+2o,^h3|(~i8F, nBl`Π)|+ns *O笠}}۶Юk/\Y2}ga;JԤ0ܽ~9+NBWq^\=ʐ~Z 1N嚵;ؤ79q` oъ`4d !(vϻ~aDh&/Nz*tUj0W:u+Ѩ52v@(*}G%qs'!9Aޫ#߯Y7na4k|VV(P0~Xlm߽/Щc 7'I?-GCԧKHKOerh끵oǹv3[n ϱv: -Zӥ]'}]Q8~n&bh򙋱) m`kcw9 `r,};TY9gVR݋K/3e,zr9j s?qVTRA6ٝD*@]4#l_-f`5Zmn|ιq9룰V[P(HllЛ/}ȨFt YvXԔ}GEPA#ޛɔ='dę8[h`q%苜9v #} 6 9~`/I&m .]ā=\@hBF1UB!fki掛AYO*39q7M[#tL?9aY8a6ez˷t:-dy AJUY21SiE }hs%yBT ʘQA^/ =t]vtFf.b\r8xkdة9XV)1>wkkƄZPUWct眾sBP9GiA9y7Ϟ똸rNbq`ïuL_3᳙2UOɄiӰ_mޜӥM݋#;xjT[Opv~Zn$V] +G׭ܻu[ܶRprq5YtJ5jSF]@\x$ !(7^?EEz㰃='{G,U bpsv5ifbpwqZbŢiq+oo޹e ^-ՒDM64@A_!Ѯk4۰O4W*ʀqðhpuvaܠѨ*uC{SJ e}~A2^^dR6#*G2&2+kJ%}@}h6]%(UԖj ]J4kЌn֊.I^sQ(t!TX9_{mZU7j>@P@%ى#>ZM04Vb[Vl9qt:s1 #dN(Vj+]9RGoǤ~xsj:]#z慿o9'Qe^k c?إؠPћ=ۗ&*̂~VACu{V+ETr*$MC벮YjU__IJɩTTp FVe-u^q(Vv'9AfG(=I@d?@73)NO.nܬD7BI%B!Bz+Eq?Ӭ1q#([֫4)"Ų\<}ˏnOY9'h.RY:m,q"V6LB`O9uh7.^$'? +~<TQ=?6ilKN܃`nVFGE'ٷm =` N5:lj.9V/RFT;:ݞ9,WO-ˇNy\Ba.6cvNb=hE_y3Hs|̅Wz\( eYk.GǐAA(_PAuVRSFciy܋8i4ѓ\9j77gBGBR]@5Ǒ'HHHdɸ{N%HQTGDztzJ5j- J4GLcBq%0p!FY@DM.88:ńyX(&k 18upC- rdjԥ\I5IƶcܸOyVDN`88:}X6=Cp$1>Z͘9QTY0`Vl\B$֥;^ey*ow0oy#1.jujKov`HG.Q!MZAղfA$az IDAT&k z0qgXl[^zco$ !m[üp\\Rc">qۿ NNdeeӿx:t~GG;'Jv᡹gML1u>]-˗f7靷 \ 6. wXK~ݾΝߖJHzxbiܻ}J5X=Cޭ;7?zv*VMLyU(0kΛ_cq]vJw9(23lZ89YyܺzTGN~Z2i)I$%l\Ba*M1$w<%.]Ю_w )!D_8\ܰ}_V]vhvi9s?.k7?Vk7S^_Μ~F)jֶv$'D&|@ܻuȸJRACA{ONIxcLP*tX(\O t)j* MY*U6I da0llT[4<]Swfyub`lT18S!JŤ07^X(%Zu4gˠQM>@@lXiӼM[yG2{P .6hB 6 2۳k[}gh%d~5'$#=Eqk< [څ3IՋh$*ը @Tט' spvs%8o`PܱlףT)>ds1|5tR2OQճ=SW~QVN&WQLe'3i׭OղdZ8-^ypeZ>BAϡc1Bo9܉`ٷ-ӡc[RS弸w//oƎ `?bkcCr^)iWH䬱0şlY긺G&[a9~;~9GT2rl,-,d3 )D_ɐVݗӿ]a-h4iV-#Ha WȁLRV}|*Ѯ}7\dhpgН<0ob}E> U*ReU`̘G'RsȻ_bB`Љ&!>_dƼ(U*MPYM6.! 7Oon\|Gk#)>*uJǮD2v*҅juҸUtZ-GodD)/ [;6]Ύ-y]۴I5^zst$^؍*jw%iަ-57`ExDD=^%9::N\8}{0o~NxxƨQQkԌ5ڵYd:*K%3f,̙":‡~w :/XѷT/ີ%'O\B 쭩]'Z@ӱt9|ͪ75_^;+Kqkݯ-e8"HaJSFe|~صnߊD._:G ַ.v;8IzZjT*Uxy@q~: ;;;kW/ܙcHKM"99K!]wgw܈!)!gW7s#ۈ=۱w 91D_` !'Wll\m656y+*Uj@RTfdgea`ܽW[BOllAJF)NZVBVn8xpoVA'-5{7Zщʵ2PMO?3'7 :z]´]5;,߲ μcoMȸS8:HX *%:JIjJS 8S??m9LjX,FTjϏavV$&˙BV99[7ѽ`RasY~鴠P0%bN.yjTVwoBCY.o1~P(>>~ Tդq|<(ICGp/㍃^^*ϑoyh滄腝jCy\B!̟ReI2Ck]zftz{(ψ@cmv]?\bmO!D O? s-KjJ323f:qq4kրK7wh88ءV[2z>[+\<ǯhШ2W急=jҨ89S^_CQD(oxPPj@]e" Br*9ҦR'|W;wk]KɩTj[bb[)i 6%KG`򘜝s:^v'ml:E69Ht ϯ4 Τ8rhmXoѠQO_!] X9>߲ʵZOV_sדW߳oQ֯.߲wyf1`!J]hШS) <~Bw{0l'On􅼹K!iּ~ c`ǒ%d QY&B!B!9(Tr*$k%6!9'4C'5-/g+>C!(z=2l,_4d~,?wo0q !md _Ǣ%?a0qdg3k gn ۝' +stQz '"'2+Jճ:p*1s|-D!J9 Lϱ#{8qt [VG|B<ۜ];?WWǿԏ#xn'tevdVQ[XX0xLN:X1Ib|Rˇ%+;ОL3%`hԚ8u8DVkP*4'Gk91nܺFF-s`>&k{p'盿@/N<ܽOG<!]X8m66EBSYv1j .Tؽo݄^GR1:bj.ŭ )IV.eg[Xb.AUkѨI+FN:~'GQ8xdl:}LʵjʋE͉vUKfAP0pml<.!(r\͇9r&Mxg1n:OÉ9~86Vѭ5iYDe<qc:=}Ʊ}HO'1[/ټ$r9>3>?7̱#$%2tl6Z)I[ 殐 QYM־1<Ʀ5+TqtqP*xLկxFz%fER1}DΜjk2X΋ΞFQk_) geٜ8;C}V^\ 3݇vރ;Y0uFN zϲkֿ+tt,Ey=6VNe'S8|p'҅Spvꒌ{Ԯۈ;+ٿg+յq.[fFZrr7舜 /^̝>1=[/y&B?9~2=@9r]U}qss 5-wEV1eN˅ 9J%?q-]z.CΦ͇1 \Sk]U׮vw?V!my_fV/d|*lҤutZ-kDr|^lm X1k ߮^奷:O-Mүx^$-= DRJnR@ ΢rjuyj{;j5: Szݼhupz:5-X|B!JĄ{8akk@Zrs۽ {{IIJ 1.cg]Yy?*neuZ⌹vTP #;+ ''/ܼqO@͡o%JĤ`VW'B~U=wVՇW怓-juϯ w%#~&s@ZZ))x{-WW{g'_ܳ \=}#8]ݱ}ݤ~k.phׯ;@jrI/HR|N.nXPV]vh}VVdfetZ-(\>GPZ&ӻ/Ξr:zRqxp)koK ޟI3cemO h.n@"K!=c׃N=?u6=edflr{{klJ tz=J ҳJvspq!Pk4$WKFe5X([<>8j23|FRBXr=|xۯ"EwWw:.G ZØAIΚWp rr4/3#]JcEp=jA}UxҸAsG`0вVg/zWrygjfAS"U*U ->=~DpTl4~!mAkŪ E7xP8Âhprqg6yQ}qsDQN*K1!Y/xx7qAԼ ( ١;5kYQRu]^ObH3{(mP*t_JEBԫ/0`IJEff6fn$!1 r޶c}5j%-/Tݽ7 壿n{4jZ 0mXiK6sHfZŕ^FCQ rT񠈡Ԁ_V+ETr*$_n Yj ~%9-M$SRųHiY%3v/}_y}?}n*V͍d.-nqfQYP H{Ӂ ~ o6 {h_~&߲oOF-eOBQ$qw;}te54ӻ}x_}Bsq%6}8߲v7A"| rb=LoYitOk\aEZJAB!IaOW[IBLiP?X0cjĘ=%rB!B!BϤxx(=$S!9-^- ɩ>Y?L(Ѹz;JI!B!BP we2Sɩ6T*@Uhα ɩ3bcOe|%{]K)^șB!B!0 RB!B!Y"B!B!̂)B!BaH!B!B E !B!B)RܹG3wgŕ '3# FZC~k5uSƲW`2dC!_,^~1z^g.sL &(5Rxdddbvcbn`D cn߿;3g_~ٍ#xѹO?np8ܽc IDATq([X0 "ߏCO"WBq>qI1;~K vBupdܹrtn}L'{wRGNV&Zayh0]g jc}3.g/s%fwaAc˒yܾr -]çPߝ3kgNqENn醇o~Xup dr`,p;nWϜ" 4ὼ~*7jƙ}8&46x}رS\EP+=3Wfρ6p>@&-i-.;ĥxJWFzƿ뵜?GwOQ)(QW/`,46( †Lږcx+4ߜg~>F׿wȨk~0+*KW.0IuzU` 5c%h4j\=9 JŁ{Yz!neHLR@e:j+yRr-kҪBsΔ)oR;v[?[>a=gvͺ/7qWyajNIFz:by| gwITQȑ^1gO&9)AGgKpvs'5)B=c+قAGR?|*K7ܩc| ,5j60Je4;g{ +RM3:ƙOfAӮ[*WϻNeɴpZ:57||soϡc1"E1Z6ΝJQ::Muщ,C7$zqj4N!;3p+답-Rޟi8wӈqy3H;:b8w]/h滨l"~j? l.#'bigU_-Zs;"ϹC)[1=|A`T9ܼe+U/?'2 {gWt993UIjB\݃s|6ې_?_^E򩣴D&[_SӵCjV%;' WiH-??a>];[{?}̊ypwWp_!̙-S^nn|8:3lT._! +W `))ibwͭ+~]ITӀW:vǯptϯFG>$WagX.TېƭڠjR!;׌[w>AUٶz9>ٷU>-ʒ$/$߻[v2upQX(u:,J z=.< Bcm(xr έ|oTmۼ@]a?~ғQ):4Zc_Jdxqm9rH3W`0`|o||fj9E.d"&)vϿV1Kfַ?a:O4^Ʉd|ILTӵߍ DgmJfۮعV 6mS^AQ0eFNxKsps( N&F0 utH/leCRG51gk\=y3U&PBag_5P2љM۲zD: A^CX2iZ++u'+H ,T|Chq;I`͊Șʘ Ind~svUlDTTX8䵜x=yr.V|C1㺹e-bվsY@X  30=_?_{c}u_욧Bd'!O3je+Y6_wB׎9?qZWT?OM`2n捶Mכ%מ/[᝜of<";qw`΄%B/+NDMOH|?q[oۛ7+eRʆ B!BdJC17Zr2B9 S^ُ\I!B!B,!^fޗ1mm}1͘pq1+&dLʿkAd~o"~M,dxc*ȕB!B!dB!B!YLR!B!"KI !B!Bd 2I!B!B,A&)B!B%d$`̔8">&.=de k: G~/3֕vr4_7 ]f- b6X;6E;9/, v$ٔۗyӈx0En2kF b@6Ϟ$A{,c#x 7o>b̨th;'zcb;idb3-w+fs_d#v{Y]=m\VEm)YKgU㶌HSdh]EēLHU+]ƶv/qۊuRJwLaeEqTm_G^C/,1.6T]8K< Ge`3"(xM>>|3< ʊfѴe(G|Y*3 F-I\tطU,̅~n/(Q(6ґ˘PJ1>_]#qvwiSn\ خ5:Ϡ.h49{Cg-+ : @6ƅ#MM*"_pz nFLFy {KNz?ڃZŎf}T)-݅O#cΟ3j6/ށOŏyf>7/:윝ӵ/5|N]n).FE_>v.3,4b0r;6Sa\(ScRKMOj˖O5OZg˜t-׭έ'<g^?N'ۥr&X4NS˴[zW$&{>TJw۷o@C|;l5n=۝62ijGn4}`k#&&(lbyw^Ȝi#6o66v_=7P^3J@0 ,;Pbu9밵sx[2B(Y4n 8z64ׯoێQ]M}ge0s3~:+%ֶzT6+o=ֶo S@uh06-!DCqvj!Bd;-^ + z|G#&"بLۿ0{V/Aђ_<}:\eF{PRLءh٣T &wٽbyݥmZωpte(⧖OtxN.ll)Vs{wY_.DBl4^9ӌkrtB.AvcO] ;;ŎD= K [[]˿K!89bcc-Qt#`ggODxO#É [;zת7_a\a۬X'gWNɘv H=ZW]rZxE 2dbd9y81,\<]?:'(L1.+Ed՜}zj/UTfF[h9 jr*,K2+VJ+m!K49b@c*%`rٸx:cesi+}YgW^| a]軀򟗡|24߈֢kQXYQu rzǓF c [MEPP(X K_F &RRӇRkRjtS EX3z07yN#/3J\o֟ƢRڴy|9'GT,>Z{R>O{N~=V zO~hjذ~Kֿ0jmX<N(R"L{=O6; qch+U@A;;~rVҵ{]Ǝ^ h۾&wf%X|guIaju8:ѣUC:FkTjZueP{D|g_4oq̉wLϳG̛9ʲ/^V/i"889ӸYGCAg8& AFTҴeg-vE ,C|ChGfIe#*}j_lzLYeLkU=k,_`͊yT*11M X!VF ;q Y&3 #v*{@=g?3`?cLB!Ꞇ>a㌔KQoރ߯~'f<klٜrҧn-}o }̌)ʊeBdBްwu͘ jovSʖ+'$RKߛz,VB!B! 2L lSS!c*dL112'L{&\I!B!B,!Ϥ8 Jz-y_ƴ\vm\ 6)ӌ Q'lY97!c*dL_}Dݒ!-^\I!B!B,A&)B!B%$B!B!B!B!D B!B!dB!B!Yc{wfAa]rytd] 1>>CF@\LE`kրGzE4<{kWld Y3d׎xf9&!ЩXf-\B!^ՂUtmF]/(&28c3_|ݒ^&RQr;G'LVP<޾3z2e>+tůhl.G[MlFAVhX$'$$c)^b 1=GeBݬ,5"%2M_0~.]nu7 IDATApvscQ\>s%? .&yc敃A謭7n -ܱpq *<~x.wK%iܡ[O8w0͔*kf>@+^Ͻ; ьoa_n^ &1w /G9 f JE }Qլ'ܾr#Sd!&K%F<ϔ89w.$~(+To_ gNxHblKiijy<{G1pr"$jk-ƵAP $~w}Oҳr#=LyzE kp붣Ѩquv_J[qsq$")rдP-k.DтTP2\og(0O::ƭ1a!:7^N!n]gҩ( ކSGSLe B!!L7$L&Zthy5&hQ\L¥Ѯ/g.dڅhc*ccѪ9zF4j?,3(VU*Tp{xoJCFPoՁnƒk[;LѓqruMݛA|զ\d ]S nƢy]Q'`9=Q?5o\ܱ .c`VڅjeӶ( ֭No"ϒ 2xB5z7ńoiaֿ݆|BVlXL27NL=#'ǸJ5Gs̝'a4?s`ڨx{ F̱ 4|&ez{xs'8Cȃ(V{a{!]l,"qtvɴs:LSX)n߸_ܾ~-SV* on_ɩ}'%*<舧/Ɋ3n?mFQգ֨1L\{a!2w'-۹ړ(+OIf_m˪a;[k5U*̘ [d1vzH\]_mn0w1h@9_ s~O릵ѨU2xBd0s6sN ɐo?qޚ+Vcٱ u'2%>ȩTTlmh8;V1̈́?[Raǯ[ YzLoIxA[ IϒHKG\:uf`4tx{hhZ~觷_>ݙ|r{jjZ7s VNJiņkC"Gt'h4tZ+Dv.о\ّccˍ=CIL|V!44{  F# ߡhAxjĿHR*Iqq5{q=CqsqB RE^ozv菫km}ȓǜ9-|"79ps/\ (2puv#,<ظlm9, £$$& ߯PD`@Pp= qF!>!+D_87O/m]Bppr>SG0o0~۽&7?VdBnfWc}0 dL;'w4ui= Wal|5Z5*Qt! RiE4b:gGnJmt?/wgʿY:+yrHhA_ _'߽%c,AӡTZ:K|r''cwBl`pጜ<++%u7O>F.CȓˇcriJ+| {$g+-)S T*c8Nɍ#P)Uoޕ}[++e{lH^_~ڷ`Ѫ9tܞZ֡V:i/P˳*'1T_wZ6Ҽ/cZ.[c]*8` O;1͸x|8KW߳B*11nf zDݒg-svU,G=b@<< 󵯤8~\M)Y7]jB!B'5uh,G;Jמ(Y;9qv !B!rw`΄%"۰.B!B!DV+)_dۘ( G=/~|=Ș|otVMȘ SʟCB!B!Di#Je3˘VcdUu-JSd2Sף>grnBTȘ}lXVoJ !B!Bd 2I!B!B,A&)B!B%$B!B!B!B!D B!B!$Ń;7ؿsF 䗍˟FEЫQ 3iOlLE` jUz3*3C,Ӯwi-?xKvO|LK[Ld,#Y|R%Lm5M U<ۋdbθ>Ђ Kvܤg݋9rΨLeݯW.zxk%}Y"kg~^2cAߎ_MR,4뿟n5:mqtucٔq 6&E3n^G( [pv"*؄w/owve~=a2PtZٺx nNDF;n4r lƅ?ZA}6݄FAP*%Zke-`62W]<|JP[?aOO|ϊ_yt G'jwE|L}oY`n7C<zw#PUu<}j Fo͕G8{+5fAρuiYV>ŏyOxpjr>7/:윝ӵ/5|N]n).FE_&)^U#X5k"~Fb%{\B:mKk Q;0mh/ qӗ0[[㫦;8,1Q=ZWX)?5wqaM\b5epw&_D=ɔz7o|/gꥹw3/,2Kwp"6&xp'aOU JٓrFiz -DOb40}H*%Y?}Cކfmd4ZێФ׸pc\b闕cWeBݜ8,6slQ>nPcH2RGJu!)IDqu+nxj9>.v mu&'/?F04H1qp`ARd.nnEh@GT5&M|KFˆm^WlmI@o?cxe"~q鳬 UN3܅S=/RO4g9+տ psFMRu"C(\>*yvNYKڱlpzNŝ3G M 9yx':M;xm7\ϷWFVŰkزuBePTt0#8q#4MwY!ֿn/9o+Uk6XRk4`3G$@\=r &2g27ŷx)LF$˭Jxꘌ/ŕG)RLۿ0]At$fSgbe)nPt4-GNpJ~͘ORTۘqA*iqi=sjSvbFڌ 57J&0IMڌѺf'`8]\| wlJIZ)P<ƤI--Ϫ0iz2g2-Bgcu+9s+k73n׏ӻIviƯ\ ;͠ԅm2햞v"\=wŝBޣ@WhPv6v<%uh8NUrW3޴e]ER#N)&(XIz9@QyNb#b)>NՀG҇6ĎM8{Iq2|vDa>اXI@/sjer"!6giƏ59_N?GNoNI3b yggLF5Nh4Z~o~ە\׍(SZd^-QO$_y<-y =bbkgO|\,* F!)V }3%p 9bDbTb2R*~+ìf0V8Gf3? ')jHrȝfydh$7.\ǯx>.X>n^I骥x"tDR&שT)Wb1L?h pxa>ky8k'nRL#N^ל\8cV.|=ĒӲA+{ y0v{x`hׁMR*0X)$,Yz|uM3΄%.:k;= V4jIh@ģH6NHizS䧕Zl N_R˧Oqpr!,huD=j- ?0ZT+/5vU{ٍ'$ŢgR䓖Dejޘ|%=Qar%B%GN; l2;Ρ댥X)Z6?žG֐lV3a!عW4'L_>DAx+)2Sj_fT+7킝˿l #ԮmTi|ҊrVsv!&"ĸX6ܺ|W/̞Ջ8wL7d"21IZ=˯LRK##/rtqEP0g@]^Ȭ)[NQO<?&F!|2Zo.?@șǏ fJdž=3gDt65:+* pϑ '~_SFmmݰGЦϰWwx; gw'Z /fRIx`T[~~jՖTJW-Om3gg4:-et4Ԍ壖kRZQmmr{R$!.&}^/8ءP(X*풯"[,N6'O'tbصd7PXahM9^XFkvζTnX>TjPE}ӡ֨i4D|OC)\^ TWU|+VDgCUQ[m<q% .9]yҟJ5lfAEhta%rϙjR?e?b8zh]VRS'3 RuvlǵiuKCcTRN̓/SrR*ifFхV݇ޭtWSubTv{BATG_f|h<)Uk6J!^l7BBb&/J1WTxfwKYMJUIɪ5-O;G' aTc͊u}tlWj}^?Nl6NREզˉ?>JgI-~z:]fZ-.?q`*-Yan8{PB ,T|ChU$iY˘Vc v=,MҊhfZ.O؟iG&>&emnZ[9u{opU8Z]%k](+~]*11gK zlXV$fE<*|9b@<< a.=֥(ASJ|Pv›7Ky=X6jCRM7NzqP*f>ktL6e3SN,^/<BOCqƸeKQR{8.^{ 7K{6NHV֯hi9ZvD'W^ y !xk]h3f+"^tB!B! ?m%ޞuo12BTTȘ S!cM'L{&\I!B!B,!Ϥv ͼ/cZ eu?q&۵u6O}ȘfL @~º<=11Ф{.Ɋ -^\I!B!B,A&)B!B%$B!B!B!B!D B!B!dB!B!Yuz IDAT*cC9qlԫ1Od2oʉKy $[eXo{]'(s|V|!ڱ,ߙyaXз#S ڭaZe83֌ڱl=I6YKG!25_;Ƣ9xDL&H.̘%DQP>4n%޼x1^h|!CQi* z ۿHĸTx gpəc lW"C3tTBf6'zVVL;vt%7c(NE[7Ա1S'|Q7UKgp3 q1)^zúŜÁY0ʹ^Jm[;w=&>6B% k6-BdXTix#\=]iѳ1q5OΪ-'>mvܸÌ]}sq| lڋFgNO H޴bc׆]{4>Z8Lb\߇=Is'v0RGT8~}pmc6ən\%wbh݉7ٽb>j Fo͕G8{+5fAρu4L+G?5ch>T&\oakk=7M;6r:}zANdIAr~FMZ)Z yW-qpt&11~ݾ^V=Lޝrݷn^ ;2bH'nߺF^ 33&}äkppt&6)6e77=aeLJż~"*&%^ߡmhޯ9=f(m;xzMꇓ3`{ehޯn93=o;RO(QgI4~BE88ّD`@j7M0.%ɼA-X>#oZppA,#Ϟfdˤ[}+K=uz^h$[VmeѨTV,PiT֛Vwb_t:m3J[&CRJxꘌ/ŕG)RLۿ0]At$fSgbegD?oPt4-GNpJ~͘ORTۘqA*ifUEȝT h7ft\лzTj}pv<70kPʹu*qq̝1 (ȶv\|78iЦ Tc*FpM)vim-Ho;)v:#c(Z(>oJr_hKb"c-7#5W"ۄ޾2(Uj4*U؃NG\d8l+ӯHqv| e*q =ϻ]}gwrbUj>H}ua`sBVLFU- <7>댝.S(`Ҝ};5vKr";wc#꫕[5|\?of Ҟth5Q1c&,<+-]- ,<7wWtk}WܾsN{?_~~޹r NRF=?c3y1FN?d'wd#3,QGdf1ё3~'Fb,/pn2pkLNȅ,QL&jo 䪣^T RSͨT .r_F!'7/#O& q;9m|z]RbEiFCJrKlx(:7O *ˑ#O/;K ⹕EVF)Uj<|Рctn妢4 [훩IL'wnuz7"I7wxHqv|SoL݆7LD>"%) x(,'{ b˶?:r#H x9u Gwѣ0j5>Hi1BxZ\ѐ9IV7OnhsAd.xx^>3'뷍2)W:tl!o¤A`qYV(+QO3oWBᗯ z>;8ҩ`<|prr;y8v3kFm=:4-}tī_cGNKzP:tBv(UJvyxuCg Kre_PklغwP-T])a>DRg]( f9m5F.cAgvCljN[QJͯƍҩ0r W/gxoPk4'NJSK|Z_n,, ~W`œ$Z{\^A,2}-O&EcLe̡(UJb#c{"ɾ{񫸖t >*ۜNl;1ͼRe#߈U T"c*c*,Zں(PW^Nór &5؁IGXw = H3`W]!VR=M?yn[OQRW o\3y͒q h5?_Ą=ǹ_,5[|ݳ7RhoNB!^PI rEԦgB݃rG4Z^z !SJ!B!dz%mӧoȉ~"獭klsBTȘs( -YI!B!BcsT|,]}oK۝Ya£׶\vwz%- ח*//̞4rBЇظhq9xJINfֈ=e3&=Xp\8y,S~Xcv,db!Ցoym !GUj ( x_( V#ޫՈ[HgKA:AxM~{k<}rg5U_J%&C;k+W!=2ʖ${wۓ'/ $)9;2u466 ݗ3h_zN=Ζ_71j8>ٚEcggdłs q0ѰNcޭՐC`",clٱAmر{+vx{2Ope7;/Rj7N_U/FRR2>NْHNIfD+7* .$o^ޫH>-fOnlagNVZ č,[;[ CT*>n'$>΀yLnɯd2V0k"69/?n1A۽\{,m鼥\|@tr`!ry1P1> 74gOeŢUhT*C 9aL5acJ7ūy'..Z6ٽs~،=>~>]_ejK@dX(ߩMZXt"s%z@67+qQb"4y69rV.AILT$y ɰC~c[0LjFmsq6~g;RӭOv+B{+MR< eͺ,ZԹ9w,E 0ɳƠs1pmg슿k qLmN})@wx<]<̱3JEvʼPTdXla0͔ `ɮ^>Ε3ұ_k['I|B<RWIn7>>t+CX^O 9p`oϴ)S0O}W@0|9K=@zؾi;MZ4r*$`ɰܬhѶ..$%&ѵmwZ~֒ǡ9v WYέ- kWp;@lt,CFF0zN?Mr^)cp|\\]Q+<,#'4f^^ře <6'q߮V=y.]X@1,u{j9m{~_Fi3~n GݦfL-\-s ,W*uj485d[1|d&,^#?Yή?n/O5\!2#^y"5 >h#(R(f$*CvſxjٔC04xZ[\śT6|Ծ t#7J˿DlW/M(P<V.aT߈q0fFYF#ҭOVB!s="/]IOj@hw9Guǒ,i|+upoE[Ya£=6|9JETd`冕岳QT?.6Yrkm͐lq}$oϑG8r[u1,+ܷΏ~,AdLeLEEg[ yX#x*v  @ܓؿn$ 0>1'_t盱?um&%ɟɣ&jINIa)V˃ǡL= : #,q(Kn[i^Ƶ7.!';˕G*BVRJUoiJ !c*dL YI!+)<};eJ `B!B!B?tAN]r?W伱cYs݄1rH7EVR!B!*d-Cm=ޖ,lYA׶澁/p\IWpVњ&dLiVU$Ǎ7_B!B! B!B!U$B!B!$)B!Ba$I!B!B I !B!BX71Wk?#1qVgI#آ) /ݞU`ň~9@׫iܯ|V^8lqb7b 韷W0`n'ֺSJrsG`=nS2h (h IDATK8q`+M&~Xxk+7sGV.!G{2O 6$go@uvpɚ(YtG۳ʿTY޹s*%ǿγjZfO[s[دsOcwq̠,!WxiN%_>Zu{ҷ1xd:/]/P*3v&gV{I~USB{d$EV,v)o];haK6iÎqۏq74m]Zu`f:ًln:֯d=x{x82,m{Gkk͓=hc9$b1DGQgN7e~fūdm֨ÁaLI!%)NSr9QY+nXKRB& W/oJ+=.<ʑ_vp%jT=yt6ۗEՂBG{T*qB:fC<;[JTH`j_kGM~avٵ;`6PԴ?چ~n%}WH"Ř⟖DŽ|r;Nj9^tVw{f3)W~Mwj?^n'.[ 4v:x|vg]{#yҿeuք||vK:c+G~v`0(1բbz?ȰGܼzn&R843&\e.$|ݼe_ڣP(8hv֟B!s=2XQ08OJ&m  X3k%jI r90-h2z4gZ!sd/K&.Ȟ (dϓfJZ rk9w>? JEB\4{'gٖ9`l2qa4v:8[yx ᬟ>_8m%1>0|5'%̔.f+}7 #ǒAp o )\2Qn#6ᛗ:mƐA_p||اzo/ ٠8}mC޴jV̇}:%K.O^E.ݲzZP\IJ֩ɘ+x5X&8c zo/X bj|@ ^$O!W˥غ{N-{O`P˱cz?-lc6g.a޺VzB.P8v o?ߏ/3oLҋp7hٳUnm{ܨ+S۲m;u73JuNhh\>F#,ũ?S:EL;wpde'5iZ3[Mm*\5w" Xrn2u ,J OaC`sB`J5r5ʽ~Zŕ\s`L1bȶTl$CR~#ll^PZ-^3?B)5ZK痥U6/;ס q|r=iM;#qQݟxVѬ3 \˥mwvpBcACb2| J;?K*[W0M-RyR]B^'6,w!Ǐ\8O7rw>\=0"dܚ 2{y?r* (JS.@"qrA|=o]},>\M_ K)2#sϫx ,_MxP@og r:İn8Ȩ^-WU[֖-p[5|&GRbajm}]h  $$_ŋ?!WG+ئg=* ,b~aͮ2P9jϑ k{<R|A{ @$'?fij4C6qX(#gFdNW۞N޳k9ܶ)}Qǯ]/7~V1H㾝J#D83pu^/Vf[ԮQB˵v %sOWRJ YIJMVRd2B͐BӷSvPJw !B!dOW4Oeیx UŞ -dL=k12BoJ !B!BXLϘ: ;.oK]s׶h:Z>&},_389[i<4\ks5MȘ Ӭ*+_xABKSYI!B!B I !B!BXIR!B!*HB!B!VAB!B! B!B!U$?d4fK6-:fog`V/y.%#ޭLߝ/ضa]بHz4O?8jB.ž,ט3z>rśc2ܗ}ڰlѴlͪyڿ*9nd=kB=0)/->DbB|թU ̚2j%$Ialβ%+%B 2}xx62PYb|tFo46o]ʐse*j~0aߩZop2T*9KZ͑zv !H_:9Kr+BnxµS8ZJ8\X\s Cb~%M\oZbbʦgزgZ=й,+"<9X8zv hp0zΝH*>.ޕfIRr2|FHNNaDGJ`Ku1t_*,!nb6i]կ7va}&5'Gu\0)Nm5$VxsΞ>kcWѨj]md2R1 ll4?oWGELT8f[F,Y5Rx)*U](S*O"*2I qst=BYJTSנ*T\2 = cgv !xRS̟=0RhYJV`e1EIORZ]RR3u11xETeݚfF ق/ġ;pCwjG6]3]O_l`[uÓsgo:j66,W0y1@%ނ$ј¬#=l-:WcpwpֹHI~{?#v}˨seXnxc6l_akQ_;7R$`ڕBrm7b6)[E<|^38b݆&CIHHS^Y?v`gIfvK5PTx3mx̚0ڶo%Gv&߾tBžCi6.v|Nz=MRUSZOG\sy4~rS 1s1jTmt18'~JSR9RSRPXmu>UsRn,} is߹BptrfFP?l6sQ-`tv/-a6\\INJ"4l)**ȭkW8yhA30mHo,'2q+T㻯駔.['hdɂs7e̚GHFDx(V6kzΟL(YF#))ig22sJukB ;m#ݓ~chlkBe:ryߐ  ՚+6ࠣka89Frle=~yiݮ' :e?wcf|0$Ez~{iPTb_(?_CP,ll4ܿ! 1 g]"$)g+s ?o~tm1Hb JKPdT01kH 1Ef] ;eޜt:G4Z :'6 T\& ,uqt@w!<,˗ѸiC2.]= JILL,.f~X?"£çrTgAjضx5.T Sj*aw-/RxRnp~"\zvasv\<ױ5:^ptrݓ8BߣHi/_5r%Vlt.zl"]p`8p >^ɖrśr{w9NLT!چ;HM5rAf3/˘mٌZp-Jܼ>qҹ2dTJ,/iب>+e֌yԪ]ᅴ sYʔ-` "" 7w=~\8eJ84DH\toZ i"E B=Y-W<SdYN9A2pwkJʳhHLLLޓȈ0 q;8r쉴9,_4@RbLf3.>z@RR"Z-aC/X,2RFP(r"Kek=}r҅-^D\l4NΖkMX"{3q2l˓w,74R3.!KѐBܿ@.;I@ ∊U;7`/,W/D`yB_ZΉǖAȅl|j͚R$:2gWK\R3nR~X~ĿP1RR}ht[QkY0^Fk!xP(?.Nn8;g;IM5>{6-IOtI 3 ?Vw0=<ݙ:c.^pOZ4cʄ ;DRyˏ4O77..~S&СTR77s~{cS/\otɓn=;a4O/9ߢchl֪J@*4ߍ S硵ETR]s[nTFlG ˕Í}7ذo&T6jlL@*\U'ᆍFq;RHOst (W.G.ouB ]]q9ek*֬IZvMBEPza6)W~HM5>Y-Wa`Vxʍ_^>Dz( J%M?iOҖ 쪧ŧ]YDM׀`fO=*7_LK!Dja shԤ5_øILL׀`J%2{p_g.n 4mÔq8u >prvɰgȞ8IK^gW=+M5>:'W\kY '!Z[Z}֓QC:P5GS :3.a/][?Oj@h\u9Gu@w,yȸ{oPT Vro wU'n*%K'˝ >K(>P IDATPh:Zeݾ9}, OaI\k6Ym{.Șʘ ¾j[voGDЦ{Ui]^iŤr09}L#uhJ~9ХQm^[e+!o`n?~\=&:~듘cjb_Y}_k;8uhk+7v[fؙ&!ҩ,&&iյI{ CvJ'K/2Η0g73^qCbkkD+oW3%hmm^Ly||3OP,~R> rybﶍ4lю=ٕ~bkgjA_})VAARRɌ1_r>8(&Q/y^FW{o6Igax!,^m2Í;Do5 K.ذ8W+y2e--zt.?,_ă;X6c=FNlYcr2IIcvs)"Byp6k֣I1$xXbqAReXn!sKLT$v|?=FϚBld)4mיʤ[*u; o3Obt9;o|K2JPuJ%K'6ģBwRVžb2P 2wjRM+W(@^]_XUWr)\m4nwVGYqXNG._޸=&AP˺U>7/- s2 IǞ?=;~l6Szm6nn}L{)B#зC-`Ψ~/lWfyif)6 *BwY6m 晋cv{OG.}2.kr*VkB`90nHޭـ*3 %2s$RRR0tEKk70cDL& `4㧏%h 3Z͡cYf>^DFS@QwjĆ[Xr.EKQJLW!Yr.!7&i̻rv3Ld&2~xbh~{$%'2pt 5'kb;:81j| zv0/޳!C{6yk$uhEѓҶ,ERD3&]3?&m?M?ןw&)!1=;dX# مG>k_{upudoAEThO̕4{fjRܕ={"{;ށ &x܃{{w>X|tǵd)LB\,SfߘOA_ۿmF Ƶ{Q|2s>#ř[iף+CfNf7b0ƯRV¦%8u0^Q ;y2UL՟n,07fV̧^T1}E,߹L13cġܹ p(n`ڠ9Čn(Uo̭ #=}ox+o>a \SVڻB^ `²9M"CY7 GLɵ$a&&.]Jf\FS`zf.Ă+quve_ݶ-שMd\HZ)[;,BU.Z*3fO^İI c2P.ƕ`me/oxmg˿.0U!˾˒7;[QLyM+9 q'+GRcz6oyJm/A}J,Ŕ3]/[ʕ_'Ю^US$#3sz*xk+÷w1yNR%+d(Pkq^7\eCᓓؾe:{{3]jPMy2M۴H;TZMb v BV;|Zt)ZJ+7rXNtd^)ac;[-0rr-N$r>Ujf 075}{w+R4:[oq^έx+o>7^.rM[^Rpΰ͜HLgݼ)$'es5bXhQFGQ`iuZnݽɪ KHѦU%h_uQZ]þWFjmmFc]ZzB茵aYԬRBh#\1kiY+px%k70e8p)_tlv#uj€ރ3Fٕԫ8þmeXb1VKP%M1{GBC|"Zw8v> IR<3 Iz.AV?6z-:|fc2aIyNE*p(M VND?{vALdlZәi4$%&d$ʔ?g.#:2;G'h}[v =ߍCë 'g,먕 Q#)"Bøx/W¥[Տ/P׿)+V3狵Tj\ mF7\-JğjSq?y᳖i esp,5r,jAOlr 7 gǬWȣ<7}{ -s.j]Ύ.U k§8:8 >IX[oVBʵKTtF!!ӺSB./HJJ2I,H4ڰC/i5M26L{T* >_ԬZX""qvtӣ4RJ-BBC$:c._`|ECbRbFb# IR<3q[>hN/iQ`β!:bce_RMRh4IF^cǣwp+:oe=z{{gڵ_څ[+#QJzrM1>~dTn^ {'o1\2}vY4nI>Ri>-y+_"{ s hF];5caiR>=)S0M|xvT['Wľ[PίSj6qtuAcɵ>9[TNn'7Jd{'g f)cBAOWIKΛwNK X8v^ Yaf>y-׳\y@(U>/h=zǪi(aƂ. ቫ'gi ZqL/;7` flyLaXZ@Tx{U`Ɍp<^7k9A*_MgPTVOjUT*ȩ0 æV} Gd)OڷH]pw+E2YGE\O7q}yvޢ !(\Z4iͅ+ kk[xz{C8~obbi5<=J3c$U*VA|0'v8:83棉;2{TM@bbcOATҩ]7S)],iZ1r@>~ze$uhۉ!μKM_ ?MHKb `}w7W(pl\43}Ȃ_G >v/\6z!ZÐ;q˨EQDGD2{Hl(2m{߄K?UC7eX}uz;gL0-—S{/]2e* ,s'{?زD>Fv*þX M{dz$I@2M{Դ}ٺ{Si_IEElY}0v .E\c#cYM9W7Q<EŁ(d$EH !T2}>d$T#)ҝB!B!( LyPܤ"zڞyԁ0.[m!Vn+ YBȿ~v*GFR!B!PSDFUs.xAw¦/O(bbijh7A m s݄,S!4:M/u_?Yd;9B!B!($I!B!BBAB!B!($I!B!BBAB!B!($I!B!BBAt}?'dL?sOxu.=6o6#1!!qn^yS?k/"gghEb;q2 _8z;vhb e=i_h%}j*_͞s\?OFڹSYz 7Vz/ϱW'`ho.K:BQ;;_͞NtMeZ|t-eڅ#7`C:C2o*WNG9/(,Բgǖ[)Y\6yP( e;5oM歙>sGaظgٕ-+lXD|%>I9\9y+:i5t<%=LK7n#IJyѦ@Y;8I! M[RiK D˻ZMK~|;w%f>o'=FݪK"BᇍM>[b7+αRRRHIJd좵:g}ă;7ݤ%ot6%u J*ql^9b"#yld|S~޼e׼5:6cz^tZX60Ri׽Ukp`ݿs K9dl^:w~'FmVs@Om<:A~i+ΞsMϭkشb5( MRYs)(aIfMid~;wJf9LQo8Q"#d..Ej[=z7jIشa׃/K媵g}cGNxxh9_1dtF}ԕY 7iY4g %=y=VL:Ǥz^ <ŗ?FcnJf9d/<KeYyp_ٽ;,KXQG]{OHMҢxVܟ{9owkF 3QH>Y_æ:9sl68r"l &,WxgVJJb"?ϵNƢ4QsTj3o+A)ur+.x {CݿKk޽MMif'z6,EKw2e*VUy=`fn o ƲĞ_X@5d f&i>G<0Yf7_6ёvG@q[1Ν&߼&1~['g"q~I6!3w|6s/8nbٶf)q1EEҤS*k\ D[1{JOs]TiϡFBJR}̾=+nswFM6cC<}Fiکɲ sVψP*8e$:tHJ0_͞3/R:sV`o>`z[Q?~X:R69JPy){}[cmoUDH.)Wݟj |j35yNd_:HQ*UEv}$EzxYLי';ǯ:>~Չ e휉h-ڛ?{٣ +rKXYQ!K' fæ&/qn?r2qҋݿQsWTNNLɃǰKއڍ?Ok5R՗r/ GC5Gwp\=s_NmjNee8xMIINrkg~%Gmwvr="Ǐ?.Ksur&3M:v]y>KIy[ї2`ɧXXY_pl/{-JzF0%˖ĞmdF:e|x-6vIB^zXR"!6 +kB [;yƘKR%)!}j*WOEcaTJUHFTo7wFNʖY嘤pt/E1SY9=:嵄hn]v6VXZۘlV\<6>9ȮxzdPݼz&m5FrR݌N΁LC/zr+8ƭe$Pl Fj&=/kLcnt7fܯBTyZu6a9:Ү[ :{niʔ+AA޷k["ˆ=޾>8r"_ L*d`\]WY{3d֣#v~Ukgoaeꁍ \DٓSRQ;{ǴE||!9997òrlL$QQDEXijr&i#”*5yƆ؈0" Ҿmz4TQkNax 9zNTKLgi,l0hEVRuZBfO 2exq Gw;-{2ӱIS|c U<IDAT +kU齻׶wq182?&< G6- K5f_[Ze)IItZI/r]K#QXZY.Ul?hDVK㷻eS?XZ۠8&hHi !7e;CTkoב$UmKX}]d4ܻvW^}=#de@LD8%=Цhخmi>J9P$0{xr=>U([{^{;QSs/*U%|sT V6Df$JFCrRBF W[ qDGcD>l)u|RItd8iTj5#dG^|Ѧ$ai':*Ui 4ЦQxאA;;ꗚ񺵭 aa# "x,W™sTVoVx(U*X1&E$eS9o}Z;/?M&-yOdO鴜>y}Re8x`@LTTDYYbHrDE[IO߻MlL6vŢ63C1GMaЈi<Ǫ3i!^e_ށacfRtT*.S?tIWə VѢ^G)n]-w%Y:i(ɉ2RIUZ!sG;g Wy4ٽ/ ķJuj7i,%mq,۽K+18aniAÖo΀qcX>}&(U*:Wѵ3.ɑjuրhff=-oN 9l$Nhͳ=kow(rsfX4{,~{]iĤUN s kkءq-1>( A/QR`)̚2Vh4`.n^w2;nLk{4sv] ?/~fflLo/P(P(4x3Uk[! F ܾ/7hцi׮n56~23ѰCfԠ;l_k{G*ԨC?eS?n(~X2%J]˛;~"]T* qhc,餉vG0s -NaxUKfq]ܰqtmڳqH]\2~VƗqg[VqD:F[޵$nl63s '~ίQ3]#Ó= @TRoJݶol>D BiΗ4`竩Ưl73q(M ["+2BFRvb*ȑJN!B!BrGo٥_Q¸o,ZRXћ@Q2LE((NE~t)X2B!B!|]EEi{7]/vmGQj.\f OT߮a_۸(GTc|i7zj*L9G,gͧ[z NM}kTFEY|V/!I[0??>k__7f 1!?(4OO9Aҏ\ O@M2q Jyzh\BQ$U$?Ÿ ڲp ʔ*£9gBzT)ѭb~\x*4Ђ؃沞+Y8o}{wy6c^YPBdǎlY@bvjܪ,L';~hD"BCeA)))l_ 4nl_']=aK^A$)riYd:$'ѥLJUM\\ k".6:۟z [y'**_oZMۢj>+>#S= 4l֚N?q=3۳;c'V82p,?w?|ɘI 13Ӱi2n\Bj;7kvȶ\scl]XXZ”LӮmN,-pqve)&3c(N^ g'{ƎZb/qqq$""_o2|O6Qe7c.׮bǟcia p+8^O6mhjK\=< _@-hҺ, vo؈Δ^ b` RIdH\f2FB\?,YN%%9ݻU6ΖѦO/<}^ʩ*@JZ"/xDJ@P,iLMCP=F !B!p>x!=>r"9푐Hy2H5H }D>#5-Xzv$C#ԙ+zY$)B!B!ȇT#$ER*_a?x=+IOR7^ORdI!B!B̉DORKTVsW"e'(7A!z!B!EK>FTJTd=~#)r#sAizI B!B!DQoz 鷅%YJRd/Ej:OP/DB!BQdIa4|dEnH0"{"sғGP( !B!< "OKVKPLR)P /ɞB!B!IȞe}$!B!Bm/? IB!B!I2&$a!B!BB!B!B!B!O;qhB `TIENDB`austin/0000775000175000017500000000000013661542344012501 5ustar gabrielegabrieleaustin/tui.py0000664000175000017500000004124513624027405013655 0ustar gabrielegabrieleimport asyncio import curses import time from austin import AsyncAustin from austin.stats import Stats from austin.widget import BarPlot, CommandBar, Label, Line, Table, TaggedLabel, Window # ---- Widget Positions ------------------------------------------------------- TITLE_LINE = (0, 0) LOGO = (1, 0) LOGO_WIDTH = 13 INFO_AREA_X = LOGO_WIDTH + 1 PID = (TITLE_LINE[0] + 1, INFO_AREA_X) CMD_LINE = (PID[0], INFO_AREA_X + 12) THREAD = (PID[0] + 1, INFO_AREA_X) THREAD_NUM = (PID[0] + 1, INFO_AREA_X + 24) THREAD_TOTAL = (PID[0] + 1, INFO_AREA_X + 31) SAMPLES = (THREAD[0] + 1, INFO_AREA_X) DURATION = (SAMPLES[0], INFO_AREA_X + 18) CPU = (THREAD[0], INFO_AREA_X + 40) CPU_PLOT = (THREAD[0], INFO_AREA_X + 54) MEM = (SAMPLES[0], INFO_AREA_X + 40) MEM_PLOT = (SAMPLES[0], INFO_AREA_X + 54) TABHEAD_LINE = (THREAD[0] + 2, 0) TAB_START = (TABHEAD_LINE[0] + 1, 0) TABHEAD_TEMPLATE = " {:^6} {:^6} {:^6} {:^6} {}" TABHEAD_FUNCTION_PAD = len(TABHEAD_TEMPLATE.format("", "", "", "", "")) # ---- Color Palette ---------------------------------------------------------- class Color: INACTIVE = 1 HEAT_ACTIVE = 10 HEAT_INACTIVE = 20 RUNNING = 2 STOPPED = 3 CPU = 4 MEMORY = 5 THREAD = 6 PALETTE = { Color.INACTIVE: (246, -1), Color.RUNNING: (10, -1), Color.STOPPED: (1, -1), Color.CPU: (curses.COLOR_BLUE, -1), # 17 Color.MEMORY: (curses.COLOR_GREEN, -1), # 22 Color.THREAD: (11, -1), # 22 } # ---- Local Helpers ---------------------------------------------------------- def ell(text, length, sep=".."): if len(text) <= length: return text if length <= len(sep): return sep[:length] m = length >> 1 n = length - m a = len(sep) >> 1 b = len(sep) - a return text[: n - b - 1] + sep + text[-m + a - 1 :] def ellipsis(text, length): if len(text) <= length: return text try: f, rest = text.split() except ValueError: f, rest = text, "" if len(f) > length: return f[: length - 3] + "..." if len(f) + 6 <= length: length -= len(f) + 1 return f + " " + rest[: (length >> 1) - 2] + "..." + rest[-(length >> 1) + 1 :] return f def fmt_time(s): m = int(s // 60e6) ret = '{:02d}"'.format(round(s / 1e6) % 60) if m: ret = str(m) + "'" + ret return ret def fmt_mem(s): return f"{int(s)>>10: 5d}" def color_level(p, a=True): d = 10 if a else 20 return curses.color_pair(d + int(p / 20)) # ---- AustinTUI -------------------------------------------------------------- class AustinTUI(Window): def __init__(self, *args): super().__init__(*args) self.austin = AsyncAustin(self.on_sample_received) self.stats = Stats() self.current_threads = None self.current_thread = None self.current_thread_index = None self.duration = 0 self.max_memory = 0 self.current_cpu = 0 self.current_memory = 0 self.is_full_view = False # ---- Logo ----------------------------------------------------------- self.add_child("title_line", Line(*TITLE_LINE, " Austin TUI", curses.A_BOLD)) self.add_child( "logo", Label( *LOGO, [" _________ ", " ⎝__⎠ ⎝__⎠ "], lambda: curses.color_pair( (Color.RUNNING if self.austin.is_running() else Color.STOPPED) ) | curses.A_BOLD, ), ) # ---- Process Information -------------------------------------------- self.add_child( "pid", TaggedLabel( *PID, tag=(lambda: "PPID" if self.args.children else "PID", 0), text=lambda: "{:5}".format(self.austin.get_pid()), attr=curses.A_BOLD, ), ) # ---- Command Line --------------------------------------------------- self.add_child( "cmd_line", TaggedLabel( *CMD_LINE, tag=("CMD", 0), text=lambda: ell(self.austin.get_cmd_line(), self.get_size()[1] - 19), attr=curses.A_BOLD, ), ) # ---- Threads -------------------------------------------------------- self.add_child( "thread_name", TaggedLabel( *THREAD, tag=( lambda: ( "{}TID".format("PID:" if self.args.children else "") if self.current_thread else "Sampling ..." ), 0, ), text=lambda: "{:24}".format(self.current_thread or ""), attr=curses.A_BOLD, ), ) self.add_child( "thread_total", Label( *THREAD_TOTAL, lambda: "of {:^5}".format( len(self.current_threads) if self.current_threads else 0 ), ), ) self.add_child( "thread_num", Label( *THREAD_NUM, lambda: "{:5}".format( self.current_thread_index + 1 if self.current_thread_index is not None else "" ), attr=curses.color_pair(Color.THREAD) | curses.A_BOLD, ), ) # ---- Samples -------------------------------------------------------- self.add_child( "samples", TaggedLabel( *SAMPLES, lambda: "{:8}".format(self.stats.samples), tag=("Samples", 0), attr=curses.A_BOLD, ), ) # ---- Duration ------------------------------------------------------- self.add_child( "duration", TaggedLabel( *DURATION, tag=("Duration", 0), text=lambda: "{:>8}".format(fmt_time(int(self.duration * 1e6))), attr=curses.A_BOLD, ), ) # ---- CPU ------------------------------------------------------------ self.add_child( "cpu", TaggedLabel( *CPU, tag=("CPU", 0), text=lambda: "{: >5}%".format( self.current_cpu if self.austin.is_running() else "" ), attr=curses.A_BOLD, ), ) self.add_child( "cpu_plot", BarPlot(*CPU_PLOT, scale=100, init=0, attr=curses.color_pair(Color.CPU)), ) # ---- Memory --------------------------------------------------------- self.add_child( "mem", TaggedLabel( *MEM, tag=("MEM", 0), text=lambda: "{: >5}M".format( self.current_memory if self.austin.is_running() else "" ), attr=curses.A_BOLD, ), ) self.add_child( "mem_plot", BarPlot(*MEM_PLOT, init=0, attr=curses.color_pair(Color.MEMORY)) ) # ---- Footer --------------------------------------------------------- self.add_child( "cmd_bar", CommandBar( { "Exit": " Q ", "PrevThread": "PgUp", "NextThread": "PgDn", "ToggleFullView": " F ", } ), ) # Conect signal handlers self.connect("q", self.on_quit) self.connect("f", self.on_full_mode_toggled) self.connect("KEY_NPAGE", self.on_pgdown) self.connect("KEY_PPAGE", self.on_pgup) # ---- Table ---------------------------------------------------------- self.add_child( "table_header", Line( *TABHEAD_LINE, TABHEAD_TEMPLATE.format("OWN", "TOTAL", "%OWN", "%TOTAL", "FUNCTION"), curses.A_REVERSE | curses.A_BOLD, ), ) self.add_child( "table_pad", Table( size_policy=lambda: [ (h - TAB_START[0] - self.cmd_bar.get_height(), w) for h, w in [self.get_size()] ][0], position_policy=lambda: (TAB_START[0], 0), columns=[" {:^6} ", " {:^6} ", " {:5.2f}% ", " {:5.2f}% ", " {}"], data_policy=self.generate_data, hook=self.draw_tree, ), ) # ---- END OF UI DEFINITION ------------------------------------------- def __enter__(self): super().__enter__() for color, values in PALETTE.items(): curses.init_pair(color, *values) j = Color.HEAT_ACTIVE for i in [-1, 226, 208, 202, 196]: curses.init_pair(j, i, -1) j += 1 j = Color.HEAT_INACTIVE for i in [246, 100, 130, 94, 88]: curses.init_pair(j, i, -1) j += 1 return self # ---- EVENT HANDLERS ----------------------------------------------------- def on_sample_received(self, line): self.stats.add_thread_sample(line.encode()) def on_quit(self): raise KeyboardInterrupt("Quit signal") def on_pgdown(self): if self.current_threads: if self.current_thread_index < len(self.current_threads) - 1: self.current_thread_index += 1 self.current_thread = self.current_threads[self.current_thread_index] self.refresh() def on_pgup(self): if self.current_threads: if self.current_thread_index > 0: self.current_thread_index -= 1 self.current_thread = self.current_threads[self.current_thread_index] self.refresh() def on_full_mode_toggled(self): self.is_full_view = not self.is_full_view self.table_pad.refresh() # ---- METHODS ------------------------------------------------------------ def scale_time(self, time, active=True): ratio = time / 1e4 / self.duration return ratio, color_level(ratio, active) def scale_memory(self, memory, active=True): ratio = (memory >> 10) / self.max_memory * 100 return ratio, color_level(ratio, active) def get_current_cpu(self): if not self.austin.is_running(): return 0 value = int(self.austin.get_child().cpu_percent()) self.current_cpu = value return value def get_current_memory(self): if not self.austin.is_running(): return 0 value = self.austin.get_child().memory_full_info()[0] >> 20 self.current_memory = value if value > self.max_memory: self.max_memory = value return value def current_data(self): stacks = self.stats.get_current_stacks() if not stacks: return [] # Reverse the stack (top frames first) stack = stacks[self.current_thread][::-1] if not stack: return [] _, w = self.table_pad.get_inner_size() return [ ( [self.formatter(frame["own_time"]), 0], [self.formatter(frame["tot_time"]), 0], self.scaler(frame["own_time"]), self.scaler(frame["tot_time"]), [ ellipsis( frame["function"][:-1] + ":" + frame["line_number"] + ")" if self.args.linenos else frame["function"], w - TABHEAD_FUNCTION_PAD, ), 0, ], ) for frame in stack ] def full_data(self): def add_child(node, level): if not node: return name_len = w - level - TABHEAD_FUNCTION_PAD a = getattr(node, "is_active", False) attr = curses.color_pair(1) if not a else 0 line_store.append( ( [self.formatter(node.own_time), attr], [self.formatter(node.total_time), attr], self.scaler(node.own_time, a), self.scaler(node.total_time, a), [ ellipsis( node.function[:-1] + ":" + node.line_number + ")" if self.args.linenos else node.function, name_len - 1, ), attr, ], ) ) def add_children(nodes, level=2): if not nodes: return for n in nodes: if not n: continue add_child(n, level) add_children(n.children, level + 1) _, w = self.table_pad.get_inner_size() stack = self.stats.get_thread_stack(self.current_thread) if not stack: return [] line_store = [] add_children(stack) return line_store[::-1] def draw_tree(self, pad): def print_child(node, char, prefix): if not node: return tail = ("└" if node.children else "") + char + prefix name_len = w - len(tail) - 34 line_store.append(tail) def print_children(nodes, prefix=""): if not nodes: return for n in nodes[:-1]: print_child(n, "┤", prefix) print_children(n.children, "│" + prefix) if nodes[-1]: print_child(nodes[-1], "┐", prefix) print_children(nodes[-1].children, " " + prefix) if not self.is_full_view: return stack = self.stats.get_thread_stack(self.current_thread) if not stack: return h, w = self.get_size() line_store = [] print_children(stack) i = 0 for l in line_store[::-1]: pad.addstr(i, w - 1 - len(l), l, curses.color_pair(1)) i += 1 def generate_data(self): self.current_threads = self.stats.get_current_threads() if not self.current_threads: return [] if not self.current_thread or self.current_thread not in self.current_threads: self.current_thread = self.current_threads[0] self.current_thread_index = 0 self.current_thread_index = self.current_threads.index(self.current_thread) if self.is_full_view: return self.full_data() else: return self.current_data() def run(self, scr): self.start_time = time.time() # Keep track of the duration async def input_loop(): while True: try: scr.refresh() self.dispatch(self.table_pad.getkey()) except KeyboardInterrupt: for task in asyncio.Task.all_tasks(): task.cancel() return except curses.error: pass await asyncio.sleep(0.015) async def update_loop(): while True: self.duration = time.time() - self.start_time self.get_child("cpu_plot").push(self.get_current_cpu()) self.get_child("mem_plot").push(self.get_current_memory()) self.refresh() scr.refresh() if not self.austin.is_running(): break await asyncio.sleep(1) try: done, pending = self.austin.get_event_loop().run_until_complete( asyncio.wait( (input_loop(), update_loop()), return_when=asyncio.FIRST_EXCEPTION ) ) for task in done: task.result() except asyncio.CancelledError: pass def start(self, args): # Fork Austin self.austin.start(args) self.args = args self.get_child("title_line").set_text( " Austin TUI {} Profile".format("Memory" if args.memory else "Time") ) # Set scaler and formatter self.formatter, self.scaler = ( (fmt_mem, self.scale_memory) if args.memory else (fmt_time, self.scale_time) ) self.refresh() try: if self.austin.wait(1): self.run(self._scr) else: raise AustinError("Took too long to start.") finally: self.austin.join() austin/__init__.py0000664000175000017500000002254713661542344014624 0ustar gabrielegabrieleimport asyncio import sys from abc import ABC, abstractmethod import psutil from argparse import ArgumentParser from threading import Thread, Event import subprocess class AustinError(Exception): pass class AustinArgumentParser(ArgumentParser): def __init__( self, name="austin", alt_format=True, children=True, exclude_empty=True, full=True, interval=True, memory=True, pid=True, sleepless=True, timeout=True, command=True, **kwargs, ): super().__init__(prog=name, **kwargs) if bool(pid) != bool(command): raise RuntimeError( "Austin command line parser must have either pid or command." ) if alt_format: self.add_argument( "-a", "--alt-format", help="Alternative collapsed stack sample format.", action="store_true", ) if children: self.add_argument( "-C", "--children", help="Attach to child processes.", action="store_true", ) if exclude_empty: self.add_argument( "-e", "--exclude-empty", help="Do not output samples of threads with no frame stacks.", action="store_true", ) if full: self.add_argument( "-f", "--full", help="Produce the full set of metrics (time +mem -mem).", action="store_true", ) if interval: self.add_argument( "-i", "--interval", help="Sampling interval (default is 100us).", type=int, ) if memory: self.add_argument( "-m", "--memory", help="Profile memory usage.", action="store_true" ) if pid: self.add_argument( "-p", "--pid", help="The the ID of the process to which Austin should attach.", type=int, ) if sleepless: self.add_argument( "-s", "--sleepless", help="Suppress idle samples.", action="store_true" ) if timeout: self.add_argument( "-t", "--timeout", help="Approximate start up wait time. Increase on slow machines (default is 100ms).", type=int, ) if command: self.add_argument( "command", nargs="?", help="The command to execute if no PID is provided, followed by its arguments.", ) self.add_argument( "args", nargs="*", help="Arguments to pass to the command to run." ) def parse_args(self, args): parsed_args = super().parse_args(args) if not parsed_args.pid and not parsed_args.command: raise RuntimeError("No PID or command given.") return parsed_args @staticmethod def to_list(args): arg_list = [] if getattr(args, "alt_format", None): arg_list.append("-a") if getattr(args, "children", None): arg_list.append("-C") if getattr(args, "exclude_empty", None): arg_list.append("-e") if getattr(args, "full", None): arg_list.append("-f") if getattr(args, "interval", None): arg_list += ["-i", str(args.interval)] if getattr(args, "memory", None): arg_list.append("-m") if getattr(args, "pid", None): arg_list += ["-p", str(args.pid)] if getattr(args, "sleepless", None): arg_list.append("-s") if getattr(args, "timeout", None): arg_list += ["-t", str(args.timeout)] if getattr(args, "command", None): arg_list.append(args.command) if getattr(args, "args", None): arg_list += args.args return arg_list class BaseAustin(ABC): def __init__(self, sample_callback=None): self._loop = None self._pid = -1 self._cmd_line = "" self._running = False try: self._callback = ( sample_callback if sample_callback else self.on_sample_received ) except AttributeError as e: raise RuntimeError("No sample callback given or implemented.") from e def post_process_start(self): if not self._pid or self._pid < 0: # Austin is forking austin_process = psutil.Process(self.proc.pid) while not austin_process.children(): pass child_process = austin_process.children()[0] if child_process.pid is not None: self._pid = child_process.pid else: # Austin is attaching try: child_process = psutil.Process(self._pid) except psutil.NoSuchProcess: raise AustinError( f"Cannot attach to process with PID {self._pid} because it does not seem to exist." ) self._child = child_process self._cmd_line = " ".join(child_process.cmdline()) @abstractmethod def start(self, args): ... def get_pid(self): return self._pid def get_cmd_line(self): return self._cmd_line def is_running(self): return self._running def get_child(self): return self._child @abstractmethod def wait(self, timeout=1): ... class AsyncAustin(BaseAustin): def __init__(self, sample_callback=None): super().__init__(sample_callback) self.start_event = asyncio.Event() def start(self, args, loop=None): async def _start(): try: self.proc = await asyncio.create_subprocess_exec( "austin", *AustinArgumentParser.to_list(args), stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.DEVNULL, ) except FileNotFoundError: raise AustinError("Executable not found.") self.post_process_start() # Signal that we are good to go self.start_event.set() self._running = True # Start readline loop while True: data = await self.proc.stdout.readline() if not data: break self._callback(data.decode("ascii").rstrip()) # Wait for the subprocess exit await self.proc.wait() self._running = False try: if args.pid is not None: self._pid = args.pid except AttributeError: self._pid = -1 if not loop: if sys.platform == "win32": self._loop = asyncio.ProactorEventLoop() asyncio.set_event_loop(loop) else: self._loop = asyncio.get_event_loop() else: self._loop = loop self._start_task = self._loop.create_task(_start()) def get_event_loop(self): return self._loop def wait(self, timeout=1): try: self._loop.run_until_complete( asyncio.wait_for(self.start_event.wait(), timeout) ) except asyncio.TimeoutError: return False return True def join(self): try: return self._loop.run_until_complete(self._start_task) except asyncio.CancelledError: pass class ThreadedAustin(BaseAustin, Thread): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) Thread.__init__(self) self.start_event = Event() def run(self): self.start_event.set() self._running = True while True: line = self.proc.stdout.readline() if not line: break self._callback(line.decode("ascii").rstrip()) self.proc.wait() self._running = False def start(self, args): try: self._pid = args.pid except AttributeError: self._pid = -1 self.proc = subprocess.Popen(["austin"] + args, stdout=subprocess.PIPE) try: self.post_process_start() except psutil.NoSuchProcess as e: raise AustinError("Unable to start Austin.") from e Thread.start(self) def wait(self, timeout=1): self.start_event.wait(timeout) def join(self): self.proc.wait() # ---- TEST ------------------------------------------------------------------- if __name__ == "__main__": class MyAsyncAustin(AsyncAustin): def on_sample_received(self, line): print(line) try: austin = MyAsyncAustin() austin.start(["-i", "10000", "python3", "test/target34.py"]) austin.join() except KeyboardInterrupt: print("Bye!") class MyThreadedAustin(ThreadedAustin): def on_sample_received(self, line): print(line) try: austin = MyThreadedAustin() austin.start(["-i", "10000", "python3", "test/target34.py"]) austin.join() except KeyboardInterrupt: print("Bye!") austin/web.py0000664000175000017500000001372313624027405013631 0ustar gabrielegabrieleimport asyncio import copy import json import sys import weakref from os import environ as env from aiohttp import WSMsgType, web from aiohttp.test_utils import unused_port import psutil from pyfiglet import Figlet from austin import AsyncAustin, AustinArgumentParser, AustinError from austin.html import load_site from austin.stats import parse_line class WebFrame: __slots__ = ["name", "value", "children", "index", "parent", "height"] def __init__(self, name, value): self.name = name self.value = value self.children = [] self.index = {} self.parent = None self.height = 0 def __add__(self, other): if self.name != other.name: self.parent.add_child(other) self.parent.height = max(self.height, other.height) + 1 else: self.value += other.value if other.height > self.height: self.height = other.height for child in other.children: try: self.index[child.name] += child except KeyError: self.add_child(child) return self def add_child(self, frame): self.index[frame.name] = frame frame.parent = self self.children.append(frame) @staticmethod def from_line(text): def build_frame(frames): name, *tail = frames frame = WebFrame(name, value) if tail: frame.add_child(build_frame(tail)) else: frame.value = value return frame process, thread, frames, (value,) = parse_line(text.encode()) thread_frame = WebFrame(thread, value) if process: process_frame = WebFrame(process, value) process_frame.add_child(thread_frame) frame = process_frame else: frame = thread_frame frame.height = len(frames) + 1 if frames: frame.add_child(build_frame(frames)) root = WebFrame.new_root() root.add_child(frame) root.value = frame.value root.height = frame.height + 1 return root @staticmethod def new_root(): return WebFrame("root", 0) def to_dict(self): # --------------------------------------- # Validation check # --------------------------------------- # s = 0 # for c in self.children: # s += c.value # # if s > self.value: # raise RuntimeError("Invalid Frame") # --------------------------------------- return { "name": self.name, "value": self.value, "children": [c.to_dict() for c in self.children], } class DataPool: def __init__(self, austin): self._austin = austin self.max = 0 self.data = WebFrame.new_root() self.samples = 0 def add(self, frame): self.data += frame self.samples += 1 async def send(self, ws): data = self.data.to_dict() if self.data.height > self.max: self.max = self.data.height payload = { "type": "sample", "data": data, "height": self.max, "samples": self.samples, "cpu": self._austin.get_child().cpu_percent(), "memory": self._austin.get_child().memory_full_info()[0] >> 20, } await ws.send_str(json.dumps(payload)) self.data = WebFrame.new_root() class WebAustin(AsyncAustin): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.data_pools = weakref.WeakSet() self.args = None def on_sample_received(self, text): for data_pool in self.data_pools: data_pool.add(WebFrame.from_line(text)) def new_data_pool(self): data_pool = DataPool(self) self.data_pools.add(data_pool) return data_pool def discard_data_pool(self, data_pool): self.data_pools.discard(data_pool) async def handle_home(self, request): return web.Response(body=self.html, content_type="text/html") async def handle_websocket(self, request): ws = web.WebSocketResponse() await ws.prepare(request) data_pool = self.new_data_pool() try: payload = { "type": "info", "pid": self.get_pid(), "command": self.get_cmd_line(), "metric": "m" if self.args.memory else "t", } await ws.send_str(json.dumps(payload)) async for msg in ws: await data_pool.send(ws) self.discard_data_pool(data_pool) except psutil.NoSuchProcess: pass return ws def start_server(self): app = web.Application() app.add_routes( [web.get("/", self.handle_home), web.get("/ws", self.handle_websocket)] ) port = int(env.get("WEBAUSTIN_PORT", 0)) or unused_port() host = env.get("WEBAUSTIN_HOST") or "localhost" print(Figlet(font="speed", width=240).renderText("* Web Austin *")) print(f"* Sampling process with PID {self.get_pid()} ({self.get_cmd_line()})") print(f"* Web Austin is running on http://{host}:{port}. Press Ctrl+C to stop.") self.html = load_site() web.run_app(app, host=host, port=port, print=None) def start(self, args): super().start(args) if self.wait(): self.start_server() else: self.join() # exit(1) def main(): austin = WebAustin() try: austin.start( AustinArgumentParser( name="austin-web", full=False, alt_format=False ).parse_args(sys.argv[1:]) ) except AustinError: print( "Cannot start Web Austin. Please check that the command line " "values are valid." ) exit(1) if __name__ == "__main__": main() austin/stats.py0000664000175000017500000001324413624027405014210 0ustar gabrielegabrieleimport copy from collections import deque from threading import RLock ATOM_LOCK = RLock() def atomic(f): """Decorator to turn a function into an atomic operation.""" def atomic_wrapper(*args, **kwargs): with ATOM_LOCK: result = f(*args, **kwargs) return result return atomic_wrapper class SampledFrame: """ Sampled frame class that recursivly populates itself. Despite the name, the base frame can be considered as the whole sampled frame stack. """ def __init__(self, data, duration, height): self.function = data[0] self.total_time = duration self.line_number = data[1][1:] self.height = height if data[2:]: self.children = [SampledFrame(data[2:], duration, height + 1)] self.own_time = 0 else: self.children = [] self.own_time = duration def to_dict(self): return { "function": self.function, "line_number": self.line_number, "tot_time": self.total_time, "own_time": self.own_time, } def __eq__(self, other): """Two frames are the same if they represent the same function.""" return self.function == other.function if other else False # ----------------------------------------------------------------------------- def parse_line(line: bytes, full: bool = False) -> tuple: """Split a collapsed frame stack sample into its components. These are: the process ID, the thread ID, the list of frames and the metrics. If ``full`` is true then the metrics include time and memory deltas; otherwise it is a tuple with a single value (either a time or a memory delta). Args: line (bytes): a single sample generated by Austin. full (bool): whether the sample has the full set of metrics or not. Defaults to ``False``. Returns: (tuple) the tuple of process ID, thread ID, list of frames and tuple of metrics. """ rest = line.decode().strip("\n") process = None frames = [] if rest[0] == "P": process, rest = rest.split(";", maxsplit=1) try: thread, rest = rest.split(";", maxsplit=1) frames, *metrics = rest.rsplit(maxsplit=3 if full else 1) frames = frames.split(";") except ValueError: # Probably an "empty" thread thread, *metrics = rest.rsplit(maxsplit=3 if full else 1) return process, thread, frames, tuple(int(m) for m in metrics) class Stats: """ Statistics class. Each instance will bear statistics for each sampling run. To update the statistics, simply pass every single line returned by austin to an instance of this class via the `add_thread_sample` method. To retrieve the current stacks along with their statistics, call the `get_current_stacks` methods. """ def __init__(self): self.threads = {} self.current_thread = None self.current_stack = None self.current_threads = {} self.samples = 0 def _update_frame(self, frame_stack, sample_stack): if sample_stack is None: return frame_stack.total_time += sample_stack.total_time frame_stack.own_time += sample_stack.own_time if sample_stack.children: sample_child = sample_stack.children[0] i = 0 for child in frame_stack.children: if child == sample_child: self._update_frame(child, sample_child) break i += 1 else: frame_stack.children.append(sample_child) self.current_stack.appendleft(i) @atomic def add_thread_sample(self, collapsed_sample): process, thread, frames, (duration,) = parse_line(collapsed_sample) sample_stack = SampledFrame(frames, duration, 1) if frames else None self.current_stack = deque() i = 0 thread_id = ( f"{process.split()[1]}:{thread.split()[1]}" if process else thread.split()[1] ) if thread_id in self.threads: for frame_stack in self.threads[thread_id]: if frame_stack == sample_stack: self._update_frame(frame_stack, sample_stack) break i += 1 else: self.threads[thread_id].append(sample_stack) else: self.threads[thread_id] = [sample_stack] self.current_stack.appendleft(i) self.current_threads[thread_id] = self.current_stack self.samples += 1 @atomic def get_current_stacks(self, reset_after=False): stacks = {} for thread in self.current_threads: frame_list = self.threads[thread] stack = [] for i in self.current_threads[thread]: if frame_list[i] is None: continue stack.append(frame_list[i].to_dict()) frame_list = frame_list[i].children stacks[thread] = stack if reset_after: self.current_threads = {} return stacks @atomic def get_current_threads(self): return sorted(self.current_threads.keys()) @atomic def get_thread_stack(self, thread): if thread not in self.current_threads: return None retval = copy.deepcopy(self.threads[thread]) frame_list = retval for i in self.current_threads[thread]: if frame_list[i]: frame_list[i].is_active = True frame_list = frame_list[i].children else: break return retval austin/widget.py0000664000175000017500000002025413624027405014334 0ustar gabrielegabrielefrom collections import deque import curses class Widget: def __init__(self): self.parent = None self._children = {} self._event_handlers = {"KEY_RESIZE": self.on_resize} def __getattr__(self, name): try: return self._children[name] except KeyError: raise AttributeError(self, self.parent, name) def add_child(self, name, child): # if name in self._children: # raise RuntimeError(f"Child {name} already exists.") child.parent = self self._children[name] = child def get_child(self, name): return self._children.get(name, None) def connect(self, event, handler): self._event_handlers[event] = handler def dispatch(self, event, *args, **kwargs): stop = False try: for _, child in self._children.items(): try: stop = child.dispatch(event, *args, **kwargs) if stop: break except AttributeError: pass if not stop: self._event_handlers[event](*args, **kwargs) except KeyError as e: pass def on_resize(self): self.refresh() return True def get_toplevel(self): toplevel = self while toplevel.parent: toplevel = toplevel.parent return toplevel def refresh(self): for _, child in self._children.items(): try: child.refresh() except AttributeError: pass class Window(Widget): def __init__(self, screen): super().__init__() self._scr = screen def __enter__(self): curses.start_color() curses.use_default_colors() curses.curs_set(False) self._scr.clear() self._scr.timeout(0) # non-blocking for async I/O self._scr.nodelay(True) return self def __exit__(self, *args): self._scr.clrtoeol() self._scr.refresh() def get_size(self): return self._scr.getmaxyx() def get_screen(self): return self._scr class Label(Widget): def __init__(self, y, x, text=None, attr=0): super().__init__() self.x = x self.y = y self.attr = attr self.text = text self.scr = None def set_text(self, text, attr=None): self.text = text if attr: self.attr = attr self.refresh() def get_text(self): return self.current_text def refresh(self): if not self.scr: self.scr = self.get_toplevel().get_screen() self.current_text = self.text() if callable(self.text) else self.text self.current_attr = self.attr() if callable(self.attr) else self.attr if isinstance(self.current_text, list): for i, line in enumerate(self.current_text): self.scr.addstr(self.y + i, self.x, line or "", self.current_attr) else: self.scr.addstr(self.y, self.x, self.current_text or "", self.current_attr) class TaggedLabel(Label): def __init__(self, y, x, text=None, tag=None, attr=0): super().__init__(y, x, text, attr) self.orig_x, self.orig_y = x, y self.add_child("tag", Label(y, x, *tag)) def refresh(self): tag = self.get_child("tag") tag.refresh() self.x = self.orig_x + len(tag.get_text()) + 1 super().refresh() self.scr.addstr(self.y, self.x - 1, " ") class Line(Label): def refresh(self): super().refresh() self.scr.chgat(self.attr) class Pad(Widget): def __init__(self, position_policy, size_policy): super().__init__() self.h, self.w = size_policy() self._sizep = size_policy self._posp = position_policy self.pad = curses.newpad(*size_policy()) self.pad.scrollok(True) self.pad.keypad(True) self.pad.timeout(0) self.pad.nodelay(True) self.curr_y = 0 self.curr_x = 0 self.connect("KEY_UP", self.on_up) self.connect("KEY_DOWN", self.on_down) def __getattr__(self, name): return getattr(self.pad, name) def get_inner_size(self): h, w = self._sizep() return h, w - 1 def on_down(self): h, _ = self._sizep() if self.curr_y + h < self.h: self.curr_y += 1 self.refresh() def on_up(self): if self.curr_y > 0: self.curr_y -= 1 self.refresh() def set_size(self, h, w): self.h, self.w = h, w self.pad.resize(h, w) # Scroll bar def draw_scroll_bar(self): y0, x0 = self._posp() h, w = self._sizep() x = x0 + w - 1 scr = self.get_toplevel().get_screen() for i in range(h): scr.addstr(y0 + i, x, "░") bar_h = min(int(h * h / self.h) + 1, h) if bar_h != h: bar_y = int(self.curr_y / self.h * h) for i in range(bar_h): scr.addstr(y0 + bar_y + i, x, "▓") scr.refresh() def refresh(self): super().refresh() h, w = self._sizep() if self.curr_y + h > self.h: self.curr_y = 0 y1, x1 = self._posp() y2, x2 = y1 + h - 1, x1 + w - 1 self.pad.refresh(self.curr_y, self.curr_x, y1, x1, y2, x2) self.draw_scroll_bar() class Table(Pad): def __init__(self, position_policy, size_policy, columns, data_policy, hook=None): super().__init__(position_policy, size_policy) self._datap = data_policy self._cols = columns self._hook = hook def show_empty(self): h, w = self._sizep() self.pad.addstr(h >> 1, (w >> 1) - 4, "< Empty >") def set_row(self, i, row): x = 0 for j in range(len(self._cols)): text, attr = row[j] text = self._cols[j].format(text) self.pad.addstr(i, x, text, attr) x += len(text) def refresh(self): data = self._datap() h, w = self._sizep() self.set_size(max(len(data), h), w) # ??? self.pad.clear() if not data: self.show_empty() else: i = 0 for e in data: self.set_row(i, e) i += 1 try: self._hook(self.pad) except AttributeError: pass super().refresh() class CommandBar(Widget): def __init__(self, commands): super().__init__() self._cmds = commands self.scr = None self.h = 0 def refresh(self): if not self.scr: self.scr = self.get_toplevel().get_screen() h, w = self.scr.getmaxyx() x, y = 1, h - 1 for label, key in self._cmds.items(): if x + len(key) + len(label) + 3 > w: self.scr.clrtoeol() self.scr.chgat(0) x = 1 y -= 1 try: self.scr.addstr(y, x, key, curses.A_REVERSE) x += len(key) self.scr.addstr(y, x, " " + label + " ") x += len(label) + 2 except curses.error: pass self.h = h - y self.scr.chgat(0) self.scr.clrtoeol() def get_height(self): return self.h class BarPlot(Label): STEPS = [" ", "▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"] @staticmethod def bar_icon(i): i = max(0, min(i, 1)) return BarPlot.STEPS[int(i * (len(BarPlot.STEPS) - 1))] def __init__(self, y, x, width=8, scale=None, init=None, attr=0): super().__init__(y, x, attr=attr) self._values = deque([init] * width if init is not None else [], maxlen=width) self.scale = scale or 0 self.auto = not scale def push(self, value): self._values.append(value) if self.auto: self.scale = max(self._values) self.plot() return value def plot(self): self.set_text( "".join( BarPlot.bar_icon(v / self.scale if self.scale else v) for v in self._values ) ) austin/html/0000775000175000017500000000000013624027405013440 5ustar gabrielegabrieleaustin/html/__init__.py0000664000175000017500000000243613463151746015565 0ustar gabrielegabriele"""HTML resource handling utilities.""" from pkg_resources import resource_filename, resource_string def replace_references(text): """Replace {{ reference }} with the content of the referenced resource.""" begin = 0 while True: begin = text.find(b"{{", begin) if begin < 0: break end = text.find(b"}}", begin) + 2 placeholder = text[begin:end] reference = placeholder[2:-2].strip() resource = resource_string("austin.html", reference.decode()) text = text.replace(placeholder, replace_references(resource)) begin += len(resource) return text def replace_links(text): """Replace [[ link ]] with a link to the referenced resource.""" begin = 0 while True: begin = text.find(b"[[", begin) if begin < 0: break end = text.find(b"]]", begin) + 2 placeholder = text[begin:end] reference = placeholder[2:-2].strip().decode() link = "file://" + resource_filename("austin.html", reference) text = text.replace(placeholder, link.encode()) begin += len(link) return text def load_site(): template = resource_string("austin.html", "index.html") index = replace_links(replace_references(template)) return index austin/html/flamegraph.js0000664000175000017500000000531413624027405016107 0ustar gabrielegabriele// ---- Manage the Flame Graph view ------------------------------------------- String.prototype.toHHMMSS = function () { var sec_num = parseInt(this, 10); // don't forget the second param var hours = Math.floor(sec_num / 3600); var minutes = Math.floor((sec_num - (hours * 3600)) / 60); var seconds = sec_num - (hours * 3600) - (minutes * 60); if (hours < 10) {hours = "0"+hours;} if (minutes < 10) {minutes = "0"+minutes;} if (seconds < 10) {seconds = "0"+seconds;} return hours+':'+minutes+':'+seconds; } function time_label(d, parent) { return ( d.data.name + " 🕘 " + (d.data.value/1000000).toString().toHHMMSS() + " (" + (d.data.value / parent.data.value * 100).toFixed(2) + "%)" ) } function memory_label(d, parent) { value = d.data.value < 1024 ? (d.data.value.toString() + " KB") : (d.data.value >> 10).toString() + " MB"; return ( d.data.name + " " + value + " (" + (d.data.value / parent.data.value * 100).toFixed(2) + "%)" ) } var label_map = {"t": time_label, "m": memory_label}; var label = time_label; // This gets set by webocket.js // ---------------------------------------------------------------------------- var flameGraph = d3.flamegraph() .height(0) .width(document.getElementById('chart').offsetWidth) .cellHeight(18) .transitionDuration(250) .minFrameSize(0) .transitionEase(d3.easeCubic) .sort(true) .title("") .label(function (d) { var c = "" for (var e in d) {c += " " + e;} var parent = d; try { while (parent.parent.parent) { parent = parent.parent; } } catch(err) { // parent.parent is undefied } return label(d, parent) } ); flameGraph.setHeight = function (height) { flameGraph.height(height * 18); d3.select("#chart svg").style("height", height * 18); } flameGraph.setWidth = function (width) { flameGraph.width(width); d3.select("#chart svg").style("width", width); } var details = document.getElementById("details"); flameGraph.setDetailsElement(details); var start = { "name": "root", "value": 1, "children": [] } d3.select("#chart") .datum(start) .call(flameGraph); document.getElementById("form").addEventListener("submit", function (event) { event.preventDefault(); search(); }); function search() { var term = document.getElementById("term").value; if (term) { flameGraph.search(term); } } function onSearch() { var term = document.getElementById("term").value; if (!term) { clear(); } } function clear() { // document.getElementById('term').value = ''; flameGraph.clear(); } function resetZoom() { flameGraph.resetZoom(); } function onresize() { flameGraph.setWidth(document.getElementById('chart').offsetWidth); } austin/html/websocket.js0000664000175000017500000000446613624027405015776 0ustar gabrielegabriele// ---- Web Socket ------------------------------------------------------------ function get_ws_url() { var loc = window.location, new_uri; if (loc.protocol === "https:") { new_uri = "wss:"; } else { new_uri = "ws:"; } return new_uri + "//" + loc.host + loc.pathname + "ws"; } var webSocket = new WebSocket(get_ws_url()); // ---- On Message ---- webSocket.onmessage = function (event) { var payload = JSON.parse(event.data); switch (payload.type) { case "sample": flameGraph.setHeight(payload.height); flameGraph.setWidth(document.getElementById('chart').offsetWidth); flameGraph.merge(payload.data); document.getElementById('samples').innerHTML = payload.samples; document.getElementById('cpu').innerHTML = payload.cpu + "%"; document.getElementById('memory').innerHTML = payload.memory + " MB"; break; case "info": document.getElementById('pid').innerHTML = payload.pid; document.getElementById('command').innerHTML = payload.command; document.getElementById('profiletype').innerHTML = payload.metric == "t" ? "Time Profile" : "Memory Profile"; label = label_map[payload.metric]; } } // ---- On Open ---- var isOpen = false; webSocket.onopen = function (event) { isOpen = true; setStatusColor("green"); dataInterval = setDataInterval(); } // ---- On Close ---- webSocket.onclose = function (event) { setStatusColor("red"); clearInterval(durationInterval); isOpen = false; // TODO: Disable play button } // ---- Data Interval ---- function setDataInterval() { webSocket.send("data"); return setInterval( function () { webSocket.send("data"); }, 3000 ); } function setStatusColor(color) { d3.select("#status") .classed("bg-green-700", color == "green") .classed("bg-red-700", color == "red") .classed("bg-yellow-700", color == "yellow"); } function togglePlay() { if (!isOpen) { return; } if (isPlaying) { clearInterval(dataInterval); setStatusColor("yellow"); d3.select(".fa-pause").classed("fa-play", true).classed("fa-pause", false); } else { dataInterval = setDataInterval(); setStatusColor("green"); d3.select(".fa-play").classed("fa-play", false).classed("fa-pause", true); } isPlaying = !isPlaying; } // ---- Init ---- var dataInterval; var isPlaying = true; austin/html/main.css0000664000175000017500000000100513463151746015101 0ustar gabrielegabriele@import url('https://fonts.googleapis.com/css?family=Montserrat:400,600,700'); /* Custom page header */ .header { padding-bottom: 20px; padding-right: 15px; padding-left: 15px; border-bottom: 1px solid #e5e5e5; } /* Make the masthead heading the same height as the navigation */ .header h3 { margin-top: 0; margin-bottom: 0; line-height: 40px; } /* Customize container */ .container { max-width: 990px; } body { overflow: hidden; font-family: 'Montserrat'; } #details { min-height: 32px; } austin/html/index.html0000664000175000017500000000334313467373353015453 0ustar gabrielegabriele Web Austin {{ ui.html }} austin/html/ui.html0000664000175000017500000000471013624027405014745 0ustar gabrielegabriele

{{ austin.svg }}
|

PID Command
No. of Samples
austin/html/austin.svg0000664000175000017500000001714213463151746015500 0ustar gabrielegabriele image/svg+xml austin/html/duration.js0000664000175000017500000000044313463151746015633 0ustar gabrielegabriele// ---- Update the duration label in the status bar. ---- var start_time = Date.now(); var durationInterval = setInterval( function () { var duration = ((Date.now() - start_time)/1000).toString().toHHMMSS() document.getElementById("duration").innerHTML = duration; }, 1000 ) austin/main.py0000664000175000017500000000132213624027405013770 0ustar gabrielegabrieleimport curses import sys from austin import AustinArgumentParser, AustinError from austin.tui import AustinTUI def curses_app(scr, args): with AustinTUI(scr) as austin_tui: austin_tui.start(args) def main(): arg_parser = AustinArgumentParser(name="austin-tui", full=False, alt_format=False) arg_parser.add_argument( "-l", "--linenos", action="store_true", help="Show line numbers" ) parsed_args = arg_parser.parse_args(sys.argv[1:]) try: curses.wrapper(lambda scr: curses_app(scr, parsed_args)) except KeyboardInterrupt: pass except AustinError as e: print(f"Cannot start Austin: {e}") exit(1) if __name__ == "__main__": main() austin/format/0000775000175000017500000000000013624027405013764 5ustar gabrielegabrieleaustin/format/speedscope.py0000664000175000017500000001115213624027405016470 0ustar gabrielegabrieleimport json from austin.stats import parse_line def _generate_profiles(source: any): shared_frames = [] frame_index = {} profiles = {} def get_profile(name, unit): if name not in profiles: profiles[name] = { "type": "sampled", "name": name, "unit": unit, "startValue": 0, "endValue": 0, "samples": [], "weights": [], } return profiles[name] def add_frames_to_thread_profile(thread_profile, frames, metric): stack = [] for frame in frames: frame_id = f"{frame[0]}@{frame[1]}" if frame_id not in frame_index: frame_index[frame_id] = len(shared_frames) frame_name, frame_file = frame[0].split(maxsplit=1) frame_file = frame_file[1:-1] frame_line = int(frame[1][1:]) shared_frames.append( {"name": frame_name, "file": frame_file, "line": frame_line} ) stack.append(frame_index[frame_id]) thread_profile["samples"].append(stack) thread_profile["weights"].append(metric) thread_profile["endValue"] += metric # Assume full metrics line = next(source) full = True try: parse_line(line, True) except ValueError as e: full = False for line in source: if b"Bad sample" in line: continue process, thread, frames, metrics = parse_line(line, full) frames = [(frames[2 * i], frames[2 * i + 1]) for i in range(len(frames) >> 1)] if process: thread = f"Thread {process.split()[1]}:{thread.split()[1]}" add_frames_to_thread_profile( get_profile(f"Time profile of {thread}", "microseconds"), frames, metrics[0] ) if full: add_frames_to_thread_profile( get_profile(f"Memory allocation profile of {thread}", "bytes"), frames, metrics[1] << 10, ) add_frames_to_thread_profile( get_profile(f"Memory release profile of {thread}", "bytes"), frames, (-metrics[2]) << 10, ) return shared_frames, profiles def _generate_json(frames, profiles, name): return { "$schema": "https://www.speedscope.app/file-format-schema.json", "shared": {"frames": frames}, "profiles": sorted( [profile for _, profile in profiles.items()], key=lambda profile: profile["name"].rsplit(maxsplit=1)[-1], ), "name": name, "exporter": "Austin2Speedscope Converter 0.1.0", } def to_speedscope(source: any, name: str): """Convert a list of collapsed samples to the speedscope JSON format. The result is a Python ``dict`` that complies with the Speedscope JSON schema and that can be exported to a JSON file with a straight call to ``json.dump``. Args: source (any): Any object that behaves like a generator of strings, e.g. an open file. name () full (bool): Whether to treat each line as having a full set of metrics. Returns: (dict): a dictionary that complies with the speedscope JSON schema. """ return _generate_json(*_generate_profiles(source), name) def main(): import os, sys from argparse import ArgumentParser arg_parser = ArgumentParser( prog="austin2speedscope", description=( "Convert Austin generated profiles to the Speedscope JSON format " "accepted by https://speedscope.app. The output will contain a profile " "for each thread and metric included in the input file." ), ) arg_parser.add_argument( "input", type=str, help="The input file containing Austin samples in normal format.", ) arg_parser.add_argument( "output", type=str, help="The name of the output Speedscope JSON file." ) arg_parser.add_argument( "--indent", type=int, help="Give a non-null value to prettify the JSON output." ) arg_parser.add_argument("-V", "--version", action="version", version="0.1.0") args = arg_parser.parse_args() try: with open(args.input, "rb") as fin: json.dump( to_speedscope(fin, os.path.basename(args.input)), open(args.output, "w"), indent=args.indent, ) except FileNotFoundError: print(f"No such input file: {args.input}") exit(1) if __name__ == "__main__": main() AUTHORS0000664000175000017500000000005513354232100012227 0ustar gabrielegabrieleGabriele N. Tornetta ChangeLog0000664000175000017500000000434613661542344012757 0ustar gabrielegabriele2020-05-16 v1.0.1 Bugfix: Fixed broken support for Python 3.8 on MacOS. 2019-07-28 v1.0.0 Austin can now profile multi-process Python application: When attaching Austin to an already running multi-process application it is enough to provide the process ID of the parent process. Austin will then discover all the child processes and profile those too. To tell Austin to look for child processes, use the new -C switch from the command line. Austin can now profile Python 3.8 applications. 2019-07-28 v0.7.0 Austin can now profile memory usage and output samples to a file. Added new command line options: - --memory, -m: Switch to memory profling mode - --full, -f: Generate samples with a full set of metrics, which include timing and memory profiling information. Note that the output from this mode needs to be processed before it can be used with FlameGraph. - --output, -o: Designate an output file for the collected samples. 2018-10-15 v0.6.0-beta Introduced native support for MacOS and Windows. 2018-10-10 v0.5.0-beta Added support for all the major releases of Python 2 and 3 on 32-bit Linux. 2018-10-08 v0.4.0-alpha Added support for all the major releases of Python 2 and 3 on 64-bit Linux. 2018-10-02 v0.3.1-alpha Bugfix: Austin can now attach to a running Python process again. 2018-09-30 v0.3.0-alpha Austin now supports Python 3.3, 3.4, 3.5 and 3.7 on x86_64 Linux. 2018-09-26 v0.2.0-alpha Austin can now be attached to a running Python 3 process. Added new command line options: - --alt-format, -a: Use the alternative format for collapsed stack samples. - --exclude-empty, -e: Exclude samples of threads with no frame stacks. Usually, these are Python threads created by C extensions, whose code cannot currently be traced. - --sleepless, -s: Suppress idle samples. These are samples where a call to wait has been made and the thread sits there doing nothing. Fixed a bug that caused some valid thread samples to be marked as invalid. Austin has been tested successfully on Windows 10 64-bit via WSL. 2018-09-20 v0.1.0-alpha Initial release. choco/0000775000175000017500000000000013662063771012274 5ustar gabrielegabrielechoco/tools/0000775000175000017500000000000013662063771013434 5ustar gabrielegabrielechoco/tools/chocolateyinstall.ps10000664000175000017500000000120713662063771017602 0ustar gabrielegabriele$ErrorActionPreference = 'Stop'; $toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)" $url64 = 'https://github.com/P403n1x87/austin/releases/download/v%VERSION%/austin-%VERSION%-win64.msi' $packageArgs = @{ packageName = $env:ChocolateyPackageName unzipLocation = $toolsDir fileType = 'MSI' url64bit = $url64 softwareName = 'austin*' checksum64 = '%WIN_MSI_HASH%' checksumType64= 'sha256' silentArgs = "/qn /norestart /l*v `"$($env:TEMP)\$($packageName).$($env:chocolateyPackageVersion).MsiInstall.log`"" validExitCodes= @(0, 3010, 1641) } Install-ChocolateyPackage @packageArgs choco/austin.nuspec0000664000175000017500000000315013662063771015015 0ustar gabrielegabriele austin %VERSION% https://github.com/P403n1x87/austin/tree/release/choco/choco Gabriele N. Tornetta Austin (Install) Gabriele N. Tornetta https://github.com/P403n1x87/austin https://rawcdn.githack.com/P403n1x87/austin/8bea939fc7088a7ed1d2012d819890eecd8753c4/art/austin_logo.png 2018 Gabriele N. Tornetta https://github.com/P403n1x87/austin/raw/master/LICENSE.md true https://github.com/P403n1x87/austin https://github.com/P403n1x87/austin/issues python profiling A Frame Stack Sampler for CPython Austin is a Python frame stack sampler for CPython written in pure C. It samples the stack traces of a Python application so that they can be visualised and analysed. As such, it serves the basis for building powerful profilers for Python. CODE-OF-CONDUCT.md0000664000175000017500000000626313354232100013621 0ustar gabrielegabriele# Contributor Covenant Code of Conduct ## Our Pledge In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. ## Our Standards Examples of behavior that contributes to creating a positive environment include: * Using welcoming and inclusive language * Being respectful of differing viewpoints and experiences * Gracefully accepting constructive criticism * Focusing on what is best for the community * Showing empathy towards other community members Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery and unwelcome sexual attention or advances * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or electronic address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [INSERT EMAIL ADDRESS]. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html [homepage]: https://www.contributor-covenant.org configure.ac0000664000175000017500000000151713661542344013470 0ustar gabrielegabriele# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) AC_INIT([austin], [1.0.1], [https://github.com/p403n1x87/austin/issues]) AC_CONFIG_SRCDIR([config.h.in]) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE : ${CFLAGS=""} # Checks for programs. AC_PROG_CC_C99 AC_PROG_CPP # Use the C language and compiler for the following checks AC_LANG([C]) # Checks for libraries. # Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([stddef.h stdlib.h string.h syslog.h unistd.h stdio.h]) # Checks for typedefs, structures, and compiler characteristics. AC_TYPE_PID_T AC_TYPE_SSIZE_T # Checks for library functions. AC_FUNC_FORK AC_FUNC_MALLOC AC_FUNC_REALLOC AC_CHECK_FUNCS([strstr]) AC_CONFIG_FILES([Makefile src/Makefile]) AC_OUTPUT CONTRIBUTING.md0000664000175000017500000000655113354232100013417 0ustar gabrielegabriele# Contributing to Austin Thanks for taking the time to contribute or considering doing so. The following is a set of guidelines for contributing to Austin. ## Preamble Presently, Austin is mainly a C project. The reason behind this is because CPython is written in C, and therefore this is the most natural choice of language for anything that needs to interface to its ABI. ## The Coding Style The Python C API is written in an Object Oriented style. Austin adopts this style too. Some translation unit are used to export a main "object". For example, the `py_code.c` source exports the type `py_code_t`, which is Austin's representation of the analogous `PyCodeObject` from the Python C API. Utility units, like `mem.c` or `logging.c` need not export objects, but may implement a singleton pattern. ### Conventions Every object is a structure that takes a name of the form `_t`, and is declared in a pair of sources `object.c` and `object.h`. #### Methods Methods should have a general structure that includes the object name as a prefix, and the rest must give a short description of what the method does. If the method is a _class_ method, then the prefix and the method description is separated by only one underscore `_`. For instance method, the separator is a double underscore `__`. Private methods, i.e. those that are used only within the translation unit, must be `static` and prefixed with an underscore `_` so that they can be easly recognised in the code. To summarise, here is an example of the above rules in place for an object of type `object_t`. | Method Type | Example | | ----------------------- | ------------------------- | | Private class method | `_object_get_version` | | Private instance method | `_object__get_rgba_value` | | Public class method | `object_new` | | Public instance method | `object__get_color` | #### Objects Life-cycle Every translation unit that exports an object type that can be instantiated at run-time must provide at least two public methods: the class method `_new` for object creation and the instance method `__destroy` for object disposal. There isn't enough complexity at the moment to justify the use of smart pointers, so objects are passed around by pointers, and care should be taken to destroy all the objects no longer needed to avoid memory leaks. Please make sure that your changes do not introduce any memory leaks before submitting a new PR. ### Dependencies Between Units Circular dependencies among translation units should be avoided as much as possible. Whilst sources are stored in a flat file system structure, their dependency tree should be a DAG. ## Opening PRs Everybody is more than welcome to open a PR to fix a bug/propose enhancements/ implement missing features. If you do, please adhere to the following styleguides as much as possible. ### Git Commit Messages This styleguide is taken from the Atom project. * Use the present tense ("Add feature" not "Added feature") * Use the imperative mood ("Move cursor to..." not "Moves cursor to...") * Limit the first line to 72 characters or less * Reference issues and pull requests liberally after the first line ### Labels When opening a new PR, please apply a label to them. Try to use existing labels as much as possible and only create a new one if the current ones are not applicable. COPYING0000664000175000017500000010451313354232100012216 0ustar gabrielegabriele GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . INSTALL0000644000175000017500000003661413662062311012227 0ustar gabrielegabrieleInstallation Instructions ************************* Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell command './configure && make && make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the 'README' file for instructions specific to this package. Some packages provide this 'INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The 'configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a 'Makefile' in each directory of the package. It may also create one or more '.h' files containing system-dependent definitions. Finally, it creates a shell script 'config.status' that you can run in the future to recreate the current configuration, and a file 'config.log' containing compiler output (useful mainly for debugging 'configure'). It can also use an optional file (typically called 'config.cache' and enabled with '--cache-file=config.cache' or simply '-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how 'configure' could check whether to do them, and mail diffs or instructions to the address given in the 'README' so they can be considered for the next release. If you are using the cache, and at some point 'config.cache' contains results you don't want to keep, you may remove or edit it. The file 'configure.ac' (or 'configure.in') is used to create 'configure' by a program called 'autoconf'. You need 'configure.ac' if you want to change it or regenerate 'configure' using a newer version of 'autoconf'. The simplest way to compile this package is: 1. 'cd' to the directory containing the package's source code and type './configure' to configure the package for your system. Running 'configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type 'make' to compile the package. 3. Optionally, type 'make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type 'make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the 'make install' phase executed with root privileges. 5. Optionally, type 'make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior 'make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing 'make clean'. To also remove the files that 'configure' created (so you can compile the package for a different kind of computer), type 'make distclean'. There is also a 'make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type 'make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide 'make distcheck', which can by used by developers to test that all other targets like 'make install' and 'make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the 'configure' script does not know about. Run './configure --help' for details on some of the pertinent environment variables. You can give 'configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU 'make'. 'cd' to the directory where you want the object files and executables to go and run the 'configure' script. 'configure' automatically checks for the source code in the directory that 'configure' is in and in '..'. This is known as a "VPATH" build. With a non-GNU 'make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use 'make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple '-arch' options to the compiler but only a single '-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the 'lipo' tool if you have problems. Installation Names ================== By default, 'make install' installs the package's commands under '/usr/local/bin', include files under '/usr/local/include', etc. You can specify an installation prefix other than '/usr/local' by giving 'configure' the option '--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option '--exec-prefix=PREFIX' to 'configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like '--bindir=DIR' to specify different values for particular kinds of files. Run 'configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of '${prefix}', so that specifying just '--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to 'configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the 'make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, 'make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of '${prefix}'. Any directories that were specified during 'configure', but not in terms of '${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the 'DESTDIR' variable. For example, 'make install DESTDIR=/alternate/directory' will prepend '/alternate/directory' before all installation names. The approach of 'DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of '${prefix}' at 'configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving 'configure' the option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'. Some packages pay attention to '--enable-FEATURE' options to 'configure', where FEATURE indicates an optional part of the package. They may also pay attention to '--with-PACKAGE' options, where PACKAGE is something like 'gnu-as' or 'x' (for the X Window System). The 'README' should mention any '--enable-' and '--with-' options that the package recognizes. For packages that use the X Window System, 'configure' can usually find the X include and library files automatically, but if it doesn't, you can use the 'configure' options '--x-includes=DIR' and '--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of 'make' will be. For these packages, running './configure --enable-silent-rules' sets the default to minimal output, which can be overridden with 'make V=1'; while running './configure --disable-silent-rules' sets the default to verbose, which can be overridden with 'make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. HP-UX 'make' updates targets which have the same time stamps as their prerequisites, which makes it generally unusable when shipped generated files such as 'configure' are involved. Use GNU 'make' instead. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its '' header file. The option '-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put '/usr/ucb' early in your 'PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in '/usr/bin'. So, if you need '/usr/ucb' in your 'PATH', put it _after_ '/usr/bin'. On Haiku, software installed for all users goes in '/boot/common', not '/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features 'configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, 'configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the '--build=TYPE' option. TYPE can either be a short name for the system type, such as 'sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file 'config.sub' for the possible values of each field. If 'config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option '--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with '--host=TYPE'. Sharing Defaults ================ If you want to set default values for 'configure' scripts to share, you can create a site shell script called 'config.site' that gives default values for variables like 'CC', 'cache_file', and 'prefix'. 'configure' looks for 'PREFIX/share/config.site' if it exists, then 'PREFIX/etc/config.site' if it exists. Or, you can set the 'CONFIG_SITE' environment variable to the location of the site script. A warning: not all 'configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to 'configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the 'configure' command line, using 'VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified 'gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an Autoconf limitation. Until the limitation is lifted, you can use this workaround: CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash 'configure' Invocation ====================== 'configure' recognizes the following options to control how it operates. '--help' '-h' Print a summary of all of the options to 'configure', and exit. '--help=short' '--help=recursive' Print a summary of the options unique to this package's 'configure', and exit. The 'short' variant lists options used only in the top level, while the 'recursive' variant lists options also present in any nested packages. '--version' '-V' Print the version of Autoconf used to generate the 'configure' script, and exit. '--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally 'config.cache'. FILE defaults to '/dev/null' to disable caching. '--config-cache' '-C' Alias for '--cache-file=config.cache'. '--quiet' '--silent' '-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to '/dev/null' (any error messages will still be shown). '--srcdir=DIR' Look for the package's source code in directory DIR. Usually 'configure' can determine that directory automatically. '--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. '--no-create' '-n' Run the configure checks, but stop before creating any output files. 'configure' also accepts some other, not widely useful, options. Run 'configure --help' for more details. ISSUE_TEMPLATE.md0000664000175000017500000000114613354232100013666 0ustar gabrielegabriele### Description [Description of the issue] ### Steps to Reproduce 1. [First Step] 2. [Second Step] 3. [and so on...] **Expected behavior:** [What you expect to happen] **Actual behavior:** [What actually happens] **Reproduces how often:** [What percentage of the time does it reproduce?] ### Versions You can get this information from copy and pasting the output of `austin --version` from the command line. Also, please include the OS and what version of the OS you're running. ### Additional Information Any additional information, configuration or data that might be necessary to reproduce the issue. LICENSE.md0000664000175000017500000010417113354232100012567 0ustar gabrielegabriele# GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 [Free Software Foundation, Inc.](http://fsf.org/) Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. ## Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: 1. assert copyright on the software, and 2. offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. ## TERMS AND CONDITIONS ### 0. Definitions. *This License* refers to version 3 of the GNU General Public License. *Copyright* also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. *The Program* refers to any copyrightable work licensed under this License. Each licensee is addressed as *you*. *Licensees* and *recipients* may be individuals or organizations. To *modify* a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a *modified version* of the earlier work or a work *based on* the earlier work. A *covered work* means either the unmodified Program or a work based on the Program. To *propagate* a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To *convey* a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays *Appropriate Legal Notices* to the extent that it includes a convenient and prominently visible feature that 1. displays an appropriate copyright notice, and 2. tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. ### 1. Source Code. The *source code* for a work means the preferred form of the work for making modifications to it. *Object code* means any non-source form of a work. A *Standard Interface* means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The *System Libraries* of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A *Major Component*, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The *Corresponding Source* for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. ### 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. ### 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. ### 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. ### 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: - a) The work must carry prominent notices stating that you modified it, and giving a relevant date. - b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to *keep intact all notices*. - c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. - d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an *aggregate* if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. ### 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: - a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. - b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either 1. a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or 2. access to copy the Corresponding Source from a network server at no charge. - c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. - d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. - e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A *User Product* is either 1. a *consumer product*, which means any tangible personal property which is normally used for personal, family, or household purposes, or 2. anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, *normally used* refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. *Installation Information* for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. ### 7. Additional Terms. *Additional permissions* are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: - a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or - b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or - c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or - d) Limiting the use for publicity purposes of names of licensors or authors of the material; or - e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or - f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered *further restrictions* within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. ### 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated - a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and - b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. ### 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. ### 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An *entity transaction* is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. ### 11. Patents. A *contributor* is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's *contributor version*. A contributor's *essential patent claims* are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, *control* includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a *patent license* is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To *grant* such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either 1. cause the Corresponding Source to be so available, or 2. arrange to deprive yourself of the benefit of the patent license for this particular work, or 3. arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. *Knowingly relying* means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is *discriminatory* if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license - a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or - b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. ### 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. ### 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. ### 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License *or any later version* applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. ### 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. ### 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ### 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. ## END OF TERMS AND CONDITIONS ### ### How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the *copyright* line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w` and `show c` should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an *about box*. You should also get your employer (if you work as a programmer) or school, if any, to sign a *copyright disclaimer* for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see [http://www.gnu.org/licenses/](http://www.gnu.org/licenses/). The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read [http://www.gnu.org/philosophy/why-not-lgpl.html](http://www.gnu.org/philosophy/why-not-lgpl.html). Makefile.am0000664000175000017500000000013313425566471013234 0ustar gabrielegabrieleSUBDIRS = \ src TESTS = test/test.bats TEST_EXTENSIONS = .bats BATS_LOG_COMPILER = bats MANIFEST.in0000664000175000017500000000002613463151746012734 0ustar gabrielegabrieleinclude austin/html/* NEWS0000664000175000017500000000000013354232100011644 0ustar gabrielegabrielePipfile0000664000175000017500000000026413553064400012503 0ustar gabrielegabriele[[source]] name = "pypi" url = "https://pypi.org/simple" verify_ssl = true [dev-packages] [packages] pyfiglet = "*" psutil = "*" aiohttp = "*" [requires] python_version = "3.6" Pipfile.lock0000664000175000017500000002246413553064413013444 0ustar gabrielegabriele{ "_meta": { "hash": { "sha256": "67250c90a99d228b2dc0dfba731e0027966dadcecb601f55a0eb0580f2c68d6d" }, "pipfile-spec": 6, "requires": { "python_version": "3.6" }, "sources": [ { "name": "pypi", "url": "https://pypi.org/simple", "verify_ssl": true } ] }, "default": { "aiohttp": { "hashes": [ "sha256:00d198585474299c9c3b4f1d5de1a576cc230d562abc5e4a0e81d71a20a6ca55", "sha256:0155af66de8c21b8dba4992aaeeabf55503caefae00067a3b1139f86d0ec50ed", "sha256:09654a9eca62d1bd6d64aa44db2498f60a5c1e0ac4750953fdd79d5c88955e10", "sha256:199f1d106e2b44b6dacdf6f9245493c7d716b01d0b7fbe1959318ba4dc64d1f5", "sha256:296f30dedc9f4b9e7a301e5cc963012264112d78a1d3094cd83ef148fdf33ca1", "sha256:368ed312550bd663ce84dc4b032a962fcb3c7cae099dbbd48663afc305e3b939", "sha256:40d7ea570b88db017c51392349cf99b7aefaaddd19d2c78368aeb0bddde9d390", "sha256:629102a193162e37102c50713e2e31dc9a2fe7ac5e481da83e5bb3c0cee700aa", "sha256:6d5ec9b8948c3d957e75ea14d41e9330e1ac3fed24ec53766c780f82805140dc", "sha256:87331d1d6810214085a50749160196391a712a13336cd02ce1c3ea3d05bcf8d5", "sha256:9a02a04bbe581c8605ac423ba3a74999ec9d8bce7ae37977a3d38680f5780b6d", "sha256:9c4c83f4fa1938377da32bc2d59379025ceeee8e24b89f72fcbccd8ca22dc9bf", "sha256:9cddaff94c0135ee627213ac6ca6d05724bfe6e7a356e5e09ec57bd3249510f6", "sha256:a25237abf327530d9561ef751eef9511ab56fd9431023ca6f4803f1994104d72", "sha256:a5cbd7157b0e383738b8e29d6e556fde8726823dae0e348952a61742b21aeb12", "sha256:a97a516e02b726e089cffcde2eea0d3258450389bbac48cbe89e0f0b6e7b0366", "sha256:acc89b29b5f4e2332d65cd1b7d10c609a75b88ef8925d487a611ca788432dfa4", "sha256:b05bd85cc99b06740aad3629c2585bda7b83bd86e080b44ba47faf905fdf1300", "sha256:c2bec436a2b5dafe5eaeb297c03711074d46b6eb236d002c13c42f25c4a8ce9d", "sha256:cc619d974c8c11fe84527e4b5e1c07238799a8c29ea1c1285149170524ba9303", "sha256:d4392defd4648badaa42b3e101080ae3313e8f4787cb517efd3f5b8157eaefd6", "sha256:e1c3c582ee11af7f63a34a46f0448fca58e59889396ffdae1f482085061a2889" ], "index": "pypi", "version": "==3.5.4" }, "async-timeout": { "hashes": [ "sha256:0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f", "sha256:4291ca197d287d274d0b6cb5d6f8f8f82d434ed288f962539ff18cc9012f9ea3" ], "version": "==3.0.1" }, "attrs": { "hashes": [ "sha256:69c0dbf2ed392de1cb5ec704444b08a5ef81680a61cb899dc08127123af36a79", "sha256:f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399" ], "version": "==19.1.0" }, "chardet": { "hashes": [ "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" ], "version": "==3.0.4" }, "idna": { "hashes": [ "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407", "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c" ], "version": "==2.8" }, "idna-ssl": { "hashes": [ "sha256:a933e3bb13da54383f9e8f35dc4f9cb9eb9b3b78c6b36f311254d6d0d92c6c7c" ], "markers": "python_version < '3.7'", "version": "==1.1.0" }, "multidict": { "hashes": [ "sha256:024b8129695a952ebd93373e45b5d341dbb87c17ce49637b34000093f243dd4f", "sha256:041e9442b11409be5e4fc8b6a97e4bcead758ab1e11768d1e69160bdde18acc3", "sha256:045b4dd0e5f6121e6f314d81759abd2c257db4634260abcfe0d3f7083c4908ef", "sha256:047c0a04e382ef8bd74b0de01407e8d8632d7d1b4db6f2561106af812a68741b", "sha256:068167c2d7bbeebd359665ac4fff756be5ffac9cda02375b5c5a7c4777038e73", "sha256:148ff60e0fffa2f5fad2eb25aae7bef23d8f3b8bdaf947a65cdbe84a978092bc", "sha256:1d1c77013a259971a72ddaa83b9f42c80a93ff12df6a4723be99d858fa30bee3", "sha256:1d48bc124a6b7a55006d97917f695effa9725d05abe8ee78fd60d6588b8344cd", "sha256:31dfa2fc323097f8ad7acd41aa38d7c614dd1960ac6681745b6da124093dc351", "sha256:34f82db7f80c49f38b032c5abb605c458bac997a6c3142e0d6c130be6fb2b941", "sha256:3d5dd8e5998fb4ace04789d1d008e2bb532de501218519d70bb672c4c5a2fc5d", "sha256:4a6ae52bd3ee41ee0f3acf4c60ceb3f44e0e3bc52ab7da1c2b2aa6703363a3d1", "sha256:4b02a3b2a2f01d0490dd39321c74273fed0568568ea0e7ea23e02bd1fb10a10b", "sha256:4b843f8e1dd6a3195679d9838eb4670222e8b8d01bc36c9894d6c3538316fa0a", "sha256:5de53a28f40ef3c4fd57aeab6b590c2c663de87a5af76136ced519923d3efbb3", "sha256:61b2b33ede821b94fa99ce0b09c9ece049c7067a33b279f343adfe35108a4ea7", "sha256:6a3a9b0f45fd75dc05d8e93dc21b18fc1670135ec9544d1ad4acbcf6b86781d0", "sha256:76ad8e4c69dadbb31bad17c16baee61c0d1a4a73bed2590b741b2e1a46d3edd0", "sha256:7ba19b777dc00194d1b473180d4ca89a054dd18de27d0ee2e42a103ec9b7d014", "sha256:7c1b7eab7a49aa96f3db1f716f0113a8a2e93c7375dd3d5d21c4941f1405c9c5", "sha256:7fc0eee3046041387cbace9314926aa48b681202f8897f8bff3809967a049036", "sha256:8ccd1c5fff1aa1427100ce188557fc31f1e0a383ad8ec42c559aabd4ff08802d", "sha256:8e08dd76de80539d613654915a2f5196dbccc67448df291e69a88712ea21e24a", "sha256:c18498c50c59263841862ea0501da9f2b3659c00db54abfbf823a80787fde8ce", "sha256:c49db89d602c24928e68c0d510f4fcf8989d77defd01c973d6cbe27e684833b1", "sha256:ce20044d0317649ddbb4e54dab3c1bcc7483c78c27d3f58ab3d0c7e6bc60d26a", "sha256:d1071414dd06ca2eafa90c85a079169bfeb0e5f57fd0b45d44c092546fcd6fd9", "sha256:d3be11ac43ab1a3e979dac80843b42226d5d3cccd3986f2e03152720a4297cd7", "sha256:db603a1c235d110c860d5f39988ebc8218ee028f07a7cbc056ba6424372ca31b" ], "version": "==4.5.2" }, "psutil": { "hashes": [ "sha256:206eb909aa8878101d0eca07f4b31889c748f34ed6820a12eb3168c7aa17478e", "sha256:649f7ffc02114dced8fbd08afcd021af75f5f5b2311bc0e69e53e8f100fe296f", "sha256:6ebf2b9c996bb8c7198b385bade468ac8068ad8b78c54a58ff288cd5f61992c7", "sha256:753c5988edc07da00dafd6d3d279d41f98c62cd4d3a548c4d05741a023b0c2e7", "sha256:76fb0956d6d50e68e3f22e7cc983acf4e243dc0fcc32fd693d398cb21c928802", "sha256:828e1c3ca6756c54ac00f1427fdac8b12e21b8a068c3bb9b631a1734cada25ed", "sha256:a4c62319ec6bf2b3570487dd72d471307ae5495ce3802c1be81b8a22e438b4bc", "sha256:acba1df9da3983ec3c9c963adaaf530fcb4be0cd400a8294f1ecc2db56499ddd", "sha256:ef342cb7d9b60e6100364f50c57fa3a77d02ff8665d5b956746ac01901247ac4" ], "index": "pypi", "version": "==5.6.2" }, "pyfiglet": { "hashes": [ "sha256:c6c2321755d09267b438ec7b936825a4910fec696292139e664ca8670e103639", "sha256:d555bcea17fbeaf70eaefa48bb119352487e629c9b56f30f383e2c62dd67a01c" ], "index": "pypi", "version": "==0.8.post1" }, "typing-extensions": { "hashes": [ "sha256:07b2c978670896022a43c4b915df8958bec4a6b84add7f2c87b2b728bda3ba64", "sha256:f3f0e67e1d42de47b5c67c32c9b26641642e9170fe7e292991793705cd5fef7c", "sha256:fb2cd053238d33a8ec939190f30cfd736c00653a85a2919415cecf7dc3d9da71" ], "markers": "python_version < '3.7'", "version": "==3.7.2" }, "yarl": { "hashes": [ "sha256:024ecdc12bc02b321bc66b41327f930d1c2c543fa9a561b39861da9388ba7aa9", "sha256:2f3010703295fbe1aec51023740871e64bb9664c789cba5a6bdf404e93f7568f", "sha256:3890ab952d508523ef4881457c4099056546593fa05e93da84c7250516e632eb", "sha256:3e2724eb9af5dc41648e5bb304fcf4891adc33258c6e14e2a7414ea32541e320", "sha256:5badb97dd0abf26623a9982cd448ff12cb39b8e4c94032ccdedf22ce01a64842", "sha256:73f447d11b530d860ca1e6b582f947688286ad16ca42256413083d13f260b7a0", "sha256:7ab825726f2940c16d92aaec7d204cfc34ac26c0040da727cf8ba87255a33829", "sha256:b25de84a8c20540531526dfbb0e2d2b648c13fd5dd126728c496d7c3fea33310", "sha256:c6e341f5a6562af74ba55205dbd56d248daf1b5748ec48a0200ba227bb9e33f4", "sha256:c9bb7c249c4432cd47e75af3864bc02d26c9594f49c82e2a28624417f0ae63b8", "sha256:e060906c0c585565c718d1c3841747b61c5439af2211e185f6739a9412dfbde1" ], "version": "==1.3.0" } }, "develop": {} } PULL_REQUEST_TEMPLATE.md0000664000175000017500000000221413354232100014757 0ustar gabrielegabriele### Requirements for Adding, Changing, Fixing or Removing a Feature Fill out the template below. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion. ### Description of the Change ### Alternate Designs ### Regressions ### Verification Process README0000777000175000017500000000000013354232100013311 2README.mdustar gabrielegabrieleREADME.md0000664000175000017500000004333013661542344012460 0ustar gabrielegabriele


Austin

A Frame Stack Sampler for CPython

         

Travis CI Build Status Snap Status Debian package status Version 1.0.1 LICENSE

Synopsis • Installation • Usage • Compatibility • Why Austin • Examples • Contribute


Buy Me A Coffee

----

This is the nicest profiler I’ve found for Python. It’s cross-platform, doesn’t need me to change the code that’s being profiled, and its output can be piped directly into flamegraph.pl. I just used it to pinpoint a gross misuse of SQLAlchemy at work that’s run in some code at the end of each day, and now I can go home earlier.

-- gthm on lobste.rs

Follow on Twitter

---- # Synopsis Austin is a Python frame stack sampler for CPython written in pure C. Samples are collected by reading the CPython interpreter virtual memory space in order to retrieve information about the currently running threads along with the stack of the frames that are being executed. Hence, one can use Austin to easily make powerful statistical profilers that have minimal impact on the target application and that don't require any instrumentation. The key features of Austin are: - Zero instrumentation; - Minimal impact; - Fast and lightweight; - Time and memory profiling; - Built-in support for multi-process applications (e.g. `mod_wsgi`). The simplest way to turn Austin into a full-fledged profiler is to combine it with [FlameGraph](https://github.com/brendangregg/FlameGraph). However, Austin's simple output format can be piped into any other external or custom tool for further processing. Look, for instance, at the following Python TUI

Keep reading for more tools ideas and examples! # Installation Austin is available from the major software repositories of the most popular platforms. On Linux, it can be installed using `autotools` or as a snap from the Snap Store. The latter will automatically perform the steps of the `autotools` method with a single command. On distributions derived from Debian, Austin can be installed from the official repositores with Aptitude. On Windows, Austin can be easily installed from the command line from the Chocolatey repositories. For any other platform, compiling Austin from sources is as easy as cloning the repository and running the C compiler. ## With `autotools` Installing Austin using `autotools` amounts to the usual `./configure`, `make` and `make install` finger gymnastic. The only dependency is the standard C library. ~~~ bash git clone --depth=1 https://github.com/P403n1x87/austin.git autoreconf --install ./configure make make install ~~~ Alternatively, sources can be compiled with just a C compiler (see below). ## From the Snap Store Austin can be installed on [many major Linux distributions](https://snapcraft.io/docs/installing-snapd) from the Snap Store with the following command ~~~ bash sudo snap install austin --classic ~~~ ## On Debian and Derivatives On March 30 2019 Austin was accepted into the official Debian repositories and can therefore be installed with the `apt` utility. ## From Chocolatey To install [Austin from Chocolatey](https://chocolatey.org/packages/austin), run the following command from the command line or from PowerShell ~~~ shell choco install austin ~~~ To upgrade run the following command from the command line or from PowerShell: ~~~ shell choco upgrade austin ~~~ ## From Sources To install Austin from sources using the GNU C compiler, without `autotools`, clone the repository with ~~~ bash git clone --depth=1 https://github.com/P403n1x87/austin.git ~~~ On Linux one can then use the command ~~~ bash gcc -O3 -Wall -pthread src/*.c -o src/austin ~~~ whereas on Mac OS it is enough to run ~~~ bash gcc -O3 -Wall src/*.c -o src/austin ~~~ On Windows, the `-lpsapi` switch is needed ~~~ bash gcc -O3 -Wall -lpsapi src/*.c -o src/austin ~~~ Add `-DDEBUG` if you need a more verbose log. This is useful if you encounter a bug with Austin and you want to report it here. # Usage ~~~ Usage: austin [OPTION...] command [ARG...] Austin -- A frame stack sampler for Python. -a, --alt-format Alternative collapsed stack sample format. -C, --children Attach to child processes. -e, --exclude-empty Do not output samples of threads with no frame stacks. -f, --full Produce the full set of metrics (time +mem -mem). -i, --interval=n_us Sampling interval (default is 500us). -m, --memory Profile memory usage. -o, --output=FILE Specify an output file for the collected samples. -p, --pid=PID The the ID of the process to which Austin should attach. -s, --sleepless Suppress idle samples. -t, --timeout=n_ms Approximate start up wait time. Increase on slow machines (default is 100ms). -?, --help Give this help list --usage Give a short usage message -V, --version Print program version Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options. Report bugs to . ~~~ The output is a sequence of frame stack samples, one on each line. The format is the collapsed one that is recognised by [FlameGraph](https://github.com/brendangregg/FlameGraph) so that it can be piped straight to `flamegraph.pl` for a quick visualisation, or redirected to a file for some further processing. By default, each line has the following structure: ~~~ [Process ;]?Thread [;[frame]]* [metric]* ~~~ where the presence of the process ID, the structure of `[frame]` and the number and type of metrics on each line depend on the mode. ## Normal Mode When no special switch are passed to Austin from the command line, the process identifier is omitted and `[frame]` has the structure ~~~ [frame] := ();L ~~~ The reason for not including the line number in the `([module])` part, as one might have expected, is that this way the flame graph will show the total time spent in each function, plus the finer detail of the time spent on each line. A drawback of this format is that frame stacks double in height. If you prefer something more conventional, you can use the `-a` option to switch to the alternative format in which `[frame]` has the structure ~~~ [frame] := (:) ~~~ Each line then ends with a single `[metric]`, i.e. the sampling time measured in microseconds. ## Memory and Full Metrics When profiling in memory mode with the `-m` or `--memory` switch, the metric value at the end of each line is the memory delta between samples, measured in KB. In full mode (`-f` or `--full` switches), each samples ends with three values: the time delta, any positive memory delta (memory allocations) or zero and any negative memory delta (memory releases) or zero. ## Multi-process Applications Austin can be told to profile multi-process applications with the `-C` or `--children` switch. This way Austin will look for new children of the parent process. In this case, each sample will contain the process identifier to help determine from which process the sample came from. ## Logging Austin uses `syslog` on Linux and Mac OS, and `%TEMP%\austin.log` on Windows for log messages, so make sure to watch these to get execution details and statistics. _Bad_ frames are output together with the other frames. In general, entries for bad frames will not be visible in a flame graph as all tests show error rates below 1% on average. # Compatibility Austin supports Python 2.3-2.7 and 3.3-3.8 and has been tested on the following platforms and architectures || | | | |--- |---|---|---| | **x86_64** | ✓ | ✓ | ✓ | | **i686** | ✓ | | ✓ | | **arm** | ✓ | | | | **armv7** | ✓ | | | Due to the **System Integrity Protection** introduced in **MacOS** with El Capitan, Austin cannot profile Python processes that use an executable located in the `/bin` folder, even with `sudo`. Hence, either run the interpreter from a virtual environment or use a Python interpreter that is installed in, e.g., `/Applications` or via `brew` with the default prefix (`/usr/local`). Even in these cases, though, the use of `sudo` is required. > **NOTE** Austin *might* work with other versions of Python on all the > platforms and architectures above. So it is worth giving it a try even if > your system is not listed below. # Why Austin When there already are similar tools out there, it's normal to wonder why one should be interested in yet another one. So here is a list of features that currently distinguish Austin. - **Written in pure C** Austin is written in pure C code. There are no dependencies on third-party libraries with the exception of the standard C library and the API provided by the Operating System. - **Just a sampler** Austin is just a frame stack sampler. It looks into a running Python application at regular intervals of time and dumps whatever frame stack it finds. The samples can then be analysed at a later time so that Austin can sample at rates higher than other non-C alternative that also analyse the samples as they run. - **Simple output, powerful tools** Austin uses the collapsed stack format of FlameGraph that is easy to parse. You can then go and build your own tool to analyse Austin's output. You could even make a _player_ that replays the application execution in slow motion, so that you can see what has happened in temporal order. - **Small size** Austin compiles to a single binary executable of just a bunch of KB. - **Easy to maintain** Occasionally, the Python C API changes and Austin will need to be adjusted to new releases. However, given that Austin, like CPython, is written in C, implementing the new changes is rather straight-forward. # Examples The following flame graph has been obtained with the command ~~~ bash austin -i 50 ./test.py | ./flamegraph.pl --countname=us > test.svg ~~~ where the sample `test.py` script has the following content ~~~ python import psutil for i in range(1000): list(psutil.process_iter()) ~~~ To profile Apache2 WSGI application, one can attach Austin to the web server with ~~~ bash austin -Cp `pgrep apache2 | head -n 1` ~~~ Any child processes will be automatically detected as they are created and Austin will sample them too. ## Austin TUI The Python TUI that is currently included in this repository provides an example of how to use Austin to profile Python applications. You can use `PageUp` and `PageDown` to navigate the frame stack of each frame as the Python application runs. If you want to give it a go you can install it using `pip` with ~~~ bash pip install git+https://github.com/P403n1x87/austin.git --upgrade ~~~ and run it with ~~~ bash austin-tui [OPTION...] command [ARG...] ~~~ with the same command line as Austin. > The TUI is based on `python-curses`. The version included with the standard > Windows installations of Python is broken so it won't work out of the box. A > solution is to install the the wheel of the port to Windows from > [this](https://www.lfd.uci.edu/~gohlke/pythonlibs/#curses) page. Wheel files > can be installed directly with `pip`, as described in the > [linked](https://pip.pypa.io/en/latest/user_guide/#installing-from-wheels) > page.

## Web Austin Web Austin is yet another example of how to use Austin to make a profiling tool. It makes use of [d3-flame-graph](https://github.com/spiermar/d3-flame-graph) to display a _live_ flame graph in the web browser that refreshes every 3 seconds with newly collected samples. Web Austin can also be used for _remote_ profiling by setting the `WEBAUSTIN_HOST` and `WEBAUSTIN_PORT` environment variables. If you want to give it a go you can install it using `pip` with ~~~ bash pip install git+https://github.com/P403n1x87/austin.git --upgrade ~~~ and run it with ~~~ bash austin-web [OPTION...] command [ARG...] ~~~ with the same command line as Austin. This starts a simple HTTP server that serves on `WEBAUSTIN_HOST` if set or on `localhost` otherwise. The port can be controlled with the `WEBAUSTIN_PORT` environment variable. If it is not set, Web Austin will use an ephemeral port.

## Speedscope Austin output format can be converted easily into the [Speedscope](speedscope.app) JSON format. You can find a sample utility along with the TUI and Austin Web. If you want to give it a go you can install it using `pip` with ~~~ bash pip install git+https://github.com/P403n1x87/austin.git --upgrade ~~~ and run it with ~~~ bash austin2speedscope [-h] [--indent INDENT] [-V] input output ~~~ where `input` is a file containing the output from Austin and `output` is the name of the JSON file to use to save the result of the conversion, ready to be used on [Speedscope](speedscope.app).

# Contribute If you like Austin and you find it useful, there are ways for you to contribute. If you want to help with the development, then have a look at the open issues and have a look at the [contributing guidelines](CONTRIBUTING.md) before you open a pull request. You can also contribute to the development of Austin by either [becoming a Patron](https://www.patreon.com/bePatron?u=19221563) on Patreon
by [buying me a coffee](https://www.buymeacoffee.com/Q9C1Hnm28) on BMC Buy Me A Coffee or by chipping in a few pennies on [PayPal.Me](https://www.paypal.me/gtornetta/1). ----

Follow on Twitter

setup.py0000664000175000017500000000276513661542344012722 0ustar gabrielegabrielefrom os import path from setuptools import find_packages, setup here = path.abspath(path.dirname(__file__)) with open(path.join(here, "README.md"), encoding="utf-8") as f: long_description = f.read() setup( name="python-austin", version="0.3.0", description=("Python wrapper for Austin, the frame stack sampler for CPython"), long_description=long_description, long_description_content_type="text/markdown", url="https://github.com/P403n1x87/austin", author="Gabriele N. Tornetta", author_email="phoenix1987@gmail.com", classifiers=[ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GPLv3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", ], keywords="profiler stack sampler", packages=find_packages(exclude=["docs", "test"]), include_package_data=True, python_requires=">=3.6", install_requires=["aiohttp", "psutil", "pyfiglet"], # extras_require={"dev": ["check-manifest"], "test": ["coverage"]}, # TODO entry_points={ "console_scripts": [ "austin-tui=austin.main:main", "austin-web=austin.web:main", "austin2speedscope=austin.format.speedscope:main", ] }, project_urls={ # TODO "Bug Reports": "https://github.com/P403n1x87/austin/issues", "Source": "https://github.com/P403n1x87/austin", }, ) snap/0000775000175000017500000000000013661542344012137 5ustar gabrielegabrielesnap/snapcraft.yaml0000664000175000017500000000113513661542344015004 0ustar gabrielegabrielename: austin version: '1.0.1+git' summary: A Python frame stack sampler for CPython description: | Austin is a Python frame stack sampler for CPython written in pure C. It samples the stack traces of a Python application so that they can be visualised and analysed. As such, it serves the basis for building powerful profilers for Python. grade: stable confinement: classic architectures: - build-on: amd64 - build-on: i386 - build-on: armhf parts: austin: plugin: autotools source: git://github.com/P403n1x87/austin source-depth: 1 apps: austin: command: bin/austin src/0000775000175000017500000000000013662062325011762 5ustar gabrielegabrielesrc/mac/0000775000175000017500000000000013661542344012525 5ustar gabrielegabrielesrc/mac/py_proc.h0000664000175000017500000003000513661542344014347 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifdef PY_PROC_C #include #include #include #include #include #include #include #include #include #include #include #include "../error.h" #define CHECK_HEAP #define DEREF_SYM #define SYMBOLS 2 #define next_lc(cmd) (cmd = (struct segment_command *) ((void *) cmd + cmd->cmdsize)); #define next_lc_64(cmd) (cmd = (struct segment_command_64 *) ((void *) cmd + cmd->cmdsize)); // ---- Endianness ---- #define ENDIAN(f, v) (f ? __bswap_32(v) : v) #define bswap_16(value) \ ((((value) & 0xff) << 8) | ((value) >> 8)) #define bswap_32(value) \ (((uint32_t)bswap_16((uint16_t)((value) & 0xffff)) << 16) | \ (uint32_t)bswap_16((uint16_t)((value) >> 16))) #define sw32(f, v) (f ? bswap_32(v) : v) struct _proc_extra_info { mach_port_t task_id; }; // ---------------------------------------------------------------------------- static int _py_proc__analyze_macho64(py_proc_t * self, void * map) { struct mach_header_64 * hdr = (struct mach_header_64 *) map; int ncmds = hdr->ncmds; int s = (hdr->magic == MH_CIGAM_64); int cmd_cnt = 0; struct segment_command_64 * cmd = map + sizeof(struct mach_header_64); void * img_base = self->map.bss.base; for (register int i = 0; cmd_cnt < 2 && i < ncmds; i++) { switch (cmd->cmd) { case LC_SEGMENT_64: if (strcmp(cmd->segname, "__TEXT") == 0) { img_base -= cmd->vmaddr; } else if (strcmp(cmd->segname, "__DATA") == 0) { int nsects = cmd->nsects; struct section_64 * sec = (struct section_64 *) ((void *) cmd + sizeof(struct segment_command_64)); self->map.bss.size = 0; for (register int j = 0; j < nsects; j++) { if (strcmp(sec[j].sectname, "__bss") == 0) { self->map.bss.base += sec[j].addr; self->map.bss.size = sec[j].size; log_d("BSS bounds [%p - %p]", self->map.bss.base, self->map.bss.base + self->map.bss.size); break; } } cmd_cnt++; } break; case LC_SYMTAB: for ( register int i = 0; self->sym_loaded < SYMBOLS && i < sw32(s, ((struct symtab_command *) cmd)->nsyms); i++ ) { struct nlist_64 * sym_tab = (struct nlist_64 *) (map + sw32(s, ((struct symtab_command *) cmd)->symoff)); void * str_tab = (void *) (map + sw32(s, ((struct symtab_command *) cmd)->stroff)); // TODO: Assess quality if ((sym_tab[i].n_type & N_EXT) == 0) continue; char * sym_name = (char *) (str_tab + sym_tab[i].n_un.n_strx); self->sym_loaded += _py_proc__check_sym(self, sym_name, (void *) (img_base + sym_tab[i].n_value)); } cmd_cnt++; } // switch next_lc_64(cmd); } if (self->map.bss.size == 0) return 1; return !self->sym_loaded; } // ---------------------------------------------------------------------------- static int _py_proc__analyze_macho32(py_proc_t * self, void * map) { struct mach_header * hdr = (struct mach_header *) map; int ncmds = hdr->ncmds; int s = (hdr->magic == MH_CIGAM); int cmd_cnt = 0; struct segment_command * cmd = map + sizeof(struct mach_header); void * img_base = self->map.bss.base; for (register int i = 0; cmd_cnt < 2 && i < ncmds; i++) { switch (cmd->cmd) { case LC_SEGMENT: if (strcmp(cmd->segname, "__TEXT") == 0) { img_base -= cmd->vmaddr; } else if (strcmp(cmd->segname, "__DATA") == 0) { int nsects = cmd->nsects; struct section * sec = (struct section *) ((void *) cmd + sizeof(struct segment_command)); self->map.bss.size = 0; for (register int j = 0; j < nsects; j++) { if (strcmp(sec[j].sectname, "__bss") == 0) { self->map.bss.base += sec[j].addr; self->map.bss.size = sec[j].size; log_d("BSS bounds [%p - %p]", self->map.bss.base, self->map.bss.base + self->map.bss.size); break; } } cmd_cnt++; } break; case LC_SYMTAB: for ( register int i = 0; self->sym_loaded < SYMBOLS && i < sw32(s, ((struct symtab_command *) cmd)->nsyms); i++ ) { struct nlist * sym_tab = (struct nlist *) (map + sw32(s, ((struct symtab_command *) cmd)->symoff)); void * str_tab = (void *) (map + sw32(s, ((struct symtab_command *) cmd)->stroff)); // TODO: Assess quality if ((sym_tab[i].n_type & N_EXT) == 0) continue; char * sym_name = (char *) (str_tab + sym_tab[i].n_un.n_strx); self->sym_loaded += _py_proc__check_sym(self, sym_name, (void *) (img_base + sym_tab[i].n_value)); } cmd_cnt++; } // switch next_lc(cmd); } if (self->map.bss.size == 0) return 1; return !self->sym_loaded; } // ---------------------------------------------------------------------------- static int _py_proc__analyze_fat(py_proc_t * self, void * addr, void * map) { void * vm_map = malloc(sizeof(struct mach_header_64)); if (vm_map == NULL) return 1; if (copy_memory(self->pid, addr, sizeof(struct mach_header_64), vm_map) == sizeof(struct mach_header_64)) { // Determine CPU type from process in memory struct mach_header_64 * hdr = (struct mach_header_64 *) vm_map; int ms = hdr->magic == MH_CIGAM || hdr->magic == MH_CIGAM_64; // This is probably useless cpu_type_t cpu = hdr->cputype; // Look up corresponding part from universal binary struct fat_header * fat_hdr = (struct fat_header *) map; int fs = fat_hdr->magic == FAT_CIGAM; struct fat_arch * arch = (struct fat_arch *) (map + sizeof(struct fat_header)); uint32_t narchs = sw32(fs, fat_hdr->nfat_arch); for (register int i = 0; i < narchs; i++) { if (sw32(fs, arch[i].cputype) == sw32(ms, cpu)) { hdr = (struct mach_header_64 *) (map + sw32(fs, arch[i].offset)); switch (hdr->magic) { case MH_MAGIC: case MH_CIGAM: break; _py_proc__analyze_macho32(self, (void *) hdr); case MH_MAGIC_64: case MH_CIGAM_64: _py_proc__analyze_macho64(self, (void *) hdr); break; } break; } } } else log_e("Unable to copy memory from universal binary\n"); free(vm_map); return !self->sym_loaded; } // ---------------------------------------------------------------------------- static int _py_proc__analyze_macho(py_proc_t * self, char * path, void * addr, mach_vm_size_t size) { int fd = open(path, O_RDONLY); // This would cause problem if allocated in the stack frame struct stat * fs = (struct stat *) malloc(sizeof(struct stat)); fstat(fd, fs); // Get file size void * map = mmap(NULL, fs->st_size, PROT_READ, MAP_SHARED, fd, 0); free(fs); log_t("Local Mach-O file mapping %p-%p\n", map, map+size); struct mach_header_64 * hdr = (struct mach_header_64 *) map; switch (hdr->magic) { case MH_MAGIC: case MH_CIGAM: break; _py_proc__analyze_macho32(self, map); case MH_MAGIC_64: case MH_CIGAM_64: _py_proc__analyze_macho64(self, map); break; case FAT_MAGIC: case FAT_CIGAM: _py_proc__analyze_fat(self, addr, map); break; default: self->sym_loaded = 0; } munmap(map, size); close(fd); return !self->sym_loaded; } // ---------------------------------------------------------------------------- static mach_port_t pid_to_task(pid_t pid) { mach_port_t task; if (task_for_pid(mach_task_self(), pid, &task) != KERN_SUCCESS) { log_e("Insufficient permissions to call task_for_pid."); error = EPROCPERM; return 0; } return task; } // ---------------------------------------------------------------------------- static int _py_proc__get_maps(py_proc_t * self) { mach_vm_address_t address = 0; mach_vm_size_t size = 0; vm_region_basic_info_data_64_t region_info; mach_msg_type_number_t count = sizeof(vm_region_basic_info_data_64_t); mach_port_t object_name; char * path = (char *) calloc(MAXPATHLEN + 1, sizeof(char)); if (path == NULL) return 1; // NOTE: Mac OS X kernel bug. This also gives time to the VM maps to // stabilise. usleep(100000); self->extra->task_id = pid_to_task(self->pid); if (self->extra->task_id == 0) return 1; self->min_raddr = (void *) -1; self->max_raddr = NULL; while (mach_vm_region( self->extra->task_id, &address, &size, VM_REGION_BASIC_INFO_64, (vm_region_info_t) ®ion_info, &count, &object_name ) == KERN_SUCCESS) { if ((void *) address < self->min_raddr) self->min_raddr = (void *) address; if ((void *) address + size > self->max_raddr) self->max_raddr = (void *) address + size; int len = proc_regionfilename(self->pid, address, path, MAXPATHLEN); int path_len = strlen(path); if (size > 0 && len) { path[len] = 0; if (self->bin_path == NULL && strstr(path, "ython")) { if (strstr(path + path_len - 3, ".so") == NULL) { // not a .so file self->bin_path = strndup(path, path_len); self->map.bss.base = (void *) address; // WARNING: Image base. Not yet the BSS base!! if (_py_proc__analyze_macho(self, path, (void *) address, size)) { // We haven't found the symbols in the binary so we look for a library. self->map.bss.base = NULL; } goto next_map; } } if (self->map.bss.base == NULL && self->lib_path == NULL && strstr(path, "ython") && size > (1 << 20)) { if (strstr(path + path_len - 3, ".so") == NULL) { self->lib_path = strndup(path, path_len); self->map.bss.base = (void *) address; // WARNING: Image base. Not yet the BSS base!! if (_py_proc__analyze_macho(self, path, (void *) address, size)) goto error; goto next_map; } } // Make a best guess for the heap boundary. This would only work for // 64-bit architectures. if (address & 0x0000700000000000) { if (self->map.heap.base == NULL) self->map.heap.base = (void *) address; self->map.heap.size += size; } } next_map: address += size; } log_d("HEAP bounds [%p - %p]", self->map.heap.base, self->map.heap.base + self->map.heap.size); if (self->bin_path && self->lib_path && !strcmp(self->bin_path, self->lib_path)) self->bin_path = NULL; error: free(path); return !self->sym_loaded; } // ---------------------------------------------------------------------------- static ssize_t _py_proc__get_resident_memory(py_proc_t * self) { struct mach_task_basic_info info; mach_msg_type_number_t count = MACH_TASK_BASIC_INFO_COUNT; return task_info( self->extra->task_id, MACH_TASK_BASIC_INFO, (task_info_t) &info, &count ) == KERN_SUCCESS ? info.resident_size : -1; } // ---------------------------------------------------------------------------- static int _py_proc__init(py_proc_t * self) { if (self == NULL) return 1; return _py_proc__get_maps(self); } #endif src/logging.h0000664000175000017500000000324413661542344013567 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifndef LOGGING_H #define LOGGING_H #ifdef TRACE #define DEBUG #endif #define log_header() log_i("============================ AUSTIN ╦̵̵̿╤─ ҉ ~ • ============================") #define log_footer() log_i("============================================================================") void logger_init(void); void log_f(const char *, ...); void log_e(const char *, ...); void log_w(const char *, ...); void log_i(const char *, ...); void log_m(const char *, ...); // metrics #ifdef DEBUG void log_d(const char *, ...); #else #define log_d(f, args...) {} #endif #ifdef TRACE void log_t(const char *, ...); #else #define log_t(f, args...) {} #endif void log_version(void); void logger_close(void); #endif // LOGGING_H src/logging.c0000664000175000017500000000674513661542344013573 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #define _DEFAULT_SOURCE #include "platform.h" #include #include #ifdef PL_UNIX #include #else #include #include #define LOG_EMERG 0 /* system is unusable */ #define LOG_ALERT 1 /* action must be taken immediately */ #define LOG_CRIT 2 /* critical conditions */ #define LOG_ERR 3 /* error conditions */ #define LOG_WARNING 4 /* warning conditions */ #define LOG_NOTICE 5 /* normal but significant condition */ #define LOG_INFO 6 /* informational */ #define LOG_DEBUG 7 /* debug-level messages */ FILE * logfile = NULL; #endif #include "austin.h" #include "logging.h" void _log_writer(int prio, const char * fmt, va_list ap) { #ifdef PL_UNIX vsyslog(prio, fmt, ap); #else if (logfile == NULL) { vfprintf(stderr, fmt, ap); fputc('\n', stderr); } else { vfprintf(logfile, fmt, ap); fputc('\n', logfile); fflush(logfile); } #endif } void logger_init(void) { #ifdef PL_UNIX setlogmask (LOG_UPTO (LOG_DEBUG)); openlog ("austin", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1); #else if (logfile == NULL) { char path[MAX_PATH]; ExpandEnvironmentStrings("%TEMP%\\austin.log", path, MAX_PATH); logfile = fopen(path, "a"); } #endif } void log_f(const char * fmt, ...) { va_list args; va_start(args, fmt); _log_writer(LOG_CRIT, fmt, args); va_end(args); va_start(args, fmt); vfprintf(stderr, fmt, args); fputc('\n', stderr); va_end(args); } void log_e(const char * fmt, ...) { va_list args; va_start(args, fmt); _log_writer(LOG_ERR, fmt, args); va_end(args); } void log_w(const char * fmt, ...) { va_list args; va_start(args, fmt); _log_writer(LOG_WARNING, fmt, args); va_end(args); } void log_i(const char * fmt, ...) { va_list args; va_start(args, fmt); _log_writer(LOG_INFO, fmt, args); va_end(args); } void log_m(const char * fmt, ...) { va_list args; va_start(args, fmt); _log_writer(LOG_INFO, fmt, args); va_end(args); va_start(args, fmt); vfprintf(stderr, fmt, args); fputc('\n', stderr); va_end(args); } #ifdef DEBUG void log_d(const char * fmt, ...) { va_list args; va_start(args, fmt); _log_writer(LOG_DEBUG, fmt, args); va_end(args); } #endif #ifdef TRACE void log_t(const char * fmt, ...) { va_list args; va_start(args, fmt); _log_writer(LOG_DEBUG, fmt, args); va_end(args); } #endif void log_version(void) { log_i("%s version: %s", PROGRAM_NAME, VERSION); } void logger_close(void) { #ifdef PL_UNIX closelog(); #else if (logfile != NULL) fclose(logfile); #endif } src/mem.c0000664000175000017500000000453213661542344012713 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #include "platform.h" #if defined(PL_LINUX) #define _GNU_SOURCE #include #elif defined(PL_WIN) #include #elif defined(PL_MACOS) #include #include #include #endif #include "mem.h" #include "logging.h" ssize_t copy_memory(pid_t pid, void * addr, ssize_t len, void * buf) { #if defined(PL_LINUX) /* LINUX */ struct iovec local[1]; struct iovec remote[1]; local[0].iov_base = buf; local[0].iov_len = len; remote[0].iov_base = addr; remote[0].iov_len = len; return process_vm_readv(pid, local, 1, remote, 1, 0); #elif defined(PL_WIN) /* WIN */ size_t n; int ret = ReadProcessMemory((HANDLE) pid, addr, buf, len, &n) ? n : -1; return ret; #elif defined(PL_MACOS) /* MAC */ mach_port_t task; if (task_for_pid(mach_task_self(), pid, &task) != KERN_SUCCESS) { log_d( "Failed to obtain task from PID. Are you running austin with the right privileges?" ); return -1; } mach_vm_size_t nread; kern_return_t kr = mach_vm_read_overwrite( task, (mach_vm_address_t) addr, len, (mach_vm_address_t) buf, &nread ); if (kr != KERN_SUCCESS) { log_t("copy_memory: mach_vm_read_overwrite returned %d", kr); return -1; } return nread; #endif } src/version.c0000664000175000017500000001241413661542344013620 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #define VERSION_C #include "logging.h" #include "platform.h" #include "version.h" #define UNSUPPORTED_VERSION log_w("Unsupported Python version detected. Austin might not work as expected.") #define LATEST_VERSION (&python_v3_8) #define PY_CODE(s) { \ sizeof(s), \ offsetof(s, co_filename), \ offsetof(s, co_name), \ offsetof(s, co_lnotab), \ offsetof(s, co_firstlineno) \ } #define PY_FRAME(s) { \ sizeof(s), \ offsetof(s, f_back), \ offsetof(s, f_code), \ offsetof(s, f_lasti), \ } /* Hack. Python 3.3 and below don't have the prev field */ #define PY_THREAD_H(s) { \ sizeof(s), \ offsetof(s, next), \ offsetof(s, next), \ offsetof(s, interp), \ offsetof(s, frame), \ offsetof(s, thread_id) \ } #define PY_THREAD(s) { \ sizeof(s), \ offsetof(s, prev), \ offsetof(s, next), \ offsetof(s, interp), \ offsetof(s, frame), \ offsetof(s, thread_id) \ } #define PY_UNICODE(n) { \ n \ } #define PY_BYTES(n) { \ n \ } #define PY_RUNTIME(s) { \ sizeof(s), \ offsetof(s, interpreters.head), \ } // ---- Python 2 -------------------------------------------------------------- python_v python_v2 = { PY_CODE (PyCodeObject2), PY_FRAME (PyFrameObject2), PY_THREAD_H (PyThreadState2), PY_UNICODE (2), PY_BYTES (2) }; // ---- Python 3.3 ------------------------------------------------------------ python_v python_v3_3 = { PY_CODE (PyCodeObject3_3), PY_FRAME (PyFrameObject2), PY_THREAD_H (PyThreadState2), PY_UNICODE (3), PY_BYTES (3) }; // ---- Python 3.4 ------------------------------------------------------------ python_v python_v3_4 = { PY_CODE (PyCodeObject3_3), PY_FRAME (PyFrameObject2), PY_THREAD (PyThreadState3_4), PY_UNICODE (3), PY_BYTES (3) }; // ---- Python 3.6 ------------------------------------------------------------ python_v python_v3_6 = { PY_CODE (PyCodeObject3_6), PY_FRAME (PyFrameObject2), PY_THREAD (PyThreadState3_4), PY_UNICODE (3), PY_BYTES (3) }; // ---- Python 3.7 ------------------------------------------------------------ python_v python_v3_7 = { PY_CODE (PyCodeObject3_6), PY_FRAME (PyFrameObject3_7), PY_THREAD (PyThreadState3_4), PY_UNICODE (3), PY_BYTES (3), PY_RUNTIME (_PyRuntimeState3_7) }; // ---- Python 3.8 ------------------------------------------------------------ python_v python_v3_8 = { PY_CODE (PyCodeObject3_8), PY_FRAME (PyFrameObject3_7), PY_THREAD (PyThreadState3_4), PY_UNICODE (3), PY_BYTES (3), PY_RUNTIME (_PyRuntimeState3_8) }; // ---------------------------------------------------------------------------- void set_version(int version) { int minor = (version >> 8) & 0xFF; int major = (version >> 16) & 0xFF; switch (major) { // ---- Python 2 ------------------------------------------------------------ case 2: switch (minor) { case 0: case 1: case 2: UNSUPPORTED_VERSION; // NOTE: These versions haven't been tested. // 2.3, 2.4, 2.5, 2.6, 2.7 case 3: case 4: case 5: case 6: case 7: py_v = &python_v2; break; default: py_v = &python_v2; UNSUPPORTED_VERSION; } break; // ---- Python 3 ------------------------------------------------------------ case 3: switch (minor) { case 0: case 1: case 2: UNSUPPORTED_VERSION; // NOTE: These versions haven't been tested. // 3.3 case 3: py_v = &python_v3_3; break; // 3.4, 3.5 case 4: case 5: py_v = &python_v3_4; break; // 3.6 case 6: py_v = &python_v3_6; break; // 3.7 case 7: py_v = &python_v3_7; break; // 3.8 case 8: py_v = &python_v3_8; break; default: py_v = LATEST_VERSION; UNSUPPORTED_VERSION; } } } src/mem.h0000664000175000017500000000465413367277266012740 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifndef MEM_H #define MEM_H #include #define OUT_OF_BOUND -1 /** * Copy a data structure from the given remote address structure. * @param raddr the remote address * @param dt the data structure as a local variable * @return the number of bytes read. */ #define copy_from_raddr(raddr, dt) copy_memory(raddr->pid, raddr->addr, sizeof(dt), &dt) /** * Copy a data structure from the given remote address structure. * @param raddr the remote address * @param dt the data structure as a local variable * @return the number of bytes read. */ #define copy_from_raddr_v(raddr, dt, n) copy_memory(raddr->pid, raddr->addr, n, &dt) != n /** * Same as copy_from_raddr, but with explicit arguments instead of a pointer to * a remote address structure * @param pid the process ID * @param addr the remote address * @param dt the data structure as a local variable. * @return the number of bytes read. */ #define copy_datatype(pid, addr, dt) copy_memory(pid, addr, sizeof(dt), &dt) typedef struct { pid_t pid; void * addr; } raddr_t; /** * Copy a chunk of memory from a portion of the virtual memory of another * process. * @param pid_t the process ID * @param void * the remote address * @param ssize_t the number of bytes to read * @param void * the destination buffer, expected to be at least as large as * the number of bytes to read. */ ssize_t copy_memory(pid_t, void *, ssize_t, void *); #endif // MEM_H src/py_code.c0000664000175000017500000001521313537212464013554 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #include #include "error.h" #include "logging.h" #include "py_code.h" #include "version.h" // ---- PRIVATE --------------------------------------------------------------- #define _code__get_filename(self, pid) _get_string_from_raddr(pid, *((void **) ((void *) self + py_v->py_code.o_filename))) #define _code__get_name(self, pid) _get_string_from_raddr(pid, *((void **) ((void *) self + py_v->py_code.o_name))) #define _code__get_lnotab(self, pid, buf) _get_bytes_from_raddr(pid, *((void **) ((void *) self + py_v->py_code.o_lnotab)), buf) #define p_ascii_data(raddr) (raddr + sizeof(PyASCIIObject)) // ---------------------------------------------------------------------------- static char * _get_string_from_raddr(pid_t pid, void * raddr) { PyStringObject string; PyUnicodeObject3 unicode; char * buffer = NULL; // This switch statement is required by the changes regarding the string type // introduced in Python 3. switch (py_v->py_unicode.version) { case 2: if (copy_datatype(pid, raddr, string) != sizeof(string)) { error = ECODEUNICODE; } else { ssize_t len = string.ob_base.ob_size; buffer = (char *) malloc(len * sizeof(char) + 1); if (buffer == NULL) error = ECODEUNICODE; else if (copy_memory(pid, raddr + offsetof(PyStringObject, ob_sval), len, buffer) != len) { error = ECODEUNICODE; free(buffer); buffer = NULL; } else { buffer[len] = 0; } } break; case 3: if (copy_datatype(pid, raddr, unicode) != sizeof(unicode)) { error = ECODEUNICODE; } else if (unicode._base._base.state.kind != 1) { error = ECODEFMT; } else if (unicode._base._base.state.compact != 1) { error = ECODECMPT; } else { ssize_t len = unicode._base._base.length; buffer = (char *) malloc(len * sizeof(char) + 1); if (buffer == NULL) error = ECODEUNICODE; else if (copy_memory(pid, p_ascii_data(raddr), len, buffer) != len) { error = ECODEUNICODE; free(buffer); buffer = NULL; } else buffer[len] = 0; } } check_not_null(buffer); return buffer; } // ---------------------------------------------------------------------------- static int _get_bytes_from_raddr(pid_t pid, void * raddr, unsigned char ** array) { ssize_t len = 0; if (py_v->py_bytes.version == 2) { PyStringObject string; if (copy_datatype(pid, raddr, string) != sizeof(string)) error = ECODEBYTES; else { len = string.ob_base.ob_size + 1; *array = (unsigned char *) malloc(len * sizeof(char) + 1); if (*array == NULL) { // In Python 2.4, the ob_size field is of type int. If we cannot // allocate on the first try it's because we are getting a ridiculous // value for len. In that case, chop it down to an int and try again. // This approach is simpler than adding version support. len = (int) len; *array = (unsigned char *) malloc(len * sizeof(char) + 1); } if (*array == NULL) error = ECODEBYTES; else if (copy_memory(pid, raddr + offsetof(PyStringObject, ob_sval), len, *array) != len) { error = ECODEBYTES; free(*array); *array = NULL; } else { (*array)[len] = 0; } } } else { PyBytesObject bytes; if (copy_datatype(pid, raddr, bytes) != sizeof(bytes)) error = ECODEBYTES; if ((len = bytes.ob_base.ob_size + 1) < 1) // Include null-terminator error = ECODEBYTES; else { *array = (unsigned char *) malloc(len * sizeof(char)); if (*array == NULL) error = ECODEBYTES; else if (copy_memory(pid, raddr + offsetof(PyBytesObject, ob_sval), len, *array) != len) { error = ECODEBYTES; free(*array); *array = NULL; } } } check_not_null(*array); return (error & ECODEBYTES) ? -1 : len - 1; // The last char is guaranteed to be the null terminator } // ---- PUBLIC ---------------------------------------------------------------- // ---------------------------------------------------------------------------- py_code_t * py_code_new_from_raddr(raddr_t * raddr, int lasti) { PyCodeObject code; py_code_t * py_code = NULL; char * filename = NULL; char * name = NULL; unsigned char* lnotab = NULL; int len; if (copy_from_raddr_v(raddr, code, py_v->py_code.size)) error = ECODE; else if ((filename = _code__get_filename(&code, raddr->pid)) == NULL) error = ECODENOFNAME; else if ((name = _code__get_name(&code, raddr->pid)) == NULL) error = ECODENONAME; else if ((len = _code__get_lnotab(&code, raddr->pid, &lnotab)) < 0 || len % 2) error = ECODENOLINENO; else { int lineno = V_FIELD(unsigned int, code, py_code, o_firstlineno); for ( register int i = 0, bc = 0; i < len; lineno += lnotab[i++] ) { bc += lnotab[i++]; if (bc > lasti) break; } free(lnotab); // Allocate the new py_code_t object and initialise it py_code = (py_code_t *) malloc(sizeof(py_code_t)); if (py_code == NULL) error = ECODE; else { py_code->filename = filename; py_code->scope = name; py_code->lineno = lineno; } } if (py_code == NULL) { if (filename != NULL) free(filename); if (name != NULL) free(name); } check_not_null(py_code); return py_code; } // ---------------------------------------------------------------------------- void py_code__destroy(py_code_t * self) { if (self == NULL) return; if (self->filename != NULL) free(self->filename); if (self->scope != NULL) free(self->scope); free(self); } src/error.h0000664000175000017500000000552613517410111013261 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifndef ERROR_H #define ERROR_H #include "logging.h" // generic messages #define EOK 0 #define EMMAP 1 // py_code_t #define ECODE ((1 << 3) + 0) #define ECODEFMT ((1 << 3) + 1) #define ECODECMPT ((1 << 3) + 2) #define ECODEBYTES ((1 << 3) + 3) #define ECODENOFNAME ((1 << 3) + 4) #define ECODENONAME ((1 << 3) + 5) #define ECODENOLINENO ((1 << 3) + 6) #define ECODEUNICODE ((1 << 3) + 7) // py_frame_t #define EFRAME ((2 << 3) + 0) #define EFRAMENOCODE ((2 << 3) + 1) #define EFRAMEINV ((2 << 3) + 2) // py_thread_t #define ETHREAD ((3 << 3) + 0) #define ETHREADNOFRAME ((3 << 3) + 1) #define ETHREADINV ((3 << 3) + 2) // py_proc_t #define EPROC ((4 << 3) + 0) #define EPROCFORK ((4 << 3) + 1) #define EPROCVM ((4 << 3) + 2) #define EPROCISTIMEOUT ((4 << 3) + 3) #define EPROCATTACH ((4 << 3) + 4) #define EPROCPERM ((4 << 3) + 5) #define EPROCNPID ((4 << 3) + 6) #ifdef ERROR_C __thread int error; #else extern __thread int error; #endif // ERROR_C /** * Log the last error */ #define log_error() ( is_fatal(error) ? log_f(error_get_msg(error)) : log_e(error_get_msg(error)) ) /** * Get the message of the last error. * * @return a pointer to the message as const char *. */ #define get_error() error_get_msg(error) typedef int error_t; /** * Get the message of the give message number. * * @param error_t the error number * * @return a pointer to the message as const char *. */ const char * error_get_msg(error_t); /** * Determine if the given error is fatal or not. * * @param error_t the error number * * @return 1 if the error is fatal, 0 otherwise. */ const int is_fatal(error_t); void check_not_null(void *); #endif // ERROR_H src/py_proc.h0000664000175000017500000001230613661542344013613 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifndef PY_PROC_H #define PY_PROC_H #include #include "stats.h" typedef struct { void * base; ssize_t size; } proc_vm_map_block_t; typedef struct { proc_vm_map_block_t bss; proc_vm_map_block_t heap; proc_vm_map_block_t elf; proc_vm_map_block_t dynsym; proc_vm_map_block_t rodata; } proc_vm_map_t; typedef struct _proc_extra_info proc_extra_info; // Forward declaration. typedef struct { pid_t pid; char * bin_path; char * lib_path; proc_vm_map_t map; void * min_raddr; void * max_raddr; void * bss; // local copy of the remote bss section int sym_loaded; int version; // Symbols from .dynsym void * tstate_curr_raddr; void * py_runtime_raddr; void * interp_head_raddr; void * is_raddr; // Temporal profiling support ctime_t timestamp; // Memory profiling support ssize_t last_resident_memory; // Offset of the tstate_current field within the _PyRuntimeState structure unsigned int tstate_current_offset; // Platform-dependent fields proc_extra_info * extra; } py_proc_t; /** * Create a new process object. Use it to start the process that needs to be * sampled from austin. * * @return a pointer to the newly created py_proc_t object. */ py_proc_t * py_proc_new(void); /** * Start the process * * @param py_proc_t * the process object. * @param const char * the command to execute. * @param char ** the command line arguments to pass to the command. * * @return 0 on success. */ int py_proc__start(py_proc_t *, const char *, char **); /** * Attach the process with the given PID * * @param py_proc_t * the process object. * @param pid_t the PID of the process to attach. * * @return 0 on success. */ int py_proc__attach(py_proc_t *, pid_t); /** * Get the remote address of the PyInterpreterState instance. * * @param py_proc_t * the process object. * * @return the remote address of the PyInterpreterState instance. */ void * py_proc__get_istate_raddr(py_proc_t *); /** * Get the remote address of the current PyThreadState instance. * * @param py_proc_t * the process object. * * @return the remote address of the current PyThreadState instance. If no * thread is currently running then this returns NULL. If an error * occurred, the return value is (void *) -1. */ void * py_proc__get_current_thread_state_raddr(py_proc_t *); /** * Copy a chunk of memory from the process. * * @param py_proc_t * the process object. * @param void * the remote address. * @param ssize_t the number of bytes to read. * @param void * the local buffer, of size at least matching the number * of bytes to read. * * @return 0 on success. */ int py_proc__memcpy(py_proc_t *, void *, ssize_t, void *); /** * Wait for the process to terminate. * * @param py_proc_t * the process object. */ void py_proc__wait(py_proc_t *); /** * Find the offset of the pointer to the current thread structure from the * beginning of the _PyRuntimeState structure (Python 3.7+ only). * * @param py_proc_t * the process object. * @param void * the remote address of the thread to use for comparison. * * @return 0 on success, 1 otherwise. */ int py_proc__find_current_thread_offset(py_proc_t * self, void * thread_raddr); /** * Check if the process is still running * * @param py_proc_t * the process object. * * @return 1 if the process is still running, 0 otherwise. */ int py_proc__is_running(py_proc_t *); /** * Get the memory size delta since last call. * * @param py_proc_t * the process object. * * @return the computed memory usage delta in KB. */ ssize_t py_proc__get_memory_delta(py_proc_t *); /** * Sample the frame stack of each thread of the given Python process. * * @param py_proc_t * self. */ void py_proc__sample(py_proc_t *); /** * Get a datatype from the process * * @param self the process object. * @param raddr the remote address of the datatype. * @param dt the datatype as a local variable. * * @return 0 on success. */ #define py_proc__get_type(self, raddr, dt) (py_proc__memcpy(self, raddr, sizeof(dt), &dt)) void py_proc__destroy(py_proc_t *); #endif // PY_PROC_H src/py_code.h0000664000175000017500000000270413354232100013544 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifndef PY_CODE_H #define PY_CODE_H #include "mem.h" typedef struct { char * filename; char * scope; int lineno; } py_code_t; /** * Create a new py_code_t object from the given remote address * @param raddr_t the remote address * @param int the last instruction index from the linking frame object. * @return a pointer to a new instance of py_code_t */ py_code_t * py_code_new_from_raddr(raddr_t *, int); void py_code__destroy(py_code_t *); #endif // PY_CODE_H src/py_proc.c0000664000175000017500000006451113661542344013613 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #define PY_PROC_C #include "platform.h" #ifdef PL_WIN #include #else #include #include #endif #include #include #include #include #include #include #include "argparse.h" #include "dict.h" #include "error.h" #include "logging.h" #include "mem.h" #include "version.h" #include "py_proc.h" #include "py_thread.h" // ---- PRIVATE --------------------------------------------------------------- // ---- Retry Timer ---- #define INIT_RETRY_SLEEP 100 /* us */ #define INIT_RETRY_CNT (pargs.timeout * 1000 / INIT_RETRY_SLEEP) /* Retry for 0.1s (default) before giving up. */ #define TIMER_RESET (try_cnt=INIT_RETRY_CNT); #define TIMER_START while (--try_cnt>=0) { usleep(INIT_RETRY_SLEEP); #define TIMER_STOP (try_cnt = 0); #define TIMER_END } static int try_cnt; // ---------------------------------------------------------------------------- // -- Platform-dependent implementations of _py_proc__init // ---------------------------------------------------------------------------- // Forward declaration static int _py_proc__check_sym(py_proc_t *, char *, void *); #if defined(PL_LINUX) #include "linux/py_proc.h" #elif defined(PL_WIN) #include "win/py_proc.h" #elif defined(PL_MACOS) #include "mac/py_proc.h" #endif // ---------------------------------------------------------------------------- // ---- Exported symbols ---- #define DYNSYM_COUNT 3 #ifdef PL_MACOS #define SYM_PREFIX "__" #else #define SYM_PREFIX "_" #endif static const char * _dynsym_array[DYNSYM_COUNT] = { SYM_PREFIX "PyThreadState_Current", SYM_PREFIX "PyRuntime", "interp_head" }; static long _dynsym_hash_array[DYNSYM_COUNT] = { 0 }; #ifdef DEREF_SYM static int _py_proc__check_sym(py_proc_t * self, char * name, void * value) { for (register int i = 0; i < DYNSYM_COUNT; i++) { if ( string_hash(name) == _dynsym_hash_array[i] && strcmp(name, _dynsym_array[i]) == 0 ) { *(&(self->tstate_curr_raddr) + i) = value; log_d("Symbol %s found @ %p", name, value); return 1; } } return 0; } #endif // ---------------------------------------------------------------------------- #ifdef PL_UNIX #define _popen popen #define _pclose pclose #endif static int _py_proc__get_version(py_proc_t * self) { if (self == NULL || (self->bin_path == NULL && self->lib_path == NULL)) return 0; int major = 0, minor = 0, patch = 0; if (self->bin_path == NULL && self->lib_path != NULL) { #if defined PL_LINUX /* LINUX */ if (sscanf( strstr(self->lib_path, "libpython"), "libpython%d.%d", &major, &minor ) != 2) { log_f("Failed to determine Python version from shared object name."); return 0; } #elif defined PL_WIN /* WIN */ // Assume the library path is of the form *pythonMm.dll int n = strlen(self->lib_path); major = self->lib_path[n - 6] - '0'; minor = self->lib_path[n - 5] - '0'; #elif defined PL_MACOS /* MAC */ char * ver_needle = strstr(self->lib_path, "/3."); if (ver_needle == NULL) ver_needle = strstr(self->lib_path, "/2."); if (ver_needle == NULL || sscanf(ver_needle, "/%d.%d", &major, &minor) != 2) { log_f("Failed to determine Python version from shared object path."); return 0; } #endif log_i("Python version: %d.%d.? (from shared library)", major, minor); return (major << 16) | (minor << 8); } FILE *fp; char version[64]; char cmd[128]; sprintf(cmd, "%s -V 2>&1", self->bin_path); fp = _popen(cmd, "r"); if (fp == NULL) { log_f("Cannot determine the version of Python."); return 0; } while (fgets(version, sizeof(version) - 1, fp) != NULL) { if (sscanf(version, "Python %d.%d.%d", &major, &minor, &patch) == 3) break; } _pclose(fp); log_i("Python version: %d.%d.%d", major, minor, patch); // Scan the rodata section for something that looks like the Python version. // There are good chances this is at the very beginning of the section so // it shouldn't take too long to find a match. This is more reliable than // waiting until the version appears in the bss section at run-time. // NOTE: This method is not guaranteed to find a valid Python version. // If this causes problems then another method is required. // char * p_ver = (char *) map + (Elf64_Addr) self->map.rodata.base; // for (register int i = 0; i < self->map.rodata.size; i++) { // if ( // p_ver[i] == '.' && // p_ver[i+1] != '.' && // p_ver[i+2] == '.' && // p_ver[i-2] == 0 // ) { // if ( // sscanf(p_ver + i - 1, "%d.%d.%d", &major, &minor, &patch) == 3 && // (major == 2 || major == 3) // ) { // log_i("Python version: %s", p_ver + i - 1, p_ver); // // break; // } // } // } return (major << 16) | (minor << 8) | patch; } // ---------------------------------------------------------------------------- static int _py_proc__check_interp_state(py_proc_t * self, void * raddr) { PyInterpreterState is; PyThreadState tstate_head; if (py_proc__get_type(self, raddr, is)) return OUT_OF_BOUND; if (py_proc__get_type(self, is.tstate_head, tstate_head)) { log_t( "Cannot copy PyThreadState head at %p from PyInterpreterState instance", is.tstate_head ); return 1; } log_t("PyThreadState head loaded @ %p", is.tstate_head); if (V_FIELD(void*, tstate_head, py_thread, o_interp) != raddr) return 1; log_d( "Found possible interpreter state @ %p (offset %p).", raddr, raddr - self->map.heap.base ); log_t( "PyInterpreterState loaded @ %p. Thread State head @ %p", raddr, is.tstate_head ); // As an extra sanity check, verify that the thread state is valid error = EOK; #if defined PL_WIN /* WIN */ raddr_t thread_raddr = { .pid = self->extra->h_proc, .addr = is.tstate_head }; #else /* UNIX */ raddr_t thread_raddr = { .pid = self->pid, .addr = is.tstate_head }; #endif py_thread_t * thread = py_thread_new_from_raddr(&thread_raddr); if (thread == NULL) return 1; if (thread->invalid) { py_thread__destroy(thread); log_d("... but Head Thread State is invalid!"); return 1; } py_thread__destroy(thread); log_d( "Stack trace constructed from possible interpreter state (error code: %d)", error ); return error != EOK; } #ifdef CHECK_HEAP // ---------------------------------------------------------------------------- static int _py_proc__is_heap_raddr(py_proc_t * self, void * raddr) { if (self == NULL || raddr == NULL || self->map.heap.base == NULL) return 0; return ( raddr >= self->map.heap.base && raddr < self->map.heap.base + self->map.heap.size ); } // ---------------------------------------------------------------------------- static int _py_proc__is_raddr_within_max_range(py_proc_t * self, void * raddr) { if (self == NULL || raddr == NULL || self->map.heap.base == NULL) return 0; return (raddr >= self->min_raddr && raddr < self->max_raddr); } // ---------------------------------------------------------------------------- static int _py_proc__scan_heap(py_proc_t * self) { // NOTE: This seems to be required by Python 2.7 on i386 Linux. void * upper_bound = self->map.heap.base + self->map.heap.size; for ( register void ** raddr = (void **) self->map.heap.base; (void *) raddr < upper_bound; raddr++ ) { switch (_py_proc__check_interp_state(self, raddr)) { case 0: self->is_raddr = raddr; return 0; case OUT_OF_BOUND: return OUT_OF_BOUND; } } return 1; } #endif // ---------------------------------------------------------------------------- static int _py_proc__scan_bss(py_proc_t * self) { if (py_proc__memcpy(self, self->map.bss.base, self->map.bss.size, self->bss)) return 1; log_d("Scanning the BSS section for PyInterpreterState"); void * upper_bound = self->bss + self->map.bss.size; #ifdef CHECK_HEAP // When the process uses the shared library we need to search in other maps // other than the heap (at least on Linux). This could be optimised by // creating a list of all the maps and checking that a value is valid address // within any of these maps. However, this scan between min and max address // should still be relatively quick so that the extra complexity of a list is // not strictly required. int is_lib = self->lib_path != NULL; #endif for ( register void ** raddr = (void **) self->bss; (void *) raddr < upper_bound; raddr++ ) { if ( #ifdef CHECK_HEAP (is_lib ? _py_proc__is_raddr_within_max_range(self, *raddr) : _py_proc__is_heap_raddr(self, *raddr)) && #endif _py_proc__check_interp_state(self, *raddr) == 0 ) { log_d( "Possible interpreter state referenced by BSS @ %p (offset %x)", (void *) raddr - (void *) self->bss + (void *) self->map.bss.base, (void *) raddr - (void *) self->bss ); self->is_raddr = *raddr; return 0; } } return 1; } #ifdef DEREF_SYM // ---------------------------------------------------------------------------- static int _py_proc__deref_interp_head(py_proc_t * self) { void * interp_head_raddr; if (self->py_runtime_raddr != NULL) { _PyRuntimeState py_runtime; if (py_proc__get_type(self, self->py_runtime_raddr, py_runtime)) { log_d( "Cannot copy _PyRuntimeState structure from remote address %p", self->py_runtime_raddr ); return 1; } interp_head_raddr = V_FIELD(void *, py_runtime, py_runtime, o_interp_head); } else if (self->interp_head_raddr != NULL) { if (py_proc__get_type(self, self->interp_head_raddr, interp_head_raddr)) { log_d( "Cannot copy PyInterpreterState structure from remote address %p", self->interp_head_raddr ); return 1; } } else return 1; if (_py_proc__check_interp_state(self, interp_head_raddr)) return 1; self->is_raddr = interp_head_raddr; return 0; } // ---------------------------------------------------------------------------- static int _py_proc__find_interpreter_state(py_proc_t * self) { PyThreadState tstate_current; void * tstate_current_raddr; // First try to de-reference interpreter head as the most reliable method if (_py_proc__deref_interp_head(self)) { log_d("Cannot dereference PyInterpreterState head from symbols"); // If that fails try to get the current thread state (can be NULL during idle) tstate_current_raddr = py_proc__get_current_thread_state_raddr(self); if (tstate_current_raddr == NULL || tstate_current_raddr == (void *) -1) // Idle or unable to dereference return 1; else { if (py_proc__get_type(self, tstate_current_raddr, tstate_current)) return 1; if (_py_proc__check_interp_state( self, V_FIELD(void*, tstate_current, py_thread, o_interp) )) return 1; self->is_raddr = V_FIELD(void*, tstate_current, py_thread, o_interp); log_d("Interpreter head de-referenced from current thread state symbol."); } } else { log_d("Interpreter head reference from symbol dereferenced successfully."); } return 0; // 3.6.5 -> 3.6.6: _PyThreadState_Current doesn't seem what one would expect // anymore, but _PyThreadState_Current.prev is. /* if ( V_FIELD(void*, tstate_current, py_thread, o_thread_id) == 0 && \ V_FIELD(void*, tstate_current, py_thread, o_prev) != 0 ) { self->tstate_curr_raddr = V_FIELD(void*, tstate_current, py_thread, o_prev); return 1; } */ } #endif // ---------------------------------------------------------------------------- static int _py_proc__wait_for_interp_state(py_proc_t * self) { register int attempts = 0; TIMER_RESET TIMER_START #ifdef DEREF_SYM if (_py_proc__find_interpreter_state(self)) { #endif if (self->bss == NULL) { self->bss = malloc(self->map.bss.size); } if (self->bss == NULL) return 1; switch (_py_proc__scan_bss(self)) { case 0: log_d("Interpreter state located from BSS scan."); case OUT_OF_BOUND: TIMER_STOP } #ifdef DEREF_SYM } else { TIMER_STOP } #endif attempts++; TIMER_END if (self->bss != NULL) { free(self->bss); self->bss = NULL; } // NOTE: This case should not happen anymore as the addresses have been // corrected. // case OUT_OF_BOUND: // log_d("Symbol address not within VM maps (shared object?)"); // TIMER_STOP // break; if (self->is_raddr != NULL) { log_d("Interpreter State de-referenced @ raddr: %p after %d attempts", self->is_raddr, attempts ); return 0; } #ifdef CHECK_HEAP log_w("BSS scan unsuccessful so we scan the heap directly ..."); // TODO: Consider copying heap over and check for pointers try_cnt = 10; TIMER_START switch (_py_proc__scan_heap(self)) { case 0: return 0; case OUT_OF_BOUND: TIMER_STOP } TIMER_END #endif error = EPROCISTIMEOUT; return 1; } // ---------------------------------------------------------------------------- static int _py_proc__run(py_proc_t * self) { log_d("Start up timeout: %dms", pargs.timeout); TIMER_RESET TIMER_START if (self->bin_path != NULL) { free(self->bin_path); self->bin_path = NULL; } if (self->lib_path != NULL) { free(self->lib_path); self->lib_path = NULL; } if (_py_proc__init(self) == 0) break; if (error == EPROCPERM || error == EPROCNPID) return 1; // Fatal errors log_d( "Process not ready :: bin_path: %p, lib_path: %p, symbols: %d", self->bin_path, self->lib_path, self->sym_loaded ); TIMER_END if (self->bin_path == NULL && self->lib_path == NULL) { log_f("Python binary not found. Not Python?"); return 1; } if (self->map.bss.size == 0 || self->map.bss.base == NULL) log_e("Unable to fully locate the BSS section."); if (self->min_raddr > self->max_raddr) log_w("Invalid remote VM maximal bounds."); #ifdef CHECK_HEAP if (self->map.heap.size == 0 || self->map.heap.base == NULL) log_w("Unable to fully locate the heap."); #endif #ifdef DEREF_SYM if ( self->tstate_curr_raddr == NULL && self->py_runtime_raddr == NULL && self->interp_head_raddr == NULL ) log_w("No remote symbol references have been set."); #endif #ifdef DEBUG if (self->bin_path != NULL) log_d("Python binary: %s", self->bin_path); if (self->lib_path != NULL) log_d("Python library: %s", self->lib_path); log_d("Maximal VM address space: %p-%p", self->min_raddr, self->max_raddr); #endif // Determine and set version if (!self->version) { self->version = _py_proc__get_version(self); if (!self->version) { log_f("Python version is unknown."); return 1; } set_version(self->version); } if (_py_proc__wait_for_interp_state(self)) { log_error(); return 1; } return 0; } // ---- PUBLIC ---------------------------------------------------------------- // ---------------------------------------------------------------------------- py_proc_t * py_proc_new() { py_proc_t * py_proc = (py_proc_t *) calloc(1, sizeof(py_proc_t)); if (py_proc == NULL) error = EPROC; else py_proc->min_raddr = (void *) -1; // Pre-hash symbol names if (_dynsym_hash_array[0] == 0) { for (register int i = 0; i < DYNSYM_COUNT; i++) { _dynsym_hash_array[i] = string_hash((char *) _dynsym_array[i]); } } py_proc->extra = (proc_extra_info *) calloc(1, sizeof(proc_extra_info)); check_not_null(py_proc); return py_proc; } // ---------------------------------------------------------------------------- int py_proc__attach(py_proc_t * self, pid_t pid) { log_d("Attaching to process with PID %d", pid); #ifdef PL_WIN /* WIN */ self->extra->h_proc = OpenProcess( PROCESS_VM_READ | PROCESS_QUERY_INFORMATION, FALSE, pid ); if (self->extra->h_proc == INVALID_HANDLE_VALUE) { log_e("Unable to attach to process with PID %d", pid); return 1; } #endif self->pid = pid; return _py_proc__run(self); } // ---------------------------------------------------------------------------- int py_proc__start(py_proc_t * self, const char * exec, char * argv[]) { log_d("Starting new process using the command: %s", exec); #ifdef PL_WIN /* WIN */ PROCESS_INFORMATION piProcInfo; STARTUPINFO siStartInfo; ZeroMemory(&piProcInfo, sizeof(PROCESS_INFORMATION)); ZeroMemory(&siStartInfo, sizeof(STARTUPINFO)); if (pargs.output_file == NULL) { HANDLE nullStdOut = CreateFile( TEXT(NULL_DEVICE), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL ); if (nullStdOut == INVALID_HANDLE_VALUE) { log_e("Unable to redirect STDOUT to " NULL_DEVICE); return 1; } log_d("Redirecting child's STDOUT to " NULL_DEVICE); siStartInfo.cb = sizeof(STARTUPINFO); siStartInfo.hStdOutput = nullStdOut; siStartInfo.dwFlags |= STARTF_USESTDHANDLES; } // Concatenate the command line arguments register int cmd_line_size = strlen(exec) + 1; register int i = 1; while (argv[i]) cmd_line_size += strlen(argv[i++]) + 1; char * cmd_line = malloc(sizeof(char) * cmd_line_size); strcpy(cmd_line, exec); register int pos = strlen(exec); i = 1; while (argv[i]) { cmd_line[pos++] = ' '; strcpy(cmd_line+pos, argv[i]); pos += strlen(argv[i++]); } log_t("Computed command line: %s", cmd_line); BOOL process_created = CreateProcess( NULL, cmd_line, NULL, NULL, TRUE, 0, NULL, NULL, &siStartInfo, &piProcInfo ); if (cmd_line != NULL) free(cmd_line); if (!process_created) { log_e("Failed to create child process using the command: %s.", exec); return 1; } self->extra->h_proc = piProcInfo.hProcess; self->pid = (pid_t) piProcInfo.dwProcessId; #else /* UNIX */ self->pid = fork(); if (self->pid == 0) { // If we are not writing to file we need to ensure the child process is // not writing to stdout. if (pargs.output_file == NULL) { log_d("Redirecting child's STDOUT to " NULL_DEVICE); if (freopen(NULL_DEVICE, "w", stdout) == NULL) log_e("Unable to redirect child's STDOUT to " NULL_DEVICE); } execvp(exec, argv); log_e("Failed to fork process"); exit(127); } #endif /* ANY */ #if defined PL_LINUX // On Linux we need to wait for the forked process or otherwise it will // become a zombie and we cannot tell with kill if it has terminated. pthread_create(&(self->extra->wait_thread_id), NULL, wait_thread, (void *) self); log_d("Wait thread created with ID %x", self->extra->wait_thread_id); #endif log_d("New process created with PID %d", self->pid); return _py_proc__run(self); } // ---------------------------------------------------------------------------- int py_proc__memcpy(py_proc_t * self, void * raddr, ssize_t size, void * dest) { #if defined PL_WIN /* WIN */ return copy_memory(self->extra->h_proc, raddr, size, dest) == size ? 0 : 1; #else /* UNIX */ return copy_memory(self->pid, raddr, size, dest) == size ? 0 : 1; #endif } // ---------------------------------------------------------------------------- void py_proc__wait(py_proc_t * self) { log_d("Waiting for process to terminate"); #if defined PL_LINUX if (self->extra->wait_thread_id) { pthread_join(self->extra->wait_thread_id, NULL); } #endif #ifdef PL_WIN /* WIN */ WaitForSingleObject(self->extra->h_proc, INFINITE); #else /* UNIX */ waitpid(self->pid, 0, 0); #endif } // ---------------------------------------------------------------------------- void * py_proc__get_istate_raddr(py_proc_t * self) { return self->is_raddr; } // ---------------------------------------------------------------------------- void * py_proc__get_current_thread_state_raddr(py_proc_t * self) { void * p_tstate_current; if (self->py_runtime_raddr != NULL) { if (self->tstate_current_offset == 0 || py_proc__get_type( self, self->py_runtime_raddr + self->tstate_current_offset, p_tstate_current )) return (void *) -1; } else if (self->tstate_curr_raddr != NULL) { if (py_proc__get_type(self, self->tstate_curr_raddr, p_tstate_current)) return (void *) -1; } else return (void *) -1; return p_tstate_current; } // ---------------------------------------------------------------------------- #define PYRUNTIMESTATE_SIZE 2048 // We expect _PyRuntimeState to be < 2K. int py_proc__find_current_thread_offset(py_proc_t * self, void * thread_raddr) { if (self->py_runtime_raddr == NULL) return 1; void * interp_head_raddr; _PyRuntimeState py_runtime; if (py_proc__get_type(self, self->py_runtime_raddr, py_runtime)) return 1; interp_head_raddr = V_FIELD(void *, py_runtime, py_runtime, o_interp_head); // Search offset of current thread in _PyRuntimeState structure PyInterpreterState is; py_proc__get_type(self, interp_head_raddr, is); void * current_thread_raddr; register int hit_count = 0; for ( register void ** raddr = (void **) self->py_runtime_raddr; (void *) raddr < self->py_runtime_raddr + PYRUNTIMESTATE_SIZE; raddr++ ) { py_proc__get_type(self, raddr, current_thread_raddr); if (current_thread_raddr == thread_raddr) { if (++hit_count == 2) { self->tstate_current_offset = (void *) raddr - self->py_runtime_raddr; log_d( "Offset of _PyRuntime.gilstate.tstate_current found at %x", self->tstate_current_offset ); return 0; } } } return 1; } // ---------------------------------------------------------------------------- int py_proc__is_running(py_proc_t * self) { if (self->is_raddr == NULL) return 0; #ifdef PL_WIN /* WIN */ DWORD ec; return GetExitCodeProcess(self->extra->h_proc, &ec) ? ec : -1; #elif defined PL_MACOS /* MACOS */ return pid_to_task(self->pid) != 0; #else /* LINUX */ return !(kill(self->pid, 0) == -1 && errno == ESRCH); #endif } // ---------------------------------------------------------------------------- ssize_t py_proc__get_memory_delta(py_proc_t * self) { ssize_t current_memory = _py_proc__get_resident_memory(self); ssize_t delta = current_memory - self->last_resident_memory; self->last_resident_memory = current_memory; return delta; } // ---------------------------------------------------------------------------- void py_proc__sample(py_proc_t * self) { ctime_t delta; ssize_t mem_delta = 0; void * current_thread; // Compute time delta since last sample. if (!self->timestamp) { self->timestamp = gettime(); delta = 0; } else { delta = gettime() - self->timestamp; } PyInterpreterState is; if (py_proc__get_type(self, self->is_raddr, is) != 0) return; if (is.tstate_head != NULL) { #if defined PL_WIN raddr_t raddr = { .pid = self->extra->h_proc, .addr = is.tstate_head }; #else raddr_t raddr = { .pid = self->pid, .addr = is.tstate_head }; #endif py_thread_t * first_thread = py_thread_new_from_raddr(&raddr); if (pargs.memory) { // Use the current thread to determine which thread is manipulating memory current_thread = py_proc__get_current_thread_state_raddr(self); } for ( py_thread_t * py_thread = first_thread; py_thread != NULL; py_thread = py_thread__next(py_thread) ) { if (pargs.memory) { mem_delta = 0; if (self->py_runtime_raddr != NULL && current_thread == (void *) -1) { if (py_proc__find_current_thread_offset(self, py_thread->raddr.addr)) continue; else current_thread = py_proc__get_current_thread_state_raddr(self); } if (py_thread->raddr.addr == current_thread) { mem_delta = py_proc__get_memory_delta(self); log_t("Thread %lx holds the GIL", py_thread->tid); } } if (pargs.children) fprintf(pargs.output_file, "Process %d;", self->pid); if (!py_thread__print_collapsed_stack(py_thread, delta, mem_delta >> 10)) stats_count_sample(); } py_thread__destroy(first_thread); } self->timestamp += delta; } // ---------------------------------------------------------------------------- void py_proc__destroy(py_proc_t * self) { if (self == NULL) return; if (self->bin_path != NULL) free(self->bin_path); if (self->lib_path != NULL) free(self->lib_path); if (self->bss != NULL) free(self->bss); if (self->extra != NULL) free(self->extra); free(self); } src/argparse.h0000664000175000017500000000345213624027406013742 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifndef ARGPARSE_H #define ARGPARSE_H #include #include #include #include "stats.h" typedef struct { ctime_t t_sampling_interval; ctime_t timeout; pid_t attach_pid; int exclude_empty; int sleepless; char * format; int full; int memory; FILE * output_file; char * output_filename; int children; } parsed_args_t; #ifndef ARGPARSE_C extern parsed_args_t pargs; #endif #define ARG_ARGUMENT 0 #define ARG_STOP_PARSING 1 #define ARG_CONTINUE_PARSING 0 #define ARG_MISSING_OPT_ARG -1 #define ARG_UNRECOGNISED_LONG_OPT -2 #define ARG_UNRECOGNISED_OPT -3 #define ARG_INVALID_VALUE -4 #define ARG_UNEXPECTED_OPT_ARG -5 int parse_args(int argc, char ** argv); // TODO: Implement error. #endif src/Makefile.am0000664000175000017500000000235713624027405014023 0ustar gabrielegabriele# This file is part of "austin" which is released under GPL. # # See file LICENCE or go to http:#www.gnu.org/licenses/ for full license # details. # # Austin is a Python frame stack sampler for CPython. # # Copyright (c) 2018 Gabriele N. Tornetta . # All rights reserved. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . AM_CFLAGS =-I$(top_srcdir)/src -Wall -O3 -pthread bin_PROGRAMS = austin austin_SOURCES = \ argparse.c \ austin.c \ dict.c \ error.c \ logging.c \ mem.c \ version.c \ stats.c \ py_code.c \ py_frame.c \ py_proc_list.c \ py_proc.c \ py_thread.c src/linux/0000775000175000017500000000000013624027406013120 5ustar gabrielegabrielesrc/linux/py_proc.h0000664000175000017500000003217113624027406014750 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifdef PY_PROC_C #include #include #include #include #include #include #include #include #include #include "../dict.h" #include "../py_proc.h" #define CHECK_HEAP #define DEREF_SYM #define BIN_MAP (1 << 0) #define DYNSYM_MAP (1 << 1) #define RODATA_MAP (1 << 2) #define HEAP_MAP (1 << 3) #define BSS_MAP (1 << 4) #define SYMBOLS 2 #define _py_proc__get_elf_type(self, offset, dt) /* as */ (py_proc__memcpy(self, self->map.elf.base + offset, sizeof(dt), &dt)) // Get the offset of the ith section header #define ELF_SH_OFF(ehdr, i) /* as */ (ehdr.e_shoff + i * ehdr.e_shentsize) struct _proc_extra_info { unsigned int page_size; char statm_file[24]; pthread_t wait_thread_id; }; union { Elf32_Ehdr v32; Elf64_Ehdr v64; } ehdr_v; // ---------------------------------------------------------------------------- static void * wait_thread(void * py_proc) { waitpid(((py_proc_t *) py_proc)->pid, 0, 0); return NULL; } // ---------------------------------------------------------------------------- static Elf64_Addr _get_base_64(Elf64_Ehdr * ehdr, void * elf_map) { for (int i = 0; i < ehdr->e_phnum; ++i) { Elf64_Phdr * phdr = (Elf64_Phdr *) (elf_map + ehdr->e_phoff + i * ehdr->e_phentsize); if (phdr->p_type == PT_LOAD) return phdr->p_vaddr - phdr->p_vaddr % phdr->p_align; } return UINT64_MAX; } /* _get_base_64 */ static int _py_proc__analyze_elf64(py_proc_t * self) { register int symbols = 0; char * object_file = self->lib_path != NULL ? self->lib_path : self->bin_path; Elf64_Ehdr ehdr = ehdr_v.v64; // Section header must be read from binary as it is not loaded into memory Elf64_Xword sht_size = ehdr.e_shnum * ehdr.e_shentsize; Elf64_Off elf_map_size = ehdr.e_shoff + sht_size; int fd = open(object_file, O_RDONLY); void * elf_map = mmap(NULL, elf_map_size, PROT_READ, MAP_SHARED, fd, 0); int map_flag = 0; Elf64_Shdr * p_shdr; Elf64_Shdr * p_shstrtab = elf_map + ELF_SH_OFF(ehdr, ehdr.e_shstrndx); char * sh_name_base = elf_map + p_shstrtab->sh_offset; Elf64_Shdr * p_dynsym = NULL; Elf64_Addr base = _get_base_64(&ehdr, elf_map); if (base != UINT64_MAX) { log_d("Base @ %p", base); for (Elf64_Off sh_off = ehdr.e_shoff; \ map_flag != DYNSYM_MAP && sh_off < elf_map_size; \ sh_off += ehdr.e_shentsize \ ) { p_shdr = (Elf64_Shdr *) (elf_map + sh_off); if ( !(map_flag & DYNSYM_MAP) && p_shdr->sh_type == SHT_DYNSYM && \ strcmp(sh_name_base + p_shdr->sh_name, ".dynsym") == 0 ) { p_dynsym = p_shdr; map_flag |= DYNSYM_MAP; } // NOTE: This might be required if the Python version is must be retrieved // from the RO data section // else if ( // p_shdr->sh_type == SHT_PROGBITS && // strcmp(sh_name_base + p_shdr->sh_name, ".rodata") == 0 // ) { // self->map.rodata.base = (void *) p_shdr->sh_offset; // self->map.rodata.size = p_shdr->sh_size; // map_flag |= RODATA_MAP; // } } if (p_dynsym != NULL) { if (p_dynsym->sh_offset != 0) { Elf64_Shdr * p_strtabsh = (Elf64_Shdr *) (elf_map + ELF_SH_OFF(ehdr, p_dynsym->sh_link)); // Search for dynamic symbols for (Elf64_Off tab_off = p_dynsym->sh_offset; \ tab_off < p_dynsym->sh_offset + p_dynsym->sh_size; \ tab_off += p_dynsym->sh_entsize ) { Elf64_Sym * sym = (Elf64_Sym *) (elf_map + tab_off); char * sym_name = (char *) (elf_map + p_strtabsh->sh_offset + sym->st_name); void * value = self->map.elf.base + (sym->st_value - base); if ((symbols += _py_proc__check_sym(self, sym_name, value)) >= SYMBOLS) break; } } } } munmap(elf_map, elf_map_size); close(fd); return !symbols; } /* _py_proc__analyze_elf64 */ // ---------------------------------------------------------------------------- static Elf32_Addr _get_base_32(Elf32_Ehdr * ehdr, void * elf_map) { for (int i = 0; i < ehdr->e_phnum; ++i) { Elf32_Phdr * phdr = (Elf32_Phdr *) (elf_map + ehdr->e_phoff + i * ehdr->e_phentsize); if (phdr->p_type == PT_LOAD) return phdr->p_vaddr - phdr->p_vaddr % phdr->p_align; } return UINT32_MAX; } /* _get_base_32 */ static int _py_proc__analyze_elf32(py_proc_t * self) { register int symbols = 0; char * object_file = self->lib_path != NULL ? self->lib_path : self->bin_path; Elf32_Ehdr ehdr = ehdr_v.v32; // Section header must be read from binary as it is not loaded into memory Elf32_Xword sht_size = ehdr.e_shnum * ehdr.e_shentsize; Elf32_Off elf_map_size = ehdr.e_shoff + sht_size; int fd = open(object_file, O_RDONLY); void * elf_map = mmap(NULL, elf_map_size, PROT_READ, MAP_SHARED, fd, 0); int map_flag = 0; Elf32_Shdr * p_shdr; Elf32_Shdr * p_shstrtab = elf_map + ELF_SH_OFF(ehdr, ehdr.e_shstrndx); char * sh_name_base = elf_map + p_shstrtab->sh_offset; Elf32_Shdr * p_dynsym = NULL; Elf32_Addr base = _get_base_32(&ehdr, elf_map); if (base != UINT32_MAX) { log_d("Base @ %p", base); for (Elf32_Off sh_off = ehdr.e_shoff; \ map_flag != DYNSYM_MAP && sh_off < elf_map_size; \ sh_off += ehdr.e_shentsize \ ) { p_shdr = (Elf32_Shdr *) (elf_map + sh_off); if ( !(map_flag & DYNSYM_MAP) && p_shdr->sh_type == SHT_DYNSYM && \ strcmp(sh_name_base + p_shdr->sh_name, ".dynsym") == 0 ) { p_dynsym = p_shdr; map_flag |= DYNSYM_MAP; } // NOTE: This might be required if the Python version is must be retrieved // from the RO data section // else if ( // p_shdr->sh_type == SHT_PROGBITS && // strcmp(sh_name_base + p_shdr->sh_name, ".rodata") == 0 // ) { // self->map.rodata.base = (void *) p_shdr->sh_offset; // self->map.rodata.size = p_shdr->sh_size; // map_flag |= RODATA_MAP; // } } if (p_dynsym != NULL) { if (p_dynsym->sh_offset != 0) { Elf32_Shdr * p_strtabsh = (Elf32_Shdr *) (elf_map + ELF_SH_OFF(ehdr, p_dynsym->sh_link)); // Search for dynamic symbols for (Elf32_Off tab_off = p_dynsym->sh_offset; \ tab_off < p_dynsym->sh_offset + p_dynsym->sh_size; \ tab_off += p_dynsym->sh_entsize ) { Elf32_Sym * sym = (Elf32_Sym *) (elf_map + tab_off); char * sym_name = (char *) (elf_map + p_strtabsh->sh_offset + sym->st_name); void * value = self->map.elf.base + (sym->st_value - base); if ((symbols += _py_proc__check_sym(self, sym_name, value)) >= SYMBOLS) break; } } } } munmap(elf_map, elf_map_size); close(fd); return !symbols; } /* _py_proc__analyze_elf32 */ // ---------------------------------------------------------------------------- static int _py_proc__analyze_elf(py_proc_t * self) { Elf64_Ehdr ehdr = ehdr_v.v64; if ( _py_proc__get_elf_type(self, 0, ehdr_v) || ehdr.e_shoff == 0 || ehdr.e_shnum < 2 || memcmp(ehdr.e_ident, ELFMAG, SELFMAG) ) return 1; // Dispatch switch (ehdr.e_ident[EI_CLASS]) { case ELFCLASS32: return _py_proc__analyze_elf32(self); case ELFCLASS64: return _py_proc__analyze_elf64(self); default: return 1; } } /* _py_proc__analyze_elf */ // ---------------------------------------------------------------------------- static int _py_proc__parse_maps_file(py_proc_t * self) { char file_name[32]; FILE * fp = NULL; char * line = NULL; size_t len = 0; int maps_flag = 0; sprintf(file_name, "/proc/%d/maps", self->pid); fp = fopen(file_name, "r"); if (fp == NULL) { switch (errno) { case EACCES: // Needs elevated privileges error = EPROCPERM; break; case ENOENT: // Invalid pid error = EPROCNPID; break; default: error = EPROCVM; } } else { register int line_count = 0; // Used to determine if we need to look for the python or libpython binary. self->min_raddr = (void *) -1; self->max_raddr = NULL; while (getline(&line, &len, fp) != -1) { ++line_count; ssize_t lower, upper; char pathname[1024]; char m[sizeof(void *)]; // We don't care about these values. int field_count = sscanf(line, "%lx-%lx %4c %lx %x:%x %x %s\n", &lower, &upper, // Map bounds (char *) m, (ssize_t *) m, (int *) m, (int *) m, (int *) m, // Ignored pathname // Binary path ) - 7; // We expect between 7 and 8 matches. if (field_count >= 0) { if (field_count == 0 || strstr(pathname, "[v") == NULL) { // Skip meaningless addresses like [vsyscall] which would give // ridiculous values. if ((void *) lower < self->min_raddr) self->min_raddr = (void *) lower; if ((void *) upper > self->max_raddr) self->max_raddr = (void *) upper; } if ((maps_flag & HEAP_MAP) == 0 && strstr(line, "[heap]\n") != NULL) { self->map.heap.base = (void *) lower; self->map.heap.size = upper - lower; maps_flag |= HEAP_MAP; log_d("HEAP bounds %lx-%lx", lower, upper); continue; } if (line_count == 1) { if (strstr(line, "python") == NULL) // NOTE: The python binary might have a name that doesn't contain python // but would still be valid. In case of future issues, this // should be changed so that the binary on the first line is // checked for, e.g., knownw symbols to determine whether it is a // valid binary that Austin can handle. continue; else { if (self->bin_path != NULL) free(self->bin_path); self->bin_path = strndup(pathname, strlen(pathname)); self->map.elf.base = (void *) lower; self->map.elf.size = upper - lower; } } else if ((self->lib_path == NULL) && (strstr(line, "libpython") != NULL)) { maps_flag &= ~BSS_MAP; if (self->lib_path != NULL) free(self->lib_path); self->lib_path = strndup(pathname, strlen(pathname)); // Override any previous values as this is the binary we need to look into self->map.elf.base = (void *) lower; self->map.elf.size = upper - lower; } if ((maps_flag & BSS_MAP) == 0 && field_count == 0) { self->map.bss.base = (void *) lower; self->map.bss.size = upper - lower; maps_flag |= BSS_MAP; log_d("BSS bounds %lx-%lx", lower, upper); } } } fclose(fp); if (line != NULL) { free(line); } } if (error & EPROC) log_error(); return ( (self->bin_path == NULL && self->lib_path == NULL) || maps_flag != (HEAP_MAP | BSS_MAP) ); } /* _py_proc__parse_maps_file */ // ---------------------------------------------------------------------------- static ssize_t _py_proc__get_resident_memory(py_proc_t * self) { FILE * statm = fopen(self->extra->statm_file, "rb"); if (statm == NULL) { error = EPROCVM; return -1; } ssize_t size, resident; if (fscanf(statm, "%ld %ld", &size, &resident) != 2) return -1; fclose(statm); return resident * self->extra->page_size; } /* _py_proc__get_resident_memory */ // ---------------------------------------------------------------------------- static int _py_proc__init(py_proc_t * self) { if ( self == NULL || _py_proc__parse_maps_file(self) || _py_proc__analyze_elf(self) ) return 1; self->extra->page_size = getpagesize(); log_d("Page size: %ld", self->extra->page_size); sprintf(self->extra->statm_file, "/proc/%d/statm", self->pid); self->last_resident_memory = _py_proc__get_resident_memory(self); return 0; } /* _py_proc__init */ #endif src/stats.c0000664000175000017500000000725513661542344013300 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #include "platform.h" #include #include #ifdef PL_MACOS #include #include #endif #include "error.h" #include "logging.h" #include "stats.h" #ifndef CLOCK_BOOTTIME #ifdef CLOCK_REALTIME #define CLOCK_BOOTTIME CLOCK_REALTIME #else #define CLOCK_BOOTTIME HIGHRES_CLOCK #endif #endif // ---- PRIVATE --------------------------------------------------------------- static unsigned long _sample_cnt; static ctime_t _min_sampling_time; static ctime_t _max_sampling_time; static ctime_t _avg_sampling_time; static ustat_t _error_cnt; static ustat_t _long_cnt; // ---- PUBLIC ---------------------------------------------------------------- ctime_t gettime(void) { struct timespec ts; #ifdef PL_MACOS clock_serv_t cclock; mach_timespec_t mts; host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock); clock_get_time(cclock, &mts); mach_port_deallocate(mach_task_self(), cclock); ts.tv_sec = mts.tv_sec; ts.tv_nsec = mts.tv_nsec; #else clock_gettime(CLOCK_BOOTTIME, &ts); #endif return ts.tv_sec * 1e6 + ts.tv_nsec / 1e3; } void stats_reset(void) { _sample_cnt = 0; _error_cnt = 0; _min_sampling_time = ULONG_MAX; _max_sampling_time = 0; _avg_sampling_time = 0; } ctime_t stats_get_max_sampling_time(void) { return _max_sampling_time; } ctime_t stats_get_min_sampling_time(void) { return _min_sampling_time; } ctime_t stats_get_avg_sampling_time(void) { return _avg_sampling_time / _sample_cnt; } void stats_count_sample(void) { _sample_cnt++; } void stats_count_error(void) { _error_cnt++; } void stats_check_duration(ctime_t delta, ctime_t sampling_interval) { // Long-running samples if (delta > sampling_interval) _long_cnt++; // Max/min/avg sampling duration if (_min_sampling_time > delta) _min_sampling_time = delta; else if (_max_sampling_time < delta) _max_sampling_time = delta; _avg_sampling_time += delta; } void stats_log_metrics(void) { if (!_sample_cnt) { log_m("😣 No samples collected."); return; } log_m("🕑 Sampling time (min/avg/max) : %lu/%lu/%lu us", stats_get_min_sampling_time(), stats_get_avg_sampling_time(), stats_get_max_sampling_time() ); log_m("🐢 Long sampling rate : %d/%d (%.2f %%) samples took longer than the sampling interval", \ _long_cnt, \ _sample_cnt, \ (float) _long_cnt / _sample_cnt * 100 \ ); log_m("💀 Error rate : %d/%d (%.2f %%) invalid samples", \ _error_cnt, \ _sample_cnt, \ (float) _error_cnt / _sample_cnt * 100 \ ); } src/dict.c0000664000175000017500000000252113354232100013035 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #include #include #define MAGIC_TINY 7 #define MAGIC_BIG 1000003 // Stolen from stringobject.c long string_hash(char * string) { register unsigned char *p; register long x; p = (unsigned char *) string; x = *p << MAGIC_TINY; while (*p != 0) x = (MAGIC_BIG * x) ^ *(p++); x ^= strlen(string); return x == 0 ? 1 : x; } src/stats.h0000664000175000017500000000425613624027406013277 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifndef STATS_H #define STATS_H typedef unsigned long ctime_t; /* Forward */ typedef unsigned long ustat_t; /* non-negative statistics metric */ /** * Get the current boot time in microseconds. This is intended to give * something that is as close as possible to wall-clock time. */ ctime_t gettime(void); /** * Reset the statistics. Call this every time a new run is started. */ void stats_reset(void); /** * Get the maximum sampling time observed. */ ctime_t stats_get_max_sampling_time(void); /** * Get the smallest sampling time observed. */ ctime_t stats_get_min_sampling_time(void); /** * Get the average sampling time from the last reset up to the moment this * method is called. */ ctime_t stats_get_avg_sampling_time(void); /** * Increase the sample counter. */ void stats_count_sample(void); /** * Increase the counter of samples with errors. */ void stats_count_error(void); /** * Check the duration of the last sampling and update the statistics. * * @param ctime_t the time it took to obtain the sample. * @param ctime_t the sampling interval. */ void stats_check_duration(ctime_t, ctime_t); /** * Log the current statistics. Usually called at the end of a sampling run. */ void stats_log_metrics(void); #endif src/python.h0000664000175000017500000003213513661542344013463 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // COPYRIGHT NOTICE: The content of this file is composed of different parts // taken from different versions of the source code of // Python. The authors of those sources hold the copyright // for most of the content of this header file. #ifndef PYTHON_H #define PYTHON_H #include #include // ---- object.h -------------------------------------------------------------- #define PyObject_HEAD PyObject ob_base; #define PyObject_VAR_HEAD PyVarObject ob_base; #ifdef Py_TRACE_REFS #define _PyObject_HEAD_EXTRA \ struct _object *_ob_next; \ struct _object *_ob_prev; #define _PyObject_EXTRA_INIT 0, 0, #else #define _PyObject_HEAD_EXTRA #define _PyObject_EXTRA_INIT #endif typedef ssize_t Py_ssize_t; typedef struct _object { _PyObject_HEAD_EXTRA ssize_t ob_refcnt; struct _typeobject *ob_type; } PyObject; typedef struct { PyObject ob_base; Py_ssize_t ob_size; /* Number of items in variable part */ } PyVarObject; // ---- code.h ---------------------------------------------------------------- typedef struct { PyObject_HEAD int co_argcount; /* #arguments, except *args */ int co_nlocals; /* #local variables */ int co_stacksize; /* #entries needed for evaluation stack */ int co_flags; /* CO_..., see below */ PyObject *co_code; /* instruction opcodes */ PyObject *co_consts; /* list (constants used) */ PyObject *co_names; /* list of strings (names used) */ PyObject *co_varnames; /* tuple of strings (local variable names) */ PyObject *co_freevars; /* tuple of strings (free variable names) */ PyObject *co_cellvars; /* tuple of strings (cell variable names) */ PyObject *co_filename; /* string (where it was loaded from) */ PyObject *co_name; /* string (name, for reference) */ int co_firstlineno; /* first source line number */ PyObject *co_lnotab; /* string (encoding addr<->lineno mapping) */ } PyCodeObject2; typedef struct { PyObject_HEAD int co_argcount; /* #arguments, except *args */ int co_kwonlyargcount; /* #keyword only arguments */ int co_nlocals; /* #local variables */ int co_stacksize; /* #entries needed for evaluation stack */ int co_flags; /* CO_..., see below */ PyObject *co_code; /* instruction opcodes */ PyObject *co_consts; /* list (constants used) */ PyObject *co_names; /* list of strings (names used) */ PyObject *co_varnames; /* tuple of strings (local variable names) */ PyObject *co_freevars; /* tuple of strings (free variable names) */ PyObject *co_cellvars; /* tuple of strings (cell variable names) */ unsigned char *co_cell2arg; /* Maps cell vars which are arguments. */ PyObject *co_filename; /* unicode (where it was loaded from) */ PyObject *co_name; /* unicode (name, for reference) */ int co_firstlineno; /* first source line number */ PyObject *co_lnotab; /* string (encoding addr<->lineno mapping) */ } PyCodeObject3_3; typedef struct { PyObject_HEAD int co_argcount; /* #arguments, except *args */ int co_kwonlyargcount; /* #keyword only arguments */ int co_nlocals; /* #local variables */ int co_stacksize; /* #entries needed for evaluation stack */ int co_flags; /* CO_..., see below */ int co_firstlineno; /* first source line number */ PyObject *co_code; /* instruction opcodes */ PyObject *co_consts; /* list (constants used) */ PyObject *co_names; /* list of strings (names used) */ PyObject *co_varnames; /* tuple of strings (local variable names) */ PyObject *co_freevars; /* tuple of strings (free variable names) */ PyObject *co_cellvars; /* tuple of strings (cell variable names) */ unsigned char *co_cell2arg; /* Maps cell vars which are arguments. */ PyObject *co_filename; /* unicode (where it was loaded from) */ PyObject *co_name; /* unicode (name, for reference) */ PyObject *co_lnotab; /* string (encoding addr<->lineno mapping) */ } PyCodeObject3_6; typedef struct { PyObject_HEAD int co_argcount; /* #arguments, except *args */ int co_posonlyargcount; /* #positional only arguments */ int co_kwonlyargcount; /* #keyword only arguments */ int co_nlocals; /* #local variables */ int co_stacksize; /* #entries needed for evaluation stack */ int co_flags; /* CO_..., see below */ int co_firstlineno; /* first source line number */ PyObject *co_code; /* instruction opcodes */ PyObject *co_consts; /* list (constants used) */ PyObject *co_names; /* list of strings (names used) */ PyObject *co_varnames; /* tuple of strings (local variable names) */ PyObject *co_freevars; /* tuple of strings (free variable names) */ PyObject *co_cellvars; /* tuple of strings (cell variable names) */ Py_ssize_t *co_cell2arg; /* Maps cell vars which are arguments. */ PyObject *co_filename; /* unicode (where it was loaded from) */ PyObject *co_name; /* unicode (name, for reference) */ PyObject *co_lnotab; /* string (encoding addr<->lineno mapping) */ } PyCodeObject3_8; typedef union { PyCodeObject2 v2; PyCodeObject3_3 v3_3; PyCodeObject3_6 v3_6; PyCodeObject3_8 v3_8; } PyCodeObject; // ---- frameobject.h --------------------------------------------------------- typedef struct _frame2_3 { PyObject_VAR_HEAD struct _frame2_3 *f_back; /* previous frame, or NULL */ PyCodeObject *f_code; /* code segment */ PyObject *f_builtins; /* builtin symbol table (PyDictObject) */ PyObject *f_globals; /* global symbol table (PyDictObject) */ PyObject *f_locals; /* local symbol table (any mapping) */ PyObject **f_valuestack; /* points after the last local */ PyObject **f_stacktop; PyObject *f_trace; /* Trace function */ PyObject *f_exc_type, *f_exc_value, *f_exc_traceback; PyObject *f_gen; int f_lasti; /* Last instruction if called */ int f_lineno; /* Current line number */ } PyFrameObject2; typedef struct _frame3_7 { PyObject_VAR_HEAD struct _frame3_7 *f_back; /* previous frame, or NULL */ PyCodeObject *f_code; /* code segment */ PyObject *f_builtins; /* builtin symbol table (PyDictObject) */ PyObject *f_globals; /* global symbol table (PyDictObject) */ PyObject *f_locals; /* local symbol table (any mapping) */ PyObject **f_valuestack; /* points after the last local */ PyObject **f_stacktop; PyObject *f_trace; /* Trace function */ char f_trace_lines; /* Emit per-line trace events? */ char f_trace_opcodes; /* Emit per-opcode trace events? */ PyObject *f_gen; int f_lasti; /* Last instruction if called */ int f_lineno; /* Current line number */ } PyFrameObject3_7; typedef union { PyFrameObject2 v2; PyFrameObject3_7 v3_7; } PyFrameObject; // ---- pystate.h ------------------------------------------------------------- struct _ts; /* Forward */ struct _is; /* Forward */ typedef struct _is { struct _is *next; struct _ts *tstate_head; } PyInterpreterState; // Dummy struct _frame struct _frame; typedef int (*Py_tracefunc)(PyObject *, struct _frame *, int, PyObject *); typedef struct _ts3_3 { struct _ts3_3 *next; PyInterpreterState *interp; struct _frame *frame; int recursion_depth; char overflowed; char recursion_critical; int tracing; int use_tracing; Py_tracefunc c_profilefunc; Py_tracefunc c_tracefunc; PyObject *c_profileobj; PyObject *c_traceobj; PyObject *curexc_type; PyObject *curexc_value; PyObject *curexc_traceback; PyObject *exc_type; PyObject *exc_value; PyObject *exc_traceback; PyObject *dict; /* Stores per-thread state */ int tick_counter; int gilstate_counter; PyObject *async_exc; /* Asynchronous exception to raise */ long thread_id; /* Thread id where this tstate was created */ } PyThreadState2; typedef struct _ts3_4 { struct _ts3_4 *prev; struct _ts3_4 *next; PyInterpreterState *interp; struct _frame *frame; int recursion_depth; char overflowed; char recursion_critical; int tracing; int use_tracing; Py_tracefunc c_profilefunc; Py_tracefunc c_tracefunc; PyObject *c_profileobj; PyObject *c_traceobj; PyObject *curexc_type; PyObject *curexc_value; PyObject *curexc_traceback; PyObject *exc_type; PyObject *exc_value; PyObject *exc_traceback; PyObject *dict; /* Stores per-thread state */ int gilstate_counter; PyObject *async_exc; /* Asynchronous exception to raise */ long thread_id; /* Thread id where this tstate was created */ } PyThreadState3_4; typedef union { PyThreadState2 v2; PyThreadState3_4 v3_4; } PyThreadState; // ---- internal/pystate.h ---------------------------------------------------- typedef void *PyThread_type_lock; typedef struct pyruntimestate3_7 { int initialized; int core_initialized; PyThreadState *finalizing; struct pyinterpreters3_7 { PyThread_type_lock mutex; PyInterpreterState *head; PyInterpreterState *main; int64_t next_id; } interpreters; } _PyRuntimeState3_7; // ---- internal/pycore_pystate.h --------------------------------------------- typedef struct pyruntimestate3_8 { int preinitializing; int preinitialized; int core_initialized; int initialized; PyThreadState *finalizing; struct pyinterpreters3_8 { PyThread_type_lock mutex; PyInterpreterState *head; PyInterpreterState *main; int64_t next_id; } interpreters; } _PyRuntimeState3_8; typedef union { _PyRuntimeState3_7 v3_7; _PyRuntimeState3_8 v3_8; } _PyRuntimeState; // ---- unicodeobject.h ------------------------------------------------------- typedef uint32_t Py_UCS4; typedef uint16_t Py_UCS2; typedef uint8_t Py_UCS1; #define PY_UNICODE_TYPE Py_UCS4 typedef PY_UNICODE_TYPE Py_UNICODE; typedef struct { PyObject_HEAD Py_ssize_t length; /* Length of raw Unicode data in buffer */ Py_UNICODE *str; /* Raw Unicode buffer */ long hash; /* Hash value; -1 if not set */ PyObject *defenc; /* (Default) Encoded version as Python string */ } PyUnicodeObject2; typedef Py_ssize_t Py_hash_t; typedef struct { PyObject_HEAD Py_ssize_t length; /* Number of code points in the string */ Py_hash_t hash; /* Hash value; -1 if not set */ struct { unsigned int interned:2; unsigned int kind:3; unsigned int compact:1; unsigned int ascii:1; unsigned int ready:1; unsigned int :24; } state; wchar_t *wstr; /* wchar_t representation (null-terminated) */ } PyASCIIObject; typedef struct { PyASCIIObject _base; Py_ssize_t utf8_length; /* Number of bytes in utf8, excluding the * terminating \0. */ char *utf8; /* UTF-8 representation (null-terminated) */ Py_ssize_t wstr_length; /* Number of code points in wstr, possible * surrogates count as two code points. */ } PyCompactUnicodeObject; typedef struct { PyCompactUnicodeObject _base; union { void *any; Py_UCS1 *latin1; Py_UCS2 *ucs2; Py_UCS4 *ucs4; } data; /* Canonical, smallest-form Unicode buffer */ } PyUnicodeObject3; typedef union { PyUnicodeObject2 v2; PyUnicodeObject3 v3; } PyUnicodeObject; // ---- bytesobject.h --------------------------------------------------------- typedef struct { PyObject_VAR_HEAD Py_hash_t ob_shash; char ob_sval[1]; } PyBytesObject; // ---- stringobject.h -------------------------------------------------------- typedef struct { PyObject_VAR_HEAD long ob_shash; int ob_sstate; char ob_sval[1]; } PyStringObject; /* From Python 2.7 */ // ---------------------------------------------------------------------------- #endif // PYTHON36_H src/py_frame.c0000664000175000017500000000641513357333534013742 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #include "error.h" #include "logging.h" #include "py_frame.h" #include "version.h" // ---- PUBLIC ---------------------------------------------------------------- // ---------------------------------------------------------------------------- py_frame_t * py_frame_new_from_raddr(raddr_t * raddr) { PyFrameObject frame; py_code_t * py_code = NULL; py_frame_t * py_frame = NULL; if (copy_from_raddr_v(raddr, frame, py_v->py_frame.size)) error = EFRAME; else { raddr_t py_code_raddr = { .pid = raddr->pid, .addr = V_FIELD(void *, frame, py_frame, o_code) }; py_code = py_code_new_from_raddr(&py_code_raddr, V_FIELD(int, frame, py_frame, o_lasti)); if (py_code == NULL) error = EFRAMENOCODE; else { py_frame = (py_frame_t *) malloc(sizeof(py_frame_t)); if (py_frame == NULL) error = EFRAME; else { py_frame->raddr.pid = raddr->pid; py_frame->raddr.addr = raddr->addr; py_frame->prev_raddr.pid = raddr->pid; py_frame->prev_raddr.addr = V_FIELD(void *, frame, py_frame, o_back); py_frame->frame_no = 0; py_frame->prev = NULL; py_frame->next = NULL; py_frame->code = py_code; py_frame->invalid = 0; } } } if (py_frame == NULL && py_code != NULL) py_code__destroy(py_code); check_not_null(py_frame); return py_frame; } // ---------------------------------------------------------------------------- py_frame_t * py_frame__prev(py_frame_t * self) { if (self == NULL || self->prev_raddr.addr == NULL) return NULL; if (self->prev == NULL) { // Lazy-loading self->prev = py_frame_new_from_raddr(&(self->prev_raddr)); if (self->prev == NULL) { self->invalid = 1; error = EFRAMEINV; } else { self->prev->frame_no = self->frame_no + 1; self->prev->next = self; } } check_not_null(self->prev); return self->prev; } // ---------------------------------------------------------------------------- void py_frame__destroy(py_frame_t * self) { if (self == NULL) return; if (self->code != NULL) py_code__destroy(self->code); if (self->prev != NULL) { self->prev->next = NULL; py_frame__destroy(self->prev); } if (self->next != NULL) { self->next->prev = NULL; py_frame__destroy(self->next); } free(self); } src/version.h0000664000175000017500000000573613661542344013636 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . // This unit provides version support for Python. It summarises the ABI // changes into structures, and the correct one is chosen at runtime and // exposed via the global variable py_v. This variable should be used, when // different versions of the same structures are available, to de-reference // structure fields at the correct location. #ifndef VERSION_H #define VERSION_H #include #include #include #include "python.h" /** * Get the value of a field of a versioned structure. * * It works by retrieving the field offset from the offset table set at * runtime, depending on the detected version of Python. * * @param ctype the C type of the field to retrieve, e.g. void *. * @param py_obj the address of the beginning of the actual Python structure. * @param py_type the Austin representation of the Python structure, e.g. py_thread. * @param field the field of py_type to retrieve * * @return the value of of the field of py_obj at the offset specified * by the field argument. */ #define V_FIELD(ctype, py_obj, py_type, field) (*((ctype*) (((void *) &py_obj) + py_v->py_type.field))) typedef unsigned long offset_t; typedef struct { ssize_t size; offset_t o_filename; offset_t o_name; offset_t o_lnotab; offset_t o_firstlineno; } py_code_v; typedef struct { ssize_t size; offset_t o_back; offset_t o_code; offset_t o_lasti; } py_frame_v; typedef struct { ssize_t size; offset_t o_prev; offset_t o_next; offset_t o_interp; offset_t o_frame; offset_t o_thread_id; } py_thread_v; typedef struct { int version; } py_unicode_v; typedef struct { int version; } py_bytes_v; typedef struct { ssize_t size; offset_t o_interp_head; } py_runtime_v; typedef struct { py_code_v py_code; py_frame_v py_frame; py_thread_v py_thread; py_unicode_v py_unicode; py_bytes_v py_bytes; py_runtime_v py_runtime; } python_v; void set_version(int); #ifndef VERSION_C extern python_v * py_v; #else python_v * py_v; #endif #endif src/austin.h0000664000175000017500000000210613661542344013440 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifndef AUSTIN_H #define AUSTIN_H #define PROGRAM_NAME "austin" #define VERSION "1.0.1" #endif src/py_proc_list.h0000664000175000017500000000575213624027406014651 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifndef PY_PROC_LIST_H #define PY_PROC_LIST_H #include "py_proc.h" typedef struct _py_proc_item { py_proc_t * py_proc; struct _py_proc_item * next; struct _py_proc_item * prev; } py_proc_item_t; typedef struct { int count; // Number of entries in the list py_proc_item_t * first; // First item in the list py_proc_t ** index; // Index of PIDs in the list pid_t * pid_table; // Table of pids with their parents pid_t max_pid; // Highest seen PID in the index int pids; // Maximum number of PIDs in the index ctime_t timestamp; // Timestamp of the last update } py_proc_list_t; /** * Constructor. * * This list manages the children of the given parent process. * * @param py_proc_t the parent process. */ py_proc_list_t * py_proc_list_new(py_proc_t *); /** * Check if the list is empty. * * @param py_proc_list_t the list. * * @return 1 if empty; 0 otherwise. */ int py_proc_list__is_empty(py_proc_list_t *); /** * Add the the children of the given process to the list. * * @param py_proc_list_t the list. * @param pid_t the PID of the parent process. */ void py_proc_list__add_proc_children(py_proc_list_t *, pid_t); /** * Sample from all the processes in the list. * * @param py_proc_list_t the list. */ void py_proc_list__sample(py_proc_list_t *); /** * Update the list. * * Refreshes the internal PID table and adds any new children of the currently * running processes in the list. Old processes that are not running anymore * are removed. * * This method is quite expensive so it is executed no more frequently than * once every 0.1s. * * @param py_proc_list_t the list. */ void py_proc_list__update(py_proc_list_t *); /** * Wait for all the processes in the list to terminate. * * @param py_proc_list_t the list. */ void py_proc_list__wait(py_proc_list_t *); /** * Destroy the list from memory. * * @param py_proc_list_t the list. */ void py_proc_list__destroy(py_proc_list_t *); #endif src/win/0000775000175000017500000000000013624027406012556 5ustar gabrielegabrielesrc/win/py_proc.h0000664000175000017500000001364613624027406014414 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifdef PY_PROC_C #include #include #include "../py_proc.h" #define CHECK_HEAP #define DEREF_SYM #define MODULE_CNT 2 #define SYMBOLS 2 struct _proc_extra_info { HANDLE h_proc; }; // ---------------------------------------------------------------------------- // TODO: Optimise by avoiding executing the same code over and over again static void * map_addr_from_rva(void * bin, DWORD rva) { IMAGE_DOS_HEADER * dos_hdr = (IMAGE_DOS_HEADER *) bin; IMAGE_NT_HEADERS * nt_hdr = (IMAGE_NT_HEADERS *) (bin + dos_hdr->e_lfanew); IMAGE_SECTION_HEADER * s_hdr = (IMAGE_SECTION_HEADER *) (bin + dos_hdr->e_lfanew + sizeof(IMAGE_NT_HEADERS)); for (register int i = 0; i < nt_hdr->FileHeader.NumberOfSections; i++) { if (rva >= s_hdr[i].VirtualAddress && rva < s_hdr[i].VirtualAddress + s_hdr[i].SizeOfRawData) return bin + s_hdr[i].PointerToRawData + (rva - s_hdr[i].VirtualAddress); } return NULL; } // ---------------------------------------------------------------------------- static int _py_proc__analyze_pe(py_proc_t * self, char * path) { HANDLE hFile = CreateFile(path, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); HANDLE hMapping = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, 0); LPVOID pMapping = MapViewOfFile(hMapping, FILE_MAP_READ, 0, 0, 0); IMAGE_DOS_HEADER * dos_hdr = (IMAGE_DOS_HEADER *) pMapping; IMAGE_NT_HEADERS * nt_hdr = (IMAGE_NT_HEADERS *) (pMapping + dos_hdr->e_lfanew); IMAGE_SECTION_HEADER * s_hdr = (IMAGE_SECTION_HEADER *) (pMapping + dos_hdr->e_lfanew + sizeof(IMAGE_NT_HEADERS)); if (nt_hdr->Signature != IMAGE_NT_SIGNATURE) self->sym_loaded = 0; else { void * base = self->map.bss.base; // ---- Find the .data section ---- for (register int i = 0; i < nt_hdr->FileHeader.NumberOfSections; i++) { if (strcmp(".data", (const char *) s_hdr[i].Name) == 0) { self->map.bss.base += s_hdr[i].VirtualAddress; self->map.bss.size = s_hdr[i].Misc.VirtualSize; break; } } // ---- Search for exports ---- self->sym_loaded = 0; IMAGE_EXPORT_DIRECTORY * e_dir = (IMAGE_EXPORT_DIRECTORY *) map_addr_from_rva( pMapping, nt_hdr->OptionalHeader.DataDirectory[0].VirtualAddress ); if (e_dir != NULL) { DWORD * names = (DWORD *) map_addr_from_rva(pMapping, e_dir->AddressOfNames); WORD * idx_tab = (WORD *) map_addr_from_rva(pMapping, e_dir->AddressOfNameOrdinals); DWORD * addrs = (DWORD *) map_addr_from_rva(pMapping, e_dir->AddressOfFunctions); for ( register int i = 0; self->sym_loaded < SYMBOLS && i < e_dir->NumberOfFunctions; i++ ) { char * sym_name = (char *) map_addr_from_rva(pMapping, names[i]); self->sym_loaded += _py_proc__check_sym(self, sym_name, addrs[idx_tab[i]] + base); } } } UnmapViewOfFile(pMapping); CloseHandle(hMapping); CloseHandle(hFile); return !self->sym_loaded; } // ---------------------------------------------------------------------------- static int _py_proc__get_modules(py_proc_t * self) { HANDLE mod_hdl; mod_hdl = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, self->pid); if (mod_hdl == INVALID_HANDLE_VALUE) return 1; MODULEENTRY32 module; module.dwSize = sizeof(module); self->min_raddr = (void *) -1; self->max_raddr = NULL; BOOL success = Module32First(mod_hdl, &module); while (success) { if ((void *) module.modBaseAddr < self->min_raddr) self->min_raddr = module.modBaseAddr; if ((void *) module.modBaseAddr + module.modBaseSize > self->max_raddr) self->max_raddr = module.modBaseAddr + module.modBaseSize; if (strstr(module.szModule, "python")) { log_t( "%p-%p: Module %s", module.modBaseAddr, module.modBaseAddr + module.modBaseSize, module.szModule ); if (self->bin_path == NULL && strstr(module.szModule, ".exe")) self->bin_path = strdup(module.szExePath); if (!self->sym_loaded && strstr(module.szModule, ".dll")) { self->map.bss.base = module.modBaseAddr; // WARNING: Not the BSS base yet! self->lib_path = strdup(module.szExePath); _py_proc__analyze_pe(self, module.szExePath); } } if (self->bin_path != NULL && self->lib_path != NULL && self->sym_loaded) break; success = Module32Next(mod_hdl, &module); } CloseHandle(mod_hdl); return !self->sym_loaded; } // ---------------------------------------------------------------------------- static ssize_t _py_proc__get_resident_memory(py_proc_t * self) { PROCESS_MEMORY_COUNTERS mem_info; return GetProcessMemoryInfo(self->extra->h_proc, &mem_info, sizeof(mem_info)) ? mem_info.WorkingSetSize : -1; } // ---------------------------------------------------------------------------- static int _py_proc__init(py_proc_t * self) { if (self == NULL) return 1; return _py_proc__get_modules(self); } #endif src/py_thread.h0000664000175000017500000000426113624027406014114 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifndef PY_THREAD_H #define PY_THREAD_H #include #include "mem.h" #include "stats.h" #include "py_frame.h" typedef struct thread { raddr_t raddr; raddr_t next_raddr; long tid; struct thread * next; py_frame_t * first_frame; py_frame_t * last_frame; int invalid; } py_thread_t; py_thread_t * py_thread_new_from_raddr(raddr_t *); /** * Retrieve the frame for the thread that sits at the bottom of the stack. * * @param py_thread_t self. * * @return a pointer to an instance of py_frame_t that represents the * bottom-most entry in the frame stack for the thread. */ py_frame_t * py_thread__first_frame(py_thread_t *); /** * Get the next thread, if any. * * @param py_thread_t self. * * @return a pointer to the next py_thread_t instance. */ py_thread_t * py_thread__next(py_thread_t *); /** * Print the frame stack using the collapsed format. * * @param py_thread_t self. * @param ctime_t the time delta. * @param ssize_t the memory delta. * * @return 0 if the frame stack was printed, 1 otherwise. */ int py_thread__print_collapsed_stack(py_thread_t *, ctime_t, ssize_t); void py_thread__destroy(py_thread_t *); #endif // PY_THREAD_H src/error.c0000664000175000017500000000541313517410111013247 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #define ERROR_C #include #include "error.h" #define MAXERROR (5 << 3) const char * _error_msg_tab[MAXERROR] = { // generic error messages "No error", "Unable to open memory maps file.", NULL, NULL, NULL, NULL, NULL, NULL, // py_code_t "Failed to retrieve PyCodeObject", "Encountered unsupported string format", "Not a compact unicode object", "Failed to retrieve PyBytesObject", "Unable to get filename from code object", "Unable to get function name from code object", "Unable to get line number from code object", "Failed to retrieve PyUnicodeObject", // py_frame_t "Failed to create frame object", "Failed to get code object for frame", "Invalid frame", NULL, NULL, NULL, NULL, NULL, // py_thread_t "Failed to create thread object", "Failed to get top frame for thread", "Invalid thread", NULL, NULL, NULL, NULL, NULL, // py_proc_t "Failed to retrieve interpreter state", "Failed to fork process", "Failed to load memory maps", "Interpreter state search timed out", "Failed to attach to running process", "Permission denied. Try with elevated privileges.", "No such process.", NULL, }; const int _fatal_error_tab[MAXERROR] = { // generic error messages 0, 1, 0, 0, 0, 0, 0, 0, // py_code_t 0, 0, 0, 0, 0, 0, 0, 0, // py_frame_t 0, 0, 0, 0, 0, 0, 0, 0, // py_thread_t 0, 0, 0, 0, 0, 0, 0, 0, // py_proc_t 1, 1, 1, 1, 1, 1, 1, 0, }; const char * error_get_msg(error_t n) { if (n >= MAXERROR) return ""; return _error_msg_tab[n]; } const int is_fatal(error_t n) { if (n >= MAXERROR) return 0; return _fatal_error_tab[n]; } void check_not_null(void * p) { if (p != NULL) error = EOK; else log_error(); } src/py_proc_list.c0000664000175000017500000002145513624027406014642 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #include "platform.h" #if defined PL_LINUX #include #elif defined PL_MACOS #include #define PID_MAX 99999 // From sys/proc_internal.h #elif defined PL_WIN #include #include #endif #include #include #include #include "logging.h" #include "py_proc_list.h" #define UPDATE_INTERVAL 100000 // 0.1s // ---------------------------------------------------------------------------- static void _py_proc_list__add(py_proc_list_t * self, py_proc_t * py_proc) { py_proc_item_t * item = (py_proc_item_t *) malloc(sizeof(py_proc_item_t)); if (item == NULL) return; // Insert at the beginning of the list item->py_proc = py_proc; item->next = self->first; item->prev = NULL; if (self->first) self->first->prev = item; self->first = item; // Update index table. self->index[py_proc->pid] = py_proc; self->count++; log_d("Added process with PID %d (total number of processes: %d)", py_proc->pid, self->count); } /* _py_proc_list__add */ // ---------------------------------------------------------------------------- static int _py_proc_list__has_pid(py_proc_list_t * self, pid_t pid) { return self->index[pid] != NULL; } /* _py_proc_list__has_pid */ // ---------------------------------------------------------------------------- static void _py_proc_list__remove(py_proc_list_t * self, py_proc_item_t * item) { #ifdef DEBUG pid_t pid = item->py_proc->pid; #endif self->index[item->py_proc->pid] = NULL; if (item == self->first) self->first = item->next; if (item->next) item->next->prev = item->prev; if (item->prev) item->prev->next = item->next; py_proc__destroy(item->py_proc); free(item); self->count--; log_d("Removed process with PID %d. Items left: %d", pid, self->count); } /* _py_proc_list__remove */ // ---------------------------------------------------------------------------- py_proc_list_t * py_proc_list_new(py_proc_t * parent_py_proc) { py_proc_list_t * list = (py_proc_list_t *) calloc(1, sizeof(py_proc_list_t)); if (list == NULL) return NULL; #if defined PL_LINUX /* LINUX */ FILE * pid_max_file = fopen("/proc/sys/kernel/pid_max", "rb"); if (pid_max_file == NULL) return NULL; int has_pid_max = (fscanf(pid_max_file, "%d", &(list->pids)) == 1); fclose(pid_max_file); if (!has_pid_max) return NULL; #elif defined PL_MACOS /* MACOS */ list->pids = PID_MAX; #elif defined PL_WIN /* WIN */ list->pids = (1 << 22); // 4M. WARNING: This could potentially be violated! #endif log_t("Maximum number of PIDs: %d", list->pids); list->index = (py_proc_t **) calloc(list->pids, sizeof(py_proc_t *)); if (list->index == NULL) return NULL; list->pid_table = (pid_t *) calloc(list->pids, sizeof(pid_t)); if (list->pid_table == NULL) { free(list->index); return NULL; } // Add the parent process to the list. _py_proc_list__add(list, parent_py_proc); return list; } /* py_proc_list_new */ // ---------------------------------------------------------------------------- void py_proc_list__add_proc_children(py_proc_list_t * self, pid_t ppid) { for (register pid_t pid = 0; pid <= self->max_pid; pid++) { if (self->pid_table[pid] == ppid && !_py_proc_list__has_pid(self, pid)) { py_proc_t * child_proc = py_proc_new(); if (child_proc == NULL) continue; if (py_proc__attach(child_proc, pid)) { py_proc__destroy(child_proc); continue; } _py_proc_list__add(self, child_proc); py_proc_list__add_proc_children(self, pid); } } } /* py_proc_list__add_proc_children */ // ---------------------------------------------------------------------------- int py_proc_list__is_empty(py_proc_list_t * self) { return self->first == NULL; } /* py_proc_list__is_empty */ // ---------------------------------------------------------------------------- void py_proc_list__sample(py_proc_list_t * self) { log_t("Sampling from process list"); for (py_proc_item_t * item = self->first; item != NULL; item = item->next) { log_t("Sampling process with PID %d", item->py_proc->pid); if (py_proc__is_running(item->py_proc)) py_proc__sample(item->py_proc); } } /* py_proc_list__sample */ // ---------------------------------------------------------------------------- void py_proc_list__update(py_proc_list_t * self) { ctime_t now = gettime(); if (now - self->timestamp < UPDATE_INTERVAL) return; // Do not update too frequently as this is an expensive operation. memset(self->pid_table, 0, self->pids * sizeof(pid_t)); self->max_pid = 0; // Update PID table #if defined PL_LINUX /* LINUX */ char stat_path[32]; char buffer[1024]; struct dirent *ent; DIR * proc_dir = opendir("/proc"); if (proc_dir == NULL) goto finally; for (;;) { // This code is inspired by the ps util ent = readdir(proc_dir); if (!ent || !ent->d_name) break; if ((*ent->d_name <= '0') || (*ent->d_name > '9')) continue; unsigned long pid = strtoul(ent->d_name, NULL, 10); sprintf(stat_path, "/proc/%ld/stat", pid); FILE * stat_file = fopen(stat_path, "rb"); if (stat_file == NULL) continue; if (fscanf( stat_file, "%d %s %c %d", (int *) buffer, buffer, (char *) buffer, &(self->pid_table[pid]) ) != 4) log_w("Failed to parse stat file for process %d", pid); if (pid > self->max_pid) self->max_pid = pid; fclose(stat_file); } closedir(proc_dir); #elif defined PL_MACOS /* MACOS */ int pid_list[PID_MAX]; int n_pids = proc_listallpids(NULL, 0); if (!n_pids || proc_listallpids(pid_list, sizeof(pid_list)) == -1) goto finally; for (register int i = 0; i < n_pids; i++) { struct proc_bsdinfo proc; if (proc_pidinfo(pid_list[i], PROC_PIDTBSDINFO, 0, &proc, PROC_PIDTBSDINFO_SIZE) == -1) continue; self->pid_table[pid_list[i]] = proc.pbi_ppid; if (pid_list[i] > self->max_pid) self->max_pid = pid_list[i]; } #elif defined PL_WIN /* WIN */ HANDLE h = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (h == INVALID_HANDLE_VALUE) goto finally; PROCESSENTRY32 pe = { 0 }; pe.dwSize = sizeof(PROCESSENTRY32); if (Process32First(h, &pe)) { do { self->pid_table[pe.th32ProcessID] = pe.th32ParentProcessID; if (pe.th32ProcessID > self->max_pid) self->max_pid = pe.th32ProcessID; } while (Process32Next(h, &pe)); } CloseHandle(h); #endif log_t("PID table populated"); // Attach to new PIDs. for (py_proc_item_t * item = self->first; item != NULL; /* item = item->next */) { if (py_proc__is_running(item->py_proc)) { py_proc_list__add_proc_children(self, item->py_proc->pid); item = item->next; } else { py_proc__wait(item->py_proc); py_proc_item_t * next = item->next; _py_proc_list__remove(self, item); item = next; } } finally: self->timestamp = now; } /* py_proc_list__update */ // ---------------------------------------------------------------------------- void py_proc_list__wait(py_proc_list_t * self) { log_d("Waiting for child processes to terminate"); for (py_proc_item_t * item = self->first; item != NULL; item = item->next) py_proc__wait(item->py_proc); } /* py_proc_list__wait */ // ---------------------------------------------------------------------------- void py_proc_list__destroy(py_proc_list_t * self) { // Remove all items first while (self->first) _py_proc_list__remove(self, self->first); if (self->index != NULL) free(self->index); if (self->pid_table != NULL) free(self->pid_table); free(self); } /* py_proc_list__destroy */ src/py_thread.c0000664000175000017500000001317413624027406014112 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #include #include "argparse.h" #include "error.h" #include "logging.h" #include "version.h" #include "py_thread.h" // ---- PRIVATE --------------------------------------------------------------- #define FRAME_LIMIT 4096 // ---- PUBLIC ---------------------------------------------------------------- // ---------------------------------------------------------------------------- py_thread_t * py_thread_new_from_raddr(raddr_t * raddr) { PyThreadState ts; py_frame_t * py_frame = NULL; py_thread_t * py_thread = NULL; py_frame_t * first_frame = NULL; py_frame_t * last_frame = NULL; error = EOK; if (copy_from_raddr(raddr, ts) != sizeof(ts)) error = ETHREAD; else { if (V_FIELD(void*, ts, py_thread, o_frame) != NULL) { raddr_t frame_raddr = { .pid = raddr->pid, .addr = V_FIELD(void*, ts, py_thread, o_frame) }; py_frame = py_frame_new_from_raddr(&frame_raddr); if (py_frame == NULL) error = ETHREADNOFRAME; else { register int limit = FRAME_LIMIT; last_frame = py_frame; while (py_frame != NULL && --limit) { if (py_frame->invalid) { error = ETHREADNOFRAME; py_frame__destroy(last_frame); last_frame = NULL; break; } first_frame = py_frame; py_frame = py_frame__prev(py_frame); } if (!limit) log_w("Frames limit reached. Discarding the rest"); } } } if ((error & ETHREAD) == 0) { py_thread = (py_thread_t *) malloc(sizeof(py_thread_t)); if (py_thread == NULL) error = ETHREAD; else { py_thread->raddr.pid = raddr->pid; py_thread->raddr.addr = raddr->addr; py_thread->next_raddr.pid = raddr->pid; py_thread->next_raddr.addr = V_FIELD(void*, ts, py_thread, o_next) == raddr->addr \ ? NULL \ : V_FIELD(void*, ts, py_thread, o_next); py_thread->tid = V_FIELD(long, ts, py_thread, o_thread_id); if (py_thread->tid == 0) py_thread->tid = (long) raddr->addr; py_thread->next = NULL; py_thread->first_frame = first_frame; py_thread->last_frame = last_frame; py_thread->invalid = 0; } } if (py_thread == NULL && last_frame != NULL) py_frame__destroy(last_frame); check_not_null(py_thread); return py_thread; } // ---------------------------------------------------------------------------- py_frame_t * py_thread__first_frame(py_thread_t * self) { if (self == NULL) return NULL; return self->first_frame; } // ---------------------------------------------------------------------------- py_thread_t * py_thread__next(py_thread_t * self) { if (self == NULL || self->next_raddr.addr == NULL) return NULL; if (self->next == NULL) { self->next = py_thread_new_from_raddr(&(self->next_raddr)); if (self->next == NULL) { self->invalid = 1; error = ETHREADINV; } } check_not_null(self->next); return self->next; } // ---------------------------------------------------------------------------- int py_thread__print_collapsed_stack(py_thread_t * thread, ctime_t delta, ssize_t mem_delta) { if (!pargs.full && pargs.memory && mem_delta <= 0) return 1; if (thread->invalid) { fprintf(pargs.output_file, "Thread %lx;Bad sample %ld\n", thread->tid, delta); stats_count_error(); return 0; } py_frame_t * frame = py_thread__first_frame(thread); if (frame == NULL && pargs.exclude_empty) // Skip if thread has no frames and we want to exclude empty threads return 1; // Group entries by thread. fprintf(pargs.output_file, "Thread %lx", thread->tid); // Append frames while(frame != NULL) { py_code_t * code = frame->code; if (pargs.sleepless && strstr(code->scope, "wait") != NULL) { delta = 0; fprintf(pargs.output_file, ";"); break; } fprintf(pargs.output_file, pargs.format, code->scope, code->filename, code->lineno); frame = frame->next; } // Finish off sample with the metric(s) if (pargs.full) { fprintf(pargs.output_file, " %lu %ld %ld\n", delta, mem_delta >= 0 ? mem_delta : 0, mem_delta < 0 ? mem_delta : 0 ); } else { if (pargs.memory) fprintf(pargs.output_file, " %ld\n", mem_delta); else fprintf(pargs.output_file, " %lu\n", delta); } return 0; } // ---------------------------------------------------------------------------- void py_thread__destroy(py_thread_t * self) { if (self == NULL) return; // Destroy frame list if (self->last_frame != NULL) py_frame__destroy(self->last_frame); // Destroy next thread state if (self->next != NULL) py_thread__destroy(self->next); free(self); } src/dict.h0000664000175000017500000000172213354232100013044 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . long string_hash(char *); src/py_frame.h0000664000175000017500000000327613354232100013731 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifndef PY_FRAME_H #define PY_FRAME_H #include "mem.h" #include "py_code.h" typedef struct frame { raddr_t raddr; raddr_t prev_raddr; int frame_no; struct frame * prev; struct frame * next; // Make it a double-linked list for easier reverse navigation py_code_t * code; int invalid; // Set when prev_radd != null but prev == null. } py_frame_t; py_frame_t * py_frame_new_from_raddr(raddr_t *); /** * Navigate to the previous frame in the stack. * * @param py_frame_t self * * @return the pointer to the previous py_frame_t object or NULL if self is * at the bottom of the stack. */ py_frame_t * py_frame__prev(py_frame_t *); void py_frame__destroy(py_frame_t *); #endif // PY_FRAME_H src/argparse.c0000664000175000017500000003263013624027406013735 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #define ARGPARSE_C #include #include "argparse.h" #include "austin.h" #include "platform.h" #define DEFAULT_SAMPLING_INTERVAL 100 #define DEFAULT_INIT_RETRY_CNT 100 const char SAMPLE_FORMAT_NORMAL[] = ";%s (%s);L%d"; const char SAMPLE_FORMAT_ALTERNATIVE[] = ";%s (%s:%d)"; // Globals for command line arguments parsed_args_t pargs = { /* t_sampling_interval */ DEFAULT_SAMPLING_INTERVAL, /* timeout */ DEFAULT_INIT_RETRY_CNT, /* attach_pid */ 0, /* exclude_empty */ 0, /* sleepless */ 0, /* format */ (char *) SAMPLE_FORMAT_NORMAL, /* full */ 0, /* memory */ 0, /* output_file */ NULL, /* output_filename */ NULL, /* children */ 0, }; static int exec_arg = 0; // ---- PRIVATE --------------------------------------------------------------- // ---------------------------------------------------------------------------- static int strtonum(char * str, long * num) { char * p_err; *num = strtol(str, &p_err, 10); return (p_err == str || *p_err != 0) ? 1 : 0; } // ---- GNU C ----------------------------------------------------------------- #ifdef PL_LINUX /* LINUX */ #include const char * argp_program_version = PROGRAM_NAME " " VERSION; const char * argp_program_bug_address = \ ""; static const char * doc = "Austin -- A frame stack sampler for Python."; #else #define ARG_USAGE -1 typedef struct argp_option { const char * long_name; int opt; const char * has_arg; int _flag; /* Unused */ const char * _doc; /* Unused */ } arg_option; #endif static struct argp_option options[] = { { "interval", 'i', "n_us", 0, "Sampling interval (default is 500us)." }, { "timeout", 't', "n_ms", 0, "Approximate start up wait time. Increase on slow machines (default is 100ms)." }, { "alt-format", 'a', NULL, 0, "Alternative collapsed stack sample format." }, { "exclude-empty",'e', NULL, 0, "Do not output samples of threads with no frame stacks." }, { "sleepless", 's', NULL, 0, "Suppress idle samples." }, { "memory", 'm', NULL, 0, "Profile memory usage." }, { "full", 'f', NULL, 0, "Produce the full set of metrics (time +mem -mem)." }, { "pid", 'p', "PID", 0, "The the ID of the process to which Austin should attach." }, { "output", 'o', "FILE", 0, "Specify an output file for the collected samples." }, { "children", 'C', NULL, 0, "Attach to child processes." }, #ifndef PL_LINUX { "help", '?', NULL }, { "usage", ARG_USAGE, NULL }, { "version", 'V', NULL }, #endif {0, 0, 0} }; #ifdef PL_LINUX // ---------------------------------------------------------------------------- static int parse_opt (int key, char *arg, struct argp_state *state) { if (state->argc == 1) { argp_state_help(state, stdout, ARGP_HELP_USAGE); exit(0); } // Consume all the remaining arguments if the next one is not an option so // that they can be passed to the command to execute if ((state->next == 0 && state->argv[1][0] != '-') || (state->next > 0 && state->next < state->argc && state->argv[state->next][0] != '-') ) { exec_arg = state->next == 0 ? 1 : state->next; state->next = state->argc; } long l_pid; switch(key) { case 'i': if ( strtonum(arg, (long *) &(pargs.t_sampling_interval)) == 1 || pargs.t_sampling_interval > LONG_MAX ) argp_error(state, "the sampling interval must be a positive integer"); break; case 't': if ( strtonum(arg, (long *) &(pargs.timeout)) == 1 || pargs.timeout > LONG_MAX ) argp_error(state, "timeout must be a positive integer"); break; case 'a': pargs.format = (char *) SAMPLE_FORMAT_ALTERNATIVE; break; case 'e': pargs.exclude_empty = 1; break; case 's': pargs.sleepless = 1; break; case 'm': pargs.memory = 1; break; case 'f': pargs.full = 1; break; case 'p': if (strtonum(arg, &l_pid) == 1 || l_pid <= 0) argp_error(state, "invalid PID."); pargs.attach_pid = (pid_t) l_pid; break; case 'o': pargs.output_file = fopen(arg, "w"); if (pargs.output_file == NULL) { argp_error(state, "Unable to create the given output file."); } pargs.output_filename = arg; break; case 'C': pargs.children = 1; break; case ARGP_KEY_ARG: case ARGP_KEY_END: if (pargs.attach_pid != 0 && exec_arg != 0) argp_error(state, "the -p option is incompatible with the command argument."); break; default: return ARGP_ERR_UNKNOWN; } return 0; } #else /* !LINUX */ #include #include // Argument callback. Called on every argument parser event. // // The first argument is the option character, or 0 for a non-option argument. // The second argument is either the argument of the option, if one is required, // or NULL, when the first argument is not null, or the value of the non-option // argument. // // Return 0 to continue parsing the arguments, or otherwise to stop. typedef int (*arg_callback)(const char opt, const char * arg); // ---------------------------------------------------------------------------- static arg_option * _find_long_opt(arg_option * opts, char * opt_name) { arg_option * retval = NULL; register int i = 0; while (retval == NULL && opts[i].opt != 0) { if (opts[i].long_name != NULL) { char * equal = strchr(opt_name, '='); if (equal) *equal = 0; if (strcmp(opt_name, opts[i].long_name) == 0) { retval = &opts[i]; } if (equal) *equal = '='; } i++; } return retval; } // ---------------------------------------------------------------------------- static arg_option * _find_opt(arg_option * opts, char opt) { register int i = 0; while (opts[i].opt != 0) { if (opts[i].opt == opt) return &opts[i]; i++; } return NULL; } // ---------------------------------------------------------------------------- static int _handle_opt(arg_option * opt, arg_callback cb, int argi, int argc, char ** argv) { char * opt_arg = NULL; if (opt) { char * equal = strchr(argv[argi], '='); if (opt->has_arg) { if (equal == NULL && (argi >= argc - 1 || argv[argi+1][0] == '-')) return ARG_MISSING_OPT_ARG; opt_arg = equal ? equal + 1 : argv[argi+1]; } else if(equal != NULL) return ARG_UNEXPECTED_OPT_ARG; return cb(opt->opt, opt_arg); } return ARG_UNRECOGNISED_LONG_OPT; } // ---------------------------------------------------------------------------- static int _handle_long_opt(arg_option * opts, arg_callback cb, int * argi, int argc, char ** argv) { arg_option * opt = _find_long_opt(opts, &argv[*argi][2]); int cb_res = _handle_opt(opt, cb, *argi, argc, argv); if (cb_res) return cb_res; *argi += opt->has_arg && strchr(argv[*argi], '=') == NULL ? 2 : 1; return 0; } // ---------------------------------------------------------------------------- static int _handle_opts(arg_option * opts, arg_callback cb, int * argi, int argc, char ** argv) { char * opt_str = &argv[*argi][1]; int n_opts = strlen(opt_str); arg_option * curr_opt = NULL; char * equal = strchr(argv[*argi], '='); for (register int i = 0; i < n_opts; i++) { if (opt_str[i] == '=') break; curr_opt = _find_opt(opts, opt_str[i]); if (curr_opt == NULL) return ARG_UNRECOGNISED_OPT; if (curr_opt->has_arg && (equal == NULL && i < n_opts - 1)) return ARG_MISSING_OPT_ARG; int cb_res = _handle_opt(curr_opt, cb, *argi, argc, argv); if (cb_res) return cb_res; } *argi += curr_opt->has_arg && equal == NULL ? 2 : 1; return 0; } // ---------------------------------------------------------------------------- // Return 0 if all the arguments have been parsed. If interrupted, returns the // number of arguments consumed so far. Otherwise return an error code. static int arg_parse(arg_option * opts, arg_callback cb, int argc, char ** argv) { int a = 1; int cb_res = 0; while (a < argc) { if (argv[a][0] == '-') { if (argv[a][1] == '-') { // Long option cb_res = _handle_long_opt(opts, cb, &a, argc, argv); } else { // Simple option cb_res = _handle_opts(opts, cb, &a, argc, argv); } } else { // Argument cb_res = cb(0, argv[a++]); } if (cb_res) return cb_res < 0 ? cb_res : a; } return 0; } static const char * help_msg = \ "Usage: austin [OPTION...] command [ARG...]\n" "Austin -- A frame stack sampler for Python.\n" "\n" " -a, --alt-format Alternative collapsed stack sample format.\n" " -C, --children Attach to child processes.\n" " -e, --exclude-empty Do not output samples of threads with no frame\n" " stacks.\n" " -f, --full Produce the full set of metrics (time +mem -mem).\n" " -i, --interval=n_us Sampling interval (default is 500us).\n" " -m, --memory Profile memory usage.\n" " -o, --output=FILE Specify an output file for the collected samples.\n" " -p, --pid=PID The the ID of the process to which Austin should\n" " attach.\n" " -s, --sleepless Suppress idle samples.\n" " -t, --timeout=n_ms Approximate start up wait time. Increase on slow\n" " machines (default is 100ms).\n" " -?, --help Give this help list\n" " --usage Give a short usage message\n" " -V, --version Print program version\n" "\n" "Mandatory or optional arguments to long options are also mandatory or optional\n" "for any corresponding short options.\n" "\n" "Report bugs to .\n"; static const char * usage_msg = \ "Usage: austin [-aCefms?V] [-i n_us] [-o FILE] [-p PID] [-t n_ms] [--alt-format]\n" " [--children] [--exclude-empty] [--full] [--interval=n_us]\n" " [--memory] [--output=FILE] [--pid=PID] [--sleepless]\n" " [--timeout=n_ms] [--help] [--usage] [--version] command [ARG...]\n"; // ---------------------------------------------------------------------------- static int cb(const char opt, const char * arg) { switch (opt) { case 'i': if ( strtonum((char *) arg, (long *) &(pargs.t_sampling_interval)) == 1 || pargs.t_sampling_interval > LONG_MAX ) { puts(usage_msg); return ARG_INVALID_VALUE; } break; case 't': if ( strtonum((char *) arg, (long *) &(pargs.timeout)) == 1 || pargs.timeout > LONG_MAX ) { puts(usage_msg); return ARG_INVALID_VALUE; } break; case 'a': pargs.format = (char *) SAMPLE_FORMAT_ALTERNATIVE; break; case 'e': pargs.exclude_empty = 1; break; case 's': pargs.sleepless = 1; break; case 'm': pargs.memory = 1; break; case 'f': pargs.full = 1; break; case 'p': if ( strtonum((char *) arg, (long *) &pargs.attach_pid) == 1 || pargs.attach_pid <= 0 ) { puts(usage_msg); return ARG_INVALID_VALUE; } break; case 'o': pargs.output_file = fopen(arg, "w"); if (pargs.output_file == NULL) { puts("Unable to create the given output file."); return ARG_INVALID_VALUE; } pargs.output_filename = (char *) arg; break; case 'C': pargs.children = 1; break; case '?': puts(help_msg); exit(0); case 'V': puts(PROGRAM_NAME " " VERSION); exit(0); case ARG_USAGE: puts(usage_msg); exit(0); case ARG_ARGUMENT: return ARG_STOP_PARSING; default: puts(usage_msg); exit(ARG_UNRECOGNISED_OPT); } return ARG_CONTINUE_PARSING; } #endif // ---- PUBLIC ---------------------------------------------------------------- // ---------------------------------------------------------------------------- int parse_args(int argc, char ** argv) { #ifdef PL_LINUX struct argp args = {options, parse_opt, "command [ARG...]", doc}; argp_parse(&args, argc, argv, 0, 0, 0); #else exec_arg = arg_parse(options, cb, argc, argv) - 1; #endif return exec_arg; } src/austin.c0000664000175000017500000001301613624027406013431 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #include #include #include #include #include #include #include "argparse.h" #include "austin.h" #include "error.h" #include "logging.h" #include "mem.h" #include "python.h" #include "stats.h" #include "py_frame.h" #include "py_proc.h" #include "py_proc_list.h" #include "py_thread.h" // ---- TIMING ---------------------------------------------------------------- static ctime_t _sample_timestamp; static void timer_start(void) { _sample_timestamp = gettime(); } /* timer_start */ static void timer_stop(void) { ctime_t delta = gettime() - _sample_timestamp; // Record stats stats_check_duration(delta, pargs.t_sampling_interval); // Pause if sampling took less than the sampling interval. if (delta < pargs.t_sampling_interval) usleep(pargs.t_sampling_interval - delta); } /* timer_stop */ // ---- SIGNAL HANDLING ------------------------------------------------------- static int interrupt = 0; static void signal_callback_handler(int signum) { if (signum == SIGINT) interrupt++; } /* signal_callback_handler */ // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- void do_single_process(py_proc_t * py_proc) { while(py_proc__is_running(py_proc) && !interrupt) { timer_start(); { py_proc__sample(py_proc); } timer_stop(); } if (!interrupt) py_proc__wait(py_proc); py_proc__destroy(py_proc); } /* do_single_process */ // ---------------------------------------------------------------------------- void do_child_processes(py_proc_t * py_proc) { py_proc_list_t * list = py_proc_list_new(py_proc); if (list == NULL) return; // If the parent process is not running maybe it wasn't a Python // process. However, its children might be, so we attempt to attach // Austin to them. if (!py_proc__is_running(py_proc)) { log_d("Parent process is not running. Trying with its children."); // Since the parent process is not running we probably have waited long // enough so we can try to attach to child processes straight away. pargs.timeout = 1; // Store the PID before it gets deleted by the update. pid_t ppid = py_proc->pid; py_proc_list__update(list); py_proc_list__add_proc_children(list, ppid); } while (!py_proc_list__is_empty(list) && !interrupt) { timer_start(); { py_proc_list__update(list); py_proc_list__sample(list); } timer_stop(); } if (!interrupt) { py_proc_list__update(list); py_proc_list__wait(list); } py_proc_list__destroy(list); } /* do_child_processes */ // ---- MAIN ------------------------------------------------------------------ // ---------------------------------------------------------------------------- int main(int argc, char ** argv) { int retval = 0; int exec_arg = parse_args(argc, argv); if (exec_arg == 0 && pargs.attach_pid == 0) { retval = -1; goto release; } logger_init(); log_header(); log_version(); if (pargs.attach_pid == 0 && argv[exec_arg] == NULL) { log_f("Null command and invalid PID. Austin doesn't know what to do."); retval = EPROC; goto finally; } py_proc_t * py_proc = py_proc_new(); if (py_proc == NULL) { retval = EPROC; goto finally; } if (pargs.attach_pid == 0) { if (py_proc__start(py_proc, argv[exec_arg], (char **) &argv[exec_arg])) { retval = EPROCFORK; goto finally; } } else { if (py_proc__attach(py_proc, pargs.attach_pid) && !pargs.children) { retval = EPROCATTACH; goto finally; } } // Register signal handler for Ctrl+C signal(SIGINT, signal_callback_handler); // Redirect output to STDOUT if not output file was given. if (pargs.output_file == NULL) pargs.output_file = stdout; else log_i("Output file: %s", pargs.output_filename); log_i("Sampling interval: %lu usec", pargs.t_sampling_interval); if (pargs.full) { if (pargs.memory) log_w("Requested full metrics. The memory switch is redundant."); log_i("Producing full set of metrics (time +mem -mem)."); pargs.memory = 1; } stats_reset(); { if (pargs.children) do_child_processes(py_proc); else do_single_process(py_proc); } stats_log_metrics(); finally: if (retval && error != EOK) log_i("Last error code: %d", error); log_footer(); logger_close(); release: if (pargs.output_file != NULL && pargs.output_file != stdout) { fclose(pargs.output_file); log_d("Output file closed."); } return retval; } /* main */ src/platform.h0000664000175000017500000000255613517410111013754 0ustar gabrielegabriele// This file is part of "austin" which is released under GPL. // // See file LICENCE or go to http://www.gnu.org/licenses/ for full license // details. // // Austin is a Python frame stack sampler for CPython. // // Copyright (c) 2018 Gabriele N. Tornetta . // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifndef PLATFORM_H #define PLATFORM_H #if defined(__linux__) #define PL_LINUX #elif defined(__APPLE__) && defined(__MACH__) #define PL_MACOS #elif defined(_WIN32) || defined(_WIN64) #define PL_WIN #define NULL_DEVICE "NUL:" #endif // ---------------------------------------------------------------------------- #if defined(PL_LINUX) || defined(PL_MACOS) #define PL_UNIX #define NULL_DEVICE "/dev/null" #endif #endif test/0000775000175000017500000000000013662062325012152 5ustar gabrielegabrieletest/test_fork.bats0000664000175000017500000000470513624027406015032 0ustar gabrielegabriele#!/usr/bin/env bats invoke_austin() { if ! python$1 -V; then skip "Python $1 not found."; fi for i in {1..3} do echo "> Run $i of 3" # ------------------------------------------------------------------------- echo " :: Standard profiling" run src/austin -i 1000 -t 10000 python$1 test/target34.py echo " Exit code: $status" if [ $status != 0 ]; then continue; fi if ! echo "$output" | grep -q "keep_cpu_busy (test/target34.py);L" \ || echo "$output" | grep -q "Unwanted" then continue fi echo " Output: OK" # ------------------------------------------------------------------------- echo " :: Memory profiling" run src/austin -i 1000 -t 10000 -m python$1 test/target34.py echo " Exit code: $status" if [ $status != 0 ]; then continue; fi if ! echo "$output" | grep -q "keep_cpu_busy (test/target34.py);L" then continue fi echo " Output: OK" # ------------------------------------------------------------------------- echo " :: Output file" run src/austin -i 10000 -t 10000 -o /tmp/austin_out.txt python$1 test/target34.py echo " Exit code: $status" if [ $status != 0 ]; then continue; fi if ! echo "$output" | grep -q "Unwanted" \ || cat /tmp/austin_out.txt | grep -q "keep_cpu_busy (test/target34.py);L" then echo " Output: OK" return fi done if [ $2 ] then skip "Test failed but marked as 'Ignore'" else echo echo "Collected Output" echo "================" echo echo "$output" echo false fi } # ----------------------------------------------------------------------------- teardown() { if [ -f /tmp/austin_out.txt ]; then rm /tmp/austin_out.txt; fi } @test "Test Austin with Python 2.3" { invoke_austin "2.3" ignore } @test "Test Austin with Python 2.4" { invoke_austin "2.4" ignore } @test "Test Austin with Python 2.5" { invoke_austin "2.5" } @test "Test Austin with Python 2.6" { invoke_austin "2.6" } @test "Test Austin with Python 2.7" { invoke_austin "2.7" } @test "Test Austin with Python 3.3" { invoke_austin "3.3" } @test "Test Austin with Python 3.4" { invoke_austin "3.4" } @test "Test Austin with Python 3.5" { invoke_austin "3.5" } @test "Test Austin with Python 3.6" { invoke_austin "3.6" } @test "Test Austin with Python 3.7" { invoke_austin "3.7" } @test "Test Austin with Python 3.8" { invoke_austin "3.8" } test/test_fork_mp.bats0000664000175000017500000000377613661542344015541 0ustar gabrielegabriele#!/usr/bin/env bats invoke_austin() { if ! python$1 -V; then skip "Python $1 not found."; fi for i in {1..3} do echo "> Run $i of 3" # ------------------------------------------------------------------------- echo " :: Profiling of multi-process program" run src/austin -i 10000 -C python$1 test/target_mp.py echo " Exit code: $status" if [ $status != 0 ]; then continue; fi echo " - Check expected number of processes." expected=3 n_procs=$( echo "$output" | sed -r 's/Process ([0-9]+);.+/\1/' | sort | uniq | wc -l ) echo " Expected at least $expected and got $n_procs" if [ $n_procs < $expected ]; then continue; fi echo " - Check output contains frames." if echo "$output" | grep -q "do (test/target_mp.py);L[[:digit:]]*;fact (test/target_mp.py);L" then echo " Output: OK" return fi done if [ $2 ] then skip "Test failed but marked as 'Ignore'" else echo echo "Collected Output" echo "================" echo echo "$output" echo false fi } # ----------------------------------------------------------------------------- @test "Test Austin with Python 2.3" { skip "Multiprocessing library introduced in Python 2.6" invoke_austin "2.3" } @test "Test Austin with Python 2.4" { skip "Multiprocessing library introduced in Python 2.6" invoke_austin "2.4" } @test "Test Austin with Python 2.5" { skip "Multiprocessing library introduced in Python 2.6" invoke_austin "2.5" } @test "Test Austin with Python 2.6" { invoke_austin "2.6" } @test "Test Austin with Python 2.7" { invoke_austin "2.7" } @test "Test Austin with Python 3.3" { invoke_austin "3.3" } @test "Test Austin with Python 3.4" { invoke_austin "3.4" } @test "Test Austin with Python 3.5" { invoke_austin "3.5" } @test "Test Austin with Python 3.6" { invoke_austin "3.6" } @test "Test Austin with Python 3.7" { invoke_austin "3.7" } @test "Test Austin with Python 3.8" { invoke_austin "3.8" } test/target34.py0000664000175000017500000000231313624027406014157 0ustar gabrielegabriele#!/usr/bin/env python3 # This file is part of "austin" which is released under GPL. # # See file LICENCE or go to http://www.gnu.org/licenses/ for full license # details. # # Sibilla is a Python ORM for the Oracle Database. # # Copyright (c) 2019 Gabriele N. Tornetta . # All rights reserved. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . import threading def keep_cpu_busy(): a = [] for i in range(2000000): a.append(i) if i % 100000 == 0: print("Unwanted output " + str(i)) if __name__ == "__main__": threading.Thread(target=keep_cpu_busy).start() keep_cpu_busy() test/test.bats0000664000175000017500000000057413624027406014011 0ustar gabrielegabriele#!/usr/bin/env bats test_case() { run bats test/test_$1.bats echo "$output" [ $status = 0 ] } @test "Test Austin: fork" { test_case fork } @test "Test Austin: fork multi-process" { test_case fork_mp } @test "Test Austin: attach" { if [[ $EUID -ne 0 ]]; then skip "requires root" fi test_case attach } @test "Test Austin: valgrind" { test_case valgrind } test/sleepy.py0000664000175000017500000000213013624027406014020 0ustar gabrielegabriele# This file is part of "austin" which is released under GPL. # # See file LICENCE or go to http://www.gnu.org/licenses/ for full license # details. # # Sibilla is a Python ORM for the Oracle Database. # # Copyright (c) 2019 Gabriele N. Tornetta . # All rights reserved. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . import time def cpu_bound(): a = [] for i in range(100000): a.append(i) if __name__ == "__main__": for n in range(2): cpu_bound() time.sleep(1) test/test_valgrind.bats0000664000175000017500000000310713624027406015672 0ustar gabrielegabriele#!/usr/bin/env bats invoke_austin() { if ! python$1 -V; then skip "Python $1 not found."; fi for i in {1..3} do echo "> Run $i of 3" # ------------------------------------------------------------------------- echo " :: Valgrind test" run valgrind \ --error-exitcode=42 \ --leak-check=full \ --show-leak-kinds=all \ --errors-for-leak-kinds=all \ --track-fds=yes \ src/austin -i 100000 -t 10000 python$1 test/target34.py echo " Exit code: $status" echo " Valgrind report: <" echo "$output" if [ $status = 0 ] then return fi done if [ $2 ] then skip "Test failed but marked as 'Ignore'" else echo echo "Collected Output" echo "================" echo echo "$output" echo false fi } # ----------------------------------------------------------------------------- @test "Test Austin with Python 2.3" { invoke_austin "2.3" ignore } @test "Test Austin with Python 2.4" { invoke_austin "2.4" ignore } @test "Test Austin with Python 2.5" { invoke_austin "2.5" } @test "Test Austin with Python 2.6" { invoke_austin "2.6" } @test "Test Austin with Python 2.7" { invoke_austin "2.7" } @test "Test Austin with Python 3.3" { invoke_austin "3.3" } @test "Test Austin with Python 3.4" { invoke_austin "3.4" } @test "Test Austin with Python 3.5" { invoke_austin "3.5" } @test "Test Austin with Python 3.6" { invoke_austin "3.6" } @test "Test Austin with Python 3.7" { invoke_austin "3.7" } @test "Test Austin with Python 3.8" { invoke_austin "3.8" } test/target_mp.py0000664000175000017500000000266213624027406014513 0ustar gabrielegabriele# This file is part of "austin" which is released under GPL. # # See file LICENCE or go to http://www.gnu.org/licenses/ for full license # details. # # Sibilla is a Python ORM for the Oracle Database. # # Copyright (c) 2019 Gabriele N. Tornetta . # All rights reserved. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # source: https://lobste.rs/s/qairy5/austin_python_frame_stack_sampler_for import time import multiprocessing def fact(n): f = 1 for i in range(1, n + 1): f *= i return f def do(N): n = 1 for _ in range(N): fact(n) n += 1 if __name__ == "__main__": processes = [] for _ in range(2): process = multiprocessing.Process(target=do, args=(2000,)) process.start() processes.append(process) for process in processes: process.join(timeout=5) test/macos/0000775000175000017500000000000013661542344013257 5ustar gabrielegabrieletest/macos/test_fork.bats0000664000175000017500000000461213661542344016135 0ustar gabrielegabriele#!/usr/bin/env bats invoke_austin() { python_bin=$1 ignore=$2 if ! $python_bin -V; then skip "$python_bin not found."; fi for i in {1..3} do echo "> Run $i of 3" # ------------------------------------------------------------------------- echo " :: Standard profiling" run sudo src/austin -i 1000 -t 10000 $python_bin test/target34.py echo " Exit code: $status" if [ $status != 0 ]; then continue; fi if ! echo "$output" | grep -q "keep_cpu_busy (test/target34.py);L" \ || echo "$output" | grep -q "Unwanted" then continue fi echo " Output: OK" # ------------------------------------------------------------------------- echo " :: Memory profiling" run sudo src/austin -i 1000 -t 10000 -m $python_bin test/target34.py echo " Exit code: $status" if [ $status != 0 ]; then continue; fi if ! echo "$output" | grep -q "keep_cpu_busy (test/target34.py);L" then continue fi echo " Output: OK" # ------------------------------------------------------------------------- echo " :: Output file" run sudo src/austin -i 10000 -t 10000 -o /tmp/austin_out.txt $python_bin test/target34.py echo " Exit code: $status" if [ $status != 0 ]; then continue; fi if ! echo "$output" | grep -q "Unwanted" \ || cat /tmp/austin_out.txt | grep -q "keep_cpu_busy (test/target34.py);L" then echo " Output: OK" return fi done if [ $ignore ] then skip "Test failed but marked as 'Ignore'" else echo echo "Collected Output" echo "================" echo echo "$output" echo false fi } # ----------------------------------------------------------------------------- teardown() { if [ -f /tmp/austin_out.txt ]; then rm /tmp/austin_out.txt; fi } # @test "Test Austin with the default Python 3" { # /usr/bin/python3 -m venv --copies --without-pip /tmp/py3 # source /tmp/py3/bin/activate # invoke_austin "python3" # test -d /tmp/py3 && rm -rf /tmp/py3 # } @test "Test Austin with default Python 3 from Homebrew" { invoke_austin "/usr/local/bin/python3" } @test "Test Austin with Python 3.8 from Homebrew (if available)" { invoke_austin "/usr/local/opt/python@3.8/bin/python3" ignore } @test "Test Austin with Python 3 from Anaconda (if available)" { invoke_austin "/usr/local/anaconda3/bin/python" ignore } test/macos/test_fork_mp.bats0000664000175000017500000000326413661542344016633 0ustar gabrielegabrieleinvoke_austin() { python_bin=$1 ignore=$2 if ! $python_bin -V; then skip "$python_bin not found."; fi for i in {1..3} do echo "> Run $i of 3" # ------------------------------------------------------------------------- echo " :: Profiling of multi-process program" run sudo src/austin -i 100000 -C $python_bin test/target_mp.py echo " Exit code: $status" if [ $status != 0 ]; then continue; fi echo " - Check expected number of processes." expected=3 n_procs=$( echo "$output" | sed -E 's/Process ([0-9]+);.+/\1/' | sort | uniq | wc -l ) echo " Expected at least $expected and got $n_procs" if [ $n_procs -lt $expected ]; then continue; fi echo " - Check output contains frames." if echo "$output" | grep -q "fact" then echo " Output: OK" return fi echo " Output: NOK" done if [ $ignore ] then echo "Test marked as 'Ignore' failed" fi echo echo "Collected Output" echo "================" echo echo "$output" echo false } # ----------------------------------------------------------------------------- # @test "Test Austin with the default Python 3" { # /usr/bin/python3 -m venv /tmp/py3 # source /tmp/py3/bin/activate # invoke_austin "python3" # test -d /tmp/py3 && rm -rf /tmp/py3 # } @test "Test Austin with default Python 3 from Homebrew" { invoke_austin "/usr/local/bin/python3" } @test "Test Austin with Python 3.8 from Homebrew (if available)" { invoke_austin "/usr/local/opt/python@3.8/bin/python3" ignore } @test "Test Austin with Python 3 from Anaconda (if available)" { invoke_austin "/usr/local/anaconda3/bin/python" ignore }test/macos/test.bats0000664000175000017500000000063513661542344015115 0ustar gabrielegabrieletest_case() { run bats test/macos/test_$1.bats echo "$output" [ $status = 0 ] } @test "Test Austin: fork" { test_case fork } @test "Test Austin: fork multi-process" { test_case fork_mp } @test "Test Austin: attach" { test_case attach } @test "Test Austin: valgrind" { skip "We skip valgrind on Mac OS for now" if ! which valgrind; then skip "Valgrind not found"; fi test_case valgrind } test/macos/test_valgrind.bats0000664000175000017500000000272013661542344017000 0ustar gabrielegabrieleinvoke_austin() { python_bin=$1 ignore=$2 if ! $python_bin -V; then skip "$python not found."; fi for i in {1..3} do echo "> Run $i of 3" # ------------------------------------------------------------------------- echo " :: Valgrind test" run sudo valgrind \ --error-exitcode=42 \ --leak-check=full \ --show-leak-kinds=all \ --errors-for-leak-kinds=all \ --track-fds=yes \ --track-origins=yes \ src/austin -i 100000 -t 10000 $python_bin test/target34.py echo " Exit code: $status" echo " Valgrind report: <" echo "$output" if [ $status = 0 ] then return fi done if [ $ignore ] then echo "Test marked as 'Ignore' failed" fi echo echo "Collected Output" echo "================" echo echo "$output" echo false } # ----------------------------------------------------------------------------- # @test "Test Austin with the default Python 3" { # /usr/bin/python3 -m venv /tmp/py3 # source /tmp/py3/bin/activate # invoke_austin "python3" # test -d /tmp/py3 && rm -rf /tmp/py3 # } @test "Test Austin with default Python 3 from Homebrew" { invoke_austin "/usr/local/bin/python3" } @test "Test Austin with Python 3.8 from Homebrew (if available)" { invoke_austin "/usr/local/opt/python@3.8/bin/python3" ignore } @test "Test Austin with Python 3 from Anaconda (if available)" { invoke_austin "/usr/local/anaconda3/bin/python" ignore } test/macos/test_attach.bats0000664000175000017500000000347613661542344016447 0ustar gabrielegabrieleattach_austin() { python_bin=$1 ignore=$2 if ! $python_bin -V; then skip "$python_bin not found."; fi for i in {1..3} do echo "> Run $i of 3" # ------------------------------------------------------------------------- echo " :: Time profiling" $python_bin test/sleepy.py & sleep 1 run sudo src/austin -i 10000 -t 10000 -p $! echo " Exit code: $status" if [ $status != 0 ]; then continue; fi if ! echo "$output" | grep -q "; (test/sleepy.py);L[[:digit:]]* " then echo " Output: NOK" continue fi echo " Output: OK" # ------------------------------------------------------------------------- echo " :: Memory profiling" $python_bin test/sleepy.py & sleep 1 run sudo src/austin -mi 100 -t 10000 -p $! echo " Exit code: $status" if [ $status != 0 ]; then continue; fi if echo "$output" | grep -q "Thread " then echo " Output: OK" return fi echo " Output: NOK" done if [ $ignore ] then echo "Test marked as 'Ignore' failed" fi echo echo "Collected Output" echo "================" echo echo "$output" echo false } # ----------------------------------------------------------------------------- # @test "Test Austin with the default Python 3" { # /usr/bin/python3 -m venv /tmp/py3 # source /tmp/py3/bin/activate # attach_austin "python3" # test -d /tmp/py3 && rm -rf /tmp/py3 # } @test "Test Austin with default Python 3 from Homebrew" { attach_austin "/usr/local/bin/python3" } @test "Test Austin with Python 3.8 from Homebrew (if available)" { attach_austin "/usr/local/opt/python@3.8/bin/python3" ignore } @test "Test Austin with Python 3 from Anaconda (if available)" { attach_austin "/usr/local/anaconda3/bin/python" ignore } test/test_attach.bats0000664000175000017500000000556513624027406015342 0ustar gabrielegabrieleattach_austin_2_3() { if ! python$1 -V; then skip "Python $1 not found."; fi for i in {1..3} do echo "> Run $i of 3" # ------------------------------------------------------------------------- echo " :: Standard profiling" python$1 test/sleepy.py & sleep 1 run src/austin -i 100000 -t 10000 -p $! echo " Exit code: $status" if [ $status != 0 ]; then continue; fi if ! echo "$output" | grep -q ";? (test/sleepy.py);L[[:digit:]]* " then continue fi echo " Output: OK" # ------------------------------------------------------------------------- echo " :: Memory profiling" python$1 test/sleepy.py & sleep 1 run src/austin -mi 100 -t 10000 -p $! echo " Exit code: $status" if [ $status != 0 ]; then continue; fi if echo "$output" | grep -q "cpu_bound" then echo " Output: OK" return fi done if [ $2 ] then skip "Test failed but marked as 'Ignore'" else echo echo "Collected Output" echo "================" echo echo "$output" echo false fi } attach_austin() { if ! python$1 -V; then skip "Python $1 not found."; fi for i in {1..3} do echo "> Run $i of 3" # ------------------------------------------------------------------------- echo " :: Standard profiling" python$1 test/sleepy.py & sleep 1 run src/austin -i 10000 -t 10000 -p $! echo " Exit code: $status" if [ $status != 0 ]; then continue; fi if ! echo "$output" | grep -q "; (test/sleepy.py);L[[:digit:]]* " then continue fi echo " Output: OK" # ------------------------------------------------------------------------- python$1 test/sleepy.py & sleep 1 run src/austin -mi 100 -t 10000 -p $! echo " Exit code: $status" if [ $status != 0 ]; then continue; fi if echo "$output" | grep -q "cpu_bound" then echo " Output: OK" return fi done if [ $2 ] then skip "Test failed but marked as 'Ignore'" else echo "$output" false fi } # ----------------------------------------------------------------------------- @test "Test Austin with Python 2.3" { attach_austin_2_3 "2.3" ignore } @test "Test Austin with Python 2.4" { attach_austin_2_3 "2.4" ignore } @test "Test Austin with Python 2.5" { attach_austin "2.5" } @test "Test Austin with Python 2.6" { attach_austin "2.6" } @test "Test Austin with Python 2.7" { attach_austin "2.7" } @test "Test Austin with Python 3.3" { attach_austin "3.3" } @test "Test Austin with Python 3.4" { attach_austin "3.4" } @test "Test Austin with Python 3.5" { attach_austin "3.5" } @test "Test Austin with Python 3.6" { attach_austin "3.6" } @test "Test Austin with Python 3.7" { attach_austin "3.7" } @test "Test Austin with Python 3.8" { attach_austin "3.8" } test/target.py0000664000175000017500000000220113624027406014004 0ustar gabrielegabriele#!/usr/bin/env python3 # This file is part of "austin" which is released under GPL. # # See file LICENCE or go to http://www.gnu.org/licenses/ for full license # details. # # Sibilla is a Python ORM for the Oracle Database. # # Copyright (c) 2019 Gabriele N. Tornetta . # All rights reserved. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . import threading def keep_cpu_busy(): a = [] for i in range(60_000_000): a.append(i) if __name__ == "__main__": threading.Thread(target=keep_cpu_busy).start() keep_cpu_busy() wix/0000775000175000017500000000000013662063771012010 5ustar gabrielegabrielewix/Austin.wxs0000664000175000017500000000455513662063771014027 0ustar gabrielegabriele Msix64 1 1 .travis.yml0000664000175000017500000000773513662063771013326 0ustar gabrielegabrielelanguage: c compiler: - gcc git: depth: 1 osx_image: xcode11.4 os: linux dist: bionic jobs: include: # Linux - env: TARGET=arm-unknown-linux-gnueabi - env: TARGET=armv7-unknown-linux-gnueabihf - env: TARGET=i686-unknown-linux-gnu - env: TARGET=x86_64-unknown-linux-gnu # OSX - env: TARGET=i686-apple-darwin os: osx - env: TARGET=x86_64-apple-darwin os: osx # Windows - env: TARGET=x86_64-pc-windows-gnu os: windows before_script: # Linux Dependencies - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo add-apt-repository ppa:deadsnakes/ppa -y; sudo add-apt-repository ppa:duggan/bats -y; sudo apt install bats valgrind python2.{3..7} python3.{3..8} -y; autoreconf --install; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install python || brew upgrade python; brew install python@3.8 || true; brew install bats-core; brew install --HEAD valgrind || true; brew cask install anaconda || true; fi - if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then powershell Install-WindowsFeature Net-Framework-Core; cinst -y wixtoolset; fi script: - echo $TRAVIS_OS_NAME -- $TARGET - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./configure && make && sudo make check; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then gcc -s -Wall -O3 -o src/austin src/*.c && sudo bats test/macos/test.bats; fi - if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then gcc -s -Wall -O3 -o src/austin src/*.c -lpsapi; fi after_success: ./src/austin --usage after_failure: - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then test -f /var/log/syslog.log && cat /var/log/syslog.log | grep austin; test -f test-suite.log && cat test-suite.log; fi before_deploy: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then SED_FLAGS="-n -E"; else SED_FLAGS="-r -n"; fi; export VERSION=$(cat src/austin.h | sed $SED_FLAGS "s/.*VERSION[ ]+\"(.+)\"/\1/p"); - export TRAVIS_TAG=v$VERSION - echo "==== Preparing to create GitHub Release for version $VERSION ====" - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export ZIP_CMD="tar -Jcf"; export ZIP_SUFFIX="linux-${TARGET%%-*}.tar.xz"; export AUSTIN_EXE=austin; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export ZIP_CMD="zip -r"; export ZIP_SUFFIX="mac-${TARGET%%-*}.zip"; export AUSTIN_EXE=austin; fi - if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then export ZIP_CMD="7z a -tzip"; export ZIP_SUFFIX="win-${TARGET%%-*}.zip"; export AUSTIN_EXE=austin.exe; export WIN_MSI="austin-$VERSION-win64.msi"; sed -i "s/%VERSION%/$VERSION/g" wix/Austin.wxs; candle wix/Austin.wxs -out wix/Austin.wixobj; light -ext WixUIExtension wix/Austin.wixobj -out $WIN_MSI; fi - export ARTEFACT="austin-${VERSION}-${ZIP_SUFFIX}" - echo " - Using command $ZIP_CMD to create artefact $ARTEFACT" - cd src - $ZIP_CMD $ARTEFACT $AUSTIN_EXE - echo " - Generated artefact" $(ls $ARTEFACT) - git config --local user.name "Gabriele N. Tornetta" - git config --local user.email ${GITHUB_EMAIL} - git tag -a -f -m "Release $VERSION" $TRAVIS_TAG deploy: - provider: releases edge: true token: $GITHUB_TOKEN file: $ARTEFACT overwrite: true - provider: releases edge: true token: $GITHUB_TOKEN file: $WIN_MSI overwrite: true on: condition: "$TRAVIS_OS_NAME = windows" after_deploy: - if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then export WIN_MSI_HASH=$( sha256sum $WIN_MSI | head -c 64 ); cd choco; sed -i "s/%WIN_MSI_HASH%/$WIN_MSI_HASH/g" tools/chocolateyinstall.ps1; /bin/find . -type f -exec sed -i "s/%VERSION%/$VERSION/g" {} \; ; choco apikey --key $CHOCO_APIKEY --source https://push.chocolatey.org/; choco pack; choco push; fi

%vTgeuhV饓finzjjjzk{lV;mv{Pdǝu{o{r{pz Wozf#|r+r3|s;sC}tK7tp9n~uc}v߹vzj]vv~x7xW~ywy裗~z꫷zٹgZ,R{|7|Ww}~~Px4["P`.>Ёl`.,BPܠ- v"amAP+ [B00a ixp:!qC 0?bxD&qJ4"D(61ObxE'p`jaW0`cx1Qi4#1o:yG@1d! yA&ҐD"HH2Rd$)yIKf$'5)WlqZ&sءa'(VrR+=yZҖ.}K`2f1ya@vRv!@2Kc&3۴f7Mn~S$'89s6/֢"B 4pI܀$X3p 9vx a,PtFT(E%ZQ^T9i@a0'.Z/A>"!VatBP *}JRTA%*Т&uKUjSTFSjUzUf[jWUckYzVkUk[q8ә"ŠpQ $a`G 03D F&UlcXFle){Yf+>0j^ D`"]=q"`lm;k[Vn}[V)\AZO,bX\5pʥ A0W`r\W%oy{^Weo{^Wo}{_Wo_B`L@ A 9A' ;X^p9a#qI|b+VqYb3qi|c;qycCr|d#{@'PA|e,gY[re0Yc&s|f4Ykfsf8Y! ,7d}H*\ȰÇ#JxЀ L> @l"aA4 aJ$DpȢ@ JѣH*]ʴӧP* $&4ְa5n90S 4%bJ`Æ- 9hK[MpO LÈ+Fl X`չ*!F4kH>p"@\c X N۸sͻPӁ8A_%uTڀli(0y}OKF j|XD^ەՕG[z& 6O[|tUfI߅u8L]y4h(Qmh=Yr1EpU HDiHc0ՠh91j(rdiIS %lPUiL@gIpyI'jCHX![a梌6hTʤA|F("2)($諰*k 7Z$~'zv 7@46b >I[pd$B>+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhڈp-tmx|߀.ߏQ=ݨ:3x/NJ=gw毖O'騟z# .n?Dt/3@#LUĎ7Ώ*W_@(/go<ޏ?ԣos߾_w}L9G/};'H - 5 zlG?QtO L A:[ g<j wCܵd {H"QîP3D:1X8=*\ӢK֘ ad#_Uvc1EH9:J {G<FÑ#OT ':?ⓣ(GIQL%7 iҀ+gIXvT.)W &0!pL`/)fƒ{I.ә|.jzd8MQAa:YVs4f.I3̈́&Y~'0yN~󠳻;O"S@ɹcBGt9сĨH# Ѕ2J&хꓛ\LR|1N/*KiP*ԢxOLӦ^>JժZhE0E9D")IG5G8n JX*JWu.D@&FWQfBk(XbGX*E"Q#Luͬ7˰L` hAn @@P{ZDGe/YVhw+v6"Jzf2M.5|+Zv^5t\l;RNYu{[8z(}yڗurv ;^6w蝫B[ [ʅyL_ [ pr5,_OL NqE["g? oL%c%bX8Ov2v8C"%rk.;A<2 ZH<6DCb/wb>=C ~?#fdC#qs|Jx%,iMsӟR~,wO\&KZv7fMZ֥ۚFD2-CTƯv8K[֥E5lf 6GUovY۾eMiSC  lmoŷ쁜!5)~ޞ}o{淿^2# bmyGmHQo|88Ox\!_im7u2r:'w8U.䖫072Ϻ=HsQ䃽;^|a{ƞQ ԧ1iD,;;D;*ȏ)h-7ү߁WkweϺ~g{O-g†} vG}ڢ8fxN9 hdZfzez 3ڣ`P |ڧ~}z @ZzP+z Zzِ ک *- 0ڪ Z(%J2qڪ J VʪzɺѬzњIZښ٭e*ʬd:8sMj愈گQ:KO ۮK  kܚ봱ڱ )"j쪬:JP6{8:<۳>@Bkq L۴N˴ 1UKQ +PQ`b;d[f{hjl۶aF@Ǯ8DZɎçK L‹<̟ , D @Q<,͂3O1ʵ[ \7TN O[|̴k L}z-=]Gу~= M!=p&ҫ ukm.4=6- JB=D]F}HJF iH?iPUMW=Y-[Mղ{@a jeigiiMfhj ltu=vxkנi> G ،؎ؐؒ ّb ۰ٜٞ٠ڢ=ڤ]ڦ}ڨ }-8J p p p P۷h N=]@ۭګmH aCٖ_@ M @ްz;0k;s }@ NM;xޘ-k| ܳ퍴mΚq۰ޘ` mߖ`Ŗq-$n( ` ]]٘] ~~ܧaL!R ݼA䪽= ^~]@ 7;_fpz7 a4;`$>]˘@ -@o@ <  D>k`q] p H7 9YTn.^x`.ߜ] _^pBnk<@ Վwn_f`N nD>M@◎fisAN _ n^.M\0;_` ݎG{ PN~XM ƾN iİ ̾ u>kxsmN#_>=`ߙ zDN sP/+ٗ7Q İ7~7O51>N` 7}:z ޠގnny +Qݘo&.x0_` Q7~Oo?|Zo?aoݭ  N!> T`t.1v>]N>@ Q@F_tP7>~4@Df@ @ DPB >QD-^Ę]:!$cHDpYʕ"O y2ԽdK4ęSH=}MPJN,qf 1ZB Fio(1Œ.Bjg6b;jXV<6# Q%6͛ =v\MÔ.NůԮ$oQRv Y"2љZj֭]]cS U2;i򘲒&W$L)ݳ$r>t(x6n'_`ncGok Ui(&ޚޅ뎇p! 1R jE&co8 ,>()ЛjAND1EW\nN^* FPRbqƕfEs.H覣 nqȡ$Kh̒&J .= K(Z.*I-ÉKlnLo|RK. $F)3!, )fHB LQGTE<*7xRKFrͤzTD'" bL9Л1Wu:˺VZ lLVM?]iuXc*V(o.gQS6Zit#.jD@pږѦiM5m@;L0ZLW"X^D%`uRP-Im5,=.M7cc?9dG&cJF9 F/9fo∝PT9gUM$^x^UPsΙR$}ꬱk;l[k>{kfm~[~ ;HqiyBrǝ8A*|pE2{Zɇ=z觗z꯷>{׾{^HM|]bxBiy?~營~t?ߵ僜F8@ЀD`@6Ё7A (}H2 $)B?<Ä'Da UBЅ/a e8Nau^@D !k*`4b8E*І`E@!`1C#Z#\B'Vэoc юwdZCl3bW q]e<#-FL# -xb%9IJZ@"5H/2A "7yO]A$+JVцue,xDc.E)ˈR$x*[9LbYe2ͧG Qĥ3Ke6ėD0Mnpf8CKEe(N\f79cӞ`yrt5MHhse+л1f?Oĝ\ v4dEEZNKH/Aã/79RFDIԝ0$YS>_̥3Q̥T jTxDժ"g?N~Nͩ ]+T!VլeEY՚Vխm[Wլ3BHrc=!_Xd!1,Oh?3d%YNֲe5YnֳgEZʊ|En$tFT_ömnu[ַnp;\ƃ|Ens8rv@l+zQKK֕vrwv^׼=wѻ^w^\F `G$>N/=p( Np%%a侔pgzϋ@ZP,&l!=E0;HZ栉U"K@s q 'D<0w"͇W ;֝C|I0bL"8e:l n&YB"z삽L=](L"0/7"JẢR ͗lCH6OqB!3@0A \X>͂z UZ@ |D nt;y  `V-肙켍,[ˎw9cIfe&4)%Iv]3]B8,_p'qf|m$fp%2! ZK<ѣ`. Lc"Џp!v+m3O $ ;R1/ۧկ.vEdKp!"Dqg߅sXzd+i=&n0 oȋ|Q2{ľFg`Jv7@~ǘwB/oq dxKHPQ^PӢAЃ~VA!v?"}QJVw@!hܠDH_(KW~AuwILZ(Z'LcNtZ4){Rh@ 0fŠz}267 x З3۵X .h0 > k XP Ȍ e8;1RZꨏ؎0T`m52ɏ؏x:XI&Xmhè s9q%bp4$1;3)A+aY3/ٓ<mC5a>y :;)=i?I@%A5T?=T@MTA%KI5嫧PpRrMNN.mPH&#({d|xpWY݇x[}ZU[U^U^`U`UaUc5VbdefpR(%URGrp.rVUYPq%r5qOHtEWq]vEw/v}y%xWxW{UW~UWXzEWOvj=Xp.T NpSO:`X؍c8eX^X؏ّ]EْMِMY]ٓ=Yٓ5YUYYYٗZYf#OMpMCVpZ`جڮ公ZZ%۪ڲZ [=۵ڪ]=Z'eZrC@V-X5ܱش=\1B:X\(87pۋMܰ=`W8[\DhЀPRcP`]F8]DIY܃m{1-c =0XĥZqFp\:XUx]3h5]= ^]I޴]Dp@^Rh)ߠe3hu^ۧ[ȕpmH؍D0X1X?u \1H\)`]*x۽`rIX^. )` ]* S8NFXS()`` S^`)XOhc ]`=Bk:k kP] VhQ7h6` B*U8X8)P+FJ+)hAPKE81`63x.B>ր03F)@bU OZ3^8nzۉ]XD'?~\Mp0P( I(eP .c`p%g)H&aUF(cH_/p2V8D8 nu&FX^h2 eh6Xl[9ѩ a~X`h;g` pc0aHX>nkgȵdehI@dhDn>h3h=_}6hh f`ĭ`e%^~=VuciEU88`l)f`~dI\b7>XW Υ^XmP&iInln'^$V&Hk+]#Z"v'Tx5 Gk0 R `R [xK \IIv`US)Jn?X.> XE뫎Skߎk6P1@U`Jf&XF`bӐAf'&oVV]fqX1 5)pEX'(Pnq Xexr+?F 5hF`:p"^3pkF޼U a:܍NUFd~R(c&&[R hC/q4r_鹭/]D `(q-+Rx.m7lU=R``Wq8E=[3+nF=]f\fUXqMYvcB_w.cqO(w.zX'RJ޻i"</>.>ePXVލ^%/i^-ؑZe`߃\G*/c(vwľRk[Ub}_[=pOܛG[ƙ^;@ۘw%[Ý-Z%yqRTRR@zz$Pzzz'_{Oo{7{u`Xnz7M`'GcM'wuh|_oɗʧ˷̧||_r/B_zpxh}{!ozH%%P}muMr=~Mx~~&~ejCV@IIEl{)h „ 2l!Ĉ "h"ƌ/rCБ6"Ci$ʓ*S\%̗2cv^:w'РB-ȞuxBt#ԋLeiu{r`԰b-r+k,ڴjײm-ܸr.޼zұ+Jĉ3Ŏ.s'Sl2ۛ@*3Fjl=@Dz:,QX6ܺ/C7")X׃SoP9Tl3eK7vǓ7H:ԫˋG_n~xR7s 7`T`UZx!Piu6<(!-!8#7"T&ZD 7z4HEx;*x7zL.dE.M h$Q(%a!rT^yY_%^zcuɗk"_I-@9hv!b*Tk(Qz:vA'jAIJ)*览:+z++Jk$%*"'R.,J,:@Ϸ;{颻;8m{oF8t8<-ϙ +0 ;0K<1'O;TAp#/= -21<35|39),D/R@?33@NC=UG}5X[5[{5]S?4Ϙ*ŕbK.k&lŶBz:7}7 >8~xߞ1ލ78-.4ƴ*(cı"NwBE4AF'N+x:2ԍyzm t@(;}I&kO%w=&P3-Lg۶3(2\ p0@\ԁ74LAI}~s Tׂ(,s`AAW<*prAكn ' BfW. *dHCU4-x{m~Vd FoMx0Z Rp h E!~pDhmpC&q C @`pfh[`<HW|! ~C ⠊. mX%B-;X*ٴK4! %DNz͘CU2HmT"0/Sӄ ]hU !"-.485v*Lo  *4@)ChКܛ e0#`e"[H(OqU &Fႋ\:uM̀F+WDttNN pR RaX>B!X$7N8o||@JUBCE< "O hExь5/+݄'eP W wMhh@u;2Z@Ӊg ܠ ةm(n(;'iuN ёNψ (t7\1hZe[4ZdUtP1@h㨬$(qWl@ aCX3(+Q:O'pa@D37kv\\RD)\6.'Ea OCq0o#̕v imޓDM`I_0ġ Ce D bF"L'!vfusF'@>3F\(44i珞Dvzp7}` f@yu)֌]B PF("8`0{[=u3Zbil.]3XD.8WIP\]1ACh ( :،e3\e0:\HD\Pi"8;,,I[{ӫq >g_op'pbGlc{@2{s'2{u>m:eᭁK[dI5#.S⫠+qUl8C.r x ?9BRl`a<49oN4,A >9Ѓ.F?:ғ[>uKTԳnu?^s\?Ůz=/ݣ;~;/>G>x'~o</O^<3x(#˃~|-dH0{"=n^߽{~8>3>/S%}g~/?_?lݱG9RWd?4NC" *482`N *`Ff`R.Nr Z`BJFn HRŠ _ՠ _E a &a(R RC' Vv(pv~!JC(`L!,D$@ElST]Ո5+h\! ∈""&"J !>VY2PIuB~C%3*iǁQ"Ƣ,bRE9!;!0|AbE\5T UCEt+>#4j1T&$%!-f6awp.*\"@qHE0W6!Q]H0F#=>%A16#@za7\!"FA*cHA#X4(2c=f*rP)C@HxcA[8N"(dF@ @,(&0h$N"5P)\HOvI#$D<" D4eEt QNfa$F+%X@P.lA!()0W{v]2`ܕTDWj_O&%aj-DY[J20]r5~N_f&4T+Ba, ebAZ+B'B .C2 h&nΝh,ei[J2F_&q o'"I&o!>eqFg4uVu^'vfvn'wvw~'x^','sUt*B>'{g{g|gg}Χ}ҧ~'Ƨ}g{ >(}֋g0K;zV RFXn(vN@(Xv;hī̊˴h'(h(hhi$hF͉. M9=)@F)NZ vJirViRinG0)v/@"绝i)΋)3B5t̎"+AX눁 b-ΩYFB/B.LtHx*FAaD0A "dD@M\iϐ A}E锏!0B+|X( RVbMF*zZD.$l#F)RSf )m5a qNbq[D<%*T 4sq&6M @ A#L3H F0ݫzB'0+@h ,B)<TtT0@5B,Ѣk)AE0YhHAEA +t +JU")0BN@jtf Lt3"9M4 \"(L*!ksl0tI"1 ,CLU@'퍜,0R)AіAp@@$0 A#PA+  h-צ+ځ+$č'(p/m1TD(#HB p*!++ئ ,-pxA/CdME)p-+i2253E4K6u78Ӽn3v=Z A@RT wm/дpJm* B0*0KB-#`&@ P$ܶt {. hmK! H&7I1#4\Er+tnkEhyA=9M՘)XX.@9 ) =@)4de0`R@keO 7PӸ"d)@*N'C=Lg*0-ߊfcAE-Sdl -0$CEߤE*V܀ߒl`f()tzNEZ9!՚£U5B 93E8Z5͏aڠuBm(A)!{,T6% uĕ!FF-M.`i&x&)&'&pj)#o&LgF^DP|)$0$$Bߤ1.[&L3odsgN8 *(̢3YPSOF:jUWfպukJ\;lYv]lٮkNnܹr]o Xo^vEPs vXbo/ ̼sg͞9b顦ukׯaF/6=ڴW߮-|>||SysϡG>zuױcwvAv?~vW}{Ǘ?~(׿ P@ Γ@lQqS& - 5= E,M0{ASQi-<zȁAO "AI5]uTcB\|,p)15FXᥠNpege@O>!%9 IWP;6c!1۽OHm~k5ne:ȹ `{)UaCiU8 gɐ%Nv2NyvU|<h~UN_ES:FIZ0}=R@7Bpcp#tUĠ+8y=*.@@#QThDp^wC z&mD e1+_h@BD&" Ě?DRD|FOcj!8A)zAA?S҈N vh$9Y k)* 3fGB$()%M, ?XD(H?p V `w6-0D>BaRAb9нpt!XI:S6gȚ@rIOA"'   %p9$BNzjAz &!)wgpW (5i XTA0P+9X Bȡ_ ' D(S Y@:F8ЇNj0S \E@L1=~ *8*5,,bb 8 S$" ]0ܩ6wh0G#*v4RxI8R(QۇQa-X@FTѫһPF6kkLUiփǮ{ bŁ,|.ZmU]W j$% 0c@h=,(l4D(2Vׇي[n@4.BCW L O]#:;>+E Հx!^i {3`E]"׆3vr]/fMC3̫m>A`RWbn8eʌPA6# (C}clp^B].,dTU_u5B7 !)#"`Dp`ZuJI:4" n KB & R;jqFIѭvs蠁+\T_8hY_(X T*ء ipî@F!@#pIjC0(ȋ`Ssb#бҒ4iĢݷ֋jwPՆ0nD- !Xsn  $yQV}nEz=+,bZEF/ p _ ,E$cKWZTwu0L"?BxȈRĺR8 7|0ڇC@lVlM^͇Dl-i-%MO`0bzK j-Yj M$av fB{jNN [/rbɸҠ-= Lr h 8\ԑtpr}PқJB 8`Fs F܎Jx,g<xfp֥t" b(&UB] zzaf\v qLzg eV.e" |.@EA쏰a^stJ n! dLZdW<-b9.WVJ.XN5`̦ :dJ)kRJ)u* 'Ul4&F,k.zg^I. VlV$u*Wƺ$' ^z4@ou.3aN`bsɇxd@OX|xB ڠNxnr09b0ў^H 7~ĠkNnSE)-H!r2NKT f[iZuqI VaFnd !Gy y Ig杠`^eW H)d\@K ~M R]΀D_X{`rIqމ(i[ {5O5g`L (|wL @ 7_c`eb  Zawemf2G r'#}Vw挴yU0i5͗W-ީJ~|eXFcT >0Fxt诊X N%@` BcmwX/.%ZxuRB \t8›[#{X;y[Sb{>;%Y=pl[۴-;p{;;[cniyŹՃc;E郒cM|-eB:M\|B!dig<Ǐs@B\ |ȅȃȉɍ<ə|ɝ\ɡɣɥʩʕA\$mq<|ϼ|ռ!|!$az݁ }=RC ܡ4)ޡ .M2]N6+=A} IQN6!Y]a!UB"l ٧M# ~%)5>9=~?A~ECIM>Y~]^acGփu>yv{i~>^~靾類>>~~ҏ4ja͞~վ>~s]"> p zr]_??!%kaa kpESt"FQ>Y]a58?mq?AVt?za? ! ,dH*\ȰÇ 4i k( mpI64˗0cʜI͛8sɳϟ@ M8a` 1$,Qbˠ B!ƛ@'OYs`ɡ`ÊKٳhӪ];@>NbA@2E jH@⍄+`˸ǐ#KL5h"  >x5 aJ&c7>ގGWg^w枇碗馧~誷>ꮷ{쩳N{캇n{=5 55|+i4O5e>`˟5?6_?Zh54 5.Gs!(4 R rF yfM&Y Sh3e.|!V(CŰ!!Gv~> 1@<"ƆD13"=)RV-ra^"(F;# 5n9_v#G}z" A֫"E2]|d")uQ$&ϥM(CQ[uu}&>j+X=vb(D{%щF74a4S H&bj(iLzt+}^JSY6NSj@U_O}ZРzC ET%KmTTjX[Uլz{%iJVmU~]-Z8^up=`zѸK]ɊWuj ج V|-T=Ә)a%jQ05*c%[VvbgzXuSROڣV{mNU պʶmoYrVm[C˥Vquq]\wmoeݠ斫Kj7w+RuywE{۱6j*}-RՆ׿z+= XÝ.uLW" Vp;SX`Bxui b؊.1oa q^bz841% c72 xDpod*9Bn2#KyOF\\ 0.y-Fɼoybr ξ󗋗yY62L6/y.tDm̀&gCwvZbiJWLFvjOi>UXoűjhP_zרk l.z.]d+~?a3&iilW;qxVmmdw{-7\?x`-x{}Αo7Owlo{ӒUbooe?1xov޷|h.ɛrޙ3m\.Sm[|qȁ~YkykIW:hN<=o}99ge׹Ѯnَp/Xl}u_75uOwuůAw+.kMwA_zџlv}I<~oWJ39~y}M?{>G=G}|oY܇@W[7̏N{wGzկ_>7x6| m.H톀iXmȁ!8#{%H}X|؁G$v&06k817~W4h|@hI8Bx F5؄J?/Hh؀Y[]A,28\XfȆfr8Zc8vxkx|Uu؇5XahxUƈI8GxNȉ xz8Ȉx؇8+x¸8xʨ~|XX֘؍h8Xx蘎긎؎8Xx؏Yy ِ1yّ9E0$Y&y(*,ْ.0294Y6y8X:<ٓ>@B9D HJLٔNPR9TYVyXZ\ٕ^`b9dYfyhf(m/! ,H*\ȰÇ#JHE(PdРǏ CIɓ(S|ˋ0cʜI͛8sɳϟ@ ʣH*]*e *JJիXjʵ KlGQ]˶۷pjݻ#Y˷߿c5ae+^̸pQEL2RȘ3k̹3Ca--ҳӨS:kҫc˞M6DɅ_l7K8ȓ+_>7QH! ZݸRË5IB-{~ĝ}d"`~҉g=@#w$PE)h D="qCw1aR#PډfؑU!w`J wn!zY2<8ÀB`=< U0) ĝuB>1`HZyevdPI O%w&)č'矀IaAKp1,űL(t PXp4D< *7q53񰈦+>J6t p5R3z5Ӥ_iF+7OZ2]@E& `ט]R&$d!&h EBQ@2bhL3dt!2Ѧ*$3JGd)btM9ːEƔCv%Q,w 7I$$ 4@C9XPER@1 3%gP"Q  4`J"H^SN!7P2`jz0rAC-mӬ3cF,\/ϙ]3=7w3o,н2=]șѻ%4u{I Xo;kl:cІ?MJz^>mMj*ըvtaZIj_k׵2kMaNZ[3۴~h1=ji ڰi`m 6i-qܡ%7}u{V~wYxӻ7f}ߕ7KV?xX3{XS_,3؍sxaC.=9۪򕏵.*c.ՙ69Rss@9u*ӴF,ғ2):Y.V9ֳ^s^.vA?;ډnO*~Թ=vN.~8K_)O3ޢ|G#/y; <3/(Cѓ?9Szf|=Y3}Ao{#'(39/eR>߿?w?ү~o/ 3tݿ~8Wh7엀Ҳ (#X:rсh 1tF TJP L 0kR.tlELwmI +S>8t)BXFǃ9Cc5Mh:@bE=gY:XŅ73ȄU(94'Q1Pņ.I+'Ht`2UJ (mՂ(HlEIgOH=W A8sxxsHs؃sr8LKtrrg%׊sh"8=6H48ShtT8txTt(SxR(r(Tqxx,Ս8XRqThqT8qH옃8t&(VtUs׎IYRpɏFwt9$U ב Q"p$yq- /q1ɍ3q5I7iq9t?ɐ)Q sc`øWt&gIyC7ЇtcPɔ 'PmYJ9S^ p`bpdI@gXYZɕ֖*GfZǗ(P8:m UGyscИht[)=]isoq9sys&먙IQIoU9PtGEi؛V@Ӊcpiy 䉝g9)퉞9IsIiɞUYɟW76VtyPl JZZ1'ڡ.ǡi: y+G"ڢ)ɢ([h4)Tity tc XU4g9Y46Zr֙"iV:0Z11zUZ%Wzsd*#zn*\qmZ) 9Hou}nFPpz):te` :ڨ5"G_a ɨ* X*tکkjqڣ:I eJ`Pj:jN{` UU`PymP ZPAʧ:|PUʂ2:ΪOJӪ2ʬךONjzNݪ| jEvj.IZPZP^Z?$׮˯2*z k OOuЇLNۯO%{N' ^۲ZsTOOd{0sx*JKR2T[rX+-Zp^-];;Pf#`;k'+o'! ,&QB XȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ%D#bʜI&8sɳϟ@ JhE,[ʴӥ)4JիXjʵO,Tu5*gF국۷pʝKWnaϠ˷^Ol LÈ^SKL˘.vy̠CM4͜lװc_Fjٸsͻ(ڏNУVܳسkKË{ӫ_Ͼy˟O{'_ RXF(akEfR3OzF(h0b;8XB%h#Bk٨L6Ql#TV)7\v QX)fȚhy#`6etfDoY&' 衈'S裐wgRfsV禠:\yZڤZ٧Jy^jR~v뛦&Ta 1TkV,vS#>޶.K,O>;oK#oHҎI'lpdG94LL4g4BEq$l24x*,'Ҙ,)sj83%2c<5zEhdDyI˺io|7/ϓyO OWfo>{7Zh緯]Ŗp/?kG@O~L o>:P7ҢV&h( ĕF2H֠Nu(dJR a(xB w#@ DK HLEA&XaXI9DF.fXt8/-V #(3Q+`TG:vNȐh>z,bHȫ1c!i8"Vh##'Cr&SKF e%fRI'FP%1fIKLx%1p b"$)̉.f<hJӚ~nZhD( q,'rvf,2zs2~^.8F0!P @{B JQ D7,(H1 T3ECj`dV'u'@U*Җ4G[Jӕ.8LYS APZԣ6IeG1Qԥ@LSjծ:UZe&XԚ"5ݜjUҟ:\jO}TvSZk)SU]"wc@bŒ㭃 Q:!u6tţLhBgCKZв3+0qRl1[ʰ֊ p>g*ŕh;WƕNreZZ}taD^zٕn:*my{eW6UUѢ^bʼno[_/r&E_ 6΂CE`?V0lfx7y&ěWLHVn8EZ{Mk^@ﵯX&;k1XY/W&4:63@kM[̆ |9ܘKcfTy/\ɹtf<hB+ ԧ&.HVC+5fQZ mҏ!/^ӫ.+h)v3a@%(MmiWڧ-6evnv3!iH.ѽPZۉьzw'$hxNޅC8;hFn[\.&6{ß~K6B7.x[q[f9a\urK- gxrq|FT~taKw qyo]x󎏽[S[tx r~sX{tOhUx\ܝxit{OOWQrQ2 NXh><{CGaֆCO=CLϾ}8 AR>M?ۿpi3cƐZ]qrPxX7'vw(ɕPvhVg9Y!P" (ih0x"hX1 X0H\1+hx;ȃVB:'YKx.hсPX68؄ur[^XUXXicHV$hNx2ukXnxqqu(]`H'O؇F^A'!vpjXj1 W؉X ׀j!"R&"Yak(eqъ|xpepWؗ@G8(  ؍yۡ`H.A7 ԎHN(: WW Ȑ ٸGpɏ8 y0 &8 5P PC 9 :Hp $90 2VS8P  ?Y )) G 9!oO(QUuEp Ő K ˰U wO @gj _eY pU)4YWw2/>Y^! bҔ:i'۱Uٗ i2)1pX&O)aG'q ) 0)Yy}1Nyl 8?yji)h3I١Z9v 婖ùGɘ88雘隢q)iPw899)ր/iWɡ$驍I8 (J:ɓٜyY| ɞIz&:RWTW Zx0}U xYc %Wb:e{z|ڧzX:ؖ_0ڨਘ 9xApzp:ZzJ`A41zkr 0ZJ ڭ *Jܚ:zګJ\z2J*X   ; P  k ˰k;Jn6 p(* + ,;.(4ɫ#Kgf3۲>k?۳@;B;9Q'LKM[O {H)J NXRT[Qd;f[h{jln۶pc`˜ xz|ju'5 w}y l;[{+૏(&0R`{ۺ?+! ,!yaH*\ȰÇ#JHŋ3jȱGG>Iɓ(S\ɲ˗0&3͛8sɳϟvJѣH*]z4LJJի=ʵׯ`rbسhӪ]#ͶpʝKu˷I~ Lˆ+^V(ǐ#K.˘3kuϠC+$kVӨ%Nͺװc˞m2۸s5wN8IƓ+_.-УߍNzֳkzOsӫ_Ͼ˟OLO*~F!h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ^iN*무j뭸뮼+k&69*-G:Զ_v+k覫)*+k櫯Uȿ,l' ;\D,Wlgw̱3jζ*&|r,02L3l8J$!JomH'L7PG u(A˴I\w8` Q43+\T0J']}@  _.Q{CvӬ\B"̈p3%xᤗN:b?pF3d)haЌ2/Ԩd{"hp4\C"Q4.wt{zA͸r(Eam"Thw~3^3shr  `*ʠ]&h*hkgOmxFЂЈBG΂ ڔa R<_ pGCcmpN @]HQ;PE]DH0.HF5щLQF'F ?t; -p3N :$Ј Đ)$4M;#!J~M6Nz (GIRҔ@K]&2}̣t%,g)Zĥ-s]Re0)L}jJnf:Ќ4IjZؼf;U-,Nq3,g:yNst';IyS>zfXAЂMBІ:}7.P%ͨF7чfU'CPb|aj/|%zczqD⤚@Li QNFr[ 8@*Am`HJ&)&,QZBF"8ՠjeC nB"r.XxAT jբ9 (u6!SaЛvFX4 a&gnͰSR 7pJM݁~m#&(6 &l[Xlp O@ZfBs ,A YHoS!--j zQ%2qPN7nõՃ%0V %aJv_&>| &ux0 ,q9 zMڅۈjs삂JvXxT5$XMN bM(%\lP4u-%KNblu6x[_ if_>)-R f%-10n&vU#P53 Y \rI3ЍV)` W.N`z# ld3{+} kYz؁Z [,gZ v`ir ,i%C|qe'_AT< mCTh]--A`#i b@ad[:n'@P{AZP\eFYg,  T 2̍n ddTqa X3*+9V!K{"tWZڮ.ySW ƣa67.l:'  mΖ>!XBA2B`w%&1mVo `B % j/<եmfn{1zNPX5|!WCA,ۙ҂.ֺ^7X&@ $ "P?RM*qzޝg%7hqrbd޶Z j6N@NmheSh5NǀzUq VPP]|pVEN$q4`6 5H`OF`YUK@)C}Qqr}Q HqfP6[QR_ keYPQ^gQUqVpr8tXvxx|xLʡhxX؈8xXXYH0H؊xXxMHX x4XxƘȸ،84Q1 ڸ؍8XX@U9؎8Xx8 #lC E\0 @ qD"0 8YyTӏ?1 h 3 04 x~ ʠ M@y4Y6i>lwGFayLٔN9< sEd87NK ]p_dY(6A@ rd`` u .Gyci~Ij0s=0 b9C. b y999AkS>p \9qBC 9|yQ7QQ` C0oru [ C>ЗY5+1 P6aЀT 96. 6ylt y 97p2)!$IY5@BzMK?OtOKMOQRʤV:Nxb6B^`lH*0]hjPH%%hwP\83USuS9[ӃYJWwZToIQLFQSTeUX¥AP_psjPeeiՅQnasfBũf~k`PQoXXb[uYYY%Z;UZZ*Z5[u[[[kĵ ƅ\Nol\ce].]]]]YU^ ^^oeeg_t6`VP'`aEa`a8aaOh"Fb&ք)c+b/fY2Fcvc9cLc@&d8[FTIMKdOe):We8e]f[f5fghVkfmvli6Vt[7lgwlj϶|Nphhh{'&{UiifBiVjuj jvPjRGkukkgl*luVl`ܶ l|EwFvmٶmfdQdiVnnn6ovoootG`[%pgpppqJqpqoqsr#WrrOr,'k s 4 ``sRsCstҲQtv&DIS&jNW%u [uʶfYuevzgdupvipkvQvgaF;w!g Uw]xu>;x3xxyGyn(`+yc|zWz7gZPz_{W{sp{@&i|!L|u|GgYRЇgkշ ׷ ٷ׿}U~~W1PxG`7pש5XR(NqeX\Mi5Nwf*N8.8S տ(mZ]Mڡre5Qa<]>GJg=ю=*4z-7Fo};m[Sw|wM*Mt$az (,W}Uٖbρؠ#.-ӢѮaᩝa^~a>M%>!~ &%$qz\|8: 23]pHMQQ^R~W~ZnR~]`^b`Nf^_jann.=*ݢ ~ pnn^.> n)D  p  >붞븾뭾 뿮 >^nNӞ~ˎS*ep >`~  .^~祈=^ ATN b@!@.p pW --7 iAUȓ`1~ O ( a@7 ] t $t8.a 0 ˀn~pP^ # X(-9`>p q0R@p > ~n- Ǡ !  ; ?n"`RT  "@}8 \@R 3OO ` o# wdp  ]0R @@ DPB >QD-^ĘQF=N񃨆p  RNyl0'80Zj֭][l"R_Ydt )É*@1n*Qe!hr&Rb\RtL 4R }>[˫r 7¤ąU$OAd:Bhc\iBF Hv`$0%$jC1EWdEp1n§P8c0t=$k'"<2B7Ab+U6#N0nMa@Z31^)PHPb6| DBOD{BQQG4RI'] 7򃏌\`.3 x mZExY8cU |2P)),q ^8ō|O>qeVq*zYƥbP03BB `r Ƒ qKMJ*bj3D1䐪9]"3TDrYjd1m1&\ 쌉1Xx&*e>e45hɄ(AOFu=35A1_b8 `qW5N[xA>r'7yQr/wyW.n8s?zЅ>tG?z;Q7]F9v'>uWWzֵuw\@>v}vh<lw{wr{~w{.x>${gDO폇|%?yW|5PW񟏍icim Kz| e>C^޾zEpY,,\ H. C5|:=L!*jo_"%̈NlP0/,A0/iKρpXЉU08Xf K1Ex8Hh i0\3)(k(ӻWxUX@.PB@UPc Fp@2P p,?|A".|3i[Aei*thpP?0FBhBtTǓ(xe8BhHBR00Hf&3IƒDF҃BW$?c!JH]yfpW頂$|gfh*yʻLh@Htl7ЄPDL)HSh{;ؔM3PUp=LMp&1b (LF2i+04UЄ& Fh.SXPcP cY$QPgh0DxĄ91t4ex\Kp.PBS@fXHCGl9@3CD (ZRp8Pi' Nј(Q.dN36@Q,O'М.Oh@5kFˎ8hԬO@D؃DRp1 A 6Cfك' #'L|)O(0.Dp1ׄiPTRؾ@1R 1S`}{b %0 @iQ{{3fy;I:&5MMf:WU&ML;CĤ<dHr=WO};UQ&<(Pf=ʔK(?f8FV9"N Px"|j):GHͭf&qW4ǛH̫G̼tʡpy[W[2.<"j"8,VV"USR-{PԪXL@Lؒ\r8ٓ5dٖuٗ٘5UxYW0@}Xٝٞ(!嫉З5ڣEڤUڥeڦuڧZ-yEyZڰ%۱5[E[۵e۳-۴u[m[۰ ڼ+ۿ%5EE\+ ~E~ȇȝǕ\~\5%]e]5U|*uu%u{.DKu^he^^^^_^^M]Q(_mvH^i@i_`ii_`F^n`N` v` `~` ` ``N=Uრva|߄0``!&.#F$Fb!V&^b'Fa]a*+,N`F!X0 t(W151.?p9:;VbG` P$ @ EFNGHaea(c&EWGn0c@`16TVU^(cnc@7P60^fLV&\i.`^*SE4Rn.kփ^Xxηk1MXE=I2=1HA[X b^ȅ^(?^^ZyO(\AyPɁ7 /P{=?CKǣDV0ڍ!Qx?7J!*-bЦS#(N:) ɏ <%M&F 2x̸pqS-  U-rc R%2q #X  B"9 J8!Zh*UEA$ tA/҅ 8R@FFR!!txF D H+u 8A#! Te3AW…RWMa&6VDB Iq%.L3H?<(IBH47qt4`~tҌ2-qRD2ftGF'z-б2D< 4x!骻.+0P\+P| /\B/Ia*~!EDRW"42.["Ƽ E5 Wrn a_V,{i8";*eT8|L'W3ƹlB)@ɾA"%P\*xtbwC:͞~`K4MM)]3>Mz뵧 OȢ 0SI@ ;:饛~:E<ԻP^(0qI&+^و<.兕l lT\QCR=) &)=7rL^@$tb0Cz'QАIR:((k.H2f0Eh)ZU3A&X )8C}-WlVh&Bkn1q8g} h)@@uV@dEB Dg%4hFH-rQ#К!'!"E4"v IM7j)^0B/ ^ (^q ܀ZzY8`\0+E1df^”1~[Ј\WM4 )VtT02 (l<?0"\+qpDX 钧!i\B'⳨>c{ȦX4!nk` R@ `$ @Btp!E0эr N2^ORhn -$J `#9]/VpaBƋt{=*0 Ȑ+`mz/ Dc` pAf ' X"\&0b?q؁ &lM xƮ@DiHa}1F!8ý/_0F)Zp[S Mqq3>b`*vFP38دS zUp ԋR4aw\A! B0^lKS=vZ3` ;6`aP@C[c/1bRQE' P>0ۦcVqh%,hqF~n.rM(E)茝ġ O<4qQM(^tWG)I$AtM(Gb()} [QK^DƦDi~ha [ AhU!gnf~6f3 NP)|Wh?곕lԞ9Thp*2 3-o@oeLZiόJ(R\ȥ\AcbƷP/Wk_!C>r̐pso>NLa(ǟ 2\m)7E"fn3xfx|@C+=q"[-Ε!FN[V! rs^:þ_]7;Ӯ}ǻ٥ӽv;~G?<) a!S<3_CG^ IyɋѠ=̃GσGq~={~?+=FWSֿ>s ??ӯ~!BXu ϟ?_` A ;C\Q> v .= = ` < ^ !!&&!8FN!VaCTA v~!!"'$aD!ơ¡'̡ޡ!')"!!"""&"#.#6"$>$F"%:b( $nb%v"'~'"(,*"+b*!,B,b$0F.."//"00#1"D_2.#363c/$3V5^#6b)Rd7~#8' 7ND8#:f' #;24>!5=.)v#>#>ƒcP00B@/BB\c$AA)HA|1U$AhP+/B",B/.HId,1h@HBIHAZEC^2 B @.dNA'O*R$. ^)$\@bX`I2RؤO]UPER*olU1P!B&\ZAj%|$8dTV㾀e0Y2,3. |(B)WN].AJJ^$_vRN0pZfG$P O016/cB`#jdDz=.NHfodZ2,hP@QCGz$$,o2e"Ox pZV40B#@#B'xCJ56$Se'B#MIt@^GHQA[l p#eb"4p@#.Á\/A ܁H244B+l;/4B'XhA#@,TRUbh'đ(MuN'PAB04!(@.l)(A$҂j\8E() dAeA5BA0PeFA &=D(\PKQvM3&GÄ) Le ,Bv@#" Z XCN4B#„.jJBP((|W,$$h6$r"qMRh BrH&X#/B" x x!DP.B>+t).."Sh3)+$/k#(%/0NSX+ 9+2 5l <w(I#*)0O (bC~@@zT)XC(4ÓPg(tAJZ)^ lf#<_p@ $`Dg^#4dSpo&*0{HwBOJO@]@ex)ƍ2$!wA.&n"HH$rfL)$`&<掅$ylz$@ Np!@u@ 1dW1$¼6@d~1A ӖB B01S,J.J Mvm&gRB`rhY, Jt~9`fK" ߦPg^&TUX@Lt@CiA0oZ!x.DKxep#x)$01 /0/vG 8GhP0B#p6B{P/#n&C!@|$ "t.MᲁTwf erOL[˧n _fOR9O)G2wf .+0yԗjOy:1@)'c7"@6~$|2\@/8h,K$/6Jq j:AUz 閳&s0$wPn ,L ڄnGtáCCrĭNlv y:o^) !'@$Xrs+S+ڊצ_0B^ua3 8Jz~U{AzsCи:;.s:WB h@`o4بoe".1d0{xZ$gVzf~A[vk3.BM%բ9A'0nyCW} \@@ONB~V.sIMvr%g]k l7kngq\2@}:Xq=$dOդ"sOjw2,)=#rҍJW)2D,M2B˰`3y^@# z,:1Hn.n[C/л@zv {BSmKS$6@8Sjl 00'g, )``nPIxXIqËԅE йgO?u3؇`>@$7!X”STn*F‹&\cB,,E;I*+- *WpYɓ:RbpHZx4 $`pa5W g"u라-NTyWNs8XvŒ> 馋 ,d/^R"!9lXF P6IB+!r t2V1CUphQ~ ~uPg f$ mL]兙z0MƏ`H2/Xd: /8uAȅRˆ`톢IۨWdND2'èwn!W(b+!&x3 ]ӒGRLY EUi_ Z`A)IHr Θn(@3z!|Ĉ[Nc[2ZEn^h=ZH(ȜToExqBL n[02|Ef"pAY"冸`ɓ5)V6bI (|AL] $@R|Fjy(Zyn&?`a^T١YRWLFrm^GM<,)NAP:HII(Y ,;N! Ro#BF-$P`E0!7 hBQp Y#Åm+qS@f5t /X dG1-R(L󲧗zBnU!%![ĜDP C"Cфi@ YvbH/^qQ hD<1JQ dJBN O4H)3)Re+ƇG#ȤDJ O%p>P\D8+UJOR,%0RlB!LE* FXئ4&WًL6l/^ `@h 0Y C 1*%Qz3!(e($QN!e0[FtTXeCr˂ÙC*Gi5רNItS!'JQJ4oys.,h)G (DdNGuKLn/!̧>hUXJU^$b#Osa2IW3:h(j Zf&*y Hm@z{U!,e/!JJOZ1'EqPIxchkZ4Jg5V`O?pg$x''j4҆e kAݖVi_a_' K^Zvh'(Ꭺv5D:q!p~wTn׻jV$^v9^6\ 8v!2 LYR*1eAa{!.Mb-VYbbc=VN2y tB&ec%ØIne(bxpBOe0;95CuL0ybv3lHc[ǝg=}hA: = hE/эV#BOҕ1gzr6Q@cY @յγ;Ɓk]׻uka66Ǒ{alzNmiOնmmo6:nq6wmuvMr7:o}8pz#6 WÚ wamnB'8.qo\=M%7Qrd&\4<3&hr=ρt7͉s/MwK]E:Ա~]a hv#0(_v=l_{.ǝsW-=|{}-lQ#~G-x?-o@7&n.H LA `]@J|{M1㵐†,aC97*?{$'IIZdBx$я~pғ(CIJP  |ҕ|,cIKXuP'.^ &0;v4f:μ<̦6Nc䟸Ir>cg5cvjӛ\{IϞ}3wgNt"Ng;OG$h& 'ӟ4yZNJ>E }f4eEws,i67: e0]YLg*Ӛ^Br"Et.> PEH5-ќIr'ժ(FVϑJ$=Ns꜎u{ca"D@ci5Ob%2!0O\'ꩀL260AzhT`eHp*\ZX=p!u x@eYDiJd(*NYD$c4Duȸ 3Ql$nZ<tHЏB\zBz5jnzst~{I։%(,cTR:j.A; [/a=`R1GL|FLzc`*#1{lc5:/M]qkc%Cv1&~ 4INIv1|t4*-Pd;aK.(#]ӗMb2e\bbtCnmE6qXgy*VTEb6t"F(i+Jzҗt)+As:IRԧF<D6P0ⱏxַwk[:{(/ i7y"le/n# ]1e,^1q^'d@M1=oywc864S{$A{?3DRVq y/ ghD+ny"}&Ӟ ΦmsA D#N ^- +˛`EBԀ|^ 7zm y} C\7:C 6aWT0FL`2>NDTF W9` 70[WgFt`p`8 ?#qU _EMJ\ -p DPgyAw*4WS(Jse{=}/0>h"sz~GfwpʐryVqHphr X Xx 8 tst@&X(x* k `4xK8p& =ȃ>@8?U7&b(ՄLNX[WG&\VgCZ\؅]HX%qifx>B'GZh[HYpxT("hwyehe҇peH&'mȇ腆jtHhg8fn\}28&؅'؉'3b_(IЈ|‰IJ8XV(2(،茷d\bf xؘxK 9k'L(`3 瘎渎 `4'%(p&b8F37H(CQxd Ls4((; -g H68u(QpP\ ` -}M9⋇m s d 6$)(W(R ^S'(N 0#i(Q`3pa`3 `3b fIh&;~`3C ƀb ʀ79h w 2   He}^^ * p bGy(8 >C㚇#8(7 z95i (i2Sz|0ș:㜟9Hs0JНĝ:D 1ٞ 0 IiY9 9 ~a8 !  ʠ ʠڠ: z Kfʡ*&ʠ餞ҡ,ڢf!z2:` X7. 0 4"뤣Dʣ @6B:j1?*:ڣ!@Cj.ΡSO_zY*3ʥUj, 2J, H*&ʦj; ̡'Jui*ʧj ɡAJp کꩊ4mSʪ09z JBpȚʺKKӊj :ߚ Z<7SخTC\ Zzz0azu;Z Я9.]38.DPơ3z 5+B۱P 萮0 a 97 70  @L0R4 ".b YC+kС 8 6kY{С;@7zt s7V[h+K¡ p6;Бx ʀB3Dk?}Hx;!9  ; I[/50g3fs8}YQv0: |üjQ 1s0ad P 껾˾  ):09 I , |1&|(*¤.&쬢4pyζ<>lpXD|FHJLNP w<ѓ,љ  \ߌ-ˡ!\#*u q`Llӝq&ӥ| \pJ \Сq Poo?Q <jֻ ו` D]ԬL3m5}ЗQ lo-ؔm|Eo4NSMV-̮\uکl֬=ʓ8Xh { ܾ=-]}-Ǎ}ݴݐ=} =]m}ߍ}ۡz|.~-@ Ы~- n!^>a*,.9,=~\4~6^<89B:pHJLNPR>XYZ\` ` @fNZglei>l~vutxz.>~腾脎@N^鑾 ;= 李n 1.>^븾쫎NGN.>^N~۞ k쁾>.^~e>^~_? O"_(*o,-~?2_43o Q/.0?@OB_HJoL_6O8/ YZ\^`?b_dfhjlnp?r_tvxzY|~?D`ro _a G ?_ Cw!?@_?9 ʿ?_ؿ,)p?_?_)͟8eQF@ DPB >QD B=~RH%MDRJ-]SL5mD90;{,3(PEtRL.4SU^uuV\n')pEVZmݾ7R>;5o]yWO8+ƒ3lCΩCQHC z16n.-i l1)>P-pQ3OD`KK/4SMB'2@"(5(SLtP%tXϿWMT?h#v51 **VGۊ]v PWaeMbguWF%ݱ RT3LuLOOH-kx}䭷JNд_;㴍N!UJSZ00sT%|VsMC+zCZ <yz*@`MFyF8ى6axBMȃ`m{i{JR"lז~郞Z J:ki(wox'㡓 t?e<6E6!&jfV 0Ph b <}Ҹ<^0w^57-4OG=u;.To@#gwz W"uqW{0>U{ ^ HDd"9)\:pEOZYų]YwTL #% zCu,8AbL±*Xz An `3z)&MQdvAɐMgI:6pf6eb8EnDPX6El DC3A꜊ "nL恘f$}MgCjӠE(I;0ljP)I@HK ;8N>Nvի;4Z%լlQg8Hq@dݠ4BIJ飞 =2? Bӯְ\+N<ʜcN%f)s(h>]إuB}lZ틫Emj! ,QH*\ȰÇ#JHbC3jȱǏ b Iɓ(S˗0aI͛8sɳϟ@ J4̢H*]ʴiʣNJ% uիXjׯ`2*ٳhM˶۷!3 ! ,! ,! ,! ,d9 (fҠ-`ˤIk$HLa,$T%Dy@Ph6x4ob@3HB#Lb!c J " j1hӨSVDa6 !!c֠H 0{@Bem6 muЇ QfbZbR@+U†  J P oE6bw Р[Â_B(͖߲/#aoJ`s l=ZoL9͆o:}Bi$4F?-iWWBĥH)A,_ť[0]]i`"[(Dm@TBQL@dȌ% xzIPG^$^0J/Le=(RqB9߀YQgb &(,tEP'aŕٴ@.x"h! ,! ,! ,! ,! ,! ,! ,! ,! ,! ,dH*\ȰÇ#JHň,M`!CIɓ(S\ɲ˗0cʜIle@͟@ JѣH*zALrիXjʵׯA`2hUhӪ]˶۷F$uFNx˷_r0È+^׀%@=mʸ˘3kN (oMӆ0)!p Шc˞MQ @ #tU Nar:.μaCNسkνËOӫ_Ͼ˟OϿ(h& 6F(VhmZǃ v(}hb:$i&"((㌕c@7Ҩ㎋{@id[ZXCđL6ٕC:)Ja #\jIVAI] IY%erEe[igPjIgw)l0(&饢dhFj)Ir(vJѤVeᦤ !jڐH"똔 +B;2&$6%sVk]vmf~+䖻榫n+K;]+pvy8ӕa0 3p;lδW [lo1j,h!lere%a-,^1l[)߬3 3Z5,VAmU9U{F5 I9M4\w`-dmhlp-tm7z#ad)e Nxڃ>v⊇x_?yגOu_ySoӞtMzBϪswTM;ՆGd/o'7G/Wo;b[w#.>F o5Ϗ~Ͽ(@|uƫl# R0]F.(/ %؍(S0 gH8̡wCA @ H"HL&:JaeP*ZX̢.z` H/Zj@w]CpH:x̣>v=aG‚0THW4pd$!)JR̤%5Mz(?9PlD< #"+Q h̥.w^ 0Ib+Xh44IjZL2fW AqKWp Nt!7C- >kjBseG#pTF9E\`Exp < HGN͛E2(4Q4 @șh9f(@ >M4WB*EBuYDBWP%vxp)!ԮzD]QIp4p p e@  {BTV׾TXSZփ&4ϘC `K7#TSP9YUiRRٌҺB7hfV3?u4v_B*x+??513ƈ ڀvUF, .u&v^@uD@{|G]CTUF'F ?to'e\`FlU1`o@[r0Z3KBl+)h`IE20gL8αw׸&hY6C8r&3K )[X,s^s,ANHd86pL:xγw`|}mwދ JxC& w0ޙwrt!%hn.}nL" 7-X"wp.x>H;;t3ԽC1a&lTok'87 *<Kd} @z. Qvz wFu;yfw ]q65Ak<8N` >p Q;}@vS~7s;xvhkQ{G[rF@ QĀ JȄ֌Zr>s%s4@fWrf0u]kLw5l3}7~f /}u xk=gr(p; PytG縅otn\uɍQ}hvXwwL |!Vw/Ht ryf O#?6x`vs_GufWf _p6uMuMsVX@6.krܘp;un!9M`/7]w;InFdYh$%n;Vr {iv|q{ {xirfrFÉsyk&Np }G_ )v|8 yhiKs! ilkq9lI|֗;A~Yl)m:{4X#hmvnJr *l_w )kzk]F{SӠl Xr*,ڢ.02:4)Z89 `蠻BCZ@GjHJ*NPR:TZTʤIXM]ʥ^ꥂT>T<klnm:pvzxz|ڧ{Z*JZzg35"_p`:Zzک:J`93֪ 0 5 jګ:ZƊLNWTv$@:Zzؚںڭ @5G`qI# *NjN .@ ` pZT  ;;Ӑ[L:Z,u04 x~ ʠ M@Z$[&{4RFH: ;wp`X_a@BK*{qXа5EJ]p?;\۵{H{-KK R @ Ɛ@` PUK=^|ۭE;: 4  mϐz۷e,Vp \Q ϐU ;۹Z  sq r QT;;k}] 0v. ^]p QߛN. ϛ]ҫu L 2NH[|`۾~!ZkA˾ np "$<&\(|*,.0l—XHJ<>@BD JHSהT獜S4|)n]Ir`)~i=(քyoqٗtisYwɡIȘitH>I9;z[9I U z4}rȬi|yY̐pyh/לyxM''y|Ή2[8y䩝ߙ)Yxؐɹw|${,lk mǍJllŖK?,ʈv6Zb \m̮4}^$(^~NhZYQBT\uśs<pON~ ވრ'R*Q-Re4[ϊ+Xj֭]ykڵm4.@4ƼC8%ǻ]'Hl/aZN<Yvĺ{[xMz? [WK9:&fl~KwL즻n3D*"0B EcB /4)d,s44:,J C_.b$ DIË"D2ɖک'%T-7bJ+2KR.#)1$L31hM1D3N7TN87%O?_,Ü? ,v'QEeQG4RI'RK/n 5TDE5p'V[|uVZeV\cU_]mU`_%6XX6Ya-6aUh}veph0T7< \"NBa]w߅7^yuwPeOm^|_ | -X]x~NH"<>cHg6GFIee`N昖_嘃f]>&瓗I9cv9e矃&ZhYw>駋fzh꧍&Zj$2dniFBi~inmn^޻ny;o pQoc<'$'+rF^9FgIITYn8s1Opb˟Iߏ C禟x '0vtX*g.v;lH*$alp p(l0nhDSl\8C#~g7et10UsZh >8C)4"yRhp -w@ʸ0p  h -"p'(@wR^k`b zIDE'@)0A)P St  `ܡdh!΀), /щs(C\巀(˖݀f &:8`Cp[; A28ІQ `CI9a8#+p87D\Rh ]b8 f|@@@ as;ЀطЀ 83ܠ `0׾`Oj)@'W0f&{膇Խ%dy;M UY.@ 1ڇyʑ1 ic\$BY*@V6MB# CAA3\-E(؁մGbRO a xEΰ{:%ވ2 f 2>p1 }#h-#$=7q f -C P: z`ĨY9u|2P\.rCʶZ*mZen+h >p1v.NKd.lzKqJ<Tߛ2\! !oЋedP,e$VluGL4hTTE rqUFb`p|v4yrtH&F=UUxƸH! dP( _un=XG7 $q )HpKlVliU(Pyee!oPD჊}/T!D;0b1̰s#JȖ1X"Nm8owy@p_.CP@Aw _J[c\@ .P*I(B˦YpPTe`DAQhO4*ZE\ b}Љ`b@􉲘Bb TFQ址P&Z Ǵ^#e(Ύ O@+h7z7b΂QvnT7,gi_)J `]m EB; FH;JK_5 J/#d'<(H!r 2##pפ6Py2L92nagH MnTKoU4$t_P~4r/3Ip |7k~Rotط?/6op%&ގq ԩ?93<!.UH% ;@9@ycԫ"`Ah AOR0=[R"|APAA  A##,!,Br,*qB+L:,wpyX0CwX042D3TC4d5t476:;<=l(WUhc@i7p(ENh:W)gPş0d䊭X"eZ%Y)`XF,ײIMR ZLhBB2DЄf$.pU^LW'<h^C搵 ke@(0~[SW>Vd}E.{P~9 @e\v0neZZV[We[](@ehfH{fpWS*NHgxFnfxnc*YAnIcAXpMx(Uh(`ۧ^נxKח\\@(i {uEfhhneÝb d|c]3 (PMFISXRcPӅc0g&Q@cc@cLH/c\8hi]3Pgn@F'5Dh}>h$݊_D ( Rp8lvkVNSPöjL[hj֡U_.Ychv~ɆD&`dnZ&$1iD@ ZhH'Հ D`=Zhp2W2phgxDW.i{EfK[e{M Rh4fmݩfhb^g`ށ|X6n}l5Xl'fVWlM;`ʽdX$WUz/Y(dP.muUfKh.:DZhpKjh(s.>e+6f&@teY(6tE?HdYKK|f.7D<_UqtqeDVV_8LNgYeЃ.Q'VW\c7vbWegfwg/^fOijklWvC_woTpq'r7sGtWugvwwt_؅yЇy|{w|xGx}Wgxw}ox?Uo7BB'7GWgwOyG]~Uy7zG/'?zWzgzvD"XS7<u'7GWgw?nYLQQ{|'||G|/Wwo|O|ɯ|z/1m'77Ppciؗؗ׷ڧڷ}ݿ}܏}G~}/_~_O~̑]'7GWg?UPՈiӤ,h „ *lXp C/C`ƌ7r#Ȑ"G,i$ʔ*Wl%pʚѬi&Μ:w'РBTʋΌ`,S>@(1.\0c(. H,k,ڴjמ-ܸrҭk.I9lRa" @PJ ¨Z u"j2̚ 3N6r 84s cLi ܺw-ͭE‡/n#d{Emn@QeiFx@0jv"?mwC"p RSԢF0~QG59GC8!9ұv#=~# uTB"E2|$$#)IR#q=g`z<%*SU|%,c)Yq>a]^^/D1yd2s&4MeN|2KTM<9Ӊu|; yʳ=lts8Y3T~5A ZP-4 EhC# щ*(F/QrTEAQv"T#8Sғ!x)Lc*әҴ6)Nsӝ>i)Q, =*Rԥ2N}*T*թ2+*VKӭr^*XyZ w K1ZUJU#TAUv Ց_3bB0C A AM C'8&@?TF-Ü'(UxIEo.A͹RjVdO+gbkMႩKYLU]:7C|kT2Y.k6"?VB,.U=SB"XA&v2fWMa -t A8V0+/ o //+4 )0'/07?0GO0W_0go0w)ج0 ͚p)0 0  0 p ǰ۬ p {8بK'BFB=G1QOg1o_E1u11_B!1DZ1ױ11. 2!!2?:02:8r#G2#%W2%C#K&cr#;'K'g(c#2(o'r(%[r+r$$2-ϲ-S28C],1/gD8R>C00Ӓ1R01s1s231=5_36g6o37w7388397C4:3;;8S43=׳=߳1&)]g,'@@4B'B/4C7C3A?DOBG4EEgDG C)0HH4II4JJ4KK4LL4M=ZMLN4OOJ0Cj4R'R/5SK@?uACTG5UOE 8\cD/X5YY5ZZ5[[5\5Z{5^^5_u[=l/_a6b,a'c?6dCvPT\pu{,Cdo6gw\'܃]{6iiQBc6ka/kǶl)eÅe#F50d0@P0B@`S$c6A)Y1| U$ dt*dp)u)a/vY\wS2hD$QYjuh1@wbf2 B @Ys{A'}V5v;v)7\@/xA@w3w6#h@S*½ v1, ܀",_߃vh$^#`cC,3 Y7 |(B){;oXH;Z{0pgu}B9].܃X7|7)aw+Xyw;mA90I2,kQ@ @0PwuYwS̹X7@y)Dn31`X0B#@#B'0絆J*u0dS#wHBW@_AuXH], ڬ \0+7A#Pe1{A $,C@#A_]G4$la/xg9SAg/4'PAB04!;XWm)\|'dA$ k\Z(< dA̸u6ԹA00x4B@)5`o2B(\{&a^uC'; y;XkZYCi=$/~#(l8/@YGBumrn1v-C0\~`PH=5ůBڝ/@|0 uKd0@PAEZY(^B,رPNHHS3BuΏǂuqR"@h4"0Rt0$E.VIZG&Uӽb*#܀Cc8P B8y  @ZvL>z<+ (PqɅ~:GR~:kX6( `L|^EI+`ZAj0V"Et증D5R|$) E)3cSoRW A!GR^*s`h b] $`M,F憤ǎiUڌj\ 5W*BD1&ۯP<!Hh^Tb PɎY%bZd1h ):!-F#P:ƍ 0&8N$ OR)Ő=in|;K7O酦c44=CDP<@G!TI#MK1MRढ`1 ?q"+ć(!$OWÓ;nȈ=7ɂ:N@R$A7 $eB8#(5XE|6B`uQ$eh @aN)EmFu6 H:("鷺Q}p>9ϤB1U<$aȎzs\,ߤAeK(Jq(PI<< # i @cВOx 42$flR EZpHȊ@P cVZpPU ;`C$tF:uV Xk*^@u dSZÑ?OV!#@P 7pS$EࠊY8gJA!T ҰcVΒP$3`HU!#6pW'7&%#\0>ꑊel8tr>R8ݸ|&&c*A6.a\>ݑ|DU2phD'uUt +B RaE`l'KOLQ>3098` #lC:xPX&pSPSR?H(NR /әI`dDSTU#@RYA SQ' ("`M0zcP30.РN<tM>RF:H+!hg0rF\ " .h@dlQ"A{!y+ƔZS2s 9T*-p!Da d!t\DDaʞ⅒X0>), `DkwW.0e w(c$4daڧ)l"FQN SDna{ڋT] xIFW /~ Eט m^PyJgVRT!ClH2mzB0[+26LD`LsS;RvHBʇ8f L\pn:CI!'Ne&!Ԫv1*4o!AL&.RQLm!RF!ƪ"aMA F<҆K+6գgÐFW1;ߌ)"ӧ0wI#õ ΀)!c<[WyJJ}hG*6؍d]2Hx=d &SgxԧZU@O^ЃF, 8Fѵŏq8őz%ᒈ^ ]1% AAق#B=Z J3XEP30fE `"hÜ>-.b{POYTd6E hqJ3BOy^ p:0 y /oĆ0>bW$ANV`bπI(p`fF(02&c!m(n.cbH0N(Co> bpbH:`6e匃 9Nyn$/am*Fn"5lx " aM ~BIuc ~g# *20+( n8r%p`L j ] #,$Va6@^(b"(P]jhl*R )8v~@zBn;@~"C/y6b\@(jK ܢ(5΀A,0 |@x s&=4*eDhb%Q*HJ )(B|4B *#$dH@VA:Bq3$t B-r,BߴE$FQ)z1B#B!# kO~%ɚ'D&a`Bh/*Q=&)".J71&VA*d-r%_G $Q~˿܀P[) Ā1D 6J p7Ck#dȑ3\2)"(R 2/7>hD@p ;R#g,5Cr)5F" QnrQSdv1(1.xMF%F1ĘڤB^@R!8F.$Nd,""B3>=aL OX<Ja8<=9eӝ*V =A#$:z yU8$ $X"A3>X =A:Wڪ P 4l "Eq:uzxȝ bYB B9`$ny=Yyz)w7A}s!WzRz:z{  `J<#{![-3)?{A[;{=CE{USQ;O{MYie۶]{u;{q۷;;{;{[Ya! vAсכ廽;;{ܿ < | <|%<)-|/1|539=~ ~ >~!>%~)-^5~9=A>E~#ԋQ>U~Y]a>e~imq>u~y}>~艾葞I>~ꩾ>~빾>~ɾ>~پ>~^I= ! ,xuH*\ȰÇ#JHŋ3jȱGO*Hɓ(S\ɲ˗0cʜɲ '8sɳϟ@ *ЦG"])ӧNB**իVbݪ+ׯ^KٳCB˶۷pʝZx˷_ZvLÈ  LdHǐ#KL9%k+k̹c}MӀ^ͺhF"G`ͻg-ɌNqր_μsKNzʭkνA½O~9ӫg ~'O}ϟ(L h~_ 6C>(.H X6eaN hzex,z"-(cs)hŽ<)h$e?HG6 Y<.IT%R Y喃]dAr)&_IfcIfqiEi'[rH|Un)(Qyʸ砈Uh&N{cV:S0 ʴhv*Jꨨ$i*IeyꫴZ:k뮼+k&6F+Vk jDx܆_▻_.+/yk/wޫ/uos+pql0ok /i ?,gOlf_qdoa,_ގldڞ2d![-,1l3<@-DmH'L7PG-TWmF\Ov-6CYm6CFdlmm=rםu}wq7~mvMx\Պ/NuK yPONӖ_δ9՝ye.aΪ?67zL/o H_7QQ ‚T5 z ?8&La WB0`#5kQ h@ H"HL&G 7N̢.z1Qp;.]7B3~ . 3\щ.w"D_ 0:0hd]Palq$bpq<>%(L% 4H#G2aXc&v@ Rh k Ud%R-ґ. \A"|`2I&*s9d3Mf8P2E \ *h @W)C\3g̡w%((c @I4hTc3Vw@ };ЂЈB)ҞC3i֩ c g@ P̢#.hO:N Mc%@@@;(kYw i"\Vr]9TBCE' @tHqN7UEbR@`CBóyj6kXjU&Xͭnw pNC%-7}̣u.t+FŮuzWnx+8#F؇|Kͯ~p~q=gLDa ZXh#`K/a o81G{NMbx/1hx`}Mmp6v@L"HN} 77_ %[XβdK8<;I%"Ph'_-vL J|!XxCω5:}11(B[ Mp4YhL8AҦ8URvlellv3ZyƄ%hKHDW8ֳ6Zs]H]Ѕc ]Ã} H뜚H o@uf'q H=sym n@`i܁ (/ ~6p7;hA]b- b`B70 s&{]D}MM'ۮrm4Θ-fu[" 4D&l< ]7|0o}\fw bM0.詚 Nx5un¬O3 }w&{<Hȃ@14mVs\wu=4~=UȔ{Lc}>߆,Û6M֫3Q|=Ę}1A܀ڝ6m \0} ?w±{\l.[N` Ǧ| Q;v7oݶvSfV}( cQtЧWkŇG sOې޷c. `u4ږ&gzN4lfuwqtׂ!SkjF @; G w la|Ҧf%wr;Qc~ Đ;-qH 0}fXHnvljF4og `.y\ gj=VmJy$chwt_0Uހ{eF}Xy@B:DZFzHJʣj" 8ITZVzXZ\ڥ^`b6i$m @iTmD @V\0 @ -E"0cZzV: M+6tCe9*K; s@pp ~0 ;x~ ʠ M@ڪPd&F0AS: zmwX8XУazzeozTsVdyGN7PનܣCjJ; @ d`` .R=4گ`yHFrJ@QPI0 b JT. ܺڱkˊ3"+#ZDNp \ J- M :{MZ9 P sЮq0 ITVm+&G: cFt M pbpt Y{4$+&'Ku E JGPAˡ2[۪q7zF3f#{[4y;[ĺۺ;[{KXuЅʛ̻ۼ;[{KE jb%`[{蛾5ؖ4kj$0b,6bc[;Ka34:ɚ ofD9FVi%2 h|cYvgWg|pDnk)h1d&ic`iyz4!\|d%cNXWVkkkWhD6lIdɶl cmfdM&3LfTm n|nnzwo=Voooo7pwp`(h |5BHiEq(؄Fp;SXW]c_(s0;Pb|iXlp8th fmƇ hxHl>وJhHg#wax,k>F|{؊&|Q.7o}V"pɸЌ+шԸxpޖ&ݨP]4&Txoh!N9ܭ ަ '}igfϖ 'xl"I&g5G~*ɒ(C#DyȓSR(VqE kX S kU)6<~H7`)oYfjITٖN +(@Ti<BS~idIie)FZw_d[J'RīٙiW&H榹eb>f-9|~ʼnL%TꙞߙ97&㫾>^^`@'CU vv{>n }a^a`^>^~Ďƞ̾®ƙ4cPzKev؞ھ>^޾i~4k>.^6[4F0|$pzP͆vvn{g,_F3G p wkn'L0`m~w.&ه؞lfw}+H.cJ4Y%>?o׎s`iY` QDd"ʁ :=`z_`nEW>&bfO4Ӟ&SV}`{ /޿M&"#9_D}&OzzxmV~?dNo4&/zs`'';yϐ /Ͽ_޿F8_}@ )pgy% ? cp@@ DPB >QDFz-Kz:b1oĈDdȓ*OZ*Q̔3ggƋ6}Н9M>UTU^8&ݑ#X~V,ӢH͞EhZj˲5S'[L(W^}EP FLٷI|f㤔΍x"=ZC#cZ^&M"xZlرg-SI_͛XJăN,o˅/F6p=v]^xNs-^C Xv_|ǟ_~xD0ЌLp' +İ|pC5C3$B-B/d1E OD1Fal1]wq}pX /D2ɪ80%,R$+2K-K, L+;$+32D5M3s7L:<9$x <(E4сBOQGfcxY&I9SM7͔`<L!Ue(SMe\UUUV_m5UUVSeUWXou5X[yVX_XY=GVAPZO5OE6Pq7T^WSt%w]x=}IM\{AOA'%Jh`([xv_Rhay w#c`SpazXc=+HF^qA4AR8=F~fLII*ha뼮暡,f4jo}P0L[;E'eVڌxS%W5]7(疔|S0]3Y9LCkO0jQgly| (e8phf)BЀSdI܍[eF&@ eĠ~ Սd1e)~Ay1Dܐ$ .Ȑ 4Aͨ<ᝢPx St  B `ܡdܨ),:R"l:Կ5ֵЅ a _5ekT71cws@k"FϚ a;pC#R@k"p)( `D/D@WZ Eb؁"N!+|f7b_7A5Ca4 +n;48 7 p|$X `1ZpOva͒A)<[x|89`#ӄ PN 2G|z0e>}(c9*S%\8bJ"n"\p D8y!h\)4[' 13C)^pe-55r !05 H#A ~{0(2 C(7c|Tywlw2)7q`=}؂> lz g? [s覄4Ru /!ūWSĔ8I Ļ㥔"x 8F#4!I gps\`5fT2'zTmh2iP3Ai ᩢ W[9r ,0N%|oJՅZHI:A.Aa[V@25L])@6 `KdLD=0bap$N!)Kw-*p#~?(1 ~ mQolP F e:0'0Fc8œ]6ʊZב*3@(L;\03+i |HXE4ȟ r;3O:x 1PTq *2qZ 0?}Љ`b8Tvbp-pOԝ8&eQu˿>, C 6T)J1c^'yᅋJC R\l]R2NQNLV'9,"N`4;ũ:n](^UzՄ0f䬲uٜxDy~*Sr;)Tp:ϡڂ>TTDGW]}rG.]:5( \t#(1 g5a^{6A["[FQʰ/ c"ڥC_ᑾ_磽zԳg}(Z>a{~}Yݓ>X?,W~1v8yw:}w~?~Տ~퇿q,t(Bb(T2 )4dKklFG\!'oTF0>MD)Bb')0U(m~GCŀǁ&$L$Fc.pV&Gnhp/H.ǏIl H:Ȓ3I0*D*&<'؁ԃPEnL3 ɐʠ\4ID )Q),F-L'*HbB0*ă{ʱ$AI?S>A%@5A=BEEUFMGeTHuHITIJ5TeN<@aOPU#ATUUeVuWXYY|(" + U8UVch6a-U$FPZmURNuWU8>EVE>D"Nx[_U_$WVV5g]W:@?"RXi?L{mydNVLCgh&HRK]fU/ IWUm [+ۊ]Ud5Vh'R`f(>ZWc}.hYUm?KpH8S> Zeإi*hp@R?0FZhW`?(xeZhZ ~TN$RPoYV^%9a[U}>$fń `BMu(Nȁbh)NUT0T$3[:Qa@= TeSXsDX&b'X_v[_OoZ`?VVQC(P,vDghWph0 ~gfh*}Umeh` n7Є@RR.e){ִ%>u>F38=5=f}_(0i>uf8ehgYniF2UgTcY3(PM`F@ESXFRˡcPc%Q`c@0`L*cY8eZ3Pg`Tn@xe '5DhChUZN[D (Rp8;>h(aNSPgLWhHvuwTcJ݃v:낏D&`)Vi&H 18fD@hVhH'Հ@fXUh' >%'Lc~S;h(EDp1fSi8)n0S1R HS`Ԟ6>[2yLpb&N}ۇuږV}/5/ҷnfRWP6e0;`R^Ua\T뾆SU>֭NU()Psi8UfKh5oDVhpײfhoqmFmaf&wpe~UmNۇCU՗W(l@5cXv g>p۞f7en~q S8L@UeQv֦qbgu66afUp+-./sr-'073G4W-7zb%9:;<=>?@s]}DWEGCOFGtGHIL_MNOtJgtOF'Stq?H~o(XYZ[\]^_v]'t ~0c?bRcWfgg_hwviivddmnvlpvovev@"Vo<uxyz{|}~nxۿ aȄKWGxgx_o_xxyxy/yGy?vǫB_n tpci7'7zOg?zzzzoz{GOuy]s{UPgwz7zgw|7{/Kxu_pXo'{|ShYMpQ55c Q'~~ͯ{ {f:%D E GN0}f@o}d^W_0ni 2l!Ĉ'Rh"ƌ7r#Ȑ )kf*QUvif.)g*-j(ҤJ2m(3UDnL(QZjG(.\FAq2% ?ҭk.޼z%.l0Ċ-5ee*̎N] Re4*7.m4Q.~xnlvGFq%Q(Ҍq .i3o9[Sn:쭏 2QWM(DQg8YY3h\>JՎ6VFP,4PhJ&N8fbm\Gj tz!w]tx")XcdT,MH*]8 x֌*b@щ} 9$LliU\cA%P)P@ .0@Z!9&}IЊi&jrI/FW#d8Odc&;0B5E :Gf@m4J,pI TH3%;4Pc 0Z&9bm*w>03+3-c-*Qqc|?L{,~b@C1BDz*᙮.:4Єт+(CJ3b BJWQ4@A*0i@\01` ;@AͳstD"}&|_.-, EIѥ gX0I06N~\b ;]"P,U2Ը5a]W/}6ډ{tjYB:*Lz]=8Ω6+Q̎ 4K$ߕ[#k@{Wً>: y9/uX|+>;~;;#;ēj+ܪ#K?=[=k={_}'d;3棟~ϟ?/?׿ꏀ>qy: &@晳=(Bqdmӎb )+щ,#pO=?}fQ3Y$dESx!#|qn"pxEY 1-C֬s(~3R7Xyp\p (@@Dp .hA"v0.XV y͔Z`Q  ڴQ:cȇxZh¯Р*[QTUBn0LsP韹5`8+DvDS\Ay )p԰ACL!&H[|Lp+*]݁tBBm@^`MDZACp)3@AI͔|@5*( 2@d T]*@A@aS/HBC$$BhABM\}!] tYSa@HA" d2,h1t4+H }SC`DE 8bٔtV(2d3ۺBPAuu3 I `I"@+AL@x&` !8^^ݚIAÀ !uFՠ6@OyhԴ|D"e*PU5Sb-R(H$a +DB 0$_0<"B/B)0BBb܀J ̱q+@B1(a^&nYƓ4ń&T# )BTn|\LT@="Ș 1! 7Ҕ[ʘ HR1H)B&`E1B H{e \E") 3"P";[>f]!6y ^IR] U!B@$$dJ#ܗCy/˜U_5&$6/\S'"R#eZL^jq0Up^7)n-'“1 p1 t2"L4ƄA@X3!p4H :gePDIT@T`^|+|$0^@p*+A(B^́ΐix]=.aU//YAk2X.–)Xz+pN 5!doiBWiS/&A+d*p@V/B!6@#'7CV-͍!Hte=Ph*G5fRht/A;!`Rª*QI,W@*+{|٩24HjqEŒiNjnS.\&)&lB.ԫ'0&<>.&X2ҽ*'>+Vѫj1–¾&#$#-,y$UeǠ5F S;Ia<䅠oى*(1“Bxړc^0 <լ=޺Nm#9RmQ^Sm}m7mٞ•56=bM2l&g f*j-R.B$>=t=B" V͗;m2ߦ+^ٴBm7_BBV*A65C֭6uCȮ~j{\OBޮ.B#/&./6>/FN/V^/fn///+k/ooo///oHo'|..O/7p90?G0C0[_OW0OSpw0+P+ 0 0 ǰ 0 װ 0 00#:1: /?+q31K#13qO1Kq{WqkqCq1;18Ѓ=q1184#?2$G$O2%W%_2&g&o2'W=DC'(2))k"'*2++q>,'--2//200.1/32271G= C)/5O5W36_6g37o7w3883993:{=Y:9;3<ϳ<׳70ÿ:3??3@-t.A4B2۲8/DO4EWE_4FgFo4GwG4H4F{=Ú4JJ4KtG=l/DK״M4N,MO4Pu) P]G1R/5S4/xtSO5UW5Es/Uo5WNw5XuK0D400P0B@L4C$P4u5A)lXzUE1̋Pn bp)Xt)pBVWt!60@,1h@HBEjJCT 6[O&uM/"$PastJU\Or/g3DAo'6#6bZ3e. 6)P/Õ (]=v0TZHk1(l_20 PAQt݀"rС5hH4ht^$ p6,whi#'cٶK=Hfwv[[מݴַsC#؂vEJx8zD/2hY0v`sbSрDA)8-40B#@#0}uJ*t0( 4$$6)qkY \0+6\A#PO1A $,C@#AOKTyA#@4n북9 tC_zK4@#x*к!9DKfzm)\)DBP¹&´BtxOf#CnA#D K&,C/A릍1tBB"t\7;,2|# @DUJ5B# K5|#yS$\:uMu0 s9JB(4 Ekƙ[$TyKVB-*̳Aӟ{AKU1eC0B7"\r *JuQ_Rk-C0\nP ۾QWz5BgBǝ@'{0̴`?c0;#(M T`E3uIA)BP+i:/,@(X0C-8'XC^|԰`'^[ *.cpL HHqӐfM7o5Rf -IrB ̄pf*( @pp!(@tqױe0Dr` X*!cmZu*!(0`PAҠөSyIt^vu뚺,ʍceWqE AJ'2Xq؁۩"I8͂&C0Rn&XL8(TRN~8J!ƞyjx3頍N酧`cp  $^PS͵ i:#A QI@<%eL C` :!F ^VÓ;nH-7ɂU&n5J0DQ&#hAh7$!: ÍyQ IQ$@;f C€%F eh @aeÇ3@]Q%Z F sIS܀hZoE1)L cBРjs"he{Viz//hR! :O0:C"|>D d"9Ja `@ F!d )l*!Uv`Sbc7\sY%6jK hp * iD(Z*: F+k Cr/B@f6 "e@ @1:?B H {^hNAYMV[EoΪS(O<`"zD%.AȖJi`TGi+ZS(:G?m؈ \)U|Qsu uaWX7QHkhHs</ PH)VezC`^?V7t0T]"q,b[>Ԋr HjH:ևc0c Nt ?*g07-3b"D@*X?֐~bhDӐ4-X RD@C#:1St0b0v$Rbt C}`FL w2Yhr]Pp@H!A`׆Lh7ѳMDtG!cRj~,2s, ,U.FP$2Kb&@DNu΢ 5.cL! .РN<;I>`MF:HK!>2x"W, "_n.hSM]:fa<~-9mr"PQ?iX@!և$`$ ` R4HqwHi⺣TkBfإp@ TqZ&@QQJgF\6% ÒH~d͌c*Z^hTٓh[G 0Z yx!IDo< YpU6Ɇal,s\<Pa]"ky,*v@.yˆ:'@E4Bex= Bw3Eav*.9;wuNXt*PGSf0Ʉh+'e_U$OT!1 drLm2ݝM $4K i\lP]-,lIAE4®q̌KMք70ڋ(-z\K;2P,k+ }4|^7D`)& Usj+Y.2ݐ'!~ nSgxE5N hWA )lb#`B0h9`BT "1r:2tqa Yc fL&j+1bo[RK(&J@aZOb&Ԃ! X!)#`B{c&$nSc 0(M r5yA M6ܤ 1 A "`Y>]! AVP!c%"XQ $"i.xC@0yJ+RQ [Vl"Y 4xcM6 Dl›Jaxb,1 ?` `,#32^A0r0 +R`2NC!B&mq9{G9D؍{n#!XjЮY9y|8{DL48v8Nxq7ṏy9?$֞t8rAn%K8 8GzO!:%zx):5z9:; `J<8O:MIYz_ZUڥk:mg:iZozq:z}{:yzڨFکڪZzZzպz㺮ڭzYaa vAс;;{!%15۲9;;{=;A{?E۴IU;Y]{_a{ecim;y{w{@C@ ฑ;۹{;{[Ż;[{ݻ᛽;;{ܿ |~S!|S!<%|)-1<5|9=A  ~~>)~-^13597>=^A~MK=$ ! ,~wH*\ȰÇ#JHŋ3jȱG` )ɓ(S\ɲ˗0cʜI͛8sɳϟ@ԒУH*]ʴӧ3 uD*ԫXjʵW!4"ٳhӪ]5 mʝKݥD˷߿yÈoͫǐ# W˘3kxϠCӥ,ӨvNͺ.IÞM툫o ל{NμeY}Nuy]ν2ËOӫ_Ͼ˟OϿ(h& 6F(Vhfv x"h(,0(4^:8c:6@)DiH&L6PF)TVyVf\Db`)dihlp)tix|矀*蠄&9HUOMJ#*f馜v駠*ꨤjꩨꪬ꫰*무jx\z+F<뭎 PկbJ6F+Vkfv+. 踐:.&nFιzD+,l' 7#Tlgw ,$wb.>0#02 ?-DtL#'Y2@3[{a?32`smh}vb dr]w{ݶy݂ͷ~L'DZWngw砇~9c\ ) A4(@믫͸R*Aj+J2 @N0r pxM? t"E Ɛ ( Ϙ[oe zT0xp)H8p -ȟ(Pf\`@ULIQAq((c41?01 eITFA:'\kn@B kA$% p:qf UHD!Ϩ"h?~EhCvp0xmPDv4QIQ(@X `" M>0C'|P!QNr _*G$Qc%T‚,wKXC 0IbL2f:nj=-inz 8IrL:Nr#y& #A7}@JЁ=BЅ:%M^ 'юz HGJҒ(MJG:QOu/A1A!3@ӊ%xJ F]HOԤBxDO b MH!U%RD/́sS /|ܠY+/$M7v Z|NԄ` _)2&@&$d 4)14ALHU ,1‚ta؆@,Ll%rZj@" ,7Zª,-**<;z5mV@ Lx;Ayʕaj7kWÖń(d]ا@~! ;ҵf-r\  a~pFuA aBF r#a(\|FD*F/3X .Cq KXB.(-,'p X. 560A n0EjWbp fꄡrq&mPbx`r|]+YWQ@31<ط@ )G52m3@* pB&= @RDp6Zh7I2A^b:xoP`zNXn 5*0S:!h |` K8 \5=Z z_m8! &beo" a7`5ʩ5^%d NPL luyn "r.kiUQ ]H/8 s Ձ$— ~67l]P_7 @m.L>sMjb 7Aߝ v %/6jW@]C_(dB@3F&/GMp[jkOk8!KLaq ` 7> DTј BtF9 3z cBBRD( spP0k x !lGfυ'-Ќyt"7H~ pIKxQМ(8눑 8(%z"IPJyʢ!# #露{ :.^KR:TZVLҴD)p@b:dZfJJ)Mz Rpr:tZ(5Qe"/bh:sR2d S6S4eTHTC\ TMEP%U7eVթ1M&U_V{(eiVoWsUWwѪZa5uXfXk*ЧBY\HS%[\5ZlZtͅ]E[VUT[\E\z\\T]1] uUM]]uA^U^;_gbe}uW_EkVlf`j _{fVE &taa)a1t V1b%f}b*g,fX#cf5cfc8clX*adHddNeRFeV&Ye]vycVfgfkf~krh_Pgpgg|g&hfhth UMh;hW6V\iVƊ j]0jW_t&|LhkmkVilFl5[fVleЦFm;`m=F mG&yU&n#ZtnnJU"ReoVo6sf|:pW+ wX pW{EqqSirXFrwrxy*rrxs׷)A !8sb^a X~dfnprj ̽'y`. "p>djy" >^~鎞 >^ꢞ꨾ꦮ (,GN ǰ  >^~ N.nؾ >^~ c"f  ǀ a^Q @.~ `~p  P p ~ O@ Ž ` _>T JO ^V?[/VO> ? ; !\/ b $Pp ado !/gp}6@  6o