diff --git a/WinUiClassicSamplesBrowser/.github/workflows/build.yml b/Vanara-Jnana/.github/workflows/build.yml similarity index 100% rename from WinUiClassicSamplesBrowser/.github/workflows/build.yml rename to Vanara-Jnana/.github/workflows/build.yml diff --git a/WinUiClassicSamplesBrowser/App.xaml b/Vanara-Jnana/App.xaml similarity index 65% rename from WinUiClassicSamplesBrowser/App.xaml rename to Vanara-Jnana/App.xaml index a9262990..be7e91a6 100644 --- a/WinUiClassicSamplesBrowser/App.xaml +++ b/Vanara-Jnana/App.xaml @@ -5,7 +5,16 @@ xmlns:ui="using:Microsoft.UI.Xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> - + + + + + + + + + - - - - diff --git a/Vanara-Jnana/App.xaml.cs b/Vanara-Jnana/App.xaml.cs new file mode 100644 index 00000000..16fe5c1c --- /dev/null +++ b/Vanara-Jnana/App.xaml.cs @@ -0,0 +1,42 @@ +using Microsoft.UI.Windowing; +using Microsoft.UI.Xaml; +//using LaunchActivatedEventArgs = Windows.ApplicationModel.Activation.LaunchActivatedEventArgs; + +namespace ClassicSamplesBrowser; + +public partial class App : Application +{ + private MainWindow? _mainWindow; + + public App() + { + InitializeComponent(); + // TODO: AppWindowTitleBar.SetIcon("Assets/VanaraMonkey.png"); + // TODO: AppWindowTitleBar.SetDragRegion(new Rect(0, 0, 100, 32)); + } + private MainWindow? GetOrCreateMainWindow(bool allowInitialCreation = false) + { + if (_mainWindow == null && allowInitialCreation) + { + _mainWindow = new MainWindow + { +// ExtendsContentIntoTitleBar = true + }; + +// var titleBar = _mainWindow.AppWindow.TitleBar; +// _mainWindow.SetTitleBar(MyDragRegion); +// TODO: titleBar.SetIcon("Assets/VanaraMonkey.png"); + } + // = //new Windows.Graphics.SizeInt32(1200, 800); + //_Window.AppWindow.Size... + + + + return _mainWindow; + } + + protected override void OnLaunched(LaunchActivatedEventArgs args) + { + GetOrCreateMainWindow(true)?.Activate(); + } +} diff --git a/Vanara-Jnana/Assets/Vanara/3,5-Disk copy.psd b/Vanara-Jnana/Assets/Vanara/3,5-Disk copy.psd new file mode 100644 index 00000000..b1d46bab Binary files /dev/null and b/Vanara-Jnana/Assets/Vanara/3,5-Disk copy.psd differ diff --git a/Vanara-Jnana/Assets/Vanara/3,5-Disk.png b/Vanara-Jnana/Assets/Vanara/3,5-Disk.png new file mode 100644 index 00000000..658ed731 Binary files /dev/null and b/Vanara-Jnana/Assets/Vanara/3,5-Disk.png differ diff --git a/Vanara-Jnana/Assets/Vanara/3,5-Disk.psd b/Vanara-Jnana/Assets/Vanara/3,5-Disk.psd new file mode 100644 index 00000000..a298bb94 Binary files /dev/null and b/Vanara-Jnana/Assets/Vanara/3,5-Disk.psd differ diff --git a/Vanara-Jnana/Assets/Vanara/Amiga-Disk-Drive.psd b/Vanara-Jnana/Assets/Vanara/Amiga-Disk-Drive.psd new file mode 100644 index 00000000..d17010f9 Binary files /dev/null and b/Vanara-Jnana/Assets/Vanara/Amiga-Disk-Drive.psd differ diff --git a/Vanara-Jnana/Assets/Vanara/Amiga-Disk.png b/Vanara-Jnana/Assets/Vanara/Amiga-Disk.png new file mode 100644 index 00000000..7d5020dd Binary files /dev/null and b/Vanara-Jnana/Assets/Vanara/Amiga-Disk.png differ diff --git a/Vanara-Jnana/Assets/Vanara/Amiga-Disk.psd b/Vanara-Jnana/Assets/Vanara/Amiga-Disk.psd new file mode 100644 index 00000000..5ed242be Binary files /dev/null and b/Vanara-Jnana/Assets/Vanara/Amiga-Disk.psd differ diff --git a/Vanara-Jnana/Assets/Vanara/Insert-Disk-2-Play #1.psd b/Vanara-Jnana/Assets/Vanara/Insert-Disk-2-Play #1.psd new file mode 100644 index 00000000..4871eb96 Binary files /dev/null and b/Vanara-Jnana/Assets/Vanara/Insert-Disk-2-Play #1.psd differ diff --git a/Vanara-Jnana/Assets/Vanara/Insert-Disk-2-Play.psd b/Vanara-Jnana/Assets/Vanara/Insert-Disk-2-Play.psd new file mode 100644 index 00000000..17f8b9f5 Binary files /dev/null and b/Vanara-Jnana/Assets/Vanara/Insert-Disk-2-Play.psd differ diff --git a/WinUiClassicSamplesBrowser/Assets/Vanara/Insert AMIGA DIsk.png b/Vanara-Jnana/Assets/Vanara/Insert_Amiga-Disk.png similarity index 100% rename from WinUiClassicSamplesBrowser/Assets/Vanara/Insert AMIGA DIsk.png rename to Vanara-Jnana/Assets/Vanara/Insert_Amiga-Disk.png diff --git a/Vanara-Jnana/Assets/Vanara/Insert_Disk-2-Play.psd b/Vanara-Jnana/Assets/Vanara/Insert_Disk-2-Play.psd new file mode 100644 index 00000000..2933cd6e Binary files /dev/null and b/Vanara-Jnana/Assets/Vanara/Insert_Disk-2-Play.psd differ diff --git a/Vanara-Jnana/Assets/Vanara/Insert_Disk2Play.psd b/Vanara-Jnana/Assets/Vanara/Insert_Disk2Play.psd new file mode 100644 index 00000000..2933cd6e Binary files /dev/null and b/Vanara-Jnana/Assets/Vanara/Insert_Disk2Play.psd differ diff --git a/Vanara-Jnana/Assets/Vanara/MFC-App.ico b/Vanara-Jnana/Assets/Vanara/MFC-App.ico new file mode 100644 index 00000000..8a84ca3d Binary files /dev/null and b/Vanara-Jnana/Assets/Vanara/MFC-App.ico differ diff --git a/Vanara-Jnana/Assets/Vanara/Vanara-64px.png b/Vanara-Jnana/Assets/Vanara/Vanara-64px.png new file mode 100644 index 00000000..6e655799 Binary files /dev/null and b/Vanara-Jnana/Assets/Vanara/Vanara-64px.png differ diff --git a/WinUiClassicSamplesBrowser/Assets/Vanara/WinUi-Sailing.png b/Vanara-Jnana/Assets/Vanara/WinUi-Sailing.png similarity index 100% rename from WinUiClassicSamplesBrowser/Assets/Vanara/WinUi-Sailing.png rename to Vanara-Jnana/Assets/Vanara/WinUi-Sailing.png diff --git a/Vanara-Jnana/Assets/VanaraMonkey.png b/Vanara-Jnana/Assets/VanaraMonkey.png new file mode 100644 index 00000000..6e655799 Binary files /dev/null and b/Vanara-Jnana/Assets/VanaraMonkey.png differ diff --git a/Vanara-Jnana/Assets/WinUi-SailBoat-Header-32bit.png b/Vanara-Jnana/Assets/WinUi-SailBoat-Header-32bit.png new file mode 100644 index 00000000..f4d41cff Binary files /dev/null and b/Vanara-Jnana/Assets/WinUi-SailBoat-Header-32bit.png differ diff --git a/Vanara-Jnana/Assets/WinUi-SailBoat-Header.pdn b/Vanara-Jnana/Assets/WinUi-SailBoat-Header.pdn new file mode 100644 index 00000000..a84d3218 --- /dev/null +++ b/Vanara-Jnana/Assets/WinUi-SailBoat-Header.pdn @@ -0,0 +1,1652 @@ +PDN3bb PPaintDotNet.Data, Version=5.112.9563.32325, Culture=neutral, PublicKeyToken=nullPaintDotNet.Document +isDisposedlayerswidthheight savedWithuserMetadataItemsPaintDotNet.LayerListSystem.VersionSystem.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][] r&  PaintDotNet.LayerListparentArrayList+_itemsArrayList+_sizeArrayList+_versionPaintDotNet.Document   System.Version_Major_Minor_Build _Revisionp[%E~System.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]keyvalue $exif.tag10[0] +7 $exif.tag11[0] 7 $exif.tag7[0]! $exif.tag8[0]D $exif.tag9[0]/    + PPaintDotNet.Core, Version=5.112.9563.32325, Culture=neutral, PublicKeyToken=nullPaintDotNet.BitmapLayer +propertiessurfaceLayer+isDisposed Layer+width Layer+heightLayer+properties-PaintDotNet.BitmapLayer+BitmapLayerPropertiesPaintDotNet.Surface!PaintDotNet.Layer+LayerProperties  r&   r&  ! "r& #-PaintDotNet.BitmapLayer+BitmapLayerPropertiesblendOp&PaintDotNet.UserBlendOps+NormalBlendOp $PaintDotNet.Surfacewidthheightstridescan0PaintDotNet.MemoryBlockr& %!PaintDotNet.Layer+LayerPropertiesnameuserMetadataItemsvisible isBackgroundopacity blendModeSystem.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][]PaintDotNet.LayerBlendMode&Background: White 'PaintDotNet.LayerBlendModevalue__ )r& * + Transparent '! ."r& /#0 Sail Boat '$&PaintDotNet.UserBlendOps+NormalBlendOp%PaintDotNet.MemoryBlocklength64 hasParentdeferred c+'System.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]])$*%c+.$/%c+ # +A !~V$T| # +A !~V$T| # +A !~V$T| # +A !~V$T| # +A !~V$T| # +A !~V$T| # +A !~V$T| # +A !~V$T| # +A !~V$T|  # +A !~V$T|  + + $Tj{$2c! +1 Om"! +1 Om"! +1 Om"! +1 Om"! +1 Om"! +1 Om"! +1 Om"! +1 Om"! +1 Om" ! +1 Om" + + nH@tiH/c! +1 Om"! +1 Om" +w7-dBإ&Hqr[E%*V^fF3|:2!s7wdDqd.kVCEZ(ib:mFO^[`G爈x G1IĬ?ARB:X!{yVFS6V@Y h}qDDDDDD@݀5HZw!&=8?ic+;2Z{L_E?B]S GDDDDDeFE7"Ի!s.Nyp0.wA6} oo~VN{ G旙ለAm;kATq;΍@?DVVիekg#"""""z&a\*P0BEj>A[3 UдE  rDDDDDDߢ)5'67.UֺM6bQ}Ό=oyCqDDDDDDC~c %!йMw¤VGePԇ1&}tPꌜ2zaa8[p.Io1R#MU 6 *p EZ +\ Ԛ4аy}Sf8"""""op .b(c6O03d8 {O>]S`Piֆв?[č刈Imbߒ +ADmt\6w!h}'ނ~c-@\SvXwg,G aw'`zI PxkRr91Vkh,wGDDDDD72 ?oX^ mb| qA{5&>}rh +Pp~N-Nvg%=c Mds F\:+1A/CQ +_!l5vmW9h7 +ÿCߢ18"""""o #T^cž{ lO˘;7YO-C֟`>7;޹98 +di1dCf#Ma E:XԎAŀ 6ܷ$djD' ؂rDDDDDDP* sS;#n F{!X+cj,7/9S.MpY*!Yj59Y7Ѷ%t{~у" +|.I 6[z܁3}Cʑzq}zA' !Cqfڅ>7;vZv""""""zP 㝈͈5oAW'd|~@> :13A8`$t"BWh6Gh'w?ڍO^GDDDDDtrRތ:;!4!,g婄 tkA-r B́=ݿAׁmS(Z":K̞_r0/ڀ~s )\etw~1g!m$Kv 9 ç=dr|W ά%<|\qDDDDDZRXXlt!_Y/cD<;-HPeAhf2WjвPm{~*DDDDDDt`@ +1WF2K9kF2= +ikC)L'e9U.ŽVy ~v+KrDDDDDD9 1oB*܌w!})l+əDG5 e3 (F r?-W3&&8:ZȍDDtB2=b~ \SH*MGГ9ͫ-ERP9km Xa:|byu[_ b䚊6b'+(\} +A}>՘*1RDDDt'jEDI^ԊdPycНڶ׻ZqeLeH̜wwej`.F_A{m{kvdα#";ƕJzb;E2ϷArwã@TUB  *2^37"kd.CZw? ]+V삥M{ss#HٷbZ؁ *DڶcΣw{^FDDD?LIcMtfvC6Gx*k=v!`>9ll-d>=e.]\qf ;~kO街vQUdŵJ@R+׬`0DDDpJG;AqAgΛPdq9sF@,xI +B/I J5b%d{vMC$d\tQ=ޏ~mOëڏNO! +=4a5ZDlD'Owb&^XvDzQ[;wjWRq@Ұ  v=9T ɐ9kH `9 )s^_PśE;+Z?փ̗Zݱu8_ѹ oy ~ު;g>)7NՉ%FXrV +ۂ!~ a~Op>ZqJrw6mCڶ#h m<#b p1\14/"gd[ZT_ȖHs=>t ,:7?/~WoWaS4XI8 c.v5Ǹx i ]cZ:M(0;{!==D #_I[oobrYȐ ~Wg5K$Svʨ`GSpAw#$s܂Q}k^6P@wb}3]M'>İ95,Ÿ{'E6цk i1]IDDDD=(8".V!EL\'  ,.퐭 +Hte4\ qS+qnx kj_˵ `{N"5nҺ Z[͸FTO髈u~-ov7ږߺR!-joF[t B1U#)!ܯx1GՅD`!Dž  +i3kBH^W9{+pz3^ј$o%*uL("a e?Y̆k0`V8M9ӎ SԾ ktH+1#jiv@iH`{pDDD1fڗc(_/Uao;"k|={ڐ sb쫆ِ{oy +yOiO q> +s.h*f$}L%qiU;)0&\1ۀY#qab*ܼ`tep@6ܺ؉ޒpkNs]@Q{ ;U i~W<}Tj2Bn*(.|>~Ȗle˲[BPdG(Qm瓘Orf4nǐ? +у&k 4D1Bݛq)R/>5KHC.cNw1;oϒ8X}8J^AeƼVaܯD}(G?Hٽ[^(κ{PjD|؇z2ߗD{"9~DE7ũͿjOQy-j>#!r}^Mƽ'(n HogpkCHv`V|ĵ1j?I:$>q @lXv>DDDhmr {2sX\Νmmr.d6a߳ E\|_M_E+*Wu{=g,܃I)QG0l$ev~D4nB\8X0lۏ[{q>Q {kŒr +Wn]GRApDDDl,"bvKE4PUHs#Gω=SOo]O' /rm1wPгh^Ѷ1t{k"֍%t2˸\C{9BU +Z 4d7MwcZ)g$]!WqkV#^iR<\L#m)d46"""zD$.C3<3M%2>D=P%ES+bndCM5 a,ڬ, TH:KwиhPGT:|}HZV@ڹ5:vNxs[ھ Rlŭ$Nj wҽif#[1ܘn}d!Vn ?tSf~h˜[|܉ϔK9|ɩ-ϡi翢1ie~9!E4??p};¨絵QY ZۼFy:^D_0*b؝_ۇAĸ_7aR>@>nǕJue ٷ8߈ٛCğZ<4߯u5dSAI--ZT"m>g)X4v Dtv|o; t5IMhۨ8 "F3b:R+w}WeoGRƜ_\%7) Xw"[,p9]o6ӊP:#nLNi&wAB>p<ewf|ڃ>SbgAG5" +~[3bqa-b9^Nׂx ~KD[fsZ !2kkBZ/A'a<*ǖZMȦ\ Z{7=4" hcԼ#puoeիU'5 #6oCD ]+ >ۏ b +u TPr\ŕ tCB# + ʹs>~wbkѠai~[E/ˌ2ܼQlN +N b;%Ty/ܞ;:k!"ZQaILK0+ǥx)#8p +I(Kj Z80%Řk+0hZ}/ɄT4FZL'n{!ڷq.'1)FLO`жb_5l_ϲtenݓҞRvp.>K>sܵa}ٵ>s ֬+is5gѼ'hʖ?OWC. + zH7"jaC=fRv#ݷ#}pνs&\Ao B-Bi])3* aи k^{6oNEm{|ު? һgp}3,Ԗ ,( !,KO;BbL/y PCW#jG= < $7"='\7!"4#.U`+'^~SS.{t9j6sf=ƂH0bX~nL-WbH<܅I{>h='n 1j[mL9-n\aZ,Ąk'>ĠiĎqqD/n71"C|Qmč\nu7#,}Ѝd҈6_緷#"d =,WT9L45#iCL>{9Oqh ۚ`梩݂OB }[UkGgPE +sAa [0iـӭ¥p1vt7. %2@w)'pe6ORoL19P)bH ^Aܸק-8 g%71^T:$7 bEQs47"z<]h="-ں\מ5OBǡY}HaCQ- 4,"a8q)\Tژ +bĸ< 7aP JJ w i؂! 0d؄@uAB !;6"e8X=UH6!ܵ瓥uI@&#Hڶ"ؽB|=Ll=U gkbrv^"""ńps$s'BCu=_{-qki`?NgCke)chE{6b( :sU|:=!7rEߡh/Qyp KDD#H؎]jMr¨e+F;q1r7 tڈO89H{t*\I7KN|vɀI9c-2ňs?ŭ)\rBjY ˟6`g+/u. V ޻ӿF5Zb< ŜSNhyX?( +w[;s>{'qMABz!!"[U,۲޻^S9pS6D_-iIKkYsÏ?~sQuU9H_֠vq +^^oEVBG˯TGΦ־{\zd]o8$I}zşbgS>OGpz-OE% bj%绹&ӓ.ysm qGI?M彤7wT\IcCosCXJŠǨ>amst )?=1n}`B h1s1C6mQgH8&')ފ'?~~4=9l.U4e'ЈΡ= 6M5:bnL}]}ɔ;O5:>,:tcd7~k M}y5M^ 5'>@E&(ˏ|&5F 錚p|(9[ЕA]??~Ϧ{&vq4?ii(D:}~O.^ZŅtԿZ:ֆl:e{&Ig}?KH?9H>4:ʏ_!QF_aMtmGWE&ExjS;n3 +v+>ʘOPbTPA_QO*'`m:NΖ+LXKx>a(7ї M)6s=Gt&oZ'(+{}ɏ?~+mɢ9nNWr:įlmz:c=-?_rOZ_DNqKkz:%E;%?*N6^'P''b(rqu?P31ʾwU@S})ݧksXQ!C +c;ROvҚKaxlczsy1mܒ3XE;QoeǕJPVDUs vD{ur6!a((4cbkZLK7c?@_Ǐ:d䍙ۊi~nLZSKO9K_RT:/?+FN#D( ǨM>IedsH8:gw~*#T]֜A_rqs'XoQ}$ꂣX%eKGq-76^WP律}ɘ.{EL%ǰG] ܲ/z@M~5OwA4UI22w҃h*)= ?ĩ?a^ ?9)Ԑ~OCDdJiz~ :Whc|OVLT6Sջ (?7ƥ+E]%Tr29ѕ vE_'lA':"NyR<UP3osLyx<8C8WqudXA#,M71(:BUg%Jb̜:ʢ(;5}ȸ9Q]}w7?rkQc[ mmA,mo=ZE_"+>"=U`o{mWş#ien?~1HMgk4}̋E1Q\AO_& +uմ4_5kWM7N$5֏d.m_|* >;~ ѵġk,-WH?FU_>]s`Øs= Kߌ|7] +yƄG\pάV> |ŀ6w=F2oƆˌKx1ΰ*էչ[єlAUqS>lLB_q7|} Le&0wEaUgQU~?~>$aIo -W`츇te0j~=t?~Who~L*"n@XMWO]?\^4[^)H*AHG{$=GGȽo6qәwY!,ی+o->ʈ>|EQ:s-xCOv//B}t505I*Nҏp.21Ɗ v]'< ٠3T'QP}(cR.q[hوM ԟF}i,Em)5PUr]I:Ko@w"*Fav!)F\3m/Jʧhyu \^ϫlUXYŞdI?q|IDv1#`@]Kwo[J]}m7/ڋ-w#(9+mA0qWSHF +s&R0lFGջ*w;HozZcWrZn“Otd[.c .1rӘ6.ۊ>g~ƥg+v]$m!a,?,~[%{Ȉ6Mgq4D#| E_!\M"ډ(ݷ=`P~MIcxC_>$ hN߉ iξ;(+ޣ5s;t)}5[3hKu;蚮aoP=z3s)st埡'E6}!_4Azh>5ڋk>/(} P{aMt\Sx21ȳQ4%jx?2[d1z|M[~ ՞K}?/0YЕeIzKO2adRI_ R6ѝY05|u5\fHuS} +2u|oւO0~ƠKTGGY>Oˋ>OWs3s?WP_g[dRk-bZbdm?f[k59lEprO\PFyڋi//MO]WmD%=w ᨲX}Z:Ci{0Ebܵ1 +Wљy+0rSU0T'w3(:rӚuh*bHk6/+?0+P6|:o`iBgAB[s eA`|G)dY]^4X{2T3/DQ{]ԥKML=9<fc]8]9ߏKU7VүDsiz'ɮb8/hN)|])2nM %#e *u)x6AxmYl7^+m7pNE*8^^ߏ??A}o^E[{:VM} h2x:T͋I G*)@K4^A~@YOggҺbB&Q)ѫmFb$;jp_չ֟c7)M1>[FA@2sp!uɟj] J߈b;-cJ]-'g1.da3S "01ZƷf +*U93ʵ5oSm\Li T^,kpfv#h pE3R2Bp/f"WQ0K՗/' u\{wQ\d@@L‘Du ,]g` ]wJ\hz\EQhwo&U ?~h_Wȷ xɀ>Mp?F[y{X_`n"neWx>]߲>5wƏ_ _^_VcgSMN*^+%ThhTrմ7NWWZEDǃT|4ĝֻ +!B8qnCQ+9>k=d s\y WcxVzԼB`qv3•XcʎY] Đ[^$o@-5&\!= ua #Mcb-kpFʋ”)a>L/XpLXxܱ=p.ÚWv0%KX2b ƞ0wI4c p Ș%q&#eQu!Py+}kZ4!؅ UD)Y؋V1*@f,ԉhFcɎœ]bilS ]"XrqShLsdn'-|8{a$k0f-ƚs3Xg~ ƛ2X +CB\%뙐]UllA`JU؅ah*.\"v6EWov=_5/sPcz CDI jPtqǂh|ue4s/躅I NE6U'+sG fyfy\-7ٍ,ra?DS =tޤ_ CX Xc\X{E^lqʮ`i#)wÆ2N"nGQGL8p&GOw8OF匚+QU\F_Ә*؊,._]uk6OvTf"+9IO14\@UI:;c6ڧxG_H3k{[6IS]&t4%NIZioD\IW#"9GWW,rz (o!yKWWg}ãBxdY'Srw/y>4$o_ %WkP¿%hpgē;7Ѫe.Ɣ>~ Laf+Ƥ ft`rѨbk1v{Z>o?%3 AO\ +6bHqiY\RxܾIv #b4EE2\g!֬{z˼8ob^8 kHrƛ(X#'py pϡ % .cz N (^Ӧ3\.#u;d-C>-[nGsѧ,QY!2߆x%@ [%'_Ü!ū W2޴( ɳYp +Fˣ%C3g2gF3t'G +'GR!|)x rr(x )rK8n<W4CSy'<♕!E+j>&O{{[?E)8&D+:n3aO_v {YT4}'f}>q- (܍s}]WMK6|cZgL |s͟t AuшRcLåHF^uk<@9F ^*Q} GL7| +Z/S|I)@i~o~mT׌6ZkS珊 2:QEKm-%)!i 3sz>e{v>Yrg}է&DD2\,8}u4 po`Ke1T[ZMkR9}zPɡ>|$ 1 "^%'g*^ʥSCq +)Xn&3PwQ$S-kL9q&Vo/^F0 &pjj՜JF. Ş3p8"Da cr)SM-> S8sc~XhSNOFv3,\(cN>oLᚍWgeCehg4-7m l}6SvOsم! ׭gr#5pc˜+w>5K%f4~B̉otM<3\c~@9XRg` `\w0,Ĝ:pPtI c5mŞ3/S*q>&$;-" ŒSV/Ger3Xe,4!s6Qs-#Lݍ(GSy2{I"~@ozJO`%챙j[r qw0d/AU}S9էPCYz1s>SbLwQW_R{<Êgʚ5m˘k?RwMǸ'U_9uh9 T՗-k649G*%C} W0]#AK*Fҏ??, U $t]7$)}} +t7 w컏<(r1: *cKlUWi/I~!+^ʋ^҆͟Sdp`wwPjn|(6_np\B_GU Vy81Z+7[l_LHw2)݁9'M 31)T1 WFbH.-\EKjDX2棍 Uk36u[p&R]` +0XݟEXg2P=}./7ŋpdC:2~gJL) œ2C,1Z}< s( gx1a.Ɲɤd3Qg`M̅@*1-bzʘPbiâM>R_0 SR/ a?yl.]Hn$~ks!<1ې~7gbf@W7E% mwѷޢ ]9H>4GCS~ +}GQ@]yNQgcyR* OjΨ4pb>=&<}%+7D̷Q5ƻػ0Ж}y>T'_WzW<S%#L[mI_M'Q[1Fi,T<4PUExs&E 1pk~_SU3Bh]RokkY,Y&FZ>(BRJs-h{R\׋lr^Z|AQHуŷ7Izo61Qi4 Psqq+݉.sq'0^Miő@i(+ѧ/F99X=uX`L ĞͨxC5&¼y8fG2.̈́x/΂°_Q'1|){+6cD*[lhcgaN_h۾ܕ%#̗{,@ +_-.sjE+my4]F0TɁhp,a2L,cq o~kL5) ,? ̧g-aR0 b F˷Y|Z|ck1f̣Ѧ=n*C&^/žzMw&B~pD*ĖCsp j]8wl"q,Ajʤ61TKN8 Vcn(WDc˚-/GQ} Q> )3}:wr5 U{=%ћ Vbz-,3Lj6\ߣOdv3wI=GͧJ2 ߓ{'s!S}uJUuN:v[uZ.,]VAS}s>g&b“Vl{jN(Ew^gcݸR.ߪK,=Vws S=W"9&#R8IȅG݃(vC/>&痏5& Kͷqcj=|1C}EiM߅# RtBV^<0)A-:C+_F*xcH>:g"a sytD +[rK[%)}׻- š nW= +@;[Bli1%FIƘ]L4)\&!w[WIB:1OFt)1a/y禭USV4hM DW%*\0g.X7<*N);A:plpL`tDŽپ\]CZ?a鵱Ʒ,ǜ1S0NUl %T]I7H?<;^#v$|DڞQ<dϳx:և.yѕx?}%0gfFMdm1z3sC?9am9PVθ&[#y;z9pt'Wuk*Vpn׿Ǐ_4: O!Kw!tux_¤YSrmݧ<oS #J/p +C_¤6N}_B_uqT7qtO]:}Mt4W"B*?$O|"fy6@Dwe}b݂=w)֌p1|[FcΚ8mzkR}ww%,ƚ9gh/_%oe;쥿běѦ"5TPbF5X%sؙ9rي'?KZvoV<0d%2\D4jkĥGpctՇ~[{~u_EԥgW<=14}Cv&m8[r uǨk.cg(;~DGG ʲ}%Yi:K_wǏ?nu:gAYYvz``!tMiT.?Iz>H3"9B_IZߡ3{7軃S +1agP@K$_bZyN~"55b?nLBW7e{BV47gKceuqտj7N3TZ ׆6ּKQ?,bO"+,g:@Ƈ$|_fm`};lFv8(Ę:C_~?I D FV1\)-LyŚ(ގ*e9KpnQ F?cB_]p_Ϝ*& Ǚuq>bH X0e-y9}̙pڼv;|3_Ù(Oi(ڤ<vAb̃Pa>Eo}Sm6 BySrIi3$C?o3wo>_ǘ62'RJL؋?MlKkOǙpb_Cy5Ɂ؊1ds׫ s"dǘ6c|߼ TzgQd)GOx~A}8}YSyCK^sC|k΂_ǐՀs'SxV\oqEG D/ߦNK71&.Ð:QJ#$Ɛb@"i?I9{oG0bNY<1ѽS?x9 D{NyzuT1|Nt]1zQ] 뒙taokMRG2_&N.fm tH⯨}IT4K^čڟu4^H47[l{ERv! $|N1ir EWqrʒ_=oŔ$# 7\⫭f[\t 0yk'}帊b[!i!p&jV_!#qA>r?ڔhy+0g/Ő5;̗ rF,XlQ/ŐٴeGK cv3CU0/A{J?E|9Cj \Iμ_ū5s?;[`Os5̙A8 bH]ӕl`DKJ:lpFV3Ta0 15}6â9ڤEXq,Ɯ>0❙W̏Ɯ s!_j~/GT})]ƸtOCy{ Msѧ@6WI$LuamqoO(583ڇ(Xq3Qe3\+jFcȜ?cIX:_.qO /X+g;Ea+݈d=+P>z;aL[h_J?xuĝ 8&q{@љd;_9@hA[<=o t +|U{ bxXYrKIuBSy){d<w|`W0NKvK%ƭ?{oց~wvN )v;6̜4i&eL)hf[edde`i߹7;;ۍt?$+F}X)F3ӑys^maFȣ="ug1R6ԧa\.Τw㌚hN>"s?rn>MܱҕqڈΡ| }CзRc\ڧtu8c,63룚(>yw3WVIEi2YGG5Y+5V<\UPS'i,kݷ}ڲ4U?/G{w-UꩵT竭k(|n)zK'DۖIeNĿꎪs3$%J܉WꗙA#Y9e= Yȯ/#7޴@:/ĞpZqKbFys]EWXM|(=D{>$z9En~!tKi2 d1wjZ fb t3Z@2t6CyKEF1ɗ]13^0>C#7,R/{-1ȅtݚɀЛD_n]-E}ݼۥOsǒd>9 f~ FJ7=T9 +! Fq#8 t9T(!F@ih#02VKh"1\.v>yXӗpqþ^EɄBg1(nNk -A,ܘXhQTW4:2V[.j!XS1D..c 7PdYo.u7a/U]q\20$bzқA;)<}ibM#b׳HL'upm gQ Yy2/~ȑ/vPrYS~}3-ԅ3(=!bem"bUGvk{|=4@>%41~ yQ:$P'gД\Pʜ7~F[>6c3d(귩Le*(~ 1&|GM)b)'Og;j{&Ft~HC!3NГu v^}瞦-=rH/}ܙsIyݙ"9Jҹ$_XDu)ӯS){<3ћ&“ޤ%ը="ؙ]L4dx'ŘR8mRQ{ulb(7%)_YEghҽܭ;%e%K)^Kft?*DNYNO('rWq^ة(1mbz" +YkyvEf4cIs}+J_&)K0xaLt*uƒ*:4ܩ݆=iY d`(7b3V .hbw@[wї'1_Y3pabC1VtٟBdypi6Y碌ZHApA1هU"˥/{1\?>"_D*Zxчwa+FFoC4/ĘhqUmh"3R( 2-k9)U0V}#l_qΖe//kzԵ؊c\>UB󖠌w |t$X!lMM tQ hP|HGQq2kF_˗t漋1UM?un*So# 5h+"\v?`V}seY6Ygh˹-Q]4t$;}7i1\e\Ĩ >y Ek1q u&I P+hWƜ]L Us7"ܓ-ܭن!j[ vFo9y{fF +7N}K0$x2\9͏/ sv&*A&Vp ,=*Ńc 潂& u 87! 0It#h},g G1HG̩~%d,/[ЄM/ (n1#gb74n⼤6a'[BNhg4q¿ĜNxy;u/CMgx x7:NGX\v.[uPDF1>QD_Jl +u9066{˜.8]ƻ|bQϦW@Vc(_+z_fh%cUbh>`錠MzUqٯ2m[6U9MYӏ_29S3/ґ:ҏx0S9LW~Uop&cL7w:3墭xm4%@[ޓ.ovcny~z2ҚQK7ȷ, h% )#jF(S/MIe?9%Cd=\%V=~l%5Q[Kuy&u>ZYQI]]TcBYg=Fi+ 垹Ukĝ]H$Ai(ut,XK  B]b?KO G``v9lD֫h⼰J [6b!$o6`XKo +l LKPgaL~MIYYYMXzsՂ\5s%W*ވ1-/„,ZEo/)2W,A:Y2rXcbqn+CEP8nWDЇr@p6_)AtlvYu`>KE'Co#E?o%6C׊h8!NIԇY" eXw~̥`lxQ.](Xub'dABT!U|73 BN_+i9@j4Q1$,AWђhf {]9pcRv'\`̣?/"a3sJF;x/~j'g{E$,xeL‘IȎg Wy͑/!{}ag|j1]яG6nUיHwBSvy9{3澖 (rc=K_Y,~d/gX(zĻsvSxfaSmo|PdD6T2_GdUgq[?+0wsMDIqGBObkQAFl||H3עxK箦Bسs[6~17E.zG9#ͅhbM,90XMbaK_A1눬UeA(]ѧa밤W[ PF/B(6n%bܐ.D&ƕehb=̯0s/:DJOBq sєU&'fS}M^B_zJaK[;f2n7^;WĐ6J`,"uَH'33\&.C]3cU{*/cLEo `z [=}1e+08!9k?#k +XFb +8kޞ2tC nb`#?LR431=_0Q)wї^c+I]>)5KR4aMt]ٌv>4t:a"X:/(zu ,$aoNΧIGeB7;Q{Fzz6-먾HԾInmiT}K񻮄l ;K&=4_*x.=}FYkОrstBSyz:w1oL3iLGW>هQ|UGW{CQNk?zNgZT21 +еUrۘHO:xcG!ݏ"X3t$A}C{ܶ&1a@sTEm#}YͧYHCH)>ߠ!;Sh%}ѧ2^S0bKy&U/McQ0!疐*|;/>IWά&s4U.wCrh#}0&] >$k^+B!O߲笢cx I F_a8wTqkp#e{:H6 )+M\JJэ֟{z62V]bB;|M^rE*SrwB&*E^-s sƖMwdEϦ+F: ?s0H\EhJLq/|dueؒ0{bJǞ- +<_N-;{+E0hN,]:el .g9uQsa4ߟLԭs_b:%fl[ŝD]2pj{Tos9/[UmE^)E`lz3Hoe;h!DÐ%g3 .yk vzn΢0gM&jPpiϐpr_w3!$~yZn'j\_֦']X@zs. ڱIϥ>LdjpG/Eҋ+/cmQm0D< (swӞqSKާEeptd)}7'P +(C`Le*"3;0whJ<ǐ.':З}@cz`i!U:} kRєEOq{U^a:]Y2ەX[>1fmОy} +C +MhI=@cZTy{hl-ZWAeaRY|e8R*_-u?ϔTPU4o-nJy|_?{\JJ ?qetQS~OICn01or֍j|3>&%yp&gsm\b_U!F-Y#M eE~ekF{}Ӊ o&&/ hj -54sFZ^XRz]7xKqf;UѾt^_DGFj^e$et\wW+3'#EW*X!z6Sr&i @O<CZA_:aE%Ʌ<3̣/͝F ŚVؓ=Edo#0lɞbMcӗ1ɟ(0I*PztQN#硊ZHZn7en%E9Zcp۰'PÞ]  =S7qr aP ,ŚPnXb *7p* V.n1wNq5JwcI &r0mal-xz?'7clÒȝȣH>;bwmO>D' {HH88y͙Ss;&f o1&zkb,%sU7Q|ȷeܳ?BvE!,uKL- iPNliJފmJ>IKn:Le*SsQFўQU]7-|d0ռFWƌ%|13lHCWzcLW1eso!M2O4@;( +ЖBneoГN[9͒4%Uz5^X3砰@nWuSʏ)$Ki~t^MSgK +kmQvyq+ٵNi-)D~^/?c_3K ^P, _"'7;Q*V|EYF/^D}n/z=H9Lwjݰї + 62\e2Z#,`3h|o4Q.P.@Cr #/{=śI0J*@FifWl#֬,=s}ykB.s2ƫ7cM_. C/SCdcQx0/0-bJ#Da2~Egyb_:r&Y ȼĖTdda@O_k,cavšhVtftDWw"% AE4,,0O3R;u lz?yE>P W^`R_ {trc o%ZП$\4aEXZ1W_Y)At[3,\@}D$HvnƪYWL)>bs$q{'Оsx7rK_IG^}#@z9ҏM'@_un1v?ݡFna#d=u'X^Qt-~'-ٯne9&STĢN&0u7| tfG[pu;W2n +~7yhI>@G(/L?s̉hJ.ӞuTg|ĄU:6}Ń"77"ME8P\5LNޏPX(}kLmu άkgmQ+šz'w#XDcq2Me<ړ(꠪n +4WZбTښ:j*~XUVRU693ORW:yW_xya 1'u`.'et_6IqٗC.\;_Ϋο>cJ։5u0ƻcxqbB͞ {~XPźr)ܭE_z" j ܩhѳ XӖacxH/8R#OuBD獙XX`^PtQ\%ultsLeh؏]pFùkSUҖ`N9m#_)ŵEWh+Wmg0oȑ\#: ozV`Xa<|-n ah9} E!W)ʢWnpqӜ% c\1VM; 7Α|?RWq,^..d}/v=KgN}ޑ-'˄n=!;!kH>>[ \(yכssl22$ӕqִ(21Un-mTjv.%obnFAZ3S1]T2_*J *x\]IGeZn1]9$]o[wY$C}m)QVrwon`nSÛ+^E]6ϰڷh8Ao*;U2Nou~@[YTU!k~Y?eeտ]e߀9V2Z'hGsY*S?@UrƸSDq##tލ++hGsQr4}ʤX6`K Ě`AF?ŘWp'Rp[ @)Ot Ƥ@ ˱eŜ*0%bJbh%U1%xvKcIY-uyk8Kpž9ћ>$0&c=E^PF җ-Л%]1Dy~ 係={X$xwA%Mp)`LzzޘDpKۖQB_'>ܐ:ڍU)[.u+_FqjXC'z-]%"[F_F;s^ܮ^-u,o:AQUlŖ +[j&j1Zelھ|e<,>odtC'B"10& pw +V3Q^/ʐ fp",w/aKwÖ>z>1pÚB_2Ƌ`y`Jv"uO.jW)=1%{OƚDIWtdOnWGA'83ϒ~x:?7N q~nXamsDnq{_ O<;@n[@Ǿ\ Brp!Gi = F΂7YGszS0b1-,zNwbx9Le*4'`nrז-ӘvK F_[(tfCU*ϙMAʜwTDqU,-枂oظ7ҍ])A^7LLSAl,k`VCU)*nm)8#:)_UaJk 07GڲWUL*SOMgs.=mtV'ՔȹPUM}|:'m2#ֺ ha/OJtg}eTLz6}WmIXCK] 5?>aTUivpчg<ϠQEb &;Fwn71DqbBU(B\>֋-㖢.P7 n3kC~(n:H]W`L `(o+#ĺQ+A.س+%> DBm}+[sP:c@"|Ce +dl##E\Y(#aHvcxf/XWnG 8 +KBOCE{-z 񞌕d8kp<hbľ=}) z<҃..C:n&:S>~&3ޘcЗB/oz% M2x:qml֌%.栋G땧9U C{"zW_7{*βɖ1V,΋gћ.fhK@5ƺsƸ¦aKrdLd9#./-^2lXo +.Ѫs6xS2:΢LqRA[3H=$!n3Dl|!=>S%zC/I7+1{{q s 6]ϒpxG))N'L.$d:ir-]5XO>ISygEc1ڲNak7% 風!ST~1k ~3]uAYw*zcMZO3 -ukؚ3naԔ!MeEY&RʸF%SO3fMsvoGNyі|CO4e'Řj?5UŮ92 |_8'_qMo4zRe>n&tڪ r/2Y:۪i*?FH[Mi=uKm+1 SO1ד#wΓ;%.8}l6ozƔ${f7t\@:ā_I}E{fCv9_E+cEv!9tzI(-ǚU ܩO_Zگ9\'xSRzn:؅ٽz\1`J[-kC`KGyl4b 1.F6_1/FC ]>HFW$/_[>?%{9FY)]MiW?3sک?g))MLi~h'-B+O7Ksu?֬ F +rn5C2OsYU"D:}V¼۸{;1J}PE +.7w +~2r!0\KRzҗ@K(X%={+bO7sR4n/C#ޟ)e9FJWXREJ /E2|6f7w2VusD"ā/R,>^D$x-OlmOzj.ؗ9"w1(y0^7wi;D]!h+BDe]#JMUÐu&6E2#&/h-}_kaV͸<ԕo&Cw\]Et6?g)vhrCGTՔOztTT!~MtQÞZkwTtRWXȿi]/V?9j:,Z'myr\};][_#dBb;}j'HGY9w΍W|3ѯ+P%lAuk)0Dҁ~ + +Nd (\Qџ{M/E W:o&`NY&u#CΛ%tCܸtM%]X~F +@"m .C( s3^>%~2tܜ2ҙo?@q6R2rgKpKl P-f| U '|2&r]a +N_'z=fW{hc qPLKQ9AԎgźS$/ ;;3 ];N#vϋ$x9Z/xW(yד t3lzqkP+M{ihJӘ"PrC>g7T;TOk福s.Д_|n7O9LWCOʚp&,[uFbo#ާKƒۭZ$'OFo l]RB  3U"KCWIWebצȝT$i%i8'OR2cI7ɇ0zS'[)-]C!-{ *U8'Ter*vaHgh|%"MO"tvaބ.c/8WuqTF!݆}h`H +`b+Żu-Wm9Twts80\X23Xq}RO I Vz>œcȡh',+ǐ0(Π +W+_-#PgԱ^~?;Y.P&͠O+o1(C> !c'74Q1\/r*N_,RI.I`M]N{sDm{ +їNYx-Ors#l $'d+[Fn{kκ Q%<'E zK$Kg鯺p 1|)}hs+@<޶Xs>A.22L州` +R,E[%0HfTh__pۖo];Zo仯 )15~DwQ50W7_Uv9z>Cv挓nЯHc:sޤ&l7PUCG(+?#s&'(mަhk1v$۝o÷c'UX.Ws҅7L2ߐ4,]-t6p=&'g7XGM^J5rk}Xg5>4Q?y*'- rꩪMz_]M5aY +).cOr^$^ȭ|=zrAH9LI0=ytfC/X.kQ^wEH w3q uV@ c2T{+ü^"s:t>S*Tыi2N("%/KzB1IKr˷r 攕(B^]askX |KC'c-l]tGyM +Dm Vv +u`b7:.1T~y/uN'lF+ӥuC-  Mr`0{wk' :oA`j+0PWܵg 7m' ?sЅ7R +aNeP  џ׹.h"1ƻbM@Mm>*>[>[2 ];g yGcʨ}ثSx3^\3YђLnDCPi^Cga^`?2/:?Z d0^]ȪEglE3GH?hX%P3΢>ev]:phߣ#&cl17P䟣MmIqw(:9j2Dў~4;vSO5ҿnﱱlr>#;kt_6C}iAXSW2Ql@IA͖Ѣ-nCKgĝ6{,+QEqݙWLA}H g,kIi|MgU&m7=aS7k +lH>lY4`1V-oZ:C ﶝ~yFJvc\pYDWZoo1VyHWB磗bK_1ɛdoqѐ=O 'u30gzBPD8Z9(*ADax2Zߐ. {Nwr&Y DguDƊ0QS\8wRƸ1gJ1&O +E+Å+D*b_=&vSpBDH}D5_ +2ژ9?ϚE-v&JW`JtT+@9ś2_l~ .CJߓ_9;̓؇K&%_s$ df#;=N $s41۟-gGEbv=CΧH<1^=x==:D#bS{C/7ǞKls.,SS{pST1ogVԄɽ*{s1EQ!=U_2`P̸kW +p2NӜN)mܟPb'ќvCWk#/E^M[mڳQ"/3b+E^$t^_)=Q~P^]7ЖPt k~X:_E^pT򗤳 kkhnH4gV.0U??DC퟿FuVO^3uT!++inG{ry4n9?p?9@ҥ%^@9g"\/"U(do!}77z=JAMKNɫ1%#3;dbM w)h1{1^MX$KGzb.C.pwyՉPDxb[6ƛWگ/ ¨[JgŦ}.LbCQJr:!TJGS +cDJƗn MXTiwU3W:J fd؆ݜCMg(?. +VUCrPW) іp"2F/p4f|ҋFFt}Im ZKߥS!X~+(?6jR@{}9Ϛb'(-8ϣ8IO;%PUu)!eu(>'R^Ks<_F-it)#>_\U[2c\)x5ƀ1-%54-m 5(,׍b`OLG6~T_Om5i +oZ"lB彐siMLOA2QT+1[F0D9F0 +9`PeiǨu4c`Sku*tN\iuc!ʹgIZ7]+ ~K:d&w2hCVђ)b5ю495a]hKBgNZ✨s*ȁDnךbW +&t֔w8czZљK.l2JO%4B,:,F5 CJT>PG HrϹb)}]DFhOv5KZ:О^̜'9%b=U/Bv{&hڎ1օCb/e!pŖ[Vl[)r&!'C[3h.᧟& G|RޙG'>Aiz~yR.#+E?'=(@e6|zO}i,դЋ97vO筍&ILbc~I~ep:4ԥ*^ky,/=`m*27uUM>h=icG]QH9 ]5 tѬ*3dZDk?u+Ns/ܯ&}AM47Dc$/DWr"tٟNee}K6":Khm Aj~|,tk$].}rRI(-o +*(_愒r(ȝx?& + +ɭ6ӳ d~Iψ38,o!*Oc)?ʏv4h?&( +7cw"Py,G{#֢5_@0 r@kzԾː^=Y wVsPy,žKk szo-FX"׋\}!ǞurBI g=M!"֡q@vg1hCg["hn+Qx,%j+òw;z/#l B9; 08ӞsF9(VZcS*rvbZVfqtfF2p CV #jQ-GS D ]w!`!cőmXʰ4 +CA%^V:6cMtBvk&u7^-c/G|!5IFh;ʠmlޘKCbt@i%n5*=y}ߎs*Y4ǬD嵀ztfl)[P.E2ωGn^Q2sx} OOO%4N>CɧIx%?c\x˳I2ti<Ïr{ +1\u9_M^$W;ߑgv`ɷK*$&1Io(k)O6e +Z5 +ŪFOU)`xJmI#ܤǖM*_4>誂nedvC4}AUH>EIoGQUhʮa&Ҫ+dW`O/O| e{صq v+S"EyMr?^5]8K^ꫣfvdF$* `*bgoLPPg;qIy_s2'iy:Eg͟x7ËxljO\zo-~ +Rv"uovݏ%Ka|ES,;h[{=c Aiv6f +[.ĉrTnsh [)o rD嶈 bΥ1L^-iwD4ދ{kf1k=0 @>[hKJItas/rDR4!hO0E +3v+E6d9PGs3p̃}\Px. 3Ujo.9{64A+Qc *ϥhiA>+޺]X7KgܖSSvQtWkN!t^G0(CWXD[ZbWw͔f:Ӗ1c ; ٠띰sB>LwWKZڒ\>}j4עXN|qkߌ^`wњ4EE%ŭ=I[P ߞyoN>|!qCMm7P,9e->Nsȋqc_"_gc#.@'E .yTt&坹3S9,!4RߛGˈxey>Gc_z](xOy ߘFY&xszO/"?6>WCdg9IL◇U*2~C}ZՉ'~ &{ ݶ:5T ig-:]ߣ1 4( BmG%|D]}zZܦ&]dɗQ}. p=Z 4d~6/g|6̵AHΡNzi+42U:+ƽ(RN.SC _sn{4=#%H+ +)X++|p[EQ ue43i9%TM%)4vҢRj(ϙx?Y^ڒJj +&>ʇFsH&~,.,"F_Ab?ZI >O+H|'%0=piNO!syϽOv~!gtz:''YD_!n'T܏D%ד$E"Z鴛ʰi+, E55ߡWP :g^Et:kY1StCVxM}vkC' BUx] ʿJ&<MuɟT- 1Va`>4W v-{3>F)OhNM:7ԡ4J53P&}PYz?+]EQ)e?\x?'|OxI~=4*2 LY{#裨~W^"yD߯#-$rLבm@ZaB+{hp1S}*1W_(Wb+#։VMه1Rtе&n#}-|c +֖_)YlGR[܄Qȉ ZS<+M#6 ס_Vvi؎9j#M){%m){h:%a'G0ERw}JeX\ȣh֠wĖ}{)Ut[A \= yGi +sA}bL =Fsn [hrA*v-ii9%؍Sa"ߞC3 Swb E+Obz^9q3t-ubg9%%f䍘c6"r>K y< X.|m$oŜQ-0 ~ iMͰCz+_!/fO0ŭBD!.ڇ.d%*_`uB bS ;? /| +{'Tog~f*ǟ Y^Ei}3ϓB I, ijysI`ٟ.>X({A&ڑ¯ב2"^{K3?Qo$y$\IܥYD^z7P|}][$&1-$" 2G +׫FWKu2OMڷ،Y )UaUfo/ǐ]K^ +:UtVi-D]Dgs6M*Bwj2ҐDo4ʸwhYgtr6dc @{@S%͵~b ] X5v/봫Ч sh>D_v S?$P_h^xdH%;`ڌ>0E8`pD\-ԇ;m#]#tKcR/#>k+0'nA涀bfw mX6c\!j5_}% 5hW [>t{SSt9i-!T'T?M;pioDޗ+8~¼pYޞGWcS <)hm 84!ǧJ7ћ}QWgP I{] <=O< yf->H?XrRN~>;IL/1Y7ȳ>A-q.9 tJ0"FJ?T~XU Ӱ4P톴 Ei0"- ,M]T}ě= ј)/"01إfd@C&m'Øh ]2ڴȒPqy2ªIcl&5TǾ: +ϱ6*ME ʲ? +&Ȑޟ_Y\ACeUsd9U*/EZOvI>{y9Ub1TVRw.EfQ5AƋ$zչQxwn?@܇kHܙvR>L}ľĄb玥փz=6m}b؈oj՘"7>C9v;ԃ#_w :UD[t4-}ݖ,[؍1|=MBsOW}WhM.n-Q-8@gaNa:(42p[o8מUf6p[]r=te{1:%)`ґ}5on={*1DmKhN،1FikƖK6_ϖޢSva݌.t--q1ĺb+<>~/حh:40&n*܅8ё裝G1GlG п]ZaIڋ)f'-BsQK/#k -E}-m';Ї-G%ޕX ^!J@p(+m{0#$4xͣmhIoal[PFwIBk+Y+5"޸t9B>mϑI|{_#%z9$;~Cąi\|ķuaQgzHyeʯ2NM#TߝO91l"*=;B\Z@Fg;CO~i~BʛsB׎z/s+Bfϛ8ILbPP} y?l|Z6ѦKE{dyߠ*@yc]6c;|KEbfUI}7>dӮ"ktYe309a|PYDSUN4 ? +c +2vЕu܃Xa+aI܈e +u#jt~No5~+ƈ{+A sؒ[.(gnAۈ!S ;QyF}& q[Q:a+jeWЄPw{P'1CK6,oES6㷠 ڈ&n?](P +ZavI."iis=w7}"х.Ŗք]ز`8w|T^ 1fH#cfOr#Zc .hG%~ߙ)5s5}; +^CGP-Ж1TiҒ"p ,@sqh9 qQzs)gkwI<<Ɲ|bߚ'(Q{q|<'88Q'D^f%]M)ӈaqy|<*fZJG >ǟ!A8#T|?߱=;;3 #S8*B`I]Q_ks B]_X5Aʲ,<|{*(.GR0q'A)y?ˠ(\3?'eNuy!SYWwj91i9|a ۆ)ԕoaێ&@"z} k{'y]葼&yg@ jz#hy+ >mtdSmwJS|=Y;ĞFQx/FRdO~:sv`MtFM#uN4mc#=TPuǙ:X +!Kc^.CPLᇰ~@khP鹙H;!mLQFCi6ǚ2/!;<H6RS%_&0ŐqEy*R:-(P1m]tA.q .4 ٛq{[}QO,%}3"]eQ Z$fؒi +^MWaZⶣ X)jj(a Q/8bJ'VcZ6 tW^<ִXSbI CWҖ,FV1SXنk +%s2k>;N#3x}T8!#K$]C'{cg b. %ľ&t<׾ߊȤg$9 ;;>F/Br>ZB{ "oQxܯP%xx {e:k)q _3;.nEYE$$& EiGKk`@cY +~hkcPa3`Re1oHiJ0e>(+kYG]706jUA~&}CeM=Fѐᆲܓh}bi5$+PMN"ѕa +Cxc},4KYoiNg[NcC"m$zےe|Jy%2o~fޢVGM__ȕXIRd4OK(}0לį8s#+*Ϧ: ߟTVߩ+ͧ"~,<7ʢr" 2-/4g^Dr_'ř9SOI~ez.ޟRPJVZ:I3/_Jx`Q~ h& +>w!}G Kľ@ ˩;HD|_}>EEō-t{nDLKn4.^>t#Jͅ4+c/J5TK!i܎lj}\"]ipy٬tmE@s3p'4K֙Sw`XO3Et~KEcgNZ])/\LɵHObF6~}4J?Z塴HСMĦTK*m|7Ze1(;Ϝ"uÝv]C]CmF&}"*!Kʢߦ"=ɌvK6ƊkN=%IwR95HSߥ$8>s4Y(V` [Io-8&w-"3}j"PyZȈtB P{/'!PxF9O]y'0'mktI|+ڐcG]Is*bڌstƛhZk>W_ +wSh{r{Gg :,n;Ǐ^!E}:$b^NСlj: o$fQ cO7$"#cx-},YI{Wx"uߋgq1b~ sH$?e\{c_|e[H)?5b#2e׌#7$e:>R&ML͵IL_ ?5TeݤX/]3.|36h/G{wCt22Ȉѱ>FDžm 1:PCFF`xL R3:funkĨߥw߭ +f+h~6n9ܙo)h/܃5Yu5y8_%ɕcw`=I+\6p1諺H{Q^K~=sXg 1NfnÚ"-I0ƬM|6ڳ`GMTdw^BH\;g/Q!|wۛXW 99D^H_IHxs$'"l1x {BHݑxԐJO͘( Pz1[E:n$rѱZ0 1:6(#c# cBB0cc +exlGFec# ;0#Cnt|L\38DWo/}C} 16>à fp!G;0CC1ݻ qa h<9k#ܛCٚ[ 5E9cKw$a8K8X6_}5س+y³eF՝9#Wђ(pMRv_B4,–pG:rӖ**_{:6әF]9ګ~`ˆ-k> Ǟg'4|Y1w2ĜCŒܓ$]KHg1Гϊ-}ZK2G : ٟ,&<,Tnz Cϒ#9pILbwECIFOU ;K;fEQDē{&k$K\CiོJs!DQkѡOuu*$̚I# uC2DtXJ05&oH@QK[K6)R 5PM}mJB SӘI]mj Uш4, umh|ÜDn HsF,bV#jU,A巂g,w(mh +^#vlSљsXW5|Z6+9)f&cwЖqS+4+?B{wdmηC_c|H/kCc􌎢3`E6:>.r2KݽJk }w.3,~cpdX\g`dTychQw Oowx{{m /<>2JCc 8>&1dWИ|K1zsvcYGkzM>쥯Bx\L\ZQy$LFBKzc1Em8^M᎘c֠ ^9=E/;)rYКS\$8aHgaTkiNLgNtĬ}iHO,UnH#.2>+ޙOڻ8;O~~uL#2?^Jș<އȳD9 H0_i9Rgʒhd!4ZIAab014L^[e _RM+0H3I8-82ܐWFcPHh38Mo_ ETH߬@]G>m}VP憽5fm :Zudޠ6CL; Y7¢IF/KWG_]]{Le!/ ,2* *QrI[6ښ0A.WJ_b+m?{4>DRĜWLJ;YE]m%FJ5QSSLYf-[ Fe]薜-y'; Q@뷞s^emc?  !ki ߄!S:: މ,r884 rQzFEMFDkl|LL]CXzw.wo6*hf7> Col\qâ^6<6*<[ONzdhxޞnzzz_X>0@}= p~xE;2ݻݽ(c^7ڂ"c7њ~.Z"LqNPG֋h|GZ_~K30G4> :`vƚI3FRS =u;-سv5>쥯p_B9u&+>JKZ>sP{C{ wk-˜<7doϾB~B̮"x-!ȓ\Mk/{qwV̭a't&y~;Svz +1xg~z*'q ń~ w=Bsyۉ;o.'W$<8[L@z&)LjD$&1 #ȋum,6ڕ4Jbhi)*_a2oUWDY5}xS2,ښRߦНLlѬDQC޶|Li Ȩ/D+%2 +:iEnfbzZ38܅1&:5Q4Ec5T30AIFMQ%Ihʣ6Ɨ Q1 yߣàuvIͷRzsΘf Q]LEу?[*)o(@Bi+ȕQYٶϳkd߯H>W#T~G8GBe3.}'SwrMx-^'%b= NV\?$/됓StB7 tA mfw֠r9f71w)t=JhV r-j>Ş +^khpLS =Ei +Dݭ%|1j#j5C7[GSˮ]1%oaJA2^++@BCŒV?s+^n{YWe0>P>Í2126 zGFGD$:1w;4cca`l~ ]{?4,{<}zZ ~-dlt]A54[ C"w{wa{3BcZM{zڄ-fƖM(ip.d5_b~{PW|[tάBWbrP ў[ AhJOAӼUȪL؂=iG aK-<~DMM@hcjփޡFq~:t{{pa@/ײzS<~Ksz)/?FW>Psy QOR{q5>=ɠ$č8"ў h[-l ] S l6pj6n=YⓧI89}B-\(c{+VPT`3ׇ>%L/(xGu,alJ{u4ŗaLIooW9v}4O1 +Mx̏$ȾJG+ >:|j!ﻮ* +CyG>BQ{vΨ5;Y<;i]#J7ӚX`ZE}Z#aY+:i Y#lWB[غ /ކOȍMFt1zuǮuh1N9Ba{\t*|gVqKq,+g5t m8 4y-=-/9]MBWR'z`іi4y M+Bԇ>;m##x%;iNX3v=ӑJ\-j>2:LKf#k#MI+i=AcǙO]x݅{  seSyKGg6Fjί'lMؾ[ }3 'A**ZC+u&mMۏRB"ŝ h-NI=yi#mDCwC$EkLN7=~H:9˥#wb_Gc\{ f0 _`WӨ8! uU%2ԥ՚&(BRW&=* >A)fuMVF$pTmXo`L>ZEje!t4_ou\4qu v׊jyE_ӚEz߼˖&w +5ќ!2bBoo=5s9Os1u̺|%"o'FR6}O_rB+,,(pS 3YR4+.>3'{Ey%%Mo&J.WR/n,Z-Ũ~_)`.ϦprjE>rdOjD_<9KW^,\,Jd.V(P+iPbȩ(E&1RR6GS#W)z]UBRZ4#*(I -S٦}>hjP*_sftzqo>Hd[=vA+c$GKI?W QLhLX=d! \XJ[N iX;̗caq)5lڃ;^؝^3i +q %ɵ8^%u\OݕTѫhOو'}}E;ۂ+h)UA+8`Fz +]%c q D6nl\lj U N# +~}#xG>r:gc]]{{/Ύ~Z<x/7Dk6 C LݘBD.Nj0M}8K2̡O{qŘ/>%xslNފ3Z/ٌ9 _Ϧ>t];i܎"^μ8='D!GZ)m 1x$ĝŘލ+z4l^:` }hK^@iHFo9t0KHKe~O & Z t)-2$_m!Iч }cyfq[<9%(L.lH}^C}yo?FKt]7zz6/N[~RNʶ 蝄﹅}tћB2lL`!KcSy$vCm${!3A=hi2 THPIz]PWgG/C ' >,]8{të/!zE>|=Mt[)Ob6Rh?7.y WZhNXNWv~78lb_G{lFH`hX"Chsb.ÑK`Pf#l&)*4jdMOMk1}^$S$Jn3&Y4 +<2\ƢZJCu&zZZj~jY8Փ3+uŔ]R*E"<\rRLXT(?2 wMڬ`t!,Exf2Tl54`'U:; )coOhzD^ Y^,;S{+RRx}?\RBiaSK>&kZAWI;QتS]*USs:9JcJ_T+'2yɻqjk>*uR*|L}͟ +qo>LI{g1o ;BG;qE«SsEp>ǪYsk(XVQwaMHyeZkNW` _Aչ8bVb+ /%} U4\Y;v U#j ^~Gp=+ Lgrj}ƘtG~ [V]%x9uQ1|M B)iNۆۅ|KhXvRب!\NܭNQ8 Y5QJKkg7#\IGB1zzڨmg\6:N׀־!ڇx0]Q<1Cmtt ykr@ghO ~؝So8>%s'_>(Y4/9q9-QKp YW06>ĀR)k]!w*m M.7@7*yxsnţGsxuo>D[=$E±{I;3-}$M[y!d]D&^4; 1GfL"I s3q!d-(OD}~nvN :r?\Lл|ocda3 f@Ue\ '|I&F{f.cZѴChӤ`o 9gM2NC8-L%A8 +vZ64#)@eq,=-cեazejx6^+4۔Jé%b*i +BP$}Be%Y5WP~E!>nO'O7^o;MMU21kS}=ʋPF`ĊOw> c$5짯(C4F,8Cśwo- W ?pq®}.w}[zkɧ-Jt}bxR15OSV IE1PQZm@'(/0Y3SbQM~rswg05* +H|/˻h9/E{t i*_=ŷfs~?WRx$;p1i[Vb4Ѕ4Ƭ%y:$pg%u'[)z[Ә?NkfhIFWOmp/! j}gOSʋ8Ӗ w򳘯Y Y=l%B'?KSjlWe76,l\G%"6n&F +'!' w']Ǯ2$pk6xsk }"'p;B?y"K8]A-mbp!wz1FG0|MmQ<5cep!r θ8bW29Πr$#)|]:OҚq@W! <%j9G~Ŵ%ƓoV7ѯ>B{f-i}ҜZ"l%z%MO8JqoKtTs62`[^M^z Wa|U_?B}Zo1b(R8-;Nǻ-h7_?ۧ+Ǡ0[i_3Q^~A6.K7>Uaw@TBpq#b?  فΊO؅LDO:]&7U"r9a{|̞d@|N7z$0؂<[;__~t/e/-:D[s4;Yn3 IʂZ̠ÂXE%vۊihݠehC {0|ØFc MMA-K$X$2<"lD-BvIdPa,/¤ϡ0uJe*jIǍ4 |PSV2mJyUq[|ժDTJ= (.rOh` R_xJ%N4߯Rf䔠-)Cz=/)bhⲊI*Ns:YiP%a** ġJ A2wsJ7l*Stڳ|JA}m\J@JqVrDoN7iUǢTXZ>E6R@YPw_/'Hp Nh,.#9$ywʏo[iOJws4DY4 +<.}3ˋ9-1i;θ ؅]eԇ.#w'/Ӓ5)YBa$ Kєs+k']9;i^MES#=NsnQ]FCJZ2c^O}jZӷ28軼a!?]>< XKO38#Gkjbz<Hc3ҟ5{ZO}M>^1}+mP[2e0T:9-$tK1by]4o)Yd5ʓ很3uMkΣ)vы=OMqOcZEG9F}|tg|C`vk.%|=2 ˖C; U+k.jV9O>B{~IQ| +7x1B]=r>O˕FwW 6^[@WG'>0sHyA1rr6h^(?gx f0\C<UeɿA1216A-򃤽>{!O?DGsv%=wDt'W^ ;KP"2-W#m9q/߃%(9{O׻Z +ɋSd;(hx"E'9d{~ f0=Ũ)jr)b3^ѪR m6#=Jӥb%NƠ\Dg6+i^A%A;mMzZe6ӪEB2Ҽ` Ra +mB?)RZNQsRP8_'qwAtj"Z &u*Fm:*u6?;$( +CQB?[A"\񿛥S],CI8Sb +=j>>cu~X 3R3p78+(I G/<'U^|՘(ϢJ=i_R##M6KՠRkHBN{}Wʥ,:ɜPɡR3;؋WE6+gV!| i=NoWP&b_GЩ'l|R.GlLɧ1%m#1OZ-jmְOݥEbT~UӒ"Y{>Ŵm1n 5%Rwa@s:v,dYj'-9AC7߈3i,Apį1a޲StHReb֫!t 崧@ ۰EoƜz{ {:E]mq(lkW-fݮo\8Ml} ~F2 }^ N8iia?SmmnqsNj z{=8lf%d DgGW>aS.'c~\Mtu3౤cKg ;r .-fKh+8İöS5ů[] ݏ%n9Mp'bHA۴d!i+ɛG˥tgW0G=Cc:5mm[ō4go5kHXJ{\1< +.-k#Q~C,Md51g)  YAk}!/JBvybNos;~Εݷʃ~x"R_wyvq/<)>Kڛq-DE I<~/DG!t/ N*ٌ;(/EgФ J]//vi-ɛ;2z \)f aOSu 瞤laOVM:#X-RYK{N +МshMLc"7М)[i]IcZ㕽xwVկҚ7OQs)3[bӒ^ 2GlruZ?}'"p-MMN#Bmlbc`ZMS qc_эMn!O7"FtH݄[srZgw9q\6ii7'aSbEknyd MZ To2Dc, H=ZF tVۢVEwC6$ +}+L=\v 3bo֓|>b_+;FKT| /֒rA}w^YdKۏ~jĶKwun.#ѝLω8ߑĽ"lRzW!_&NH{g9i?!~5`gOIf':&Wc*ט5xڴ];l˦<kyNcCM۱Ua)ŬBs%v-m&Y]-jifaSO5ѦW-7Y+VTAo. T6mk% ri*՚s>xY+P=y"$JU,qOM*ea4nǬ@mIJ'RH).^ۓNT~ܞF>u',@|R+%:4ifJ%jPH]υ"JbI)J(mw.*F@! enӎRBڹ) zOK/(;`<nj?J~ )fIWY?vgu)2ʒo*QSҩJL79ryZe\c\CA{I{so"{b\{DC[uwO/|X+C=F+o+fȫݘG%l!IV2'0hm 0h$ЯV)<ƅC˷s=p{$}p|igO7-n7{N2̥'"q;􅛈>rOwiM" ~&Y<3|Qo#xğya>"΅QfvIކxDd'e3 ~J1EbȺ63n@0\DDPD7Ee=ou8@tK6M=mӴI4m}ߠ~μw{|݆zm pV~I#c'4 Pj+VM:^M1>ZxX $՚Kgs# +{M*M 5ˉ]Q!֦3}E:͖Rǹb y;.7a桮̹Wc} VTA=WlkGWWU?BqR;.+*c({zZ[}&yvve}|63>YOQA9·UkCU%GTUԣoR_YYGUp&fuy Eihʳ GZC)U4ڬPYKS*uvey m0 gjr -j3 r3Z}b9Qy>f zCk#{\ 9?_G)zfr޾/PÙ8װ+[KGj3 +iӞ + HVU(4 +̣- z7\E[Rǖ|x! i6 ܯrY]$pJb\P^s0({V[' YFsb,KNМhT%uO +G! 13= !&t8ɠN''lŹ^|@ikc–m|";E p>a@m[Y5Sӓ"chd\&D?s=1z5eѢ$/5m%jx1KtU=/ei+̈X+B{2|=` 7jx΢U."V }uBg}U[Ľ@ƽAfl'Mr#g% fqVҔs?3#VtiRى6Ƈ|LOu~ʑ"w oݷPol\r!iedˡhJq+H~2l57yT}nTӘ8~ p BpXx!7af9#^BNխծ * +5Dۜ0:M(ٜA,veeEtwľvmbW-S= w1bWdjyt|ρ.:|.4 8yFcݚʺw5flL:i8V`iES]I0F`?CC/e)-Iw1 }H)r/M }|7*xU-ZG;i[i?@OZǖZI ~BzHBiw8 7#Q_/rbKVS8ĝIIpZO2Z(s(f>͞?}3 VSX-fN 웸R>'hx!tvnrWt9Q ]\+rўhyj`brJ7#ZTa"d$*grxq^x_4חhޠ#= +{H5x=5{:_o%l5;سWQ}Z2_!Yv/7 r^ԭ#z%9;o@Q-z+oϣd~3-D~W-z9_Mg+0}n_f߹ȎQs^?Jl J/.xY3rФHobcFD[TéɦəIqu ֎A~Cݗ̊[>B^K9V~<}Z:Zt1>1B4¢k,Rj90)i2%8M&vԵ8 L XTe8mUH$r@4 Uq]3-\rľ:&0lxMB.kr)hT$ܪVǩQԍz*huv 3ڃꝨd7*Zi]/Ϭ5[-^D]\iF*MV]]D;rO]'KSrtPQK]rsiK*sTUjq?6{-3I<Bߪ.g& š^"V:ʟAypv?F=Dש~Ժ\TptZrv- E߅<2&IGɳb?tY?xd~o.DJrwB[ŽG~d|Yۯ#u)}9/\M3W5ҷ~Ok<}%eo9{*ߚOślWojT};;o[>gߐz>KwH[)O]ǞǚkFԁr p o?TE :˙c&s9~{1}L#tuX910=vMi06-&&Fiq +qjLL׏ +h%\v-^{=6](vMҀ\KY"[bcgx$l*\j @uߝ=qi8Ex΢g8]?B.pe"KT.D~Gy:j7QӡRP7kTiPP+ܨoR_AO^vJd:ԕuuji5uz*-Z]6 ؔxmzXTڇI^J"v v5iaIG_JuʇH~:+fkIF1 YbĬr.w 2~-ͧv.zYӐx\=?: )qVcTF?Ӫ03C8{ {Rj*Ƙ4$ >J܇=pFT/Y_Dё +Ͼh9|'}J0^KJ[(\C$ZrhUtŗBZ@דUTsu;Aǫzvޝ/6K>np&z'2v= 3Lj*J |mmfi5cS;5+ʹJp5|f>"뾶̞K]czyiouF-mFUQ&B?AݣtvWPTkQiPT4o +DUgIЖ`Vqtwv14OUF͑O0Ihuh[h2+pY1$c:" LO)?>=04*b]]CW#er9KqL ry 6m65 +<Tc=8ݙz;Mɫq\A`-]G`+~٧5`#Sn(t>ũq;Σ]x'<10X1frS1ޑo{Q,Ct  Fb\߄9z';TL͈] + vi;3B8s^bʏEk0c9 'M![??C{:rWKY@0o޿07Zs7JZD{ +2_˔=^~nˈ#ZpG󸒗)_Od#KDg6#['"PJ2xt ^|y2֚NH7ؓgzh17#ATZ_3gcll7StX%45&k19gMBt:rmeWN|ĿŃ$e5x%~Cޅ(>ÿw?G}pwԧˬmWQH?ڽ |g]Їr#O]NkDݮj%[n )}VINo(|5O_IΎ픽1̗ZNA8@e7~>~z&28xlp)Bӌf̝brf,c&ffedtx"Jb6A|vifFLiH o7 Un#T׿3.5?g'cwґ@2đr;- +=}ޜj&X[.oݴn•؎g1'T8]eӑo=tWOW#7|G}ʻqXMW6BU1FtS"S4S*4j~_SFJ3ǥ:A=fF5 u639f'>D_`q3"SN&nj6g0U͠脎"MLP|O)/\A#H>wn& I{r9{/"*~N곿 ޹?N݇+s \HWSͤ= 2_JW9~I_݈Քqir_O/ի-y oL[wxmߛqBGQ֦es]mn}ڍ-$fŧtJqro-¦)Z4d`Į-]8&9CekjKk.dXQIY. Ye2%ZY%\fŢTˎДζǶ[)YQզckN&h/[0ף8[N,]3JKEOmǔ*:-4싷OW///!I8fgUmbޤġ_0nIhg`-5:42Ze5u 9V!GXF^1[R - ؗߡU1ɥKƀHǺE۴, c 44X~U9wN-}ۆ[h?r'6W0;p c?z+w0Q_;q]'iCЕ)$ob=ok~q=xoFo;k U8O ݋?.[ij%G!z8NlĝPc߄;u=wcr G58?htHbh",SƦŒN g&D'p8l6ӏ&=Edz$'"WN1K04a,~)FcN<.4f(gt:x$x4LpxLcx"\b.LN+w?::NܭmÓ ӱt׽ƴKUOa=zV` =3e ;g3{=Fi$j܏#},ځ3c+=EI|wHxU~]E-}ɓ8ގ?}-%[qnSX aA}z&Bħ9i}n*z%ؙmg|4,Lh'a6cSGa-ӣf N~\n)T7,}*EϢ$dsέW->;z6ՉLsEU3z$ei4j.c+ƦZtuh +im*Ǣm&Rt:r;N"-IdEfUίhuubֶ4O1kjFNV^X#*JJr0*^F--)h%8XQC״al[W*)JBnxFi߆N)Ru=v9j }~T%Bʁ)tS_-~=?f:oƕr3\Ceѝk*JgV ):ÛyMtl g& u$T>%1,y@zz;]ut-mWKOzқp$o TS~bQ<7}xqɸW܌ F5HBе$fIĉbLb̝"fsDfJ<.>w1nj0)A[4)eh:N #S.88L,ÓzF O`&1$s pao1I;3/щbfzڲp(B c=L;53ç;ASBE"^b>QZ, _iejشSq}8U}Kr'.իN`WQx~Iͨo%D^Vu4 +^.x]֞Em.o4~$hw+)yz=\J7R d?U@7_)yZqpTs YMz~N4sIȇϯ+?XXӟϴU7e+X{~hYZhnfJwJY"ɷXl0<~W8\X4=tpBԫi*,èRbTZ ?0i^UyXuk =bUWmu2M ..?&i5(ߦէ1:6Jxzcc5_?O/[5(uhk^ 6bQZ_X)EVMֶHXH4Q-)FY_ke.&oƦXg`-+ +0iL☦q{Ed~;| sj xw0 u{p݆f3!@LPtOg6ewI[pß񥬦'_b: d0{)BO*:Lg +a~5?Awp[:y3ua N^*7<0`Nwc>AK. ‘83L31MMOEl&lX<&r0͞"e:1ﻌ n6A41+<K?LqA;E<1i'<))gM7e`bxHL[8TFg +͈, G_.s6KKfa:3`?P~rtÝ _j@t Xm[`+U #`UOёOxr1a8dt卸RG؏ƨ9"ۊqFכTH8TdN$33CD]8H>ǔBNS0БGlxOk2$5m?I9شh3^|,5"hJ#6aK̀S3f9//9/\N7܅,lm+I{n|n,kHz'd>w1_B7P +~~Iא¥~Otx7?o%ɋHyb ){^F˩yMXM+z޸⽗Sm4iږ|WiF|ypPHj`v.T|(yNY7wjbMLaF3"DgV'/;!]LFc"%℣y(ԼksGbDbG㢖'py6+z8c19 z0.jqq#fM.})cLل+A&LfWzӑofd'} Wn:v0\(OUޒb^[` Vߋ3kw]6H]/'޼t>kzr+},M_ @5m)LHV36~S^m2 io%:a&q1(}uL639 e[ʰaW 1 3jƒ-t0kd8P'2cjB2"} M%/I{{/'Rh?]O݁d?w1Y{.+F +_}ﻌWkiOQ{>׮'鋩xf$]'㙋)xj޸wW5}#$+(zSs/t;_O?˩Mp (ί<4lk_tڊKq6ik`OOwg Ɔ=xd&H>*S!LzSKvb"hNS]ʅoڈ͸x*)@Us4 u/]s!vsi6斅[5H߆0\Nu%HF٬BݼxͫlnfDSMV, Q5à̡#ʚnXA&Iy9%--{-ՊzɊ^AmFR,A03? yYi%2e::!ՋMUmդ?MZF[S)|^c.{ j*O|H/$_إ<@鿿HSuKs_(?kbի1&Zt (떾a7`bU`S,T5W`ni\[01ʊi7VakY04aR, ׭E߈ImPTaWnX"G,]޿lT0y/Dsv+mYxϻ{qo]t>AH y EpoŸv]kmyvW[­+o=wН+37qz0R5+{-z%}'V9@:yd5-DӄOY'ێbNDa"YfuD"Nb6&f/#frb98DBQ6665LDs&.l3'rȼ2`nnN'&c2g*. x~gsz&ND|nN䗳"Éӳsb/{t-@61|wS裏z??o:~) 6<Ô9|9([?B0g`J8][Ǖt2Q3273&}wQ=Ùt'2Pw6\03i`WC"b8P_çIfjTԈXO_O "p2>f]kQc':iarF<%# +_WqY{.kr]BkWPU!ͭdzeNM|nROS<ϝy.r 23'<ڊSEGJ^ fe:6yt[C^q,MْG{[=斅&mڿ'd .wn:e-UN\ +7̯wmjxU+h]o.r-K<cY+3+g)~(A$m҆yƒލαJGnQ1(fU(%6s)-mM^?FRYFZ^*ZQ5T#FYI[c!]9Nu>C8 ( +Ҩ= ƚC*>CUH?A9ڊH3@א 9'Gߤ.CtU;?VMS:4}Z"]'']~}!L?$^"z)^ZMTy ǷQuq-Ϳ7Q{@.)}Z^t1ex%E^+\浤﹀+~=oD枋~r^NkS/imW浔{)O>Sr^ mo0}:\OAA~tϿ8^}1^}JKViX!uhZ1%ceJEn5< UZIA$t: eMfYel`MxnLXn{g?4̭(27n &Yn{5nwXJ_ TlEfI5HiinEZ4/UcihDݤo$X8IB}Qd砬*¢CÈ,KZ"O O`n6eBkGsڿᷫF&!MEQsҨ蛅΅.2R,hFI%bTZEQ*r#,hSj`i(󃾹[&?$ ҳٓFGQ2>VF<vΣp@k;gwH_GofߌJzJ#T݅Hڂ\k8v)즫>9ہ?iq@wh?Uqf" Í{i? +_˶ә޴U nar7Xo+xlP[v&hcb>ILhf`b*̌fDnEDN3<6,xM$gxv}NQt4&>F<6݄"r=A_3+OgIQ#v 4411:*|ƉLhΝ`Vakm]mz%i9 K/JW,7\>gJLKpDՅԗ.=4Jۨ^q4 +3"\WZJ0}b3UnKT9S@Z/)1P6jHN?A֠Cԣ]?u4Hq[4bjՋ}142Ҳz Aڔ:}҄UkU4.Wªǩ_۵ 1д.t{f&nyYYVZKSV} kۑ(^_ + +"T !.vD0o&Xt/}O[O7b?|#+pg\Q_݇E߄JB0~_R7Lph+*ޤA%(7*yP΀a15SCJfFcq>O[]jbzlŌkf:XA؝GUTw3/9po^KKQB^.w /\JkP(xJ2="fU^C"Q+z2D_>3J޼o潛(y^}RWjp5 E=/K):]&;<˕,Zl|ͪU`UU`S&/Ժ4_ЦZr9pTKSvs*WblYЦ~<ƳE&1cRZod֜g$o.:l&EZd5^F^avm.7o_vފmE \mKv6]%Ӛ7akSc36Ҧ\Zh5ؗТu-tdɖ״ڥyH U?\h;#k*\OJo >ߛ 8[N_6O߀-؎Lg̈́ҞM>XKg:INOv`B5Ỉ=?(~gxddX^-Ù ޅ'N)kp }tԜ{Ptfn+Gn`DQǧ J^ęܻcy?˻Isљ׉*%/ 6_[2>1z- :*63*sl+KȏQM,b'< .zt1YOvΖDB_FN<3J]E{7Q(}_K~B[!hR1.+E_d R*߽ QuVR/Kj~W>tB Pg؏/+I~Gq5e\CBzbr_F}J +^/]k9T~?Q45Pr.<㇇n? .Yٮdb.mE,D#C X5MGLoז6V>ty[4~I݄~Bl[u[_jǠ.9_EU66}-Ѧgz^+W@t~KrWy1i][;p::i3aw`ؐ,jsks_Y^FR^f&v4Ҝw쿢8ڦbzEQ{9>6G4h!&gbL$Blj3tvybL=o<x~Ɵ 4=D /VSuM[CH| tqx S@3 /{@̕ K ^ԯ1xPtm}Եtl™}"d"Pᦇp\/oܙgzp`}O#}aG؇; +_ށkEfsjaK!:yy騯+|GSXn:9kL85g}]6NK C}f幗[܄Y|E:U|<mǗKH 4K~H 9yc +VUq6?^Vx4cPcV~?Veü $jd*4j+O'5MЦiGV)A^#URsjRtKǔe +hLIn2214܃& ug4peDf"!)xU[Hߥ]WB,>@_#Mz.[/j8GijYLBO{yML_i}`T-Ԣzo*hK~wM]TC|Vs?ܦ8L۪q8ʹc:R9z8AAqi|>RP"Qe-JY7<o|J-:@&Bw__*,ױ !G~ t}&po:/\,egL}C*G_We: p|L!.>\ڕ_h3n u gTdz 3#-\oh +yUs5r04W/U3鵨>5K-ל߆u~SꯐOTg3Zj-t2j#1D[R +n')Meר0Hh]\B^C/nƤk([%B[qV<&9ؕGQf}4Eti¤=/Mކ;}qOYXC3m*d:/jbig{gfQQQH4:}/kB)9GuZM$DN?8.z!'#9sbe4q ZBv^㋟O|(ӑR?03f61ItPKW _bqdOH߄3y-D]5Q8 +5r]k%T~|_}ۉx3Нw'`=路d;-l*_!'omlfE&/* T< [+P=3(z>ZlU΀Q=s A <;kibz`#Q#!AK.ngLt23ft!o ~a:?ƣ>=X?Scm[Ug,(g(hDt_>?{Vo~ޙ;HIH ^BCЙa`mnYdɲ,fI{9m̽޹ki|ts߽t JFٔ}x/q.&mŢRoӄ\n m<#f[lI!$k(zk֒ >}1}W~j2_d}WP2.)->لkI;p WE_註gdEdt)Y/]F?#aVr_aNf垻w9OZ[IN_]ntSauU}[yn}f|F a"O;A'/!n(ªgS˰+Ǯ=MBb>ժ_dG'a]kw󵥠WJxˎ4i>h( kPˑUⴺ{&'J  ZdEhJ@StcC(|C/Q߷Q&8sKqM|c|+S4νҍyŹTZQo ׊OO +ϷM5i.P&ac.2giQ`Q/<^^)İD;7]mVu6.YỠ7QWÞLRozB3~x͒{Nݎ2<wLڄ7.Zq6ouVqa=vΈ9.ln)f=;iMHGVڋ=1w`;r_`_.'tQA#n)zvW{3+iJ݆'3{jNKoxL<ellٯN;8 S21 :\Ӝ*x-7|ɹ}y +Nxl+@I ffƙo# @; $m +GUWgzBgW'-3z%{*θP"*~^%k#-뱝ޞa)0 +++{'Ŭy:| =%[Ʈ)f5텏.y#%bv%.U-4& uh +206lgUF>.gCUL 52:hdjPK1O?TDa'bGEVӝb^e]B96}2*98ҙc|DO4,FKh⮏[t?$?s o.#k|s~wV"v +>kRk8q?H[bwFuo!_$>s \K֫#n뽞h=DWJ\Fӿ!_쯑< F=?}:\Ns/?wV6(r[Zji}3..Ә ]6UMx*٫ן-=Sz5FقoQ]𞥖27pR`\Bc.g@!m6Ԛj(jlQ-~~VL]U>S؁zLBo_eykVKYo/sx R\?^aɾ ysBK_oGCӽ3xlӟ6g~ME'tsK#;F!Gݎ b;.ҷ^6_*Z37ӑ|݇3.\ѷc;~5=IW.ܑw8V⏿`:Bp.0N{Ì5Zo_GKzjgrS"urBGȱ\8o:sLEgw8;'|m4}罛sIA>ѱ!8aNnI1{+hD45/L*.._f1+?*_dvHvg^d.N{m1+u +FEڅ:^BA׼~&A (h;͚%Ũj޷+**K1-UӨg+2ςm(E~jXTx1¥*r] ij&:i)ue( +k +K*̣!%D/M?*iQ4 ZB[ڜHN`.;*K܆:Ƨ&@_HɗЦM D=`dO"(oVfba`PeW'cV/95Tc_̢),Oc^\k%a,˰ji_W֢Sa,w?-Ȝ6g $ͼ ^:}y-US6[8Y0_Ae&,AWZK䂫h݋4? +1K1t3+iYK0^rО +q20WҖCڗx#WºWN@_tel{&Bkp܈&hbYoBvwOC}%𸳂rf.Dc6-&p=k'ˑ1QeabJȴG`fv&YOa+ g]$: fc3TPvaIU.c^] *oۇ=nef> 7nqZ\'nyY;vɅR7b?y M뱟^[XNvg +Q +szFyMXJd=ex#oY3I4gn)v:lj &m`Wi+x镘?ǧN\K0!1ieZ;{|k~qUۚ􀉁F4?g.}F_%\䖟!yR_wo5g~C쎟W>\ԃ|g\ɞˉy)/H'B;k~&_ ɾk{Jn"Egɟn"+H}n.f/I}&畛z"N?3^_F})/S|'/]5OU_VS3 84 |\>S] +s'꫰ւt|KdDR ?<v᜙Qt?q.NUCSc)@\qVwQ_AYEt4cz=Ԗܜ,rj6/MU)##>i,, 8jQHާs(^<Ϙx2T9S]݆:CLtu a/Gq +׷]k#"i:! 0(Ө/gAu_`ǘF_Ev]Sͩx%eS4WfXbmɥ՛GGWNzc7~[I z!ZdA[ N]Mjܦc. h'qr Ԫ?է:;i)≼e4%%c3񞹍Ks+S+h+BOf,a5S o6Ж 4'x;mEϋ$E0vZ: na:˞ӋuX.ݘ=TSG,9n530qvv\MBdpW7BvYQ\Ȝ&p=!D8 + st¬ش}\\&090{'jlson|e^NAϫ,A +g' ^KA: <%)Npk.ٿ_SB6%M]l'wKoc3I: +Ҝ{EG24%qzwy>) y74gGO哌5H{t=iwY$5/V8YAKV]=- -UyjK1>c)[uLOo3֡avv4[qc7RZlLqd.c[)'#!TX h +29Ñ_~*Ltu23LW kt%Leb;vtْ+#"KI{[MȊx# ū{ ~Mӿ&u~G05aK~f"s| +:Kmk%z5hyU->SUVCA<ҠV[NVGea&:k?-A]eE0/XuO85 ;lRuKsby4J{kE0iSrsIm111AVKuŸhDm~j32<'7d~[$zkdlJr t^fg%vIZ 8?&?e&u:q>C9W58S^Ce.m"hy0P5#+hT." +zጩ6nMV!̊#FEcٸ0{ŤĢ:YPO1êR9s]y fE<B2ʰNžD,Z 2CTp+1~t؏ m+6c;`jVҒ~^Q +sN.v63{yB)p\OQLL8{ D,ل/vh/| `#К|7MgSutL2,tt~EO A1D&kkKk",#3g##IK}xዿp4ů%x\7є4Ȅ~<㎻`}_b,Ombhs&FT{k|n$!un&ҧWxV3EW< r`ƃbAgVG=d[1cvZu9*,Yb.86ڧcJ\RH2b~O3D.72fX#$_aNdj.z9ْGk=I+ng3 vhu$n=Pc# HŬVcǟQ5I^BSҵ(>^MŻ sݿ!_RUd'n/Igܗ'5?F@jv_A+7PeH]bA枫|WI})F[$G)zw$" +^7zb^@._Փa߳ MZX>G< kyݢQI[Gn^1._ǨU?/kwz\װ4w74`[4i{CcBXNmO{,WPS]Lӷ% e89x?}fN@]o8Vߪݧ0CM!=aZNy)8#(=*91( p~dǽL#|6 Ã5d{ʏ@= N34>BȠf~M2D\DE_Ф>I/g +h֥?u,312hEOO_:"%t\M56kmxщqї893 3OS H1Fu4^֐8&p8Af݇/g95)7,8}Y hsy3j·9=;[0:9$/A'I9pGk+{CS=tKZ;KLWL\p:ğ|'HojfXܱwlO +tqF jZ2ђ.I:Y7V(R>>ɕU>Cg'܌ f]4ɤ_HF,–BQ4ےh25bj"ٙ&Lآh|Fkt2vV](ZO0.gDO51ΣM ] 4W2گ&lIE#!,Z ,qx3o*fvJ!>w"m qŔu 3HBw)R_A׊y ;Ms>{HsEnɻ/;~#n)z&J^Iɛ|*^AS2_@wz|Z +wo+^IދW#ybR^P|r>_]bT-3}Е%cL&Svl᳖bV.m-֨İfTb@lV@SݳzyV|Jqss bUQnF]rq~4h0VcKIߋ + 2aVf>]2iR͎UKm)b0HINSz2HY;އ4]J}ih?&3~wM[4(ш^KgVNgfܙت5o̢SMxEũ:Jд0#`@_yir`9$='̀[H>0W?u q(# fcƩ 6r!dL"lVkTyRk)^w(aL[)n,nfˣsU[z㍼CNo ^yڋWМz'ZE0qš9`pd!GE]MI2:1;Oܳaerrɩ)F&_fGDp976>C3LeDeK,CܬzeazcBl +92=ރ ȭJـ=^:J%EF#$8%{mw'.HGh5> KsViY{BɛhJD i=Έŭh OXM Z3"w +q^-~Zs +ۑ MoɃx"n9{}\ˉߨ~TLxk11daw&MH:\0}m|hd25bbrX C! ^ITi:@ ڛ + qvHEBVkS*U 13=n'!\ ݞlZɧOS!$l!;=!5tqc~n&eϕ|yB rz-/\Ix^׮'Ua?pէw#j⟺3R$](d쾜}WS-(>ZK7u7nO7!y⌜]J2_MK|Vߺm൫^O;/ry7rm_\ڃyp;-=^19`.S>VuNYt^I2Ъ5(*k.>΂oC%/N F^Ye>ɯQ/-L]gЯ~=QP^}Yt:(+*p˰wӢUn +yv)Leh NMAEQ'qAg yǟC +wh$h"]NRC1U;ݧF]py'-oٞE7[*k}fgGwç;d~NOE@SqO݉󚚡ϱ)CvVW)Fz;mt: pOC~¡`8YAжPh J i.\ ua&.6O%AVP=>C.6M2v]i.܎E=r]ed+,4k]m&U g x'UgZ'*!.⍼hym2ɕXL8:Kp݋qf!lͰt U\!qYqqolJq}#Qslȱ)͢ }==X썄ZLMu ^G{vl&[CC]bW_1&t p N0W + 1?>}ZiLtojͥV@D&439d3CfC +frOAc3YP{ݾ +ZLl͒GvVSAfǯ:C3g}ﻆ?/'甼uL})^J %KI{b^Wbv=T~j~${.ߛ˼Z}{zҟ4g){9/#K)|ZqNO7sui.&^%kI&N?w!W^np] t6~&9|o>[9 +ƅ]?zu|ܥA%^ӟ[~By10k1hO~MLNj\KVAN!~>Gʤ4Va6]>q+v[":r5x [ScAڔX>7,gJ_ϖ!{9U.A9"Lt[S*9gBmծJ{F f?Zjim)ј@ȹ{kh-|F N߾Γ:N21=ٳsBȘ7)hrgkE\.nWb6&oz|-曈sn\o!E?9;+fe +p2NS_"tw?uobOzÉ8=S^B\:h/}‡>@gv/Y 8hƘM:K)~Bђh; #aƮ"ZeWbYt?A !^.z |={.!z%Ԟ~Zu%Ԙp%aSC բTJ5Qӝa=Ww.{:Cnfg:t0m$l)Y@oZxkS0ڮfjGnZ:}L YaN/Xt5^ :L:V1!g[ +ݙIevL>!ib@-#kDc+88%(y&r-@+D.iׯŗC1KwL}WRUآvP$⯫=pY{@ +^A+m 1煫)xz؄5f Ks7fqZ +N:?7.g˨1h(êæ]8kjԔ-RxgiZh1d`YX_[:j=qq+Mm-]2SߚπVUlv}B7uߡ5YL֣X~N6?;BSPm_,JԙGR'9DU{/_4g}>d41V~IYbLf[xu4}/x)b-@)VTgp*f26fb6O5nmh0>d[McxNk 9t7\H3}mfu)8k~]vN&&7c>E!-f8!CΊOqs=M8f}r̕V+=!m8 9C]]N #mݍx x %xs* lJpȓ5.s(rї=9UxlgӘhg|^3~Y9q/m?Wa9Q;Sn;vEҤX@@llPذnu[t{uLKI2I~~}GP>ܵ=|befw&3y>a> +W3=-csѝ\7),N{ c"${џ]@0ŬdOfx-Xҟt#'1DGNE` Um#߃\G}8g +7^ߌ9v M:ecmߏ;F%A)^U"OJظ@!9KfdysyjvB7iػ/+oJkH*_V_&qq )Y{B=sءzwD7 T~DH|zV޺oкw1yNsJޞyv\O+7qqq(|>^'f[UZ꥾5?c2W\;.Mz܆ڮ^Swc1 "{@yGu/,;Y.֪b$ $4Ք҈BBC= o/iGr F}P4^u2T-zIr4Ț[(8(_ETF+]ڒ^N aldz:D?:I* ex-hGp&>K.hmP7y +&!gʺoQbŠOAoiUߣڇErSZ l8 yu}-HJc + ui8k|z]Hз1hb^4ow`_腙ZtcH$(éigl9vU!Kt8D={.~ĪC3 ]W91F#.4]Y]q,pL(lmC#U}{ϡo%427bmKE#*vJ܉!qjJ^ChOEu+JG>z_`O]2^ēǩ:q>Ja 5A;wcN>L_cxÜ +}F:Qکg82./f:D0nYV}"8!37l&'vrão#\'辩Y<\أ׏A)赾s|uBW S BC!QorfzDO]rW_zg:(U8 'ui$cNY-uÕ1XWJʟaaY+GeŚ*0 WlL_9O^=Ar3P1n]£rci4'b}`&{pf[{J>hv7G‹rjMY 8q2BMȯY(b&413쩠OAYͰUͷ3d*`rLC;kq Lj v4ۘ'ODPd><8W36$L" ~ =ˈdK97i`76^ב]l/&?"m dGwmN܏Xy%}!*>[B=4~/Sv&,^?yw̸7 9"?I}3o;ycV޸V(;{E_]+seGcO#~)fE yɨ{~]i:Z/~ouU;ۖHhNWB={^%Օԗ~/@i{ +몙eҩ;hn_*ǥm4W 4ۮ;MO'aoW=uEeM:k1țQIZmvٻj5n[Bgch_>ߤ,毸uh%|7~3/J^cxM5+ewk˰ Qeԥ#E^ -0uBtmIMvWQbl8M.^C:چ/1ןEVРɩ ~9L6QZ8C(OO&8l!`UU]tP3$];c +q(1%Vb%YS)DL<,uVE1(ur3/Ř:=(./"?GQ{^\0F?CxrVHyww:z?ꨇ=#cK} +[c0S;ԕxC}| ?+ A+N=;q Q<IW]&< qQ\=y%娏ͥ I1Xb_5p|683#f‘1я'DOfl.ÄcD}'tWVtȳxGh lZlqefl Vo=K[#x2W/y +G',` Ό'<=m)(O_*c=bIY} +ք%˟c^] =)vȥpd>`&_4XҟOZWQvۨlI/\ߞ':Ä_#W##r eL +uy ; + :LTM̤_Jo~qQMqr?Q<ޝKK$('s7U.G^߼Cd$x +ޙKǾe4]F7Hh?Cqe̕2/JR=w6ʮ,I.u\޻St#oPtwv"k\I?ƽώfKT=]oP/wաDyM1*T_$o&C~ S|L7Q1ltBpr,Ite[wCB,Ũj0DxSQ,ucQT~'V|M=<4`-^}2}2* +|ZR^Ft-4v-c*kmlf$`cm]M^Ĩ\d. M%X%vefůE.7~q)QG?FoZ_lEȏGu!pA4GśܧG-+N>!Q՛= ]5~!؅,sqΌ U%yu82V +s9}ߏv#LL^`8$<:6ӄ Dx 5!-?>6)t'hIY߂w75.gu&FL8[1dg2ɈUC K0h#`'h-īL7=匸735KdMA4'T=4ľW#m\^q}?Kz6Nd!kM +ۮ&?5} ;oͣ}\ٯ]$2GceKs#nL`t|/r߼Uìf)W= _?N[˩Sʲ(JoHAgG 3Պ\7sקM9AtpHUb//PV~;bpD ^c a:TT 4U`o=A6<1@YSO;u1چ( +`:$6I}|l=;ұ +P7%akǡݳȅ^T=)tM3cJAVʏbc.^ϤB>._@~\KC{. u!E߈!^“M2PXSV3(973AdlB}xo5&d˄ʼnY6==(){d$2.vP +]P`vOJ#'Dm%;5N8drJN؁y=6#Yޜ3fphDd :ntbVMN"'jѱ/1#) %:h<.~ %/|f>Δ 6ll?ąKL[5yeXӟ[5SVZPu|lbE+^`l 愇ў ʹ0}ey~W:jv17бwU9o*ξt)/Lw:6_CgZ8,d36LӄCǐQw;s=NBJ#e&A[5Atٸ:㕞dȞ"tE8Q0:؆WMЕ7!S S#F|=Q )O%K m'DHN[Ș_yV=А>u +o'$܄?@kw$m/qB^AܭxVo" [HGxEee4\@W\_bw2C PUq^SK)ZmC=H~SHdH:.W-tL_|$r~2=} =R.4]I;ۯkQYEi ]ЄiAN}E7-u͋4ԴR_JCeWӥzۑK.u>yf/GY)bNyDRlG՚ 78; .)dobl܋GWEˈ]WH /+~S%Sc&4-26\xkW4֮3蚢eȚ /4so:.M:vivY~)((xU8zb}p##}ȋ9FgYmGpɢa¥.c()q2b3lE|m^qJ11>)GWKWךqD]8&p౵Pai=O{>{HVi96e)VoC~qfN+[ kF#u5,G˅0]$|k+zFd[aW#+zOẕQ {Rq7ϝքXbc[@_Z4g6ӓDniaq\ܑ +؝Γ A =""L) 4r +EW܏nm>*|.3?ۅ5_ao0195*X +zL  Fffg7o_L1`,R?a_'ol]xrx$ +=-e9E /)/fzگ4:Z]-uc$Xʍz7o\ lĕ@Q~Gx6erֈՁ{Ư`n;u(܇.zhY=bF_>bzߏ%t1Bb7/o-}Gs VmÝ78nǖ<SG)>Iӌ2+2>` D f\| 7R觜nA ~w"d(ݨ坜~v%ZN zKاal,"~ 7#g?0snvRd~Q((JNΈݖޡBeyg'0ѕ~)e1X[2TQ1?Ǩb/S["AN/dv1ܾkcN-ĞR8Ɯ1DŽ_ǚ +SRt`M\)K1]1$,F}?,ƞVu[>')7j՟Ek7 C[P\Hk(|>MՔs{Wqr䱜U2h!%4܆Eπ^ؑ2>omYWˀGgu+}&||*2߈ߔp#j,bVץLT@Y΀,G2EKrj?T_J YokWRv\K- 1o!k [!i5Bj>~ʽ|ev35/dqq[HW&~UĿ\@Hq#'/Rv^O?RT-GxFbΑwܨ+se]]zW_4W_wE{s#Mww!l=IY?{~'#D#}hخüԴW#jG)A#Yk BW'j z/e% 4:r>tP7J%!-ca̭ 4Mq4 DZ5#oSg<_=FĀ>]\>K!>}2#XZgǬHL݅[M_i0a-Ǝ`SaC̈́riy3a<GF|{uCD6 lns +L ˰>!vȊv<)v%ڨhcLZ@&̩/Z.D?!e5q@cblɏb\-w37%fTQsѝz@FN~v!M ɜ`fF0C3DΉ:NT6{ID]Ȍ~rfCo'f;  +z[ث| &ޯ g;Nf~ :N`r Mc 4cpE`Me΅P V/)nIY-s==1I`Ww™"Nui{ψH_= SRu5iq?syI+^V }K}6J?[o$z5ľt=;oDp.rъߛGƄv# +"#=T K^3e=&FM%Dzp1q2==(f03clD[S$r0g&tMy)T2'MAK6na< ( Y&GxUp|˰=i'!%ScF%O,G]͹ihξ)oI|f2w!獛I~:^]7ʍn KT~4mג:_C¦|O&e˵nw kͤDtn֫Hq .4}GNz)io'jףT\{nWO_ߗyy-tTz?Ⱥ[4_}IC_Ⱥ/:g_tS,`SM'm]=oqF5cRlҙF33-t{uA ue?.IU)mtgQra}wM1H*PJ.~>$eyt$Cu mUZKKw!GP}ښXk%yf5Qi"0׼s?0r ;bG[xKaFjciهk4U$9Md@GJ[V[OUQ 5ci;;ܲݩ$qh /j>l}X;O9 nUԍѶ5K )kk +GےSUE SwX`sJqpJqjE[WYQҊ]UފChISEΈK׌Y^M9ea4mXE^xOhȀEE虉ƫ yaTcLAp_p=os?IϢykZdb_3бwEzP|? +(?;k-:!' 'w9~?]܎!ycZ>DG0,@ul!}0if[}EOzH+D:^f`-5k5hDŽ}gy|c4ыƭ_ʏn3D7q/eۍ~Zξr+'_EkD.yõrȺ.r o2>ЂW^KUʠgw<F143rn/<'3:dZ'T5q (Jؙ`r~i*(*U36ħ|!Ko&W01g|āOWe?Ì +əpn@;A{"Bz"f&tp1 'FOg]Kg*N_b& Dru +뷉uwE薹WQ|!ișW'aĿ$ +!i5?o#vUEΛGR_K쫏pbת+\+?~,J{dIk6/ͩ{9Ú zZ+QK/~:,ʠ2:U{/)fZwasni ,˚++EzCGog:.]]4јpmtWhCUQWIQ>(z.1(FQWrgzS>¿23|ԗѕIwDܹ1,%Z)ptG13ia"Etw1ԥa:J::KQѢg',%;v?~kӣxQk}ѵom 2dRk ĬHcDZ.¥+Dΰ }Q5_mgk!2bУĥ/CUwSa='qLNE곖o ^C Sa&Gc'CpT bP0`||pPM{l^p? K16~+<BD!"0* vI:BAa + X$?myҶ; +{*LI+=)}#=-l7{yF}ipf?R nsғO?*93Wxc#؅=i|{p61lIY9 w_.TAK.]@Q96W +7Jy +Or+qf]ɹ.AgMLIL6!-gO'aB!!qq\ؗt4JAp$ zp8W͜s1;JŝJA .ܧ)p>#c!,G0d+gę^56I p/ai0D.!a QG?&؎2\B/I վ;I|k-ė$?5u9wuZ^fn3u(߇31)篫ނ3e-Ik}v)z@_-}ZwNK?WnE4}Q츍2&l!XHtDF&S lx%LOZ0W`$R1%4czjPGyqՈ&Sυ+kWҘBug3ev~e6eZݘ?@W5cXeh5S,_a"(yAk%}|LU~Wq$޲Cr3al؏cQI ?؞*7$a}{., `n?䨋G ֆjfzjju_KNE75=(/{FC0CA,_C&cį]v}Nа S#8T%-֞X$ɌG҄W1"QtIF-{wؒ!^L1KvvՌ Ojl + 7mƛ假1 +:m3ȏ.gs3׊9wx +^@?.npe>C܎# dadCeАY 8$SBLpbnf=9C(2A04F04*vE +)ĝ)#$ +3!s |sqz)cer|ѱYM`щYSSDD.p,kNܺIg{IR!O{͙5 +V8zq0%?Im7mhcn +E^_%_WKXS +t [cj|t–"0W2TB9dɍWsԆ`.$ͻiݿsq=M;'̈mb 2$_[+Ѿb|$dŌr5ѯ/&b"PKWDDTDEgG{, A.]E_ch8#CK4NM6CB~fi*ja/Σ蚎o$ߋT(nu,ڎ՗g$Kr{[V߉ Wbai>G+4>kLl,La=[}2Y"}}b!;cKpǖħp73Eql ا/{KzGĞJcr̉+QyO/ hW>[Z_#ش Srl?9O|YJo#&%hމ|uV%ls2,nB$I/!U:7r^Cއ㫾~Iw!?LJ_j y+ptsR97`Ė[uvKng=,u:kkņbWĎ((* ҋ((b.H0ɤg'3>)o=#-{ZYӒ'dr](h1Y*MHZ,XBrD_C]xZiRNdÌI_3Ԕ|Omw0cgտШ9P_#C)znFzn5;'sd \|;?Ie +=J"mD|p7?ƥSYV5Y4!t$?EO bW\WӒ{Ԇ~n:-I]؋ަ_1͏P/ ?>V}c Xjܴuu%aONY +~8oF;$5?0(2~?'Fż p/ӅqeanDܡ{)+)j.FwWNB׀OԔ7])#Z1lǠ~ioyVYXfb { WPw"Q~wL]x+ӞZ؃.5jBfќ6^z6bEk۴]+>#{ u1sEo1SiH=D` ^WcbɅB GXw/o%ab_s/ +XNJs>w*|t + +4[b6j1o&.FU4L)C|=v|z*qWY `F=V|t <(@h4ѠV|^s*ݺ ͅwLĥOn"E껈"`4͢)=*>F.!+$~ vsn?UwwqbgTVOm㨔)ǢKٟ^VIe*k{SS.E/*>V.C)FU2Q_+CYymoMZ[VPI+r*9(U/G^8V--VF:5"O=DK5B %)Q'R#"\2bLʉ.4%9T>k{ 8.FIFE.{ƌ)YlNZv< z"hR%=gѷMM> `+Pt\HԖ4ݏ)uNv +繴7S1}-u4ykiUdש`tL_fK Z-4[22g1ed׈D!Ibz.k7]5-*F̴/ѠDvhi)NDo}&]bfGmvtzsW\H. +-JqWN@{1c^9=_zƥOtK0q;HwuwSrhQn͹973@TPtW/IGu?:!׏fU.Uջc( UcQ_[뙕CS^.VIՔ!-tDBIifkp, +K"SXI_.1 c8 Ŕ-M\|^­Q$x [h6L:9[ȓ[K:|z꫒0dCuj+mU`/>+2Qq#`axZ β8Kc>LAtl%G)=- R{| 'GwhO=2=21} s9:3{,<%m܉0.A}Mߦ#k#K0}cӱEd=4.e9S3Q 7i+Gr*xٗh+ VwhM>L=[I[;Enw>þN1(x_ž$ƍ144̀'j$[e6$d.!7ލ"54"g1dW1)xyȗƽ|7asI0&~.x6+xt8 ~=!}jP2pG}giLy N5o& [OZ6ͧ)a>3SIZ,b:7y4&ͣ!5>{mQkeYN< g-xʹ` OR=%d o%a0aB'I>Md/4ǹ%wb&vnBا!&y/ewqtgQ3:p]M +4U3W@5=U uk`!6UdEPgmbτGK6zKb~7ClԔ~ gݠĭM{P±]F9OM1=Z1C`:?^ =u4jSi5g0\L]6<Ω%߿#t$WFw/8[t +o'f.)NKO#lDm"{I>yE;v1),赓? vRf ]~;+$H3w}5ϞZ4Weo͹97Qc\C.)DWQQ{m\EA?d(e%WlnVhǽ%}-++Vڙl0o4Ź_Ԕ,{"?xJ(+dM| qMiT#"'6 uDm*/RGIsٹh*;Z袶΀Q뷬Sa-]{1~NOCTƞt?cd'hbH$O0©9͘vf~i+qlĚs +f:OkP +=/e[ cVWTp|zcJk9M4Ө5RMrSO$Ǩ3_YM) ] 4i0hEA5jy PZ)5AOᮊR|S!KOP]z:}8ciϣ!GåĦ +\KC=x܆@1iq`ʦ"Mԧ]DubGlsО{{* K;z{G|L:%8Ӑݴ$7QL +wYc{&xf/bxq,*-c:,ƓS1ͤbC_pĭBzv6ړ1I{{4ƾIӥ-t: z}^ wrX 3E'GAa9'xoQd D9L7ݿP^c*&zw~Ȟ%RI̖x?k®5 `LhNk:P;uJdGMVܚT*8@M{R]ut7k諦U@]U$8K<c,JaMc٣3=rMIӬ;OwsC:Lx.>I~TKx-FZJV~ +x򣯑q..Oy2~Ko{+Mw>?~ }Bd'S8]).}$k=7=SI ћ&/DmĝdIHt{'c<މac>H⮇I0f{`6QߤA}=}mUn8v`UQ$?uȊWTwip4RV^{(+rɍj#zB"%W*'e{URpҔ\y܊|} +LڻtP˟;FUn>ʌ?!+4%*ѢPM=)MIDSJ<7d$WwVi%PUKg[^M4mA6?>-,P1>y+ͪoCMOۘD)krd*E`I߀#b)s>\b&Kšw78+N 쮨0fǘ9؋┟)&GsNa8JUڗt8VQ#͑G[u]WT$KyͩXKϋyKQG1<؀Ǚ2m/>MG6wu(! U_Θ(zWOZȎLG5ޥ;CW`< +/~N^WtLu*~ +g\L_tf&ΈF.Bvx&siJ^ ~|G:mg|KTEw)'@c'xw\xO*\~ | ˩gНY`^Z:hm不G(_{@I +;oQzD_nhdWrT؇JAWG o5ez^$8Ak I#u݃wx?3#waZ{q7zo!p'^=:3`0 Gl72P@Ms=EKB_6a_3L[*ʙw_YOE3D  B{v1;ܢ[6w=J)5Z~ak!ic,oBEé%P⿅v]25%8Hn15*h3b/<̀}RtbpVO'I#vӣ/n%f+n%;IInuwT?M[_>8]>\{ _u')up .󓩄{_Z?]~"L)| {|["fݔ/p$/0Zw97Ǐ:r3QLM2_MԗFy%zY99T#+xq}'N_G[a:YVB*]Pd4:X*0^CJJ&zr-{VK$Tu.69h}:kCHg)Λ??S:c o.!S81{;4 t犧v9_Ҫ{.G0:TG;VY+<4WQ c9ʣxS\o萙:K1r.ܲx,izl-n\)-?4TMd*W^g!L9ŹXϥ%q1 xkB}pF-Dwj:q1{G^1y5 }rzsiNY#}l! ISFΧ+o-u1 +iQF_Kޤ#\1+G,6v9` ysllAs0Mu4,_q1`/=8د[W @T|El.\-!uȹMEv:ʏ6Cc2\si{Wͦ6l鑬ǓWO|w0_xE4$.5tғ^#t& Icx{yqE͠6ni ,Jg$⦅5F^r>FI{n%~âv2gFɤJ;ĎEAˋmsoS. +d +.g6n bdIG>_Ko]!^;fzJ16alw6h|}R.n1_I;& & Mtէ:M`#xyDϯIȠv<:jزi`x@&VK4u CSRbMcGɐ_csK p?k-$Y#i~$['$lwϒC~xg)p[⎇(%$^{Mq +]k'TA0Փ67%c2_>KA?y̽1vm{g;=gAoy kpfo(797P"?5(Q+XG{?Bgg*yȮ*m"+pԑ*Q*,AUt)F/ZGc\*"V&1!4OԏJ7$O^\GyDM,rߪTW_,9ڲ*+@۾GZC]~TJ1IqYܪBe{F~&3 zcI!1_"+OP#;E֊vO݈5me UDe83үN~w~&f%k*?)~3½X3vcBFtr%PFmĘ =#8*ln^zLϢNOGunhRPoMuތ._V3£4hc) &;"zU>Xp.#,h( g -2\jձ2@ SJVE_ & ’{lbZYMMט/](vSVO+t̫hO̠t_|Eq/xut'f;9 [<1;;R>+}JdG_%s!c O15mZs>OsXCe*7h '382vC*g' n688olDd ;oCtww18$G D 744+92[='xyC"[DoOԀ <ǙCB>7F:F__ܻ7k +?xv;kn&> +B92֐bJiy~a:9XW}[,S;ٴeOC\ab:󼘙d,E{4$OQhKO}c= z')ZǨu/._-v=DIb.g!R`Howqr_0-aw>J'OA2?{wd$?BuM=MڎIp?qIZŘWPs)PXJu$>M|fg{'-B2. Ge۪AKzt[+r E,M4ZmYshȼtTQ'-4T0g`x:uғ/U3'c8Gv*H"*g|EsaD~8U85D}=HMn?zϟ$yC/>WK߿(W%ZI +=;G]?O:3V!~[I…]- +o!ʃ(۟# 75 FȥXrm͹9QFyuqkcT^ɗh06MTjm;0괔^老|gN(Ȯ.PIS,ӪS)ޑ~"39?ϟw~+F7~JVl5uk6yKe^{"/ESOUseY׾MLqصyX1Yu EĒWswҤ ÑFMIjY:i_K9r>-OOEGNK"~G,uKZ"0}7TYz.%ۋqHSulV鏳4-t!~D_]|si:]ITN^V|"nm4ݭR\XjaTQoTrsy)"u({LЦ leJiS0gƜG%0leA,:&h )iJX+8ަiAm` YHM",o~WGxÚoѐm-7YN{{jcWa +5Q}͐5AY p/&5\ў+q>ELGC7 1X=Wq)f I{o' Md uM711{lj['4AW p<97&j6aM\s;UƏJwW +N +_a`d!i O.3+ +,"ŕW[$;r6~wiB[(DYo*:rV +{dY_+]Kk"Z.-&QhHGgbZ޺c8hNC{˲6j.uoМ&p_6|>f7y7QN{.T3qbV2|m{PGOn2~&TG_Gr`QL&bd?J¦)b0f˃|<=N;\sw7?6cF;t9 h]_KEos)mR41*.`\M*Å߃^KG{M8=F: z䢿(*3gCM{M-5 {t hehHce;.Khh5Z^F.l3օ<.nBև\'/D2vFGI)&v)@8۔O#\e1ԇ^xzҟ 93F*äN?tŘuVK~&ݜo?c ^οg<{H'/?zh (.QR(A]eEr*Aer%ʯE(nS)H%0EC^o2eH-׼|ʜk_P[DUˮhk^>34?rW?+ +˩,4 +Q`( ^2UN*8L"Yv>Kh~ˀ+Tq),M՜mye.QzuECue`2=7k4PFseQ%OhREweZ+SGNj +>Ñk'Ԕ$T u`+=Ŗmx !4=8~Ŝ@N%Jˏ.*sz+p+O`+c78Atyx44hǔ O1$N|rݝKO ݭF]r2?Ø  5[GOVk>ƔuU!x6huU`)G3Ԩ0^mFqML~o [HsLP=|A ў|'g#}}tocO=qWϠW#if9,3pE.O%ٻqE@yE f;tI)S1pEs*ʟ@yr681<g=٨@u.UGU]q500(-HIufD$4="2o|gmd\v/zp7*jE{;$h1Rq 0(vbvƏ'\`z >_M_WԋC# :7$}_|Z-fmzaէ-=j^ty _16épE+ds/ҞGf.xY/S9E4 ENO2cw#Y) Sc>7t,1aؓٔ6-t.!hyx BR>zroSs 巑.}O%jä~M>ʥ=]9Еwaw<9[sI[B$WO)XS0ګQH6r5RBOK9r\9 vWHVKw==MiԇIZeYaM]`VW)j2"QF)v2i4ȢDmSQ0ΊsxjR-VOW]ݞ:3);%Ui.N{;~v=Bzi>=E^L?OʮGi +}VBI>#2.x2+k$?qC-巒m +?L$m]/d}$UG@wdGk97FU8ӐK(+n*-k{vw-^k*o-)ȵ :TeeQ+ZǤbWK?Gzw ks3u?QZ }#1\S_x\mھ\4c^4]nK% zٿ Ir Sw8kg%C~1+D/Uzq83#6a|F.Dlb/ kGԕ&j1)dlȊSvM6,qKa/ަ F[,YqSdy쉌4mVd(:9|vFjqTG14b) +1G9%5U?c|&F|mՑ3x' tꢳV"u?oh6FPƆR]4Tl3q 9POa{wOYEC*l/Ӕ!? a{Ưgbo".iN[;}bzK|g^迀Ef(pyT| +ʼn8b3;ka:4 +~=fO_D 7:*2Tj&!ߠIFSO_?-<!)sGzSe12ã⮜~U}b^ߺ,/J>ES __cddHd5ʃ0DpeQP-x^;Mf>5q'.}-B仴#%Sަd=Y˰{Wϥ=s9T_x{ ѣ ~e4,6BIJڳXO]oQ !3Oќy+3k%?O#|-DS6/%gĽ#vxbm}ewvN_-UL%g)ѿ|ՓH^&sT>Wv>Ne5j4tզՉ\0ҧ_͐!-͕IW]1#+))_:[u +_WVz;JOa8[$S,]2FG<&\@Z]p2 4iCļoMgGx(ڪ(e'K~hW!=FH!#+y;G d=\D~p'!n}"/B`mеw]Cξg\+v!u#ȏ̦`" z$B[?{BBWFВ[D]Sx7[#sc8Cc{ϓwZܜg"Ͼc^o0_S/PU:8y~@ xr , +  +BT94$"^mPIi'zʂ"W{f +ce^:UT^Tb$Wa>\)ryE^2I3]]Jʯ*r&G'Ր.+3V0aK.ZkjӣQgG̎Ŧ)&5( + s(y *>Ŕ{T(5"Pmƒ S6ZUGhҜĐfǩ܎>q=KUҧ8 ?Uњ)iT]">i;O[ u(-DحTgƜ C +ZMIrG[R5/t]+f/R`ߏ!}/Ui{0Yx?K`؏pe\8v*;63`-]R?Ip^V]\,oꨏPGu<4 ?M!e k1g-Tsμ+b {hONG~i qG/ϥm3uϠ: X_AtGݙOϦ#kE%bx{tKvS1yOMۇ1Fm򠓱~F~nyfhpHh&xkvZ=j#ާ&Mf?? pͣ-k5k K{b<4Ds]qpijfR7K {iXgѕџȣ4'I[jߤp=>K6cOSui2=먏|/&u7OXr [Ժ{[5OJ;\/"jGN,Q!yÄQۉX["b].L!Q/fr<$.[ohW3Nr-eϰA Ts \qC1"E{Bwm2KBܖ$}S/lLOJZ7巓Iu +a+n'j$r> wL݄ ޚۈt a\0k tmHy6m3o|%›ssn>jaVibP`T,<d{o3i_{^k噖gBk~ſ~=j ݯֿe^J2+(s0,bJsOOB/k3k"<]ޝs$w΍eݔFzL"- Ώ+MG7 + ^LvH-/PIvIAh2n*) \TG>Ve2Kg|B_*12CfXџjr%SoJuF_j)߄=~3Ό~:7TϩC}i)aNsLz4h'P^x\-ͮO:L,- vĜq(:qɿŭG'D@# pŞVwTB:Y!Xs~ĔugQQfBG]6%Ky+Kp~DNR=KΧD9ohQhšsT1tW'PBFSIT^O{e ͎xdT©1挡C֗}v9h+jؽ^: iN>*eZlT^_[J9.W^6\*(Q]ЀnNq hKk[%`cm|s]5k&lcye?H0{'j8=LD Y3V-mI m3\/\O#y4N|WKHsv_wI!Dv% +ASq\Ljwܝ;O<uDaU'bǡɎD[p)fJB&+7(rOaQ$DnyZM}|AU<;2d|X<MJ vHϧHyGyR3a*,i#5QC`֙tjLwT$ġI'J)Gj9ID0y?yIc'WhÅΕiDYOWxJ`_!l_"QKMCy +q[1E{^z(^˜s{qFZ9S>+JshPٝ-k 1;1&GYZ*9>j7f>ܺ q_]O叨Oހ;|1_Mqe.-[ĜeW0FEJzՇiNوE&.ߩXN:|Qza8 ϯRtU߿@7OHM:lA˔# ?KoReKp\i^SԆϢG欥ϽT΢WVWӳ̡S!qLmrޥKpΤ1CڲVc9;z yd#M +^Q[}Kɟܱ'+wB֎%~3?#֏?= +dCgOQЍ!+J]:acT()bdRMѝmZ4rlJY9*=EegJG'lRyG*5LFs +{n*r?"siHB׀KƕGz[m Q%ŕ%yS"GYqm: +}jJ27aM])Z(ǩ})8\oө)4nWsҰ|3^g1t$xu K(>=) ŭ.q-KK\Fegc9*S/R.M)$tO&n 1|"o%b~m3R,!Q+Ci {iC5j +xo؆=Z(+sDn&hO/u5tdfÝ`Bf/)d1~o3v=9~:7n ߿ q>j]%b[X/#pk)Ge\D:}jS.mihZI]bfQ?7MYT¦-_M[j3iHe''-FAc<% )2]Eqkiyb.cZVvIVC$dV?HI4֚D- {$^Xv?w3b?JG>A@1 #f$C"2'贸('Q=CԖG \Aklj\l@q/Pdϒ7Pl﫴g4LUSA Z5zn7ltk_F%=>dcƤ֐AFo[ f,Xd0d9R0É%/|ǮSHy +SOGs'/mJ 6׬GC?:sByjC#Fb-1\mbE5H* +,8{QJP<%f E;4\.riw`Oځ5m]Lq[av;Kfq)NXH%mW8\q}SVJ5EPq ]. +#7߉Z`IOդBqOƒ|Ds^)B[B3 {O8q( ]Iؕ~4̾.kj-_m~*q+hނ;cǧx^~R)o أOQiOOsp,#o 9+0z;=koM⮗ḑ^m?Lyq KiN+S 'gېɍtu/f]40tc 04HwG;Un<.'d)VO68/^=&_4NAz=Q )o͉N <~Dt_߼}^>7&\gOMV0+nj I6K[T :l ?`0=`;ڄ'/~ RԏqϤ2=ڲWӭD]" QT\~S ;a4E[ξLSʇ(S?(Nyuz+,&]W̧6j_1\x ak&Z;\uure~R?T7[3NsYz~!tä} ~K!j/ 0_M&YvJԶoϒ1\I&;"vDm}5a=` -Ur^C֗쟨Yނ*jE߬@ȠNJ?%2-[,<iu[EwC?SDWAOK鮒+me2uUK[I25?Zt(IKG:Dn4X./t'i>y-~Q"7?JĺbRJ^[>++{K"=b?=&'KΣMQB6N_%K^XȎ>kKRdl|WݝswV^^x+ffSSQHSN67B-O\(\J{Jkt trcܮ%,j6"m6=Ԓ;gU 4w]ksg] ̃<3|1QAE7Rj,2|tdqw%6R3 TDc.H%S%EBaC,BH$Rq"ȾzUB&&1f ]F0e +{(&a34bM&cJ9Hs%;q%k~,YpH;JqJbNډ-m_>=NQ{05kWKS$譌ϰ}#VWgh.R{sAb$!rc4UhL`8PIVR9>Ǟ'¨?b>B+bڛ ̍-ׇPWRpG~+x>KBoUQ+1=}jR.o=t \pa*>\y8s]׵9bvaؓ!\CsF$_&/NutBߥ-c +wĞEl,pa(LmlR!o 7n ;(^_NX5|vD=%vl M.<7G& G =b+'\n>ƺaONm7o'z:D ^MMjbYFccfQӔϧsӔTΡ*RБwTF,!y RV6W>W G,S0_x9t~Ba?Q(FYЛ".fkh\!ZukͤC/O=c5K7q#beܮlj$i_=%;v?Fjћ/,/}:>tƒ~yb?N_q_W >}͏Q +'q; Gwsh53ئ*Zűڢi.$|6z;JhRR3cӤ:F $mYo7]BI +͒4#n3{OoGm(.&~O^pL?/['?}O!@AY7R|m߾MDn{qDxϟ&VQlG4 _.0.ib䥡;w)P^M3@Mq?+4qX5֗vZQNO46<VϔHAz0fH-76,WQVskRKcR̘Z bJbF}MiX~ʪ+@;Sf/HGEsg-hyޮŴzp@+_V*Au<:Ȏgc|>,⥫$X<4yB IHÃ'Ra4Ke8uRT12o.jsF@ֹbVMA2vU<6ٹQ, CMD8|;`I!G$2v"HG y)[-a=Ea0EJ+P+s? /%l+SsvtkqI3f6 Z~ؤ?1uPg)QrQ8C!ׇiœzK73vY* )Dqk%oǘxVhLGq&狙ޞ: +gխ4砍8LEnUq-? +[=CӒw01y'4el8(ӱJy84PtL'_3 8/ p1z( xEO/P,|rM i"].Dh8.}ouZ;奵#@ +"kP2 +%B Be&$9߂,ᰊt]rKK{G'$0}_4OV + ;;KGG;}[@سq^arx\k&øtX4?O?&ۂTצQ?畷hJ_Sa=ݐǕ)"+E΂]TD-/R6>ja?BxqǣLr=kS.) CKZZ%h^Cy<8QwoKzQbM@g5pAvN$x:8&bƅLŌ)L_ \]$=BCYB6 E'x l{]K_Fe uQ"]KuQM^|RmF)4o`-rZ]t6;u 6Q/Ò=vqZm?Sʳ]Ŗ9/%匿:f7B#z[(΂og Nmjꕴq#n,۟&xc¿"zfm(z?@ +'d e_Nof,aޓ1=O#n*L!)Doy\dEk+#*8G\[9SΓOū} {G{!hPSww_ƢTH?w)FP,!g, LxK{ŋeb˾ףbP*3 +( y9_N?2h1Z&GI糵XJ֟݋Ҽ)*PU?3F_Ƥ/UPEyW"Mn><_jFl~o7Ρ]vR)Xi)RC{,dv?U8:z.\aOOu83>Wk/ĐtgA b:HGu.=UZp+/cM* +LyV U'ÖvΊKI`J=B;R \(I.0oc:=ϯ;:ВTG["Mkh4`.!zMyll>3iJkfd^yU*ЛՔϦtWP;[ȏco_ m]4!t"{w`MMF +lή^N{FnAK[3o~ ~ j^M&~IA Qly;Tnj!vûz"n~J:h0J<@HoYGe2\>a6i#ޥ&v^ybHj+Q0WLP84ꓖSmto9c9KEUؑ ItshҀɸ|'iLKΧϴT,oa A%' 4>"t~ڟgr!dϖ#7%pwٽ"RE6Q|a<>IΉ$Ȧ2qu,OaqKzYG n+(ԚhΧ`C}.ܺ3;%[xctnb#(1ciYJKg +t 7,`:9JWm۬IJŏfe*5i릷BeaaWvqJd?סbpMwS.4,Q{*y'fs#b"_{ŋ^0[a!k$b8V l";jck+rۺ:2O=V1>yZΑ;D{$|͏I>y\qDlzD[fe">HGyW{vwݹ;"u+6P]ĪJơϡRbp^e,vq<5<LVI_pB,b TT92FN_,aty${="|M+W7~/-$'qoT($%8iVykH#ʑ|3)Bn e0KQdO4hhFEKKF`e!IxrLNl:ihoZS3).THye IB+s/h~R6HOV1#$⼑/œIs$a ݄5}'i- Zuc^qPq K~,(B}W_bہ33JUi_S@=*)JҼ)b3' 1M}^ pH"9>a?֬o0%}C(Q)qj.c ]aU>49p {;Kڢ(aL ڟ2m5(JYI.LtJCcw(:?^~A''2O*zE&c0W^IN.vY'/\M?o6 iIYGgc~塳~S0-[(u3 Rri]i^(tE=KTJ}Pxn r}Ξ*jjhK\7$q75.g~'2AkzNnA Xttt~x9KqgNܻ_.|#? ݘ{qngc;3:nXNŗ)60_yhPɗ1yFΣ1u"-.q>%!] +|j ),>Bwn>' DYw6kK^͂s+"p̓\y%xCdN` +{\>ݏ)-ߵ?2iG~>'x̓حH;r2Ի$V謹-{b?:irPoˡDOwux q睧Tvor*MqTK5zc8v=mVKBv.ܝ?{4J)-M ]@^TuY$s1cC 4Eh )ҍ2cMh&(ٵX +Gz/jY +d̪ZШ)@#MAA#C}_F+y\hK[F҂#:ҊfHQo3s O7P$Q,5\ +.KV ґVa[(q&waNLEE95U#>WRA5Rï-2_N5KI`])aKKw}6%_|)f.闔kOQ>Mßj8bMہ!r# z4ZpɎU30XiTG_Ʋ8LI0DK4l2Pk278rKy1olJ1g~!ehILGF5B9?bSsS  {~;b%)6TG-3S8 ɸCޣ)} .߹X̡:z]~k3 +oRw\'^uG.Y&r7w܄aont7a=%h=" D'r^Z֋Μp ${Ÿŋsp}eԫO[BcXνFm +鵟*gPf)q%8&w0^x7Eܞw"aV~N(5icS.-Y+[%vDW%7yrpL.a6 (NEtT_ODvlo$w=FE&zc4{ҢG~; BV=D𪇈6an>Kާ%X+j>A'5z# +^|ߋq[{JA ?,HZaT-Emq?ziqgPe63Mw:ϣ$O,쪋T/ߚ&2mR-Y4XC/\E_-=-:4P՝€IG%C}6zjqRgYELKeC^#}] +* ;܆:xT\/tOqa\ ;'fs(~EҾ ]?N;oT`~]Oq܎ \]7=L:d\[JG 0͏׍,ү 1u&p6'j~,^O]y>f,Q;$;}H:濵3k;w7?vwcS;,PȰ +jo*Eeb/ŮHrm>EF"iVE48c)OOB:%*BMccMNP3Tyhd +~͝vTLNĦA+sO6zQ')nZy +n hd: pjgcȍG;R#v4[G}jZɝ_ m: *[]/?FA6RӚ$ï+?Mïǚ^0ٷ%ͯǩ;EJ= +5`Kg xL xpd~)f o(?*x\]-e/UÔ\z:y*pNR h-9/z|-9 04J{kQpco.jI4+cvځ#"N;-yRo`8`7*T_c@"%te S 0t?"#T߽41Xrm~|wi9Rإ^Qꈅ̡(|RaoL'~=1wi9f+4ͧw~snĥ}IXξNy{ǧS*9uoݴwv3t//==="#d!ߠWx{DWzG ^op8+G{w8C)pĽ{=A@q> +?$^:;=(pOe)xTT9LI [^H{W=BSi'aYMYz5l: _Ѧ<4L'ӥYKcB̗ NWtja4 Ra8Yd-($A 1_鎘 ++o*YMl=u )>YnR6Mi)ySO]МyiK[7YA=OƳc^q빸O~O$06?BЊ΍ܯ^ErE2opeៈXo-kV=ʇ0][3bQ'^ \om+./{: vqQj8dZ)ch)04PJwJ*e*qNJ3BV['\OW]=2}Cqv3^ .'Tۢ "O |c] 9^$^ÿؐc[y??CiHڃJqhNΦ"t d߻Rj)-Nm%rTݝ8 +(a'bgb7fa-HĦIORA];co3 +obXv J%F?*oרߊ&GAQHoI\K^?(ޞI=n6CA}Q2zsMN{9(Gst(sHSґFS%h%4Ia(3n_jTHZw:f~o I8 )j8ڔi8v3}4|7^%=Ls`JڅCr{+H]8?Ş~ok6N3~SnBIQuX̒8~u{>4Qڔ2]x[u2Z**TyrIi)S xaʹGCe,ŝ]NOmj gޢ 'a_Dd+M1yt^MS 9sq~HEćN.#W3iLl+NY/=Z4_3S.>3hL\BcbWgQ.KoO/'F!/rHR}C7D=Az躩ohC贼)AϠwuy5#'Y>B&R&m>C7 pz"m=kkzbN'> ):ƸyP˸BR1%Q)[HIyMs7ЭCr){(6y˖PՑIIo.]C{ZO&zD@' >O ",|8,+1#hwa\' \ aǓIB>@ȪEt¶d|}Bإ{a4g>6N{2 A&~i6I%{B Ti.ג7³TPFVez폋>GF< "7%aK'E m}aNjoa0`㣄o@' {.Ni3DoH¾1AL>뷉<_#Ef,[#ish~AΑ)5vv?ÝYFw*wnJԱ*)ER{f, [^Q^yNگGNvUI}m~J \WfE.jw| +w+PPxӧm <9+VQK2pTYݞ̍|pyMQ2NEYk;]V:ڌBCfl[A1Z +5h30_9s2) j~9O<hFJ(#ur<[A ܑ̜KqY^mbسb96|.ٗT`LSʷOcIC1g|K{M:q.1-^BQ1 I_^]RM8XZpܟp),6*}Œsq4v;0_xŷSQ1s0<㙷ZF]FZS7R{OΤ)m=o( _IDo>i5u1˰]1+@C%G$#/P33)6yXNMyq:%fQ^zn&= V2^ bCCAڽt+ fCt +z>68HO_MZ;x+:t{  {:/76"hB8]<}Se{΁;k(6| kXo,pa.Ru4 dƿDMBYUX**|5ՁN`-: N5`m8 ,)6kGP LbݦzOk< nӉ56V4:;'p`AFe4aFc4>^7sKqyE<nKnIܾh.,Fyn1![mi-~؅S MW=qyi^gNW +W%4iq\eJ!;V*͉$;չ GT@se*E0jj+>\*2}H9Ee]tw[J[^8)2QG]|zsjN#'IYOOg4$XKÛ|},0TDG(7 'rXL!pGGwWce|׿ﺗ0CBgDZτg z8{'q)SivIF}I{kXuOa$;BB.8^< 09RLs_zXԎA_ƮyihbB1Cj Z*.uVN{}3i6M + +VZxM $<=a.ypϥ"<^UxF=fu(|sm]TNQ%`1w*Ͻ +\:2t{K^"ǒ3Hbdi*& ]s!IBDacW{41O`L9d$_跉2QjLhL?wl. ~Be*Wpm!= uPH +%sj]GՓzz:QF'0mIOg>%%=9#8O\*ƇX-?!x;V/zĆ䵇o/y~^IE&~;دʫx}{'u~J0]XJ&hO'-'; ]gv-tn7^#޻d Ⱦ~Ѧ:L4 I۰~өYdNezsoS9d~R%%'ʡA[m=tL{0DSK9y +]u5MoO մWUK{[ }uJ{{8oc_]i˥EaiǾ6 +in.ޞFKvVQKKc% 4֖BOO;=tQMuU-UuE[[#w릾Ҋ3p]KpBKCVisflW=3n#w WȣE>==w'qnCr?@y| + 4į#]Niȧ{~ޣ9i:z"RΦjc?jw};QrNYHO-$mGe=/ +$M#|X}b~e)/W ʔs[Rⶌ%bHȯY$`I * +Ѡ3Jɱc\#K30ÞHIf,gL ±\'8dw0Xu:4f|K %%@zJjrJuef hm,22'ŴLwg%j2qih+,m(.Ccw!iWb(€Ud#+=1 (Fb&a0ՑiMxn>s H=XŨO|G86Iد.~y1;7 ӥyFv}c)$=NNM݅ ;Ϟ![{1a&bnA{Di$IЦo)}Q|9L  t!lhG\H=K"=^0F d5} 2 +-PRE*l䫾t V_=ETČ&#iJ8HQkMp((ˈ:7TjA}^8ME9CiWדNsI<ź;n9jsh5 ΋.?"#ˣ$tok ?9?]#9-#\3sw׌ l0O +_n[9o:))#4;~S”.&&;sL0籜n%MbQ&c׼4r-JI +ht[(<[I6~dPaN#2$c \jI >ĝH>Ņttg#;8I?ͯ6ov))&},F<<Խc'f>7_Lԇ`:Н -Aq`*eI&b87^EwpW^GwKl'ӡ`6H(.XMwW)Y +]ԗjɡD-Z!oBE]AGRH)|{4-U6Rph)LB3Ɠr ՅJrA 92 T%RC)=m.l'gFsBW4jOjdTdHuDiB5t"oca1NJF}jsq\~ɸ*ӑ\,b9=NDy` +SsН_ =P|dGc~ 믑r`)nQǦ6q.E6W}3Pxg: +mC};KQ@C \?koxF≅D_s +=omA_Gƍ!|X׼Lax||׼DQ<\5 <5/E?5/y$V !th'`||1{{:Gf?ywe?GІ;SKr{CjRSJ]5ԛn|`= 2ϡM&T­BwNB[(.!`|7Ο/ mM9(/J<-ƒφ/l?s 3_C0q>.X[q(wowbfRO'bX}6 ß<]#>SjJIb>o%%CȢKA.gϺY>8)Q؍Q8 _+Keaҩ$aKװR#0W]XL#3=S2u#=nGףPEHw%fHgcv1>8 rf󳱜AQDqB~ Rܦ^#H;ؿ]:3Z?T]-SZf4_OSCfK;h3h=lzę"AHޠ@u-ytRWmI{ +!t6;.A)AKTel*2)tnDsZ!kd5(J92'=5t6I9ʻEw,c3P,Dž?}^՛ovÙ.$λd}d{'P)93őy5Oͷ0_XUKˋIʁNra. 3w$秣;1莍E|"GpBż!Z!rw>"E욈ĸM&b|, _LoEoM Q焎Md?Z׺lߺanC‘$Cґn+v=\8n(qB!t4*h(]Ed'\ Na0m*F/hBO×/rk>׉=4Kvb@ѢNcgqxP}9=Z7OA&W8J̮"vN"L9N4{+'r4碼S?/FԙhA}Q1HS ADT; ;;_š~k'>lA?_):4¦>O֕:jI 8UϽ}LU;׃!q aP`U'bU>n3u*2*)!h#\0Ea7eM% YLɌˎ'?FN!JgO>BF:#V1y4Ldn'#q;z f/>U"'i-d*Z@wG%@,;JEFj($qn%G{sqOb'#9ўqh&ۤ]sўY RfaKKmI96yOB{dڣ3rDk soӳQ훈Tl擲"){!:i("ettڟt{1F!9Ÿ~X &6qFM}f;[rWIG=qtNjY:+Z}}u6Yu*4D;ڒ$ t@ow9 e*ʒd9lRS,,͗lUJ4W٨pQSlz8GU)dYTi:j;HNLgo* +ؾ_b4TnӰOdyː|2oC֍0_xbnI6X//5>%zc '璼c~g/g +Q{"9:G7Z|cWHƑbN8f(![^gp$ќ|\z?/vL 9If#?óDo1 Eb"?qfωu 0ͯpg:ԫ4HDcه-V[Ki(wR!CghB{s%HʝFUIȎ*ZjLTZڔAkwREgCSwiU\D&udSdPESrj~t7)wxtrUҖOxv4!%Ng˗ފ~<V=3y<WNqø%}2^kG_ΟE_g?in$I'格}3 2۟G9j8'~ lQ%gOO_3cQPFi$ZnN?'aU>Xu4ȰS1'Чc3XI8ц~U'A3PrQG!<;-ZtQ$=$9ă v(#!*:6ٌVCTaX%))F L&šyhq"#=76e6y聜IL 84_3iR WIKeWbS,U%4Q^ZA5KN=rE,=1d-%-r#Y#rTؽ)waƕt UqDCn3뮐8G%ߌ9d+Niru%sģşrIS\&Cs + ŖGNa=GIg.UY}Q_yhf=4 d\{Y$l@1(xq) I9470_L=l2NEg=2]S1M֍7q}މw ~9MGud&{xT'`M:Ͽb&;2%HN5zɰQP-2#ɔgSW@ERgizRꊧXAij3=]twWPj$Mt=3hݕM+NGG F2ʉJuF Z3p1Z/#EEVUbfkK9%J2j+R(ϓR@Cc!}54D7ob3 < b͑.-CbajOAux&qFc>9?99X],Rݦ`I$|ߵ0_֧/[ƝCD bDᶌ! ׍sPBvN"BOC}mb'px'|d| u.jaoH:m:pypWC&6 1m4[&FOdJs.IREgtuTJ,)N!+EOG-5i4hQf t0z:i2Sl*'tZj͔GPhFKEZ,G9}iUSO{&#er1K<-:3]͙4u57bBIevEh魗QkJ%xFbދ!xJi]e3G_ Χpk0 OA>x~8Fqw 5;^&|N׺q윌 y7 M50Y/v)/%dD<׌ pX h.))&,4S@L ?{:9ix1'_U#Ȱ$aä{ DC8kD3xϧIQq4UT@I7.Y=4w1"/DFIB>cr.=Cr80&,z=p^s`_!HU$ ⇔!D+M$%.,xo50D:ҟ1š2<e@O)A:}@^e|9Ct}˦VccD9oYdQXnӿ% ępۘ"I o2(`!7I?%MIueTVbƠ N-S }b *@3[CD'C@S Y=LsY +7P=؂kdJtc.ه5t٩)ܢG]n嶛؈)+\')sReF8-s&+r#2)ǩ +Iُ^@o`>E왊l̗_#,bM lh1$m +Ggc8˹Eriӳ_ZlnH +ˋQDڡOϡCҾ]rRvtEkʓH>}H:خwPX"lgg]T' uiҥdX(-QkZOel'%`ڪ5t7mۑCStS@YF Pڲim!D&MV'Q)2J*OBm*]eSCCA,]-9U->A/jKiiQP"NE-4h(]B}}T|-uRrf!ytv>}0Y%HLpfcM!eTt爚|TL`8+SI=8 T{?Ǖ}_Cg K)3.l4:2َW/r2?aٙX~nL?{;>?pq6gsޖxh^ǿ;'uKH=:ۧW {h!pXV 'bT>"W ?8 /tcp"wO"d2ĺMOОbLCubW4F(6J[LoɋIGsʴ ut,XKsL2 \4ZK,e +~TɩM0l)ՅrJlRW67L-ytfS!]v,?[ hiRi1' Z3w |wLMW =y#8 #3_Q;=_zw?Ã5/pg8H9_ĵ?uùs\dz. yjȭ !O#ƽLWČv(V<*׌Ѿ7(xJ9IHiSM:epQcǘ2hH~r"F<:Aq[ {b AI4 qD?['*Sh -5 +}DjS ^Dr 2 9EM<W7ʟ;ͤ-鲇Xcӌ:8e!X$dh>iydRҌqd)$?I~S"(NO!!CCO54C +&1#'ӑL{2퉸aֺ ؄w1Ȕl#+-tɐແ]dI`KM~! '-֍Rv|&?uZ@ +8#n7٪tYN#:O(1'zO(N$l,!?4ǍН{؝S; թ}M̵T+ ~KAۑ/CwGwl.mcp|7Fsl&?9yNE{h +?\$_BhO/$q gE8E#vDdg?{b:5wK^x7bG]b1ߤ9,:4U.從B:,;Ci*ꤧ- + +UU)PX[ugd=vcoBD"}}eveҐ/QGG2!Pe֨GGQ2O҂)I FGb z\te&ϑHw[m +O=?\,vf ֋1LlRg;1ItsɹoLg"]ùh/ i g?=Hױ_^BR&a8K(6wߣCLg7Ia zirwnyDwDM}Kf}*Gxl>a;&m(9:I8@X3SH>1/68OᷛH )ˌZKev" d%]$_}X(P[Lӗ.SfCG,Z8)P^*$*~t5:JJEM9TgS)tќMkRW4Uq4kD]5LjpI/=OC\Cmn$5TɎ>xmAׯg"_xKxMyh}I# 6+_{(bwxn._,G_!!>_KlxO)t y|]N9KMɄ힊̛DXmƫor~+QMPsvZ=Sh3ǿғЄwWDEwѢy˦Jz]W4Yrl);MXܕK?/Ӫ6`Ll'+^_B# ܟ0:%*r 3~OKqCיTV7ޢbImLȬE/96T*:/4HUq&SeRlDr*M$RbOMܜ,s/քؓ(qFUU5&軤|%xSk$]@#52'NE(;I+ϦJJ8c_|[䚟cHW ;- ZM|RYJglLt1;'OL_u7Ȗ%_qCQhCsr4N8FfnV}GEv$ Jr5.aO}1.CuxEy|o_Gw&񻦈sp+P⿆Fo*I{{"|DʃSQ!5~9 +X-pz> Gg80ŞqؿY<,i?"M&yAƭ vXcBsf){'3[S5k(Te"_Gww]-3}u8b&Gq:5z +If+hPHE6avE%84TY(v`FeZiml"_+cमDGUn*5z2K!Ww&=myTixM䧥`WRUnF[N.!{zFD>>0>8YAו<1[BOpcs߿SE^ќZDؾ{S 9^? X{ ݩOqi՟,/#;X/.gK|^3D"rIbu~ȏ-$hX| sxhZ<'Gv$Fuwp61gs +Aq>LΉ]@M}5c z wK\bNGKNkJB#&)yNM*j5:hTQD!IR(PA}\;{Th*,I~J)5?1-X1HʧROe"k-Z˕4(5qQx@"N:EH/ScMFnMnke/ÇppAȮmWyzyžpa.coţ_Q|Uq{y_S%?9ncxgBl{,g'Ϧ9,ΡLYU~̦S{,0ӦMzoB}VeB(z@Ϥ "p46)UzXj|zڝ!Ʉ"L1?Wh +IՓ'Gd'6BJrzLo!94 +U?_3ꐇF%cOC4'*%TIr z#Y44I}}M2 VNE0YH̶K1x8nں{-$MIsh 2qd|ߠD[g;ŅIS$KN~5u~G.+RA0es.Q:o=.dpƜ~K.l;0D㿛b}2I4݃BmQɐ_pqcKxTH54(`=os#5UǭFw~ Q[_!v8'砻0]ccTf>!p&]mjʼc27N&kOFsh˯RەYDE$R߾boE..!~dԧcovqp aHܣ@ggاcP#vx ] Uvm4))SBy,1KI[K>= Wȳ''M:JsT72C1bĉmllz/l10* I${{jWUVwysv,s32|6V7z{k;9\@#b@5< bi} SGOg5 ŴuT^FwOM 6^}Pp5x|o`;X&<%!Χfy~9/^@#E':8E C¿O|1˱[GSxMjcVRr-{g"b1Bw,@z$D.'tjھ]J7]޾֯90ZK:{q_qkXmJ*yҾō%ф@{/pgdnGԆI:۫Ǔk& 2"D؟^I{戛Y"937I> hQPHo i1JEsFZt쫥Kw:ةPD{@AK@F{Z-mR݉ +)Pb >eVp圢Pr +ܒ3/N@ZG 䝠Isi +ru qL-Hi0|Cܾ\?ۂt} [=CKP"|DV;r*1ۃ8q;rq"8t<=/yP?m*}9N#񳙤M¶oBҎ)S2nȺ'U?mȥ_85Q%x=TY/(zw0$RFo[Pe>+e3mQǜt[nfFu"Tҧx#c>^""q2w<(.%{g9$n o&'2e8]fmbK/F~d{Ghy}6CԇbrvBl %a;?E; K. kUjt.Q:.>z:Kik)I38@ }}"Oh.)*6zzj|`3M>Z +hn(5۷V08XG}F/}5{h 8kF?-]ꮥRm^Β1X/b{g`><ϥ\Yt44SM?54q\B?l:sP˹(RWƟ[Hx.I}Z,_!{dVOEuh%7ߧ6~؍b?2Dm3;rō!a4"n𱠷M{/+"W;1"?}UBn,Q#dooH߿;x~荓Z3N܍-c7 knyaξJʶi]5k?1| z<(3#fRbJ+-z;tZL{b]qt@O#}~k_JKu6M6 h(3ES__v;k>b%`i[`Ij-,h&RLa~K^՟LW =-*3FwwI)Jc ]1}A$}?--{^8b o8BV#lu,G";MinV=Ϲ?+#j.k7L&/;J?K®Y><+n ,u w"<}4|Nw1&!l]Baxxru "KĞǘK?S22_ӫp8 솟9<;#HNQUCQ]7ZЏ)>#Z^@/85*?YT7TI~QkvMo PF#hnL }VڥCLIjx<'5sZu~.w`))sl~#]F%J7e.$򟿛|FDC'D/eޙl$vdDm/nv yUc6"V6Ɠuh.)Bj4b7M&vTbw.>xAc>}AmD)YLa謕]*Zh*nYAKILk4(^ǫ;KcIDž}2S,ET.P㺄Ou*)jjSH@{ oma_B9\P .:5 ZiDӐBOm"',QC!`JҿG~/(25<['qs$M)vDoN\[1ϗR gF6ꊱDl,ϋyOƈʐGq{2Y^;'}L).hnD\;SI SjvN!bNΧ$Gd'tn?S5 ϩh4#n fdۿ +ؚ4)rPE3˸_.?!l ltLy}vMnW2fcUːK<4i{ ?/_(]nVs3ڀZA5\xDM~.EΈ&-yӢb)A agqz6KMf>mĀ>1l:ڄF\MhBUT^Kĭ|tJ39ýBE¢{~;CofgNUvE>eTWcSC>uo8\8L(4dP[᡽>Z[ gg]ܮ&X+S OGk=ݝb֮R"6O2>Pp2"S/2ga\(ִC4>E8ܯ&Pv[^3PY.vbM?-8w",Q=>sR}_%{\1ToAWDߝ^b b;Fa@?:$yܝ=AbNNOT)'Q&nti*Eߢ&7 glK?gD1U +տ 3y$l Hθ4U/LpRI6RqMu4Y)PSW"րLB5ypn٠0" RgcK:#EP*WTD{K~m)5\FA}M5†x96Zjz䟤(ή +4ש(sߟKS *ߣ:.Y0\"L/Bh} ՗s0]7-jlƯQ)c<^|_c ~|>Cܗy3]40X f _Q }CCq0.Ah߽(85c=9!'d~XAh?CΩDE䧣:[9p1X!+sw,v@F? frO knل-? "|86M%v$Iϒ|hͮXZKq]ԖH{J e(*x%b)bi˲Ů6%3$h7SisN{*Vi6B63ݍ&KC(C@*s(+4zc͠O_C݁l#(Q6 DJThpGh/pñDM YgLr!;o5aa~x7<ws VM'btnBž\9%ntbw-vDmz^q,׏'J4G_qD~<-HD' _9?Qy/h.|8c摳O1_SU/iq?m 0`BLD4)Ɯ~9='#kaV&cVdaMӤqk\EMzPQ[_?fg`xD50JrJD/4T#h2R0bwIj,:uNf +l{R3/E;MeŐD0d1(,#YG#l.< +o'.ԕOCc#8,Yw<א%rb] Tvv0OH={ +Q5ULÔ~IŖ(h ?8@wo-h+Ŗ;tgΣيS];_+ИU=Hn+;F?GrwNJiǞ-SW$QntOiko&> +wYN9h?C,GT'uTf90/KlbL_G<YI鍷1OW( ͗3Bi[f +gtTw{/wM8snm1`L$cPR*KsΙUB===zgkuN|y2Ͽd(7Bk +'<0Ι8[N"f;ONa\?I\$Rσje4WhbϽyt6hhT;vM5&tᦷ;??hD#;~PDEV:uEj,f'eKG?J9E@5[O} +_4滴6xWOoW u5PLKE*tiPWc7= r +uᔘ#iQg +$uBb:< [Lax}XN,{ug_kOLit[OSṤmtxae8 +Y7Awpuwνf4,'7KO@1[|,g- `=6( ňwL b׌֒ YW#!Nⶉ[9{+p]ߌ$">"~< tXBMlBi|=ZBAIǽb$ ;!=40)Ͻ<)KEPKU4UhoqPD[j]snRD_W}=9DR rh*sJh3PWI"ͥIVlP|2 3(Pu(KTDP`Jm4kNVMgJ 1[ל]p\t$$|$R'}<2#r"7#ٳzN"ulw tpPt\0ߪ nQ4>KuLxa9-TGF >TEBM*#H,x̩)|ڃQEĬ5a r<*3ʨtIqxxA[*:.H>K +Iier\Zk.k[r +&xӰ%?&SV)K%XU!IǑKoyxMUKǖ|8T1ZөBq"v)|skT8)/ms"c\&*¥56]J2Ty)-pecN- #ϞNKBKL!IؾWNSL{P1QLɹ.oBT&5 8.r|SR׏&mhҷLÛ(AËp_}ɖIhDo.!_Аmn,;gkպxНI;R#&UdʯSM-bkD 1'GוO{ z:rjʡ@Guښ3,SN/Z5v:k4&QkΎr:rx[DO\zzjQ쌧PNow1-97S''ϚHs]65E* +t6;)Rh @JWBiRv/D{s혁ڟHX뇷lؿ/p=)/^~OqNrf1o$&m<ӱ}շȼ6_rr1}Qt Tf7Q1Bc9:߹7) +Y˄,y+Ez7?zJu'rHn ˇgߣQyӥb7>eÈ< z"S#\9nAЊwH3AIyvLgl:s-VC-z-]v}twF7| + 7itTa"3R-rEDP*ioQjC4U;4*h,є%5 +8C-dH)D:O*fFX*GD*ņ+8 @%6\Ϲ?;خJ \\W dH+osgXn}5C [?O^ dh'^EqB'F\o0TD~eB֧r{3SH3[;$oU# ^1Ɠ8M>/G= {z8em& đy_S+E>Ct񩘥1k0C\Пu;ONU 7S4ށEg }^/|䚇 +3:@(LJb˚46f-<\>ޟ 5X?_.C®aLJ&x|Ƈ#ŢwSr+peDgzkS3bwy6)sUe$*F! .IȶCshY7Ц=B~r'_E{t>擋2 7) $*A37t,Ti=\MTȥ<3<}* f(S!Cr"MV+,CYr|g͍Yt[GGkJ 1T,>*5%ggk(ό3ޞzkr,Zho-!j'4Tک+ӒcMou-ur!͓1^[XN&p&˱yhvO{uf?0~ µlXμ/F}hCs\Ƿq]{ +ՑHDT=:KȾӋ< +1 7( A94 #^"7[6-½9Iܖ-}荓xS \6գZ>S^1oƑs-$|_x^ʎدDMҶDoB́&짷@O[.m^ 4Y'LKE +:lWiiSbM/j]t4h-XN[55.:*鮧R{E봔ꥵFOg QO= Ji5X&6'f) x[L{Jw}"9K-* 4$lE *::[.6*5dj7'RWGGw7=}}47גgx<-ʲ^:{z,]>"wY4,nPx> +.,!% ~ 3hc܌ד9I>\T%S-gqi)v;[u$"DƢ9%4JPp ^Est>Ko3)x/7휌|4{ +x(r>&-Qj;5T'n8#ӑnxHܗޣ&a3Ƴ"2Ձٸ/rt$[&?´o&PNҷlAKJ37eSDzy[FG* m.z-dD%o AGG15<J=ivy Y<譧:uj*Uk1PIK7\S4=.T'R`M[{ ==TZȱ\@gOyF++p'H:Ӿ98/Dc30_b 7ñO.Do6ڃs^}˸.W7/Y,4f=<( +wwI\3ީAi46&{m"Y; +9|lsfWx(i"}3|[5~˽UC]௼s#9;Nj8coQ~{[=Е#]1mI2Y k'b oh/H'l}*SKCSUr')H{՞4=i,Ƞ*' Zh2QG&5bZ2ik⢡XLwV78*\4ΥAsv'վ*A4'R.;2194Q,܃yR:a9B֎&aVg/i_#ˡ\9z1[HԷS9S\.Y.|,wL@vwhOGEn|¾IQ\ÿqwx[ˆE|5Évg0-SP_LiįKD(63j'a6=޻¨n ;w?f ,pePxD CNjVi4^CQ/ccmOǣ}|&I"FQynjvrsds )Ћs-bpdr'X/~GaM! 1yӰ+,, CZ4Ns([Ɉ,|DuRSq1g <jG>Kuf, +xՃ_w6tu\Vin@_o? +-*(vSk(pK Ky[y] +ڛiko؇;Y +Min.*Kdg4QKu0lc]5q;0 u5{hm.r7E`l`8EVr te 3o>swOOBNXN,B{n˔_{ WyU^Cl{K^7цHtx&ӰL">4ftb871_l;'7 7qZa$^E{6Җǟ htޒEuf~MUJ_*6: +S'|m~PGwCcQ$VZ+ջJ"[}OQ=DToC{\Ab8W'XE8d x ǟXIDej:\=ػc樍=qژQF* LY*&wT J5$̢16[r1.$gFeIb +9DLh~(RLUFr0캁zO2p)jIYFyf)91z&Y<΀5.<{kKK"dzs d(V +˕J9\U$Ydȵ,>U&Jْ(t$mxvtAfNY8.e09L?σiS"׸;[2l*Akji  s,3?>/W+t+`%NBc}|lDۦ`9 +so"4IHwNzjӋɾ6γ=0ÑM]7oCH6 }vӑ};q{閉oj,^Gc->hfdh!9ީxN/@{&1f=JP#Gqr 9RliW(ښAHub +2ڪTD}5t[g`=6ն(O"+LgLڂ";9FN:Y8/ߍ1xԍZ1F98a:: ;I/,;bUG 8ӉEhvLA}#1hAo.=syDž71]».$iX| q4~Ps#`K|DUÉX>- z[fSiL_f/9Ti,NQKOk]џiRd8KFZjQBajOScE6NhZi ypm8>s(6]@}bI +hѐCS\r$ɗ4Z#e**TZC訕QF3X.#︹b$Gqgً~[ +5JϹK/E.~K*Oȫ^6z[+qcɋDoxY'X47>yU#Q[䫂˭/^$苗^1oFrH/:]?fo휄d &`ۓq<<4r3{'DBEӠ##>f4n`ʭ?. 5/HPrpS?EIY9TLalrs1>&;f3Qkl}2K1tt?C/OA+_U \8ybڴ$`cg SIڵ 9_B>vAcA#eEA# F =`l +L>^S[R]AwSz#[Gf9 2@ӖzGyrYV$p<-rTw,3cZ'"-ה@up5)&Gd"A0jJ3(ūEu7~u 6:a:S/92W|扶!}h[ǣ9<Ѧ1NCkQI}ƭEmzD\q1}ӑmb;8iϽ|4f&!:QSw +3rDv$'VkPJU\CUiWGY5ݝtWU̓5Xo}=4fREg{1--ٴ8RnG}L*4gSO@Uv*m-yttVKS]]x(1ˉyEux>SO]\9_O~1pwK7~4 |SSJ!Y>E$Cgs'ps|'f]-ٴ7Zi(N*Ƃh:T&BEWlzd*FWBQnͥC5U/o/y_%lD֌H.}k|FnHioF̷S~HCBV|\_;V zKDoD얩Y6{j?؝3ќ=F EnKH mt|d; qX,\ݮ> 'BQ=hRQ*x01&KAu??Yk7ޢ0qh~~`b},Gk4J1}_@ME'IFǮL{|pI'MG!# ߱hӰr+CJIy8,eD6Q0ڈH[5PTG0Ox(9YD!9 JDlx^@^]266S5~HMB*xL{"ijc$<.e,[yIOD' o9iۥSrG3%wmL!:Ow,ST})J/lE9GS|Lk %{d*F ݋9cؒÙJ̫o DwҐ KQ휊bd'mݠI:YikFb>5!=Ϟ'`3{7|<~qghAgi>z52kKGl(w#gX?;zZ%n{gn_ 'h*?QACBs X +4gPlMz NJIno,EKhX,"3yj˵TZBɑ@+dΒIW`revޡFSzri*IM7ZY h{&.Pn (uEzu4T(骓QHȷӸlJ7#4[K_;JЪ4uN]i>}y$A1OLܶiXn|wWD}wUcC|,K_Dum +h]d}]9KeH<\_2?{=*\@'x>_ʱec{WҒ15!0s(8B"n 0`]*12p*k1(D(2mi%ɵ=Ƴ&]D7ɳ ܧCdccw? +5kv8ǧ #Ww:>vUl3>G2.U࿍ +R/ޅ.fY/ ݍ]sG-ѩOs"5 ɾl߿r4|W~v!ʝx.k񓄌|T;&htf?:)\'!ד%;(u3QW( +c>:6Gf:x.¸g +-'J{(0=ٓ(URPҁS6*g@uU&ns +NPKw[.]E4T8tSYlAW{.Zj,tP$_EeZJ4U(KHW,Ծ,E[F/młYL}r9T;6ܦKKC- TTxi,3`"Z '^zl?\? XOAvXN|g:0~ݘN$x1{g=Ŏq8~\4&c;=Ǚpd];.?9d옆BGߤ)UqQ\RGϜЛC~|?0xN+= rAj4C{̟c7qf$!r=~E\rʄ h8[td9?$Fg2PbdK~|Ґɽ>=윈x$|#ƇoxDTf~R˿Go6YkEwsb:6ɷP{WX3X-@'xiQJGWFqkm4Tl˦BwMttR_n΃Rg\e<ؾPbt +P53o 8́ٸ.{lA{x>31+kS<N,DapDiT^Aq`1سQ^$Q1KȻsv)wL#f–DKЗC߹wH=+=~Kss3DoK1|5]CܗCi!lqޠ ]^ʜx7iw]BOWЗ3 +1U4}z+geSe:I KʡT@N4Yרq4v_\Z*DTZ/;J]uzJlRO 4eИ.kʿO+w{認|Ƽ(:+գ 8{kGqa4c!^Os⇿!bh$G瑺kA_>Ga~[ }%۱B&1ln|4wDvu$_B]5}<&~AK}PG'pwPBA{q~x.~=<7cc%K>,6 >\p> .gI:Gx? +#}ZVMl(KCM%eEEx\tِ:! +&izn]j#:*5 >ɟ`LcQj>&fPe6?Ip.T͓d{BxƤ {89S66|ۡ-%q`<WMLq1ş')DȵG=H\5 +݃fe.%,{}t,/3P2v+[`yL?r k*#: )5 "]yȮIBhLDIY7Bҷ6~}hCiξxDg^jdOd|,gLub= +K=4ٶ)(wLEϟ=]ֳ4jE#=mM.KژCsS-4{imSƒ?WRA_==Uԗ:ip\e—AY5m͹5򠯙L)M( +=-GkR[K?/|(׏&xK|(;{ ]?գp +GxaDN!2` EvPW_r"U +h5⡭D}vԝ$XL77zJkuP(@+i*I*tV^HC^$5YW'Ҕ&j30QN/ڊ^C_t*%BWU[?#6Q)BW #cL"׎xV^5/ Bm68`!{8ĝSH={{*[&i/ϋĘ-_r(ߌ&l/AĚqMnH /*Sz72?e*V^/l<8jh>Pٸq2a~ʣ0-9>dUV`͈Ęt_ԇW’fџidsjLɷp#p\,lAj8TI8JWIثSBH4GNήZڻFA<ҦT.d:G'9T* t Q"5[(j "ʨ$s0JUa3bj iR1jb3Mz|8e׵ٖDbNz |PQ>rϘRq%]HҒ||}0%p,1yk .~9,%[9bKo^UD4@%9TR"OR-?S~|Ϻے"9 |d[sb(rm۸O;b8&2Imd|g7Mpod^()kF=4 Ph%cDL~^Ctm,'!6łcvu)' [' 82⃯ḳT +TdhnʣDnw*mJ XM!b5-Y9 h/B }ޙC*z =)e;ƣ=2 1\{5xο/{c8m(LO{xGq۾_8 N`D88瀳` &c &(B(Ks-Z9眘[Ux.9wV/ T>HQ}= +{nȵKGd-v/wWn)IwH>eRbڽT\2E'Z3f:Hu7YԸS($o}v V_BS]QzPAL5ΝhS¼ o| + $*/w +F*6%MΧ|it |agN&e&q[H?#oĩn'c2#m2W?eD/Wywr?HT[goy2 HMGzg>F]-mXNbj*?鷆#q ߺwl{*}p8s븎z)g0nl<<\)k!B~^|ԭ ^CH̛_LW=r65N@=¢aSIk:& +$~zsOm!~z2тA]MC뢱&:7&ω]3t~S't+qJ,8}f }Nn]ƴV zIӄհJ js js m89ss9+W'=~GQ;!2QT + HO71jL<#Svzl̙A7&S>)e4 +4'98n5k.b4Gp+\_帤{(vts0¥/bm=57~('c0ϊ3l-3zTULEdYc8 +?Af"9Gra"xY|8ѷ3^K`:߮'E.Z5 Æiؾuy٦%ODXdKǴi:mf$kg`?:cT5gZ;4TtD{}⡣KO{5~:Khi +QH}F!2FwW ttVQDW{U+[EE^sD) ^Bwg3 2l綠Ɔ-7HcjBb0<˶xȱ?=qLije(O1n!Ti^Ʋ!k'b81mm,?=!ԸvqU9p{ ɅHwG޾o7WȩǸq!g5{Wo$d~5y86ŵ'Xe8-*Zk43('^o;zj +Q'js >ګlbIg +ĹF-t$b=TĞ0T8 Q|n^k 2O=4RK{e:T2hSKMzkI_3=BCЏr)#ӻ8ƍ$}2Ɗ^Ƚo"v4vřO/G$|<\|܉o#w$4?DnGr޿Ce~3 ρ瑭O%lwrsz0&-slsSds_u\ǿ ̓u gK: XCsPN%o5~4 U~*,4+ֆLWqIJtߞ_]\ Yu]+G=|)3V*CArpǰ*M8ǮW1 Ԟ +:-f`0/ct+JGa\n~+SSoD/Q|g,ixuJ|tjfne7kk籩M8Lf\ߖ#A^qQa\l +ڣ~FNAԩǣ -R+P\[#bQBPBܓG2o pL؞G<"qԚJ#>u߫3ߞ |tU?la<WnHGb46͢T[Gf=o)w#_[v?Ar8ev.16<@W]5Y׬'{_8Wq1)4kgq&_< +몱yiwAOeݵ:|ه)*rQm3J]U3FeA.Q1I4hpX@?yZweZ_H[[ ]5T( f1'PN#HGk[ =55RPɠ2?>֖2z{kij:㴷ňysl2*hh.JCbZӬgCrA8HNøz]FTKٹ(8&So~qvNz8g AlSnJeckۓWOC~ĴQ??KWOñy6S KطAb8[8 o 峑d.@g# bf_-eB,̱n7r?r[H2Fnz#:SĽ9tEhw'BSLAcq.E9t7n™Bc?%tVg,dTySK~?N Di [IGJI^HEoK:3q4[i/2(t68h*PPoySǤJ#*C׷u~D\*lyI,W*XIWwq꡽vW˼دri ߹='M>YFvR*zBA^PQ -׵R^^ǪG/Mu s XC_ :ko{~!=|D߯`[k J ;~[3zr%5 ռՈU8wyI6:*ƣHm&[)jӱf:#I"Mہ1g|k ͡Y85{_c^ڟ(!> ah,q˜Zru٧ +Ҿ{ &{^ļ1E.xvKo--jj]OQ&%^Żqk'X1 (öQ+L G1wlϠ6¾% +o0QjIB+驤9Hc*51)5N=JܝLĸ*V8T;hv`#j>ExJ7a"A+>N]G.1J9jRi?ב,9"_+8w<'E.\1 Ų B y%4Q?5ol}bFkXyCNGfM^<Ի90N0x,g܍ok\8>wn#;[1O#IX>`tR]PBy(@:Mʹ RJc"ko4+t~Pi;@LTmuz.ǩ'S?E0dRL“FwG3QZYOgF;]6zR(^;h6IC4r9 % +z]\Rm:G㕛8y8!=~˼{^97w8I'l +g>A{96VN ݂{];nk"᣻H]2V@Ij, ǐ|<+7?p?`iKƑj +pr0W"0 an)'ѨDvWE0qz+pgl:㿣W0fǘ~,<ZhooY j += +ܪ󄝃܆Xsc5 +(pEC9411&$bmw/faWQQ\F{gU5XRt x٘K(eὪgO-eF}\հr 5x4rWX8n4BZ^O]r zU[9wgUgV! ='rA"4B^@yH)2:zhjj%0ePPRu)^ш9!`+hȢ*TO_'Й=k'1Qۉ~C,l Rd|~ל j=_?8SE,%Wul%;B8>^bǝ1W +YG] ;^:LyG .[&`Эzz*21bB(M@l"-Lޢq䯘|dLg[3X ;Q.ْX{OO0:Ϗ[;Ecp|R\.tgλ&_[3{ŲɨOkX=7qm{s~=H}KQ#d8N@ڸ +jc5\$b8EMTJWkⰂ"1-e.TiؓIuqFj ԕhiQ_f%ŅN+bwmmZK]mXLKM9-6r +h몡JmV7| Ԗh)J[g1ox l{'~Pvq~xnگ'![8 +Gn i)7ƴex4̤5%S}PۇzF䊒#)WNuYmy"|%ksa{Ox$@Ü^QԐG>Fڼ8~xƇŌdo$^Nk(].iQMʟF}LAGx%)o%nX.Ufj +tTLF өKhQ_IP4(i(RS_B$%EzVGo5% +J.O_?{)52.+Jw`2(wR9͜^}1OfscoBw>Nu )CGw7hS~~_pBm{VN~t;_E8}}?8$~v_Oži;5ZBC TzįKire cFu>n&" +f ˆ,UʢϕrZ( ۱KC[R9ɸ _.R]%02]NK y`aIk ]ŕm}cR_YfS1bIǩcS\RJ}Tu@Me) .CϪeh Rg'uTihS`įIƣ|-RXs(ԧRTPl$yaѬ"=A)a~`-/=E7\Se^{p0P+S hO΋,J( gs\} ]y F" ]jֿEʢЯ{H)x02-!ryk'Ny*ҾºHWN±qt'\6 y +c2y#DM/ 1ôq.;,WFU v Y8jAOzE~sضĶe6us\\G5ҐQJB+t{3-^MGW#VAWG)Tilr/io_#]ꫦ%BCSݴ5R[R;qbbTk&1/ű] &Nqozӝ{? Gs9-r$?7p{ :fz'>@UJi.즭Bg. eTKO-NϣN]WNSa%/w4[i Qk< Tf*}:|کH:f vRi*2:̘)5+Dk2O* * p%.2ę%oR)*~>hV'\w/pmzzN|x;'n%q}fNνɺ_?MIk$c m8'>[X +y ;w{iy.>d˜n.^ݵUqq_ـ1XS3?ƺ85E8)qKП݃ߔAؒO#̌u[L1ogV]&U^EZBIBKS%9Y*Ðtt<]o˜zu xFfʾN5ze\L)'px fj)+dxL<uyΈ-7͈K%áQbĭ/z VZ=_"f->łt+ da%We(SW^o6b̯l Vp)J,v㹳2)֬oWyX`P`#9M)ȉw5dBif0o__P.:X,>qTKNJ~?˷/gT.励7 9(w?^޺Yz +y24(W#Q OA#4.%EvôwpގB. =ϕtQGww M_꠽HIjho-#\)pR[夳Z:h묥F,":]4T>H!3XtvuK:ikrg==u]ꢥb5> Ql3a%_>'|BS/}, L*PtDq8& ̛X>˖wYqS|(5S8ڟ nt9ʍ{G^3so';H{'߼B'#8=|̍}N<~Ik)>.';EuXBW9J\ghPΥ>.FGE ^W=q)]NôWjiz;|t5;\)"vK6)gh_Ӕ7Qk2{NQH(βLKR &(q'BEG]3䭛;WnVN"c{fu+s͛@z2␠q~3'>roܻ7|FGH.N} hcH7@z2K'pXRw-:: hQN=97".}>xBmTy)m4r[R_,fT\G+`R2P'j-+s@"(*M%'ޮR`w vTP+0N}s %eeb&:#AQQ>B.7fu=M:93phM_] U0G鐤O8Kss,,d${;k@w5Zinn"seX%͠(@Cc-픗xČm"݃ŴVOSBUϧК@1q*cZj*!VQ˧sihhěWyb}qSɠqʂ®C5)ؤ; [ Q v 1e|9ke4Ӕ7 x~{.,}%q~;E#ѬG_txnaKƣ8z(ߏb䯝CJ +t1Ny75Mu!Z +iR%PQLww akAJ946:/q.Jv%oJ|fr!}}<ɹwrQHzX6-n*l' T(z,/FjZڗNz>*+-~zNv0VVC]$f-ܺ.ui +$>C[y%i-ǩ +jRj%u:TF2) 9Zʵw#$~p'9˧of0o_oyHz?s Fq;8]wҶ!e(qN>O$a7Už3 g>pyVu՗=$' }8Ο/R_èJ&7u{dgbRl@>NN:`u\{F_Sd;Z_5;DvNuu+ tk?ZHJGq~_*=ȥAzD/)kq/im"N3vUAFB_AU&^m.a*r NE칧p`1anذ*4o3>H,oPQ"Wcی]**in릨KBzuEb6uR؉kbʺC6Yqpsh3~ 3Sq ѓ'>Nuy_y9X3fd3Ұf.9A@=;f38^dX + .p +y8`Xf&R7T%7OkK+Cn3x9V\Kĩ'lÝq +/Ga8ӷ31mIޗ/y +ղH${=/+i +UQHނ@b +ޝZ2ePm~b}=崶u)DdiDFYXFE* ~aBThP4P!Hi8etK&ʨ2'Z@{[) j +zÔk_M/t + jhi@gW5.eQ~L)&&J3!9VǴw%_='1nO`}׏Fv&M]5W-x~~En:3ޟ{[f^5珏"_2^B$$ 4b0Փ9JYbyl1Oӵ B9-\\037[N"wx?[8XKkor=}Bei[\TEOGrLjTiR;KOUJKbn4i yX_ZEl6rJn7r'Hk/Ք/@ +.Zc誖i$, +{(LGW:3fj +e6h쥯D[d[9ݢЋ7]73\X8o&zQ#Z2S8^|0^ގ3I]4F*Id89&r\Xp/'޺sC$:۷pl̯&=ꍳ8md^IK[4Նx~xo:n~ _s[_ؗA!ܐ븎AY@JSWCLԒKmR={2] *+g1((:hl$Jψo^~:MTP__.vyv@c7Yq5CfL9b&uZ@>ߥPJsFJbEDxQzpHX%6ˇ -WUmos"  =z3./K&nLhmҡ./ +W}[q;BiFs<:aU.vYT(G<8e鄌ٔF }2|3zD:*.<<3ؤTŝD=2yUU2d,\T)0dR&=CܕME" ڸ܀mu!U56vPȝd]۸"C5N#, ~6VAd#ŜIfWMtQw+=G^Ʋiȵ-ؾGy6XדѮUq{ xO7= ~|)l8Ǽy6gS@) }׏U)ǮrZ"Zlrژ4 +.#x&HęI[sNJBfj+|׹(t&3@_OZ+m-1b4TmQىo\]u9ǖX6Dl2of>-c\7 3nl@f2`ay}O`Z;)BuYeR +QʋLR*.P͊W')G!/h8MMx(3dʿ6' YpԘrp+,N +1B.ш.- LCjy:&ll}C.+rn*͝f0ApQy=L&1I.W]=;Ct#ty*S>E,&#]1el|d@b"Փ_6^=iW=r+b<[]-d(,gA^ +"{[ո\Ύb*4&+4UX."9:ۊfZ[ +EXN@sgU>+Y8Uǩ*1%å>Oyz(hk*z:r> Z􋯯޾6zz*hjtFcC*]5UDs(1\W~sP.jxv>vb>c1Re 0 ӆOC)ezDQn}~:$~ JNt8tc4͚hMCh,-3n{H +tog`<v=bC"n`7r{98m^p+;^|JNQUTǧ>Ji B o:x<ɔT*ڛDu4ShfRڗB{,p"%sW,(^ܓ@cQ*ŊԸS:FK9ʭ'nwl35yZ*TJ ?eLq֮>3})QZj[RIK-E1Jc13D2*)t1ʔċKhooЉ-C~Lg_sH}c;]}().Ĝ1#JK{U5 zaW$).(~[0) h$(h;#f|BJIaxojZ63VY< etOkg/!.mh͖Ei3DֿC)s:&=$U!7U ŭūj,ȓgőC>P\8Qtk#ge%rUlFsq?֌8r\לG~1 "M͍]+lj%lˡ|LL(r%&̥jP$́aj"t"(0G =}tR['$Oe,^+ݨ]s?Ji A+!jKP;0soJ##ܹ)4@@ng"QaB\Iq7q VN=nm2At(0|OrEgH[ ͏>GKJh@!,;Cv6'tNo{r::>~ԔꪤCcf?uavj*=Thm2*tu5Mw_u%tDOv^֊ +&w->XPAe흵VpOPLFA]"-etimQ]jPGMB/'e+)Xgv<OY5YS_8F@ 3H6bK7qa&rGs1ylMT2&?]IwlGn8ᝨ6ĴDNؖRa}ϐr"Irr|:m> 3Ew~=wr?v=M$/wo#|Q +ɼ9x^Pn\gu&iC_ςWo f:<4O9~F`M$fPY,V Ԃmr )z(),%+ t콇T731+*dP0:3:;L QE@@h霪+sաsb 3}>:r\.YAON)ǭ}.Us ʓ5J +݃tuI1VBSuJIGxŊS}5^IfF/`leС0SB^ۊ:jgAi2ZqR v#ER$8 jhF) O3g.W܀3v38>%`8]r[GGGئ!݄3- 311I_>֚0V}LGCtX/|$·n1KSz/~q!a8vO9S&a>kg@qJ>!d\ *e$]`[ǫjNn4)뵻\ WD6.kyh|u!wBa6h}._oe -Ѽz&7yݘ>|!w )f[T|7?fs1˧?zظu~N{P*sĝkѼ;>)=Ow֝KNwap ALZ^?Nۚȷ!r15vEGtyѡ0=RF +V6qF2Pp)4Ḯ0Mp/Q굋:#E+/_Lљ 7`՜'4S*N()ft% 1bjJW?AGL<(%?KOG6C[x^kg;K~f(V YGaݘw>AoDZ> +Lo|'OShYI9ZV +׶v6w#0Ӈb8oDBqG<F|üal;Dz1*_?9̷){8̷hX9MgЋiXVpK +V +LEi/Fq=Fvqi"HR %g '3g0oct4-ĚI? .nFGEXt n $)E)+ Om96bՌ v59KDv. +2BOy*)e[Iq3s(vܶ;8=y[q[|Ŕ-IC_wY=3ߧf=^=\|^4Ӵz9nw8?X~˃8%Xw>q>dd-(AvL?Ey?|,Kd=" itѴ_98?1?}Zq>mmMêBI +OKD6xёNjbڣL9'_0П*s);֣84'ęJ+)d1:H ~_]tZ%NF[[fNo`&J9U_'gfh-Llw~L컄{.s1lYyb4a0oK[ڸP|İy.p} xTԯ"q>w)cCr5Q*KP|̈́c3O=i{~l=˧iy>{Baʗƹ8yĹa_v>G= k9+[_d̥ C%x#b8Nw E#Sb}ÌvI{,] tX:d`NG.ZO6PN1zEBIvQ bKBs:if0QE3dlGH^@O3$ӹ~}~έs(njV>@+8wo5;SK |Ʌ,x<-4ʉ?|C imMkwRN<N>^~on=7A~6MfPbȋӨ7fbr[N&P98B2!fS٘l;BNAFr^[7 06pݩ={B082Zbn0@OqtJ<}3VI0P7A/i@z kM E ]XE&ю[!VUVC>ab|TEf -M &> ƈS)z|GZEZ6y5k+`~O lU,:;-M(ߵhn9Qr4籴v_Wac~k5ktQpsCTaj܉Ww9[>X uc^c ~oQ}DۖҶzoΤ湛Dohz{!-lۦ۲qh6'q"z|ĵ(7.9?|'hY7G?BnoLE뭜Aiޙ'٣>Lòi{{rgO`1$'" oދqS >yȑV_b?k=HIhbtD4sUSHX*gĜHr #+@*HJ&,2S-d.  'W1Tq6 (DAJ`tM1t9n[Ż"]9C)1mY@kP{ڙu? +}MsBcںN3p7*紾= ÇbC۟ zVbO/(Yec8vņ?)E" "58sŻiX7U3(mc!> ֦$L Vo+^. +}3=]FrJz .{'2Ct:HڸB4#YtݾztyNm$N09wc ]f&GM#(H!va/xiqڝbf4u~Ɖ7OQ~3/O}6{xTϱQ]-I92b.9CCCO^fdtT*բ +J:lįGv9HƼ?g4&T!ɀB΄ |";%a/(pB*v\`r,@yQ\Xb ] HA[5HIy% 3{ t+H?ELW`ޖ24 5eM[oLNQ'70T"`W675[>F>>I_SOg<@g*S݆׀MZ[''򒌘5RwS@\7^ ũs RI줌zt:)4XR\&v>JtpZp]ߓI h[U!SRW݂SJ]"1aS=uch8#f'v47ck>KX$nTaĥ'd5m ?Mg+5? XzBm*9MI[a)L=22u(.HT SE6"405ti:MRI0AU^iN~J,l9H6jT7"UQ'a;'|mȧuΑ%Slu{4P!"Cu~#גv}G:5WUiGG^!gV3RNW>ޫs^RywZ~_גOT#Ō{%MqKv3zk=q˕0 509z8ciqzxQ{Yv +\Qy'`$+vX6.9H޸ py\W'?Ca!ٳQ0 +sͱ VC0mY"z)a/g1;m 4CĴQq~mTxx^ǮǑ]?0J)ֆ oݕ[L!f._.2\&$4­drRA9qO q5#*|Ӕ +>9 .5`!H߀[LHS+Ʌ .dRfJCFJIA#]Iv1#el(B_BM!$!PS(d) bd]N`F\6DnҡCsPxpOb~!Һu O_\#t̤E+ Ul;AR` y"ϸa[_9y|\ݼ t;C,4[Bӛwׄ/onnKw/o썇ɴJAƅn^Ndu-ghIDc}Jzgɨwb/c\'"H)639ae LLYnX}sD%!N!F͌ SHJ:N8Cy)R^Kp8LYz;Mv>շ9]|N{{q/~jO8onijߦaX?-s;|sȏmԼu7oK˺\;oQ$iս]}j޼3/?;8ŸC[8[9'5Y7Ȣ{MRt׹w*QA3-k_Q7r7wȬؚ5EJ:yFRtD uuOҜ#D?)\w d8ZMߗ"71v +*!-^U8eZf#q,KG#CW[Ϫ&֨qh2La"a\Ռ`ƧёK?}Y7b2B ! iiNӜ$)3ЛT$ѓ] h$do$ek 6TF4rº +:1 NU!i+3,';NYE_qI\HwRO.,#m"s5 όuNE\WW~R:|/`juj꽣 ƿ}O)f8K_#(o̤Oy5醹>.Nj_aֲZ"g1+7sh[9ņLݼPd=g"Y5Cd +h6.Bqt|$-=h?xŻ ,l\,E>{Ǐ)M˧3l ߴw9n>Imk 0P021`SPђv ^&F ]w-8)lwx.PKH}|DCaFr=  N;.AE|:\bwJ_Ewˣ gIE4Ɇ36Jft'"&ɼD{>xc~ 'wPG C*FH?{xY}f3M vI+2Pd+Y5zzSN1-U@{E))z'ɺN*}t0r=J'_E{{!o>? LT?gob3B6nѸv&wE~g?קQνx 5o%6?Dê{8hZ?Qʭ=m_uS>$kft$gpvwyv_ōOj{Znn述l-)PꎒO饿Kp"n\*I̯ç=GWHNGEo.m 5[q ]!7@.!uVZ$Il{B$hRsnYn}b?q K!0ם;=j}2Y^#X`k$qmM2q*׃ϬCwr{PVKۂ]тtmKYjތKgꍓUwixu=:R ^$]0.y֦S[I 111A@&Ѱ 2 }EF)U1מ#dpx\ıU}u\T*06q>qjb6_$~ڽN724(o^M𵝠Q. {j5zXP&bjf`hQ,)@I:f ab_ GqH>"CtO},}(Q{ =ȺԞrD׾ Xj޻,fWsu3lO;ȇYqI>T~olϩxi. i]qgl~cC\dg7NcaہOuK~RaI阙.?nr!q.]e?D."gB&*ecrS._ʑ pѓb!J+Dp74{}t]\RF;hٳgn!Og2 [y/sDQWD4*/~NYL[ {{6> Dfw=lLTkgX?gOs:/.'tT/uO)X0Jas#6CT)u,"Y_ [)H7ϡuLWʙ?}nKi[}t3g^3V#yewfӰz:-pߢϷڶՖETtg)=}N|!.꿿wjNn?Z֦X (.ypI63i4(d.כ>K9DSAQ7%'cdl KqxtH3X uaמon#㗮}9\ +RaRMO}э0aT`:ΎNJuxU&+E{B@اf#i3AA:ǐGGqZo[S[~ +4NݵA&22>Ni$]*zzr '.1!'x %GiЙ2Xat G'P#jQ|j /LtwdxxTp\ Y$ 8Lda$a&e:FX[.v +>XȂSq\p-vpN㓓"[N4Ռ zIpIRKyTH:O7LBx,A%8٤HQ{sl-bd||$\M4I:elt m'{+r32<#C=#2BdjBΧm,]Ŵ4tT|<1gI{Ba5Qbl*ߜثL- +L Ymdb(BMi$N/@WP)D@i;1:d/IM-dB_}5BK>m7D:fdW_c%s彙IV#iF;(tXi+pPIU3ة/mPN1k~vΣm<{N~3;z\?i?Bϡu+ѰgbݹH'mYq':Z͢m;#ƽ'Ś9#sOQ)&ǻ4cj3Ώ(u529dl$%~PD>JZ n !t&mRѢb'Y9i[z,;% 2VrЗQқ09l}-?(}&ޘEE-N颏s7saR ;/7qtojŭlnOάFYh>|u3Ōeqwa-\\qҍ9sߦzݜz;yn?T,Z umi1uтIvw{`}Y6Vrci* jI͚hw7֝|}qtI-p'fdxd؍aJT6enwnȺ)1R `S<9 +wLNإ}G>!w`l'X!Wckk=h#bl®1bWfݎWU"ٸˈK+'J; Xtpt&6)w ZdZ/N7©i P~F}ΊK+%p 5W3NvD.'t[9lf;xb>5Qsa|>c):!VF@ZEgpE*"מ##r+<62(A^Nڧ" ;OP]Nԩ hQљrTӓïr)pHUlbj[t8BuGjjȪ4/o Ja٘m%r"1K3٠LFHHV~a]%IdH q} 4vqg !K#}Rc\|iθLAGBd@vQtEOhWޜ~;ai†JRLvn&lqɘ4Թ+n>HLS]J{xɲV]DWG&p3XW2uVK:EFC _שտ9HW/{ IG}wv5< ô5y(Ŷ$O UX=NlX@gE޷hľ|83i^cKw#|Ej^Iˆyߛ{м;E6 ,'ЬջlYlο2.!IXKwBpWIOd/B!DQh)W_M\a]a|>7]f{vd?Ow +Bm"{Oy1:'Ƽ)w A/Ti.M)rҷ]>eC7/@qa.6oQly>>|(%wn)cҷf`ȲSoXdt."vb)OX=`&ҍL8ĝ09j~&|-xd0''r ݮC5 h32` ?VO=};12R`n>"mtQ'KO I:\.kcadET7elNS)\F[9~fN';R.1VBDF|6)fq-G0&?i?1ە$'URu׼L615\:t5_b%spIpOcl؏ֶ8e牻: + g 4B р|wńMYŮpZ5I[pk諎>"3m8uZ NAGku$Ŏ͸[E@WK]93A r}d# }qz;,񫎑 w?C6j+iģ8W{8f"dc:25N6Ԓ[D]oƄW}l?>z2ZzM+ۏ[9Ə9/n W#f@!lh?ׯd=tȆ.!v'~A[#:)i$=[{N늆ZS>7Ӹ~ыڴPnyy1ާ~(M+v q^Po~h6[h6-IJQ;@LޚlGny9([Bг>|MںYkߏ0бQ,l<}C4\1}>7c!\ MG$FJC)VhV3>[uA6(-#l `$믣#FhPά0 (ۯ0=u 1糧K'T`A>f@ Hhq5+`X.tB|?]?Æ8?|ۮѼӲQn\D[k:kX7ݖx>Ri^1 1^%cSxw?yۣbgr\ ;u,k牼 ۇ`޺ljoҐ=YO#[=I cnzMt _y~a~*4w%t >""|WDpO+=3/9GCP9Iڭ')K3y5y-Y)ft.RL 19lg]J_|1~2a~3v>W)_~k82 oo9]v'e/s~-ԭƹqo˦si_.gKݪP~ R]?rz[=Ms8ܷ8R 1xbw99?"8SHoy]sC7tC7t=_YVP%Dڂ]o1К\R]  X$t֟)qKG.QBL@sMY{+ŝQ )I_!WH|TRBN81T +$Z PIuʉhIr$Nri1E/p;  ;m%fS0:&h SLLM2=3I.؉WVGq/Z\ H(گi8AԢdx|\~>n/w ) \A{ y"?~. !~-{J1\bdlb!F)=爨7#:J_Q +z~7BA&Wl:@|tIWyn~y-"*N *Oh܁_vO>Gx${Q Ru(Y":?lڅ|5azyQEUn4ukh_/|uK}Ob<<ӯa#$떢ܲ ٦(=ߠ3:6,lL!Xs?=>+;hp>#?3(]mu85ĞBkH7|QoZbbd+aش0[Lxӫ~>GحUY͹972>5.8)N&>KgqA.7Xg wnis ܘarbtԎ ds9Dԩ 6`8Cܣdbb\z g qJϓ (d"t%|x BH#ֶ-e W)NY1b.7^E2"}r"NzKrB6Mq()M:17ڈXflZ2BȪ%qx=Q`SG>d4L*H2ߩ^s;NBJ&ִa9GT{lLGԣ'$W27Hy%vygD¾#b ȉ +v[&ݕeaS\&$z ]aFFyb||LGT+r2A3C335g i/42J,ltpQvLOIV [ b/刐G$W\%ikTt ;dw36:L&z{ +be>g|@&d" jJB&5"~) +J8 bd*M{#Izc +]2؞XX=I۟vw:;rDDmοm7.Beu[1^?\qZZrv(ٿPИ:Zgm!je=Z͟WU ʶTU|Sssnp}il1k!SnE?>ح q`j=_SCJBg lst 6bNDuWHzs6 q^3kh5dv +$QMytu ZȅDxuRb~^BSFWM:gk$5+ʛN +lVNx B& .9H;J Z 񚭄"N +Mp4F'K­Q"'d1xppi MtB1^/K4",y*w)t~'VDNmZC,jqG[~dK4৳ VB!0*,FZ5TDP8 %$j6h!f7 HBĬ'5iu$8[/4vhqw +|&)) +_a"_9|WEWUE@[)&|6-]a;gYJIB3U!dm'餳 ҳ #dn>#2Œw׊GzWN.#!ha׈v32'f;pR:br ":Wh>NHwRa+eig#){#$LW&9➀O6Mo$j=u+ڕh~-MV9?/2?s>*|=94/t.jW̡B4koFKoWn;кaW^;j޾[N˯~7-\~VoEkѴf>TNZ>WraOKwqY6ݾ_WyAhЩߜsscq3/_SSrpLlGVKE&&4qʰv| #,mvƆseCtؚ0֋_L ])R_:u_H<#泐pUyd$(cd!t5PU]eP0Xʓ:pk$#ܝZ5[؃c sxx5 "M_ HޞS'd,g S&3HHgG^à%fht WOa#ГtZ4IEt{^C-06$p0214}bv +6r]QJBG$)G!#4d }3 +t4\ǭ8/"61=3H0itaŧq79fgTМ1K#v^'62Зwa9s<55Gri&.|;PJ'}_vy݌.{q\= vmۉvϺP\r>y -DŽ +.rLGq&n mO[ l{vBtc&Yh:xG| yF[F.l}OCtlx~ۑ Xt+a};m\$üA2IЏ<+ʘ)(uSrMﳋ~ȡ>+dr&'{NE>`bH` 1w;&]LMv11M>8AVtVd[ 2LL:c#=zģN.a gazf pvN&GL(|Rzl23`b4^Mg9opw{q94m|K,ǙWKwӲq}$v3/~nSTy;n_dB?Z@ۺy4 +#z܅b2<~l2νm_S#rQ\l iWݜssn8ZaIP?oK}APNO:.< x;JQ!ck:MrQ2>>.{{t\Zw4 bo赌ٴh*ckJqS]xm:۪q֜ ;NjbCrg%,-A$PWWQrb.;CCF'9mEw,F17AHSMgUlJ2xx2 +W"8BOxtҮ?p1}A?eX_ؚaj;ըsLz]{n.m!?Si^d^rVF:6n/h^ =l-DAћ? R9±-Gz.ލjB:w>D{" y,bbW|&_ˁ]9Ӳj.MK| +妥x?(M+ tU8g~,S+sc&@(ٔcb$dɩn&*qwMH_p1cvD W=ŬpܟeD@گ`h MiXLfϓEp#fƊBlJdL q/ֲOd%Oϖ3=hҠ2!Y ]@ۋQ{'øa!5 |_8"MKQoXj6,5PZq=&2 r컟ı)ԛc|۾mc?Ǿ9<%?|b:_}g"_y/5x 5sCVP"fGM_RA7>&t' Jvӗhaz*T Ŝ(Y)!䂍9X33H^%]1ZtQʩJ7\0SdՌ;Y18H>P~5_f:~-NPo^yrL;<$^ ,Qm^fC0xcLX[ߛDgm5ܼPd#νԿ}{AL[F~}t{ +_u$4tmnnd Q*؛H 9(v?`ǥ'05fj*N)+?FL/!B&vFsqjf-NffJtweF_#::Ɠz :Hz[ 1;]dfvRKNDOтt;4mX1J{w==UͯߎZ`oZqR ߑg0n[HVͥsףj^'yEк^{Sșq¼IlY˱3/|rՆDnp͋oZuc=쫸j6bMp*γ#5 KKد^;x"d#^25?&L1HD'!$>@mEMn׀$޹UsnY|_6w~νT.t܏~ô|8׿KͻwѲ~!޹I՛%z*7K[P止~W^SYmԿ'pP\_u>Oj{fD?cL=;n"W]7L܈N/}^Tū9_uK+f2a'1 {U5G<[obIoGPw {Aܒ"_0qupvg8vg195 OQJ f˸5E6X>!S$lW4363cbIvFBdJ k/17\'TmVRa=ý!F3b/EEXS\'2ͅ޿=)?_Z6)aº=h.qW_t7SlGМq*/Lӗ[.cuQ-/+1YG˺Я{ӆeh6.Ez1E1w%]yuv' Qrzмz Su ~ܲw!ptx͖![EH/fT[ȧVlx?"C& :LtI=0l'Ywef1Oڛ]}^Qi/UR X+YƧz,E5BML(~#Lxqt'Pأ21db,x+Qo+}]VF"PRᄜ%$[ABl[!yv޺ƇE_"`f]Nw=X=Nm\"jt`ܲDo? U!_^%O 'ˑ7>,uKP]Jom\/i{wCy)}Z9Dl{RZNHIOu_` HWIR")C 9O~bBN.&fkD +2q)K%t39Ez) +|d- r 5 Z+H61 f8M>p r& + +2^vo8w97FwsWo/k܉~r.;wQԿ_;.-ξל{oi߸ݞ40/|CulXLwsJ~5Vu7yV߽3^:e/}"p߻o㳟Jnޜssnwޮ,=VBJ!¶FJ(0K؛2mbfC_[dt͍uD\jFJ F`dtYWSO߀ %u~ߍCYSD6P3=s>܆*B H Fatl\dHt^")vz{2LLNћM_! WvcBVnr(]A:r*ҕ +1>5/U#d8Oԩ4<] W=aiK-$S Y1k^!+=L +w@zv7HrI; s0oģ9@P_h/% +>X|Ao +a[5 &ƋRMlN<#2qWLdx;c;n`rbqGr +s9AR?Ǜ}(ϐ5c?E3d{1aj؎WװW+h+_a Dw^U0zc?"f@e٫>bj@Oo c& +4uz_<ӝFO`,٫sG43ņX}4O=^tșmYeϣ6-=K1zo}ŗ)6}sh-僅(7=b8>!Gu ͋n]ù(M7>}/{ЬfT>\'Qedaz%jQO+no;ӣ>zLO.I=Ύ2=5@oaJizCܘ-1)m16'maz<f{RLvpcv29E;S J̄%͌gmF1h77) {zgDmcx>aRk&g"5 iyn$E" bݵ᧑/~""rWXfQ9:9bc0^IwRMOę 29@*'P0=7ad(gQNB ڙU3jƘGG~ *ߟGqoQbWo_|krݻipԽ?K]9]>5=( +R^/Di s;8_Swh0Us;sſ_аn."[=K~!}=ܜss^ᎊqFt6bn3mYjKxEm.h#hZ|#EtU{}<]a܁i +] ,-B4.9bv9LM0_)g/sSBc㓌O[(}A}-ֺ3ۯR%)4t]Xvw255Q}e"w!NDHܡãWֶr+뱷Wt11sDWE>Z@Hi9'ХS142~_OYB+")&0XoQi5lYF&ɥ8eB3 +J OGСP}kMgf|lxȏ~)\' 044@?Idg abv#%Rdh{ + ӳ Е"d/xq4PH315,e%jHfbzӀsrW0W%l3>1.y8>E</chP),5( )Tm/NU;E^ 6y, { N36d'j)pѡn"FhI#a|h!QIcM@WxSS#S" +< c݊i߿)i9N@|E e/3m'$߈e&oΎvP70k۱?Ѵ +Im 6״u`Ἆ἖)%d'̶W0+<!ih}+ׁǶǴLd׿5ٚEOψsľ Ŵ{'-+ܰwD~wsžJ!/ ];n-b},;al>H?պHWԩH]xպEO6Xۑ(Q қc)=`b@L{2LXd?a!7Q'S}Ύ3>0ӃLMD{JM3: bif8c7Jbёw[I{ ܸQdj,JOJO_Op7ɧtZp29bbFƍvKҼfr{'~jbd.{\"T{]z(WC>̟<,WC۷ڰ\|ɟӹ{gvKQ~b܇ưa:V̡;m1~iKX#c9#C=:bxZ33ev񑤸[UI֓y>3b(yz3]FZ(/ΙȘm%B4DFuF̏'0i`8/cfPAZ1p'g_&=OeJkRwx;ݭ{Bs-Լw7M#AZ.}v_&^.Sԭ_ /{'߸ 嶥/[8׹ڷ|6^[^ҹ1lx6Zn;&Rc^ޜ0o>' +Co7U\v nGgKvkNlZFwXxe'̹G*k4#Б[ fۏnYQ{#qbO>"v +D-ĝU&d#~z)2\+SA.#p5hۉkQVwyXB6$xg*H8ؚOT7\b_nɐQp# vRq71]O'WQ +K"'!yȚ:pj(9: X4z ]Գ7~> ECЦ&Вpk 9=H @iimĭj"h7Ɉ8::,}vf8$$&b^/&eƳx帤W wvph-*v1t4"o<)% qI.Q]&A:`^ +g{QyY]FȪ+ p1h(#,GrtLT:~E<l"3T6 z%V TbolA_OobP|ٰd@M_!@_|F.BLo)"N2A = #JuD5%IZ+q}N@>,pt'b}Zj =/KSvz2>|FWғh~TB~R dC; ;SoW+_'iqӕ8>34|7sc@OC;+Qrr wld,/az,LYy~ҖX%$̲2,۸v=?rtVӱH~H^_f3~ +?f![źo:8MV}@2I&$Sp2d&̜81113lɲfffRKVw[ 9nvwv.|~TvYV봺}[y/Ư<[cf0:%+g/ϩ6CA4 ?*4,an#(-FbTr>K@a[at٨=ClZj|jZ#kɘ 1:%2q31;-#"|Kd3fdN&j'ᕉ.nP]Z&S'~i#NUaW Y;}  uQuLOw0=`.Bt%xET ogLѝ|lXj,4kg$GQ|'_ z%EyB0z=}S>b\Q3 4{ycܶŸ׏߼MQn'>G :mJh޽+LLOWUWT.xt\NTLOɜe'ET\BUHҰk}􆊙rmT-ovC>M~K"r[^}?pH7q4n} waniq09͆koukqg:>K-vypQE'8-/9-v=6=uHE@@Q7T1ci>p%}=]֫&]*ڽƆ{KT I58* jIKW.hEd^[p+(p^TMVY[ӄGSٚq+*I&DlR WpKLUZN"h#qHbk>0$cA]qACBOo;=DlؚvdPϐЏGg"CSNJ +p Zt H}Uˎbm* )FGh{i+qԜ+"s鄇[Cih&tɒI54a9(X}$Sc>+85u~~K%G0CM0n24j%kW GT +{ܒd HFCgcD]Ml:"A] x!Fl3k+edttlKK)ql\o\tl3$hT~%kBzqw/IՄ|/$-ۮ4T2q 9d&rB(ý6qTxM0-qy{Q_xpFG6mw{Gcv(Ow'HN,>B.|qΊ$pU,SX=:b tK)Zs,k0_]`;y{ eup޻4.Eu~к~>Y~S/"[f :[X;W 1\L{[rmgݺyh.;iN ;ž/HWO\2 i^2 ɺgg4b|O.\QS;,eb"*QT% Z /q##12 }Z$ 7qm:d7fL * YIjͅH19fO]KgH`kh]IO&j#09?!eKC׉PY~Lpa.}<m#W:xO ^׋_<>C"rE\~|C0ٚ9)]=Aϭx끟;='<%~^f.=ψj\,%teDS4Olڸ@;= aqDጌv%Cv]e$ gHX֐"!I8aNg ($i9FB}nez$ C`M6m!= +Y 5G߸ oWn{$K?;8ʏw na2ݛ^~3~x;fsrR}SN n,s/+B;7qq͟Pm-US//^eNǷs"ݴ|p3DՒi9hћ v:L5`/*/BWs, _H/}0!{5Tx5u$#~:}uLU{TzqړWГӫHux{,xeE\BkA.5sdyx$q [v0q%x5b.Σm`/E.֮nc,zVrL_ѩ:;c8trMU]z-3tE=8pW1.2vqJh>4!!8@] XwQ]#;AP'p|+tLNN16>A݆A1BDy g]'e edett2>6JWG}>ڣD-Ed.z:|Po=I{9||stL?BHگEn(DlMS#Jx^ shApQnxx\.Eр[]BW\P_`9;}78>^&ƆHPT\!t}04Vm>|b:BF3b37 }d^qr7I.`|4CJKW:2+2nQ& /qebv?xMDu% +t'a?IO֪pԭ&к}J#`H$7a]Mr1Ig% fȆql%>Ma\Zt4mu][{!]MfQϽJH>Lo^gs~϶C}6;,G~fBZ< ļ&Oo^~u)xp4PoY d}+:"gLʇyVB?yH6>p%CFͤH% Lsc zqQ== ͸6H,9 \Ň GzGbbFzL- Ћjڵ #1C9v٦SxI8&' IAkOai=E*.cdϷ3H gq/ĹK~v4-{%Ҵ.{ñItb ۞Dam ¿:Izh-F*yŘvgxՖGPmZzw3m_.FyP|F7|@(d_=*j6,;%zLJ+l/ZEL{#Ҍu\?!ݸ:'fOpZhwi _cS#nr*K72e VhO+)G!)b U[rὟ!(e)zg>OK7P-\6ʖMRnjWϩOnvT,GM]xq#U_OyԯMܙ'EB;E~\'?qQ\&*܉z\g{f \s}zco؋kl GSO395EW܋S1ܟ%l5 +9rIo1Q,BUPv#TH+q_!vvƧ0T}l7}xLZDWKELUyǗL*l + |\:l–:|ɆK&eqK36:BOOUg} .Hċߨ$lU5ujkq5xU#hlvڀSL:n=!cM5Ho6JW"Dfz{Gˍ*~ȐYCH%b1Va.>T(Jêhu^@v k'4ǫjħi%S⬹)O H'KXUX㑞V{w"r:j#6z: qמVDP7#=Drя_kz{kt7UH bWWu8[E@slW!uKPi$ -#j/\s.rQ7eAB]U,e5D5u:tYD_h1W +7*P )Y鸙\]&T1QVigjfL4A?#棆 e4 gB56 a<OUCq#q\Uv!ك;.~#u m!߃e dݨ7ϡe=h.m,MӪiٲOOGvBgI{\?ߣ2woFjs<~eCۺv?GP}^ݪiN;w l)Z?LE162q/&HTui\$c#I>Fc~~|ױ U7 vq_orTCLZK[DUMWPBیGz~C!"N/<2)$uLOu;f2Lw21 V0MH qɥmLe^4]7ǎꇩ6̥y=wN}~(̧m\T8rw/B~+8GZ6U 5hY;ƅ|2 Þ2f9ĠlҲrw\ _˩7Ӽɚ.UPSL5U ,Wȅ2x.Dn TF<6GHe8䐆CVFSt*ShzuL|eդ]gm=).MKu9c9ߊk9Dڱ9 u;޺w8翣ཛ +oooߌjchv=A٧wQ\ WD+1;;{\zJ>KoȕwnfԬEޛ7̹s%ގ38wnw2Ͻ{;^&n\xD'}lGȷ9ՅkcK:rzAR1".5+,5d;L#FƆ3tx-ev +l؋|K l-x-X5DFҭh@_}Yd[*pI*Hk+wI%$n:>:;=J|,Շ;HMĽV|f"*jܺF:FQ!:b-7K߁KkD!"~NY3O܄z5Q]K2`"d71[1[1IjImD:qD@k#1175ւIߦ!07bnHDgFЬ;[in8'vXdm{t *EmWJ&L~_B&$UV6 += &BAK01ӫC[q<#Q5P7\!d˯&65Un9A@yY3&+ְtpFYZp#!k^m{%EΫ=C\\A9A[vn~Y+!+|{dxb.=dRNz;͗i8QcZ}Oŗqo`@uѝ{WŇ>&9F@W|% o`oR-1/Zl=B|u바z 6%l;h qk鷠/yjSN&FCSۼ}{0}/sp7=|](W݃s$ (r$e5aj`,P=SWHVn*=NwF{}μxKnŸwO9Pȴ}x+o \>7~nbŽT1K&W'wP{+%NgwP>߻F{)]6+ə7oȟ~L?j,Z6̥৔my`Aor^aV]"3GZu~o?{Eyo3[5Fn|ϚGKO>6C׍+D/mZ,;VRz9FX_]rML{6!2%t'HT5tEe %DmQ_SVO{І߬A_]Jܣ'biP{Fphw8Kk4{#n ~JOwW &A Ȧ{p*Nn>ExX ?6%l'0ޜPO :"1a7Q[y~e5΄؋?9=Mw2{EѧL\#DԏEڊK#k#Jt_vkQBBζN*IF"-dSkpkT ~$fbѣtȫ 21&x3*Kq4J1UiHxtEZNa=MYA;8ܠ UchO&SOHY@ҫ ]tDHD?})+C8j"d(Y w)G45wy&bT~'#nҩnJݐkމrQ;!KثnJ +T ,'h#$jla@&(2/&224 jAKEehFsu%O jc(^pդ%g^gdk gݘv|Cm+Qiׄ=˰l&,݋d Of-M*ג4/pٙWKw2n5/I)O@y5M',xJy +~oz+_{J޻V!ty#Y]߾"Yqwh8{&=']}?-nO</&T}O@u܇~k߳Jllږ°u=O![:Ƈq|9h6-Nԫ`}?r\@9\~7N%&hJ^6П601&`.3(cDIZp0LM2=p鄑nm))OioMM333ȷrLOD`V sk033d2X+}i!WGRMxd]̌9-O۰p"9bQQyc?wXٚ(7.Ba!m~^n}?%v>Ky(7,º?lBd!\좑asȷ>d#Ɠ +ޟm\d"*{ěu1$8Lo!-P! H{Dg$ >ڃ D +T ?@MwW;Bq1bi%0ĭ{ g{"74`зLHWL6TK]FX@:J2BZq/A!-z3(">K^Ķ'BPzv!|CD2%[/0YB\sNyZTl-߁n^ }.zzR %𩋱KbنSzv3f& cvѓ&lmrړxTv +&(03Gү#l `qL+i<"/}=,ůawp}IĸÕQ y3#J>C6"|-;Q]t58ka 5I29$ǧ݇y3hK?qا׺_F\k֮y\. C9>7|B4c887O$QBmHNçѶ~l#vUݖy8>#[c/#Y.0u폊]V~JYH۩:,EgwCb~EöGE='o(-uWOyǧIj7>N끷IHm/72etπĜڵ!|LO31I-/egxA~z\%:FG|e >IaoIOE"a'I _{*[=3گqXO;'}W\<߶+?jTUg333P_ +kyt0WmGsy+nYzwEB.!{Xnl;!S#ne-:[O*{K4TsG'Hƣ5Wckiݪ?N*= #QuKiD`dB&5 Kq4 }[لO׀4˄5xTUeKI v*9Ǯ' +Tʰ5b,<"Cmz{.1y$|nT/A[=~m-6) A[^D|ON9,S#LgH"~ǂ+Z/,#:j=%ZWrE=OQ~&T~~[s`-^SW?D[ңϡ6}ҞK7a) w:RCXK?U)ӣPJH}T- ,EoZAu7K/\vڥxi#}x[!?B.YbΚ-; +anC?zO3n쓹-nѺ6;#.mM[7 -Ҳts}\֜syNKm>oGA`,{v*>g"ں !,*6Gl?l"—s(>b6̡mӓ8.e_E.ǣ"38AgHA/\&h^lB@#+$p5mC smkBn/vm9ļՌ *s ]7$͌HULҟ16drSMMӟva\B&j+;+/аwԯ\b$#j>Wt7uwZͰs/CyC}(uvâƳ~8Ѻ.+gaڶ΅H݋jCDOz9bq磨7>, <'n +GCgRdӯ1lfUdɿK'0TPea/L턑a|KɘqRouU2ڧ#'mB?~aZw>ˉW~F'p?{~? ޼/L)Yz/^g^j4 9 Sν +nDzm|Z6ϣaWΦ{].#^а!?̛?+7"WWP1x#yF[\s}g9NE%6VyTTG_K6fF2%pNelE.h"r-O9,C;U t4%;LJzh)-,"6US^]VSBĬ$.Y B6A Qv1&wȱՊ\CK:jRCc!2l-U +&&L<&^ ss ~y׊uY\Ggh$1.C-u!˂ˤRLAE9˘.V7t2#ݫњCr{ʐDdr8MdMu-$<&dNU$үi +JEmW5 ]#爚`d(KwIT[Oyvg QS ApX8>1< +Raam> %"̍d]ňK3etd\/}=qF{Kx+U029-oП4WuK{ u04br"@W;m%ƣvݦF t29fb$``+rLջp;[hWITlGuZO$C}{1.#(, oQ?!#_vpKoT_T67j1>&,%C WQm+Vt!eمv <= g qH2m!؛Vذ 5t91`rd-tx wTc+REYS}_ޏj7TSWNېÎy6?V제d(ŴVm_'2F/Pm]Yh4|eB#7Gqmk53NzEs1w(.FqLs6?FЎ}ONE|񌞉d̊YUCtqYA7z`|R0ƭXG}$uKXEN'k8 +͏!ߴh?FbVN/CyzMG6e$-/7_x\fFU FKq" JMUSP3pxTCx! rZɘpe,μ|#yoFwQ,j?,2V<@?7q;m~G~\xf +> H?|";@ +/eQٝ{3F}giټ+J7:nC.FݦlZП~̾݉roP~/2 +ֿ|ͨpnw݇]=ow}sîWxm\z=Ria8j7ʫ;14"8=fuDZ!amb|$`nUAm%cQs XhDH_[yq3h,%ݫTC"ç-/F_z S9_CW,A"׶d^ى$!@G[rl[bSVKocctFJ0U]«--'j)o\}ENcEWӀO%xAN~ +mWMWGloю^Ǣ3`Qc(Y66ambm-4-DMwIC|G+0VVLO.&``J$c0Io6CYv?aHWS>ヽLMΦڎj@o* SS3k܀OzNW1^yN9SSLMOYi +h7TӛџHN)C[.ebj\ȻZh=[A-0>>N&r~yYell^MIll'Ã&/Vws#]LO-I!/XS +qp&ߊs:M{꼀:]b^.Ysڎ!NT3U-XK1WCk<#?Bm[HOzmlqTBw i"?&$.e߅C:l1="f+DWx*<-[i>-GKX 5Xe?C>Ҵ 6-Z>E{+ {ɱ\zgIò;V$+FaZͥ~ô[HòٴMһ6> ΅d0-v? Ŗ"_qy^Gq߿wazJ/>[jlGw!8 Ka?kEfY7瞧q} +Ǒа23q&|&"&¢]eh A9RFl| #6s&Bt**`|(phVgj"pGs04l+`";)0Dހ&\c}f=Ğ(w9PtW}GQ}Mk{mOжnw Ubص庇i[-a |'yדo@Ad+FF`?Ei~a V^E~VCQ۞W4|#4}15Ӻ!+YB]h9=BS ̌ȸQ|Iy/ӹ6SutOkOOюjbp~{?I}_uXے$"ɖږ%YV@Db 9!L9tsa'^<.ED=Z|*: ezmĜM.5ӟNa_!j*EWwD4hӭ!box[[ nf i.8 *H#Cc:=B2"*=>1L'A@_(s؛ +21aj&CWv鵏=;Le_vm?۰a { H.2.$hv⺋t /a(H\{'SX2Iyۏ)gQ⦛ uӟ~_SK|#O\ΫʱGQ.+Hb墬}QLM^Fro~M-oݯb=/ j>-R~>"ݴ ڴIb۳Bg߿f3{ ɖHsӾqG^v O5hZ;'|^~Ed_Gq>/໖|ycNsשgg3|u{եI۪2uMv1_;uZt0m R13$`&l`xMSG ݚf|D4}lzNCnD r!&#&":=\KC"[d;(^NE! W̄&-G@z7(=v(w/EQ~}9 >@g{w(ŷQ|Zmy5}Pz +WKP}ߡ?"ϡ?c/S^գhLt~h$0N;G1aKN &F|LXU'eA +c$m~HSݵܞ2xx ]#$25h$-#꼎O|O,[c$\|?ysy{\z..OTnXDOeg)gd_OO ^ iض ' ~oBPr)~->gP| W17=es.6.x}Og)?8ɝɝZ++TvNS=rl<g^';01S+ ?> My5QũnCX"YWp]<F2=L ڱh=2B6AM+"6y cR!z`Qn\\uXōZ%Dr&-FJL҈IԈIEe!X_Mgce{i-UtT#MТѲs>O$q6kMX5j1ƺb%$N^̢*b7>#k,S)U6,' +Iv K{,_L S,- 6 hۤXdM +2q ~U HZ)[K(ZYZ(«ip<2<UDZ\k#ړEĽRv)~clʱrzHWE:b!k04_&hiƯi%i&b 7RWWV16; ūç?cd"zlMqw\ĭFt_E" h%$_Υz}X/|l4]LZx4Opywo~}gl\ Y.Id0'ڼ̭`;< ͫ?-8 \Y>J(^?٦8NyB?vwNWi53dz.I@=:\LM)'6E![3ɈtcQ&<rwT5􈗘dD"Lngf"HLB +~cp&G$ @:7/F'!Q2ubUV1SPCgh){e{_`x2ekid %2]7h]7a9_-u-fgn݁<)W> 8W܏b#Q>]KoZdbjWOK|:c5t߼ qүb8t_=}C*:mՌ~nF$lj+ѭ;xW{ө +:bpAE|k j8O2?ܻpOR鯸/O/ܸI`Q})>/yCBO.ۃkٹ /(]}Wc +?hŽ-C'dŽӻ엜\n*|j\>qկpFݝ؝ɝ[ܚzCPXS[Y@ pNe'hJn1"+@Y~IFĮ"d)% 2M"&V,RYWvwd8B*elţPvw0RzO6:#v +]v.2^E9nOe`hLoEMV(&b3З&4Qbl(FWY˨ox2b*YԌO2u믌Nw1s1I`V&%32A3àǪ0Hq$#&gƮaoUJ$؛S3}~2  6)FGbVI%38@OǎD'=&'Ǚ'&b +C ch01 s ,kqH +94d2FFG""|zbru'/d?J׌U|wEMIF^<%VI.^m~u>aK%ɘ` C>'I36IXWA\ ̣. }LL295N*GSmv +Gd-Vgl}Lfd¥xG7mAzO4|nE({p=L*+\+agXɁbM ul!uUx4uh'm=2]+4\Grcut\cJR+Lf 9?ֈi/W?#݁q5ᫌuk]Vz=Zm!JXPCJnx aLxt;I%.|\RJұflgo8Ki@!6.y /plY8p?uY׏#ݶ7Ϣ=4uQe_pi: rނxY_?F945?'lx LEUv?o?xNX B/4 +Gx 4"/$fo"hjbt(Pv2XI/]J2zLM 3=3 d=3=%J36-k§*dh[췑 + Ձ[}ьNOຟ353 +M0;ذKࡌGh~;GXn m} 'q$-=!{ +gYTױ|k{DH[o +癷q=" 8棯 jԯՑ |vs(rz|chw?/Wj$ U0Ā[N5˘ș2e(pW:\Mk0U\*sќ/VhFM2PCL~ 3=wR)X@}|WЃrk=@{s(X>/S|q/Sv,|y+sj ۗPV̡abjZ$!g0٘M ݸUs/_9go _?KE\b >XL܏Q)kZU=Ԓwr''QGi̍g zt;DblXcϣ+'uGgb U9b'!ؕ*BEq$EQ]@&mfXtT\F_s ɱ Sӌ ԝB[-,mE#T +%k ˱5^'3>>$!#^fkD]:H3XFux;Uch' px``(>3c3B?2]OpxLĻJX͂Pw[{#cL+i4ؕ twv3>}P +ֈǡV&O`d}ncBϤ$bzrq66w0J*=-?SSӌ32lbhp%GQ__!o} *O qw\ev*pC:LHne8XSc>OQo 62VZWn⠪?C%yA`CZFGX _̥!ˤPI=FWoX`7,gMk .p\Bh ;AQsv=؋(="TnEw){Bi!h\Ko}ўO-qn5>Ed($l LLAZB@Wtui+[3Ifg3fO++ ~dBOIpz%-r'œeWDN^'p0.&d4 [PC_A" +5f/tq]z\ Iژ s{60^ySr~4l\LӖhݱT`v,+h.}?Pv[6,~|,@_E)Dkc<"y<ṕx?/Ewz->,Rc)Ѫ }}Oh߲Hؿ3|g]׹5`zF&ROHu=rL m!m>J|>MyJM63_í:Mԙ׋c8XN(W=̉yy\nr߽Sn|t#JWϣd\Sn~ aƱ{UqӼs)P.3}sPa-}SB/nj,d}~<e{)֍97u 6?͡wHVӝsߝ&"d8OTzu'[ҜSuȝz zL5Q3!G}L ԡ.kQK$Z(JQrQ\"0>݌M"ªLx +BN3n;#I"vNNMk#725 +gOFm"165ۛ]&'Glhj=12?o"\<6I2h/et)p(5|*R##} {t{lWSEwp G[ }Zs!ZO&tfߠQ~!4ekqeUkWm"-&Kv01E&:-;M{eWv=O ŧ8AĐG\v+ƪud|D (bkCx^#*|-[P?0#%VhwtZ35e?P<>NB{l_E%_ {>ث֐r.9ӣnGh<%i8Cq]36gGb?Mg"]7RH}L#D9S~jV/"+V2(ފ4ߖCm;u|$QYLݪ_"#mjlhX}߅1guc?s88NF?xb۲ǰ}^˶?'L3=`B_`Naq䰉cc1EDZg}t{Gg)_bsdk(mO5҃wrSZ;c̎52]pW.ә&FW3ka$)fz26~tK3hBry}xşKއwSul}5 s9}+?C޲{(W}r7/Zɪ{9˅v@}w\n>,'o~|[Fq?N'߫ݼʵ?87])B-Uc߯#eF])!?{t7?ߛK;nfOj bšs4|ſ`̨[] ;*7Ӳk+6fv"kmV3(e"]f=m;`R::n#{אvl=Jœd@ndBd93HR6{FEY$}\N7:r25d ,BS[&&*X =B\˥;i?&Zڸ-ty15A|뿍tl%%~8 gY/R^-}/V NƵoyXg=ފ]K^|kv Gi^?w#2Ñ,p1 ѴAar|$;Kؿpgd9оIGekE_]f*gKM2$g*|G067p7u;ˉʙ eFUd"L 貉M05kȾ/A2=.z ΄K03xѡfSL 23/d|$X>3(}::82+SVV*+h..t4[D9(v.nJU.']9~xt|ň܏Vz ۟vٽaS4e'gKi\~/ݏ?)nZ$w?CE(<%Ɲ߿R@Y4~; YymҶaϡMB2ieOA\wI63#'mB rz425gfD]J^O1AiM{)O3#"*+7µ{ĥ7~DƇ>W޻)g~)Zu1Gjv +KѮ]x nͧhfkyTx_3n~K.#r ūd\{~K/SU5QukwΤ+V~ښɝϨ5* z QQm9,34k.H804aaUlMq[!ʾCYsQMةE Q^@[{ELˆW^=;/x ${oS +tWbkDt$^!z1A[{tIR8nMI: yk[v"- NԴ#05p_e +a687UR"stdɌN +dy0b"B\ĭ22 zRkkW7!^Iv|v#cOӗLI1KWcht׎WYC3;owJSր[)%2HQ:&RL1!llfthQ'p$֒ cd - ۔2Y Ci^AK;ag&`  `BUug¾Z.c!MXECq,")~Q7>[ʭ1nNlE_x ˘tkw2!;z3װ7!ipN Bڽ Q\ uqw\/$a> u'9]ro1.)nMr`rLK{^)7WӜ˒G&%!:uYTt}PBV?HY+X{ƅM{`)m#h=$g!,dcBѴ~$9xۉ1kv<*\7>H_; o_ݫxϽ俠سƅ<wv=-c: +=b8JnkT ?1-#=&GK.enYȐ r.ӣ1FcLdcu锑Izn|4@_K_Nth@Aʄ]UXt!'F49SHʭ4NW#c:FCt ;=K":ەv _-1 Y'S"(B}O r!_e=nxM Zb"{G>dBߞuON(<|WZ\4kr{A fb3]WwJu[#K.k!zJ7*[CE{A.g~v/ :^#oW>ƅwFp㻨Y"0Ln~p]K\3s(ZR.3J=@x p㓻lXHmwQ +>%~bj6>DGwq_Ұ9ҭ; .d|>/y/qIM%/V!?aNYidGh+:JO٬mlhTI*nGO M} rufY;}8tuiP}~c >]s9n^(%2gO$<:#Y/rS_d+`]o0U.KA1Ӵշme[D{4yqHcn90֖2ѯgjBD}8b(^O S:li?v 9bXjvh9DޘEn_h;rvu.$Eqs>ZhB?7"Uh՟߇RtBѢ PzD5K+h>EӺԭՁg~E{~/A{Iڶecu߃ˤ+V?u? 3ĊW!yu!yվ'loHd(ԌGe% j.RN_DŭQFLfMܓݟlpuk[Ƙ3kaW2Q{-opvI鐌LRԸ.9qg 1w3>}vp'}6*"fJz{dc2=6{̌I.~?OΥ>tCh/Eڷ.AEGiŽXyxG3_Вm[(a9uھŎ4SLωX0F0c$W[h?f/Q5ϐpk7?Pv>u_.Bn}e8?0 9#= !{)ZūQ>aWS\aGwqR~$;RB.\x)b.M[A Ļ"4_̧Oh;MߑjHEN|_gɝɝɝxD:.+]CCq͹Javv[ ֋07_zs<4g8eD=jV\ͅDme$LLqdk] \,-iHۛ0KjktEY})} =D&l\ +z:= `6m-RmeU$8sJ+I +| +Y~f<@o*KՄZjƢV񛔸ڛe$Bv~/.Ae0ԫP :{mYFd'b$+CP,=N\mYB8;ʰ**hk0V +,Nz b".+Ύ6v=8];nu-~c !c3qF"co£m굨I_xG.0.fz:;a{QGM:7%ӗ"v5ї0>K_%κ\WيЗ5 _a(\`ڰK6,QlZ c'h +?@'lڇktjcH @n HyHYOa*Y3%q} =Ob;'4}շk"Ysh<)- Ѽ|mb=Z6/z|GO`7o} 垥yw8P3$Ety K2=?$UqHGnZ騑3aK{*IڈGM5iefgduDUL:ϲ*]}zK&"o!P1g$lofl4"2s1FL&2Fld D2&&dz-x-$71mğ0-`U4f#5{đeT{Ñqǯe|*?cch>z'Ti>- <_ }5'oYD8OJ柱z%(rB}k'Pn}7/RQT?f/+ vpQƓ% ir Kj a/`WXn[w!aJvȩwhH-qÔ| )޻KMGGw#; +QjgݺOP&GK(\1 9߾KŷL/c>$ԐuRCߋWhW>Ǖ/20~S7\YGW' +ch/4`mE_sKyl(.an(Z_S2֛:k%T]_+ʳo`i)#V7Wֵh!.n&bU3h`UkɥhZjh.AkM1.L"NwCE\zczZF4X[Ki[$Qe]n(z{ԞE[uJ0tƒtŽ4xuS{3C#Bg`;Kz$cQ|9Q.^ f2LN J[q̍GqKfhhQ2!]A|L-g a|lyLuH<;zoeْ%+P)Q,ٲ9RĜsΙ9FF9 [U6M]oֳZFu5gozzF204pG.]FGbLNO1Z ~S 296P}k.\D,Kb=b/~Q;4_G K:}bPd~>T^3B,5_jZ&翇u'QtiӴSZG2jY4c5wE)m8kb*]ː/r/-L +\L7Z|st/ҥOʘX%X˷gM~wF,b0݆"BIi3SHv];\/چr+\2Qg|@H}I73~ +4tc*u2zu\gf*D +5dJ_X2f8­L^[FĜ ϧәq4aOIUQ1W''[ūnV?|/ +g[>UzY2;`݋ŌM 쁺ѾI*KÚh\RՏPzǐ|ɟЙ{Ͼh^;Aq}ϣ95_Σec^ GYsR"t1=L+] %L.!{SoɵsuYtЗbUҝ6Њ>>&G9LwV353>7!fʄ?~3(zcvzL6'fΉDٙ(}>9>C9&z[ ˘0`̢vׯh7'xDZl0 ђ d4 _0ƃ?~Sԯ[HòENqg"L*#5;H"'5ŖE?zB:v/y%"۴gҿ8K_@yL~B(\KFf&Bw$p˟^{:=93Et;?UexT4Cׄзt }&tqb3A锲QK+pTINuߥ W~S}:y&!k ~UbiICWq[[K=Q!Ydќ3kMZ$cN `…>Cs251g301e(ҚK>M>nua-h0}ɸ% t 8M]~b ie9" -?0]@[_!L0W~ vR/ ꪈ8 LLs7u`Wcfbg8C*+e`pٌ]"ģkbhp]e>i/d|dk]Z uwVA5iGC]SsW \84U3pk*w5|XdўPӌOL21`cnIؒN" {b3h/?UNOF$6 +-1WpD$WfgǢ*,O',pL֕^}yFLBWP=TLe+1~FaKFFf]8eǑgSl՟/YP+zh?R1q7|I]O'0dʰ? [Z_ s654anLe;L&vfc،z=+EW"OTwW^ + 3L̙y?}d(3' ;씟P# Ej#9<ї?F{v5;W\$QeOŀt7Zw—ϕ GTټS&:-鄌Ykb?䈔P!=.s[N\C~A%OJ y)wiReZ7?#,yȶ=AE(tΧI к17,}!O,pp;#4?GI>Bݪ8ڽh[0]O; -ST-[T#ݴ鎧0|W~ V@yۗkә3;ŵuHy~cCNuI0722glPBO#;(q3 aѧR -hos& LjaBx'Wf23%hcsόPU@\谗_蠛(#&F ۱901dl.4-Ӱr>K,8O|7 Aw'rC93Tr=(,ueLC_l(w-FUѼ~߶i-~ݴo|펅؏>3X>zSv>C?&o|1c :rU2;$e<\J5~W*ƽD4ILtn9p+NE*} +ޖxQSf-wOާR!x,_@Ǩ$SQR?oAwS,h7>&zu_= f˥}r|?@=skؾKzmg="Y/d?QQ$N2?!>~}סMJ 7 ZoikD':=('h8M(n. <YoɏS%a>@mREuےH2o|K9qh/K)T3vM=Iiq溿.(ӄ7_As- _A[1D|U9蚮GFg8lb -16#dcyN^Vie* + 'ErnO A 5:cX >s:et]{==lZuK\zV5BNy* v;Gt []H.P  ?%05^§z\`$绌50ڐ5 b6!pG *҈v'p[M84M؛r6)8MC`o.l +)\i/I'h220FoC SsnI48={ ݃8eY:/>Neӫq:|v1wR/h+Bt:q+ +PNȢ# +17Vk-ߊA&paeeĂ!86Qm%xex5 }3ۍC$r_Ni&\bN hEՀks)qBf :Z fak"P +a3:] +-Qmp>9hJOP: uϠ_Nco7 aEUS\ kqX]َ.smHb XOs8s%bFc( aٍx5-LJL[:Kb$|-;|<|LƘ0K8'cn8Z +fZGrm$e\w>{IOaoN"`,.ZLAuIcXB̠n[!՛TϏy?a*HP/C_%ڼeeqUf(\J[b?꽄hOe "h8b/,y [U{s׽H'i~Lʇh а W>L<'P}uѶqjƵ#ݲ5 xz{^ӻ_]z Y;ƕмae#4|u!$KicNEPCN@ȷ<%j۟aӓHƘ3]$l-DL7\^f.5}a9WfbHed9tZw's3]uN<Щë2ו\ x~ڵaf:'kK5SncmBI>&:ft22`pLEЋDhv?5(….;4|b|Y?Q}/LӾc!ͫnh8Pm}GiG!?O1)͋^Ql^AiZ?AǑ̸0W5p}x%9D;JLQ+al@_nL:Go\Yu{wA:m?Ei{|'kFL'~b1L}8UaVG仞CyoRsgVW-pmQ\DGٶEXOBEsh>OGhX/;qN +:K'P{goPm{Rk"ՌZ6dLɉ(FLu %T΄<%ݢ}t ߧNzZ 1\-09bv2@q#cft1Ы#l&l}.z5\q1lbK̸QCF02֭񾙶ӣk4x/ѼoD Z,q<1rEGE[+G4òIlG|It{@g m;G14 \}& /b$}{'0^nḃ_z짘K̳!$+c>2mP),y_^GvCvL3c{@>W$\ۑl_:jŹ#o ٟK>.x_7R9K${>r=@?hät7O(^%_Σl~v3D wɕGڻwv/K[wPn5vÔ~q_< znzP% +vFC^s.F.qc7۹! oF=d9|l' uQ"XCv+#8soQɌąD&AˍM'zE,Y74O!KD}Ʉ<Ĝ w]߿7RKSϚ%޸/EsqHe rN%ai݉yCNɑE'^O*]tZΒ0]گCl})D仙J'͕2bӸ0=Z-z mJ#brt7<9 wҝ`$Xw F#Gd39H Yš|݀;g/8`5Ue{HeIeT%M +T5w7(N%j8C=[C6vINi*tq+єj-,&tgјW[N[pkYG0'706(s& Qc@_O._#^ytme"gbf +݀^DŽ72WG~ +knlg 233KozJhk+\N\鮋>Gr\+1 \QGeѥ]' ] 833`fHj=̷1׬ 8EXFD]r?@cMvqm9} +[_S sJ?:z=Kmx8W-  Q|r# L$Z ʓę:Kô'DŽIӞ) c2 [gqJA3'wК\27zf;[i%?Gs<+~񨒑,ZŏZ +e/p>w}5'іnf4̘^Uܢr?UTO=[PWbt@蠟N&Z2fI!ǭv\c9ΟNp9O!"Koȷo_h۲ 15!A#/S](͛иqm۞Be m;Qh _ͣeBM~- iĞo}R|]i +~(ge%ԯzX# ,UkCsK *,fhxYzO$~=@+V +f&Jf.dހreҋXϘ@PWg=q3ZT$""߾]O۶ɗrݞJܹPn~ݎ.,5Ҳ쇘 %4up^z zӼNȏj{@q>2ዿ(d{طˑZ *͇_DbҺ![shN'@ #ⳮߓD$W"ӌwےgwpqwwpu9!=Ax/_oI;?h#|Cνo\z${'ͅ׾G(^^W./}pȻ]z_EfSa!A[FQ! û|w?LPn>Ad'UR ҿ)ڲkY YQ{-aC!~uޫģK%b'rތk<2pnL,}9MoūK3OۊR֕k>a5CJx*荖r__%BU} +>sN?E[pc^@z>O%ΛQ[^|o=]LotS o'} wR'hUUp܊Ӣ<"\kP=v ՚ܮ6ښbf^~Y]9`m?-ۘoǫވKyC+ +[K'5݊j\L|[QOwqوQWeKe$1ۍNⷜš?O"x3vW1<e 4i-&[p{:q.1inb?Ҍ"<4GHxUa&cQ\ ܍Z`i?LWJPHq.&;Kt.~_ޞLO=K9lj[ɯoiySt:SHDWDփxToӝߒx.?*ǠݡL퇈9sX©8C_p-ƣ$\%X$pn<-sQctXGLx{ <[XAE +ޒmvc/y8E K0ea,O!ɡ?,Ӓ_GJ_W{1~M5 \՞ҐDW@+Z ^8[24└V1="oܜ%OHN?y=t:hK'(d0b'!aTpboƫT zڊLN2= A +:*.3 3KELbuئZS!K%RbCcS q +t1gt +X W~D]][TdaiLaaphEց_UADSFLO255EХ懲 g||j0֤ѐnd >(sW8TGDL8$IH?G>;~&Ϋ>"\)u~^izm'}=:ǘ./0}"cNێe=Ҕ7q7;^I50#$݂lQ0ў]2uqI<"=XWoMq" WЩ=_va/_d0/vH/}t-WeA9qSBS>V w!Y˱l/9OvէQ䬡-c5'貥!꓿E_-ESk!Ch*6`#OBYJCbuFteQn-3]B:0.\}fš,bdf^-( +M{>"ogPױ|ͮ%4}#? +Cr>ncm +go8"Ny(w OжI tc=*XNnBCwZ,ubL'.ӴrDr H7=dS4nzBhݰxW~ϐn}S1h䚈Yh.f vʹ2a(%]L Fu|s5@!&p{Lxi/g4U\21c$&gv͵1z tj6盫 j,upu6􄏱a?) .>;7kaN[Jޟ| WҲa1/>2֣Ϣ{Mкoti{Ӿm!KeKOŗ0} Cc?M ~^}#=|C(=D.F(؎Jk<OP17/=NV<$}rSf!m;_.uEŖ%Ҕz m7- +B"bW@W@Д]~zOeQc_VۄWG"XOօ :nDʫĦuo!lK#j>GuZOTŧ;KU~+oq8k2d[Vq`S^n-D:qfAGG&>ykmaDtPWn i[g\ʋԇ .Z4xx׻5tZ)4(tV9l#f +%=PX."lT'pY o*`'b@+EA\q9)|Sۭ}{n znCt)e7 nS NS*i2>>.}%f 3躑 M{ .3D1 N1sTFz-qc<cJNT6fqcoA[zٙ LOaU?IPS_^@@Iwk~M-\,S15aoT/WQ2 +\ &Y# +zxX׉^*MY ss !H Fֆ]n2Ζ3]'~JIl&`1RvtX-8Ulr)U=Ah D!n+#`&aCcà5ǡnco*ZYHa"3 /Tsc]=Az{:W +/KMP' i١;`dNϏlaAcLt[DFaiGTN}5(3?5whsRd}.M?K,oPy's?%qo$'_F1/i:&hKzS:^\Z+7`)لe+6 ^>:J6PӰWEaVNK&"Ulr'_CvCY W3R{jDeĘˀ^G6\ƻDwKo!*З%(?G \ܥWh8WՄg (Q5ҋV'33erHSyMjhlڇd#>Yb LջpJ&a$70=b`v:@EZStNaHg#3c^\)e|s_!/MS޷*ic:"rzm>ˇhڰ͋n^,z4[Lgh"-@+[(%݋/mB)Yw'E%dEy MO,3vWؒ~%rB5KDE4o\;=+xѰj_z-K9-[Gs=$6b($ j͵̨C|ʣX :qA+9h$`,UԐ^ppir23#kg #\7c}& $Ԍ':30u4icrDO- w9>e|;[KJ|UjV.A&d\HŴy{ǹ#]k˻i[ 0~Ǩ~< ȶ/Aiw=KNo|#q7>|8z_KۺGpދr%1Gu/_ğ+{~OGE8l;M; qk6So˹7?;wqwe+Sqj6>Aݦ/GN6Iz{HH2?K'%9籞Sd|xR^5m_dӔ.{w [ }Q)z7.y{Mן^uϙЈg*%h/og,5W5 ?Zo43c^OŜ7siYݞjzܷb.!6H#J%laz[,$lE'qKR1c)+«*X4$Y C]:;h)"UǫѺlM.J!%l7`WaVV1+bf@ȩĥVsk9^ kC ,58ڊpJ{i% +>/~CS ?gnm?$bW4Q_C+ghd1GquX1 +tv%# 㷫KqAOwwC^o;Fdԋ^0ZuX[-t顯S34Kz x\~73tG\(70><ȕ+LML1wuN IМfU{O>b xϠ["mioe֭ zv  !K}]g /F*Op֮C)_긃^g + 6tG#<{6oFq=ڳ>Bi4ݰ[J5$<`Pcau*ܙ1obv܎W.3nIdRfuk g|3ۑn;[.\CG>:-%x>aԙ&17!j*JǧNϝj3%yz̎*鲧bN+q&mZN)@DukWLL`ހZ1i3'1fnOlWm#ؑf? G2<68 3~nB#-}nW>|]BYo"ݼ]߼_>+Zw@ӦŴl\l3Xꯅ̸Q|ݱߠ?~&Ԯ^d˓~0=p5pNJ=D(vG(h .e@ S!KB6=N˖i^'TGI:Nb]t pӗsRݩ$!f,;+3;7 n717H;e*w+j]ZFtD5$x;R10S11hc f|d~=sW|L 3hcUA^)̍T\1Fױ]|ޟ!{_t^n?Ag{ŶDlbṾv#X~on}Ra4?| ͞z@֛N1 C/ Y3ͮP}Uh^ h^0O,OѾv!+ѴjkWB\0,c$XL!S]9~HW ~?q;I~q?/"v>w~7O=\|.OՆ\U<\qx{| |{|C.{K#;(^vCn u+_R-,5o?]ύ^A{5^?UAS;TL܍4dkƫ.D_1{s:X%"~ 'D?nM y{ie4MkAQijQhF/nɨӖ{N+sW E{Se&qg]1"n7:<&aȯ+ PUI]-cIhdc +4՗VESrfwh+MCYrGFWg!oF]݀Nũed`9JLu)t4ՒdtǯFY[qjqF&Gq˰&a.9F"!ai׋cl$A$kZGOW# ǻ鉸е`mfD{q}*eZKԩa)_2-eؗse(3?ZbmgP>-@]^3s1Cr4W1ՄS=r(O0Qi +VЩ`4D<-Lҥ8b#=|#jTaWt_ /Tl (?C!=^Y\mT7g\N2WhY8=3>B>L ǹ67pGiª$+Z6AfjH uFcM|s)g} Z2W Pn|bxNai9aC&}D`ކl}4fF5$<4^uf1IGr]9_n;, ot8'0ٸml춍Cl &g PN(*K9sN ogz^||%ՕTҺ眽VKG)g撃ȯW_C*d9Ǚ(?ӹb>l$D{n%ۦRk&Sğ #L{271>RJwNdmO)x%$3h*¬e}?Ќۘ~@nOձ79w1&j.kQ 㙯^[4L{hC&WEN 9G{dacΨf A*z[t jlɖZ)6i=t6kwFO;id0rh7 LF NZ/59y0be/[}n 5pE+$=X.]O_ FWwx//2]7?LZ'H@g0i8賜[=saqsGߢt{K371Z{GT9 ITn}YMBgo#6 ϡ>0ݯuo/`Vk*c5ti \\< '1[KOq'~~Gd}IX ׾5ٛ^ #uE(?>%?ſ%ydegKc!l1IJ[k!:lK&yުo$z i2^ǔ\}[t_) U~hLgd~tc4]"~ 34i- 479kAtE8](tnᒜ@ru9朝4JXN/'t7lV++1B{;4GQ$]c }PbB9gt։1H/cذEȈnE u5Z:3ڪhLg)ΡI Gٍ5TFg}s+8ax5#P:/ +y: +5 +,LseQ6qDWq$zqw'E{5(h힚kwmwQyl7"b +['RU<+D"y?(r +S> O0^SZ;#s( @O7S}tI(zsӐY!wHE\$3.(bஓFNET"?Bw=O݌j$Mwmah `fwa'.%A+Fzۭt@[PE[n; !~6M=5t4h2pw4`-w4Jwj[2*n)cluwZȉAS.MRtTtn4p%ޒؓ6cŁwO||x*Gl6C3@ꧨ+wN!u}[bl{/~8b3Ґ]%۱q,g#:gv#{cP?ץ菽[ϡjvMFwd&Uf"3?ѭfE49.o.{$&PtC$_$m+$|V\[{/{Uϓ.[,zKڪg1-+vq!'wdIW. 7q/P{2EAH[,W>q26dh3nVbI5x667uIUŹr:[;ap"Cv;e^:J|Z3 KՈKZG Cy&n^eN2ڢt&: ڢ$pHSpJ:l; 0V-m`[їVSkĠ,®؟-&d`(I:kkgn' >?ݽ]Y2,ex4t7YtSf cE*?C2 4 ː^z1$~қ3֕hk +H.p O)!ݮD)RqCO/@>W44ΡmZEa8w1佄d5h5\p_Y.EahTs,+,܇9-^ۄ!c'mdJ)`-=!8ڭסI^ 8#rA $.G6S,mR6FwQ5W0ge]̝#W0)uZ(g_'W`^KR!k;rjHDKZpOUݨb)+o*:L*(: c^[/s;kobَ,~-, 0gQB]ZɌv;D#:7ZOgPAtu^jR°6e{}em_C +K~/ :k^$w+(BçQ=OIZBɈ_`KHLC1 +Aw*Bs| +C3(YcutiǑZ<$|z}p +z[)N]>%wqM5if(XɰWXqoQ^AKS54˺?JٶПMe '>^NwMDup:%_|d4F6Sq.Dr z#,g?|v!/[%#); ǹ?b<1ޙ(fRbl\ GQ}0=CدTMBeCT [jCJK"T2N}6%OsǸo@^~#2ԛK2'_sio“q>plw(&\>H e# +3AڪHIW#eՓ+ +&Q}]LǸ\IZ4_̍eVR(hj8._5xTm?/j-£A{ݏ=6ȹ@K]:j y1Kr˳Bނ*mZ*)e9> ^m98"zI9&q~F*IJxN +ņWkCWa1Y94|5னD[2VfYB_]R {zF *KTz.F/] h!x&M0@wOˀC+',tC V:pk0d4kGiyht{2<<ԤER#oaX'p R'ۍiѮF ߊ_ӗѤĜCQE}]N8˰/?& +Sd)k#?]{іT4雩[6{1@K^M+!3ژN@ym4V |hZW1Ðs&((aB?{n;ԟd( 8sѥo#`J`l@G+vK2u s#l1eAOOs(_%E]W.;(5t& .G_u4M$:E 6,`mfj2צ^[U +NeOv8 rA6w=("hIonO1q@u~\ЗţM_L7Wp +cZbﻨOܻT,0NJJ)G" C5( { I,,W>ǛoIձHLEwlGhDxm$"?7h):#|BI1i$^Gs(&ۧmc<9//(G/Fΐ{=s0ᨓ&zy 5H?}:0efHcK~3G<21)Vƒauiy8bᐝM*uiVR_L)CfV_ѮNQ@*u9 93vegL/Rx-w+y%epKȣziSo>e[^B9;UjME{d&cs0rT{Q%{g`ՅϿB,xz^Aw3)ͮz("3o?1O ͥtKzQ~r> PG@oᯠ?&o=9}cNb6ˤEə7!8b=ƑGo퐣-l2=͕ϐ%bWNo"k7ObMںZ#/lF6] nquz s @tkUb9F(/}EPyKN$gD,^aWMWQSbF!%Hc>]~ELy]] +,Uqrƺ_xh\%ae ƬCq(؈=g+ pKg]]Ws9>)ly[qmpcf:iWEJ@'6y:1F~c#XjWŮ\zf%;7@7fm<+t{rh$bɎN]J!Uial;7፧:q5pB0qr,E܃tz@Vsrs.%˱ݕAmMGPߎSucae1b˄,).%-$ԤX~[r#ˢ+l&hN#F|%njl}] +_ǯN wbSA#DIn۸BYn,đ3F)6ܭ\]W*ÚhޡhDdu=O旅:0q@̇wSՇ +͜өY+3`!76OH#?5Wc9q)>-3 ٯpdF1Jg1) Yw"e{J֔]80mTEĖ ή0L6#9щE>!^&tܱ/>'N|4b^D<-)|uO#rLE15R1@Ǹ 9 9('a80 g{G6 Y'92)'Bm(3_Es"Cs(_'`90ׅ1aӑ}utVE󠫒w:?ܗY.|?5>ŏ%d/Y#g%.Ϥ\C-]7#cӋ\q}8˞ {+$|[/'R<%[_?M 9 ܢTڡv 񛐥,8y7sʿ$WQ,>lL9(!7vNxdd{_2$(|*Quh.+ 9Ȋ菿%'B5 Q;q-Sm&y;ߠG~xlfPs0仞xD{c8@q`Ga8>u/S>o#o3o ;'u7FivNCo# x EIxgBsyݱGQ*!_t{C}2E' ?ǥO'xóНyc{tf21Kwi-~kKƊ9/}K+~KgH[<_`kO!uyϒŭ|o1|I=Ga׽i2 wCЂ +콇w{;̱}|`Dg爍1 B$HBHB9ЭչVj$r}fƘk<'{̺{^UWUյksa)ݜK0 -F- tNc, e[~B9Mxn]*(5ʍF|)AW!4jӢSu,p+pQ?q 66>`idVGx mrtQ dl${":>ݳ@YԄͣf MEg {!=}k^LՖHPy*ջsϕ{_*d5!s9 QL1 8Y/FɎ^:x^Ds;mO/ڿhb?0zS @e袗YLuHu;gR4Ԇ=X&nۧ# xm39ReAP} + QE.qql䑯":EgTm~uP훏"!>>S# +2z .vD;f>.3oS=I`?8vd9yBm$dS1Gu" htpȶOD>ˑ(h#KIź0Zo&j#%߿b<gߢ>x*AO(̥>p,Au2ʽ AWЅ9},AQz3H?4s3r-M xmߖH%8~Q60# 4scDD^w1 ggܥYSv<>uJ~ۦeȠz$UyY q1i3x̿\TQt X%QM_s6Ui_Z{n/9t Ce?&YxuVfDUpSuFLfZr6u1m"3pkQVʍ 8脟tji52Тa]SCGSŠhoׯsCF@ci"tZt5{n216ТϥPZAwopJ^$ VH_VwnsNk}Vi&Vm!^cܾy."".U&97^ftC8uJtBLn'HdYiHUF4yp2-cN38js{Ky*F.W-Tdh,M{WsFStaS]YKzա?c?SXF{'~>Wu"fP4݇3[Cg#ۿY{S C0|AdjBa<:s( +9}51Q8Mr1  +Ts<@9qT$!ZB(/}S{"!l;g *zzm!b['Ѱ{ѮTo @q` }(E\.sLd硎] v-Dۧ";Q4ɮZ>~]$;`8˩(_?E\ҿ&" +*b6 PLB]R;# h"b?MWb,zM1n9C-lxiC>"f .bָH'"Nr{fS2E\qKqyבFexwLB4徹/)Ϩ-a\jr,Ǘ +z\oNYrҾ{^ qlp#3\֍$x +k^ֽDmȅO~GW'{$,5{;.EA忒Y2־@ B厩\$TL%gN}\7LΆ49m ]=o<7aT?Ϟ&kME4>ұ.50\ƧbLyb .{6^S2t6 v>^JHe_xBCnlYB7>-J[r&1vUíB<#hSf|>L?И63^TQKؿOTGʸEX) +wOG XpRp38$'KD ۋh3RAJ=uJFK<&Yf,H7a:([UÝŅ8cӉU: MD ǰT$R)8^~|oפQ}y.d܊jnz[lx"bbɊãpklns}S}&[\kpmv:l*g#-h `* AWP\UhiAH(VE/up[O]) 8l'tyx׋Uq +YvХm,<&,(҂n-AWCtZ3ecAC7Jpe0Uiwa:Jcq<Ӹd'sӥˢǞGzڼmxM)<nrkqU1\oɣ^kv򠟇t:Q1}մ.(|R[3.{C]~2qNŖ TN&8g;ޒTPs:LqSz6Ұg!S>(-D4*Ϣ4(~W4 eX▢KmDXt Dۧ G\橔m2f!e_.t&ⰹHwJEHv/@%(C:b Ȃ'zLāP3}B2ힹ/D6ȅSu2E4l`(]GQ 4M /S?OsZA}D׿DqΤn86 +z3Gm`¦I[[TmG1xT?LGw.2"`<Z:vߏϐK\\Z"y& \ +&峤|/E.|/o@qd|G.}_K.|{.}ּH)zԕ w87Bʗ#g( +9߿@?3},Qe +6@ڪgYFc/ȷӉ[}Yt5{<4O>nҦM"֪ܻ{oqerV1,I v7qܿ^WYkSpJ~7谪>* c}1ʹ;y8%67`ɢݢ tijvj]: {s.MUK ue"*-ĢedBCj4LZ% t(iӋʄ59vq(mw_}mܾu#4iұc)Ǚt7 _Lֆ yFrnٟsm>-܄(3qK$b'wGi>NYZ/khriO]8@ő8Ð%*u`Tb(ڂ>o}ƣxU'fJ[!zjT%pnCYiʦ2y<*Yv;#:SXkbHũVmY~v3֫ޭ~<ਊjK>#m<|}rܿaSy8nٸgn[% ޛuتg2--;G"s#޵kAVp^ǨS]}Yd߻/~ۈN_":A w*=$1+ۻ穀GA>-vD: z72ʠ)ԇAI6M@9q4OOHwMpd1ȹc :0_߳E,pMO2z19 {8kCg?>Kb8!ȅ#S5Ιhooz wp$n>HzbN_$\=-D;S:7p&2t>)^&{+dGW IY<_!oʷN`DHr֍C>%T"m$} g?Im|M\#iJR{d OХbW,9I9G +!SӤ͢ULןdTAO]4h1`%rnX_hqVde*EnC&ZLO?)\dܚD GYtZӞo0z O`h75CiWSt"݈>MZ⬌RGvn 4Y\pij}ꯤ]qO!%4EsZ?>c+EH$x$1c.M)GAstj.pw5ЗxtYt[xxlj]tYV[J^fCV!w`.Y"3hD]ZrseҘ%7$ݎb5gmQjN!:͙ˏb;t#L.{rPdcߒ@,rtGek.D&/8NP> #t)s(̥z+Hg!1 yG_jLrWb,jf#b,'ߢ.x:zzR`>.j9&]E}tĻgQu +;\W6 ž9m8d_/F!}AqH#* К5Ұ#)a}˸9-M#o/*ުtb8>CQu2ҽ3|3z iOņ~MvQfƓ?H|Yyd~K߾@I[r4VtW0ڙKv_ZDtit9gnWwnȣt.?Ge4[+g~b*ϭ&n"=5)^ʀN +<1CxL(j + ƚH}I4DC|E]Iq!6>5R`_Qi6VL.6Q>̣hN#O?ʳ4dXJGCR.}illڍ8Xe [{sf /ayu2:AMm.m-oruZ8 v5iWSzE{ܾu ÈV\&Fqvy5F{1:pE)T'i3Vswܤcĩ)F[p +<N 7 r N,OP3o s%p +O`BD.A-y.>(%b* +[T\6+3Wpcp=Mvm@6y4E_\I whB3o`_E4k]С\V^LѤ~Fcjl8+0QXW+ue_c;<[ +^1~-oXBwy = Y!nËٳ)NH}5N"kI#Ӕ5!ڳV4Uӿ_ MՖiH-A<5zQ{;9u5*ASi[>@g>y)g=U|yy؎ʯE`_Dq|I dga=̟OGk*h_E= `GS1oz;: Ua3<^ާO|M @w.CK)3k;95/?^ k8Ҿ_KZ?L7<=Oq\RV͗nM%Ҿɯo@َI~j4@ښI]7AR֌#|N03sguf~NP{>os/!ף}0-k^@Q\ufRX'k3&ݘ@sCkӪg4n~ZxS<F ?V@O1t<O1V~eTJ6n{"^`{mSΠtNgݓϭLx2WC_.S*=tU2x>g$mhoKpsq;shs<= a3T;ަ_ꢿ7uh5 HXE鱏fn*q}ZEΙh=Kr(J 8y5iqo1#?r&c3P401LKwEt}YA(WsywFdtà9z (/}&Vea48MxɝjM[jڔ 4,CHSwGUEDzſ2bP[bBa,ASMgV4d_OE6 _p2՛9i da3Iif 5d Ļgz^,vNG>O2UdQl(dXߤa,Q~^y=sFGWwLxT.~'W8j>Ł\߃r7B<.^jLbY5ɺ=N":O֯n5< |ii@S.#]U#;roW@3gWzJ~#t#n1,b5n i=[XO,8e? 7w=Y;{ÏG5C6Z1`:D8.Qc9 {2semMkKa#[C:*nN#qVӒĈCֳy.2:À<#Y 8HGWs6'?ʰ+̥ϙSX&Ӫǭӌr6T!Ү}fC>=skk!ӟn=[ɐɜ&՘ےFP61R MFmr_= ?6Qrf%plu1eqH.|MרJmE?t{Lp+ c0H?>XuaRe-`#T%94'%`*UQ$B]ze ZhNcaf(.)kPz"NENE ;H2N(NƨҨC][@c}}rz8p i1J˹sf m).w#zq)}.9Wz7⨽H)_ˢ1 mV-}(οT[FIlJcR}j)˱TlXmMF|rӥFw1mymHAʓ`.ہ2 o>Zők2ѯ?Dl?XkiǛJX itkӣ9Zeg*FSM~7%;rV`C@y܍:8f)06c1mנ:Dq;v/Ese"c<Q,2 YOY&Ƨ1Gl:v9SoS2ˑ%-.d +^݌딯-tujM.tSAK +75ᎩW2 Kt` =;&Q3unxdLӒkPD.zD3 &d>m՗"r>ⰙG>ު?=/+e|)a=6c+P_["p"TlS[?,h +;gpiCW>X/|JIy־LϓOd}T WHZ<5/#Z@Ut?gOlHbDGW.Ng/pb c[SIR8V#>0 xt7^bұ3HSm/QǠ+t'貦aI.9HG>^EzZk~WҞ͝Q!=F_9Etߔɵ~!^G!TZvcNfc.Svcd(X=_{=5Lm-Ǧj3iE=xAÊ-bWJ/mW]ތJ*.~*i ͞g14$NrŇ!wK١b.=rb-x-F{Ύo"q\@~wKaRۡ^"̅{ά")"E8r#^h!egbx$xP { LGs4<*P{-Y\̦MR~dsP/1t=u~k+z;6a<yhrҙk9)>4S]o*S1-S~0x/G빘sK86Kx4gWy>7 #3K]r. i17K٩T9C+hq 92C}e~M"f2h}Q~d:yGgP0=oݛ=[~>3o +;_#xMw+)sYL®/91;~C$LN!v?}-M!tRO#el!_Q걔ԃow>ݟ +Zju I@:}Y4{1db>^C0m@S_"x,#EW~m9[hTa1e FJk/`$hyx342?Zm4jұw BU_9?ϛWj^4C%qΨݨIs&wD{Bo~C14"V +y#4`) UÍ!&:b\EyFy"V% :g}a4i:&0׆ucz+RiTФ2<7FCiJzl&&Fytn +cPaA&z\I2~ɻ7{ndrF xW%crTO6I "*S"H9>[y;?ҋaeITld@s:?iߒ)wOBn'S€Ҁ59g8UP'Ai&P5u_cLK}VЫ@{u ʹ;\J[7U^3K#U!8ƜS#0-.샘 `& hIDƌ<ʢ K=2/ܒp-V+5;u[ l'5&hN/ϷKsהL4qgDFs+{xza} 3I]F*\&y8Rܝ #d0jMar\ gzTIݴ+/39n5&L,6eu NAvk+w;3EKM! +=20h•?%71yAK"Mgϰ)t;ᇧhK䔘#cF#?<f5\d1kHEZ&o0瞠؉~K* /^g]qWr9;#<{2xu __Ϙ Y?wujt<{O"dNs'pyLCD+Ṇ|.vbOЧ` +Ǚb KCB}V`wxK.>y1_Z*ZgR˻HP.H]VP㵎{c1Q!wS (s{^'nk${6S)81GbvVN$}o$792"foH$}o{IlKp# +O-Ŝcoz G?-6ˏ]@:fA2 yA4us[}t5i%`(HDBHo[ }6L4*iϏFh_3=`bV 3ʐG}< +)4ȳi*df^Q63j^kHsN#Gy8muHC!n/)e3]裿!;IsFlί:d |}סNC!T1P@Dk$Q mxO{[>0:&nOh):%0]r_}[چXrq=]ɌKKinڢi+;MYnzM.Z.KDJ}I.FS'>XsOсib})m_^S,}˾)'r"vZ"f~J +=a8C"EW(lB-zӯE^Iix]92!"O#~)tMybڑ&|YN_SptGe?oGoڬV__[U|޿y5dZ>j~~ +#_;R_3֦WgCY2Mp>C10L*?-*U4,U N$SpGiӫL\EKe.i'OAA\I^KM)X5&aΧ0iv"Fimu +nӬcPN-2ave2-4s}U^[*(6Q1-T_g&S6UôG5Q_aϰK둄,n%.Ҿg˨q]@թ٢6$hZ%'ћ}dž 4\وs Îit6T^(z+Ŏy^Mo^ڣ^EOZ~b& h^1Yvh4CDml4 })_#OBQC4F%Q_)riG݅UOͥ~e<1jHNxa-U8KOMG&B>AJ̹՜^(rMb^Qw,<0M(=[N42{Į!S(qExb, gWp.iK/;}!ƀբN(xCBvRqvdk"0*U^*1`rqM֠\B7Wbqi{&B@Hx:\щAwW$}h*_N^L<Wb t9Px|G<0M?堼{_to9FSnM2kb,N>NߏW`vF:T$YbNHu?Aї4|+#L wchQ/@gC,:cQa) <֞Xg~_i*GDRAg +eH2 'J#TԦO$[)VyԍJ4鮘 +Έ ՝[9n'r!Lu1ZeBi*BRzutI2%GRUfES2 +m:iSc8"}iBZ4jg}i68db:n1h@* Ke(ötzW0ev7s$p: $AnB!.D%4$ a梼)yvd8-āI hP賄 /ÓVeQ]D m(iȗIhO,y0Js _~^?=Ԅm,`]7Ea:NEi@/G@ȭhӏ1bMFK&u(7a+tdpڔX 챕 [ eq=}hb9)ӅQS4@i.9)q;DEwhSOr-1k"=S_肵LȯytFY0PʛɱJ&:%LTpT\ َ3O0bL`1n}e^WrO`UJQ:m)4`r_Bs'Fm9<ƀ5M:5aeRvkZdtiCľDS+T~c/v2{k"yt$}Z4Wّ>݁ڼS m@# QXK\Jz[6c-IWGG`Lǭ< h(rz{1t^=% N*g9K/Cx^_^)?rǹ]V* + /Vqe'梿V.%#T9z*4n82bo[7ok)80ϸvu;9Qyrr{ :򣳨vZ R8Neίz֡4bse +Ŧi +LIgA*96[|t+q]B-o?CSo?/Ha=[~E7z,& w_<}C왋q_$jkz/mO\< UOίoK6ֿ75Ҭe맽i::N/ߣj>DwgUՉh*?*k 4TڃLnלA]/e ] a#h) ]4+5IRgÑލ\+Z|=Ӷң1"91WWP4l*d)+.A1%l*8LFZ1RtavT_*b}*7d{,"CYbRuT\oh)>&aN3)K7E.)أREbOI,*K݋,¨/'ӎ2eD|JeG>emGP4ys_΃XK/c(8!cQʼ,z,Lu2>AgDz 9t +JzwϞ[t6(U$kU3&n=>`vZ߻Qt^) IōBҐ>q/ygWpr~(< +݀1+j1n@W m]IeЇS3>E].0\sAIZR*p_Rt#2!zMϰ2 %ToœJf+W{PtRGУBNC֋aSȉnzRB}4{1fƒRgZP!Jo?Бg6EnNVdƓ"ƋN̘*(Nt*y|CX5ú0Trq =q܍6e0#)/,[{vY {ɃxhDƻ+JOsu9:1ѝ15TGD)>.TԶ+}ݓõX* bM~tMvqoHAuAcRW花ȍfY0ڔNWe#hUѩ P-S$+ OF ](Sx~WCW/-)y~_䘂j,Q4y39/ՕI6]E/7V%hǹw8iT{ <ͧMãk%<PJOܸεPW_~ 7K֘"Iape%OA'M]׊ ﯩ>9mGw1&"~ؙmxjή%f ;!dՖY)jrS^Lw)::R$'t]{\{"0+5KDn-C*a/XMI[. ~E}]?D!G`[A8痡:SEV_<9O|/P> +Yȝ瓻w5CjWa |"Ej?|K_X~6f>\ԨO挝!9NϢT.Ed2k0 +wB&N؁7ù,Euz՞[!v;϶(`.@ӏ9vsnt$ӥf#\F:rhpQntDҫ(L7r)(W1;s=(O3;Ewqyp,Ҕ[Ad#5i݊9'd<oR?p;[mŖZKcڇo.nX3 ]5c̩Gw E~RjSBR +|y\GwuRa7Kf*Pnu*cJ) +F딻Nߓ6ⳳN{**^;{/AAk)Y"lezLB,@)Egx|&P9=:kbi"C]Pz`*gZ{UcQPLA i2΃{wypc̣+.Q_ف.(5SR{$ѮŜ,K3SWCM)%7\Z)7%[}ۛƝT̙G'Z?xAP}) XjO29^CR`KG[Mϟ y&@j3PpBWZ19 i*v՗x4C:щCFޒL}I,4ʃ%^?# "yG.XµHk0b!$M ER9σ>c,Pهi(vp/T:ށaS1YRoבRu^/kI97 ZCS{]%P^"2 ?Rb?}`}I#>"?>kN؆a! x 8 JBa,asE}L ~?"$` ylE;!!ns ]qg>'HI )M?>Վ ļ~JTGzpO5j C&kE.d<u9.юBXJ*D.gʼnY{…SE4觬8>W"ίF]|_<5v=,!sX2"AOؘN EJ>R᱘ң3P-BjGο'Tvڂ?e8s TϣpT)d,|aсή[E7 l]검s=2C£6cI?8U썓{-!)Q}o7l )gA?1j^ͫy9u4d>kזP۟k`}ybNp%|Z~Q["ݟhUro9kךޓLe0hD![H:վLteZxG,@ 7|91Ozךs鮿J%wOG{tȐd7iXF7&.V}4s(+<WtA_9q5c^!rw2 XaI[%s$;D,DJ߷(@OWt~\nGm|Ͻ)f{ц,uWWҖ>nZ360TXVQ?9(}m-UD"q*.3;:q |? u$eKbr6! $ja +;#6Ipxn]ܝ[t[k1H(xpC 4)ѤcQGY.|sa' (Я(:ɅÐH?ߢہ&f3ϩ!3^YO̅GénRxi;Mڅ43$WSvq-90;nwĈн JG(WsJP U.Z%lO&i;P'CU7r>wdtV{B S=eAPr0GةrI&K5bKNc9'(JE6iVZvsa:]xv+19q*ͱCkIlŮ r+2 '3Ő~T\q}貏'Vګ/ SqLigS87l\F3lIv0cL40f~O[]+aP&_7SQۃj&[^EvuUi"3%`*9O~R/It#1dc:9$ +NPE0Iq +?{*-P&U<73bMJO:iU\Yr{Ubx"g5] +/ړަVY0׻hVu[ Yuѡ:a'Kb]g]2Hj0wX3\V_~.l) k%Uyf)P/Ce\B +#71=>^=B@Njϭ=.&d脽Ks~Q:̣- ާR\g:RB޲ubxFv |[S +$GFk=WɫC뽜"cUt|}`\g%s+ \N7;t痉9csJIy?Ab?*_zl@sŏu4|Z8.vX.GKGQrd:Asv1AD #B_p.q s)][Q)?%"T%p[-Eu +]GTi/~H[4\\Or2N_+Yq` +_{bi&q$}{W#5IOkzK7Qxt+H;4-SkWj7N׿ut=FnHjd5~v[5Eqю\?͚*\x10nvfs{w9օ^G7+x|aHXS$[cDkoã`ʷx?a +Ϡ+sze_Bo]ń̓议B4%K6bKނ/줿t# A=hL嘒>A)ŁK;OD}lG~G׿ xo,d$\scb]W1#M9<>Ve}'wo\X?1 DFIqŘ%xLY"h32!沘D:r-EGi*hCS[( \9[Q%a<¨)K!]MtGZHB7N%l gFvKIFMDmVȣl'(]OML!圠,K)M?Dm l3ToF[+xa!gcFﵘKkD})2EM 9E}RvlJ%b^N`}ߧ;~7jki@е*Gyj6F:t|c)H{џľk)w//Rh \3)_ԮBo:}ARYw}+xJ^K]MzH|.j|&as]L~G,[4wO3O)H]WDl1 NCS&[/q~I޷H7ݿ%NЛwnxΣ1[=o"|Tub|^qռkfg:R7l.d}3mbs\n$$:#O%l- 61d eCGV,g_a;[M r/c6_e36U(׺oͪKtB7^b)N9SOoP P/Gu)H}_G: oOX@c2Z?D{e.EeÒڨ袗XƃH'},נ6Ny4-–ւ N_J1fǐ5a цBwuEQMԻBg*dSia~WQvm KQQui)yg6$}:j1]]桽e +TkQ"ٴŔTQ5]r*ͤs* ki-؈.tu1+QG6TfӘNwh7Q.yS<q_#uco0oW\;xm=g|{{'?&&.EH}q4 TP:9 ?]3 ;2;+_P̽t2,UnXSGҋ-[Q~'B&+Enh\5Sq#ޣjpmxtgt-ĐU.gijYJ\~ez.]1)߁&7eRj3!i'h39nܣ(apCB ;c3V^&SLnX2L~szS2ƴ3 Ɯ}c」<|u9'=!6$$@(!^]w{&[,˖er7Br2g833;sgkeeْ,ݿe-B[zܹ!]gد=.ZW25N("O7+rqǗP%sAVa 2K駻<,T9Qdhs 7 h-r3?>sI؛ܮԝihῚY4-v*%(z {zO{&mF~)5F`׆}jx3b"Y7ݚ}G*@m$ÊJ qu \Kg謶>c/IC"t'Dz>Z:w?Cu 8->$37>"v&P<3i,$z[Zt YFKOrw8w/'FgR ^h:7A˨ _4HijJ9He6*:z aHqYAbh3!Rӳ> 5xE,N))inlgGr*#sf'Jp}AUF]I:\DHBJVi?T锇,c?:6Lۙ{- zdIBⷌ =4dyD߶8&?D7ׯ]׾8me8n7p<#36<._/K$L@8채lHzG \3w2$6H=%.YKOB5x}ݞ72C%m?ޗsMFU6b!O.y*6ӖsE~(xvs' ]1}9/m9F(Yd@쩏% 7!O=< CRE3۔ci+>[T)h0A%JIݘîemyGMiGDoծ4HyrGˣkr+Uƥ}-0%|U!_pg~X[:e.q`5Q$aTkMUEҘlFKL+F<_,E!Gi=Пpj Pb8j*![FfT>]&*m(Уa-CBF8EiBb[}Ꝗ[w6.+)<>Sw\"qs2Y 9УM'hx.Fsl85JZr!m/=DFKLqwOa;&E[ͧـS(;6Yt+4/T)]@{""vS`[GbJ}$r>.grf`1+hr]*^obLgRc:C L[=})=z?; +M^ JG4}ӥ]HvB7:t_`H+Ԟ[{ ): +e[]嶚KyGPx 76FI/xoǔZ'x!zDx㓈 '$]!uOogRoZ4d+~RF3|~ZW_UQB_S ŽJwM$cϘmAt)b 71MWw֮~7m!CNyi?٣EKN_jA?wU1SMW[ eX_wa?e"Xo Y,-~+i9+ +QiޟsRVӭ۞͑_*h*fl\Te>aվdC??>Yyu~NY:!T#+ M\*"5OdZ4 "j2])N2Ł\. H(Mw$i+{TEU5k쿇Lkd^DHqYE>14빢/;n6!{$T2H0AIΧ))3ȶ)(q_A9|vL dL|Un}߽M '-7ow/UDs21p +md.!b5 @yy ~9e_߀ y\.4v8GkfVN)5g$4%f'ŧ D +}Nd+꽊ӑ +{\Nm<=DO!RZJLQn[U؟.j7󐹬J-d (?q̚2s=$6z83~ԻJ\^i\)2WXqnUX ڄNf!wΐQyys_J\r ?A{?߬F6o{UoKl/LȈ:_rʎMBʹ s>\Sg=bF!C6oRw<:׊lKAPe8{z8'ZϮ/l"sr{rzZFn xǢMطkp=u]hXA*rȝi^N +z# _Wzr8k9JpZ"3Jv~ռcl.e߻yͯo^#Op-"abw`'|CҎ ޹H<>'g8z/}Jmc S1sdIiGS<;µP.>L1&69UiEO;]uјvj+64%bH,מ@ӴW:Вk`/MI~vQ:ѩzk_wkPU# )wʦ罺==B5+%_ԋhw=;+jG]Mq^BN!4O$#vMw=8i$B|OMArvݹh?o_Uu"{ý/c#t/[W\9 i |T攝JG:CCU&V-~Z?MMf$_ ++ZSNҜ|Ɣ(#s-sE` ,*2cw-4ɵBkKIk%.atRt+w{}ӟ১7X!NWWe‹.4?}?L"̰v1#UIC9ϧqbM&4Z/@(z|PZ:MCqA ʄ̍|'ӓ^ShLG3hs0 q/ +1+y'.s6m# Ȣ Iܧ>Yo˸7T؉N ʄBx}?nio}ѭ;sG}+D?x9aQ'০Sc>[ls4EYx#$&_ϥ lEJ ''9!]~UO~~4- sa?RpJ0[&އ#qD)b/u~Si:~.f;'RǤH>atl=_F؎N#FUhҎ;6=Ӵef\εN?Ycx]~,q3͠܋ѦpnN—j'\G'ԓAsHܟJwʟg? +>{Mwgs%RdSc9ϳ[_qCu랟ji^ԋzQ/Eו|2<6qr6iHCؑIĘM'$Y7 +~;^&[$O%xlGvٯ@஗Q'lJ9 D{-yf&_M>DeWm{_7pG#N7%v{Kxl}X&{op^"D +̖9.EWhE7[1 i QdX0 +8`/F[Hc1;hL<&QօJt|K]fВrCt)(OvX`GqN%Ax m rozki b)PZM@'վ48%ۚ:*vؒɌ.j[FE>Go#U!RYAm~>Jg 1Gƚ9JW\zv2KGS͑J- i5 }JeМPs ׻sKę>wGJoϢ,U%`և(:+ϢA]KWM$FxPm r'Bg*Я bkCV1,Tu˯kT7KjP*Pwhl6TV'r]wih@|J gQqz>Vz+NOQ`8bZ/A멳2;|8)3Nɱi"{CKO }A +gSmo@rWRm6K*- 8G>5KGRmRxj&y'Jp̢q1-gW#s^Js(2G +ZϭGnk@oؗ +},_z"7RY-vBvAe ]HlQl@+XH95Q:,x|fVy.ga%>t +g|ֈ6%; JN}L>2|YH3 +|f(*hCf@d +!3r_NoW4 q\U +߈.x#R+o@|KQ.su D'ytJ Qxl2͞+y=V}y) T::>yRE<Yd,} ߄j wGȶ7I?1oi +@7;q!qd~HM:}6ǃ$ 's|Ow!3 5x?7Gw%SKbz%\\qROuE b_ܶkz eD̄3荧y1:S3KWYFT fމUNJޛJ_[l/0pu`kk@ mա*~RUsY;W6_.ojHEY诫_ԋzQ/E߯/R}l2e(8 Cl>8ɲ#g%z@d2f"ǾRO:vc;m/u"K Pigu}Rgs|2;ldAq\7oK +_o[o^&;x<7_  n_#&d;$Z۷p||H\N#t6.~Û3ZH +N-2;Cʤ8ΟӘqm%[p:{iJD|E5 FD oR'- "sOpB#Mlw ͅt+&c3e{iH6F +Reې}v') ≯:WBgSMsYFč\]B}qTfn2lx,Kr*RO ?L{5["o `ΞK*OFe.("IMAz hN1Dⷅ|snvD3Mun:8/ GS& +u!l#z\U-_&K8VcއtT!'&W$NY` d\gcsٟMh31$Ŷ,i/Af28qi+Ď ~s9A )øԞBW] 2w:_Bk,sIf廋e4$_մUxRy%}t{pBoP3H.͡4$[2ҚPc׺vchgFg;#x^W0ɠ@ȕz~RjE%-U(eewrF,VT~TWӭk?5 K#d-H gr]|t:u\SiOk'+l =[E@ɩiH-Qvr:r;:֣ /iLݔBn.6HO/:)ؒEN,=1*94{/5 EC&zڂSkO0+x ht8 +!{̫jM˨7_x&d +xţ&*mRf@j +9T͢b>]G] Ěݖ&Nr S`9jJgjfe1"kFeHB>9g|J*>陙q!k/7Q/fcʣz;z#VEAٕ\z)1z. (nNAxlNE&@p {xs +Tͣ/b3s| %'+yhv_Aeg636 uB6Fr-km@IDl~6džw(w[€"Kj?БyK} 𠖾d+?mw5x)9O˸3m<7ba]zH>Χ0KWzSmx3&텞>tdTƅVU],.,'n2TkGW=We0E݋.؉K  r=KI6n*|mh쭦kwWӧ>W߸w"/EOV? 9>jNG"Rai) 6z4/w肫0рSPn8F% m@hW&dNN|2KdY *7ze/Xj̡AFAb8SI7{=|>Qn-f:q'NlA z +E NSŞLp"ZWF増\>y桳Y$\wF#1E4qc82EѩHIJ걏H>߼N)0E>g$ژi/[B_5>4o 6O8.4` +} %n['s5"SƵ ѐq#.5Hɜ>q.;&kH%L W{3TGN +Wa )(rǕYQ%Nk!ui4EbFYn1yEHe>bG?e)eߒ洂jO_;rnt'L1!s+E.*j#>F4DbX7[Q~aD"0EgD\DWtyUrMDg *&z/.6WeG_c ><)Gm</3 -)pEK_-Z#RRojQfK[9Ŷ yԳ\Kz_<\눣y$.\ŢJ1%PYNr'8*#L FW5r)bt]Tx0 V_*5 O8Ns1Cs\술=׊ #'=Z?tk}9Wx2CgEnD]*ɔh"E>O?\q8Svz'eH<Ռ8St¨:ƒp&tyNcqUyB)忟aj~ɔ몯˧6\z~'kQ6jLO/?GT-`<}]ahv-{z{azd.E@هQc3E0+89(1E\˨Gb:JyB?3h@Ov1KYj9 9}, -a Pb:“3)5I"ZS ]"REY(] .w]"zj> HgGc캌 oGW @ū:=[GVF**fp1@wG*d&weUUGh1AqoLo+c~(R]z`h.t0}3W&1ܝJkZ//:ˊ| tlnROt9!ךwU{Z}o/v壮pF-E#zqbڤ!4*ph63Ն)}\M6 YFHӍ:ګ{8Y̊{GUKQ ڍ m Nwf0WЗl +CRJ[H_uJǔ[M-m'P`5 H7}jfn:E&+:}@ٙ/q:&wuR$M +>$r9VɵRh/bH4| +O.TӖ8iD",U|Y[΢LIJrO)+ I2êE7owc|7צ2綿N.;'w}OA'u"~7i ]>:C5S  &1fCbN#BL$&b.&3w]*,ByD-"dv+?1cH_,фtsRf8LUHv #z( +7R콑s/CĚ3ӟБӌĉ}NmQjxp]#SMz^`C5}+nt_j@5׻wEuJ'F[8_&$W;"Coăh3WiɃOa@̍iJw:naDwWʹܓNGY3:KiW%i\.Yu!_%K)jkԞk2v+Q8z.i+}Wv 轁KgKNR%2%f-)pzϤ~~iZE<\ɝ Py,E)W 36բ[jk>:9@NjֈYS0'\MjfPb4JԊT[-Rp.n fX4-A` >f̧r>sZITwAH;N|믫@C6+B]žg̏>M6-HtKBU~m ~0YD6e˺5eqh~$ϧY/ET*ٯU߇%?g<]ꓠsyЋ"ne4!Ҕ3?zWx"OGW1^lPDL=J_YQ&MbV䇷0"}5˝ǣ3KkWjO7PB%\$1P-Cj6s+wu ՚! XA}J.Orˍr \I[-tE yqzk@/PDo38-8ͤ?nU5~3a&i'I;=/f: dwm| J?#&?9=s]CW:9{_!Ļ~L2gPOlO~D>ɆS:>&0N(tKtEJ}c2NOʜ8>&wC ggS\~GBwE؎ |G#;${M `K};oӫnom¹orn[~^!|x#o}߯^&{@ oo"Gk<=v}Dbvܾw?S:!a{%[}CQ湄<-6h3~>9ؓS첄*iP%!By>ZҏP+<ē[ +.kCCN=P%6ԇ2~/Yodޛrz= +O{5"kQC#p-O3D]t:s+Ґ4f9N iΤ)͝ikBOdZ\iζu9x0:1ka7KPZ}OO:y0^<uGPYs-Ri^j}73ꃫ5 b(jwO(aW:PeӘjL{.R%B Y)]⼳65qǹm-c4p^G-x;Ō6ŋlv2]E 0c~rZ꟟34=g$$5jfFu3*{KeM2N/ r}[I͔ 3y9 xW0mOs-ud8cY@g ~{Z|'lJJ:öR9#MEyv=Nud8+6&`㙇Py O&G΢S#^/u)3\s(0[";~ɦ?(y>陿pM>YeHq-R$x-;_^-tJe"Crj&F3Ž{}.djQgSa<l$ft[pN7=nf>[z+ݗ 5M홹{A9Yc/=Q블ܭqb0REH- %nA뽊:H"wZHT9_ +yO%g5HO-R+97/Eg>DSlK-K $͙t61#0gy,VnIG5Cڟ6[Nђu;gƀ $$D r9 DP9TR,s!2 vs=yskJR)I]/|#^r1.؄.<[OOVƪ}џ{2wz'M̶_xL`BfOeǟfFo' d]o;y-]'CoǴ뻅|=DӵnvAFKq 3gL}iJ} fR0!;` Zbwґ]ִ$5xǨpȎғXj#t,8t))YCJG~Ld*MH}(e$(=Ǹ$7+,4OLyD1M$\L +b +}o>[CE_A)%̗d %t1ˈ;DkCzd*kpj1 B6NI:kEB-e15 +z)ч"|bO#&[9.'e59Zk|u3;hEesx1DrJTp5Aj;d3ɇ˶?E\>A'L}9Hk5Et!| +IIz#ޙ;M<Ѹ#2[E띉t.p&GKoi~TҘLď۽"O:~y0}eaJ2dz +̱VG$?|UPv&ӕwODX#r!}X b/YJW#5<NɌ]<0xI|at:t}ȴ2m2OS yn<)f[/3~4+ )BMtu@C>?o/Z}twu!/m1v"ЦVrse\x$sf9F(&auoL>j^ʝDnE,p%Lnfo#9˨6BKUMmlVSE>3b +F>r[M`Հd3TPg"k Z3|\m; qe7h 6a4f{tTUnVdt^J.r7],UI8*/O% +N-'2+eEv7mX#hQ75cᾩ5h[̯~OL*3=r }\=) +/%87Gt3ZΣ_Cɬig{8I܆uRlz5~v0PI1p)z1J́w /1PlEwOӏOg,\=n$Y*^ҭiރCKɲ\AbJ\N:M鼴JJVQ`(^}mU>$>SKɷW#BAbrwm$ঝO; ApHV#u% +1q|qzF4+N,gsɦJdتlOs|1׎.|k{m2m~MH9,i9 ~C[ $-if!b l6OCL]F$Z*c,`hI؍Sj.Qw$^G Q;hPe֝}9"f&Ml%_=h1ˍ Gnu'/+-Ǖ3Lv^9ՉI0Kx;CH_D,Bg0CYZ ޑlkwd +3-WS;˞!ֳe0_F O]p =3 61^@_c!cA0VDF#ğWvId Ч*'Rm^ծk(s)xW +YKi)0*gs U5TbZ#K4UFG)|3/"ZՃdEߜ7Auf2ٝ? oƆs57tek2ՙϏx/`8 {{q3!͹W׳y0xq T%ò?t9_N7S5A2.=Ƚ0q?ˎX^D_eǝu%򁂯X0Z_>)~j{΍Fєf|9O*xqӲCf}l7u> +;{*F[c.bކ磮LG&Z`*?ozw9a-MߏF +P3w|S?d_ 8җ +Zvx"φ⨊D" +!Ҥ1f/緐J|J<Ԩ0"}e/gȌ~Em%~)U:|5rC4[w52QTRK IS7$/Im`ځ2+*nD +0Vbd#>F"2Ft?9}Z4ĝ\գl)ȲWϐ3ʤ-]2/=-n%2/=?d*0u!X,e5U= ZOoZϙPo@ytˁ+<8GO{HmWPNA[iM:x!y|>Y*-&V8Ev1,{x"ץH%9L [ 7 qӞc~gSٌѝt]/0 q5ŵ#hnW,1)|7;<<ъ@c1?!і`9nt0ۙď r{g%G׋h+eOT0ݙ̰<=L^e"g>l/E&wjrw1zˮ)DcC5lMքtUpxCe{K#T];M[A~ ? +,Q|LCt]yzM_Mpz7 1!KUG 3z54o3l7~)sңw-+5JVY[z;aoUn">p=r7dNFΚs=EBG:rW}*=(צJjQbNk7]zk6Ә*cJmVSaHO^&?9hg7,9U>k1~yS뻎ƀ4l6h3 +4l +C*EOZZ6ൖ6Zw}-%.kElwWS,4SAfAz`^B6;npFl-[h܍AZc3|uxv}\8w4 n!eLkz:6BJGMqfs&_إNN(<Ľľ+(w]|]䎚tGl-h-{_e"`ɶP# +2l(2"\KuҭbCAV:oM9/X 57V{7kJk߉P71cw=˓h^ܸ&f:ŝ/&eV U|(<͚! TX2Tv3UvHg[) \żs]!x9qV3?/30&=T!0̣+i~ 1Xq#ALfhXG[MH>?eBq4^1a81G扽`.zdh" 0 QiVKJSvFJkbc<b ojlC(·Г}mTngЊkoIS-W#KBrn+x2ċ*\/^&1e9q>ɫbf[S)V6aFgn KBy3Ւ`},c-Lp/otfՌT%~~x1XC"E,i`)3݅_ef՞QFڅo{ +vףۈr']$ZEw3UF&+6URJ=BSFdiXC1%HQdój6!עZ^9qD5dmԈ3?uZ.Oszl۶@^6xZ#"w"X)N¾]kπU5ր5Aa/p\ 轸ΈT =.2;MBmoRmoEnVz/#ZC0r)q0U qաA+涝G󬿅q&MOP-Oc0hb;S~>huFL&'>M1Dc8~fm?bn2Ufc_Ͻ<gĔLUF3/3qo_(:fڼ|@qnԻbXzsncTs NRӜެb4tefp?şh?Rڃb˽>n(N1WoM0dЄx= i`Bh\ ۨIO /9JW6 Gs*7PmLc>iibD[VeX^Qu) ӧ%izylNU&P淔`u3YEtW9v/#\e2f"jLI&R_5 +ݕ($Z+QD|<ﶄRU +W _E[ğ;ݗeL%X-gM1'pZn)仪尌L亨! F2r$ )^Fr -?"| ~FK.Rpզ,Cc!9B?#$>¬Ո< G'c=UQӚu +-u0p+! H~QW7suěWݙ;i=Cw/V݋~I;R_ 481ȳ[rNIy1SlG5t˂iV~4_Gp#ɖnq3;E|^NCLuó|E75x׿eu֕QПNtS_I}g@B(dԇE^2>z A͔j#?FMTq>%ȷk2w8#ɰ7_AE쯳$n7qTiDQ8ǝ|s:ns{6'l/ܘJ;Esc_f ?31Siތ\z]v~+FY3wn =Z*\0u' +7!ѠPuh +CxØbὅ`ʝ4EI Ukq1-+i1FK{|{+*7rn;;YG3I7-{DBzC6^ۙ{4 s.o!oj@o;9(z. )R"m![vGCM9Pg3Ls .(֋}<[Nva%gMB׋{y%xvj=i Z'>FM)d/6;s +gMя~v=[D\[1g7[i;Z?C6JJmh B6j]{;hQ`FR!"[m=(5Z< f;=[fnWs{׽+Vc}hoMYvso|dDwݗ͗KFν?"3Tە3J;͓?s0\x99y^hͳ#7.9HKƫ_|g8̓t،3Wx9v# pcn՟ds4F$_OF K3]vgcyu;GC^\:D0YmǍ* |s?A)b̍O-9Eq +yZV/s!4d":qݟ۝ltFqe " E!_e*KRzuš&D{~aFd9.G[0m*]'n9Ey>^5s-,1h KOed;fȆb2W\l{ zRSiiDy.rܳWPQUJWR +j8/y1cb_#nP y*!sYJbAIWϬ6j+kuXBe68tu +VzygJt:ГmC1'Nŏ)q,|7َt&~ƍJ+:ߣCOyVF/2ȱV씉=İ=#\=$ j.2dYs[IŻ\;1Lu];$Z'm!o{H4{TE:*㴒'mP$2rro>= T]CL ٞ UٯD+^A*6*JvәoAk! @>~ ƊƄC /q)΂[&L>B/(g>tC7̶;υ{]|n.@u72PƔ^Ix_2~tVykݪCAGU0~LWbO_=䏸FoIJ/:7a}Zs-(Ma&^槧e4 }CR{n4P kiM?Ho13ZlN[#]b?]Œh25j-}; 3@ⲒK5]Mrq]N"lv u^[4˅Z/ DY rXJvJ$EBR)S'r19JmY|5|g-R, 3ܫuV)[K 8*4"Y-Qx5#ѡrodj3l' +5s^Er]TuV#iR" 0"Wd,"A,er햓ٵCjD$Z,&r)i RI\B*!1(pydirޗ;ᔞArrAu.s3]iKM9#,0hI+'ARw4OC҄߰-4|@ПHK[fEC])8q6:ymKTK5 Pmd5џ_A e1(u:0^9W(OHT9͝*3";E9/RREmT?Kǥ4ny""I*' j h΋wRiB:rnP^.l6dž*1?])|ſ\>(XG&2Tyg< c)QoB +%Z=ji jlk=.:RfH[6e6t^MUtGk v \hj7PbHdIQcB!4na(#}Mv6}sWP'fKK1_6~C,ԩr[#m}sw轎4YȝbBf,0M)QN*/C.ߘs±EmT8Q*/%eN4 +=>3l^z\#2U ;h"Ѥk ~ƴs LgC7R,0@5ͬcogm%V+uפ#ؘ+;D\wh7AEBoCLGr;BⲚ{xZC >R5^;LCC>4%Yd(f$fڑ뱕ݔ]8&]1GiNaWr#_F^2>cvs"^5f4IigVjx1zSoIM z59 +o^X-D̋nҧ0Osi|T90} S]gnŌvј.Tkϋg)e3_N2Rp/_͕򾂻c2|錔z0Sƒ4gДWɣd̵r*a4F}?=h"UQ+{)ХM/<"x^F%V  +\H6[Bq!^:bq"2lUȲW&Y4wqT"f)y+(t^NRO%8.%|Dkuո|]."JtdJN-%l1 tP&|2*G~KyH8$#$G)8tw(tZ/"aQLHuXI*lߥ,p% V밒tGby"̈́cĞNbSlXg;Cs)>#wua;;hܧ"OS: +~rekW̭B{*Qls-U.tl7b7cq0x=.Kz5éᡔl 2V"wGj!L!o[Kȅ9*zHfX\t(q\M>ŖTj1ܣ"E& +w-^ +ҏS馇Jb3e*!cwaRkw᫾ꋢ=<\mrӣ4Sqn:S^LOgp E>j/AƘQwfQF 587 m$-MR75޸4k1ykKǿZh`ҟ/Y?QP,qRz՗ɋ{u'S_bGܗ2~x5ʋGt'SGc9CRShʱ`;ooy:DM.l<\ .73~qifFd̛WғmJ[A2O0Zp# qSzn+9xT`El%Uk j +<.r;r}Hs"aثB7~bSzggَd:)ﱜRU|SyfJР_ j:?gZDMPFUN^)ߍ3J.6GA9?}3*#RѐPCȶǵ<K4bžh֤xu#CY)QI[ W)YU[hNj-ޡj +\aEz +?cSB<] XE:Rs[k1yhr]&86@*CT-:l5[Q躊hȶ[@6[5T[b" Z˝&/}bBR絚+;> %yKt[T!KJĘ겞LKjO了,G=#i53eRul#At{m[!hx˅.!mN/2!ZMȱ~R!x]4E$<>eܔ)R4xE*dy亭_T*S⾂d3a^@Mj#Q>ZdzOƮI@52庒OudgF㵊,"'/V T"~>g|8+SKJmg$c&M* +OM:"l@>xZ<3%N-QƳ& 6ZTz$˴)w9r=O@b.:&= 蹼[U +6wע)^"R2VkP[ج\0qMjG>F䚭 ti4U"|UT Zrnڔ9BbLTxS$zjZn%s1oJ{zQ촚7Mt)qѡLjs)\B`!y֦}5UzH4׺6Tz!s^IU~j_.oCXSo@wN|h M_"pU#D} d)c*B7S#piBw)1ҝ|ģdҕv(T@{Ҕlݡ_7jlgh+[FFˎAO۟S5P^.L: Cfޟ(F˂.re _)sڋ3"`]yg^NOq|o1ME){k|ݝٝ8c0ccc 6=`rFI  +H P9VhZR:'urB"\ouٙݝU% }?--r1geI3qSñJeMKW M~c `!1V5qߡ,=M4oP`֑\o!Tm%k\,pDGh<*DIߒ&Yxamj?֑x`罂sd%E>/szK:e>K(8 +OҽW e~QwEO==T?Og; y֛u?E>E4F[n6SyhS\3]$0f9$_"OJ{z7#WLk"hREfT (>E&$I8 W\Ae2 ESu~)5v8 ZcHߗH;wj.=O/{')=sj|Dy.鑿&O(9sNJPv$~Wz=2#7W&xT$;s_eHz[i?ګ,>OP]ՇhH޿7ϵ/L5gq /I;$|G^\̽j?!jߒa=Kᧉu`f _¿+:D W+v-g$c |?*.HӤ;w.Tr}z{h_EAoi +_˄c7y?ISR4)o,i{ڐ5<PաoyƾACr +P g$u-U!8}]/З ?gԢϓҕS}AR +ԺAT^Fթ) tU~ܝq'^rτ|d4vh]پn}k]Iٞgs%t3ԝzS(VP2GR|`/Rvt9'VRC'={rwej_W +^wUg^c Ǟ3_B(:y&}/I>CwOPqijO=OޟQ}Y?Ig)<XXwH،2__]Xe3M{%~ɰS4'VOstQ@[yq{Y4}8ܟx=8 rpn`k`D\nXy4|EcgY.RKkv 8A M>ѻO;Hc>JC>,s4#P{@]vsK֎R0&g@_"?DZXVҧG鍼e99q;ՑДsQ?ƗTG}Saf*\QP|v)UPya9)?R +An/0s)!5O☏ [Or.k+!/hIє)f3UaPགo~9BhaDyyWZ˷;4˯*ua+;«kݾU(}M%T-%Œ"~ʝ|AJo&54{i/;Qp $c^'|K*|ON9,)&ȋt3 z7s3)L)(?Rak;UWS*uW]h +[Iu ,4`9WW!Ȅs[Z=G['si/zYZ#PwHSVzyl۴eT5A)iiqQ*k0KW{@/*=_1MV- x+#_l^W +Rrr)+C֑yNLUTk'_ ۟.ZEї ]G۵ݯ{f5G_"J/%Յ)8CKXBɩ%,E/ Z2ε߸zߥTxH(zsoPrr/sj)-8KhI;L}.q uDP~e:?2} =n!⿤9Ic*Ӗ tGǘKxW@štd ߠ-?77葄љM Eg詏qEE0vozYc|l1EǮ*©(ߏӵ$aS9t2h*es߈>}&k` P=0 FOS1뛰뿾&k_@ze’tIbqoJ:~egy8/(C{K9z븂ч<1|K.c0ݝ@g8]~(J!-؏,Sat \w]4Ж4 ׯ}t7+ `L͐ +m).@Ou[ӑ"ڲ|EuC4%x[%Q3"> L6'PxCu,T76'%ՑXO=L*Y3OBYxmU0vI +leDTF0hgPTKK(ra.{Q!>OGh܃NhO6QCqg8"NYF9Z=w/ 0c@ucX;.cWDc +_CKsv,~E)3Mꊳr%B|. >D{>T%'_f̘}I4_DŹWQ~*JoƔaˏ-7>@.8j#>JD1h{i|SP4ƼC +/ Qq-b>3(+S{y3e(xqg])D;_C'H9<?}wo`ȿ;( ~Lϥ.Ƶ*eVQtq\XEaZݯyz)/SpMr^#c >AUTiߐq~F4mjNOPuy/:,%l˨ S\]S:b7RI+]z?RwGsmţkL{@ +KGh被cyιf49j<9 9" ^Oc +O-#z!8ȍ4.r*|_!Ӕy/wwT&˨q1._䋔o"&5ԟ{ܿמ[M +w8˨vE&7^x5] Q +Yf2!DURy&#Ŝ"oiA4^Z$C$oC>ʃӾ.d 3,^_y%jrOFWqf JNP -50~(8GLNer^Gx~_#b H~M."Sޛ)m8=TyW_U֐so.uMcvm:pl6O܀>]& fG+]ʀ! C&zj52d#m e2l>YQiF/KG~>g5t~1v䠕,g2qRHGW;Tdzc=c[ZC*=o%a8I H:CS(]Pd2XS0D^|uqzd!ڊ3[CfEMA*O Y߁l)&A%ڢpԟba(s48 yF`aHh]zFu_aHy=?vگhOsit-q uU3=ІS:쳘Z30ׄS^hW5\mWh8.)3M&GȫB`iB<>E2](, {dvfaLK|Q}*Qt5_"G)1{1VXǘ1as.&5L`E0IbnRͮRO 1e1K#l&Xs3wT3δq{-2n:긿ON*dkBFSp譔IMȻ}"k; ^Kڑ)]Ik'8ӑ)$75g8KkW TϜ-;=YKQ#Ҙў5h ÜwHgnOQ: +ξh')(]ʟJc%m$}hHyaz:d{"EK'kbS.!fOƓ-,;Bed.Ohwu`B-4DsaLGyXg☏ДX]ǔQ'@[:.4Yo؈1#qok !!Bz%707P¨U^h }w}AՍYB1BK)]!#]F5G푛h {k>K`-:...K&fh􀛷!&A% ~GGvl==raFP/mRv5D0q1'g ]~-Nbt!ElU^(`*: FZ/ЙwC/AYr)k.3NMz]b*>@KH>; ݥEnYq%۩鍏P&^Lc/߇(b7 >)nO$c'؏P~JG(Ҷ˴2ܝHoDte5mG|;Sxck.މt/ݖ-7-czgPGtPOw`q}_RӑuaoО) 6_-Z?=o;҃(N\tBPg}F?,+sM[IoWVE2?0h^N̬XZ*I>FEch\ƽiCXZh;Xw3m &J) +&H} CdѧJaP̔-I{6q} q,1p +sQZϻsv  73gO*8, H/`=0 ]a')c4;n+U,\/T^hK,m)P=}'a fiFs t^OrnAҥ0J6aU$ 㙿J&mYėmQw +U! atckEW~KS(ҌC2#ue\τ*tfPĭDwMm Be˴)K1,5 v\d/ ]8t~tGeAU>l[K22 q sˋbxw^d 3./Q`=3}LYkY`q#3}H/C:fmhŅ;caq; {o [e8Eo)eGΐUB[ɝy>\dznn׹.qV#3:@(Y] 8ZVrә|1NۈS:Ҷ#՟ʝ_}u^Y wkQ\FsnTٛ&r|Ѐl/P~LG>E>=Xv`,ىrheYkcUijn@ℷ(z[݉m˶a#sn3a5bߣTё~E&*ڃ5[ +wPemgvi{"4*گM[LYb7^MIk` ytùNLB?[*ߎ.#,e6x3LeDzδi +_O巐%~@w>5yH nNi[j_Ě+^~+i@+Ksʹ}"~3h  i{ 0m3i+5~KD.Mn=AWH6 }+o.L*|P3<6}=7^G6 5{bCs&H܈k{\qs"f +N!K݄,}Foorz;cCm+`? +g9r(@bqxN7pqO hD$ ǽ)?g\ˤ ~M?Yg8 8 h2Е0b-æ4dLVãauG'ez(ק^ꏥ-I2m`n}U|3f0jHESpΜ_Xccwo63KuMhNb]FS}iQ `5*ASቬ,bHl+( +NQ8t5ѕh](5;3\Lb)FSŘ5aK28 Qx!J +K[ ͡XӇgK=闞C[Sh;#1{1w3m:#1a a9/ak:O,s14 c17t T9i8NW% o(:Jg!4ŧǹhK.0]ĄypJq%ck#$Bz4IaH<1\3h*ϡ%n'=XNc(?Ns(J1#14^CY6,vd5kRU Z0aKgL`{8${09 />oi dLNKܗ(N#2C.?keM5')Ru^tU# fX +,z̎71@Utsc S +nj0pw{LNM0264-}389CN+3{80CS29ýqMtM2q{ n͎s<ӣN&ߝabr foqkfXT ʱ+_5+T:b7"iG +83P!^K[4UP!/, +a +_D[yٞ&^-{єlG!ҌO|͈1S7(߅m$mG|Їo3c ꂭ4Fu_njCA}wq&lBM 3w~Mg: 9c8tW<@D#.=;:i+3]A I: iJ@%bѕe)}ۙ+nl>x 8K?Y!PWG2.㗴][G[ěn~E#C{֟EhOx5S6`.w]Y 8?#f9Ҹr۞Fw7 |KŗbQs*_0?Tҋ͈cF]r{eّZ4^c|?Yᢕb9'tKObi_t6i  +,0~eiOdsb[85E7g`VM9>KvG0k[5pAQZE6}{5+Į-@+A\rmK +N)}r:`D_]fyp;xjg@N,˽=f.p]VQ8D=psSȴ5]Iy^b~k'fQtcDa,]s8E v-8KJo^Xxxk4%ۓ\_4j6_, A/NaDOƖXt1UBQtI9Ɯ"Tci@QyUvuv2b-]G2mYL%t61tfaFЯM[*QD阛Ð{.! e2>]-KPVz ؎4ܽ3!ۑW"tEGư(8.3 ,8]ܤw 0TFW~6I8}t\@W͠:a]3D ?N}4؎̃td_BC4t>sBz$f(g~Rܾn$CUǝvR0-8$1],Ռ˹[xwsT}(e/NE=@uLa].PX`v;c<>y,Ne& L20aOG4ǸH!pϤh&4Qt\xI5& Qk}_)y4)50f_P|k,Բ8Ą.u^ +[)eh<9Q&Y!9 +25d_ذFK37}_Z!^QƆf|b1=bgzw"cfu>c L3>~ٹYܹG?:4U"P烵=E8.I:+04_šMБ#Vt\z +4>G~L8J|VgR%!QG!NMVI}BԂZӘo%q!uʼi/@Vz IZ#:M㍯iځxC+n9s.6b>}l7ʒ]k159E{:rv"]^ߠ.݉4;_!݄x̏i?Augh +-a{?ص%LD[FTY[T!oLy6?B%{ЦnŘo1mCϰ~#272PgfD*U0&:!#$QkP%1m=5to.ʤ7,YjI0fRAKґָL$<-%_܁s7(xqH72 9ǽ:n9sGґ+Թpxre JOyQB5⴯qt\ažOw[{nK5\! pW7meڪ}-`LKESg,YBZR1Jp'Y/b}R ; 5? ;v^mS=LyGvg=խ4c`74#oxK?%4˄:62dG|=:Ѵen-`خ`~v^/8W^: }ܻ78\_Xn01I%FAFQ$ʲfDSY- 8%qo3oww,qsfE `9ÍwLuУ,m揵6Au-1V0G}qzU(*S9ci92lgvj=/mPWYQ'cbzv## 0xDMX&fnO13u`Fg"ccܚd~~-̹緅!瘛ÇaH0fjS ʰM[`wF!˔D|@s!Ƈڸ8t:Qs8;i/ `rHΣ07?Gs6Qk_ fo 29lcc}(PTҭ@ې%=RIm7hGİ]Ln <gDQ쁸8u2ѯt:M#څ%t.yڳYaF6R1ꊓEȲv>[ǬA^-)݅ďsۈ#V!xki݊x?O|ѕi^$j ϰ~MǕ鸲]z2 +ҐU7],xiZ$x]9[5-G@:Q&s4>&-[h X:dעs6ҋҶ2W,wPǬFym%BWV}za,C{t}Ǡ:;E /l9MdnC/1 +s{)gғ4%ASrKF9R3hHa]/y1]rކ%y Kכ43V5ްYMπ/+?n.`XØ>_=cȪĬ̠V2CGvß paKJMgֈ7N귯O}]nbY߰2oiuR0Ucfutx}9R=]%L5ãI=̔a# ,,2?30 p9zu,. pw~=G_`}=meb@Ho;c*eXerΠMƣ{GiB`ݝ ^KY4O'nA#5?":Tϥ)j=4Ѕ{ȥ4&l\sYjr E۱9;BQry6>'] s}4eu(#oQ}+dѧGy>]8Z*IQ\'q5JBÍE(bƒ4~ (b#_CuA/=x)6/iJ܄Chӷa/À<5'EGh)O G+q6a.Ę+^SY*&>*Lܝ$&yʑAȏGSV=!܅4~G}Bi>f;pk)W{B>E&BƙȯECrcgQFE9i+O._xcg1}t!qAcWLxҙc:8h. 7>!+?2 CzeW,$TZRWc9)z/E*C[n&ۓx[CT,ugm|{:C`̄Uz [Q!/Jy^K!/VKoO8ޯB/Q" +:_Ȅ찊pdn_[,jt<-w5ЭRcycw[=vm*>>Vs#2??S_S?6_>uk?/?k{9찊P6DjM)O30/nGcG E +&u ?=.{#Oth̄SdO0T3ԩ٣k=tcWe31ee:2LXLF2Z7bdU. Y,8:uٴA} +cYU1^Ʋ :K(P&eQ]EW@s 02CPQ.*isԦː]${QeG#ih) `]K[HiTy{Js1}~ 3GҔM!Z.2V)%B Ye CC85i:kؐ^m=(KzTciL) XKa(Oݝ4rRVGљW(GNM;+nG奷(<KمhyG٥(Խm +OB(E~o|wd{3oRqmy'@P|#j"Dn[rޥ[v5Y' Dm5?T^}:S$qߠe}.q=Z_-sV ?pk!՗|s>u{\蔝FqB osa3("@ڙ) ZDe4Eڗn,Υh7[hXÖQ`8ޟqG*D8(6=b<4Х/n%dOãCܟfjċTVϣ<}S2NU#~_y.P"+9;1ԅsoi.y2-WF_v,^g%ff\`A]!:ܟrsoV&$䑸d(S";CC6w~*l.|gٍOQݚ!q -_ > Yg2"4aӸަc#PuC>{?a;m xʋS ަ&4Yl+EJbN1cbŇ锜%m%;Q1f,Z &,! &ХFvm&;J_@] + 1no +&?TY?pQ-ғ(s`kd_RKuag4vYky׿"eêȠ/T./I5xMetO?BϛMy/\O ^//y?9x|y{$; {evu"1xݎF|swazy褐ˑCy3,V~zd߮I[+\xԦ e'~k&絠O]LLg 2 >t_ }|:mc&]ak/8cc8"F\5Wc/:jI)I9.cfdnS>y~hj ^'<{4T +Cs, (J.RqAg=?=ALhPTOgio-) *b*992Qgd̓CGK,tipJéK+xbErwX #N}.%'hI}ʏϳ.ه=vezvjΡ.?$IBpk\mqy>;LBX-؍=J'4<$9;1Ey*w]<}Xw#Þli#Ѕ ~BZԉKC]!CUAOdGљߒso)<2E'^Et31.wݙi֬қ!H"%yR*yӿK3V(FɅH7dspTl<*(<1~iZ:a "Y^|Ql*|Hw)<. !sѧC;N7)̽P~="CoAk#~MαQvR4QBl[i=ܓsmza<Sa8CY_TkG. dz{CrNO=1%QdzfVlt5`2ʱ$XUy4垣Tu:D_XMmR乛i_)y[hIY,n>ըRV1_КE<ԩːD4Ko2y-CHSg1mox? >dy2@StciqiXNsJ hZx=I9nHr(y}}9;mD=)]C[y:Lp^\;kI܅4r6浣0]Z*B05ĦHFWWA5[cҜ- DE.|YZMS&F iJNͭiM~ 9EY84A/1&,m"5O:[sQD~p=e(BDrs;_`L5vx_j$1ƮBE354.@z_/+џ#>9$Dojއګǐ[׸+۰GTִ FW-ȓס/މG ylE]]xQs! 0P{S&13ޗo2+16w"?K>TwS{ =2:ٸM?%:%*x<)3]",-XIu5uc+M +ƼY"rQc^C}Yt"dgL2.aè=}ݝh-܇,ݺp,U~BL77s>c:Osa՗Pp3c"R6IlC[y> p>>${$h}.9٧dU{s-W13ъ6Qv<+L +2eM!Ρ?4ʔR6ON!ޏ\?LjmF_ugc^LecaE+QGާ)c.4j)SHګPrS +.K?{u +νNmG^#_%K?tW}Ujo}A֡Pv%~KS{Uޥ.}jοIəרG/6q)X7P~1_!4l69{_xw!>H㍹=/3/^o>$ȯ({QGXs ZLsWHoϡ]Zb`>ʇVc]Cз{7~0:Ow +~@K7;[_!e\#'_>Nd~/|wEٕI?2gߦ J.A_Qss- =C?'< +YO?y\({#$59g_#K|M8{RC7 xB>ޣ{T<˳f~ޜONbcv`jFxiM ( +/#?6V`]NNcԔRuֆ(4c֋ytAo ɻ>,~eԕ$aQo`ƴ={V E}GVa-LӍh57gٌ~ckQ-G^){?8#"NZ"n(9)x'I=ִ6}AM]ĭ9~9eh_-o+t7DI +vtSӳqw!9Le| +C7 +_h,`l i:S{WƐ{Xs7bX'o~Js'< +E|;Z Od?蓗 MS{_fNGe\shZ*CblTįhI_@Sb Esfs+C.DwfMCk2<%p~U߂1u-2`+;è#-9:k3ƫu2U-d~4ƮAH !33Ec(=x7CʎЭN*Kee0)^ /˞aswŌLYݞ,\|܆.ɥǡ`[=2bg#Et&`S%~Tڪ*m{认ǞNטPYv~j/}CJF;*趦j!r'CyLWW. !;c%cE7[@>cyab d#1w +c諯`2{<buɇci@]H6}%B~vMVt ryaZ O`,>!;,uh݋01UV{sQc7+İs]0KɣCu]151Id0LDwiq $7,bԝ"'׆,4.-\u&>e-q)Q䞣)cdl:0+*<P4<V2ꭥYS<֚@dǰ]|IKB& -Qfo$c˔^o 5dE'T%d|9ϢT]y>;rϼLUx3o{m +/K%g6UHW=g^zv^7GwH"/|K +i&Ǥ|c}qgHbvDW G^%(Q!ao){/vפ|SueBW;_:#NEI;2eW?_}.CEߓv{ko5ϾJ^|<} TG/0`6U+(\*m(YIvrKNcavW5e(Joc+(Ơd|ã'rg *Ayg1.ucNKgA eB?Tɣq1nEL&}%p;̥y0<\U0g[ڲa]G0ӟMy[6ic +qVS]8Jv;Gaي` ("#%<ǐ-ڴŸ+]ɐ ?Mx0{nU-ƴ#)5,ck7o[i U(!_9c5sŮCȠ)V`*va,=:wʢc;x2QסIc e<4c)a)µcLAGeWM[-%۟`át5h m4 94.P.;5EbڊҚ8 +^}jh (r=01hCiBɋ%`]ȳ<{Ef؊&c5msxOpI'%k9}ecك1{[`X&;Lv1[Ńr܍gmPyJ<zL(.9H_[.&Lu(y˓*:4!Nb>Ā-}t+b(ދ[Suvg>f^^9,uvXp-hRwdO +$UC,n.}#\z)t0֑K1v}"6iN}.KFuVϷo,D' U~֠3` e/ү Të{W#p[<-]w0Hcǔ;qg9m.?,d>b0 +I0S4%oA_yK]H&yLr/!=DKqzx%xBDsw;](n;LK,d@{Y^T9{GwUYyg& YȯєQ!ZoEaYK ~ڷ_C[p@`KDSv\!{*z; q[1՜xkcJb ϒ̠#I`#35N^=͙;NyalpYfE[u kem.rULV*>Bf&P̢t1G Un!{mVbSQ<›_SMTD}Cdz;ޢJNM;TE{` w摶 N}Hչϡ\EYʃS;_~j?G%\r瑰5?]xÿ.3RFʉɹ4erOEu'|/s~󯑾>BXˋɼq{_'d|; қˈ}\I9ZC]Jo/"[ycQzjPݒBuAj"H9*I^"^##Л\%gש6M&k)M\XxmES4GJ7P~ciޥB&H 3_ݾfzi4$/pkܛOx8ݎ!e<}2*47pİnT~?6JGeګE-qk\ƝWbKX9{=m?EGa\cZF٘Kp~]-hޏL9kP}@1F4WRaE\%U/e@Or?cUk1%ϣ5e9t5T=o醴q'7-߉= iQ!9ki +]$T[flQ̩+G-Bu*$KQƯO~}(z-mM蔅 ۀ,b18 o*_&EI![`-$mmB|k4^e \A+!\De|\Sت|=/r}pY|9q"|!~Bcb_!o;]&kD-8`.jݳ2[MkW-:)Pte8PH92Qxo溫vK.edq1\y&S.mcS+/qwT'LZ31]SL~]63tO2-Lw^qr1[ gbVa2J_%ٴxœg!Mt:Ϡ[q:2 j78(11umiӤ5%r0Wңʠ1v?]`+0jeŤ;\#Gr~_6]XjOro#" HRw݉( cFՆUѮFSVeG6{C Iq5]aĕL<֒ [Sx8P1CS| O P 88r0\#"ƛ8D7eot﹛5 dn˨P2XqR{cy>it'Uf3p*}}c8AX.U3WK:ϜW8Nu +̍s-;Ns6'Rϡ[[:.U$J!ً"w̭G&yˮ6gf``S3ګуm#E\4)+nU]`^*|QŖwzKh=; pWlGmx*7 S~!e1EKS=4Eͣ.cta܅>}?WQ&-)sD_Y4~)h݅"[)k:%s o@mFhM^-kh_6oPI#yJP}Ckv[h _,z앴lViinZcԬ@Y*Ww%b(ݏ8}XEgQGY U6zZCx0K[m冐A֥XqNBhI{>yLeRң +xJXًSt GOa(_Z?-7%1Y#dv:0T_* NjW)F,NO!r<_&$_1g3 scWc։AMZZ6e"~9280םRzAk3Ŵ5c(=[| *}[Xc~#Ns&iPDS|y~ UhSEan"_.>(]yUh.)L:nm4hއWΨ-c?ʬw}xe5ѥ%c?\fFЧc],³ߊ9]-:ԩ7* +lHıpqIgiS3m*JD^]ߚWmXZn!;6YE2Rr]uuhJ]@}.C.I*Ҵhӣ\z]Qa \.<6-hU5al D[|Y6էh&<~lE[|^eOԸv)ޖ\zjp5GPC c +*7)HkyϼSCFi3! +]Kݭ 7ƜE(O\Kqgy4mck%Lax/`*=CzG1L<Q_ɏQkLtθ=>i Ƃ]tkØ13Vx?:;x0fcr2vmOtpoPOȊxx^s$՗)==|g'VlD&؛# XOcyF=UBxyЅoidrh~3S-X?\QCofԾ,Æ8x$!teL15&cjţ@&.q8ڍ4.G[,q'SC4ͷQBtM qĔ 9h#gކoqe"Jvӯ>-Johּhc#:F[L٫&.Q rUҝhbYw91-6M29[i9*m=Miq?K-|ܟ8+7a/ZCk~>[b]5{ K9{QF޺HcW ^Js4/Ds6+S khĽ|hΈ,ԯQE}8| <+c雙Z4n LZq8ע.m##h1dE=괯1xq1cH̘;S?Y*eUxQG +ƣX +7c/CzDr'CvAjc+Q{,cmQU|t)ݠ! 2U1oF +g>Zc,9Mzvc?ǰX?؀( ob-م>w]FEXTi$4?֬xp~B/B/B/**Aw% \ LLyiK&kCsG g4G3`f@}u8 Iy3Ȥ]F&wK4x< {s`d1_݉zpHoaD2[K^g9S"4 14]ːĀ)Ít3q16(]1^ϙO4 at*qI q`UfblH^#LҦˢ1iYjC-+M[J_0s.ѮհA 6 +YX{1n"J8Cz="xDGdM# 1I3hːII-cC\B[1v1($Ki/a]檓x=GzT!nИ= o0 (@8 !hOU2QG"t7{tXL qKT. kcYAKuDGmLt19ɣ:-9'hfh؀^UCoW50Z+w{Z4$m +GVxm QRIHFy^=:oaG3@9NC@,LƇwaW& <Θ7C8~]A9ƌ/R3} ȎSX?l)UiN0mF(op–[j?IW$hb>Þ%ȏq1w4#^4lgHsw!d0RIC+]jB>F?gr?)ދ;(^#u +ǥJc*W,bZd̥Җ(X-stWo’}b _Q G,[5w%tʯ2HRruWpVDe&E<{Ks*t髑/]B:e4Y`#̯B`OJҜM8ʶ]ŏN|=^^c2\Uf`='w@x/}ҽ8K+;H݊ h`܌&u t6d@ gW|=}tv=&x=f' їmZ S&:3` `3c~5P?=OϦjP#Xq CXb\ª 2oQ{zl܂I:)BÐ +4F<Cq 2-"G}s w3EF3Z?:LwdȖX ]`n`{ x|kd4eg13ޑː3}y +/۔AGK<ϔ*j/c[}U%(8.%zҔ}B0+ߔ"sx5axUL;h!KFsUvn}3m<͈K-lLo"=;ǻoWْlYŖU.[(*;)ކs83^p +9l)Jv`}rsqrz![VYYcyixXЕYX|̘ +K_!D]wqv>%jcy!L15St 1d8E}{ߠ*JDH'l<=/{!k9RF=%wqgUaga/қC9X 0<&izr<bj֗͌xN+(3՞%13a9p/U y.m}ab4$Syk8%tbu70h&jĭNCx>A[o bujWdH2cK:ˮ`a8ġnEސŠ%/AS=XJw3;]y(='L˙K Aދ8K[.դl03n`9ˬ/WeEΟZSqw_Ęd=AYsU1A4Oq0k(E1o=&Y2'#`Jifǔ9 ݴ }Οd}"c YEŨa)4o7a&rR/S->F8>'=s_!9Viw +[շ3@6Xh/c;O>cLa^ 5gos)_( 3(=jKYͨ>AG]h)܉:)Q{1T|'9+~Qd:3Lߢܖƣ5GQ:{3`6l}wpF"$kn2* j%&;PCD\{EVj9IXuKT_G0&0꬙B=ҷʨ-Hrn4{!O6r +#&Vm%Nb` aK:]x}p _pF6ob,h#2`\Ȅ7+_Fk"CJu`%k1w@95wW32D; 3+T$#f*aP_Ɛ1Ck<ɟǐ&)Lw4^fySaa8(D/9$8_2d})GUcL{1V`l~Dܕ!4B;Đ 3*"@Px"tgaI'Ps@+gBu +pJŚJB3g"[U"nؙn拜JE9<gٛːGsqvNPpc^ZlL,=)hJcO%bemٙQFݯ3pd8dQ?1c+bjrܤ@;:+IXIXZ-8To뙚dr܇I\k }#̲4RAǙpq1j{,Tl705ALD{_|}wװPPd8ɐ;DSFG;YY%؟3" 2<"#7n9D҆*nCFlYx_"4wh)$O6AT'لt‰?ޞzn~A.DEGܸ&@~__Xb+ƢfieY#.OM$T``rr]Рw2ж0636l#UZwq'*&8Σ+>P CƟ~[qvB(;'X[ca,- )SDI_b)ٌk#/<.O˷݄:3t[R S?P Kl{1W~oQם@/9ԯDlS܃ hSYnc:@g)7Ald#ȿQo+c5e_ej̉S_CZ!6,:ydjĠ4%x}fecl}48/y.\'9 4[+h!/3察7eW;㓦ai6}!~E ףBO!EP]ī, ՠk{2Bm5bf `n)cSԝ:B3JBV[u3ͩRq*+0WbL} m/jqH?B|ueܝ)=Qr1]u& Y EAE_[PGdPtdܕ8%h~{^K$b]-eغxAkqe2Xǰ +U=eD>${;{׽lDT&MVW?/7ü8 hy#5CL %Җf0A踃[W EY>{3l%?+k](a<7OR&ګ3M@%w|rO [:vaԐ +[g6C9| { W{_JaaLK"gez\.孭iDGPyWo +{5"Wƥ9Tw?G ƘLćk,pHLcyqD nj cbKk)d?MO1@$Yv_|-Y#yNXqCf$кkw3Vbt5c)#ʴp^`5aRňKILy`[YF_ ky[,e2yɢ?KNLez/8[w`ى1c<ڼ {?1e0?X/]VgtQV~}'9 5_{ޛ|Xrˊg E[1~+oYWDէzӘ9 ƐrxZWc sIȰ<(DIo5V ~N;m7]c!nPh [}0U~r3-_@%Bl; C (h,*Jc؅=؄ve8O0ُC&ٟc`nb<a,߆y7mdי7rc6yc;Rű><լ7Y3p[lM?bk;θ#_XItbn w^0-a/!jo[[/i_7lXǮo jb8kPߎNUS܄EW~6܆|]8ei&v43h5Daw%W\AC 4B x 9{rKXZv`m/9qsrBll-qKW!j%o*ǚt$qIkq=1W#C1+)f-f݂[YT|bXvBg ݉Pt3d|h'7 od c'X>l+֊ZvOc7 +lMhs?հ+Ty0n}ƻIdY[V 2*3_A߄q/C,0*A } CV gџ ]ї,Ccۏ;C 2κ|(uZ /S^a,؂t#KOVk>p+op5D)]FD?ܰ%Y kNboODvx p4޴k~9, 71f0蹄f/C~36fx`k=}XUhcLMf&W]F\5eDM R :&:&8{aj9g'8m74%T.Wo,LF6l/>GnS=^㿬\n}Zi!]/Lt8{n{s,_e-a'P{ArgCV'/2 rwUmWu}!ڳhk"4R{aрaC<:`QG7XtaIC_ySuz;X0jgTS=W¶V__LE5hchØ&YYbr܉]UAA1# +Lk( +ܸhO1h,bP%WNmGvGJX_P1'B!W_w0'A#CLrBWqх>& ~u:B 4) Y;k=x S{*A['.}\t]o10hЖ1Agr6WMUU3 ;L] 0\}W_ +8- U(koa~!SW-~xHЌE^)L zH$&XY[e|"No"2?7G`71V5\4Mć ;td"b0bgbry&ljMȚ_o!1>bqaQ;^C%^[Lg&q&F\ I[11jwGqz3j$.Q;ľ[,Īldfsk ":Br$[>BƒMVλa\8%U-X120IX^bvnјQ3~O\9/1݊h~f7c9|7ڜPsP]f"c RbC`.?Dc{{`(&ԲWنPcًרǜh;.r5ٛP},E}@fU?:[To>AW MhnmPg/}4 AUfg,?A9}>%ه[=]2@5oP|"w ϱ'uPVssQ̵4v!r.;zc9Gƭ/DIOm!8t7]S=m(sAmw d|v7h;N(+r7'쩌R4|8n1z >Ac,k:neW2dȕK~1ĸ~>F6&iZ%^ N݁C[YUwwYxiT0dF咈~kK,&8TE\ç.g}iń'ޢakQr3|<*bmp +EY1eԕL3!G ֞CЕX.PP[3X2OT-c*|ep)^236h`1)Y*B}%K a;C&b:4<%`.ƥL!}WGUHl"`@EUB\BP1Vi&`+!{5o`W r0uf2&_0PUԴD-U(+\_gO1K~K{]/*dVlOȒc1~hڂK'Xv34rAmu +3E#{ɐ>M.r>C[ _+.k sL nG!\ heiTKX]X nF[Φ&Y/\C[cѷ8v`؉`L3W"FL~Avs%l0ԝdĒKDذz'BNUDP kBg0nT{=Ub)-e ʜK~@^mqw̤K@B.u{1ԟfؚd`n;#噊Sp}7Ȟzo4”;1l.`uBgaGb'$ Y1J:*~DU)*z܄.s!qWR$/P~pa94[1K^ \W4qW"g>^C Gi"7 j3L[?9&ZYtZ EGhz$Dҿq&=n#F6..C6m 6y3CJzT'Ly`&fF35ݟMX&ϣɺ5ɗn`\|C9 לy[] $7MGUE_{U9Cmm:Zo`~@>@[{8k ?ASsغ_lKE44FtU5B\"O6E4w1hIr4<5;aM֤(Π>2Lxu7`{ _ak"~{hkΣ;6B[|K=F=Ĭh/>*޷Kcf@ ak%B}|;jqֳ6܈ g|}̎X^ODQEQqm{1k333Uف w1=ڇ_XYYomEh~Nc KkKVêDך(K։;kPufbM*[ 3/0Ȋ=1PBХf&|XU,O +m7inez*T<ԉFc`z*d#9Lʜ +"tF#ܗ,k8Y=-[^uZ*c-0&gPu5 \} ,4Ko֧)cmSQ~E<T"GQuc +.e>1T)%wxEWUkoWsxCZiFO(!s:,M(bPK2`}9VcQYW:CH&3=A}VV?X+?CG^s%V4Mp7;q_c~Dǻ(I2~%Ư輦pT3 SǨ_[)}qMvV{Iu ?(=☎_O2!P3v.GW?P +U2eQ/kg "Ia, +ٛ-͹|XuSځkLX~9uQP$sLj53',+y_"LPVlWy9ֲo1oC}p$%Qf}j+6d9ݢ9#Q]{,{k FOhK\mD.Y캁4 1m&*„58;KT{S{W2݂ Σ kOh+ֺ+eqToK/3?QsXwyM՘\ld#_R"u`C]o) +".Vfj|bna{_SLP_,:׌J|璧3bbV#w\sg#bB 6̅[nyE䙄ŬΆYb^zId;.cjEV¨u M'CS;k b뽋{oc5B Or;Z6T0:arHU6޻27ncuΏG@Ϩc﹉^h{SYEE +!u6FݏEa]Yz[e?ck Du)hʏ콎OgfB +JG̘)"ºGka;+oT<ј9k}-wpI3& sC܊lLAK Vfpi ;L&"cokģ*arӣ L8dE|y +KAaBYY@g]#ʎBj,g0=e#bcm)@ۍ/Ą_>wQ@V{1or&]ٞ oZ53d%`̖($'Z&ws. 'DފGCĄLVVDL1UXKaԑLAmIoEa+Leq€_GQ-v`|,cpD$d/6zgFŠg2|AuH[[Zvta54#<cqweĒÄkFE=y ˣX[-!C +~}y`aH&m-WJobmLD_rTFم䷱7x鈌+q,uH !{e~4'2%z99wA}L5'QDPIVc“NX .q-Y[%n{ C]RYa}#8[Obo8A>æ782bbHx_v C+>|wFL-(s]CSt u|{$d!|v?Zlg3ggC,/%XZ#af&_Λc|̅; sM<ݯյ ,:fLR,J}UăV7bUGTt>Qe}l'w2K>1B Svtob*M*ަ1'k¯%{0~KIg7nSvT9|?jwS$iBcuw@Ir^/}(_zgL[~{1lUw؋7|eߡ܏b10n&Ұgv$}tJ1NPy=[եcn(sC_~OUv7E2[own9PsJb~-ߡ)NWmї| +Uk}e]7o2bf6h9gߠۊ&g̶VuobM؁> ?i9tE~F4Wp6|h3o`m=ô/rE.)T?s kY\_~`9lcLs Ka9j?ζ],b4lgv_dQK_ϨT\ b:F[q6#6ld#!cw0 Ū."&bfBHW `>&%OC+eSE76e1ͷo[8{P%&5} O3諎=GJdUzU/GQ[1RšN1g0/+4A]. ;06! {BMܲt"f Ne!:u, t_p6an[/3/LڮxEr,iSk M0|9)x鿇_1&YOt?ܛ ^4P#3oє~+B'˯ mC;L\)Q|[Y uPI,+śTτ X*vu[XIaDL2+¯QnpqK6l'1Ut%ľ4A]jC M6{N3iz2K]ɷO1/ WP.qCKyjq`zNPSȘ-3.Ɯ"AS.֖ E1B-ۘ;bx6:n Hc;OPQ{1am 踎' Ĺ,|tMW0$mװǧ~Dt:R ꥸϤ*; +e>cA@]}'XO5\A[uuyWpk%I/wImpu} '0_ħx+_ZwU,3;/-ݏl/3Xk0d6V.Ȉp[ g{u[_ۣ=;16`$L` %9PʕT9U9'J*rd~z8~sOk~$K*IwF$:w 8Ύ?Y1Oެ|m'bf~[Ǣu='q3tO$]]l}J㿑07 vE1,kޅp KbiPDLDULH}ޑ \$`{t؂]YFP'̒KL%؆Ue}QB6 ˳i!.UqO7β6%`)~R,%b4[?ǧ -bzRvގ^@S,_Aq@_<9BC!/Xway +}VʫLZ5*tKw|b(**)+%hBT0g>&#lm*G_Eڒ09'c .`0x +u=?]ī!r47x5w2x!/ +X%ZfmEdu-uOz7l#(a)*!n4/xO1_g9L\W0+ .]up6p-ZΊ s_◟#i+΍iG-µn/ۿ%ځqMT"0KZ<+]y8:iEֈ|r\0c1z 51hc7NbSsegH=53KR'^ػ?7 3>AVrGfDտBۤDX aݯbgLP]D@~8?%D|WxUιWn +Ǽyÿsv(pq]"j`vR&=Z®nA)KBh"haiFTpC|ex$܃26B(~{~C;\:q%LCq+.62\@LqmGYrInCA4?~(z4!*X[S4xU%\.L2&vb׈+"H@QSA,05f"f%{h*,}ylx +(N !&C_ЖDW@5HOamދiET|djk[? }W"k|ZwV(Τ޶k_ m"C'u/aQw5J`k"}@Qu1X_; l`!,/co{CNCU +O=o+L?9V",4rmi;BL.WNd_Wq~£_=9zNIw'A]Ezh"4 |9$h܇(/Ɩ#xG!}7zb)%3#/;{ º3?α9nG;x; +{ W1U>fC#d]t$[j*Y6t6*ȹJ؋\#L <\V)qR;8NӾF6 +6u WU$v,xxTlNwVPWcWs;,p^#/1xKwČ[kV `\ a?ceu&%Uxױv'Cۈ_qO(ﱽ&ao_Ί1%|C?c5"LKb +1K38+=oXHi0v\C|ƯQ}Eoׄ +mi;/Ǝ/0^uOE"@1S$LF*H lo-;GѶ|G||҂0v~03/7||ʋNb kICߡkkiBkXGz"u"O~ kϷx?S#k!0 S\2B:jB[ڿB3A[7Vfwq~1D-ػ/`(fyG2$E?piٌyt@Eىm*qG;)aɘdlkѫXNJI,N3k++F^GP]}IzKƒ,pzz;z [EwEi\_c͕IV=6W_z +ui:]8eL[Zklcs-akWLȫ[bohz \?I)u3~[u AlB*"CuE=3> ;v%+KSv, f泬,*Yfl +Y̪}O1|-lo~]XNHn=:BP~LTF] P%5k;"4@hc~TPUDQun4w_Rw] KWz_%>|sqU?rw y\M{Fd}Gp :r}ɳ j_BU4B똫_T[ܽ+rS Y{Aqۍn 5h+3qwQ\{Oc߃U/c}=O3k->=^Rbi٧,j{]џ>R੿מASm.t{6T*cU pM |^Qwk8z#t¤Bn+^eQKpu} lDZjw J?79{0s֎wpml=^U&~')[;D;ю8Dzӗ5dmfc=,&=aƻȇdSCgb:E_Gp+S#d< 8K kon&+Œl7aB+ 8c׌oTJq/d|ÄvqV|coLB)w7>qՔvuW60l.S:pM2"b'"~%\uV:Lp C%\cE8F`(\w]y|*SzEoOFo2] +2R \ +ݥjeu.£#6<^b AG?~W72~" c-(:jLTTV`$,q{\\b6muMҵ0qJ쾈YI ^{0tC/䣃jɔXNτtolf&§k"/ȯYno/^JAS4!tlHA.e' HpxpZJٸ9줃2ak{1 +i*B:"x!"78qY+sq*@VL|%26ݬ/ۻ 8뉘,twXZBnҀi:BhHzt +9l1=٤ 6X^Ya^!?d>Ҡeg-%Ny*M1n 13U0eceޅ9Q₏{>s]bB3Y)a[?[[yo-H-LMX017X_ϐIF,.6On*"vpMʓ0It&8F<>;k gIE夝 $&}(B< gQqvUspsGl_cxSBL@qnh^%a'z>$>CRsGe'0 KX}0sb=}7HNWËت_p *y{l5c}w!3mD`+b+0כh?=2̸p~O <]GMBwh#X_":t@<6ofO~D>&(u<} %eͤ.c/w[o8},+~31AŗOthG;_CM7?BrM/H:NRe=LS&mU,,eF~&AHuG>./gm~)#% Y +53$l"d(f]ILqE†dLn6~%1P#d8VL.^'I +l̪ IX)[)S=ҎzrkD %uEF[om"uc뗸/1g&4Lځq|Jk6 hzoۙN aBX2j'luhH^ԔcT|[2>)DlEq _'RO雈:H/U3Qr>BoU"b\?ROJTBITV33!uHD7DZե$^C'^e+Y9] b&Gq\5Qx2za" %13T37c'd&'00uI59~Mw3C1fo~){l؜#|j/WCtGWN|JP1wlu1Ո.p6о Ka!_ +K—YOa|" lg t"=!ƒgtYfg1=KB) -0Fw/8[vזWQ.M\q5(]X[fsx%_b=B!ok)LջݶSq#um/}͇Hj~aszkVz|S 0m[1ܟWx;#:jvA3|?~ sǟR70H~kK>hG;юM7?zH}$\uƟFI8ꙉ3ùe*$7'be0 E_l䓌AROXδ. _QqPmĥ d CPaWV >M+F%Ub}>1_Y*>6o [+Yo+H1eI[;m5]f ,:JHo5V%n"j('!vP&jgk}Ef\-,Gtc+˺ȥLz2VLO>j$l.+R&Bf QٌMt\ DuxdEb:8œ]SQA ibJs=p7D7sψ0,*^[O=+!})8c}8 +\j,[̥FX (٘M'n- %\ԗ3=܌\dems~z-j غds+GԫªigBR߫"7% UģNb@S?DWK12č7QUG-z +[A?rS.q?fk*:ILsS>Yw9IE&xoa"G  6vo>{P]81];O0c/!*K\ڲЕ{h{C>^"Q{/<] uݺPߛg7p[L Е '0Tr=LVwaK -ocnxC[b{WI"wRk~ԥϣ(݃IK}mAl-tx qvG#5QiMo>uv}M`,֞1Σ# ~NPyW$q"/& }T{3Ϛ,Ac!.ol$b UAӏhG;GL5{LEd#xlDݽL[UQFB.]ޖ3|!'Y܃EB$&#ivo"}r_Y R7pw 4b.&bm%d&c,f>}O1Am#YִKJ1B@VG@YKK>>JԊoXaU_^e>e%t輎<K ))i}ml dSV!n8^c/bLOZ#lCx X؝CT:~M'Av^u8}cq"-j6llos!(.a/'쒊ˈM)2 }b>$)>PD."'45!k)̎%MH.'qu+PbGPCP7<yr "Rc"B? f2!s7?ģo{ABz r#8n0i$4qYLG4p b1k!B9Vn tam3t8-̥\&WDTSzLk&8Ư8{C +L0a2I:N1"S +p+DKPG+C>dks)5kR +RJjVfDu$eeNd, +L8F2&{YB-+abbb<Fq+JpkڈxB +G28[_d!FX#BOX`i>"]e Г\YA0b|hʟ07ZxzF=om?AB{<ַU9Pf }`d'!g Sn{}JBqc_=a ~9AW\4?eͯj}s*_C" ]y_\8z?/ϙn?qw!z⿢.} +{!ЗJXB>E\G&SSLgAɐ hs1/ox2n hGOVp?|nYvmP#8uk: N{X ۘJ+pI+1JnQ`)(AHWCDӄ{_F)%3rN69"v]es\D򬓠8 pX=.Y3Ny5KvAè&(IE"L:A,|6 InELK,` V >ƙ +sXI9T#b|֏]N*au@7qs\\WWՕ"s:p3A2N÷:ڜ10unFk&Զ#H?p%Xdu/Ŵ$CcDfb:nRR*xeYY͊=+ a{ L_`mT3h$a)&``n.mWɦULjq^%:*IJg)t< c6{oNuIYY*zT";",~=tpAB9D.e.#l1\C7BZA@za'B) )y3+V;ꬎ-Ez^tP_*2:c&&RXѺg,퇙rV`-j}A1WnۃE#DGE^`q|b?"Bvj~[^|=fovj{C.ʯx0ăFB'vG 􃄆Nk<~O[8%4~ Mh'vkY5oH'waܽAYM; Wp<%xSϣ5r64.Loh~b#7D`SBcd4'u˓ܟgW=:b>NG9x{ RcX3 +oz[(.Dn>JR@)9u<,̖uM#CD OWH[~!K ?Ҟ;%S'@ͯ4X2eIP#>"d~|.>ׄ ?3\4WTs.\DأN?hG;юvI?=4#hGkȌG1브e׀OՋWOc$`n,A0HB84J&zEh)o'K $v~ ~vBnTA۠ <}aiX7 i" qq[V]e 0m`;\ʉ]6]9H2"sȆljB6)Q!cXk M 6[VBP__KQKDB#d#R} 6y^u8; },zĽEގvmvYȨv\#1㳌R +0 W2f1rP$`e9jc-;̥MdJ1_zE9635G/9Ɍ+ï.z:7ɱB'~Y w=o}Bųw~{h> XIv}ՙQ,V]y6ʔl/y _~WȚ~f5YAtC%x%Ll;̼ +iObxgI +,xo5b'vAh~3,4!ΆCLUwkIf9 N\9p9Yb{<\`puNx=p" fqt@|jf}Ig+_=˔DڶXDxy 5#U2^c{Oc=`SDZrusDT`-Q>!O1ŏf(O +UwN]B)_tV: ˾cxg`y]_tm<#\&>[=qSùo鯱|n0lI]y霎;HGdheX +tSۿ;|n^?hGۍ5 +콇sY9۝˴ʨ2.RF(CRޓ H$Hx "%mکޙ}'Bb޼D=;1o2zIx-pٴ Օ"ְd)Z-:YՅ4l?~ +c V6ډ(ccm%& ^aD &,8U)y@L¸ϊA҄&6]ۭLhDMѶ%cy69>j<hc/'ֱ14~c?ʆx5em"R6VfY]cv2AҏYTHH_C\TuYqJ]qC+lm17}4dFilj +zlC8F*Xc6B3qah[[&0`S^T +ۏK6,l$_!eCYMܤ '.M\q[OF+H#|Σ-66YKOzY,GF%l>#n1&+ǯa~FSD@ʢGIzlݗYʨxd,S&|*ƽD Njӵ>e VU +m}4Fr8Fʙ3a)C&Xz  3vH kH:HRn: SI.*) +U5zn1;hbSןV>җp?a}MXgS'Xj^:|Nl<`{g[`lI= _ b}bߠTEQ֮ϱ~ /h~CW6?>A\ $͏^ᇟ 2#u1cfKT#o`4j1]Dr6utc״I8Ue| ~>lC-ߡ8D:SЈB=_sI7k+Zqъ2T1To*&-\MA{wdew1By%l;?߭Ǯ|e{; y0V?-UaVvͶb?ђ;/Pʂ߃I3bdɺ~ Az ^c=f"y6gs}Gdx w/2į*a1dsLBmH )3.2%wIٚH8ZXXp14Зt27>tx!s츝k>&,M);XLX7󍰹g.5G[&"񰳽lglBj4I֣i6C,/΄ƘwR_!(;C|a'O0v}q/N3l%+V ںLzxx #x>":!W +9`sք gp?۫>!(y$'Yp{kW 0+5s&Ҧ8:%"moco}q&H[`o{c1MBes9(W15]H:>`>)&1zc{0w 9'?&;Gq,ak}os.ue;fM-֑2A).g.&ȐvF=xoנhD?\Yل5-xgݿk]^ZlZFnQ POr_%2rq=VME;n5RѾrFJQtT^֍:[P4=wXI(1Ub4XCՌmDU6T}P kRT8y:I9ʎ3XqHQ7aWi&`eOL  ]MȄs|×q)KD >\}Xz +(k 軘 qIKp,SVL\ib<G+(p XۘNh;= j&0\d@F6ģw"nmRQWLm U5֓)LL&ly>U~C1ZsIY0WU]LO٥Kpˋ1l| &"&zƽ5Lx* V#/MPSz MEt-?=X{igs ;I A~09lpnt3Uç)}U )K).700P013rT' _ i jmo5ídd S:"<+5Wp9t츅O¸cAC'pH.81lxU'f?-d9cc5E*%$5|([1=2򀈹 Q1l,e9"a=ksd'8%ޏ]]GYulJM#=k_f q11F[l'[3qVH߻X i*4O271Gݿ`Xt{`+yzzZ3v0>'E]ӝ,[ nbJ?c-=:?`}  ciz {KK^ e,[~^"d'sqe$Nc3ߡja/ƫ0n'ǹ.v]b+fa9V6ϼ*/cm͉`50CMތiTW&ɽM.2gk>sޛxeJ0vB~qW/+9>5Ir{On~gi/)Ue4PEqqA-1KP^E=M6;LK6!>B?̣%f'/?LR}cs.e$W )KHZ˙P ,AMxF HT6U`:GlS3w4c\u,S1`w Upc?T8Go`_ e`ki o=kR|ɰЊKY]~l÷Z jjqnbY[GJwH`<m^RJBZƽR&H8x80 H*𐄽s 9 Nܒ#D'ϑM5Ɗp.vAQo >W$'jϰ2)ǍB'0zp  OgWV>J.2~l/6(>xg2ya29k-xuX/"gk3wKgg11Roao=w^@V#1Vϴ!S<Sv [eB)T?`]$`lDPTl>ޓx.ӗ^3x uR$UGp|Wz$ם-=BpcN2 eMz9,:A\DDS@5BlpJNV]'e-sMݟI8j"<1{\\I =BSV'eILu*85 +8銰C8Jp\>>J2cƧc ־q)JX]41| yKڏb^e"<撋(oSVJcw T9GrX)sao2:|8a\an:* |"?:[rG9ӤmWˮ yd*Ƹ*a!.0w|3w9eakcз5x}rZ^1.xCﱵT*q~Bjy`o؃M{MůU +bo| W[^R;U/ 4.c݇kymgŤ<^a&V\f_xBfqE|a&ACB}H{[K+=? SDbo߇k M?@x3x۾ $?,f3Oq~K1M&oڇ_yZ¹85^擽Ǯ S3t`-n`hǛh~LIt3;oKY>30ό'UNt1 닰}W)%ҝL[p ^}:3r<3"oq`^@Dƥ(byܤ[[MDq=deқcN0\'aͤ zO WϨQ1F3^$lbe1S?1}m$~"Qm&*ɼh~kO%B^b7lپW相z%#O1 p4y?QgkqL;qte|-/xVElxwoU/8~e6';oP_i~wc!TPS(醎yw1֦Wql/`ih= X+z}oTO7Ln} }o0牙Y1JN)OXyv 3~܃Mu128|Yqy_ػq(Pëki@+O)b:|\ST};ͯ%m? SAdq?dgD?^l,R-LZ* +5,.kv5ܪ\.[L;Y&n+/ħM@WGy&CLډ +y]b`9>$'g. +;Δ(=#؇;r!_?# =DD}P#0M`*nQBVr3b */44!a\hg#es#Ҥ)RCrRy̸ B %%k^GHYp Kzl +"[JUg> Y5ycU45ד6+o'ػ >`'~ qI~%9ARu +wSFgH*3m))9qJb uc[#2Bw~#[^lm3a8KR#_c;8[AhSR?`~P;^\{꣤UPA+1=8j^cJbSh?U|=o*yKGLۮX2VoHYW9ceb  s1ˡf<[Ol}q&@0Mt͟o"Gq%f*=o06}F'iyP]e8z>crwWx'GX)ʗy]VB8ۿ / wd.܃<#u0Z>ޗOb*ġb^?420\HizN:Eo3{kwEaڏ@3iwNUp{$?ϜCr[ ֟sF/]b?TPAODy^.®_jF{h1K*T+qh"({p~34t`)ǣGXyBcg +I +Hז +!mL8H{jwwa5|#y'\.FQLQBTDH}aj>)k4'DŽ1Cr^E)>]=qcWQ6nE!]y]6.b6=7Go)&q/cT;IfRP\'+g%eiJ|ZNqOxM.9t=k[v8#RB;>E ޓ7tV2&U|.#u +YCWko3ld%#ūD~c1I*H{*Io>#CT% eBcnU3?MpX!&fz +p &h,!ma&1ҔGnFn3Tc}al}|ʛs8)]j"q}9Qm'[q _#׋^b[J\{IgIC&EDI:JJ(?w1µxG$eκD FHsm|bn6]\/'c-b!\ƴ*o|@)c2$6Flǡ"dJT}p{8^FW{o`oWhk^#އkQվC<9C obn~u| =]6ֽ}kD] +71T{۫C`kyCXr I>'8q]W7-_܇ :C|1u.ڎ3.2V#([3Rh3V;\w93Zaiۏ86 l=q~#(`{g4N;GzvQSbB\ZW^%.&e#d)+- 3>b=Ǭ !<#WYʌ5㔕pW3G -/b\o `אvw_Au.v 3?OnV:ѳ:86:q 6i+xa XXq_vCuv~.yʆ ViuN^ãKT r[dڽ@~e{h> au"Ri1f,=pJKI8cy5:ss!bn<`R47pъa>D]CSkh$ya0}YI%1VyKTCEހuaxHЮ"l#` "qU71Ұ$"tiM`! +HĘmARUv M_1XD8 8Zwbƥn$VcU躅y6>C Bn6Gu_ģ*5tE\ͥ|sKMy X) vsE[,LkXQ:p23 +DgH+Ȅj5t2CR_~4vW<_1֔W5 =+DLxjp$nEpy3I%+$g_"2|P?k!U_ 6V@6JRcwqSlWp+I؛Yʚ0J.=Zс|n_1&TbqƅuU2:|,3-q# `8IRFx?=3L;t_$)a)ӁoZəb9Ar) kOO)q(J^򊗕qQ˦ȤDj7ƙPN;yt4݃a/2[%!quNx+t5{PVNhqU5ocyo^gr*iՏD}PیChoalkJ?ӵ_+hB]^޼U"ß-CZwL]+~K`C"#1+0nIUޏw|w;f]2ݷuX^VLTw{7CLq-FDYn.GM1ZD,^5]9t[C^7&]5MXI֌L^_te̥I[3NJ_b.#/'8ZHRbBQ'&a >C@]nmc%DuH0,7x#-P"k4S"R9,8ef!fθPrZ諈b:Et)It}_!~C)Cuu|{:cUwݨ{K*Fz1zy'EvLa!?MFhe=X 69Q !߂ӡ@!Ǭjä5S!"͈l@+&YZ& ڈY1Bz"tL*+hb\a|9рA.ו =Fn=X񨉉tFp ^AE0hGЌ)1iX DL2A5*i Hԋ`QoFд#( $V!fe-FI)2v, +*] +.c=:mL2mNm#[bݹf<kDh1q1|m񸧒q|N^HW檙5"LK%y=S>ݸqWiw0KjBaU SjeqV+=MpIG s 3^6 ĜuuEMv3wN-Vf-,ϺD#[pF539f{gh I0^S3A6֬jX[&!#gh"e.!!$j+%!/%i__T[q Az 6־ xF뗅̭ 58sqfu9 W5Kk3=fycTGz<:ll%WL +$܏#RHW,JqYS'El}W>&,Wؚ%.!%wVvw peqS yx-{xS 빋 7pA},;kbptF(&֏I57l +8i_%ˎdKZm81+fsq[8_Zƚ.LW}{7 fMl-~i/#6U,jp>g)>uud-X۾kXxgtw>gdǏ<'fE:~o\6P# |pgmFɓ8:\xlg&6Dp"Q$FyGC-*60:i{#n"v+yZ5vtC=(%TJsak ^r RJ&M6,Q)Ҏf1ll3=[DD"f"Z!exD=/@ կ`nxIKa^㨩~?0Wˇ$?2Ξ4TFB;7tC㗄F% {}M^DHbH(19G` rhss `kl\>]< +]PSzy8ھH (N߅X~ceoH= 1]^K}x1ګ# q՟ z#W>"u.廱>IX9~LOr7?eqCX +a%/1μOܸhK_W =Md5"kF{Q,3ot'гX}ETg1MK֩ߡ h(Cdm7%\2<{MI =? \!yZlztvQF7Oq<2ZNK!2.B$܃DśDm}}R^xB:AE|kVG1~BC87O4 "b{Čgȹ)Go<%u 3]?F>Jʵ[7%ǰ1j"WK84k5!! +#SmSn2~RJk6m8u=`EҲ)(ַ 'ʨuF܄ZaShPm돠]Rj3#+Rt(՛J 6.RpH8ޢC ShpybA"Jm +m- *C1Z&ܡ%_opFXq'BjBZ JZ]O`*n28l^URk[toPLˈUti +@f-?fSdoa]9H>XaV Ln9կ$ϗA~gRK7w}GH&^&k[ Lmҫb38^CqXn>q!l3CFoa|9]h/{?{S Y4$1y ־µyZANjZ_sE5/H8i)l~_!GD5 /R(g DW/8&X.R˛Lx4=-y1x.ĽqRGmk¦Q +IL2F!_itc}̀FnŢsU$)d/$-‘nWLJg{lJs92V|` z0B ;@DL"W.aܞbdF*_")vpQL(pt"CZckgD*NgG$2] +bDF<[a :dRope +Mܡ"DdI2 !r"6D;(W1#I-;5ku< +C7|kvvw)6:[j,8 ۻ;wvqhXDcDKMykWⷾd5mGbmR6QYؼYb-ĥk-"$pCX{}m\ #plEoȕ~?fRKҤXiM/C;!>adNVIj/_ǥRjTh7;2)i܊øVڭvF-ǰf41"[ 鈆}BL9cǩǰpcJV+IQvOFȶW7F@?w:NzF>B1B2O3a3|Dmэ}vr%H&"0ku*v-,2|>D2ac]cSh[f2QQVB{gbFٌ hnwZ 4FL΋KP{J4ZEJ$FHHK*餶ݤ%ͥhiDK(z}G Ģv;?꺎}-#/c[Ge{L)c<ԛo +!25 Z4ƛO`^Ԣ}$g0HP&gqn|AxFFK;'8+wKY+qqE>콼zb| Q> `3X2[b}_as?D{駈/s'?_P4C/Kzo"C=_`~f~C?C9$O]Cq>Sr^ÿϰ7wa軏C Øzst ΡYzM?F\I 8~8#l?@x ,N@ ][9[O#>!ex&52՞0[D~aEtמ=^?[/ +xמRIPا; +W1}m*$ _aG?O>yS$csE/2 ?DZ{lKT ɰN+JhC8M%i,~ +M\1dHnn\#H01inb7ΒKz)C8t(cX߫"Mm"z FD6M"[VI"TZ5R4tBD[HV +$e2 +6] +vXF!P"Vi͖tiu\McQji%L_z%3nw4+d#YܚB+lwKivl ~g+dB}69 +9'7>"nVv3D%r $سxW6*IjOZ +#1@/g20AK8#))ҶRuI|sϑ4qYt}p2wrGu1/(+΍/QC=n>UFH:k0օH8*id$p>g'r^ʍDy}#"g .?OteWpM=80YxJB?^k^ x#P$΅NRTŵ!yO#e:/rqmɗ̾eLPe dNCw&70NЯg_:0?'hs*=+:Hկg{^a]`U]ApLJUS£ǵq>AuB A~ u A6%Bnr Ud}f +U+ehC$Y~mz"ʅ nGiww+t" + W(M0㌒-'KDi:=**#/-v81TMQnbT'JԷn +启)X]\c}Aח#S!W+#[Գ2*G4TE⌳aeqAӟKEu[hxvh|Ke[]Vt)d$f_H0$hl5qJ-j;wxb("xD[; *3-"HLmj6x ܢ}hʞDHoߦ-BBiu$MRn*M"p?;\&׹MEswLU{.5,zBDUez`ݥR daj +RןO{f\%2aF=C6fAPMӬ'v.,z!@\ 6'ؗjMԪ5j:M=~8a4 >[˼csPinՈx]TJqa܂XE^P6T3o2SoVȤLsV/1{k}6 vAE('-tEBA|A?>Lid;Er`Q ''S{};_onԚ5 +:ሆn7O&"IGmmK 6ڍ bfDSQ4QUR ky>9C5|o(e3/P_xįIQ\cd$܏ƞ $XDsGXGF?EyoP@wQtCO ?{+`{K< <'qNo-WD>,X/5Ɓ!?}wojIY%~o.{EW2я>e1,O}A շ>cAđ{+o>uI&kc|IG4g ;~OMg[HXO!=o=øT0 $tqNsݙJyVl^gU~Aq'˱c򆔻7෎w|7CX߭W=Br=a{>q?d}鿿L!l$ ( b̐4H))gV.\>N3VIʿva,5DyDY< ,}5}1͟ǩƸp5> $GEou25VцrUY"+ma9p\a"հN,tBL7S!P(vQ,d|9ۺ(pդ~NG|DJR&BtD4!))tD!¨HF]lO3.kd4d+%2 lr-NwH1mmEtLt펈CƥZ j&H8)N_:>|~2|K7%W5c[xp?b|u+O~қXF38ؽXGן61܃ߢ|? .0:ګYysT^}'6$QqM>DX*V_'(#O|͋wayD  -~H>ɇ1O>/,[>i!^@}^ӏ$?G9+6rqT7ĵPamuK1}]gw'ǩOw/;e,IܟC/3xif+=a{_B͡IHOY+M w2l!̫W zT%]$Ve"b n&;7x\D="`Ʋ|i b/3kDZ,.!zoьcYi2qǂrj(NU]1auA!GPb\1ߩe54Y=.= +aو|59M:][+ePbT(8xl t墘 lWwD"Qrv;A:l!hQ%Hgc"rj-C2b/Mx4 9j#lv\)O,!_+SlD8=ADl!N4!KMKhOa$YK3sa7sRlW_>K<~Ma~1FUdƧ~w(A5ԛw(%u1 0_b|gd#dױϰ߼cX{Zt/qۯ_qއ}5E4h.+q͓0$ѵ>slE}]~"1~KK?:v+FyNc»?zbԓKYF8N_ö٧pm#h9J.4CrMqW ڍ_ricx6mayøMmnaf 8vn>wjףg=raD`1,QMF={ݭD^@"hǼU۸A9\pP-67L8${KcSbiRT;ۻRFLwKMR(Vȕ[D%I˔$ -RLOE-il?'R7ų꽙stV{3}yެ_g[e U<zwH$ Snhă4Q~}xJ۠Ԩf10_BPXr;;$~bb% ~riJɋ8Ϯ"_J94XlL}$ EC![Q9M2iN}¹4RTŽC=MPpmbW2E𚮲~ỵay + XG;GwS ?#²g=>}^~Xƞ@3$ԋ +$l}tJ`sK! }u6ChADY6:%1alcOc{>D s3w!;3T'11ghGe#ؗC#ؼBn>neڏqm5d@36Z]L^~աqO, ̣[1кqy0:Q}`&~a{/ "'>ISP0OP<?nw[I&; S,Lawfỹ:N,^w?KVe^^atLSݏv c§ eVܫD[XNb;]~Ÿ1L7 (Y +vC6[57M&&nVV#rl3- #7(Blu%l[G2{GW=M!-riֱ]Ŵxy + .RUi iоri^E)8sa*[5L`z,ʑo73 K;ȆU>CKNMR$uNX dMjݝmzN.G2УabbB\P.q0h6"ē9bd 'q إ FvSCi$pV1T*if. lǥS?L$`$wJWwE9.i{gץ\PKB\B_'TSHY0) 'ܑU%֡pD;1n 8G}'V>@sU (|vFlN||i}iō\3i<ʥ +aܺid{l+_c]"&,1Q+x3Dz>hXVF>\k~ Fx'FuQB#T8>Au~?wc={3|/'0r{_WG{!,7$ ?6։牛Nwn={D7^? +wɻnן4<{~.#udi#a>{Оq=ILmRX݇uaҚ)9z/"x (C(.=ʏ]'d4K9sS|I\A-+'b'廉MvURA#l ρI&#pK=Q'o%5- Jfտʱ{c4~}\Lr\cd{qCaqi4uh6ƾd2Kz>$ίaMKXQ I*1b-Ƽ5CX?',\$b'j'jţicf!d&#ik'=97V)?,ӴKF >u"SPO{VN!*/ݏj+të<} )CO}C:@@si)wX1\ƴt5LPh珣r~q&g-erz8s$ݳ$ +J^O +~#uBX>NLrn+nJ%zh3Ttz^NvՍnmlOq#+jNyQ+{DN\bL:vP]'.j%D|.rfks +,V9*GCǪlu`wlCCڻ6? &**9{wZNN ,쏐 iGi(^yBsRT/\!9E5|'чms hО ?M-3O96KP{'TN/Pb[K9r gX?#.ī%h_#o\=isreԓ_g0LľpR|pa?+0b>i3,ƲxY1tӟbqq?n7XgD7ÈkK habQXa'-;NPak'\'t0:}h&>8q4ޕSئ ,|b,+GI8xxFX8_?4mů`_<@!^"?u}d"[TAt3pξKXfExYu'-bJ@sx`xۭ?T5$)Ĺ!>!"umy?1ebE†Xf>E\?@"\Is+׋x-+Xe''Rm6D%&Q}.NŤlH%^ `8F#u않ܪ i%h^Q|Ƌ_#. fIdQ2DZ>st[vAڣCĝؗNJ9xcZ/K萝EuL#8yz+lS8T}VOԝ;Rl9F@}Qv}>'Ką>DIob^8LxrjR+8A@\&]'ZîVB!@Pgs=(:}~W~N!0B=aeCw|g-<}KQ0BB7i^OدP[,wt7ŵkݙ 拄Lj +"ߍݘF}I|ɯz #={jA:qBo#ܸ}~k oo}ix .O- iNqgس3Ԋ>y/ qRfJR[ Ϣi +,spNcY;nF8\.F Dz[Wzgz%D-'$Σe6']AڇfO `W_E6%8W0?^ϻnc![t6=a{p}CîE";kl?Ex}"aMI YZ)I YoH9!^†Lפz4H:I Nq Wd#3 +u'*A˟ lLW0yayĄABڳxd_c|>ũHu/㐝!VvmӪ'/C=>!E>2O~$po8q8K~'Tp-aB,ݭو:./_˭:9=3=M7 4cI&&C1`s*rιT*sWW9R\N{ CwSs|T׷T}Vr 55kDl\0_r"hN|?/1ISՈ#>k /F$d΍J\1ψjFԅc}zrRU^gԗH:UJÕP$f9oc \!beg\_3$&{66fJFrN[nbR;~)–9XM_ :4K!<%q\=YsHDxvVK*^{ C!VJ?gc}F}Wkz)d/nݡHue?G mGP|scNLpd voCNV7$QJq@+Tgqk[?v2g +cKKiۍGl- >#<{}LM/`m{;غǣWx gX*Y5:d+wa|I]\5FWuLnTҿY.!Wԇ +6f6$[!w҉8v/} w#|O/:0u{mDoS?|^.>K^? r#;s&69'E*dݫ6T199o1/LS53`:O1\f" GyP o P;iG=aUdUf&3x#g.&a$Σxz?FTS1^A8JB,gcR9[uWBXbhKQC@}Ob+lU#jJ!8LROA :W^Rn={A3z0E=J!X ށJwꂟ|t adA +*BqOBbu>M\-/ }c\WJ6=|餁 C&iwD&ARRK' i)OiHʓߑ&oΓvWKwyߑ[I(Dm,ͅIi~5 VF +q[L/Y2qc:c>SdE|S*ds3i {1Y 5vTp8BFPx +YIK1e@tID=Ô +IS(d"(N Ix)DHzb6R~J9(AYHI+JQ-kKns ODM$ɹDu=,Y[Ms:Ű}#L]̕WUF?3Y ֖#Nig4A9/S wS %j=9Lj9t |4i5^VVKܸRA+\i+>V\ͯYDG[w[&~olxSHRt\ к -8Zv cp^h]wk=:/h{_k5k0Bxv"l%zH X=.%u*<qg''qo׶ o)YG( #Po!:57gY؍Q,W~7x=Hn|}$&EX*|aܴxL/OJֹo3.O)#/yiM;7<<%qao`K$ui+}1YW>:ǐF> 9oۘ_&2%1[^DT%#b毈"k0Nb s燸d6JXZSna*Њw/U+xe S>AY$yE]y;p+g C?[o"kx轛YTlH;Y"_y&M.KĜDC:tFOP;ΔԍwaҎ:Ҟ_0|ެ҅A1Qdc||&6Mgn"чhM$Ŀ{Rd}=H~F M(ք D8?#;BX`ְTVscHQn&h<9I1byq33!ҾF3xF*~,r|w$-u$ѣ>Jvֱ¡j +ئxduHMl5 +74"j/@lu8z={ ietӺN^!Jqa$YkH+x8CP{4A9 +Ra׮BB|D5]mT;9o *ߗ UpȺH+u9]گ#L#d=h"=\*Uᅌ'O_;|a<LjX!kSZXSJs^:G!a4%/s[*9e +)agzSUi qkTJan&C:c"ꠐr15'r5Hvf$5r lFRz*=g7W&MXǏ՟"Soƭ5!+a1n~6I%lzǛKꝛAR1JPO&fa6t`n.DSGr$7SOI,/EXw^g*އ?0X̼b)d]gXηpsi+=33$hgncxgǟ(F(jl]1"3ǯPø?"diK̦HT4Gjya1$Q̭a.~ 2?%rv`h#ܺU`<<r. + =MI)ϸ57DB[p?аIM[1"rWخNֺ_c8O3Ƌ3~~&>x|q\{\8ꭨ/ӵ?`݊q%hkMOb~WI^aIo.oEmFw>-Y53%0A{P#xkKBk*ݯ ?0֚y-V$tLpex&18bނv+mE}"7IfZ y\Oa{۳)ӱs5o}eEj̐׶"A-e?D| W3{^*14!WeVuO$,箳}1l':j.Vt5lm!?ܾ =ᱏu!KD{DGvM"NUEۦ9] #|Ju }k|{)x'KJ{d彶YsEʡNBqe Lg)IW 5ӊ8hb*1D~|.2g%"̧(m]դU,%KՓy/DFo_[voA EۘpwSΙ-葴p|NtbiG)v"a[5ZbIC=ΑxIfalNMtcGϑOtw"P5 U$n!#Sa +Ym#NɴOMn,m*Dk3kӬ߼ҹ]znZ dcCrcYݸ2_yD|J K In3Lܸs5>9 !n޾;gFĉZB2!3nɘQ?޼5E&#hi '#giǭe6q\_P TkCڇS3U ;K.wH5H 5:>75op#C5Gbjx!B#u^YR&it{O !l=a +0lo$c,0;~LnpY~Je;0W?Ntm-/}CBO"6)"z@_0˿x_BgA܁y+ΪGXf}v~M`<?WQnbpnBÄ;|oCd_f9X.?oG]}uS ?1ulyf/KZCbnb/ุ@ +߰OUB=irOkA ҪqW? +ў父}iiݗGIWtMVǔSҪw4Hp4?P}ȴm?׈>EkS}|sb_Rt0T8uWkDG?%kH)mP\a)2B3o@vA6î~YALB,DZ=Ø.?D)cEZkBÍfkR;\ [&oWvLUȳJ}-r_!>MkzK̇NL^l{U=(Em)_CΜroRΧȻa-WCjscʱ3?Nbi7X~Yl#9.ї n=/o|`e6~Hϋ5zfS~JRDŽ{_9B +Ieھ)7d4#vIw iDG(sM]p+tEf}s=%Sr&K59~c,ě4:Bs+z +G;H.~GTwI2U֮1̄;Ng&x?$Բo#k;trZa819_p&6?H1㸧tlw6ދk؟{R~ց*$S G 3rE{9G"#k>N@߂WSaK-$mJZ'x@4\;Zfqn + ?}ޞ$u#kXǭ!hh$4ya4sd<ϧ&jN9Yw)WI;/zNr@e{Q_Sgtl~M{Qы.OSLw5 u)<]!6>Nlmob~L:{.ƒ <&]̒3NF1Wo?6B<ͻ BzERq6lZk%vbdz̕%Bߎ)\-̻};+k{8yag`VB=n Bhkb.E1m[T?Hw;k#ܿ u _?5Bp>@dh) +=mgSG(:aꃄ{^4+Zr;vb [F|Gʜس@v֧?]H];ԹC9N)͏~+/PtKAy;J9M; N|MBy}7q^fdm{Z~Gw$f+Ô3~u +th:Bn~[6}'Q!9H*V7w(\jZA7y6w05;C"R02ҍE$ Zg~1F:Xp2;'J!r$w*]5Quŷ\7ʜe'~M.yJ9˳IEj9H!X>a\)n|̈́ dCm4GS$3!8ǎ(֑u̇ VsLV%!rӷ᷷rcʼndU2f/l]8֫VA=EĞ]M{[+nPy a-ky;Κp p<~տU[I_&g|ד]۰܏q<| +6B;]`1wb0''1yhrn]L?&*׉^%Ku[Bjقe ܁Ag(?#ǘv3;@1=F\~ΚF7=[p7ݏ!}; @݊}8Ӳw6߲G_\[t$6b۳/P`^W6];/zi pO3? zw Cخ +=dl*׼rԶ09>(s|#ϓ|Y#$?2ӓCwU;7dҦʌT?4w?L~FZ7ș?!UK&$wQvg-qI#4-")^2;AưIE=ɉ M}P AO+: C$GOFIIɝ ZR3e.&6M'6pny4 ?g&iDÎAlq]H2@>!XǙJ q>l*ˍ[*wt!ɧ̳D\zd"6R. #R)$i+-8d2qWY^]\L Lv"kO43ͤ)Y^['`o9Hfv~l4Jbv6E6n>ކ8J*,HcE .M+ xL<99צcf6l)[ہa2zB~/3ӳLK|6, ǛUyLp.WL5~ȥ݌_x"ә1R ƞMa?=>C_Ӵo߳8{^F%\OcCt=C/j}G6B;vIhVFH i"0ڝ/ڍUĮ7.Wq\ߎs'-:BlڊП Χp5lQ½ٍD{&roe}PN\{ Me8jp>썏}m +' T=3?'/?ڟ@h-Sc{mꇑF_R̃/|WV(oϝ|X^Fz?WaJ_+(Ndϐ!oy-;(yO@wD_ GN|zi{\Oռ̢m?c>bGHO}[*d(G? b'!ovp7溭]GY/ty RoNҶ]rs N2`>ލ05&ŭ=h+Rz i˗?TvcQQKл9mb&ׇ,X_i!$YY?E;OYZ[g~iX$So!ZmdeʋkaVdC2v{(,2pՍ(x]HIVnv6n@2!"y46-~+7~`yyӀOׅmk<7YٸMy*hD267]Zf,"I2!XGq6Lh<ځMOqqGWU,#V t9r"RwX\]&keQ1U*~?Yt yT*@<$(┦ȕk,idXd- Z0awdF !LPE&)eM$d/y9n/i0]H:aRCfgYY]gխV U#^I|D% AaBƍ2%qbC 17gfue.OSN Xl,,\ŕufJDVRa+KިXZ]aauU9dLpW 2шTI:`Ƣ-,N"_7,qYZ_ Cr"P6u)5Ąr J>Vtn2j͊u*\ at螮˿j%gmQ`~FU +=qyЫ5䢣S~Fwޝt~/3tg4${ Q=[ d9GDNs=t@WS';fl_#h)N MTrzx +U/)"17uC |5Ư<#%J2!7Q]x{WIX1YG[x%q}Ma|h TU/yCݓ c?k+ԍ{p?/>%eEѯp ?z Wҟ#9#f%PG&~t2i_!|JT=IsE-G瘍5;RfiK\=oS\#GDX%}r|D؋hW Σ!EY~}O lTTVbq)N*b S!꺈 Dݸ+ܚřG +u>KKEVWKd"^b+ ٰgBltHrrN@u.oEptPH[wȥ:gs`vnŵy%B2 ;b)V*s:<.W\dye¿f~uY=_aauhTFrYɧ̔SL5n#1L\V8[wHdc=ARټLpTؘ&1K+MĽj-{!E=GPjY_)`hQ~c]w̓aϿ_ A[/q߽yZLwL.4#~qE{_v}w3AJ{s)9H( +AxQSW{#"Bū:tU^ ڪɄs ̫Z1іfw{#}xU'<_οF\_Mlb&Ap_~DT$ KZ'N tɆllHH^ۃWEvL"5HO4!*GH&C4EX"2"tEtU7Eex@D#:4& fgⷫpp&pȢu#y F;iDہݨ%*<.z-7@(V ,;p4&,蓱mӄ1b®<>!$M kLIyZFvLj&Ix\jD n^g:/ IJjA+%aIJ!pX\R*IǍ-턅BAfgܺ͛ey=5I=Z>5BM3wLĭ۫,Q,T6"&*{aeVĭZdWcS斖Z&M4c6ZYYU. 2Y?Lم2k7׸-isIP̍7Xu7).}vslܾ[ fBfa$^3yTxBhϹAWvwSJTa:A,$IlY~5Wr {?dpx" ޿`uҷes `tzឳ䜽ͮMlb&^ۭ&D/w;Z[̿ߪ?ه06fg_CafFi8UfW(MA[?!&^G|atj +j Hޛqs;wn:5DZ-۱xW9}DJ"ER⾯ P* AH|Q3=tr"Uj< .Yfe}]䈀4+TD$q} D=VlQk.܆r*}j ">+!4^ +}.e0n,be_G0H5S?f#ːJ$!) K TJfR{h{FabB)IıYkF}o4Jfƫ bn|e6e98ܣhsrT@8|z}`$tVh`ggg͍&F 5w& ENYd,R(d>V{y|:FsLq +_KhEK̯VαRv_ ?9h^u@Vecku*75Q(BNЦC +~6vj Ʌ<4,hnh5HWWY2pYKsc5J)KZHBZLQ[/k>1׏vuI04wc '^wQGgpr{`?|[gYF0xgo6GsN>1qc ?:9"s!\Z'uBv=>2A 1Y#6 86Ġ$cgÇ_"GKDLN#յMv|M}sF8k-R]۠sT>?A soVkJYK{zill2;GLԷ>={xIe&9yq y$>j"Js{bsc4Ev+TaŽacgIr=5v_b޳WȜo~;W}8G8@ ~81qc׀GdmQ4't\Ra4c[hG/hGeޠ@ me8XޣP,1p͌uHIQlBK.]DEұ润38f L$bDh465nK9"ڧ'J4Zkkie3%D##dzb M/g2=L2!rX׈ +Nw)W(IHeR46ooQE\V3l6><;MxZVJ>~͵j&r!:WyY:>81qco +i@.og +|h`uԏzƖZQְǂ:·_OI +KDm܆1$r^a(#yf =S|jA6D%|a'rovGIDx $ebJ5M< :QzԠ`I)v$RTԏ-% {UhEHGEA~Dה6f_)DF<LSDE? V9䀞J:D*b%$h!b&oeY.3iiZ^RI&dwaeV >b^BM"̣A~="!2rCN^~>{LpRL>a"Ci:G_?>ռHr_~kܵRZvvdt 5B"4O}Ue{s5d뤣sԫ 66omSk(U㚯I:ERiy\nPkRoh|V$QY])Xbcs_}p@,EC46j=! {jy-ѭXYS;4ZZ?zDm=6:XTQ]]eV$H)6 +q$Qv ?e{JJ4Zl[YrQ+ͭ +;l21a0K<+F vS>*1qcu-u= ZQ"F YM,]D=ݴ3>"jDuܦ(tR?Eii: ^Dlø.u=Otc6y vY' mm[~"Kmd{/k$;;Rqº$HK׈جy\Du]lk'NQё,Y u|ϝGPʆinD=[.mSWSn$6kͿmJ3J` "nXL&L=Dm{der2BJ2 .]#p pUrq'N<+ӗIy +dCY–!dZYt2m响8 +sw5uv QȖȎDWȆH(D"Kx/ViFMBv!#&nJ{J2+>hk)vs@gC6sDX/دYZ9B}5.޻6i!;[V⤕S;頁]}5*ɸpUSkV +'%myXGo9Gm$|l9xxe =Ddx`F=yiT-Aːƅ[zlӗ~ [dGbx!2u[y$V<㤣";{A>$'l|$9-7wVET΢ʨ̨)yqc8J¼Vb|iR'Tq1+i62W8hIjQ8%|bt<{"S}7se%|B:`;)ģl̀츍xc+DOZ.ڮΠGtWP ΠznܥRO:,]!#4JVV^$ur D.SVgXMבWHo\A֟c%>H-9Mu"ƫH@+k$7*2׼:; ,K$Nج +Sg"nB~pow +&$6+?] +l6(ȶ WT;}&+(imN2szmb^D} +qTRKD/ U1YXR#EuEI!MEe᦬^Jx4"&ky{[ +yb[$]$]m"wg]s MYj'4wAh+"KdE޹K&O!/ZYX[Qxi.XFi5dv6Tj-א=Fmcs=vTL>JK5c\0Yg .^rqj%ŖHsަvVFyZAO9Dd@)PHspAEq.4EV##xrTI_CՅev }NuK IdӸ#؞ٗ}%³!"@}e*nX&4%i2F`KGĽhnǷpY9'}Z3cwc#zqc?|9iIpNU'Tiq +a;+fI(%pWpFzr.1E$×f?!Jx:PV&H{;/q]$H{p~ rpI6e[6a0U?c5dKF;H[^v(>-<_". A2DеwbԸlCO*2MЅhj'oC&FA 0s^B`Iݤ}K=g."o2v I]# ڱŧo5{lF)- 㟺FhVZHdxţ7s +8qcOp&9íng .]7F9E6bE0"軉qOmGIy {~<-Љ܍s:5BK7],CȆZ.dhIr zCυ/ ;:IHxF5иnd`ldE7B20⸋jAIqdp\DO%i%1]b>wQ}=|Dm7Z\xLpldY5OvblRsi xۑ}dY$nR!$ #d$SH8)&͚pr%KD- )&Qm}Tlį|+qzL?G LMxinNN6\"j>l#+ggG&2JJ&;Ep[>J$ Lfy җd42:D% +lac)YWP7>J])\ * ?:we 02W$4Ss'1?Ep=Od%\O{ )D@bjj~LFλ_)@J껋o J};O%fAw^Ԕ{1qc_ER2 !y)&Iv: Z1&8SU +,iae1LLlL[\Izo~įI[>%i98Qo.2C@jY{+$yW;Oja_R۟ y%g7+I;u>آt8Xi}r<<|=ItI`& Tw'RQ=V)farq1a*-R\;xJGYRIPeHF3fDS7.Rr'IskL*A H D}jڊ k?{x@AK\.BЋ1sLn_dYMsWI;i5.ϟI.E|haJ>*ɰ G5FF xGv ґY"Ӥgg>D(Ee\VΒmudCƿ [S}͝[;ڱA\U;HE2ԇbN޺.!>&o`M:؋g7})EH;.{4qb6DyYlgD~96s֦u')xgWjkvrd#cnCk:/G>ԏYdGf Ϳ~Y <ش/> ޷M7L`:q}RxH&,ݘ?3}$N[|O}@y i-g8[{ gϛxF!0f[z_!4>ѓG/(B[?Ip3s W }]Ẇ< Co{cSNϲy\Kh-?!!Qp_&a:8:ѩ8o(O9/ Lt;mL;=[/gF|O);Qu!"eLLwąd[s*(y V<רΑ}L5ءmo/;(ȶ'l}]-m( mHCYYK?9(*Of18F"@{G )r㾔4ۨ!d(JFz9vZ&ԉ^bZ&4ֵjcH!]+E u{-ALY#W(/  c".^%kuRGZx(^|;zJ&)i2OI"gu6S=4[[|U;Tȣyz4Hb%p3ҦQaz"5H>A5|H} EbO(&I;|I]*C"WI-Hlm2OIϰQE1d4~Bq5uJt$7Z>!ҁGnPa';Hs) +]!& ҖRt_ az.eb/! ]4=x9:F8CuFb&Tǚvq Yy6dskSYbj'E%:M%zq!K=&#Qsiŵ|tOG [Av7$,}dBiT $CQl7Ii5k-!(6j5j| +vpk$_4AJ)3ޅ+O5Sϓ \"pBdbJ!}ڈ[_?ER$s3$h!lԼ[ޚy=M9J?H?D2 #wST$ +)7!s!]IkD^V69ɀG7\"DZBp/0 IPܓI9L=M@K`B/A !>4ac>6tVۈ12@>C؍o.-gm2N5LD;91N 3DcC8 ,XZ2a[t9n\I®9 "&2E4J^tg$[^)dQb6)TuӤ]9B.Өn2jpjȃ#!jD.zbjqV>YwΟ1&7Dtޠ!!}IhCҡ;D.h$=KZO$":}L D0Gv=A(sa{Ɨö#m*ީ/(JZ:7c;Ȗ6JR/~N\JZ6E^Ah韑^|+غv8{ ?037ZQ$:"s"} s8~DhԥĖ^![%g}@wQ'Gy$!2sOLY. pyP~{yu' /[xu6'M})iۇH3'sɚ~NG^"m=CA <>{e5so GI&~F6Pf@IG^D{vWPF^Cg G$kKGbgx?gгD gBc"F;Dx'8:&. Rg~H+ysmL~JSu{iU+tT$!6=*h*WYQ gtCS/\|bSQW; +Qu'(~C%pUu' 795boLLr=rDfr^̛$?^N%6-Fa2ry4/YN5%YyQ\;G YElY v"Kf!cN|$6Q'i$;YWGZmiy;Ɏ_%/ ;{ΑC\-nIf#.K6߷'I*@!<1%%]&zQ&CJ9CjYqC/d +Jz-2!zɨ ߆3{(e/ Q#L>"C/"ئn#tr&JkoAt#{tU'JQelz#T{dq"y;r4^-/*[עbJs[\. Wi-TZMIwi6eo}n;.\˔ .1#-Y? 듾٪w}C?ٰie Ğ&&PH}Xݣɧq=lKv|E](_Q&މп:Sđֿņ|KDbIN/ت,Po̿Lry2K?&: 4-RpB>P{+z' +)OPƞ#Sc2Y_a:CO{r(Zg#uVnEP&~B>k;4CdmgȘ#oy] oX#۫v3c*}FrMo eq~A#[oQ}D P|fw;8؊ 8Olu#N\5elgY_ߩtQ~뱻tԅ[X_'g92٫ %jR&5>U.EbM4:3*f]d:I-I} J38"daXhf񙺑Gc*N&#C"pLJl5Z\eQ6#"#-5]o|r|(P7-WXSNy$#3Q!-$P=뚏jMYq]D/lpʳkgi]u-EC?I8w4Lcswm)Q{E*$L#"Z}.8ƅ%Z:mwYhn]R\;-}Lʗ~5:zh'S$NJkYr IN|v@ :QE;~HQGϿ0})2a0z_>q9oy܏{'ۯoy~01).v]Gq rVkKKrLXIC96FE^iGX{*T)Yq&skdHGދ6e6cDt>uXjjEXV Q;tu1{HzT_/eee}_Cu_SG} 4t-HJ&"y +tݵ Noo`{ w ;InD/<ϱGTS{O'5E;S'P^g-~'DG':/PV>+%B ~PߏHޤ8MI-H.5 =ԙa%jr;9V~wH.Nqzec3?z C6r_eUDrȃ!6*ەEvW-H`!K$ǟ'= +wߦ yyb%;H]Bh$x&:ҳGJWȹ <,ɉa.gIͽH:g=EUDKjU( !?E*P'!:Cߐ2MyoOXS.=:S'|E$R_=O9tWd&D'~N67g^'kzOk3'EUB+/;>&e e29b oZ~۬Z}'E.UIR:O1H[vlSu%+oM))oΓw@=C-=C5O`C/I-n}1]ֲ]+ԤN!R$GEً;#"yiCUzqc?AU.L1%j?'ӚH}Kqғ~O菼,QW@\J>s0v5]C |{廒M"Y ʩ>TQb;1 n%bIjF%// #Zo"G{6,]ݻ=sΜiAV`E[rl-YH1 9P QŲt;'PO! +:QLzVYp@n=W;~/D_dK^!3}5>"K +D^'P/z^D|yxf +9A~mx.}DM{H#:8n$Į-Nz]Hc%qabzmt/#ČH> :!9g$@ُ4p ˙Vg.~ gz?q;c%ڊ<)Ĝ'pw$x'+Fއ8 R3HçXtKeOXw(}_t=/M/HX }ZTtEL|®5UM\փzŧ=K +I*TP? ^I?o)q /PD&(C]dh5yZ#L`e >/4Q\7"h+mSc.c<Ћt^w +`szo u"1VWv<#M('Ta +3BR6O >¡YdoCuB "1DNs'awi[c" Da>f;TFн ~.b(6{[8N#CXuw"W5T.33GPTZ rC3<0OqNqS̎t1έѯ%=?Uk" S8fZQnjA*6[n!l%nd8-]?1a Sk}^\xg1Y 1.Moc1Z^RS@1B:6 F߆:yd7[d]jDܸHFrN1g'>"/nzebc!<i~B]ϡXpnߒw|C ?AubcۉM=DtdEW⓯hzA܄4:7UB^$gv"^ &nڌbxhXB0p}"){`}RR&&-Cׁ2Yˇ-\?mwg0v6wM!:7. >O)WuGX!{{>+*-x:^&2 M,Mo^{_un=zmIV3-Ipg~ӷ^ܺ c."W[/zk0ӴZF[&]ۈ׷9>}>|}HJՙ ^$8l:oTyM~M|I*k^!?m#M'<Ez8wrC +*Tj߸gSJȌ`޸R[ݿH&.5VԸcMGbbJhuѺxlvLn$5 W3'/ Ց8ln|ݧp H`Cclz/O].,GP]_c b?g0AY4Mxlu&Σ9oPܥHIGPm7ZJHB9pDroͻZ_y|[B%8]E6O.2HRDo|F4X^^B +*Ts9_y +tҿoG?}t=Vt="9?Lڃcz!-VMK +(M[AtEOEOOǼB +*T/+z=ĥ&~kD)OW$5y +ڌMxX;ޠs=Ίr +*TPĠ}ݼ;]"!{r DhWkf}L?PM~Q\g`v<'t;ubj#^A <-E6h#(i=NX$`o5vT3x=ۯarm 0nmX7%\14eq}q +*TP#Є!T>DI0rnܗp_Fi )4;# ~V& }ȜRǴK(70!rm^8yҊ8yY.Ư}FhfU#!MT%2R#1[r}1w@(g% ӆf%B4 M5x˯aTncㄅac7|OE `"`5p=|ºsڌg~]T8߃uzο8W+оu>"?>ώ{W TPB_H~~qz ф 0]O8>/tw +}xfH.$/pEґHQDW;4SM~ H,8LZ*̓^4gEF7|e=Qh!+taMD}M~8'5cQħRZ|]@w\-"$<7x0O.pof> +^jMwRP{ȈmD\u̇YZGQ̗X tu}Îd&"F],v2BQw-w + 0 D>[+zI-ER~7^Xծm}s#Ji [gǼc#0_9Q8ޙ|ZRJi'2rDp`7"|T&/0m }]i]B +r?sUTG:ԪkIamn bBlO󼌞sJJ#mƊOLEͬ,h/$ц>5G:\SQv4 /6MA%nrj O5QWD,Nj?X]s|A&{7duAauQ&%tp]'l=G&{ Z~wPIqvdJh<9jg+^k)svYͩb&RHzmGp&8@^$ҖX\A?8;wgB#L|IJxwZ++;wnB ?ܵ+L}wN][4o%18Z4Mt=3'X. d) 7k+$f>~z e>mηz1[km|B5νH{ ޲PKJg1kݎs? 2*rΜ=GGzM{4#hi".T9Gqw-Cx=hRgny[Sco݇Y If܃4re=2U{GN}Ȇ_!]zߌ8rONBAa"Hy@{lބ6~gx o|EAA8N>̣8q@23h||Iy;INC)w +jը~ݺWB|5uܖ-ג_C;Rt uב x'M]nZB +*a0 |t+}"C=i +~nZ4OU$<5,9u6HN$xtw7~v6dm"Z[<[ xnu-=o)*V~[8MH5SM.yM$B(S&/%nBln$':uR픕4YqH? W a{y|-/ ] 8~l[2v V".Tw7 i]8`Fqv!QlzX0݀0UmFB$(ȎnDg`I@ s5{,(OQv^Vb'6)eѐt+YuڿX3AHkfՌ0rqe_!BlHILY|/=긿dF\!4x:+"Kh3WX-YLI:ƿ"Hr$njxd1:@2Ԁ0shde!bEH&x=̑G L]'.#v?lod>&6r +Ʈ5e-UG{1oq^qKrk$}v` CgXc^{q2fVX;O >gk*T% q}6{zak1[i ֚(7^w_ ng3U܃msko @{7]2K |_|;D# AFh0w)pT?Yus}ͽT:>βxm`H]tgb RQ \t%]'YvU/1оU ۈwnEhLȰDFtn#ҵ {v%ؼa&7lzw~S7_`}u3Mm;"ul#;ye3}hok|W&b9K<Izb$G'9!bH"ҷgN1RAdfO|Bs>%i>ws%;x"JrI>N|;> +B#gL|21?]q5+Ou@5]!XO^^nmj1o/)jbQl`.pyRʋ:\`ycTk]B +6FfPp}M=-DbiN +{z!&V UϋK=iYDb;sa.=<_,-hb]V"1''mămļd½$V2 `1N[2g' v54W cI$M(ֆb}h׃bm$'.G=g)ů`)3M:P,ul@dk :9_tvK@px:!lg!:‚:@F!CR(:iKVG&܃VNHZ4` _`#Io+s$,Ud!.YHs6І2u9۪H;Zqa!5ͼ6H]E~k"K<\5r;ʂ\C}]9KZ'(B\FNi Xe)6B%– _0}4yKS_UxiDUv. +j=cL:g/>W\Gډ,YTYY + +wohwKdWYr~žZ\cHO1_c)G[Ehkĉx~Ŧk4OKxR:2[fM_M_`%ǜPS̫Egy;ѵu:O(>"*ݤ`˲pmp3~kh3PFvފixڶn~nRӻ:_Eߏط[X^հC"Ʒ-~.Sޅ:~H𴿁ٌ̇U[{w!tBMxb/iqD^LW^`61DxO[ ۙ%7%aRH=od1WXb|Ps~ +V,YEzͰACD~o^'nxXYM ܕϒ6mTt &&Qo=Zoϟ Y]}t=H6RF ɨoi݌b%"o"% qs~\xl9y:A:8TݵdCy%)=U{ Oג +7kAF6qj%&@\"n"m!XK' RkP u_|D.|WI + +QD]qD"m_vǬsV>=k"4HV dLĹޗ:] 9Y4^B_;Go@< vbZ& +j+HY/t~Iz{}mU{iqnGc1:LӀlDp|Wj/H׉s;mng1ɜMV"l"Ẇ8~~1̅Z ۮk!n~~1`1?{qw)φGQU}7Qϣ8kɄY]~dWȳ8NJf>>rBDh!`9|mɣƪȘSf!X2xI3'je5ĝ&&I4׭B +*wQK5"1iH.^Ch_9[g.2_!`.&x~FmAq_NKwԧ3XDp}# q=EKF'be~7Cdǹb_K{;TȀ<{Ie +r5s]Bͤb㯍 "פF=~RA'unzoq>S9'=w-j[r77^#2?-,\4OX'.GM(m%nG92[ǥ B$nF6!Xs;7HFm/KndU_}4Ń%6\$+czEQ ܽ;> &޷IA3[ ԿL|hV~Ctx;KS@3Ie=oP 3 3onߑ}U=GHlCkqWF԰[d'07TM ?kDv~h]#Hƴ(=/#w[DW{7!63e"YIdƒ;Cv%3H>D8Htq# C;CNv| e&/Ȉ-슺 dB}:Eۯ uޱ;**TP]?Aynfr'1uFҞZjgO# ;[ Qϓױ r bnr?zeN"- ׹&1^6۾bOVF (|]4o)m] ܿQԐ j3 rP\X)mmkrfX|{s3!8r!q<;$г>/zOV= tn!8iG(# fI9й${؛v ?Nљֿ:%CQ{0ѩwuվ>:$2qnع̻ly.MȽې ۈM]2~i`w>E2M- v"o^BmDǎuF:MÇ D} VSUdퟑ2ԵPk(ݛȚ;ڷy,O<Ft-3(N#5p&ûXpaI8Ab2OIO e:Frl7Kd^g6d2#3o+}DFkSS~Id}D" >!q2/ +_"2vP^b3>I{e)WEq'IKu>PB +D{*0Q?'h||b~Cc.)]ԉHwf~ԙHSQ󔔸J88}+KbosǦYLM us[&y2˱v͒:Jҧ{H@]&NV.{XL/RK{Y R54q/I>PE!TEw9%DwdHYYw~Zoa( b?J{LN2 O!AN)GI{/"&-e"&ˬY@F6k+z~d]g'=}d\cNϝŝGnsJ/qk-|G'Y2ARX_+ZPS![{1_,؊zBzcсj]G_9)ݿ*W5HmŚЅ`YŀyٚD $嵱)<ũ()zȉƐfP=XZ_s55]TZ.!;;UԤYΌ8LADD7?UQS3C5_%BѾa.6\xi"ßM]D ^e>j ?zg'Dz>wm#shD׉{k }:}BQ7~2K!b#\gD\!jEՠk(\zxv Cm4(IjۛXH ZC5~ZJP~EB)Ŝj8伟i}JM\8/wt?'M8MniV,h'i"W CGp:-4-sv~?}1s$fLZJ6]'%d'oAU{RiGr=uzXT[k,ŚYRS+DgA["[ۊ:# j7wf~a~?[oq8b%r|~F4^o@ufk0)p^Z$jb,eG^&čsjc~iz ivJrZ:9yI6 +6rtIuJy(Vd uA tv+o)wiQNnKH ")I')}6K!X,ʚ lgɪmݕ>aQ`yW}O[I3oBsvLCh&QJQ>VD/B0VEUއ**H"M{YNQ=-dx,lv*_oJ5k(*[tLd+\ :0Kvm!Ŝ?]B_wpZYN7zʂŒMVZ&,DɄ.1\gyP4$C$dMf-dbV]zV#@W؉HzrMRwP؞w;9" b +޼:Rv5LZv l݈iFs8vmMKݿM"F!M#˃{Dpsĉl.<|xwֹc)5ˢOTۻ]3>?5#&bFJ*tz\|\ٻ^'G,_@=%Ie~;+<- $#=U7 0|M?g9s9 {![|]Z܇9%g#%9/k`T?2ioVh\)|ܹMR&09IıR7Jxk2^:zEL wz߅HWQEUTdhSV*oF?װ;9αQ')5א\7Zx?EZie1!3;V`c:&vfn+sȋ ll] 5r%-%sӀ#JXJ6ws,a+|DbblI▮`*r)r$F]D_أI!y\,&GX+0v|.]%(׸qÇY$r\D6rk#M>F2O9z#t.p7f2Kj^۽ˌ<@Zy͢=n*58V+VQ8[=ܿ_%ӣ,uY^5dfr;eb~(],eF}3ǝ;vt8؆>wD276lwu+r/t`b??s=Gޚ{oXǿ/ǑC=~N_{r +Fһtɉ: >!'!p{|3(wx&|b UBpznTQE"G7hk=dbGb6F^ds=g!w*)u~ZZQXzYM{1#m,w4%kGJdy3Fa#gmD/+t wOgH/rcZ~D؞;_s \$-40Kް=Ɋ[7fkzPڰQZ=ݨI{[}1bCn?U~ z7k!R& I)6REkIS %@vr}Mq6}hAeA[BSL+l-sXف(nT$Ԑ4LZ#c%CP<=D\rpN~;wJ?8ե )7oqn썐v}fet= s`}ۖγ/H KV` s~4_#6bZN^mH!)_ɮf&6l,h."3.ρvyx9'lXV,A>& u wxRx sW^DƉx_0Jy}c<9A8a zHxp~$d?rԅ$yBxpxosGJ/r8'A-aE+6ER!=|?xGj_* ,=E]yN\VwΨu@+nΕ`L55p;IC,HD.nBp=EY +RO,t6s3uz.m_+$嶲3}IKW^Rsڊ[3#)D[)WI$#u䔝>rҁAC\":)u CEX{*A7!eFnII")aȘc~bܞ)bqV`Ӂ`NbzMT%4I>d(WPCCdSVRdg,\ȐI Ig8M-LnE۽{}9`Һz BucTlO#;\ٌz~zo=]{'?Ipz;/JpZ$_+v8:zjM!1\q ;>F>h)ݷIO˜OT-kPO/4=OY{3s}dqLnO/Wց4_ch]PVAfS!ډKKFJltֳX$r^PRw8xf y,]q]J$-Ԧ OKJ؂э>KldGWk@\E#OÑNy[YNOt"e9;Ã; + fIb+,=l%s}-Za +Z4UBrǐ~Ľ;.t,`y#ǽ{,71n fEP|xLXxݶ}ik5؂8wSÛu~X=;&AԹ+kDFOm^켌⾈4QS/8qڂ⼀+1C]'Ϣ;4{U˝>6 +X$Cj.20HDB$-ܗu]|GڧP'i_߇H'*N~F|KR'{X +] 4!K̹ZR2O|#VT_kCﳙ ]c<_M}Lx(f2AJj?#4%Z +IFgh$Wm&'| ޙf,fH#gy3?0W^Se 1`)<>GԽ#gΓV؞f}ӿk!꼀濄vkho/PuTm ܞ߮6Q`Q m@w]`- j$j}~L,B 'w4} S&JYyQ5XuԔo+Jv۽e%/*`s^v߄:NtyE,(1LUQEÔ&p:Qq?ۆt =\l)DfZg#^avlU؏jkALD96ߌJ&Tj?mtE;6&%c57M<`#{CX]k fI Z5 qzLoNfVܻgcI$kAl{fp7v^XY!og=?5y'}{AO +׍%Ċ61pcoF<ԊjR=l-SǑ&Q[ H!|H^A?:{}SSl$3yJrq}ﱢlݣxRWZ+ѩd=Ol}НG ߡ A7 Oopp {_dY>ͭ\= 绸"B"A2R=qב?$8VNJ ѿ`:Vq9I/g* }tX'eW,mzFbr^"^ 9(K8D8XiґS`؁)xB_.!#yjح[dC69u{ȪOЏ`=h>g O%j,i5f|BqQs1&s=\i0?Ceލt!9CV6 #|suvmirCվfV\ pwqf%T" F+^vPpkaẼ )8TkUTQE?)$w$0"3&DvQ0{HK,1܍Hc_8NQh?!GL8ٯP&OSl_^}J+)VR3!ԩKW3un +1oH']Ew5`F!(O!$٪kUgI F}mQw/ mݍ%W3tmRli2ѝY+&OfD _`kעJ#ï!Ă'=1>)ߥD{_DrD6A{PFc//'B~H][=& ̑NN|~p'_@hCz؟P{9/#wkEBY?"%rQF̒9Kϰ(~ɊR۟"9kGY)FNt#3w/n{E<_>4K[bSXs'XKeM7I~ ^}D+{Ht-7Ѧ ; cu7H>šyiEo9^Ey#wЧ!:)>Fw#^S#Gf?!ccOHPa|2~$(3(Y}ey81#$ȆN#9ڱ$qE,_I>Eym#k)D.}hԑQF? :xhy +'Dmh9֧?#Ř!]ƚ=Ip_)l&깙/ԇ(oQΰn\$ O'2I%QN Mi_=!qW1"\4p4Lw}+^cɲk +J򫨢*#eNxQgϠ9ϒQڱ< = {L^#) >H&BZ(ss$$=~S5s55,H;F`.bE:H N <`E왟֖dujy4eƒ_`-niPVӃ,M]# 3:ZoP?62i]OK)(eQ;M6bvM|L!ٙW ?Kr,Jo>GuKz i{#1!Eb4iܯMK>KF M,+'F9?yb&_GxsQwIa5CA!xm n&f'Ĝ>Nt-WH Փ\ A~k}ѷOQȽu'^JZII̹OdI6K,'Xa"(5$'Hڼ 9Ҿ$IΟԗ=tZNz,9ψR('IM<&i :%F'!$"WN/ۈmV0le)=WQEUTQE?VYODd*(˩Yj7::/X)3\(D'O"|zfos3U1>SWֱf"hdMg5)׶S|\_K"֓\#|;kq<ýq=O4Ї0UjDw7+}lKÿGTZ +畮9Flwܽ3;#idGIQ("%Z {˻>|{xg#ꆣ|"DWVfefef};y?wTxwVRD1}fe"U6y2'WϠ-gNsZb0Yʕ<~On;XKcgSls5}سdA_+gP&'zHQ&)Z̳?"C?s.3ԳYou[@aYv2Ǹmz;uϰ.!|s/8ěwuɓ\6 b?"#/XE1.տPLD.@bӚĎA~c寨$>[ |r[ε[z;̋8K޻|AA}MzmCӗ)Ih˧PVխ늽.4>T񉆯]'؂icMfۛKR.^Ƙ+_(i|z泏lh o͜għw|A41Hr+0Z6ɍ0'Z\9n'ȉp#qXsWђضV-g'q+˭y>#>>lʵr1#+l9S+PtV^/3X;)semRK!oϐ3'H.hrK>Msz\kܺZb#A 7a=pMVJZ7hekM{_67R=Fdcr{k/FǔcOm5n`k/d#o?E#;/g3sm9c%?q~6˿1S\. 'ȭk? ;+n/sI)F9ԟ08e^cxuď*7W2 F!KşzlL! OMx?Fg_ee-sa৤R>׆6 r? QZ ?b+W6Ө /??Ɲ)J.ki'Y8K. O"py؋/ 9ͺCAlZ~B܏b.Y#eú&z]ԕSd(Ex|N$L ^K.7\u($ߥ9dL".&:w^ʿF)labepq6=wTK ;t +/v}mV +r[16!67LDf 6>&:Pj'r/~2@QÊvzcxvę1§fc/!̞$F+0ȓϒMb/`OW^G/QNu&6Jsey s}f{QlR|: NH+ey2.M!zB"{(/ڈU>HKm1;[&ׯSܺQO>[pEP n+n/n'Iw?(% F'_P' ehC?[0' qw>[_?s$[ _Q7~r8Ch֓GWQU4s(?Dl0o߭Ɯ|cK/ Ko-  / "Oa%cOgQ^ILfHCaK{o%ȅ<_dm?L/RLCy«,M`,14(,ʯr9&#=Es =ցx'zq6. +ĹVϲM4D8vemЍx>n̏ =:4ȍ>̳S\"i c(w/F_::t{]P_A i6^nYϴLeqs#;C1}L.|B2p%;V[N N e޸ĒC}8[F\n膸zaȩD?z-݁z;׸$Oavqr~N)kDID;:koOG3ю!O<]ɹK/"?6]|\Lny+O ʯQBvHC?#?u3/ѦY3V^Ɯ=}@mǟg+>1g y(IїϢ#<i)N#Q0V'FI$/Try+qPs:0 +V E=thKg!>.7HB<[ءЧ^ DYn.esa juMa9F4SWc$zǍNA_>rԺP'0,9TFQN"LnA]"g9ىoUw=?A;oF _D[9mb" +$R%MlI(CQ +zq :ȫdLc 㜂1t;Q +K7c':(Sl||3ÍE)WL5ckxsdFJzHYnƍzشі!9 +NlG\߈&v<^2vzvǸ6E6~|<16^ε8r1rb][kYNPU\vlZdp-lh9k+]œs8{̥-_3P njUcCVs(w>-<me͛\mt .nj]&+cZΒіaT'vs9#sp.W0%2kx1_vegFĦqٗqirl#>WPǞ"zƞ\}2k۬vX 79m5䙿{ :K]goUפVT~خNYud3= 0%5J<n@ %'w?򹑓.fl=9xgQ#=:7J6y޲ЉS=q)dዘش:qM޼%s̕\4Tf&^A_|[3|ŕ vv8+or0LJWen_ +hIm\/GeLn[*Km<4~ cE +B7kzW\5z)uJ^2f^4iJ|>;v'y +sKAjƎ^d`'ϓ/`8m׻;IV_ 'Vk=/|9 +&ճYd'SG>*IGǐchBZӥLאVScChhrM,zzaʫ}>r$em'ri|f7?{ONGZ~Byu lzKfޡ uiUR\LAڽlai<[h H LEy7O֞R~hσy8ƾK0kFOV+zfa %ރP[\>sgIUU12#BJKeyY(MV2'[ϡ=e +q[jil;κg53n?itnJY]}Ha*3хRJcDǎnNSp ^/Q.$aU^|"'KCH{.%1}##ePF㠒X9f;Y?):У)'sv6j UV/T?בq[QGZmTc5#/ss}5}u9ܓG1ͬI=xjyH3'X7v|7v8 1qoȆߢ>Ŷ͵E0&vvn(I[+l]}l齬:M:֢MHqRsw`,7`'1D/UA9x9jzeU1r겜ԋN/8ٯ2g0_ŋͺW +ֵv2+5| +϶;VnZMgIzj\K:G|EɭG˿yAǒfqyLp>8_qt#ܫrq4^xwf.ݫͺY0?puwؿpi A=8%{{ZՎkA^YbVh]%dӪ֔~JL;WSE߿u,Nc4tE>?UMϺ9RZZORBP*~l,c P!y9l=lc-gU+Vz!}orf;d'(sc;gnpz877XK>Sy +5B+=Bj}W)laeە\+~PFcY^=6^=W$ +Ѧ_F}泻N>y\i\KRw]]xln$N8{\/iZg$⮜xoed?HϜD]5]\?|4phlOyrr4jc#PǖBeY>Nx frSFZjA[owS(A|_VG}vcP/3N&܋dwu3(ɃClejofhv N1Z^><~d-ט͋mk3J˶;^`. ૦`n+\h"+UuT>/S98rB;Eԇe+3ǵ0eMC&#(ܹpBNn'/ +][|a-ol81'5Gד|ƶ=̦~v+[Y6S\ueVsV۬ﱥwrk-\͎pi{-w*koGQ|/3ls$H.5S؋1#Qg+رf +Zzʶ8ɪ4, V|#B;7Jۓ?7kS~Z^YZqY6-n11`7.N}Zy6d֢IAҳMkr~T{׾]A>{08!z"yz\u^0j7p? qmOcW ƷY(_KnX-T?vA#o +sN#Y_w&R}276#\ܵ(WkNء+ͿUv+&S&r/kq>^7qB%;ɍ07K3X_[9-u<ZN?Ϻ|\mJ%KlyR*qߖ7oYyq(zԢL(1bCK~359mœ)G_8AV~r 5=}dsƯW&pgP@@@@#awlc(Cp3zK$@KWǃb}:jR's|p]Z2zú5 )}~vd7oiZY)ZdnJ?k NeJr?7c\):(J> Ne2;V~jv+5kmV6-gLj?Oh=HGغ}\~OgF?bP>ca R' +x R49`g#<xԢ}Tٷx?}0$[~Xb:7ƃ)W355f-jR֟K!T?Vmb;^=Lbϛ +[_>|*x&M9妇uPUz j=7m~../wRgM\=IQ p)vA}gN\:܍ ԣ׃^h3Yx0$7{x 5qwSUi!>a+h_wp{9i'KJ_ʱ^x}ENJBQ?d6vЃd!^eТwnɃumzGmwbyܷ`C WMS)xU4Qk|{gLC|s@@@@tDjDt=ɆSiXB7jG>X-8d\nƛѣp4h`k" GI #\ DN=^⩍fFf9x>ޏߤX7z_l6{>%>B[Vy2ATcKX:BKYпZZFډ!}=& Jn74l\ws;& ѓsy~dv!KQ?l&jGZiNEC- `?rj5uH^Fj{Saf2GNh}WOm>diLS骳{K#xz6] x|#jʶqrJ'O^Jw*I$S5-A;!EJ׏}z뤖t{&Ku[^^H݌Γmxcة6p3~.܈EɃl+ُy0R5uw >]2U֔z-GcUm,aGB Z2U~S3{5؇a)/jGqZfjb4F:|XYC*vZ| Mf_`$F0R#d}onlUT l8yl+ C8$g #|.Fj!=^5Mg7s7@X}2unXm"-${6 [DM Uz%b]s B2Ћ%Ws)rbu1$19Ib^JGNiP3G&k`K߯)aY@@@pS+ξq0c1z <(nAl+0ߛIL5R :+6X}}+ROLNc^sZr3ݸ.QO`/&V:j%D W17QcXM 5Hu"%&,ڥ +-ut֧6Ϳ%-b KnlqGg1i5<,muZ$ +.qzؙ5UfqY|ɄcEYVl|eE<3Ogڰ2cI yҀ!8.2: +la7}ZXR~^YݶT/rźÃ(wg͞"'WѬia龿Ey`~e~yy'S(|fXr`i3xp0q H70WSFͨ. +vVJkEtv+ZEGAI"h!pqVB44So׸tt+zG͔'OZ&(ٽr>rzj=Uep'9g z#~xD@@@@@@@@@(f[)}xB'kx7uOƆ9 =zMouC6ʆ=B.IQ!'tp=DYN?Ԙ>sRCʃϋyqjrYFQ_X+S0$9}[U>*52LV% 鉃؉N6}/NmWNwSXf+DǕHY@ɨu{'EG;Œ&cx5ޒ4pZr +-Q͂=T^15yU)峘'̟Ff]SNcϵDkOVI]^p5/$fӍkNh#9qs >yk'κu0Q2X{ش{(]Y 9=l\惭6W(mn n_ce.VUWOQPs1J}jqNx3z#[gfdXn|U0ƱcIC''퍲aWL7Vq/Q6{(豃yI=݌jbiWeSRMd>8!WszysENF/>Ϯpk+l۱pY7MK7^OFuFvf -Q,ɕTqkMQr4Ԇx౭+^a˖YK=g^}|ݶIJvlZlYf$z^A0}(m]um#E*!- 8L-T;#F02F +uRwF=т|Mdf҃f1=֎ G;;V-֊-uFO xVOc˚ONfͨfKݔ^Fge +d>v J3|ŝ]Ka%OǕr%D njA[SzM&<5qI4a/pj;|+tM?KDO[2K\``$?wrGBZgȫfrfpn;Շm!Ib?F [dzx~V9ɫ++ag;(y\B '\wQ[ MwE[) }l~ 9j2~=r 'ىϛGk4fN]H|j\&v#] /v~ߛZ5Fxu&[HMFfm֌KC(K}r~cHljVs Qkg+{^֍~wqmsxB3Ig+ YD/j5|_ްv,m $I=Jꢠ W#Β0)6 +ZCJ&rrwH|zcǛNoJW⟺dS1@?>>.ʪ1HzQq?УI`_#%x[KL6SpY^vc;7yö%ڰӭ xB}G0C'r<e0}= XsX˧)=l3UgJq?EQ쏳r9h(j gPNb-!n;&KEZ>0Ƿ^4[Dzl[v/V;\֏vz]dSv׳ӗߡ(6K0Cu{؅lcǛ`DaGN$~YТ8rU \Y_t׿z_|~=n^>jE^9XdfƱ8˳1x_tG"m6QI)X~rb tc}:S2T"+Fo 鈓<L^;8v2I}_#whak5r>v'i^AZģc圼?YyOw-~H5 dp3ew>Hwnܹj +_ ][[ecE\s~R e˫4D^'5&;c"1 SWk|x]%v4c-8gٺYW{Q"9'؉{乷4 +y">^jƓSoaMW%3vF;D;ϓ~V7Gti)1n8z>G5iА|[Eh/;VfT!v0MQ&=q>XOV!\m>l+=\z5:7߳^ N5k-NmF +_JTcX+5sn %5>[%k^5pjN1oRܔ\n8xzѾ~_#gq+*ѢVrb/^[Wl:#il|8% ;Ld&o.#,y|Bo"qHZ;/L^yqu6e +6f+yw;Cl%XV/+(U+ݎ+WлK4qiH Kf4ӿ&A\п8#7~74j]@G䵾rA ;c*!W;- ƫ|4>/~ϰ1Ŕ|ƹo`jQPW(D}M_.pyX%e\ep'ᐼOV'5sC-ArJ?z2܄ibzz?oc)>.2˧(QcDΣ$:H/V<$β4n%}w)N/]2Q8RbMV{G>\<b?r_7~Ffy//dWs.tK}>:Y{}$yu#3+ RP(L%['cX~ +$9mn ]xK7“\t*ALaJO7ҠDN}s׃>d>&Y{5Ye\fWw7{==-'~ky礫l'сA?~VN=F@@xp9\cS 0JΜSwߟܻ5[Gj͜"Q2|̣ǰh OϹ=,%s{7w nKÔap}{%, dF4PH6S'l55~(^ +Yџ; $Qk- VԍBtKJ6c]|`L3'07,=g|o^{AK,vXX+7-Ҹnaw$/ϐkk9uoul~Qn + E[O`Iޏ}b_MxDwR+9AWGXSkBru\޷mWL\"נÐ sLO*cW1=9ZGy=*b%辎f|qli]MYfl/bf(ϺQ:>rj/rK&GV}Ʉh/VB:S|-C>qg&9o'=-z0c8$CY +Lzc`8ģ3 ,}gz|~|hyy+ފ+6z<~ؾ^Y40i<{0W) +ףZIo +Q]zΖk0Rŷ_Ga<'qi&,q [N6Α8=MJ0FV?" MH%Jn$9Q|kMY8i/91sD(D{xv +Z;yVVMN HaCϒ|Dx < A|Gc?rzJ+\~C&1uxQ*:J"Q#8ƣHߓo3FIbM=\csjj pJ>u0otbm*IvfVs>jpuQkw\t8-/v0]Z6 .~'`Thsմ;"Ft$#(q;{O4ٛ={rz$1srR?{h a~dohԓ)keNΣѸM4J!d{`0b2.Sʂgּq3d<Cvq#?"6zM+*kDWIsv [\{EE3I,4un:B/z p翾t#}:'T[B!2L  +<9>..Ln%sqR%Qd0̛7b_.BC4r0?*/} yN!rS)v?_{1 g`V^ކ^[ZBFa3soJs*O + 8̽wda?H#|T!>g yBn+:E!Bn& +[QPS{j@vGN +-5ѷJg/y[Kѽ:@I*u@OaIs2!B!_6K9Xb| *lv\_]InB܇]ɓS`w*jhi"r% geOpHf?WP簯,!&xQ ~חnh7*$~ /<{<=Q-#|>b4Q: +a ZG;zN.Ei*iP~Rt;8s +>g:sBgUNCVc;JK\x&W6 B!dEVөIșې_w1; )؞lϠGl`{Mʶ&!#/V؄Ƿ붆 CMkFYs VVWєp@ LzWߢo/-ʵg C`m@0_AO#6s0m?1BP|/8.avocǨS3zU~mI8iԌN-TS^u5$41C !&*^ks9rVo՛}s}88e1jTWqx=54yW5U/ୗ͠O@BӈF㲳UC=?4@\hH\vkM]BJ墙 }n1 +:OKȘ_wի "ebvHB!YFHuAo<:0G13pѲVrC x* zv`l)tnGS]}@L4zaٹ}0ԩ>0J+P gB08eO@OX2g/RMNzWE;d;{BMdu&7O ÜEo)xI{PrwPu [q8^_xA\Πa%ѰgoHD /nG{q5#}<ipY;wa3vY0 eni$\n]eOm5!\&甚XgCU%}I!\_y>9%0/>ӓ25ra'fnAaVF,}~^m<%7IbHܝ<ûre(5?iw ag*L*tzMs8% Es_KN5jk0uhb2\ '/[AgS$Q5`qڲg9_W4WـFvzYsKp%B!@+#Cc?%E=?7[^\uEa|! vۮw[jZPӗanݯhsb>䮹^ +TBmٺ?OZrp]z*hUHigm| +0kcSL9T׫Fe ~OزO _jϓߏ#nB..!d_YGX )h̫#y!BnJr uV#&![+Oa, +)I={B =n3&aa2ŕޡgkn=wS + +PɞsVukWZjy]}@[áFHmc Jq eT\OXDi6Lg7R~Mw Fyv :8З_Ǎe͢ZyvzV.;3^op̥JuϙͭC-~|OBun~/]Gňpg*K)MԔ(l&3Thfpgkɐӣ]\i}g1uz \a\.zPx#nby "sބsTBM}p4v zǖX~A/M@]mgYȥ]PX!8WWIu+g澱WX),!542.'TUi -1C]˻狍S1];' !X7pgL ӟsv`>Kl OT<MjL="0N]&{)\9 u8'X| +[8.riW~ WLÓR4L''qj=19*_3Xɾ9grph.sJ\eWRi{0ًH)Ngk( ﹆J=ͪ1[͟-h*6<] R³!QsPa>XB!S4Ζ6;s$ |LlYڑׇ+|/TJÈ١divwRkYdr.;7PS=bi,!\~#=->fZxB!_y^B>7: f̵ot$?&_xkB!Tl=YXH)OkM{ !BAva;Ӹꅅ;KL*Oa(kcfDCU ?Pg} rW0pί-<^2HGHeUYA]QWU{rz+NB!7W+;{iE>ﰷ_D05HM(LnVk479>;TN6ϔy jo(њTgh2l8Zkg{;jVu' zIeSBcRa,!8Z\}uߞQ"k]2Z:u|+$80m~;^X«{ +0AR gB$|5W fa'BX u%}~~Yl2?*g +wHX"׋;lG~ ~{B!|,n bl/k 3 +J +gC]n|׿'|?K\fvd۵^EM>{I!BH@|n:|&NϯygرnaYtJyzvt>_`kcB!r.]rCJY~B!B!B!䦲ivB!BΆ+2(Qs~ןKW{F.^Z +|r&nCT^Bhpe? .B!T @x.e%_ +; { R|qaԁr91]PҰbkLscvM[lz,h2+[WЄh(3i0/`VF?%74},>nW4GX&PΨ!B!ǒl9"fu]GO梻*N P)6٩Mc5i&Zϟ=[Ρ*Eρľr pg/'Nו.Q{B!rtvxNqpj=udM_D^uS5YvԔ5ց_kxkb e;14׹o +cO/AG$m3hShSgg3?BNPKdKs53 46t\vw|a^%*(~)PH  +Sέ;sg`ƀBsέDwfl$2TM_߈h`yb CR9ȭ % +baf'N.;0S|YO;ːwO~X~̣y:o8gF_G>E=+2 GGy(Ss ]i}wg*"cuzuRkmTibo⪻S5& O+#4k#X5$zvω~Bi""" (w U}/pʍ18i9[򙩣g*b{ a MqkKJ87ab]"ìzc+pA?zHퟚ[etrGy@{y_{ ?6s۩e0u8֟eץs̽H hG0s|W>W<q Rk*3.xڳ ]Y8"""""=Cu_};ndf@-!6鲳*ΜetVF@kőcz Z3cO#qGUtYdY˟cϠ.'G|H}3@9m6Z ]0l5=_"pk?T[D 5ZtGhO:v ]_Dl}t}v[0սOȓn|NDDDDt|_mkEz3w]5FBg.$ImDҰ%e|SVAӱgi.i. 1F mhGp!"""""wJG7KDDDDDDDDDDDc ڠ]^g+p +[NDDDDDD_)n в~:#?^-Uj>@懾EC?n;}]~X9}(еWS\Ҝ_!Vaou \mۺ1~.[5'""""""C8y{Gۀk:*"}?1Zw8B>{!t79z9g& +_{O8Q~FW=wS'籦Ϡrn"""""ugx]EXq?JK!6/p"~i[ci򝜷#` e(S}r*,CZ-86HL<^llg=ϐGaho??O*k k_='6]@|%| + ]cm=wĘ.ߤo>3Sg=-2W3W +KZ{J؍xkWq.Lj*\qx/\G,vuGW|"9$"""O^Aal.RՍW#%~^,qWCJY_zԫ"5)w3 ^=A1^cnvO +!Q)N""gyX9FW>S `v#;F? *c#6a6`>5PZ»t%{6ZMXg,Q#{ޕ+s$1:[GnKcJDDDD_$k~ƿY߆-ߏvn$:S0xj ctĭޒ*{5@): ;bi]?n}DA  ]]qXũ_@j |DEϘCeY:-NfV;K P^=XUyv> H, 5>zS c*=~PYANOhOz4V-@soW/)oa{V z=Ұa6+P̠# k)9.lqr=qb={e\a0Υ|~r>Rق!6`ևV`>u[X/y\AQ5JvsG~v <'k8刈chcHN9fˍ7HDDDDDDplu\qQJLc} B i-qt C1Da8%^?ԧ>~tY6G817nKV}l_%:u47"""""1ݴ55{SHy f8yz"""""]~DDDDD?*YgGޡ55%Zerܭ/6Ż"=i2cPfwc3gR/)ukG_-~oȣDDDDDD_6u-CL""""".sv\GϩcsDFTYD"?˝om76ac!ԫH#""""VKjT>},N jnUD +wuvx\ZUF81|u6ѿt]n [EfGDDDDDC1x["B#IW<ut|z@-!1pګZnCA]؀ofכ[ml +GQ pѱY*ѳ 8 8(iN9urVc.9]X[-KgFAVw˓#KzŋBRp[eźVSF/;k[]D2Wbg%r R~sp3~O t9-#n=ĉ=<,z_SV}G_("?&<6+KUF'zsalgIDDDDt"R{Z^dl 6Ʒ|x-1q|cM1Ns[etESD`PIRihh٬ +y( K:3Wy>q6+3E$jn|ȩ;+P“ :"q0ɉ]z4Cˏ& +O^,:Z™rN)@?$] P܆&ޮ_+7O7\.WvWu*^b7+\>|]CJ5^gm"zsZ3Hk厙{.vhkћ g؁?jm&K =؀)_j,h,nlog{*+9*l"""""/DilЦsYʫ.jGDDDDDDDDDDDDDDDDDDD=O>0_pla;}"6!REr} rk ڇyZmSˈ|[P#fIw=/sZǙ|i 8s0w&Į̳vi^ &[H"cvѯr9]QSkqH9Z/n RN-t,gy҈g6>;4s#RV>qhY;UxV2>+e͹\&wUql.ଢ଼-hEzF}~{~wq~&z.BHn*-tgX#,#F^jpb+-y2x\F ^1bySg~7г3WG֙Exm#*5@_c#""""\ar&lu﫝#/Vanara.Jnana.git +cd Vanara.Jnana +dotnet build +dotnet run +``` + +# Roadmap + +[ ] Full Shell namespace visualization + +[ ] Integrated COM inspector + +[ ] Live API search with fuzzy matching + +[ ] Sample runner with output capture + +[ ] Plugin system for community extensions + +[ ] Themed UI (Light/Dark/Mica/Custom) + +# 🤝 Contributing + +Contributions are welcome! + +Please open issues for bugs or feature requests, and submit pull requests for improvements. + +If you want to add features, fix bugs, or improve documentation: + +Fork the repository + +Create a feature branch + +Submit a Pull Request + +Please follow the existing code style and include clear commit messages. + +📜 License + +This project is licensed under the MIT License. +See LICENSE for details. + +---- +old version: +---- + +## Introduction +This Repository is an example of [WinClassicSamples](https://github.com/dahall/WinClassicSamplesCS/) using the Vanara +libraries in a modern `WinUi 3` on `WinAppSDK` environment. + +The original WinClassicSamples repository is a collection of samples that demonstrate the use of the Windows API in C#. + +The goal is to demonstrate the use of the Vanara libraries in a side-by-side model with full featured modern WinUi environment. + +This repository is intended to be a reference for developers who want to use the Vanara libraries in their own projects, and +to provide a starting point for those who want to learn how to use the Vanara libraries in a WinUI3 App. + +#### Project Intent +Test and validate that the structures, methods and interfaces in Vanara using known code and outcomes. +Demonstrate the use of the Vanara libraries in a side-by-side model with the native Win32 API. + +#### Getting Started +First, take a look at [Template Studio for WinUI (C#)](https://marketplace.visualstudio.com/items?itemName=TemplateStudio.TemplateStudioForWinUICs), +available through Visual Studio Marketplace: + +> _Template Studio for WinUI accelerates the creation of new WinUI apps using a wizard-based UI._ +> +> Projects created with this extension contain well-formed, readable code and incorporate the latest development features while implementing proven patterns and leading practices. The generated code includes links to documentation and TODO comments that provide useful insight and guidance for turning the generated projects into production applications. +> +> To get started, install the extension, then select the corresponding Template Studio project template when creating a new project in Visual Studio. Name your project, then click Create to launch the Template Studio wizard. + + +# Resources +- [Vanara Git](https://github.com/dahall/Vanara) +- [WinClassicSamples using ``Vanara and WinForms`` Git](https://github.com/dahall/WinClassicSamplesCS) +- [Official WinUI3 on Microsoft.com](https://docs.microsoft.com/en-us/windows/apps/winui/winui3/) +- [Native Microsoft WinClassicSamples on GitHub](https://github.com/Microsoft/Windows-classic-samples) +- [Template Studio for WinUI (C#) on VisualStudio Marketplace](https://marketplace.visualstudio.com/items?itemName=TemplateStudio.TemplateStudioForWinUICs) \ No newline at end of file diff --git a/Vanara-Jnana/DOCS/docs.assets/WinForms Sampler.zip b/Vanara-Jnana/DOCS/docs.assets/WinForms Sampler.zip new file mode 100644 index 00000000..8e20cf0a Binary files /dev/null and b/Vanara-Jnana/DOCS/docs.assets/WinForms Sampler.zip differ diff --git a/WinUiClassicSamplesBrowser/DOCS/WinUi-Sailing.png b/Vanara-Jnana/DOCS/docs.assets/WinUi-Sailing.png similarity index 100% rename from WinUiClassicSamplesBrowser/DOCS/WinUi-Sailing.png rename to Vanara-Jnana/DOCS/docs.assets/WinUi-Sailing.png diff --git a/Vanara-Jnana/Directory.Packages.props b/Vanara-Jnana/Directory.Packages.props new file mode 100644 index 00000000..d915cf5f --- /dev/null +++ b/Vanara-Jnana/Directory.Packages.props @@ -0,0 +1,6 @@ + + + + + + diff --git a/Vanara-Jnana/Helpers/GuruMeditationException.cs b/Vanara-Jnana/Helpers/GuruMeditationException.cs new file mode 100644 index 00000000..a04a6d87 --- /dev/null +++ b/Vanara-Jnana/Helpers/GuruMeditationException.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Vanara.PInvoke; + +namespace Jnana.Helpers; + +public class GuruMeditationException : Exception +{ + public GuruMeditationException() + : base("Guru Meditation") { } + + public GuruMeditationException(string message) + : base(message) { } + + public GuruMeditationException(string message, Exception inner) + : base(message, inner) { } + + public GuruMeditationException(HRESULT hRESULT) + : base("Guru Meditation") { } +} diff --git a/WinUiClassicSamplesBrowser/Helpers/WindowsSystemDispatcherQueueHelper.cs b/Vanara-Jnana/Helpers/WindowsSystemDispatcherQueueHelper.cs similarity index 96% rename from WinUiClassicSamplesBrowser/Helpers/WindowsSystemDispatcherQueueHelper.cs rename to Vanara-Jnana/Helpers/WindowsSystemDispatcherQueueHelper.cs index 7e7023c7..5f93150a 100644 --- a/WinUiClassicSamplesBrowser/Helpers/WindowsSystemDispatcherQueueHelper.cs +++ b/Vanara-Jnana/Helpers/WindowsSystemDispatcherQueueHelper.cs @@ -1,6 +1,6 @@ using Microsoft.UI.Dispatching; -namespace ClassicSamplesBrowser.Helpers; +namespace Jnana.Helpers; public class WindowsSystemDispatcherQueueHelper { diff --git a/Vanara-Jnana/Jnana.csproj b/Vanara-Jnana/Jnana.csproj new file mode 100644 index 00000000..e81c9b11 --- /dev/null +++ b/Vanara-Jnana/Jnana.csproj @@ -0,0 +1,133 @@ + + + true + enable + enable + WinExe + net8.0-windows10.0.19041.0 + true + Assets\Vanara\MFC-App.ico + + + false + portable + TRACE + true + true + true + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + PreserveNewest + + + PreserveNewest + + + + + MSBuild:Compile + + + + + MSBuild:Compile + + + + + MSBuild:Compile + + + + + MSBuild:Compile + + + + + MSBuild:Compile + + + + + MSBuild:Compile + + + + + PreserveNewest + + + + + MSBuild:Compile + + + + + MSBuild:Compile + + + + + MSBuild:Compile + + + + + MSBuild:Compile + + + + + + + + + + + + + MSBuild:Compile + + + + + MSBuild:Compile + + + + + MSBuild:Compile + + + + + MSBuild:Compile + + + diff --git a/WinUiClassicSamplesBrowser/MainWindow.xaml b/Vanara-Jnana/MainWindow.xaml similarity index 79% rename from WinUiClassicSamplesBrowser/MainWindow.xaml rename to Vanara-Jnana/MainWindow.xaml index 9791e125..87402db4 100644 --- a/WinUiClassicSamplesBrowser/MainWindow.xaml +++ b/Vanara-Jnana/MainWindow.xaml @@ -3,7 +3,8 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:ClassicSamplesBrowser" - Title="Classic Samples Browser" + xmlns:controls="using:ClassicSamplesBrowser.Vanara.Controls" + Title="Vanara Jñāna" Activated="Window_Activated"> diff --git a/Vanara-Jnana/MainWindow.xaml.cs b/Vanara-Jnana/MainWindow.xaml.cs new file mode 100644 index 00000000..4cc4af0a --- /dev/null +++ b/Vanara-Jnana/MainWindow.xaml.cs @@ -0,0 +1,110 @@ +using ClassicSamplesBrowser.Views; +using Microsoft.UI.Composition.SystemBackdrops; +using Microsoft.UI.Windowing; +using Microsoft.UI.Xaml; +using Microsoft.UI; +using System.Drawing; +using Vanara.PInvoke; +using Windows.Graphics; +using WinRT; +using ClassicSamplesBrowser.Services; +using System.Diagnostics; +using Jnana.Helpers; + +namespace ClassicSamplesBrowser; + +public sealed partial class MainWindow : Window +{ + private RectInt32 _defaultBounds = new(430, 256, 1280, 760); + private SystemBackdropConfiguration _backdropConfig; + private MicaController _micaController; + private WindowsSystemDispatcherQueueHelper _wsdqHelper; + + public MainWindow() + { + InitializeComponent(); + TrySetMicaBackdrop(); + SetWindowBounds(_defaultBounds); + + // _navigationService = new NavigationService(RootFrame); + + //var initialSize = ApplicationData.Current.LocalSettings.Values["InitialWindowSize"] as string; + //this.AppWindow.Size = _initialWindowSize; + // AppWindow.Size = new Size() { Width = 800, Height = 600 }; + + _ = RootFrame.Navigate(typeof(ShellPage)); + // TODO: this.SetTitleBar(StartPage.DragRegion); + } + + // private void OnIconPressed(object sender, PointerRoutedEventArgs e) + // { + // // Show the system menu when the icon is pressed + // var ptrPointer = e.Pointer; + // + // ShowSystemMenu(); + // } + // + public void ShowSystemMenu() => ShowSystemMenu(targetObject: this, uFlags: 0x0000, bRevert: false); + + public static void ShowSystemMenu(object targetObject, uint uFlags = 0x0000, bool bRevert = false) + { + // TODO: Add support for right-clicking the title bar to show the system menu, and for showing the system menu at the cursor position instead of the top-left corner of the window + // TODO: Handle exceptions that may occur when calling the Win32 API functions, such as if the window handle is invalid or if the system menu cannot be retrieved or displayed + var hwnd = WinRT.Interop.WindowNative.GetWindowHandle(targetObject); + var menu = User32.GetSystemMenu(hwnd, bRevert); + var point = new Windows.Graphics.PointInt32(0, 0); + User32.TrackPopupMenuFlags tpopMenuFlags = User32.TrackPopupMenuFlags.TPM_LEFTBUTTON; + User32.TrackPopupMenu(menu, tpopMenuFlags, point.X, point.Y, 0, hwnd); + } + + private void Window_Activated(object sender, WindowActivatedEventArgs args) + { + _backdropConfig.IsInputActive = args.WindowActivationState != WindowActivationState.Deactivated; + } + + /// Sets the window bounds to the specified rectangle. + /// The desired bounds for the window. + public void SetWindowBounds(RectInt32 bounds) + { + try + { + var hwnd = WinRT.Interop.WindowNative.GetWindowHandle(this); + var windowId = Win32Interop.GetWindowIdFromWindow(hwnd); + var appWindow = AppWindow.GetFromWindowId(windowId); + appWindow.MoveAndResize(bounds); + } + catch + { + Debug.WriteLine("Failed to set window bounds."); + throw; + } + } + + /// Tries to set the Mica backdrop for the window. This method checks if Mica is supported on the current system, + /// and if so, it initializes the necessary components to apply the Mica effect to the window's background. + /// True if the Mica backdrop was successfully set. False otherwise. + private bool TrySetMicaBackdrop() + { + if (!MicaController.IsSupported()) + return false; + + _wsdqHelper = new WindowsSystemDispatcherQueueHelper(); + _wsdqHelper.EnsureWindowsSystemDispatcherQueueController(); + + _backdropConfig = new SystemBackdropConfiguration + { + IsInputActive = true, + Theme = SystemBackdropTheme.Default + }; + + _micaController = new MicaController + { + Kind = MicaKind.BaseAlt + }; + + _micaController.AddSystemBackdropTarget(this.As()); + _micaController.SetSystemBackdropConfiguration(_backdropConfig); + + return true; + } +} diff --git a/Vanara-Jnana/Models/ApiAssemblyModel.cs b/Vanara-Jnana/Models/ApiAssemblyModel.cs new file mode 100644 index 00000000..a703c7b9 --- /dev/null +++ b/Vanara-Jnana/Models/ApiAssemblyModel.cs @@ -0,0 +1,5 @@ +namespace Jnana.Models; + +internal class ApiAssemblyModel +{ +} \ No newline at end of file diff --git a/Vanara-Jnana/Models/ApiEnumModel.cs b/Vanara-Jnana/Models/ApiEnumModel.cs new file mode 100644 index 00000000..6b15c92c --- /dev/null +++ b/Vanara-Jnana/Models/ApiEnumModel.cs @@ -0,0 +1,5 @@ +namespace Jnana.Models; + +internal class ApiEnumModel +{ +} \ No newline at end of file diff --git a/Vanara-Jnana/Models/ApiMethodModel.cs b/Vanara-Jnana/Models/ApiMethodModel.cs new file mode 100644 index 00000000..aac0932f --- /dev/null +++ b/Vanara-Jnana/Models/ApiMethodModel.cs @@ -0,0 +1,5 @@ +namespace Jnana.Models; + +internal class ApiMethodModel +{ +} \ No newline at end of file diff --git a/Vanara-Jnana/Models/ApiNamespaceModel.cs b/Vanara-Jnana/Models/ApiNamespaceModel.cs new file mode 100644 index 00000000..d48d42de --- /dev/null +++ b/Vanara-Jnana/Models/ApiNamespaceModel.cs @@ -0,0 +1,5 @@ +namespace Jnana.Models; + +internal class ApiNamespaceModel +{ +} \ No newline at end of file diff --git a/Vanara-Jnana/Models/ApiPropertyModel.cs b/Vanara-Jnana/Models/ApiPropertyModel.cs new file mode 100644 index 00000000..f3071046 --- /dev/null +++ b/Vanara-Jnana/Models/ApiPropertyModel.cs @@ -0,0 +1,5 @@ +namespace Jnana.Models; + +internal class ApiPropertyModel +{ +} \ No newline at end of file diff --git a/Vanara-Jnana/Models/ApiSampleModel.cs b/Vanara-Jnana/Models/ApiSampleModel.cs new file mode 100644 index 00000000..6a9fad5f --- /dev/null +++ b/Vanara-Jnana/Models/ApiSampleModel.cs @@ -0,0 +1,5 @@ +namespace Jnana.Models; + +internal class ApiSampleModel +{ +} \ No newline at end of file diff --git a/Vanara-Jnana/Models/ApiTypeModel.cs b/Vanara-Jnana/Models/ApiTypeModel.cs new file mode 100644 index 00000000..bad1247c --- /dev/null +++ b/Vanara-Jnana/Models/ApiTypeModel.cs @@ -0,0 +1,5 @@ +namespace Jnana.Models; + +internal class ApiTypeModel +{ +} \ No newline at end of file diff --git a/WinUiClassicSamplesBrowser/Models/ApiEnumModel.cs b/Vanara-Jnana/Models/Contracts/INavigationAware.cs similarity index 63% rename from WinUiClassicSamplesBrowser/Models/ApiEnumModel.cs rename to Vanara-Jnana/Models/Contracts/INavigationAware.cs index 467e1a52..f1523fb8 100644 --- a/WinUiClassicSamplesBrowser/Models/ApiEnumModel.cs +++ b/Vanara-Jnana/Models/Contracts/INavigationAware.cs @@ -4,8 +4,8 @@ using System.Text; using System.Threading.Tasks; -namespace ClassicSamplesBrowser.Models; +namespace Jnana.Models.Contracts; -internal class ApiEnumModel +public interface INavigationAware { -} \ No newline at end of file +} diff --git a/Vanara-Jnana/Services/ISettingsSerializer.cs b/Vanara-Jnana/Services/ISettingsSerializer.cs new file mode 100644 index 00000000..7061b49c --- /dev/null +++ b/Vanara-Jnana/Services/ISettingsSerializer.cs @@ -0,0 +1,12 @@ +using System.ComponentModel; + +namespace Jnana.Services; + +public interface ISettingsSerializer : INotifyPropertyChanged +{ + [ReadOnly(true)] + public bool IsDirty { get; } + + [ReadOnly(true)] + public object[] SettingsObjects { get; } +} diff --git a/Vanara-Jnana/Services/NavigationService.cs b/Vanara-Jnana/Services/NavigationService.cs new file mode 100644 index 00000000..27e97594 --- /dev/null +++ b/Vanara-Jnana/Services/NavigationService.cs @@ -0,0 +1,125 @@ +using ClassicSamplesBrowser.Views; +using CommunityToolkit.Mvvm.ComponentModel; +using Jnana.Views; +using Microsoft.UI.Xaml.Controls; +using Microsoft.Win32; +using System.Diagnostics; +using Vanara.PInvoke; +using static ClassicSamplesBrowser.Services.INavigationService; + +namespace ClassicSamplesBrowser.Services; + +public interface INavigationService +{ + public enum Area + { + Void, + NuGets, + GitHub, + Samples, + Disassembler, + Utilities, + Settings + } + + void NavigateTo(Area area); +} + +public partial class NavigationService : ObservableObject, INavigationService +{ + public Area CurrentArea + { + get; + set + { + if (SetProperty(ref field, value)) + { + OnPropertyChanged(nameof(CurrentPage)); + } + } + } = Area.Void; + + public Page CurrentPage => CurrentArea switch + { + Area.GitHub => new GitHubPage(), + Area.NuGets => new NuGetsPage(), + Area.Samples => new SamplesPage(), + Area.Settings => new SettingsPage(), + _ => new VoidPage() + }; + + private readonly Frame _frame; + private readonly Dictionary _areaPageMap; + + public NavigationService(Frame frame) + { + _frame = frame; + + _areaPageMap = new() + { + { Area.GitHub, typeof(GitHubPage) }, + { Area.NuGets, typeof(NuGetsPage) }, + { Area.Samples, typeof(SamplesPage) }, + { Area.Settings, typeof(SettingsPage) }, + { Area.Void, typeof(VoidPage) }, + }; + + // INFO: @dahall - select a default page to navigate to on loading, to ensure the main content area is populated with a page, and to establish a consistent starting point for navigation + //NavigateTo(Area.Void); + //NavigateTo(Area.Settings); + } + + // // TODO: + // // public static void Navigate(Shell32.IShellFolder shellFolder) + // // { + // // TryNavigate(shellFolder); + // // } + // public bool TryNavigate(object target, bool allowPageCreation = true) + // { + // try + // { + // var pageType = target switch + // { + // "Assemblies" => typeof(AssembliesPage), + // "GitHub" => typeof(GitHubPage), + // "NuGets" => typeof(NuGetsPage), + // "Samples" => typeof(SamplesPage), + // "Settings" => typeof(SettingsPage), + // "Start" => typeof(StartPage), + // "Utilities" => typeof(UtilitiesPage), + // _ => null + // }; + // + // // Check if the page type is null and if page creation is allowed + // if (pageType == null && !allowPageCreation) + // { + // //LogWriter.PrintLine("Page type is null and page creation is not allowed."); + // return false; + // } + // + // // TODO: _frame.Navigate(pageType ?? new UtilitiesPage()); + // //return _frame.Navigate(pageType); + // return true; + // } + // catch (Exception ex) + // { + // Debug.Fail(ex.ToString()); + // throw; + // } + // } + + public static void NavigateBack() { } + + public static void Forward() { } + + public void NavigateTo(Area area) + { + if (_areaPageMap.TryGetValue(area, out var pageType)) + { + Debug.Print($"Navigating to `{area}` page."); + _frame.Navigate(pageType); + } + } + + //public void Navigate(Area area) { CurrentArea = area; } +} diff --git a/Vanara-Jnana/Services/TabNavigationService.cs b/Vanara-Jnana/Services/TabNavigationService.cs new file mode 100644 index 00000000..c48ad068 --- /dev/null +++ b/Vanara-Jnana/Services/TabNavigationService.cs @@ -0,0 +1,80 @@ +using ClassicSamplesBrowser.Views; +using Microsoft.UI.Xaml.Controls; +using System; +using System.Collections.ObjectModel; +//using System.Reflection.Metadata; +//using static ICSharpCode.Decompiler.SingleFileBundle; + +namespace Jnana.Services; + +public static class TabNavigationService +{ + private static TabView _tabView; + public static IList TabItems => _tabView.TabItems; + + public static void Initialize(TabView tabView) + { + _tabView = tabView; + } + public static void AddPageTab(string header, Type pageType, object? parameter = null, bool selectTab = true) + where T : Control + { + var tab = new TabViewItem + { + Header = header, + Content = Activator.CreateInstance(pageType, parameter) + }; + + _tabView.TabItems.Add(tab); + if (selectTab) + _tabView.SelectedItem = tab; + } + public static void AddGitHubPageTab(bool selectTab = true) + { + var tab = new TabViewItem + { + Header = "GitHub", + Content = new GitHubPage() + }; + + _tabView.TabItems.Add(tab); + if (selectTab) + _tabView.SelectedItem = tab; + } + public static void AddNuGetsPageTab(bool selectTab = true) + { + var tab = new TabViewItem + { + Header = "NuGets", + Content = new NuGetsPage() + }; + + _tabView.TabItems.Add(tab); + if (selectTab) + _tabView.SelectedItem = tab; + } + public static void AddSamplesPageTab(bool selectTab = true) + { + var tab = new TabViewItem + { + Header = "Samples", + Content = new SamplesPage() + }; + + _tabView.TabItems.Add(tab); + if (selectTab) + _tabView.SelectedItem = tab; + } + public static void AddSettingsPageTab(bool selectTab = true) + { + var tab = new TabViewItem + { + Header = "Settings", + Content = new SettingsPage() + }; + + _tabView.TabItems.Add(tab); + if (selectTab) + _tabView.SelectedItem = tab; + } +} diff --git a/Vanara-Jnana/Strings/de-DE/Resources.resw b/Vanara-Jnana/Strings/de-DE/Resources.resw new file mode 100644 index 00000000..b959f3e2 --- /dev/null +++ b/Vanara-Jnana/Strings/de-DE/Resources.resw @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Vanara-Jnana/Strings/en-US/Resources.resw b/Vanara-Jnana/Strings/en-US/Resources.resw new file mode 100644 index 00000000..b959f3e2 --- /dev/null +++ b/Vanara-Jnana/Strings/en-US/Resources.resw @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Vanara-Jnana/Styles/Default.cur b/Vanara-Jnana/Styles/Default.cur new file mode 100644 index 00000000..048f06b4 Binary files /dev/null and b/Vanara-Jnana/Styles/Default.cur differ diff --git a/Vanara-Jnana/Styles/Generic.xaml b/Vanara-Jnana/Styles/Generic.xaml new file mode 100644 index 00000000..21b1d41c --- /dev/null +++ b/Vanara-Jnana/Styles/Generic.xaml @@ -0,0 +1,20 @@ + + + + diff --git a/Vanara-Jnana/Styles/NavigationView/NavigationView.xaml b/Vanara-Jnana/Styles/NavigationView/NavigationView.xaml new file mode 100644 index 00000000..84a68b92 --- /dev/null +++ b/Vanara-Jnana/Styles/NavigationView/NavigationView.xaml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/Vanara-Jnana/Styles/NavigationView/NavigationViewItem.xaml b/Vanara-Jnana/Styles/NavigationView/NavigationViewItem.xaml new file mode 100644 index 00000000..84a68b92 --- /dev/null +++ b/Vanara-Jnana/Styles/NavigationView/NavigationViewItem.xaml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/Vanara-Jnana/Styles/NavigationView/NavigationViewItemPresenter.xaml b/Vanara-Jnana/Styles/NavigationView/NavigationViewItemPresenter.xaml new file mode 100644 index 00000000..84a68b92 --- /dev/null +++ b/Vanara-Jnana/Styles/NavigationView/NavigationViewItemPresenter.xaml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/Vanara-Jnana/Styles/NavigationView/NavigationViewItemSeparator.xaml b/Vanara-Jnana/Styles/NavigationView/NavigationViewItemSeparator.xaml new file mode 100644 index 00000000..84a68b92 --- /dev/null +++ b/Vanara-Jnana/Styles/NavigationView/NavigationViewItemSeparator.xaml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/WinUiClassicSamplesBrowser/WinUiClassicSamplesBrowser.sln.DotSettings b/Vanara-Jnana/Vanara-Jnana.sln.DotSettings similarity index 67% rename from WinUiClassicSamplesBrowser/WinUiClassicSamplesBrowser.sln.DotSettings rename to Vanara-Jnana/Vanara-Jnana.sln.DotSettings index 2083646c..8944a6ce 100644 --- a/WinUiClassicSamplesBrowser/WinUiClassicSamplesBrowser.sln.DotSettings +++ b/Vanara-Jnana/Vanara-Jnana.sln.DotSettings @@ -1,2 +1,4 @@  + True + True True \ No newline at end of file diff --git a/WinUiClassicSamplesBrowser/WinUiClassicSamplesBrowser.slnx b/Vanara-Jnana/Vanara-Jnana.slnx similarity index 78% rename from WinUiClassicSamplesBrowser/WinUiClassicSamplesBrowser.slnx rename to Vanara-Jnana/Vanara-Jnana.slnx index 8cb92cee..c774e921 100644 --- a/WinUiClassicSamplesBrowser/WinUiClassicSamplesBrowser.slnx +++ b/Vanara-Jnana/Vanara-Jnana.slnx @@ -4,8 +4,7 @@ - - + diff --git a/Vanara-Jnana/Vanara/Contracts/Shell32/INamespaceProvider.cs b/Vanara-Jnana/Vanara/Contracts/Shell32/INamespaceProvider.cs new file mode 100644 index 00000000..323d1405 --- /dev/null +++ b/Vanara-Jnana/Vanara/Contracts/Shell32/INamespaceProvider.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Jnana.Vanara.Contracts.Shell32; + +public interface INamespaceProvider +{ + string Scheme { get; } // "shell32", "https", "nuget", "github", "clipboard", "thought" + + bool CanHandle(NamespaceAddress address); + + Task ResolveAsync(NamespaceAddress address, CancellationToken ct = default); + + // Optional: child navigation (e.g. folder contents, issue comments, etc.) + Task> GetChildrenAsync(NamespaceNode node, CancellationToken ct = default); +} diff --git a/Vanara-Jnana/Vanara/Contracts/Shell32/INamespaceRouter.cs b/Vanara-Jnana/Vanara/Contracts/Shell32/INamespaceRouter.cs new file mode 100644 index 00000000..c0cffb8c --- /dev/null +++ b/Vanara-Jnana/Vanara/Contracts/Shell32/INamespaceRouter.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Jnana.Vanara.Contracts.Shell32; + +public interface INamespaceRouter +{ + void RegisterProvider(INamespaceProvider provider); + + INamespaceProvider? GetProvider(NamespaceAddress address); + + Task NavigateAsync(string input, CancellationToken ct = default); +} diff --git a/Vanara-Jnana/Vanara/Contracts/Shell32/NamespaceAddress.cs b/Vanara-Jnana/Vanara/Contracts/Shell32/NamespaceAddress.cs new file mode 100644 index 00000000..4316ca95 --- /dev/null +++ b/Vanara-Jnana/Vanara/Contracts/Shell32/NamespaceAddress.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Jnana.Vanara.Contracts.Shell32; + +public sealed class NamespaceAddress +{ + public string Scheme { get; } + public string? Host { get; } + public string? Path { get; } + public string? Fragment { get; } + public IReadOnlyDictionary Query { get; } + + public string Raw { get; } // original user input + + // TODO: Implement factory: Parse from string ("shell32://C:/Windows", "github:vanara#127", ...) + public static NamespaceAddress Parse(string input) + { + return default; // TODO: placeholder for actual parsing logic. As default, return Shell 32 Desktop namespace address. + } +} diff --git a/Vanara-Jnana/Vanara/Contracts/Shell32/NamespaceNode.cs b/Vanara-Jnana/Vanara/Contracts/Shell32/NamespaceNode.cs new file mode 100644 index 00000000..b9f5ca55 --- /dev/null +++ b/Vanara-Jnana/Vanara/Contracts/Shell32/NamespaceNode.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Jnana.Vanara.Contracts.Shell32; + +public sealed class NamespaceNode +{ + public NamespaceAddress Address { get; } + public string DisplayName { get; } + public string? Description { get; } + public string? IconKey { get; } // for glyphs / icons + public object? Payload { get; } // strongly-typed model (file info, issue, package, clipboard content, ...) + + // PropertyStore for providers to attach arbitrary data (e.g. for caching children) + public Dictionary Properties { get; } = new(); + + public NamespaceNode? Parent { get; } + + public NamespaceNode(NamespaceAddress address, string displayName, string? description = null, string? iconKey = null, object? payload = null, NamespaceNode? parent = null) + { + Address = address ?? throw new ArgumentNullException(nameof(address)); + DisplayName = displayName ?? throw new ArgumentNullException(nameof(displayName)); + Description = description; + IconKey = iconKey; + Payload = payload; + Parent = parent; + } +} diff --git a/Vanara-Jnana/Vanara/Contracts/Shell32/NamespaceRouter.cs b/Vanara-Jnana/Vanara/Contracts/Shell32/NamespaceRouter.cs new file mode 100644 index 00000000..04d701f9 --- /dev/null +++ b/Vanara-Jnana/Vanara/Contracts/Shell32/NamespaceRouter.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Jnana.Vanara.Contracts.Shell32; + +public sealed class NamespaceRouter : INamespaceRouter +{ + private readonly List _providers = new(); + + public void RegisterProvider(INamespaceProvider provider) + => _providers.Add(provider); + + public INamespaceProvider? GetProvider(NamespaceAddress address) + => _providers.FirstOrDefault(p => + string.Equals(p.Scheme, address.Scheme, StringComparison.OrdinalIgnoreCase) + && p.CanHandle(address)); + + public async Task NavigateAsync(string input, CancellationToken ct = default) + { + var address = NamespaceAddress.Parse(input); + var provider = GetProvider(address) + ?? throw new InvalidOperationException($"No provider for scheme '{address.Scheme}'."); + + return await provider.ResolveAsync(address, ct); + } +} diff --git a/Vanara-Jnana/Vanara/Contracts/Shell32/Providers/ClipboardProvider.cs b/Vanara-Jnana/Vanara/Contracts/Shell32/Providers/ClipboardProvider.cs new file mode 100644 index 00000000..7265939c --- /dev/null +++ b/Vanara-Jnana/Vanara/Contracts/Shell32/Providers/ClipboardProvider.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Jnana.Vanara.Contracts.Shell32.Providers; + +public sealed class ClipboardProvider : INamespaceProvider +{ + public string Scheme => "clipboard"; + + public bool CanHandle(NamespaceAddress address) => true; + + public Task> GetChildrenAsync(NamespaceNode node, CancellationToken ct = default) + { + Debug.Print("ClipboardProvider does not support children."); + return Task.FromResult>(Array.Empty()); + } + + public Task ResolveAsync(NamespaceAddress address, CancellationToken ct = default) + { + //// TODO: var content = ClipboardInspector.Read(address); // text/image/filelist + + var node = new NamespaceNode( + address, + displayName: "TODO: Clipboard Display Name", + description: "TODO: Clipboard Description", + iconKey: "TODO: Clipboard Icon", + payload: null); + + return Task.FromResult(node); + } +} diff --git a/Vanara-Jnana/Vanara/Contracts/Shell32/Providers/GitHubProvider.cs b/Vanara-Jnana/Vanara/Contracts/Shell32/Providers/GitHubProvider.cs new file mode 100644 index 00000000..049023bf --- /dev/null +++ b/Vanara-Jnana/Vanara/Contracts/Shell32/Providers/GitHubProvider.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Jnana.Vanara.Contracts.Shell32.Providers; + +public sealed class GitHubProvider : INamespaceProvider +{ + public string Scheme => "github"; + + public bool CanHandle(NamespaceAddress address) + => address.Raw.Contains('#'); // e.g. "github:vanara#127" + + public async Task ResolveAsync(NamespaceAddress address, CancellationToken ct = default) + { + // Parse "vanara#127" → repo + issue + // TODO: var (repo, number) = GitHubAddressParser.Parse(address); + // TODO: var issue = await GitHubApi.GetIssueAsync(repo, number, ct); + + // var node = new NamespaceNode( + // address, + // displayName: $"#{issue.Number} {issue.Title}", + // description: issue.State, + // iconKey: "Issue", + // payload: issue); + + var node = new NamespaceNode( + address, + displayName: $"TODO: {address.Raw}", + description: "TODO: GitHub Description", + iconKey: "TODO: GitHub Icon", + payload: null); + + return node; + } + + public Task> GetChildrenAsync(NamespaceNode node, CancellationToken ct = default) + { + // TODO: Implement + return Task.FromResult>(Array.Empty()); + } +} diff --git a/Vanara-Jnana/Vanara/Contracts/Shell32/Providers/NuGetProvider.cs b/Vanara-Jnana/Vanara/Contracts/Shell32/Providers/NuGetProvider.cs new file mode 100644 index 00000000..eb8acd33 --- /dev/null +++ b/Vanara-Jnana/Vanara/Contracts/Shell32/Providers/NuGetProvider.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Jnana.Vanara.Contracts.Shell32.Providers; + +public sealed class NuGetProvider : INamespaceProvider +{ + public string Scheme => "nuget"; + + public bool CanHandle(NamespaceAddress address) + => !string.IsNullOrEmpty(address.Path); + + public async Task ResolveAsync(NamespaceAddress address, CancellationToken ct = default) + { + // "nuget:Vanara.*" + // TODO: var query = address.Path!; + // TODO: var packages = await NuGetClient.SearchAsync(query, ct); + + //var node = new NamespaceNode( + // address, + // displayName: $"NuGet: {query}", + // description: $"{packages.Count} packages", + // iconKey: "NuGet", + // payload: packages); + + var node = new NamespaceNode( + address, + displayName: "TODO: NuGet Display Name", + description: "TODO: NuGet Description", + iconKey: "TODO: NuGet Icon", + payload: null); + + return node; + } + + public Task> GetChildrenAsync(NamespaceNode node, CancellationToken ct = default) + { + // TODO: Implement: each package as child node... + return Task.FromResult>(Array.Empty()); + } +} diff --git a/Vanara-Jnana/Vanara/Contracts/Shell32/Providers/SampleProvider.cs b/Vanara-Jnana/Vanara/Contracts/Shell32/Providers/SampleProvider.cs new file mode 100644 index 00000000..d90015dc --- /dev/null +++ b/Vanara-Jnana/Vanara/Contracts/Shell32/Providers/SampleProvider.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Jnana.Vanara.Contracts.Shell32.Providers; + +public sealed class SampleProvider : INamespaceProvider +{ + public string Scheme => "sample"; + + public bool CanHandle(NamespaceAddress address) => true; + + public Task> GetChildrenAsync(NamespaceNode node, CancellationToken ct = default) + { + Debug.Print("SampleProvider does not support children."); + return Task.FromResult>(Array.Empty()); + } + + public Task ResolveAsync(NamespaceAddress address, CancellationToken ct = default) + { + // TODO: var content = SampleInspector.Read(address); // text/image/filelist + + var node = new NamespaceNode( + address, + displayName: "TODO: Sample Display Name", + description: "TODO: Sample Description", + iconKey: "TODO: Sample Icon", + payload: null); + + return Task.FromResult(node); + } +} diff --git a/Vanara-Jnana/Vanara/Contracts/Shell32/Providers/Shell32Provider.cs b/Vanara-Jnana/Vanara/Contracts/Shell32/Providers/Shell32Provider.cs new file mode 100644 index 00000000..a9a89e73 --- /dev/null +++ b/Vanara-Jnana/Vanara/Contracts/Shell32/Providers/Shell32Provider.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Jnana.Vanara.Contracts.Shell32.Providers; + +public sealed class Shell32Provider : INamespaceProvider +{ + public string Scheme => "shell32"; + + public bool CanHandle(NamespaceAddress address) + => string.Equals(address.Scheme, Scheme, StringComparison.OrdinalIgnoreCase); + + public Task ResolveAsync(NamespaceAddress address, CancellationToken ct = default) + { + // address.Path -> "C:/Windows/Temp" + // Vanara Shell32 API → File/Folder model + // TODO: var model = ShellFileSystem.Resolve(address.Path!); + + var node = new NamespaceNode( + address, + displayName: "TODO: Shell32 Display Name", + description: "TODO: Shell32 Description", + iconKey: "TODO: Shell32 Icon", + payload: null); + + return Task.FromResult(node); + } + + public Task> GetChildrenAsync(NamespaceNode node, CancellationToken ct = default) + { + // enumerate directory, wrap each as NamespaceNode ... + return Task.FromResult>(Array.Empty()); + } +} diff --git a/Vanara-Jnana/Vanara/Contracts/Shell32/TravelLogEntry.cs b/Vanara-Jnana/Vanara/Contracts/Shell32/TravelLogEntry.cs new file mode 100644 index 00000000..318bfbc5 --- /dev/null +++ b/Vanara-Jnana/Vanara/Contracts/Shell32/TravelLogEntry.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Jnana.Vanara.Contracts.Shell32; + +public sealed class TravelLogEntry +{ + public NamespaceAddress Address { get; } + public string DisplayName { get; } + public DateTimeOffset Timestamp { get; } + public object? Snapshot { get; } // optional serialized payload +} diff --git a/Vanara-Jnana/Vanara/Controls/FeatureTile.xaml b/Vanara-Jnana/Vanara/Controls/FeatureTile.xaml new file mode 100644 index 00000000..4a7fcccd --- /dev/null +++ b/Vanara-Jnana/Vanara/Controls/FeatureTile.xaml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Vanara-Jnana/Vanara/Controls/FeatureTile.xaml.cs b/Vanara-Jnana/Vanara/Controls/FeatureTile.xaml.cs new file mode 100644 index 00000000..b458adea --- /dev/null +++ b/Vanara-Jnana/Vanara/Controls/FeatureTile.xaml.cs @@ -0,0 +1,90 @@ +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. + +namespace ClassicSamplesBrowser.Vanara.Controls; + +public sealed partial class FeatureTile : UserControl +{ + public FeatureTile() + { + InitializeComponent(); + SetupInteractions(); + + //this.Click += (_, __) => DebugSettings.; + } + + // Dependency Properties + public static readonly DependencyProperty TitleProperty = + DependencyProperty.Register(nameof(Title), typeof(string), typeof(FeatureTile), + new PropertyMetadata(string.Empty, (d, e) => + { + ((FeatureTile)d).TitleElement.Text = (string)e.NewValue; + })); + + public static readonly DependencyProperty SubtitleProperty = + DependencyProperty.Register(nameof(Subtitle), typeof(string), typeof(FeatureTile), + new PropertyMetadata(string.Empty, (d, e) => + { + ((FeatureTile)d).SubtitleElement.Text = (string)e.NewValue; + })); + + public static readonly DependencyProperty IconProperty = + DependencyProperty.Register(nameof(Icon), typeof(string), typeof(FeatureTile), + new PropertyMetadata(string.Empty, (d, e) => + { + ((FeatureTile)d).IconElement.Glyph = (string)e.NewValue; + })); + + public event EventHandler Click; + + public string Title + { + get => (string)GetValue(TitleProperty); + set => SetValue(TitleProperty, value); + } + + public string Subtitle + { + get => (string)GetValue(SubtitleProperty); + set => SetValue(SubtitleProperty, value); + } + + public string Icon + { + get => (string)GetValue(IconProperty); + set => SetValue(IconProperty, value); + } + + private void SetupInteractions() + { + Root.PointerEntered += (_, __) => + { + ScaleTransform.ScaleX = 1.03; + ScaleTransform.ScaleY = 1.03; + Root.Opacity = 0.95; + }; + + Root.PointerExited += (_, __) => + { + ScaleTransform.ScaleX = 1.0; + ScaleTransform.ScaleY = 1.0; + Root.Opacity = 1.0; + }; + + Root.PointerPressed += (_, __) => + { + ScaleTransform.ScaleX = 0.97; + ScaleTransform.ScaleY = 0.97; + }; + + Root.PointerReleased += (_, __) => + { + ScaleTransform.ScaleX = 1.03; + ScaleTransform.ScaleY = 1.03; + Click?.Invoke(this, EventArgs.Empty); + }; + } +} diff --git a/Vanara-Jnana/Vanara/Controls/FloatingStatusBar.xaml b/Vanara-Jnana/Vanara/Controls/FloatingStatusBar.xaml new file mode 100644 index 00000000..879389bc --- /dev/null +++ b/Vanara-Jnana/Vanara/Controls/FloatingStatusBar.xaml @@ -0,0 +1,30 @@ + + + 56 + + + + + + + + + + + + + diff --git a/Vanara-Jnana/Vanara/Controls/FloatingStatusBar.xaml.cs b/Vanara-Jnana/Vanara/Controls/FloatingStatusBar.xaml.cs new file mode 100644 index 00000000..14778d63 --- /dev/null +++ b/Vanara-Jnana/Vanara/Controls/FloatingStatusBar.xaml.cs @@ -0,0 +1,58 @@ +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml; +using System.ComponentModel; +using System.Runtime.CompilerServices; +using CommunityToolkit.Mvvm.ComponentModel; + +namespace ClassicSamplesBrowser.Vanara.Controls; + +public sealed partial class FloatingStatusBar : UserControl, + INotifyPropertyChanged +{ + private bool _autoHide = false; + + /// The timer used to hide the status bar automatically. + private readonly DispatcherTimer _hideTimer = new() { Interval = TimeSpan.FromSeconds(2) }; + + public event PropertyChangedEventHandler? PropertyChanged; + + public FloatingStatusBar() + { + InitializeComponent(); + _hideTimer.Tick += (s, e) => { if (_autoHide) Hide(); }; + Show("READY."); + + /* TODO: Sizer Glyphs: + Klassischer Resize‑Grip E7BF „GripperResize“ – diagonale Linien, wirkt wie der alte Win32‑Grip + Alternative minimal E7C0 „GripperBarHorizontal“ – drei Punkte, subtiler Look + Symbolisch E7C1 „GripperBarVertical“ – vertikale Punkte, wenn du rechts unten eine Spalte andeutest + */ + } + public void Show(string message, string icon = "\uE946") + { + MessageElement.Text = message; + //IconElement.Glyph = icon; + + ControlRoot.Opacity = 1; + ControlRoot.Translation = new System.Numerics.Vector3(0, 0, 0); + + _hideTimer.Stop(); + _hideTimer.Start(); + } + public void Hide() + { + ControlRoot.Opacity = 0; + ControlRoot.Translation = new System.Numerics.Vector3(0, 20, 0); + } + private void OnPropertyChanged([CallerMemberName] string? propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + private bool SetField(ref T field, T value, [CallerMemberName] string? propertyName = null) + { + if (EqualityComparer.Default.Equals(field, value)) return false; + field = value; + OnPropertyChanged(propertyName); + return true; + } +} diff --git a/WinUiClassicSamplesBrowser/Views/SettingsPage.xaml b/Vanara-Jnana/Vanara/Controls/Shell32AppBar.xaml similarity index 69% rename from WinUiClassicSamplesBrowser/Views/SettingsPage.xaml rename to Vanara-Jnana/Vanara/Controls/Shell32AppBar.xaml index 9694c7c9..fa5c66c4 100644 --- a/WinUiClassicSamplesBrowser/Views/SettingsPage.xaml +++ b/Vanara-Jnana/Vanara/Controls/Shell32AppBar.xaml @@ -1,9 +1,9 @@ - @@ -11,4 +11,4 @@ - + diff --git a/Vanara-Jnana/Vanara/Controls/Shell32AppBar.xaml.cs b/Vanara-Jnana/Vanara/Controls/Shell32AppBar.xaml.cs new file mode 100644 index 00000000..5b2f85d0 --- /dev/null +++ b/Vanara-Jnana/Vanara/Controls/Shell32AppBar.xaml.cs @@ -0,0 +1,14 @@ +using Microsoft.UI.Xaml.Controls; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. + +namespace ClassicSamplesBrowser.Vanara.Controls; + +public sealed partial class Shell32AppBar : UserControl +{ + public Shell32AppBar() + { + InitializeComponent(); + } +} diff --git a/Vanara-Jnana/Vanara/Controls/ShellNamespaceTreeView.xaml b/Vanara-Jnana/Vanara/Controls/ShellNamespaceTreeView.xaml new file mode 100644 index 00000000..0748145c --- /dev/null +++ b/Vanara-Jnana/Vanara/Controls/ShellNamespaceTreeView.xaml @@ -0,0 +1,32 @@ + + + + + + + + + + + + diff --git a/Vanara-Jnana/Vanara/Controls/ShellNamespaceTreeView.xaml.cs b/Vanara-Jnana/Vanara/Controls/ShellNamespaceTreeView.xaml.cs new file mode 100644 index 00000000..7b81ec67 --- /dev/null +++ b/Vanara-Jnana/Vanara/Controls/ShellNamespaceTreeView.xaml.cs @@ -0,0 +1,7 @@ +using Microsoft.UI.Xaml.Controls; + +namespace ClassicSamplesBrowser.Vanara.Controls; + +public sealed partial class ShellNamespaceTreeView : UserControl +{ +} diff --git a/Vanara-Jnana/Vanara/Controls/SidebarControl.xaml b/Vanara-Jnana/Vanara/Controls/SidebarControl.xaml new file mode 100644 index 00000000..13111e4c --- /dev/null +++ b/Vanara-Jnana/Vanara/Controls/SidebarControl.xaml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Vanara-Jnana/Vanara/Controls/SidebarControl.xaml.cs b/Vanara-Jnana/Vanara/Controls/SidebarControl.xaml.cs new file mode 100644 index 00000000..630ea1fb --- /dev/null +++ b/Vanara-Jnana/Vanara/Controls/SidebarControl.xaml.cs @@ -0,0 +1,90 @@ +using ClassicSamplesBrowser.Services; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Controls.Primitives; +using Microsoft.UI.Xaml.Media; +using Microsoft.UI.Xaml.Media.Animation; +using System.ComponentModel; +using System.Diagnostics; +using System.Runtime.CompilerServices; + +namespace ClassicSamplesBrowser.Vanara.Controls; + +public sealed partial class SidebarControl : UserControl +{ + public enum SidebarDockMode + { + Default, // Use the default docking behavior (Stick to Edge. Outer: Navigation. Inner: Content) + Left, + Right + } + public enum FloatMode + { + Default, // Use the default floating behavior, Use threshold to determine when to float (e.g., when the window is too narrow) + Always, + Never, + } + public SidebarDockMode ChildDockMode { get; set; } = SidebarDockMode.Default; + public FloatMode ChildFloatMode { get; set; } = FloatMode.Default; + + public SelectorItem[] Items = [new() { Label = "NuGets" }, new() { Label = "GitHub" }, new() { Label = "Samples" }, new() { Label = "Assemblies" }, new() { Label = "Utilities" }, new() { Label = "Settings" }]; + + public SidebarControl() + { + // TODO: Implement logic to determine docking and floating behavior based on ChildDockMode and ChildFloatMode properties. + // TODO: Ensure all Resources are properly defined and accessible. + InitializeComponent(); + Loaded += SidebarControl_Loaded; + } + private void SidebarControl_Loaded(object sender, RoutedEventArgs e) + { +// foreach (var child in SidebarPanel.Children) +// { +// if (child is ToggleButton btn) +// btn.Click += (s, e2) => NavigationService.TryNavigate(btn); +// } + } + + private void FeatureTile_OnClick(object? sender, EventArgs e) + { + Debug.Print("FeatureTile clicked"); + } + + private void VerticalSelector_SelectionChanged(object sender, SelectionChangedEventArgs e) + { + // TODO: Implement logic to move the indicator to the selected item. This is a placeholder for the actual animation logic. + if (VerticalSelector.ContainerFromItem(VerticalSelector.SelectedItem) is ListBoxItem item) + { +// var transform = new TranslateTransform(); +// IndicatorRoot.RenderTransform = transform; +// +// var targetY = item.TransformToVisual(VerticalSelector).TransformPoint(new Point(0, 0)).Y; +// +// var anim = new DoubleAnimation +// { +// To = targetY, +// Duration = TimeSpan.FromMilliseconds(200), +// EasingFunction = new CubicEase { EasingMode = EasingMode.EaseOut } +// }; +// +// transform.BeginAnimation(TranslateTransform.YProperty, anim); + } + } + +} + +public class SelectorItem : INotifyPropertyChanged +{ + public string Label { get; set; } + + private bool _isSelected; + public bool IsSelected + { + get => _isSelected; + set { _isSelected = value; OnPropertyChanged(); } + } + + public event PropertyChangedEventHandler PropertyChanged; + void OnPropertyChanged([CallerMemberName] string name = null) + => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); +} diff --git a/Vanara-Jnana/Vanara/NuGet/NuGetPackages.cs b/Vanara-Jnana/Vanara/NuGet/NuGetPackages.cs new file mode 100644 index 00000000..cf1b9fec --- /dev/null +++ b/Vanara-Jnana/Vanara/NuGet/NuGetPackages.cs @@ -0,0 +1,79 @@ +//using Microsoft.UI.Xaml.Controls; +//using NuGet.Common; +//using NuGet.Frameworks; +//using NuGet.Packaging.Core; +//using NuGet.Protocol.Core.Types; +//using System.Data; +//using System.IO; +//using System.Runtime.Versioning; +//using System.Threading.Tasks; +//using System.Windows.Forms; +//using static Vanara.PInvoke.Gdi32; +//[assembly: SupportedOSPlatform("windows")] +// +//namespace Sampler; +// +//public partial class NuGetPackages : Form +//{ +// const string framework = "net8.0"; +// private const string Prefix = "Vanara"; +// readonly List packages = []; +// static readonly ILogger logger = NullLogger.Instance; // TODO: Replace with actual logger if needed +// static readonly CancellationToken cancellationToken = CancellationToken.None; // TODO: Replace with actual cancellation token if needed +// +// public NuGetPackages() +// { +// InitializeComponent(); +// } +// +// private void NuGetPackages_Load(object sender, EventArgs e) +// { +// listBox1.Format += (s, args) => args.Value = args.ListItem is IPackageSearchMetadata r ? r.Title : args.ListItem?.ToString() ?? string.Empty; +// Task.Factory.StartNew(async () => +// { +// await foreach (var package in NuGetUtils.LoadNuGetPackageListAsync(Prefix, logger, cancellationToken)) +// if (package.Identity.Id.StartsWith(Prefix + '.', StringComparison.OrdinalIgnoreCase)) +// packages.Add(package); +// listBox1.Invoke(() => { listBox1.Items.Clear(); listBox1.DataSource = packages; }); +// }, cancellationToken); +// } +// +// protected override void OnFormClosing(FormClosingEventArgs e) +// { +// try { Directory.Delete(Path.Combine(Path.GetTempPath(), "NuGetDownloads"), true); } catch { } +// base.OnFormClosing(e); +// } +// +// private void listBox1_SelectedIndexChanged(object sender, EventArgs e) +// { +// listBox2.Items.Clear(); +// if (listBox1.SelectedItem is IPackageSearchMetadata metadata) +// Task.Factory.StartNew(() => +// { +// string[] items = NuGetUtils.LoadPackageVersionsAsync(metadata, logger, cancellationToken).Result; +// listBox2.Invoke(() => listBox2.Items.AddRange(items)); +// }, cancellationToken); +// } +// +// private void listBox2_SelectedIndexChanged(object sender, EventArgs e) +// { +// listBox3.Items.Clear(); +// if (listBox1.SelectedItem is IPackageSearchMetadata metadata && listBox2.SelectedItem is string ver) +// { +// listBox3.Items.Add("Getting dependencies..."); +// Task.Factory.StartNew(async () => +// { +// HashSet dependencies = []; +// await NuGetUtils.ResolveDependenciesAsync(metadata.Identity, NuGetFramework.Parse(framework), dependencies, null, logger, cancellationToken); +// listBox3.Invoke(() => listBox3.Items[0] = "Downloading packages..."); +// string downloadDir = Path.Combine(Path.GetTempPath(), "NuGetDownloads"); +// await NuGetUtils.DownloadPackagesAsync(dependencies.Select(dep => new PackageIdentity(dep.Id, dep.Version)).Where(id => id.Id.StartsWith(Prefix + '.', StringComparison.OrdinalIgnoreCase)), downloadDir, logger, cancellationToken); +// listBox3.Invoke(() => listBox3.Items[0] = "Extracting files..."); +// string extractDir = Path.Combine(downloadDir, "extracted"); +// await NuGetUtils.ExtractAssembliesFromPacakgesAsync(downloadDir, framework, extractDir, logger, cancellationToken); +// listBox3.Invoke(() => { listBox3.Items.Clear(); listBox3.Items.AddRange(Array.ConvertAll(Directory.GetFiles(extractDir), Path.GetFileName)!); }); +// }, cancellationToken); +// } +// } +//} +// \ No newline at end of file diff --git a/Vanara-Jnana/Vanara/NuGet/NuGetUtils.cs b/Vanara-Jnana/Vanara/NuGet/NuGetUtils.cs new file mode 100644 index 00000000..f2785e18 --- /dev/null +++ b/Vanara-Jnana/Vanara/NuGet/NuGetUtils.cs @@ -0,0 +1,182 @@ +//using Microsoft.UI.Xaml.Controls; +//using NuGet.Common; +//using NuGet.Frameworks; +//using NuGet.Packaging.Core; +//using NuGet.Protocol.Core.Types; +//using System.Data; +//using System.IO; +//using System.Runtime.Versioning; +//using System.Threading.Tasks; +//using System.Windows.Forms; +//using static Vanara.PInvoke.Gdi32; +//[assembly: SupportedOSPlatform("windows")] +// +//namespace Sampler; +// +//public partial class NuGetPackages : Form +//{ +// const string framework = "net8.0"; +// private const string Prefix = "Vanara"; +// readonly List packages = []; +// static readonly ILogger logger = NullLogger.Instance; // TODO: Replace with actual logger if needed +// static readonly CancellationToken cancellationToken = CancellationToken.None; // TODO: Replace with actual cancellation token if needed +// +// public NuGetPackages() +// { +// InitializeComponent(); +// } +// +// private void NuGetPackages_Load(object sender, EventArgs e) +// { +// listBox1.Format += (s, args) => args.Value = args.ListItem is IPackageSearchMetadata r ? r.Title : args.ListItem?.ToString() ?? string.Empty; +// Task.Factory.StartNew(async () => +// { +// await foreach (var package in NuGetUtils.LoadNuGetPackageListAsync(Prefix, logger, cancellationToken)) +// if (package.Identity.Id.StartsWith(Prefix + '.', StringComparison.OrdinalIgnoreCase)) +// packages.Add(package); +// listBox1.Invoke(() => { listBox1.Items.Clear(); listBox1.DataSource = packages; }); +// }, cancellationToken); +// } +// +// protected override void OnFormClosing(FormClosingEventArgs e) +// { +// try { Directory.Delete(Path.Combine(Path.GetTempPath(), "NuGetDownloads"), true); } catch { } +// base.OnFormClosing(e); +// } +// +// private void listBox1_SelectedIndexChanged(object sender, EventArgs e) +// { +// listBox2.Items.Clear(); +// if (listBox1.SelectedItem is IPackageSearchMetadata metadata) +// Task.Factory.StartNew(() => +// { +// string[] items = NuGetUtils.LoadPackageVersionsAsync(metadata, logger, cancellationToken).Result; +// listBox2.Invoke(() => listBox2.Items.AddRange(items)); +// }, cancellationToken); +// } +// +// private void listBox2_SelectedIndexChanged(object sender, EventArgs e) +// { +// listBox3.Items.Clear(); +// if (listBox1.SelectedItem is IPackageSearchMetadata metadata && listBox2.SelectedItem is string ver) +// { +// listBox3.Items.Add("Getting dependencies..."); +// Task.Factory.StartNew(async () => +// { +// HashSet dependencies = []; +// await NuGetUtils.ResolveDependenciesAsync(metadata.Identity, NuGetFramework.Parse(framework), dependencies, null, logger, cancellationToken); +// listBox3.Invoke(() => listBox3.Items[0] = "Downloading packages..."); +// string downloadDir = Path.Combine(Path.GetTempPath(), "NuGetDownloads"); +// await NuGetUtils.DownloadPackagesAsync(dependencies.Select(dep => new PackageIdentity(dep.Id, dep.Version)).Where(id => id.Id.StartsWith(Prefix + '.', StringComparison.OrdinalIgnoreCase)), downloadDir, logger, cancellationToken); +// listBox3.Invoke(() => listBox3.Items[0] = "Extracting files..."); +// string extractDir = Path.Combine(downloadDir, "extracted"); +// await NuGetUtils.ExtractAssembliesFromPacakgesAsync(downloadDir, framework, extractDir, logger, cancellationToken); +// listBox3.Invoke(() => { listBox3.Items.Clear(); listBox3.Items.AddRange(Array.ConvertAll(Directory.GetFiles(extractDir), Path.GetFileName)!); }); +// }, cancellationToken); +// } +// } +//} +using System.Runtime.CompilerServices; +using NuGet.Common; +using NuGet.Frameworks; +using NuGet.Packaging; +using NuGet.Packaging.Core; +using NuGet.Protocol; +using NuGet.Protocol.Core.Types; +using PackageDependency = NuGet.Packaging.Core.PackageDependency; + +namespace Jnana.Vanara.NuGet; + +internal static class NuGetUtils +{ + private static readonly SourceCacheContext cacheContext = new(); + private static readonly SourceRepository repository = Repository.Factory.GetCoreV3("https://api.nuget.org/v3/index.json"); + + public static async Task DownloadPackagesAsync(IEnumerable packageIds, string downloadDirectory, ILogger? logger, CancellationToken cancellationToken) + { + foreach (PackageIdentity packageIdentity in packageIds) + { + logger?.LogInformation($"Downloading package: {packageIdentity}"); + DownloadResource downloadResource = await repository.GetResourceAsync(cancellationToken); + DownloadResourceResult result = await downloadResource.GetDownloadResourceResultAsync(packageIdentity, new PackageDownloadContext(new SourceCacheContext()), downloadDirectory, logger, cancellationToken); + if (result.Status == DownloadResourceResultStatus.Available) + { + // Save the .nupkg file to the download directory + string destinationPath = Path.Combine(downloadDirectory, $"{packageIdentity.Id}.{packageIdentity.Version}.nupkg"); + using FileStream fileStream = File.Create(destinationPath); + await result.PackageStream.CopyToAsync(fileStream, cancellationToken); + fileStream.Close(); + } + } + } + + public static async Task ExtractAssembliesFromPacakgesAsync(string packagesDirectory, string dotnetVersion, string extractionDirectory, ILogger? logger, CancellationToken cancellationToken) + { + var targetFramework = NuGetFramework.Parse(dotnetVersion); + IFrameworkNameProvider frameworkNameProvider = DefaultFrameworkNameProvider.Instance; + var reducer = new FrameworkReducer(frameworkNameProvider, DefaultCompatibilityProvider.Instance); + Directory.CreateDirectory(extractionDirectory); + foreach (var packageFile in Directory.EnumerateFiles(packagesDirectory, "*.nupkg")) + { + logger?.LogInformation($"Processing package: {packageFile}"); + using var packageReader = new PackageArchiveReader(packageFile); + IEnumerable libItems = await packageReader.GetLibItemsAsync(cancellationToken); + NuGetFramework? bestMatch = reducer.GetNearest(targetFramework, libItems.Select(x => x.TargetFramework)); + foreach (var assemblyPath in libItems.FirstOrDefault(i => i.TargetFramework.Equals(bestMatch))?.Items.Where(i => i.EndsWith(".dll", StringComparison.OrdinalIgnoreCase) || i.EndsWith(".nuspec", StringComparison.OrdinalIgnoreCase)) ?? []) + { + logger?.LogInformation($"Extracting assembly: {assemblyPath} from package: {packageFile}"); + using Stream assemblyStream = packageReader.GetStream(assemblyPath); + using FileStream fileStream = File.Create(Path.Combine(extractionDirectory, Path.GetFileName(assemblyPath))); + await assemblyStream.CopyToAsync(fileStream, cancellationToken); + } + } + } + + public static async IAsyncEnumerable LoadNuGetPackageListAsync(string prefix, ILogger? logger, [EnumeratorCancellation] CancellationToken cancellationToken) + { + // Get the search resource from the repository + PackageSearchResource searchResource = await repository.GetResourceAsync(cancellationToken); + + // Set search filters (e.g., include pre-release versions) + SearchFilter searchFilter = new(false, SearchFilterType.IsLatestVersion); + + // Execute the search (take the top 10 results) + int skip = 0; + const int maxTake = 150, chunkSize = 30; + while (skip < maxTake) + { + bool found = false; + foreach (IPackageSearchMetadata? m in await searchResource.SearchAsync(prefix, searchFilter, skip: skip, take: chunkSize, logger, cancellationToken)) + { + found = true; + yield return m; + } + if (!found) + break; + skip += chunkSize; + } + } + + public static async Task LoadPackageVersionsAsync(IPackageSearchMetadata metadata, ILogger? logger, CancellationToken cancellationToken) => + [.. metadata.GetVersionsAsync().Result.OrderByDescending(v => v.Version).Select(v => v.Version.ToString()!)]; + + public static async Task ResolveDependenciesAsync(PackageIdentity package, NuGetFramework framework, HashSet allPackages, DependencyInfoResource? depResource, ILogger? logger, CancellationToken cancellationToken) + { + if (allPackages.Contains(package)) return; + + depResource ??= await repository.GetResourceAsync(cancellationToken); + SourcePackageDependencyInfo dependencyInfo = await depResource.ResolvePackage(package, framework, cacheContext, logger, cancellationToken); + if (cancellationToken.IsCancellationRequested) return; + if (dependencyInfo != null) + { + allPackages.Add(dependencyInfo); + foreach (PackageDependency dependency in dependencyInfo.Dependencies) + { + if (cancellationToken.IsCancellationRequested) return; + logger?.LogInformation($"Resolving dependency: {dependency.Id} {dependency.VersionRange}"); + var depIdentity = new PackageIdentity(dependency.Id, dependency.VersionRange.MinVersion); + await ResolveDependenciesAsync(depIdentity, framework, allPackages, depResource, logger, cancellationToken); + } + } + } +} \ No newline at end of file diff --git a/Vanara-Jnana/Vanara/Reflection/AssemblyElements.cs b/Vanara-Jnana/Vanara/Reflection/AssemblyElements.cs new file mode 100644 index 00000000..e98577e3 --- /dev/null +++ b/Vanara-Jnana/Vanara/Reflection/AssemblyElements.cs @@ -0,0 +1,173 @@ +namespace Jnana.Vanara.Reflection; + +public enum ElementType +{ + Assembly = 1, + Class, + Delegate, + Enum, + Field, + Interface, + Method, + Namespace, + Property, + Struct, +} + +internal interface IAsyncRefresh +{ + System.Threading.Tasks.Task RefreshAsync(CancellationToken cancellationToken, IProgress? progress); +} + +internal interface IElementInfo +{ + public IEnumerable Children => []; + public ElementType ElementType { get; } + public string? ImageUrl => null; + public string Name { get; } +} + +internal class AssemblyInfo(System.Reflection.Assembly assembly) : IElementInfo, + IAsyncRefresh +{ + private readonly System.Reflection.Assembly assembly = assembly; + private readonly List namespaces = []; + public IEnumerable Children => namespaces; + public ElementType ElementType => ElementType.Assembly; + public string Name => assembly.GetName().Name ?? throw new InvalidOperationException("Assembly name cannot be null."); + + public async System.Threading.Tasks.Task RefreshAsync(CancellationToken cancellationToken, IProgress? progress) => await RefreshAsync( + () => assembly.GetExportedTypes(), + async (types, getChunk, progress) => + { + // Fill namespaces list with the namespaces found in the assembly showing progress starting at getChuck and ending at 100. + int totalTypes = types?.Length ?? 0; + HashSet seenNamespaces = []; + for (int i = 0; i < totalTypes; i++) + { + cancellationToken.ThrowIfCancellationRequested(); + var type = types![i]; + var ns = type.Namespace ?? string.Empty; + if (seenNamespaces.Add(ns)) + namespaces.Add(new NamespaceInfo(ns, assembly)); + progress?.Report(getChunk + ((i + 1) * (100 - getChunk) / totalTypes)); + } + }, + progress: progress, + cancellationToken: cancellationToken); + + internal static async System.Threading.Tasks.Task RefreshAsync(Func? blockingMethod, Action?> asyncProcessor, + int getChunk = 30, int fakeProgressDelay = 500, IProgress? progress = null, CancellationToken cancellationToken = default) + { + int percent = 0; + progress?.Report(percent); + T? result = default; + if (blockingMethod is not null) + { + using (Timer timer = new(_ => { if (percent < getChunk) progress?.Report(percent += 5); }, null, 0, fakeProgressDelay)) + result = await System.Threading.Tasks.Task.Run(blockingMethod, cancellationToken); + progress?.Report(getChunk); + } + else + getChunk = 0; + + // Call asyncProcessor with the result of blockingMethod, if asyncProcessor is not null. + await System.Threading.Tasks.Task.Run(() => asyncProcessor(result, getChunk, progress), cancellationToken); + progress?.Report(100); + } +} + +internal class ClassInfo(Type type) : TypeInfo(type) +{ + public override ElementType ElementType => ElementType.Class; + public override string? ImageUrl => "class.png"; +} + +internal class DelegateInfo(Type type) : TypeInfo(type) +{ + public override ElementType ElementType => ElementType.Delegate; + public override string? ImageUrl => "delegate.png"; +} + +internal class EnumInfo(Type type) : TypeInfo(type) +{ + public override ElementType ElementType => ElementType.Enum; + public override string? ImageUrl => "enum.png"; +} + +internal class FieldInfo(System.Reflection.FieldInfo field) : IElementInfo +{ + public ElementType ElementType => ElementType.Field; + public System.Reflection.FieldInfo Field => @field; + public string Name => @field.Name; +} + +internal class InterfaceInfo(Type type) : TypeInfo(type) +{ + public override ElementType ElementType => ElementType.Interface; + public override string? ImageUrl => "interface.png"; +} + +internal class MethodInfo(System.Reflection.MethodInfo method) : IElementInfo +{ + public ElementType ElementType => ElementType.Method; + public System.Reflection.MethodInfo Method => method; + public string Name => method.Name; +} + +internal class NamespaceInfo(string name, System.Reflection.Assembly assembly) : IElementInfo +{ + //private readonly System.Reflection.Assembly assembly = assembly; + private readonly Lazy> types = new(() => [.. assembly.GetExportedTypes().Where(t => t.Namespace == name).Select(TypeInfo.MakeType)]); + + public IEnumerable Children => types.Value; + public ElementType ElementType => ElementType.Namespace; + public string Name => name; +} + +internal class StructInfo(Type type) : TypeInfo(type) +{ + public override ElementType ElementType => ElementType.Struct; + public override string? ImageUrl => "struct.png"; +} + +internal abstract class TypeInfo(Type type) : IElementInfo +{ + private readonly Lazy> delegates = new(() => [.. type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance).Where(t => typeof(Delegate).IsAssignableFrom(t.FieldType)).Select(t => new DelegateInfo(t.FieldType))]); + private readonly Lazy> fields = new(() => [.. type.GetFields(System.Reflection.BindingFlags.Public).Select(f => new FieldInfo(f))]); + private readonly Lazy> methods = new(() => [.. type.GetMethods(System.Reflection.BindingFlags.Public).Select(m => new MethodInfo(m))]); + private readonly Lazy> properties = new(() => [.. type.GetProperties(System.Reflection.BindingFlags.Public).Select(p => new PropertyInfo(p))]); + private readonly Lazy> staticMethods = new(() => [.. type.GetMethods(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static).Select(m => new MethodInfo(m))]); + private readonly Lazy> types = new(() => [.. type.GetNestedTypes(System.Reflection.BindingFlags.Public).Select(MakeType)]); + + public virtual IEnumerable Children => types.Value; + public abstract ElementType ElementType { get; } + public abstract string? ImageUrl { get; } + public virtual string Name => type.Name; + public Type Type => type; + protected virtual IEnumerable Delegates => delegates.Value; + protected virtual IEnumerable Fields => fields.Value; + protected virtual IEnumerable Methods => methods.Value; + protected virtual IEnumerable Properties => properties.Value; + protected virtual IEnumerable StaticMethods => staticMethods.Value; + + internal static TypeInfo MakeType(Type type) + { + if (type.IsInterface) + return new InterfaceInfo(type); + else if (typeof(Delegate).IsAssignableFrom(type)) + return new DelegateInfo(type); + else if (type.IsClass) + return new ClassInfo(type); + else if (type.IsEnum) + return new EnumInfo(type); + else return type.IsValueType ? (TypeInfo)new StructInfo(type) : throw new NotSupportedException($"Type {type.FullName} is not supported."); + } +} + +internal class PropertyInfo(System.Reflection.PropertyInfo property) : IElementInfo +{ + public ElementType ElementType => ElementType.Property; + public string Name => property.Name; + public System.Reflection.PropertyInfo Property => property; +} diff --git a/Vanara-Jnana/Vanara/Services/AssemblyLoaderService.cs b/Vanara-Jnana/Vanara/Services/AssemblyLoaderService.cs new file mode 100644 index 00000000..1ba3edd0 --- /dev/null +++ b/Vanara-Jnana/Vanara/Services/AssemblyLoaderService.cs @@ -0,0 +1,26 @@ +using Jnana.Vanara.Reflection; + +namespace Jnana.Vanara.Services; + +internal class AssemblyLoaderService +{ + public async Task LoadVanaraAssemblyTreeAsync() + { + // Get Vanara packages from NuGet +// var packages = await NuGetUtils.GetVanaraPackagesAsync(); +// +// // Select the latest version (simple for now) +// var latest = packages.OrderByDescending(p => p.Version).FirstOrDefault(); +// if (latest == null) +// return null; +// +// // Download package and extract DLLs +// var dllPaths = await NuGetUtils.DownloadAndExtractAssembliesAsync(latest); +// +// // Create reflection tree +// var root = AssemblyElements.CreateFromAssemblies(dllPaths); +// +// return root; + return null; + } +} diff --git a/Vanara-Jnana/Vanara/Services/NavigationService.cs b/Vanara-Jnana/Vanara/Services/NavigationService.cs new file mode 100644 index 00000000..ee71edbc --- /dev/null +++ b/Vanara-Jnana/Vanara/Services/NavigationService.cs @@ -0,0 +1,94 @@ +using Microsoft.UI.Xaml.Controls; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ClassicSamplesBrowser.Views; + +namespace Jnana.Vanara.Services; + + +public static class NavigationService +{ + // The Frame control used for navigation + private static Frame _frame; + + public static void Initialize(Frame frame) + { + _frame = frame; + } + + public static List NavigationHistory { get; } = []; + + // TODO: Events: Navigated, Navigating, NavigationFailed, NavigationStopped + + public static bool CanGoBack => _frame.CanGoBack; + public static bool CanGoForward => _frame.CanGoForward; + + + public static void NavigateToStart() + => Navigate(typeof(StartPage)); + + public static void NavigateToSamples() + => Navigate(typeof(SamplesPage)); + + public static void Navigate(Type pageType, object parameter = null) + { + try + { + _frame.Navigate(pageType, parameter); + } + catch (Exception ex) + { + Debug.Fail(ex.ToString()); + throw; + } + } + + public static void GoBack() + { + if(CanGoBack) + { + _frame.GoBack(); + } + } + + public static void GoForward() + { + if(CanGoForward) + { + _frame.GoForward(); + } + } + + //// object = null; => Home! + //public bool Navigate(object navigationTarget, object? parameter = null, bool writeHistory = true) + //{ + // try + // { + // if (navigationTarget != null) + // { + // return parameter != null ? + // Frame.Navigate(navigationTarget.GetType(), parameter) + // : Frame.Navigate(navigationTarget.GetType()); + // } + + // // TODO: search the web + // } + // catch (Exception ex) + // { + // // Handle navigation exceptions as needed. + // Debug.WriteLine($"Navigation error: {ex.Message}"); + // return false; + // } + + // if (writeHistory) + // { + // // Navigate to the target page and add it to the navigation history + // } + + // return true; + //} +} diff --git a/Vanara-Jnana/Vanara/Shell/ShellFileItem.cs b/Vanara-Jnana/Vanara/Shell/ShellFileItem.cs new file mode 100644 index 00000000..93ce2038 --- /dev/null +++ b/Vanara-Jnana/Vanara/Shell/ShellFileItem.cs @@ -0,0 +1,5 @@ +namespace Jnana.Vanara.Shell; + +internal class ShellFileItem +{ +} \ No newline at end of file diff --git a/Vanara-Jnana/Vanara/Shell/ShellFolder.cs b/Vanara-Jnana/Vanara/Shell/ShellFolder.cs new file mode 100644 index 00000000..3a8af6f6 --- /dev/null +++ b/Vanara-Jnana/Vanara/Shell/ShellFolder.cs @@ -0,0 +1,5 @@ +namespace Jnana.Vanara.Shell; + +internal class ShellFolder +{ +} \ No newline at end of file diff --git a/Vanara-Jnana/Vanara/Shell/ShellFolderItem.cs b/Vanara-Jnana/Vanara/Shell/ShellFolderItem.cs new file mode 100644 index 00000000..098b3aaa --- /dev/null +++ b/Vanara-Jnana/Vanara/Shell/ShellFolderItem.cs @@ -0,0 +1,5 @@ +namespace Jnana.Vanara.Shell; + +internal class ShellFolderItem +{ +} \ No newline at end of file diff --git a/Vanara-Jnana/Vanara/Shell/ShellLinkItem.cs b/Vanara-Jnana/Vanara/Shell/ShellLinkItem.cs new file mode 100644 index 00000000..7da5a3bf --- /dev/null +++ b/Vanara-Jnana/Vanara/Shell/ShellLinkItem.cs @@ -0,0 +1,5 @@ +namespace Jnana.Vanara.Shell; + +internal class ShellLinkItem +{ +} \ No newline at end of file diff --git a/Vanara-Jnana/Vanara/Styles/NavButtonStyle.xaml b/Vanara-Jnana/Vanara/Styles/NavButtonStyle.xaml new file mode 100644 index 00000000..3d3a2bd7 --- /dev/null +++ b/Vanara-Jnana/Vanara/Styles/NavButtonStyle.xaml @@ -0,0 +1,55 @@ + + + + diff --git a/Vanara-Jnana/Vanara/Styles/SidebarControl.xaml b/Vanara-Jnana/Vanara/Styles/SidebarControl.xaml new file mode 100644 index 00000000..72f6c09c --- /dev/null +++ b/Vanara-Jnana/Vanara/Styles/SidebarControl.xaml @@ -0,0 +1,41 @@ + + + + diff --git a/Vanara-Jnana/ViewModels/GitHubAreaViewModel.cs b/Vanara-Jnana/ViewModels/GitHubAreaViewModel.cs new file mode 100644 index 00000000..98629cc4 --- /dev/null +++ b/Vanara-Jnana/ViewModels/GitHubAreaViewModel.cs @@ -0,0 +1,11 @@ +using Jnana.Vanara.Reflection; +using CommunityToolkit.Mvvm.ComponentModel; +using CommunityToolkit.Mvvm.Input; +using Jnana.Vanara.NuGet; +using System.Collections.ObjectModel; + +namespace Jnana.ViewModels; + +public partial class GitHubAreaViewModel : ObservableObject +{ +} diff --git a/Vanara-Jnana/ViewModels/NuGetsAreaViewModel.cs b/Vanara-Jnana/ViewModels/NuGetsAreaViewModel.cs new file mode 100644 index 00000000..c6a16d00 --- /dev/null +++ b/Vanara-Jnana/ViewModels/NuGetsAreaViewModel.cs @@ -0,0 +1,138 @@ +using Jnana.Vanara.Reflection; +using CommunityToolkit.Mvvm.ComponentModel; +using CommunityToolkit.Mvvm.Input; +using Jnana.Vanara.NuGet; +using System.Collections.ObjectModel; +using System.Windows.Input; + +namespace Jnana.ViewModels; + +public partial class NuGetsAreaViewModel : ObservableObject +{ + // TODO: Use `NuGetPackageInfo` here: + public ObservableCollection Packages { get; } = + new ObservableCollection(); + + public ICommand RefreshCommand { get; } + + public NuGetsAreaViewModel() + { + RefreshCommand = new RelayCommand(LoadPackages); + } + + private void LoadPackages() + { + // TODO: API call + } + + // private readonly AssemblyLoaderService _loader; + // + // public NuGetViewModel(AssemblyLoaderService loader) + // { + // _loader = loader; + // + // Packages = new ObservableCollection(); + // Versions = new ObservableCollection(); + // } + // + // // ----------------------------- + // // Collections + // // ----------------------------- + // public ObservableCollection Packages { get; } + // public ObservableCollection Versions { get; } + // + // // ----------------------------- + // // Selected Items + // // ----------------------------- + // [ObservableProperty] + // private NuGetPackageInfo? selectedPackage; + // + // partial void OnSelectedPackageChanged(NuGetPackageInfo? value) + // { + // if (value != null) + // LoadVersionsCommand.Execute(value); + // } + // + // [ObservableProperty] + // private string? selectedVersion; + // + // partial void OnSelectedVersionChanged(string? value) + // { + // if (value != null) + // LoadAssemblyTreeCommand.Execute(value); + // } + // + // // ----------------------------- + // // Reflection Root + // // ----------------------------- + // [ObservableProperty] + // private IElementInfo? rootElement; + // + // // ----------------------------- + // // Loading Flags + // // ----------------------------- + // [ObservableProperty] private bool isLoadingPackages; + // [ObservableProperty] private bool isLoadingVersions; + // [ObservableProperty] private bool isLoadingAssemblies; + // + // // ----------------------------- + // // Commands + // // ----------------------------- + // [RelayCommand] + // private async Task LoadPackagesAsync() + // { + // try + // { + // IsLoadingPackages = true; + // Packages.Clear(); + // + // var pkgs = await _nuget.GetVanaraPackagesAsync(); + // + // foreach (var pkg in pkgs) + // Packages.Add(pkg); + // } + // finally + // { + // IsLoadingPackages = false; + // } + // } + // + // [RelayCommand] + // private async Task LoadVersionsAsync(NuGetPackageInfo package) + // { + // try + // { + // IsLoadingVersions = true; + // Versions.Clear(); + // + // var versions = await _nuget.GetPackageVersionsAsync(package.Id); + // + // foreach (var v in versions) + // Versions.Add(v); + // } + // finally + // { + // IsLoadingVersions = false; + // } + // } + // + // [RelayCommand] + // private async Task LoadAssemblyTreeAsync(string version) + // { + // try + // { + // IsLoadingAssemblies = true; + // + // var assemblies = await _nuget.DownloadAndExtractAssembliesAsync( + // SelectedPackage!.Id, + // version + // ); + // + // RootElement = await _loader.LoadFromAssembliesAsync(assemblies); + // } + // finally + // { + // IsLoadingAssemblies = false; + // } + // } +} diff --git a/Vanara-Jnana/ViewModels/SamplesAreaViewModel.cs b/Vanara-Jnana/ViewModels/SamplesAreaViewModel.cs new file mode 100644 index 00000000..3872cbdc --- /dev/null +++ b/Vanara-Jnana/ViewModels/SamplesAreaViewModel.cs @@ -0,0 +1,5 @@ +namespace Jnana.ViewModels; + +public class SamplesAreaViewModel +{ +} \ No newline at end of file diff --git a/Vanara-Jnana/ViewModels/SettingsAreaViewModel.cs b/Vanara-Jnana/ViewModels/SettingsAreaViewModel.cs new file mode 100644 index 00000000..53f17d07 --- /dev/null +++ b/Vanara-Jnana/ViewModels/SettingsAreaViewModel.cs @@ -0,0 +1,5 @@ +namespace Jnana.ViewModels; + +internal class SettingsAreaViewModel +{ +} diff --git a/Vanara-Jnana/ViewModels/VoidPageViewModel.cs b/Vanara-Jnana/ViewModels/VoidPageViewModel.cs new file mode 100644 index 00000000..83af207e --- /dev/null +++ b/Vanara-Jnana/ViewModels/VoidPageViewModel.cs @@ -0,0 +1,74 @@ +using CommunityToolkit.Mvvm.ComponentModel; +using CommunityToolkit.Mvvm.Input; +using Microsoft.UI.Xaml.Controls; // INFO: `ContentPresenter` here +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Input; + +namespace Jnana.ViewModels; + +public partial class VoidPageViewModel : ObservableObject +{ + public NuGetsAreaViewModel NuGetArea { get; } + public GitHubAreaViewModel GitHubArea { get; } + public SamplesAreaViewModel SamplesArea { get; } + + public List NugetItems => ["NuGet", "GitHub", "Samples"]; + + private object _currentArea; + public object CurrentArea + { + get => _currentArea; + set => SetProperty(ref _currentArea, value); + } + + public ICommand NavigateCommand { get; } + + public VoidPageViewModel( + NuGetsAreaViewModel nuget, + GitHubAreaViewModel github, + SamplesAreaViewModel samples) + { + NuGetArea = nuget; + GitHubArea = github; + SamplesArea = samples; + + CurrentArea = NuGetArea; + + NavigateCommand = new RelayCommand(OnNavigate); + } + + private void OnNavigate(string target) + { + CurrentArea = target switch + { + "NuGet" => NuGetArea, + "GitHub" => GitHubArea, + "Samples" => SamplesArea, + _ => CurrentArea + }; + } + + /// + /// the following properties are just placeholders for the actual content of each area. In a real application, these would likely be more complex types representing the data and functionality of each area. + /// +// public List NugetItems { get; set; } +// public List GitHubItems { get; set; } +// public List SamplesItems { get; set; } +} + +// internal class VoidPageViewModel { +// public List NugetItems { get; set; } +// public List GitHubItems { get; set; } +// public List SamplesItems { get; set; } +// public VoidPageViewModel() +// { NugetItems = new List(); +// GitHubItems = new List(); +// SamplesItems = new List(); +// +// NugetItems.AddRange(new String[] { "Vanara.Core", "Vanara.PInvoke", "Vanara.Windows", "etc." }); +// GitHubItems.AddRange(new String[] { "Home", "Releases", "Issues", "Pull Requests" }); +// SamplesItems.AddRange(new String[] { "Item 1", "Item 2", "Item 3", "etc." }); } } diff --git a/Vanara-Jnana/Views/DisassemblerPage.xaml b/Vanara-Jnana/Views/DisassemblerPage.xaml new file mode 100644 index 00000000..6276dad8 --- /dev/null +++ b/Vanara-Jnana/Views/DisassemblerPage.xaml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + diff --git a/Vanara-Jnana/Views/DisassemblerPage.xaml.cs b/Vanara-Jnana/Views/DisassemblerPage.xaml.cs new file mode 100644 index 00000000..66fd478d --- /dev/null +++ b/Vanara-Jnana/Views/DisassemblerPage.xaml.cs @@ -0,0 +1,24 @@ +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Controls.Primitives; +using Microsoft.UI.Xaml.Data; +using Microsoft.UI.Xaml.Input; +using Microsoft.UI.Xaml.Media; +using Microsoft.UI.Xaml.Navigation; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.Foundation; +using Windows.Foundation.Collections; + +namespace Jnana.Views; + +public sealed partial class DisassemblerPage : Page +{ + public DisassemblerPage() + { + InitializeComponent(); + } +} diff --git a/Vanara-Jnana/Views/GitHubPage.xaml b/Vanara-Jnana/Views/GitHubPage.xaml new file mode 100644 index 00000000..3da8b0e2 --- /dev/null +++ b/Vanara-Jnana/Views/GitHubPage.xaml @@ -0,0 +1,19 @@ + + + + + + + + + + + + diff --git a/WinUiClassicSamplesBrowser/Views/MainPage.xaml.cs b/Vanara-Jnana/Views/GitHubPage.xaml.cs similarity index 92% rename from WinUiClassicSamplesBrowser/Views/MainPage.xaml.cs rename to Vanara-Jnana/Views/GitHubPage.xaml.cs index 1340a0f1..1fcf3d28 100644 --- a/WinUiClassicSamplesBrowser/Views/MainPage.xaml.cs +++ b/Vanara-Jnana/Views/GitHubPage.xaml.cs @@ -1,11 +1,10 @@ -using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; namespace ClassicSamplesBrowser.Views; -public sealed partial class MainPage : Page +public sealed partial class GitHubPage : Page { - public MainPage() + public GitHubPage() { InitializeComponent(); diff --git a/Vanara-Jnana/Views/NuGetsPage.xaml b/Vanara-Jnana/Views/NuGetsPage.xaml new file mode 100644 index 00000000..6647002b --- /dev/null +++ b/Vanara-Jnana/Views/NuGetsPage.xaml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + diff --git a/WinUiClassicSamplesBrowser/Views/AboutPage.xaml.cs b/Vanara-Jnana/Views/NuGetsPage.xaml.cs similarity index 84% rename from WinUiClassicSamplesBrowser/Views/AboutPage.xaml.cs rename to Vanara-Jnana/Views/NuGetsPage.xaml.cs index 9e9393b0..971cb1cb 100644 --- a/WinUiClassicSamplesBrowser/Views/AboutPage.xaml.cs +++ b/Vanara-Jnana/Views/NuGetsPage.xaml.cs @@ -8,9 +8,9 @@ namespace ClassicSamplesBrowser.Views; /// /// An empty page that can be used on its own or navigated to within a Frame. /// -public sealed partial class AboutPage : Page +public sealed partial class NuGetsPage : Page { - public AboutPage() + public NuGetsPage() { InitializeComponent(); } diff --git a/Vanara-Jnana/Views/SamplesPage.xaml b/Vanara-Jnana/Views/SamplesPage.xaml new file mode 100644 index 00000000..53f3598c --- /dev/null +++ b/Vanara-Jnana/Views/SamplesPage.xaml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WinUiClassicSamplesBrowser/Views/SamplesPage.xaml.cs b/Vanara-Jnana/Views/SamplesPage.xaml.cs similarity index 100% rename from WinUiClassicSamplesBrowser/Views/SamplesPage.xaml.cs rename to Vanara-Jnana/Views/SamplesPage.xaml.cs diff --git a/Vanara-Jnana/Views/SettingsPage.xaml b/Vanara-Jnana/Views/SettingsPage.xaml new file mode 100644 index 00000000..9cec3438 --- /dev/null +++ b/Vanara-Jnana/Views/SettingsPage.xaml @@ -0,0 +1,19 @@ + + + + + + + + + + + + diff --git a/WinUiClassicSamplesBrowser/Views/SettingsPage.xaml.cs b/Vanara-Jnana/Views/SettingsPage.xaml.cs similarity index 100% rename from WinUiClassicSamplesBrowser/Views/SettingsPage.xaml.cs rename to Vanara-Jnana/Views/SettingsPage.xaml.cs diff --git a/Vanara-Jnana/Views/ShellPage.xaml b/Vanara-Jnana/Views/ShellPage.xaml new file mode 100644 index 00000000..d37d9800 --- /dev/null +++ b/Vanara-Jnana/Views/ShellPage.xaml @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Vanara-Jnana/Views/ShellPage.xaml.cs b/Vanara-Jnana/Views/ShellPage.xaml.cs new file mode 100644 index 00000000..5cdc08b8 --- /dev/null +++ b/Vanara-Jnana/Views/ShellPage.xaml.cs @@ -0,0 +1,69 @@ +using ClassicSamplesBrowser.Services; +using CommunityToolkit.Mvvm.Input; +using Jnana.ViewModels; +using Microsoft.UI.Xaml.Controls.Primitives; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Data; +using Microsoft.UI.Xaml.Input; +using Microsoft.UI.Xaml.Media; +using Microsoft.UI.Xaml.Navigation; +using Microsoft.UI.Xaml; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using System.Windows.Input; +using System; +using Windows.Foundation.Collections; +using Windows.Foundation; + +namespace ClassicSamplesBrowser.Views; + +public sealed partial class ShellPage : Page +{ + static readonly CancellationToken CancellationToken = CancellationToken.None; + private NuGetsAreaViewModel NuGetVM { get; } + private GitHubAreaViewModel GitHubVM { get; } + private SamplesAreaViewModel SamplesVM { get; } + private NavigationService _navigationService { get; } + public ShellPage() + { + InitializeComponent(); + NuGetVM = new NuGetsAreaViewModel(); + GitHubVM = new GitHubAreaViewModel(); + SamplesVM = new SamplesAreaViewModel(); + + _navigationService = new NavigationService(MainFrame); // TODO: Use dependency injection to provide the NavigationService instance, and consider making it a singleton if it doesn't need to maintain any state + + // OnLoading: Navigate to the default area (Void) to ensure the main content area is populated with a page, and to establish a consistent starting point for navigation + _navigationService.NavigateTo(INavigationService.Area.Void); + //_navigationService.NavigateTo(INavigationService.Area.Settings); + } + + public ICommand NavigateCommand => new RelayCommand(areaName => + { + if (Enum.TryParse(areaName, out INavigationService.Area area)) + _navigationService.NavigateTo(area); + }); + + private void NavBreadcrumb_ItemClicked(object sender, BreadcrumbBarItemClickedEventArgs args) + { + var clicked = args.Item.ToString(); + Debug.WriteLine($"Breadcrumb item clicked: {clicked} (TODO: Navigate to the clicked item)"); + } + private void SearchBox_QuerySubmitted(AutoSuggestBox sender, AutoSuggestBoxQuerySubmittedEventArgs args) + { + var query = args.QueryText; + Debug.WriteLine($"Search query submitted: {query} (TODO: Handle search query submission)"); + query = query.Trim(); + } + private void SearchBox_TextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args) + { + Debug.WriteLine($"Search box text changed: {sender.Text} {args.ToString} (TODO: Handle text change)"); + if (args.Reason == AutoSuggestionBoxTextChangeReason.UserInput) + { + sender.ItemsSource = new List { "ShellItem", "ShellFolder", "IShellItem", "ExplorerBrowser" }; + } + } +} diff --git a/Vanara-Jnana/Views/StartPage.xaml b/Vanara-Jnana/Views/StartPage.xaml new file mode 100644 index 00000000..14ab6daa --- /dev/null +++ b/Vanara-Jnana/Views/StartPage.xaml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Vanara-Jnana/Views/StartPage.xaml.cs b/Vanara-Jnana/Views/StartPage.xaml.cs new file mode 100644 index 00000000..3040a93b --- /dev/null +++ b/Vanara-Jnana/Views/StartPage.xaml.cs @@ -0,0 +1,69 @@ +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml; +using NuGet.Common; +using NuGet.Protocol.Core.Types; +using System.Diagnostics; +using Jnana.Models.Contracts; + +namespace ClassicSamplesBrowser.Views; + +/// +/// StartPage is the main page that is shown when the app is launched +/// and serves as a navigation hub for the various Views in the app. +/// +public sealed partial class StartPage : Page, + INavigationAware +{ + public StartPage() + { + InitializeComponent(); + DataContext = this; + Loading += StartPage_Loading; + //TabNavigationService.Initialize(MainTabs); + + //global::System.Uri resourceLocator = new global::System.Uri("ms-appx:///Views/StartPage.xaml"); + //var resourceInfo = Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync("Views/StartPage.xaml").AsTask().Result; + //Debug.WriteLine($"Resource locator: {resourceLocator}"); + } + private void MainTabs_AddTabButtonClick(TabView sender, object args) + { + Debug.WriteLine($"MainTabs_AddTabButtonClick({sender}, {args})"); + try + { + // var tab = new TabViewItem { Header = "NuGet", Content = new NuGetsPage { DataContext = NuGetVM } }; + // sender.TabItems.Add(tab); + // sender.SelectedItem = tab; + //TabNavigationService.AddGitHubPageTab(); // TODO: .NavigateTo() + } + catch (Exception ex) + { + Debug.WriteLine($"MainTabs_AddTabButtonClick() {ex.Message}"); + } + } + private void MainTabs_SelectionChanged(object sender, SelectionChangedEventArgs args) + { + Debug.WriteLine($"MainTabs_SelectionChanged({sender}, {args})"); + + //if (MainTabs.SelectedItem is TabViewItem tab && + // tab.Content is Frame frame) + //{ + // Debug.WriteLine($".Content: {frame}"); + // // TODO: TabViewContentPresenter.Content = frame.Content; + //} + } + private void StartPage_Loading(FrameworkElement sender, object args) + { + try + { + //TabNavigationService.AddNuGetsPageTab(selectTab: false); + //TabNavigationService.AddGitHubPageTab(selectTab: false); + //TabNavigationService.AddPageTab("Samples", typeof(SamplesPage), parameter: SamplesVM, selectTab: false); + //TabNavigationService.AddSamplesPageTab(selectTab: false); + //TabNavigationService.AddSettingsPageTab(selectTab: false); + } + catch (Exception ex) + { + Debug.WriteLine($"StartPage_Loading() {ex.Message}"); + } + } +} diff --git a/Vanara-Jnana/Views/UtilitiesPage.xaml b/Vanara-Jnana/Views/UtilitiesPage.xaml new file mode 100644 index 00000000..f6c07db3 --- /dev/null +++ b/Vanara-Jnana/Views/UtilitiesPage.xaml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + diff --git a/Vanara-Jnana/Views/UtilitiesPage.xaml.cs b/Vanara-Jnana/Views/UtilitiesPage.xaml.cs new file mode 100644 index 00000000..8d7e0786 --- /dev/null +++ b/Vanara-Jnana/Views/UtilitiesPage.xaml.cs @@ -0,0 +1,31 @@ +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Controls.Primitives; +using Microsoft.UI.Xaml.Data; +using Microsoft.UI.Xaml.Input; +using Microsoft.UI.Xaml.Media; +using Microsoft.UI.Xaml.Navigation; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.Foundation; +using Windows.Foundation.Collections; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. + +namespace ClassicSamplesBrowser.Views +{ + /// + /// An empty page that can be used on its own or navigated to within a Frame. + /// + public sealed partial class UtilitiesPage : Page + { + public UtilitiesPage() + { + InitializeComponent(); + } + } +} diff --git a/Vanara-Jnana/Views/VoidPage.xaml b/Vanara-Jnana/Views/VoidPage.xaml new file mode 100644 index 00000000..d4504847 --- /dev/null +++ b/Vanara-Jnana/Views/VoidPage.xaml @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + +