summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/flamegraph.py
AgeCommit message (Collapse)AuthorFilesLines
2021-08-30perf flamegraph: flamegraph.py script improvementsAndreas Gerstmayr1-27/+81
* display perf.data header * display PIDs of user stacks * added option to change color scheme * default to blue/green color scheme to improve accessibility * correctly identify kernel stacks when kernel-debuginfo is installed Signed-off-by: Andreas Gerstmayr <agerstmayr@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lore.kernel.org/lkml/20210830164729.116049-1-agerstmayr@redhat.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2020-06-22perf flamegraph: Explicitly set utf-8 encodingAndreas Gerstmayr1-3/+5
On some platforms the default encoding is not utf-8, which causes an UnicodeDecodeError when reading the flamegraph template and writing the flamegraph Signed-off-by: Andreas Gerstmayr <agerstmayr@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Michael Petlan <mpetlan@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lore.kernel.org/lkml/20200619153232.203537-1-agerstmayr@redhat.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2020-04-16perf script: Add flamegraph.py scriptAndreas Gerstmayr1-0/+124
This script works in tandem with d3-flame-graph to generate flame graphs from perf. It supports two output formats: JSON and HTML (the default). The HTML format will look for a standalone d3-flame-graph template file in /usr/share/d3-flame-graph/d3-flamegraph-base.html and fill in the collected stacks. Usage: perf record -a -g -F 99 sleep 60 perf script report flamegraph Combined: perf script flamegraph -a -F 99 sleep 60 Committer testing: Tested both with "PYTHON=python3" and with the default, that uses python2-devel: Complete set of instructions: $ mkdir /tmp/build/perf $ make PYTHON=python3 -C tools/perf O=/tmp/build/perf install-bin $ export PATH=~/bin:$PATH $ perf record -a -g -F 99 sleep 60 $ perf script report flamegraph Now go and open the generated flamegraph.html file in a browser. At first this required building with PYTHON=python3, but after I reported this Andreas was kind enough to send a patch making it work with both python and python3. Signed-off-by: Andreas Gerstmayr <agerstmayr@redhat.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Brendan Gregg <bgregg@netflix.com> Cc: Martin Spier <mspier@netflix.com> Link: http://lore.kernel.org/lkml/20200320151355.66302-1-agerstmayr@redhat.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
%qjza(`JdZB+Z)aoK.|8W[׽ ,>{1ym%[].yUcVπ[@πSfD;qdnco 9IX[wiw4%2t$ynp#uMk:{:'=@A2t'7y HUޟ59$}jǎ:3#3 :Tqw/e+G>|PdS5Ȫ3MRtG:ws35]>62_I@ ~~6ۢSϧ̗-1i,? ;`$ u9qrFv,~///۞zF叿xǿB0skd%mX֞;ϐ;do^-w0 H9Q4#Lz;Ib-Hr?_>O2 n W oUv?]kwzK4Iן'N4LYٴ8&ɮz`mхzR#cZ=EX'fgjd=W+2Nq3gy'E_lC3]]9sn3\D'vqhBb&ىW#ZjɠA =vg isODzY@zA{IQŖEaw^Epxg>̢ 5R\w~e?jZ8~)!?J=zT' "Taz& |Y bR۷o#T}_ue#ہ _%t'Yp7Q@؁R@?Zzk-~µH♮|a~o5e&Ln]l WظI#$jE*'*,+aj5Ԩ֩RKZƩ:Fԭ=$! [{;X.dw%O8*gVH/Q ({}~:a4\i@OTSTeQBKQnT}0ӿa|p+a#oQIj>8ږu_tiޗoCbAOb* O =#v>|3+0L%$xFw: Ȍ {pv8?qY{tgKEя2gƖuܩ֌*ԑܝNnDN(pw%h :FuJq'+X|tp7}T gZ1phkӝQoW*b+.lw}،4h9݃B&U3fܗSt!a-iarYL= 7̧G!F<%=?HnK "@I`5T}c$| : ȄYZ:K9/x;2eh-.9 %kJu԰]UZm5Q[ 2jj]7RM?$V~ރ/$/>ԫzl+s0lZQw4ո1nj*Uvj9)c3Ndr̶r:w0~Ϧhg/:QwtFW0<@z:h4k|#ŗ<:.&|4Zz8aȚmzd, pX90ŝgݲ2!<[H26hM,naRP>fOuI@G?`^;*qkFRw[v4@-P Rcx2V.ov8!?ί7*`IY+L} 8Yz2W!bBʇd@4hZDK-v%<c&6Z7mcut$O#3]) tbbTI A:fSպ͉jtju a֨$3:-k:C"wE _UmSuL5i`UWb3@9RM5q}<Q}iAD1\ 7IwZěQ/Ue0avYM\7]¹<1N'۽ P4vLtR^c1& Ws +}νo7.IF}4ܣh6p.ѧtX*I- 3*`9f}YʮN eZ?fE:2b)<:=t,hƀbRQ:/B0,qQiEgN`h+fQSW#aӾ<++_,IELv\ }T2]a'_D"Hޫi6 ɚhу|8d"uӎ3'ny}nS2lInW2X+%٘gտǫĚHohV7[2NW8ZWճz F9u;w<0Ha_Ax|\|S 1,Ǥ_όz/6 )Ar#ikoK/x. ,^PL |n;1lN2XQ)Z>qe2wdD+Lɛ $ &}r@Pk [hLs@ ;ZZIi%FC eHޒz sN1 ]D yBR;xmYRʪWټRSþrTYU7>'Fh}:Lux`y1=5f;MGIJz:fCy|Ky'OwPo<$vIU!,8B<]aKU̽/hsΌ^Rt]vEރ3v77ܓ~kbF%D8)>[!Nd Dz_۔lt!ӎؐvNMՒ b .]֗~|BnbF^$;"k~HC%oxj:i_;?*z'(GFcZ/-ŭֳ+~Ԏ- <kH^8Y^X?o7V&},-Q1?aDdơ'X$PB\eCWJy77|8\% >ǤNJ*w-x"UVnE|Z){( \D&.;j Z}uEv| ^WVQuժYof*y{AU _,pGr>0~^̱9u ֥Y5M4^% JKFr%+)~ c diҺUXy{x6{LA2ĎDPg.VՀS]˥#핕ZK: ȫBΨ$W>;0B!@ 4UmNԵlЇ^/p]8E=Ca;̜ʧRv;~M|$whɺڀaVwR3W{~wjd k2,×zp TIrܿېm?-2SGXZW5._ jؠUN٠¢V*MBEC=Zerhx\# !RVxj?]TM]$e Ovۊ"|0nǬʵJRG:6^崏=MRlNmz(; KXI=wZVCV?r-r5nyWS C69b:k40l7q/X`~a}O7Bթ9%mTJ{0V]9@ F}U횰#:M+I]Cg(:E-I,#XF]Ci] 6`]t<:xe ʜEs6%$,9A<S,GlK ƁlK4RnE6mKP{7P;'xޓ&LGB6/i@ a"p6#3'dE;F|piLYK*B+CT ,-7J5j-?aR|(Y!-HMDl Rݪ WhL VLjME=g=B-"<WEqǻlCEF/rg<*YeYi Bz%$d鐖W46V~2ij6xcH_LuZd#HI\j:/ZҌ(2?y/ -#.PlZRCoN:4\'cx qعV;g+|mvK왖{/^Z&K *.p.OQQ~vuaό)Y%jYeiK0 O1iAu9r]!K b(K1'u%xV9tPVt527 C1TWJ&3Y-O _R-Ll*Ѥ/4z`oERE[apT\φr$f:L}, _^MVWI. b8qgC[MU%9G@j qNmrIMZ"=WlwͷOCTsG }"lX vmT*flxТUiP$Eii2MReiwM SxލceֻN0:SC{]'9B(^G:e1 -r;?ʻd]~=GoC qvĵ>V8Q6GE!`pU `c)5"SWM 5wȊ"3) MqhGKi`8TxQ;7@r\.gELt߲k8m4ʿ^~Nol,z 'ߎ-{Mx]ܝm1pIh48 z-~E>>+i\q9dB.O6; JZ 5YELpKWUzIvJ-G'-(}Z* 4pm9"7L@2>EIݛ_T+:P`lF_[F]r u k鵲>VU_84>3OL-ˏ^IvxrV2i~A _WodOH[l#nm) +bhc*MViaNrN`g*M.`+ 4;͢/*pި` ++@NۑzN-עf|]{/jG@:KQl57늆wd؃'z.,OIıLNvG8٥S^p4}ÙaqX.tp^ZsPo[MӐ{}T%hњj>U; (e884 _#57O 4i?Qz8k:V,A҃'"D/'YS-FcxzjVIA`Qc hH`"}<~| 7d.fU$Z;(IըF@9iڍ3NXQ~ Q?-=eµג^EAH:,%슓c{d v"JZSo{+CeObEj|9rN]`c 윾sכrUqia3>?ՑXtLK koC#j#8sڛ|/vИGJOu)Og eAM;8O!w%6*8Ҩ4+u@LVG꣞9 KF\`ooyi2L:p$mALYC{(OowܫqahJ ]S *3)O?]c{L\4&fmY jiT%lW5T;nGsR@Z\J<͹Pڏap\id6BB[l6˜51n×NGˤgavy|pW7zkB+L =ݝ,OCl#gF(I';{D-0ʨ8,(d4y0꿒b0?#+qwqzo/}jϝ_A1& Ƅ%q:6Z 6Iwz otfT {qٿK 1|eo{rwɉalM^QdPRK+ I3~ r\^]o:m5\ZӃR7*"^+pk-U"MR!H>'$!<<:#2|4\3 qZVl#^G{(>Nm&J $-/SY\[YQVRMk v ǚ fvnm/!)mh˵K~8!=F*삍jH!0Ia2b~IIޢ:Rto9^ʋ%&Ŋ}h$6]/݄aL&B>]IRc mϋ:At+d/Sn8u$RD]I=ugYb$I<|~WkN~̓xqU}BpS5P7|VKmTuCFXhç$ FU7cs%@$S@b\1>C/x$1Es1';Gb{tcF^qOj6ۭU=j+sR#uk2*$M52- g(ªIb"_ZWuGwk1z#͋$lsӻP $نDk{K" iW b1t.gk( ^XfJÈ5Co"2eQ4z(o[XrCVMNb44)X؍LVQ[}ȧHYik鯾| cDH&F2`00\KA,5,#uN w\>!lFw㻓#B9!4l85-< p9z("w/ =@l(F#|'-^b(gm^dgW}|%q ؎|VQzbJ+gcq=.%-d7lNĢ_N䈔4 ~/TA@&3f W(~(~3 - xc:R :iS Jm@:O5jԺ ?2*ن%jԚ2;3V1Eн " X 7 -?uW_ piXHq[],fJ6Z0u61GqJ~ +=x*tw.*DH⣚-, Uwg.{-b=*H{lJd qx-xt'H`Y߁_ug"= s@p~u;gAW]`[`1 v<B>.y2/>3IuCAj~E ` M;[_"77aF!jDWɏ"^NCc 8}T쁤u>rۑeMMzN`YES3dM3xOnƴZHQ~L"Nmlś'O%OqLnwDz>1CڵQ94CQE l5TjѺP㆚t԰ `#P$?( &']]ٞR\"K[,wI7-|ZPԘT#fB#C]_c;+73h1o@WVNh)/ک/TYgJ~ vuYl<7Q^˹FRG;gNH*ܤru[7*<$iZ`xf{CgS/=Pey{;ZQGNXf|4Mw\4|=Ap\{d=%^MPhcD(e&nR(1.z0H0mtcI$+V`b)#fCJS5ȼfmI]MZMNa8z8GZj4K=V4ݻ9SJ1DŽkk 5JVkE̫ eH)7r֖%o4b21EHѯ9|Z&=h>__pTuP-2TOIa`]>%$:`k%n>—rhAGqCCêwVò>ͫ%U3&kQW?_%W٨kO!^rD[ѡ 3UNɌf*\?fP֌?$df[YHy) ]w/!Cu˗vq{'r/lO5iz3i~Jײ#=wc;RX'ZìVF5c`*sj _TuP,3: gi@6}'5 lmg `sJ8/7OFMi$rӝPB/q䧞Ԥ01EtrcHڜrrX`cg&c!(6iD:_Hw ΰR$vkfoZѹCZ,//2f 6 ,X;s6&U q8 WB ]rS[I+YG~H ]{Z8]BԩCc8]|ྟhQ5hkM\ҳ@2e,{(YԽ2 clM&u('qHRgPdG17M2|xT()b4<]z3.zQ/K{WvJKdPV9󎏼ۨv ?!/JVD<ɼydpi^$3U-UrId?cy^{ԹO[H'Z.n#_ɒ'7 hF3l^^h{d&C^kP_0Kjj^sOWʯoY8edMʧᴢ+zv83hZMc_H|_>_^ҵjy00V|XomA:zʒ̑. 4\F,]67@Ƣ?ĸQN"Fsg+}Tsfx b=|wWKJU~:9)hPBR6X/,V27Z C&ex/["AM ^)ڝj[}D əxڏ8hTA q=˛/Lr%IX<^`̢{֬&,9Ce ^5:T0sV!8RjEZӥeX-5D<-@鄽; m;;_7|M(IУpI; Ț1g ,Ztgq ٺ*0{ap K .!+:!J ~q)~lۥ ޚZQdXGVǓN| QwOoP%]r!J\)Ü,4EGe9|f2;4!`!W˦PmD۹5av q8!4Q.qי0w OR>JA>B/ϕV{dbgA$uZ%qZ|\3g&'Fa(˙t,-LfK}mdZt2/BO^N}Y))c+ B㝬Hk\UM.c L­""js]$lJJifo{HSȱFX JzO"gM׊]Zp $`ER"*ВvFcm@x󘏍XN | MM.pĮ{\͓z{' T$(}T=T+Rێ~-xkV|:nL,MzR-a^=ؽq54_j2?sRzb EwX;/ (LDYdgjNqT3P1g\.Pfz)5ϔ]1]sM?ڠo5He&߇[ѥ;q_M9eљ-S^wIO.%Oe moѰ=T Bڠ"OI_;jO a !;/FYlo`;rB<[klhr^mVòz.d>ͯT'HϻP$^d،P<28?j7AAP}OI H3MHd^L#;dPaAq RHpUw 10d$$5:]1WI2sr⌛ OeZZHr9؜~zb"_e|G3%Lrײj;.ꁛ(>el6kϧi6v1~leJLI ,W㍴a$tL/­,ع,ɤѭ^Ej`:H\a3a]A ~uYI骏!0YX{ Wujh!1LW=qg!^^sU};d's5W+R=:{xlF }W]M#KCehO!uO$v`c2( N$qI;N=uz娙m؁;]lVy}-ӧ!VAϣ[dA:+`Ѥ>F4 bȭ?tSIM;!'f~00DBdJZ~\:E3G7t-S2MfhnǸs0F}5néWMxCըin\euɵd!8eK[쑋`aִ}B|6agW߯dC߁2=kOV]"f-|%x(8.Ie4#fݳVPZ1|ElAj, $?WKrLJ9ދ~p`X$w8V&d3gC!.GcYL|C)&@m|y0Br}g{u%]qd@1'$2ihs6i-b!e+c?Z%Pb)^$@664ᨴ#k[wvVI5VCVšT~o,m7oZ {b>/:I۪?Mha 8mxi8PKFH!/HV=WM܁MbLصiJ ,El$ۢ(B~o/46#ЋGMoK3sSďK/ˤE>aq#ZKlA#$QlݜOKw"|#q){pS?ETG<7ɼs,٬u".ęyv "}U Ct}UD{R0rd6[NooN2$?K|^3jy\ y:ݜLAѴtJzH+/A Q0ɢKk޻ Vnm5F8]Flk^S$9!>h̤,#ܓ)Ftoդ9J& Bwz;6'٬T}0qPkCdVPMi0RqRݮ)h{v5>ڸϜVhg`fL@id2GQAc53[=+d2$VɌH4X}} X<ȽxF -=sf*+0Ь #Lӱ)BmBEV7M%sh7n fflJjUtE;ֆfjB%"'z.Nyz7W[AH뼯ac`5!^'Zol$rD2 |Z13eQe6-;޿HR1(v&/: ~% -)I߲l%πÁy$ᐾq g^8O<;+rϑT}`KxB|WήYk`I^ yĖ$?G5:"iFgN$Fm҆!@pM(Ԉ(M)n|}Pze >/ ёIY猞EN\S%`kkbbGlEZ4""i ˉ3Sa_yI<hZKͷm&3[gN`H Պ|~x{WUӊj:?N͚YhR[`- mn{aKIPr3GG^'HsRi|U0_u}*YٔJ2Y}C3>02c%![5kcq#MM8*j膳6{N8l}.IWp `q:P}|۽,|wPߩBŠH\=rЯ0~ $fPA鑶9WlʇC _' )mE埦x8Efqb wHKݒ?׷ās WGMLb4QO1ƴF4~T/P+hia{ c3Jh^ʯrBV;nԒո ??5k W۫TՕIvn|0G;7{L i>:V9kANJAJHD"@>ZY{K*'L*͕t}(. ]򿈺-cU]^Ħ)KPs4YeeXeK}!OwW~R&9O;k5VJX* ehK>-oV-X0b^q]j2/5chgbl2*9O'$Zl@F偳X9!3]Z.쀙#.CqJ.4yōjbf[Q̯Wk[U$DWOb*  U~?XPdJ:kt2'iHrm@ܫ]V,FI$'8jI%Èq7xvώ$XZ=y ,Nn`+&ܤ;̾d4=Y&;I5&_"R8TQ|urE%zV4YaGGfg<,d8$°ˤהHZ5zpu_(>]VZJ*#7!b\p8.MJ~d| Ǒt;l4@^ \[)'FTa=jLæ22G`úնRFA-} 3q]%wb1<6ƏNzN0+|J 6: j1H:MBsI$.utfEJ9Lvou/r  T{ mp*|vyfe!ފjH4ʔD" K@IH@rVd%>h*"QTdk6ZR[dFq ރE hQ&f*xa{orN%{r6V}][ZL(4rkd):?krR;GFȟ6@gY pGqi;Jz$ 9Hi&|=qI 81L鸂.A}øQ`B CR<9c~%K;z>--14LTB ZvF$4\t)l6. qJrv-6A+eʯ+>j!U{j%'t뉎[Nf JC]~P}SVDB϶rzF˩In_/}V`!dVU5ꄂŗ: =Z@hh[2:L w/{u2u~kEIٵA^k~+=.=H:\vWR+*>\6ڋz ts Oi [mY&õF4[H3%˥E8ݲJhW :9_iqXmI7p _63n-`$UYn'lHв_#-d#6{(q.1?: ZW?Ю[z+QY)`gپ F; Ó*́ZWIWm@k]InsRjo UP<(p /giBy }-Qh`1(1v97:gnexW!ˬϵ^wui!H:(ZTB /' tY %`H56g>%)hU[f:_X.Ƶ&֬ΉܮWJPV"&̈a3|h9gkO*5GTsh{|::wv-;<]LDtiP\@֒a%҉6zU|X.ˏ=ZԸ;۳C+J0(igVe%CH([PP< #|^-u Xi`uz. YntKDH_r}\䓓Y>뤖Bj˝.52 t=] [z{gV]}-?nBjzdVĒ΄c_#ؚߕwO~Ƨ^=R,lbV^tiX$:ҬHxŴ-c21?g!}ZTT&k+%>WCʢJ-}ej%Uɜ. zM_B_9Of?Gh~CzU0e4(|6 ΪLu|(ϱdIffME3Eg$|PWNѦ5Ǡ7ts5Fz7)}7,zb.or.NtRisRgkIru!mCDf춫dE.jzJiY^ɯ ƕj ̖e:XŜV3Z_ %;StQm@LƴYSjQfl&3CK:7ovRr7u~(|.&-w),UtOz?S1aI' Ǫj(7:f3gC1p$;x`iiD?{zmX %?y}bȐI@nRҗw|ߋ㗗$#`[Yi>:#h"w{r㍁j T'iLqF-H5j-5kJucZZ#՟d J7MXEV+VpeǂKw.TMƄ֑ [p Ip$iR-H]lCe}c4J2LVƤn[>A$I-./lW!q= !Е:9Wz |'UP46YRu#zP'9EmiХG5%`_Jَ.GF:tI4?*q} >IhT$':C5h8 |L=U?Iqtc9iw2ijD>@r sn [cL\ROx݄.*{ѱZZ((]aI=my'' ) m[G2#k̗V]{_+ge\B t;Rr-eN#L5$7X%c+9k x (dXl犓g;*w̵=j4HTG-pآp]%~P8Yh/p|Zr:[]+7 ш7 eMeZm!AzGKaEP72x$$^z~diH:4Igs{'4d=0ׅvJ.ѰAԁw&epWdnx^5%$jvLe|CeB|﨟Cbiy֎ם3:R݌troYQ/lx8He"U6ͤ@rnS}FzQ Qk7ckDrW-{ʯb_('2dss4/D; s{~}OJQ$Aޝ lhU_;[] KZJ}v齾A8>c)wm7LR?ҳ"4sKNx|,7zP37DS%+uiǮIfDji>t-Pq>ڇt*?7"W&WOW#a8:F2XNNKJAդFsm%zFOAVj ?IpuF]NaW4߇Q),|oI0Hd/ 8>Ȗ]B$ټ;sxYˆ+ pi xHԖ['0-D@ /d߰f_h9~􄍑,smSSKT$ 'ɲR`rfYpwgV$.qm.|sxA~]ITM2J_5\}˗_j>mGcfӡ"ay=es)&UV12i}U棣=imx~?^P;2"!Ԃ\Ǚ㽵zVCױIEH.5}GZRCL0<3V:-R$~Ԩ)w#2̋GDbYNRWK.>~fePdg{+kwh) hMKsp.j#գ%أd~g[ˬ@n4M E{qp~tc .:;l-D#\Xg q; DjAb,5V\/(eUst+R~hI̊m2䴊xDeIDEFbe s6} p^hL-ƴ-jF=䏞e 4{[6%tzXY4#^Bx -"{ +-*NR53`u:ME&bf]U#S>i(VJ8bR#RpDdPH6_VBժjM.] z^\5\ёvQ["(~O D8pвvUldyyյ)!xCNkh?'.mw5uJjE4Ђfc5@FY}2?wY8V-;ZMl>R;9vܪU͖0>gtG܋6qe&RDJk}~7ېLżFI_9Q[I=B^nU{V;W=cO?-n-;PQυ|E7}_>9Oz4XKmwd'+,&*W0Եp\&׬v&n<0Qw)%1Fͱ쇯 I4&Cy>1_+sR6P44orIƿ|c4vB 0ݎ'nxX X2.酎& KZ!J.sv~㿉`;N$ $3E(\, MppeH_8 oP"O€엕 BF2rs agjFVgwԆn56KIC5%l5_zCieVǬ ˦CkL)8V[#sGZuf Gtnv qTޤ~|8w~ OJR_v:iV(ŋJrVi0Ƛ;k.fbpzƘJ|PxG7…s~Iyw15Py_˺OLVò # N^wG[KÄRl iOtVt'ȼJ ,8}P? .ɉqN wg푮ّJyl}䷃!a.4"NŮ]o@{-0Ü1xi]hNRӬu6~cr _hY,o{{gm6fe7J.Wͪ (bHi_h7m6wyAct:Zhnj]5l9>; j֩+o@/竏MͤF~g݌Q`&Qf8O+8y5wj!#Zf,7Hoxq:P7`ꭄd#-n0K1i\a4@x)\v|6f%"Uy4?Ag "_ٹ 4:m>i6kŤ=C!I{r@M3VHWٖQ,8V_ͼrDwǣ=bĔuRC;٠|o\$,+|{jb0h!O!g[>Iѩn͚Rg|IJQLhDW!Oi_ Y(t3Nd}ɵzy3^k4HzG2Hୱs|,zMų`$t g!zs1?$1ٰUrJ]ِͨ:OԔΗ4-Q*gWV֜?5 WR=Q1q4/ĘX2`C?X эk,8ϊH%Q^f!(uekb;swR:QcD 0d"1:or XAGk`S=jL 0㕝z.#>_yqByVjU[jB8YErTV =L^zsߓY-qn}]8ǿnos\2z8ˇzvz^]}7{0tewXܚrzۿDYoG`qOᗐtY6ʽYKC$`s48-e|\Ii?*P*z7@|y>.t]Mo@| 01n>_$5F'$jѢ+q'6WVt Yo>3}:O`=럡G~V:]s&|mQ CBhtԊ}\RB]Ӓ.y Y}R!1JFDk+ =)cLѽDA`s:HWq)Gbn74 Y\nz'GQA[t nTQ_ =Z'Sojk7| a*;c\E F~'V3qo>]J4;a.9%9!XVA_Y-\e$ܴD/=$'i%5,Q2^]\ZQ.f$O%v{H`"jAkRҁr("f2ݺP9rWH33@>ID$ퟴDݯQ9-ӫ4aBdF+mXjv9p3Bws1kFou>xd(CHJ| 8uӸ33(OJR IAIjrӧ1q#Dr‡ݔaյnMb,xv6ыƼ+989)2wln;R"b1C{vڋ=e $Eu&gTU.ᾨ5㫾z)JSIg|LO^}P/ EdK҃';42HQMQnfʸI$e/s~ElGhCNWvoQ_1#&x00",;@heQΕ} o}5Uc~Zޥ\ zqF5Ffe,77"ˏ2+A*)l}튦]bTWw0څ,fJuDt]K՚%F@2b聐Du#2>\j 1r;8اզqHI*6W+E]ѧݔsrSqf?K;9 J{Y~<{6ZJst*d7e/ K}p{tU'R~8TtbkxaGT刖gÍhJ%%0'go=v~u8Ð6_Szzow=3Z%diY xӈq杺ג*rN6ZolT6ըEǸnW7U8;˧}!+?L[YCaEC`EY?& e/w 9zs}|;I#&.i\W'e(3o,.3K9AH~c Y4:WZT%wc\njOgػpV2>V$UCj JRF&z6PHIx^SCH g fiI~N&]kۢIA%)GD6G/i In{ 9vkpmƤVx&Q]cM2Sՠ3laUaHP8E/HG!7#pՉJehuIya5*zUAAF0sCM&n#k|XXkeZF*Rc 0. Evek% sЧ |>4-iy'$Y2 ᥊CHuY>,0GJX7:nJL0'r0^Ωy9@se/^ hS]/UmAQuK_Ekpp 0]W&~XlI৑lO}ROP$# 5){YܪWՒ|5hX~B9(# Zy<Pa'e9N>ڒ߽i\h9aKKqi˕stf 7 y\} R]`&QօԔG DdGPG&_ӓXxzdT v>^"m4kHLD'ͩS{,MmtPoQ:xDXYTk?bP,?i D] N+u׷_jX~&EFӒ( $EʕLe?;{+&dfW:N=mE`kʒ͒fk UkZ0wHi :*bDf3Қk9djj՛%#g&.؜9Fɀ !GNOaD, XWVrF.`8ҭ5Bzs@#8GΞ.ϣIT&Y5֤)i}5hԮ5N Ȋ.}u5,Y<.kdXwTѧ:)&fu9BRn<?W*8/4Xb4-Z3хA_-i.F(Th\U9Z/rʫҤx#9p0YzɅθ;#g?$BQQ%)Di|\NH/ eCU)PuUJ`f382ry>H|E!km /,ĜI/%oߐ՝IOuբ/GSvvJM?{&)CR߅r[/UѣH1BobۿH- =y(5sKkϛ%Jon-I/iL-zFsƟMš'{|EK=>u\.=osNtV)ėK3BI!u:CJ="_{Kv& $q> FIPV={Uv`SE{uyR'{ۃ@D$!' m^ O-@bߎ%zM.L C8NIif`iI;ʔ Aʌz~S/}):IӄrȚs$Bau*ױF?閞 {4P^Rg8Ev*&n-dIC;dh|3r&iL0yN.hӒp!4τGz/g'C` uPBߴ{$Z[(fl&Rv((D˽ߤa& 4uRήyVJEoHʡZHP.~o6U Y9{|uɂdP/~yAӾq>@<+I^K̖w4_$fqRm ib+c4ЈX Ix3'ɴ kc6Sr8容xzzNqvΐQ/ڮPo'E) H39`*Y<V̆!<2< A肁KG=_9C8}cdr8Y"X~6ͪ0( 'Y07 }SqeCX!V֞}4KCpHjv%VU6A<DկO,P8JѸwW߀MB"1{COh=ޢ`xr-sZGN]Ǔjh @9jkꎻm20[eh g(6{ 8D]&d` Q8%ݧo[G)8W-QUR 0dXڪ_U;aQWjT!WdڤXstu{Q${RlF` gy-4B`&&nXl5S,$‰3? W y[b8خo8p0^yARġd˺4ܙ£VJ1,t?gQߖfNY#%zrt/g*φ-+ 8u_2ծUfӃسUIZ SpB9lnSGAX>*udh|}Ow~o?&MgOI~*Z饀`c}R,).1z1?Oh/!N77-zh{;K;=j8fkg[1P]pvBnMj;ϙEɓqx[R\qlC??;i]ܪ:=y2>gvm>`]Da~g)E8:>j'{X\"8L#H0%L?,vOs''yt0Py$f~?q|w3R?5`ZN3058>$*1ipxS8r C%l:]^Yp|Jacx)vd9{5yp<?oR<~"ǹc%OZ 02:w[u k6J LsT5NLU e6?_S͎jU.BVjm.gd |@j4~JщGiɳ}cí`ijogEn FO!h%@Ͷ.p :y [= YGo~7fJIr?i 3C}i>u>'lOW:?")V6jw#p&M` @"t̜:ljohwieSquɶ0nɸ8V hgQGj֤)'5uxp]k33 CW.bl5GvN۬T2Hl#-Bh0G_;葰vW"OV~MΓSFF6WU c*II;'dΐywMh'}cUտjuWgR~{/k LmR&,9܈[&,;}ُz)9׍{(4!Ҭ? Ί1c8t);lܓ8Rug:c_`zȻ~.r@UjK-w~o0aWPAg/ ]ʕiW/* - t- h,.cHJ ܢJcmLEi35s7)@ڃ!LT:ц9 6b S?=y=ZN!#u]lܞK^+Z ڒ60+ҳ~z?~wDi֯zTY:ZIN,;`.s)x3UI`3@- 08QlzK6\=VL|nH OJf={KИLk!z贳`;ZćȞ), BwPWA3@J9л VMR7g,ؙ-o`Çsc2VaC=U%uÜ>'_e^ b& h"ZN$fnL) ! fAPJO|ENB W]b~=T]s}_|*le|޾Fm%^C{@9ߘs7<%uRdc"mg!Qʐl˥:* OֺT#;w)ӕj,gkV>utcܥAvjcg. piơJi fSkτ*x{|ub#%R;?|;ziכ4hΡHuF6Q3#=Fy0_yKb~EK7~(TqrDlsvVXfl9a&>K1`\0l_W}vi2e<_rl@$L)9N[V#ƋSHBmZa~0aJۨPʀhy j2N!ma?sm-_^ޞ^!1KoOeY~=MuvhZE5-pzDі}Fne?#Hq$e54_bwJTHɥ;jZ7`&bڭ-ouy;oX`&z#}| E j95e9t@f^snAu\ rOӝud>t0Ec 6XVAt$O4{(^ĦIM.aXdRL1bT(Z&Iy,#ZlWJyFH!M(l][[N>"CkFYD):jDӋHbu]ڮ*'Td`L¡̅b3NS8o+dsLhwQI[{yg3鋞S74ky,pOO@׌&i[SnI*Ir5:Ӭ'NZԨJ," (:WIٯW> ]e tt\}O^<wa۪7r-bn/9/;55IHQ2O*)O͆^rC^$S/QRQv-\xsMc5I.Y7+ԾP YT]}TA^qt~]-Zi-!5hBBsU{q1#Ѐ=Sf>j$i\IqZ  *4'[ Ceg7`fI3 ^4WznVPY}2d'(q"C\j8C ,1;-0w;zt"cP ;0%du9 %\7dΊb2U_rd;1)'D/ AӋu8 ;̳ O*hxtMJ|z t&0:.WýM@~P~Xq'q7T3&!\']k4TC:t(5 W8C̍AD}߳'xeF%$ɵЬ?=4={e~5B?jM?aN=:0BRL~VDfWaVX AAƦ_A=))Y.d8 62{|-OPvZ59$3VxanTۤѕr_v d!25eEmOaai)Igkr@YB#E>A%\t|хf]c:,AE z 'L{ kK蝹e*n;#KM,SJ}#=:d!Y+qan ??SwVg0@cO4)iw_پW_Qo*dm|qVF/L[iEBIax y GtGD>Llʹm‚mJK4:mDVN&RL==V~^rBHG$&W-7-xNY]- +Cl:Mz:|٣ΰݩ6&Q}XǪ>Pkh҇{QUB;EL#K!_Q}.YE#H&>*ϏҲN[G*X9Kj0|/?GL1 &|nANf"p􄲵x.^!OY*)a1'P JmS-ސJgJ[Ǭu8xz@Fp@è W\e#fsfD˼B8w/qu1^ ;ZݭH j dfS& Vs 2Cc %S.NmӶF9La%TK4/& ; {kj"ጵ3Ҥ9:zPYu2C1y慪4b5i }BFGu?| cYp^JB돽%2"aZϔ{F\>I3YpA{9r}TȥrB費nWNY']H@B'sSd{KCeV=#>+]ԤqXl9;pFIKx'=14}ׅy¬Kd fƳZYGuf^J6[y4|F_ W-2,>ДZ3sD˼g%|fϐd^nS _uWLI<,zg _mWr\vVRӯw2KP~xDp{󺓥&d5iʳ ihQi]6 $DFO>y#&{+\C@] ] f<=*TsyQVC]}W8QRc ]YXkWUz\BYhV(muI1ÒX |LX#cߏW[.ƎSH 4D>p x퓝@.ѫZ)Jv7dIa`8foυC 8&"/ 2%كrH esyK 'tSeyDVLU.c$qđŹD"d.;znʽyC"4U%t*_`lNRl`colr+:Z%vWu5joִ^ h(zaջd-. L)$?yB!`B?X.? KNh`](-B$:#'NUWڈv*I-1km2~دVP$22u-%pCy!lE+œeK0O"XMRlsGx2=gr|Yg{ubVT;rrLC QLx6o8fQ" 9ZZ'zԢS>I>Sx1|tvd~Fh6M$8m$62ksb[mmslJ0/)CQygwaDG)8ӾRY#2:E"^ocHTP@ $_ȥM\ݧUB0Vg[`|O&ܗ`HCRolF2vLJ\ ll!ռjm#5i]lj?%=cL)aͳ.-Z1UkӜ[f݄A_F^t= F&) USGOu2Nq JUO ޙXYJ9i!d ה9a6Sk/;v'$3`DPwVnچĂ0y׿MgT%3X j275NI hdO4Zf([6fbnگgߩOlhzʚ;_V0gz%jH#Kj'4A(K@hM ͭ&H`N*GVf+U/ l SK|!o൮'3\}ZzZIMw>SŲ)zD)ܨ>VYreHw:!ܵ9ugٞP+ Ni"R>|H ^ɓ۵BE.rd5 ijcz}.@!R>mP_u<@m27i|VPÍʢw& K!٦2P%Βh=)7+|ј#/uZ!HciFYq괸'sfD5hUruBrg{r1 b@V|Œv$+%x:]9_fokBO_(A0ħ›=vk0nV2C7xe+-v(w B[~UAqmEJ2t-k 0kO,i/I`C}q@2@ODziUl#8=LGNtp2w[]PEuQ%SCIG>) &[uyMA,*kj9P(@O+͢ zLrbwO;}oIWTJWB.}J˫2mY+E(F-Li5mx&py&u:wr# U0)*ZY{''[?~*Hm K$3tnFI 1x !6Rg^=?;s2EYs{s%^f՞\nK[6^lqk$ZS:z8Cᔂ-yD}e53uԮdoLUșYn*8ʯ|pVU%#H*_{1B(R1%"?/wq(n(ekoo,z|F^+jo|4g!f#Y,8uskA?ṿAs5RAZ |#T!-j}iX$LIuam-I2@z%/ӻ鼯2qE6 "9t :Oq-'2Y11Q{]niVq w& 0c[i,+E0nމױk2zQo1lxM B<y7mءcaHE\=/)0Exv( F=?e} uq:r,I"C}/d n?߂pa-u0h(~]_'zԢM.?NE !r KX/`-wYD rN5hڑ4ko<; +%ekBl-5b>*7KwRqyN/HKw( }LO p&]ކg3,һ$, տՍ2[-5i/xFd:z>) }3tZT^Ld #pEel ~k+((9/D3P\6̈́:\xe. pz%= >fa\rI&'/$WI*Hr"-FEkL;u齺i h.rAj%Qf`KH<%} H9 ~v^ec#IϰSpoݓ3'dj==@/ƶX~hVX%y{x٫]:bC@+("J>oc-HQPπaQc梽5uhCLs3*Ym&=w#2@U(=ZC F  IDw(Η iNPh[d-ջlYZ+$rs>x>dءOR0v 8^j6g'5_׿bqA=f2C]D :Js`{١!0 A3JԣI#PndUMb9 &f(M2n5]hۏ۠!NL c;maWՍN1h I9Oώh6pcf~sLKuḱ '(p ;ޕHlX^cm"fQu|+܏3NZ'x.Xl{v ^t훡. p9>6X'*-=٥q7\F9X+KZ[j6xX+[5ʃ %".p=b[p3; +7)=&-ݼzAʌ-[ax>Se٤% B4EBk 0EYX1*<[ ]:C)ܮ֒XUaoEdbFǶBxLχyZ"X̗kgH0VlE]3w񕱯ȬUM)F Fu%E8_8瑻Ρ nao( Uf[6Me y Z^RIF W `N{)uG=kb1 gi&gm*ǃqo=;\xɳ+=?Z@?buY2Vg2]S+vxi ldXJi|U:YQktݭu@}Ͼ&w# t8p45uEvFfXvF>eJO+hI*~ݝޢ58l2$49'_7CR4fͼ!s~_J #!lR܊8䟖4[Vf ku{C`2~#i>(p1Jx iz'k&\!^ܨgv)1V +xnG}&vL  Ld dx_G9_gNƸ8d/>7F~d_.x<%4<`rf޿G ݅LE+X}Eujx͞4dwH#sN.DgZ p`+}iɅNӄ$ahڇ'ԶWIilOTaqa=c-DY;@N"s,fM:%{@FfaWξ* {gOo d2rK:rLT*$Z̬yH6|,*xOӫVusEy!G=ٶb {bs__ ģj^d\W2whhd ñNH o 5v N5&}B-3N9 eJ ML;uyW8J\`AcEb5ZFwZNRkeyJЉ '}{z*+_!qoͶeYӂ$\`m-|} FӤ~'!J'2M(ܢi?0@|" 9!#x'IS48q=?XBW/IAnNkʼn45=UI3Lh@vckTCl߬NݪjM5l93NOC -ꊾ1:'P8`I)pOWKj<)YurڕkGAfx;7GV?_ GygNWb{+WROzC6+ψ܄'*&'<@X'qs׭P.SIݿ,Z3R-S+5-Yƒk S:jM^tY|,Kkfd 9)Jedf8ޓ㭌`O";܏ #]kÒzz3Yl&.O{ۃ!Wr_$hW\ZdJA+(A|  ÔJŎC@p.&jt[c$R͔ %$':SV"%f`CeE&ꆯ?:pD`X51xݤ4 hCf{wRozsݑ-Dy"8v),Xy-)'3!!a{y|J<4v dܮUXA˕OT^H}r9H'R?:V9:Y`'Ux(/r O(4lwh-z4ECRq'fmPP8dkfuJp:o6D$N]MlX>cHyD8w`/DalfNInj2볋*%Cڦ™Ge0&L;"\JD6/Prx'lg2+>3˘KԅKȻLj8{;w]~~d[o)P gO.=~|Vz5dx YuUը . n @6iQ0G]$Z )II[º\*)֪Z= B>-$ΒKLd<+~ 2I(-*"yVEb%ׅse(x-OS #j߇=,prwz.X-mg 󤌳|%zau>$o_Q\RR3fLo&x| ,$kˮ(QD<1*)Ed8oHz4j,hY{EնvƲ/!W!c u.PVs@W%FA뒚U=Cy0WnDIE8#i)d}9%6$k\H9rtjPy?z'Pi !/+;;msS󯹮tЀ\8e_V㯟RZGߚl-}i̟UtJv L0I4mr\AiN'*8w&_!$\4d`$a"R{WG{kdy#(ѦQWJ52.-'ԕhQo>&C5;rvg U.],oKT 醗dȅ[Xor;P: pB# ]@p`E_|DxJ6p29)H:i4}HwC"f_N'>LٲϹ :(VU_-3j񸯺Z1x-#SURD[M:݆ NU{r\E>?|"Uo>ڎ`3 id?Z|8wܒ;)x'gi_ ͺ~5` 4N g2'{a ',qPtɄ}ڱdͻ3H?͂ 8 [GTxh)Ȝ]MgyiDV*rY3m݌S!SQN)Nv T7UHRfS6T' kWwG_\6 4J#@/mHZC9R3QBc5$SPs$D5ZjWaN|]gwKLF{P赡'&EX6d V:͍WDX'X:zsKhY`32A՟M qGTUCJmQ{O[+uAˏǔУDd;C`h=ǣחlxᖓ׳be/Mee'u_NP`%^,9QAfxa^4RWsZb3O|I4YcoʤN.V,gDK_/`,ϯ"v|:qKu\z^S&zs8Ȃ[5Ud aIz!%% XuL<|C/v:A"!< E ?)>4D.NK sO{!6^ً SxN+HBr3 @GtޟyqTJ`kj.W(FU ?mro߶*7}v|fك:x)|׌J)ǹ&ث?璔<ĴXVIcܣ 쟕9{y8H?~ i9O\~sHمIdgI\(ËPŗk߻O/A7=0rִLq<-Ek /G~2#z|N||xW\7oeFvUiڭijjjJ_yn/w/ojު&kf4C\#Qn GO_Ow}cCc@ZoV7moRk,{/Ϯ5ZU[?P8qNL5 fo߿ߦ{U{(j~/$S=!w6ˇ٥vou`2Hv!~6ѧQl\Ʒ-~YLv]+d=MX˿­+l ,*}ԌTL|MB&oad{F>I_ |ד[p26;,$O}J0zow`~ ܡV6 Oig=w[-]ydD$ \#rh?FG}d'f\^NG С($M\|Ng`sI9Xq<:P޾3b^[S`՘й܋}s򆪘`|i?Cyf\ +^52p}8A{+Py=y}y _UkIO<igeG4҄Dٍwlsbtc 9w~Q8N t8}4gIiH.Ͼh.,v4hi{Tߒ`pdECX<@'8=y(]-O#A`j-v69ȯ6zqŐuZ ͛KnNQwӑG-Q^gAFY8DT9,6 [YK,pVMH'Qtގg 2OF2oYћ32iS[ͥ$-C72xP<]Tj|ƈ1^4CJ2z5L^)3&w=!19ǴEa7oDsɎcnF!zSxiueRw4觰YH@$b&Y 7Hʏ,XɭV8@DF 3j?!GUBGUJ5Ξ߳dէ,O+D%e)<%@o훵K .s^U%Zt1:azaO/Ba 3u鳷zJ| s ? "-o6/l{36PqJj1V7b-򢲓%*-4ltܒXo}X_ ŷ 4K|`,g05.^#>8JDG7ev^.Jm oY8HJ. r.>ѡɜ(QO}8QuOW&C:%+I>ry;w3/&k 4,c KJ_h4Tѷڼ^lf{d˲PVP L>jK(;273G ;RƦͷ,%XJ.<!y~U~qڑs/ZNKhŢ5=ܶي~|upCx^ ~{IUokV 9[^a9{֨F?5UP>WQ9Pae%_ }f}!t ^?GblpyNJjij5K3.Cg4ѹy+9Ze u1{u wwVђ 7m+zt+9Lڪ|:-ÃJtB EZ.I(е탼![ân}DWȣOޜK |cvH5Y0 e!4D:mi)VC&pկ(9۵QrCyb:3(VC~ͤcL͛隑OH3=WIjyxn[4n%l)d߱*r{|v6YqԸ QuJ `e4B:3o {U>%|˾Vp+@^['Tft^bWƋ{ Qu}Α&t2_EfŘ:~TU'jM1k_|zp:=#n ߖgK z6_?^U+++_[\dWaӥ?9\"AcMj F0K_1խ VY-d1K,[NL]ū1V} Ia\!ߝӉAmO,, TJщSW(Ѡ7o8l-"FoLCOU$!D`#l*,a`v!:S)f*W\ECz /y+qܷf1|K WbdHSGɍÂe N}:rT# zС:rKNuhڑZ.jUCtJ`SG>`{"{T7~b>o<HLKrcs5Ot_Yhc?* FD׫ݳ^ZsH&K)i*Σ@M|8r96 Uȓ~I2a%nOOY%i8.֨l9z=?![n0vANc'uWF=sNG+ H.~&Lpwx0!GFV~W e_N}G$h%hk'ȼdOaPM6. 3 S?m~ٟMXVe;ؾDFq;. U9c~W0oB f)$f }a(Gź8áYJ9ɵtuAc1o3nTӚZᛶ$:Wk=6[fkC6$Z}߭QSuh^}L9ͭj~nu-/lbc7AWkҋ T|ЃH[u34(~'S8a搕r,J}8 \Aq6Keq#4Ý.JT&Ѥ4},B)jVjO5_~d KaȁIH(_aP{(rS@c湺u 3lz~??_swglnRiKsPܞjʽ?0X*hxWcq#5Dcs΃PB6:GśEtGv/%E-]}/+s&{KA$DIwɾ ~؇oKg+, tVIgQYf4u KWW/;nGb{ѱƬ;QK)Y%3LP(}6ҖSWH"d)Ed*ny!s?`ACcV8~!{D7H V@!|k XGƌ ︗4P1HFhhBFڇo<+c[|!$x/>3q 낦#l;Bz ^J4+N)1o;%*Z[L4oC\y0_/ִwx1,IoE4Ednxkb [hL;q印Opw @y({;paOXpÉeLN~D@(/*ΤMN+ێ?䜬 F'xmOM<8Kt;=kߥFv:bH,P?JIޟ~wzz{8CPأe G1c{caqeǴf9cL<ǁvHs !妞&2IA#Ў3=}!#S(VfB5]Y9j5][6j ~\%%.i>57vn m=,5E՗n)z4J~(u] zt=S{x]Z1Cpu\P$5ՒZo(j57[Ml"00C1NȎi(7h/q} <-o44]"-%_+ ߋ|l 2i}[= FO4J'o-B@Nm(2%B,6%M}s "ajkj?*O&qT*Ϥ*S-L(?3Q- FxrJ|&Ae*?FK^R6Z0'(t!i{Os<P?\`93saDH IV$ϕ(Xmm]p j~P(ȸbIB}= ;^dlClk_|,'f WnQ/"44W\/4$l@5 }v'C=>\V^4&9L9;>ȟ8wtI K]A䐪\/Kڟ>mG٢ u~GE<"iΠazxIu0!PN7aI[gB8B_k"N&֟Į"QZ6}:jqPCHr|BςS!aUDI@F!$\6` %q7x6y$-AϽY<)W^%~e3.C;wuEȽNdJOuoF!Nlm2t+foLQӭ:JK ϗn ^~='x绒X'O,~  BvS:/o𸔽}{6,/:NE'bыb[k{)/mKXX>} U_gYRVk{\֋Okg2̀,CX8aMk> K78XI/ΤX'g k3uY#_3{p|ɷwZfŦ}?/~1i/GYRR~&̙[m\|+p1 ݡ_2r w^kxn_J2:jc/5Ǡ-vGtw4Vswwc_fiKs$)7ͲXlǁ:1.q2Wl&YIs#z-1#GL.̊{óMݢJ0-kCXo}It)ad=_CG0 I욾zהV}W1X܁ϰ/k |h%/X_L iQؾq`%;=$/Na/8߇ %=D/ߠv .^f a6(;=zs⾌atb5l[N='֬e76\Ɨ[ {pzff,u|I.K/~ZQ?ߟ%9QъXZ@řvt-`.r.Udw*~ʻK@ )aC(l -oSi/:»̡)C,Me2i^\ŋFz^ nsgJec#5^]@! ;D%s$VO{Й?{Hl/!\ dKʞ".}P?\b rUF@?:WSvw7wF;/?-9O͓K~'Φ v>Lq2\8+-/%a?=mX[HE<6/O=c`-)hK;){b޾'**|[nʳ2&qZh=yLӾ?R,G-sOƏ -N`xqgG%]|p~s3S $ݠ=t۝t߷;|#b`㎟Ƙp}|v7`$l g'/ ;$Qcj)9?At b,'( @/R4 2(^Nx\Ǝ+31lva8ϛ[FX;ps"?^ŋC/Vͪ/p_9W! x˕S1_DF]aٚb/CD 󵅣nniqk=]p$&S:keֵ~N?Q)翵Sv[[/ w'I긃"x][Z: