d2![+ < n?(/`<&x8u_{qS2 Z_a Ģcl#tV:%~YgƖ~_wd04 a,2 =穑t^=1gyK͈FԜFyf{E,4 MFGLQq}뒯q4w>64r)+}YA!$\zN6̭?r(V4SJdyRU옽v;+UejI):߯!v+zu}UNJ&kʧ;^V>wGȕ~&j}s/RR6R $~] ty e$*3|𰕆Jrzp\ KLhd2(. z,Pi9U*csxZm(bLSB; d0<[&j*.TgO:q9)xrE>y\[Lfg <vz>o.fgiOD4N#X;_q((9QΆ(/YVDh&Fc՜u%!{װ$$@ H/G{(? BΔb΁AQsJR!X!Ҷo+4`!\JbOp@9uK`9raOo` 'D sTbP~GX}ą4q-Km'3] bEyDIXl,.w7< ţ(/`*dDwheelroot>4hM L1 Q0UmH1l8o_/F2 $*%z>0J0TLqz?7GYg o*Z+vɀ aomeTJ?i1!X՜/~\4at?/SF(T%j;3:' 3=fp MʄB)!,=o;DyI1 @hs?K^t=1 'Xj"qo}!—!~"$vɡNzE 1Al͐:j'@qg[>e05@]PT>МP9=N*n67J ;o Ʊ]n`c".xkb݁ &]^Ha[{Ň?('+0?x5퇤/rL)_<\Z* IA[3`89Cp \QN:W:E#>T~a`; TbO2ʣ((GfZ!I}x < ƖJ4P/1;GxzkiDU[v 6+  JaRgn#7抙Ro~ > /PU>Hp1ulƐ:Ha򷰃1ph\3X3<80B9AWRAa zÌbŤ!| &Ab=MmHq 7paDe \c 5K9Y!CO^2 מ;|'(E8](/n?=X KQN05%I )Pwh;cGL|yå! pww1B9.x0ӫ)Blyz7Ty>R-fO,~Q{qzJI'3% .DRPR@Brܭn' 6/ΖKB DュB̝,~eu}F] "ȆvAZ3Kֱ8`ϐClbʔlߛ/Me s%x9^֎ @^kfOՁ2=Y".N971Bh{G=&ԩL&N D.%A%9^PUM3J&JFּb >P>' %O0D$>Eыך؄Wt˜? 9[g1'bqDAciPXZސLi2meeB^FǸ}:Z]o!ގ-LPL9 KQ^MlM^^Aӊttƅ yvȇ8zhW uUmo6vI: +;Km %9v' M2-EAKFmGrl1,<=~YR٩T|w:>^?V}xX2] w8}6PASH 9sx }#fRg zX vȭ5piHYHlOk@)+- ,4!,FxX¹\LKkB==,bZƵTro"MT;lU I2\{}-'p;mjkH*iķ+ @ J{O)8jL$mfwjFy$aRpFb!h.YxSD56Mc>Fid>fS فY\T@*AXkF3 %$(a.B1eq0'5#ʈDR@P )Hd1 ׂl XTTtLނՀ0F 2dG^ Luhh&h6$sb zFma34DLj R_~^ޠT* \4: 88Is4s5=~ֹN c]lN Jtf^^ UG6}7;ֹӊ4=d,^Ge ,VڷV1WzØ2;y/MWCVh^'yB dcA,T/)5CmgϪlk :PdOo}FEs`-mbE6,-Pno}듒Yvś#]!R=ybVk#Z>F37U="T+7ꌢ5tOOkdsOGWy}ә=y =9?]e3ᓘ~ Oc, pf 9>'<,A/aeLW뾆(:S7 o\r~WXpw߆ ?}~Kŧx_ h?B]B;)q~8@+5Y4FEG(1ˤ7CH/L67õ'𚊳SBQSeU ?Y_οtvrU m5'X5xA_W6x?L髶<G\3E<@//gb_Ԉ~ e~9o/_A{_u t-^y#0 xuXNIlDFa~4+g̫kj{Fou`+mvۉ2Nǡ*vo"^#6ײ2CzQ/I,a)qP)g_c\bvC={~,w_߉_8'׈rs=n؅!c |{'n1J&+4ym qWB^p.ᭆo jl0O׽!;.$AZcIn߶?I}6i#csL̟)]ǹsO]mMU\H]]W+| . ?u ڊeC7r kkM7_\"?<ɼ|zj7+Y99?v0<_em~{jΤvU}Ag b| oMfZRMnAγ7ܓ0|/;`~8%J4%[EB+GZL&l[d ms3 J kgG!3#L3eW4FOଆ[*<"ˌ2V J%[;=#x03յ}CW+E*,I+4Uwf:RRS7a!X̘[v?qCOW:氪80ɶ6WیfGY;ٖK57ǞH1ֆBGFU|cN\ՌйN:@Tū66%-r9 a aSۆ*[:͔1?"8կ\q-*ԭzxS"mu(M`|te0nmL;HIp= tE5ؔ{Ɩ9E Xkݍ^CT, i=r4}X&GYCܦ6Mw+i᧶^a,/sޞBD20EZѕEƗL TLB#Q6cN.0V/6nqr>l3*rĊY/D]'j?LE;\/w; Tt'4GўM9`it'3"M: +W(\d*84*Wm 9ܞ4d*'e'r.odwan9byDo^$Fpoh); H[[!n""Fڪ1z9u1[ v$FǺm4-uH[;m<Cx7q8erpvD)]Nir+vpJsblܶ=-Ŷki[#mUD\. ƀ2Wl8Xd+^8习H{ ;B c,$X.K`?Pۡ#~יK  RmbPʕCy=6X\;5HP:UfRXc'SCws)B>u봥ŶCSH:Cqo/r5~.a<{h;rˡ!C}Y)ɣV^Nj}/a*%e.#vhqHCnl߅_6ViWēO߮-3;?SEk& ͆tZpv*_lVsB!Pܘ$GvTln3JA 6o*_e񁂪.J>C<۝j W2K72V솘U6wdv7emAC:6I*VֶٖS8>=M]$eH6ߗ|qćH9ykT]|1}`))k:N\|NIeTO Q|Bį^`wr%:1 5L|ѡ&%x%pGHh}YU.q_;ޑC^)N{*Xz"i^H54焝fZRru|2B!7ܲJK}S_k v)sMUv)RQ|;,]mR=SmvZ˙n7ʯЍ"ZCVҬfߋgl!_ %4cml;2bۛڬ>QPG#$dyC?gEy`.?(_;ٕIgV} ei{rO!ޔjѐT5Ұ;Ӡ;~ ʾN;;_U)puۓSgv5T\]]dʔ}v=Vn9 z$ϳnyDϹ% UV?n=Y W%©OS׭bh sH}*Uۡ'N.TH}1J}H}ā}q,҄FNZ#ggFVR\Kp69v[I=]/Nzκ1# 햍L]qp^'2OW"g;3--OP߭Fiջ-g˵V f:ՁKJiq؞-T(*ۉE/\=6m)d"+lU0\G> !Zxtuʫ ?Z>a6qn\RR4wd_]6]"OG#Ý ||S^ Api=/ dDF8Ӊwlk g0{QԩgTeHlXxm%T U`^2dEyTh\#eṭQz!U<"Rhp=|n<򸟲H>S,M İcM1t!=Wj7CHCutrh:"F}] N 0> 82d/i3u 55eTJL6x-@w5?.-qFúRaZ0Lb:SϒQINپx?6\@T1C85 `A C" CP~a$pF1 ڔ#3w c@e(?B6nnKvw> W^D`qol@x*l:F\Ҡ#,yklsbo+; .8L?35c rN)8c%6^KrbBS4; qAov1<[W0l4 0&Scv4"'[ HL0qW[(Lk1g ?M׏뢭FMnstmF Є&z|b7C@ę&pu 'vCe@&"p8$Y~2ѡ Dot3f30!)?a>¡<B(-Sx1i0Q a< Ҥؤ0?X1 Wi.Z^UF DƓt_p8 ¹-jN*V_= hVpã<йڲZI{vy1Gseq4-|ʉ:O1'[W1&yt|j+SQ Le+RҾ>-C?ae_/*>> 5t_=xg/xehw(Zhq_}}H 28N (.SӜ7'q%RC'Q8P~(k5>PE@W)1}C ?3C wk/1 د ;@ \&)> 똎?^ޥ8ؠcӑt9 C} q~" ,gF38K>F@Ko9}!eO&yvס}mGsK0]3xJ1pcƤ _ R ґ||"җs̄БؓN~z2zAJG:X&;U>N-^ x=xor$4&KQ 6uGGgSoct:ibm~iȭe4 'f<\h^< <Gh}>}KFkA:о(Xn.u1l ΫOnb(,g fY oh9^WqGd=@˃*WG 4_|bj} _{0|v `ځ'A<(>:˓1]ZLOSAo 1ֶp:hmnP>9 t9;ȏ<}g=h3r9NYlg6QgJ]ct۹}(klMc- ?z Wm :6`:yA66,f} Աy' $A=LzAA re R<`7m}OrLLC=o ]o +@1l\ي0]'28Co']E1t_ݨ>_ȵ1}-&({1my$> \߇ Gͭ#@R}3!U41#Fj6I|Oǯ*7)*6Ŝ/ۧC|,GlCޣ~h˹o iu^cvz1@C=/Ř/t=c}}DwA߼3g9*oh}VTܼ*(./Yrm% -)~cӛ!\؞)74oe$uI$9WM4^qyz>ܦA'D_%:Cr7]Ko6[0}UpR&p;s6ȷŌC9y^[F} Y.'_3<{u W;2KHѽ;3zNu9C:ZN04˜_S!D!]qҡM9xlߵr]cuy.6YظȽto͌\O9_Q+ep7>kwއquKwX_qm|H78~D W<97rri 0,B`Qt߉!מNEh;0uBD2id6S|LV@1:~o,^f|BW ]$_"k zdr-V.EC~ ,~큶_OISt?G< +tZ~+ۄM5榯?IlC1( hZ6fkpSTwm=z}Y`^=z}%?n -~[砯[ـ_9𘒖t{P&+-2\ωSG[]TK+Kw}EZ 2-MgS;CY\fޤHܖۄVGdzCZ( F}\p#^Q3HV_ j<[/eTt __ Y^9[7+\)_Fv1{^v(LayEt鏂W@~w='ސmoJu5thPg&{T5Ұ;ܑٕڙ4O1 A~?o15p`(ghBW{,ܲc}iYq/+d)1/.;~Z?铘>L\U +-;ӐkNs7:s ]NTN. y]E_.eo jzEC5ɭjX*a ˝;s<;^w ]i2>&0` 1<{3TX0F|ExfAV+_7`z'PwuZr-MG`vofBѳWBOzfA!礇SjpMz\aKEaӁ&C002TG,~ ` ‰l`-u1aEPlA"a}܏ .AmDbЃ-f`㽇^½ /C2^[7ap- nt- n e`a70oA]]nD3&x?|8&|'_1 X|=<][?(ࡘ?/@B Zw  Ce@ ?<) p'A'³ s? GxV2/ DZˮ]|"Vխ,T2@5B  (U 9[`ߢbHQ ]y2jx le~պS2\ҵMBp[}]! tmjُp|E "`^9G 0A# r zG3X@y]BDXK(O3XCdvŗq;a no??6-/Oua62a{9/Fhfpq99[v2k\Bx= 5{})" (}>؋=A6jomI56sk4cL~S^w{o|{zfV|((ts|AǑG56&bxfMs^.kovg55i3j4WZZEYN~}|$/~jxS,zfojcE eJUXuE#Ii6)^ْ*Њ49hHV&j*[* ptJͼ%unOhKxWKSDL\ԧO 6RE3#iAP9qJBmh*hHZ4L ZD):hxseM9U' Ƕ$ZbWo2i[MMZ4Ǫ8fd(ӧO8`sh0  E}V׊>Ax byAc0>EeHCHɔăF<PG<… . O=x?#x,q#0 )m x2)X"y*y:,&Fs&B|0<eliC0ć#fkhGB@bG"> G#>{O@|"#^x9@|:╈@|&tUVc¯kEZWoqq ֫"2#2$PP.b#n@܈ iodr 25#nA܊ &ěF"cb|lE~0 <pnvww` }LwIJ^>D= ^uOXwgX ['^8\Yu%uD:w=>FvFoqV5w)+vN:LߍeB&iG1#ޏ·? {|{|<;{'ǰS`+缊4?>4e4Dc/b/`籽~|W7ҎQ\~F>A]mO<7?{؞I~u~G_:`4u~e~e~)Kį#y5 [L뼅uCt 2^^{\^{\{\{ǭkG6i7Q`q| qc+G#J)qnp8=\tǭS=q,z"E΍N__~? Syzpu1XfB_6̿!@Y^&üѠwy®p Dݱwܸ3﯌?P-IND 2ԏ(3ԑy,3 ek3 Wf"K:MX*FSƩwqE[lCʯUp%k>k.\핺\d@Ǥ !mmq6qopǍ/mxx9*PsG9뉘u:0 'cO7{#ozsNkb=tFOji]-G]zq ral4NGOuפL˽kIVi5t6Z^2kT5(C, U(C5?4eZQ$dJ5*SeZЋ= Zoӄ24 (o+-(C#k%p=lA>nƲ[5kE(o92^dpG籶lsg Hos5.v"=HbFb3\r^,{XZ,+b}&wOMXF+u>ٍFoMOa>quXc;@7/v>M 9ǝ?9ãw0HBwbf:^寍Uu0Z,63Zeg42ZyZS&A|^~acX#/ˎ Q L )c^gT+uk0)\\_ojnnnKWiiI%546qas[C@:1uwD΢Vġpԕȏթ<Rq45H#E-Zk~4%/~t5{PZSf͛/1-lӴд@ՋVVl7̓j-(|6-++gZ"4cpb+Gj֖vxRX& _nsS[pfX?\Y$%k9T*R͵ʵVF̮ӎYbCD6>C4"P)3rrH4]#Vxtyr`Ya&0$ *mezʏ5M A$ F#(h|qai닂@AY%-MF>{*͟J2,7keATrte[?;>.8 Lxs*7A@ĥT#NCCvuh): C[+W@:W:5zOߣrAV9B SQۇzzK8`5"9Y oI khhK 6I`bނJQhbSb?] cL:\Vr,-iX-I۪4;Z91@7쑍n& E`Bc)`aPG{*ȟf+ `3%A`g-mQoXX`sI~ v}{fC-%mZ06YtW`j?Ns "X+"bur}/4p*Q|„cJyDjU[j[xy:M?YdG4K31%6R-mQ'ˬ-ꝠkamMO]K[;%@S2e#RZڢ2W_`ch]GtE`G3w=̀ vݮnf۳[-mQo5Xu;0ݞ Vi]VF1VK[[ VDU`խf@8Xu;8րUZڢ:vp&n4C1*z5?-ݠyB=m60$h hizMj=DGgcntbltj-imjy M`WCÎ+`[>Զ`m`s|IKO>" qXm%`+F:Vvt.otrutwOwOw?g3v/Tiwj6:{tr]'#ɥޒ6-lDP[/`Hs*mU &F 0;E ,&FqE] z39Ң5Q2IBh>~斈J5ae]-˗vT@X]6w9rL*6śc w1qg12;#nn+ JZܾPa 1Nl*HlRoX4pIxN211mв5LqUcݲbGy5Bv䑔'L:̟*nNwk-~4LZ Ŭ,3QDK'~d(lϓc8TP֨Q0S_qLokm,G-@-R=ZK5M'( ynpCix\G`&Пh{^4/Fv5ncdՊ&6ڲnE{HY쿱ޏc|{ jUF&ajQ`A>3 [!]͜N q"/4ZR'cOT(DU6:opCoieªR)#Eb*5i=4D]/f":M;zk@ki_L }7MeY ώ8u%|i,d9_vj=lP>uBc a\v aj\a9 a]`>e81QnTBi]>tUsW %fj {8 ұ`vGl?tsiF1dzvbBX1PnNh{9U,$ou{%joWU~U96x]r6QW*:9(uf5+aOv}k=VooEod\9wA=$Gwl_$_~ pm {ǷȿS/~ r 2} ;GYfϽ&M!d .e#W OֳU 3ߜ#_G{r. 3dg29K]e܇swp~({%nge4t/at'~E,ohiU=ДHLbk,-9 T.0Ogu텃9[;']`ux==S=a;%~N ǯK1^Z2нe%*ꞋsQ\szrnj_g;^k[;50ec4U:wg[)ޞV^ki ;"S[6V'ȟUB7dk_迫{V'>a\W'CJ|Zj/K3_W`io)1eA*-w9F%`21Z@į}-'TTNȡ"hΝ߬7Zv:&V.Ot^=i4 5Lˎf'a!ol޵) #'.r.{~8s2&d)PiW` .O=GJSlNA5|żf\65i/ߢ&`hJ!)[8Czm 2ڵxo 0w?X?QC9):ZdkgZ~" $/> #jK`ii;;hWDSyF"vq:ӱ`YρIa\D$ϺOyk@6Dh7 )i y'U혡:z6z &6ɳYVj!gn螌Q"kiLS$sLe\ᦃ8én\ꚸ5hցMԃM4MMߍaU`ԪwrgfKstݚܮ&0/-um" Gaޢrk5FymmkTJƵU۴ieSV6GӊNh@n5߯rSͪ`W6|Q\崥yj~}= `]іqivu>xN5zKPПLObn^2eV:u|YOY {NDߥ۬K%b$]S渭iؽEvf99?O`{g ݕʑg 3YFL~H,,2%XFʈk~,qU2$P) 0a(I(8_#Lfw%yAfT5V'0gGSmbp|pgg+NKqc.{~XًtaʇMv}v86 ؉4`&Zۻ<"!Gɴי+(e٘7"V͛oyNnois-300F䦟DC{ .F\➈qsOvP:$wH-CsY@!dbr"d YGK H"!# eee:2)G0# 8>([Ukiu{,9-;>F #s?:2It†xQqH,7;?;\׆8:)yRFFX ϾStTl3MòRG;bUF x'E5oS2~SQOe('ʏE0=O@' 'E[/vxm>O Ixm9NFF5ўD:@,5C7YrY6S]ۃc9M/,;H$   MlIuerbWV OhG5-cv4a2J?Qvǻ.i.#_񐨶`͞;glt!*>21SlOvY|?emtpz(xѾh;˝ %}>Pj >+ʆ;H4K|"SW&l /WA2i spn(zW\ŔcAxupm-j2h Pʖ#/b%1K򗋽A:A<ٷ ҇:ڱm#rZE.®=A]pev= 0_ " ^C" C0a$? Aґ !p#A"C0&1LOAF@)&i,Kb ގc|i[)}c@`!O\cدK\/RNa' 8-bM&B Z_Τ4RNn'ղrfm^`k4[hSm7Ti5u> K)e _/_lGb9h'$Zhn|eFv2{G|BZ>Weo/BF߶Zl9J-@~K@qY[N@e41I7.B[l(gJ菶1 Fy, K9r Ի(ay m?ڄ)./2e8܇Nd{Ghwm,Ѵ1QIp.>M0ӣ vL?Pm?㤫Pl& ƕv=s1c_ΡG\2d!PU3*}K^Hdi_ FiÐ>_6Xvimi| d>f˰=٥]Ѡ_wq"۾|og"= QOHZo iNl|,E=D=YrHzrC%3սyοOd:YW yަDҮx铥njBO"/]ڙl%[_#5l(]:/Z}{w&+JL׻#8/ݧ+j_{8Y퉠I^oWA]eܞT/]֕beq.N\@^+Lޣk+uz&7ɪ3tjlQgj㫼lgb;Йll]+A5^zPW(6>3Zƫtv!^zpWPl|pgu:=:dwrB #N ܍zPBFPzKQr !w x顝vo%mr^~=tM &t-7#Jmd>/O2KxYSFK08uyiف~H4 -idů~u;(~4"l{sNݼ qKLRy RBlgz"/:pF<+\Gt&6v.{5le!b^ROW U^2r u^&Yj7 M^Ͳ?ķzΗnFiķ{AD;߁.w{e/owH\&;$@i&/v}y_B9˺Bp?.>>fmQFOm]פomO~@SJYJ^QFM)< ;%d)J#ljUUB{e; %Ji}ķ=I?@Qn婕tֱo| IU/}L$\1Z>Wr B ?FS"w *1M{?7|Bx1c S7d`]u!zz^F_pm+}%/MRŐ~z+#_jo9we\nǛ^)oy]2/[wށm G"`gFq~8ެ/K,eMz;qϐk F͆m:Ww D]; T>?w|ԑwh7@{!uRL?R-HV'_&2G$?e,A|"P?_9h~)mX'N&LC9Q+Vs G}x'!ftK|l.Y>s޲p#䏯s.G N^y#"Y>|*z{d>^^N[i\ͷQE:Y$\!.\,mjljq/Z~DΏ"}%7lb?n6FHk$0;ŅA4ri*X*wAe4ȻFR~1щInc9y)1-~1isrӠu9kǼU:o#Ø pKɏUeaylڡqrW%;ҶYçEg5d;I80in[6ݸlT.hI6)wVbv ,Zn&]wXWYS:B.PWEu-Q@=9V3mpInk[}AixCxy_64 G\ ̳ Z`>3k~Quls#6R26ANtΐ;:rh-<ڄ|)X k}A?.ysXsSW?iy7JXin\!+j\g>x4bX4ϡa3 e2-6Őق}2~+uxygԍ\0;Rl2r߁ l#H!tA'@K ܾ/6xy$ `HpAu; `Z>%_L!-0ɇӋA@.-&a 4Ryā$胜?"0`2) B0 @ H",DXlGXdG"W ~T '!p BD6?IWNCXAOjR Y"`i5Lu0_R^KD !N&$`y9)2(nYF4KZd6`)ye<#ȴ,Ç Hz; BiYBR.b ]L`L˲W \ph"BpsnG p!p/h,p/<iB@.| a|Axw| Jk~l"F]-_x=!:m//c_ rFE~}1?xSJ@$ZP\(>VVH݈.BH j*IZv7w;u:4Q':;wfnPW*P$tBIyy-gʥqcONˀitBp; s,P=r+.,^ۀ<1aU@jG=4:nY{D.."ꃁDY"-y~Ǎå"5>8¦ kXg{`ukek`}Y? )3f~S5.SZI[3lkVlWͺ]U˺FÔ#2Ytc=blcK)ڃ2#( !373 ge3aEOJƘZ Oե䄡S`Æf}tUڿΓ? ΋ r t d`IM’$H}J=/\b```f`a@ $L y >̀ H|~"?= YsS A~x?G_Ggx=P87$#?8$1)'!ǣW4*_P s9 pV% :$>=) b 2j[j^! g3 X`b.3SeE( p%#Ds RSS@#JDEoptim JDEoptim NCDEoptim NCDEoptim +xPAN0ܺ ms@HRUq *W1"Kg|@t ԗlό3]gЇ$u;Mg wzM$B'0b0[TMuYso0,>:O5Rn-YGѡ:q q)B C~ Y9Oi7[{Eh»xa#y8GpojÖ\qVmv((kV+T|qx |IwH::G>JEP&uu_ 瓛@ЍnPSNIlcv.;NI's8dw${edlqUlPh~S.~#iUիW^}m{GGGW-w;::;:ܱcsG7!;;C7_vٯ=]M-7wOx'x6C<1_JSwk)uij33afv=ppY'X23?1 l*[x?~=tzlߑx=_fJoYY_-[n-,iQbN%<Drr:[>l`+Obq^;w:Qo mݐwk~s[lŅ^VǞUlG r09d^Mw!_,9:GnKPK|gG04|v0+G/o\y>PPoWmU_E[nJ-Ż>}YsC hqzbWq*WJf; baLV=ͳ1h^f g4[9+Uo4%3,䬦6ɖ 2lͯ&N@Z`7ZVgF){fA&x[EMM;ˍ4A I:i'>=1_V܏ VKw-~w711ٳc^/|n3Y1;6:P'O<~I%ȗѶ~\6 r] t4;ҏьC]NN14y3:W~.G}j^m)ژxg*f6#d=9dxK^׫meΩ6XfjoO&ٚ6pė}s枷̒hSm}\vI2rmڮpfbǛcYgVuY +_ι\}#BKmxaʨS b-`h,X-9/L7ͪ VocxgY v{Ҭl~\ y3VW%hX,d]!*\_ɴ%"4Q"y.U g7O3euBXթi>|t-q\.VR4\m ${C~UZk[Q2^(D8 yRr}!\1\pօޞY 'z=)u5B}4qQ,rY?8`HSf(8 &gW-5 d57==܅Ű MxYM )P4}*y*dٔ2SsUXlE5FuH!@*< RlT +>`HܿJ9 <@l% #[ 'I{cil3xnz-X._br#c+QPp&=nVh"c/MȼsK,H]V)S_kUW)6mȷu5{S j/cپ30 9*gƴ.@N0~cʆO{ 3FvFʍ!'x^F0=6 o"|^qI.u5Aε %gyVD"XP @֕xp@:YV,{чxo@?㓞V+Y>ghóKbxV9Db #<79 xjN@Q5ȺM@_Ng6Q5PFBxsXFGn") Z5p+%E=X΅jӪQ|%Z*~բlҏSEsA&F+>3]GUPD[(vy"Ըݾޯ(/ubxcOeA{uSS n+wը5^XV(6wjyތMA)Y fex3 ]|(YKnoSߔ~Sz)j'!'L{[{ abx sqatZ9*jwA֟j'[!9nK3{PC+EEPAȃ^rH O{ m#u^D;!w&<п۰T4n;+h\Cs4Qq9 O{NUZ l4]fVtekKLSA2_Ųy| unl9@i!HC5]B+pY`^|rwJkdz2/#jBF8Jt+Q"{%zY;eˍ#nZN5N޵>{w Ѥ׻󏤐Xk6ԏ|C&[|eo8D 0 95Dc.a/r?BTpq׵fQlqx}MGd)*fT*!X[jFe漙V$V Db8yJ!R!Ӛ9]] 3y]DzQsj^+10"lJlfoYNh-jr+I*WH][o\x( EYPOTEK|6*38 8Dج%λkkNDv(dEf"& ّ,JOk&V] 9MƗs:BG.Okur @ +!ʎSa]Xobn{F޾0 ~UTEW G!jʗU [Db xrY 74F^U olw. !{!m@$OSn?~ŵzǓpec0= ]JؚH`O:TocC>Q= 9A߰aKoes9eoBN0[ _ނ+ R'RC5>^] soH ! Xvwj UwzZA+DCVڒ)x.Of;Xۻuubnz ! ]wʛrQEbx9Jj8AN0pIHC5u. ,&qH O{{_v$6{F D'>^3BBU\!AU  Y\QMbTn6` Ң笥2MSKFKTU*,0բŽk :m"= ]ܚiHBuk4KR!Ӛi~An"u1xڃܷnTf?#¦O 6ٵ7 [3+j'>uȺv,S6m˯Mh~S! 9{D[u!zG 'XPmJxr ß#,7  'ܰD4|ݘgPvyCIc,WT;B<u^aIM|yb*1DS[uu7-qDmsWո YA" !֬_ȫ_Qf&œ=2YG6${ 2kBHtOC>fd Fk0 l-Cy%#K<62d=Dx[*WӐ5*f! )HԣBf+S/1if)^#p㥪Q,0Y>(D/0Yw:`ȺV?"6P\# ܶʝmwxr;{C ]{Ðu \Uހ|Cٻr-P+kMt=lE]>H`b[ݴb_]UEirCEIy-xiNlr܏#KPk{k)K01ېu*#;)ށ6k%Xi-]S[2m$RCVkJKך0"lr6DCϥwk+W%g.( &T|j){7 뚅G,g‹yKvE89ɲ Խ'1FڴD$FӐeZ"R3!ӚiJT:<ir%uj^R=-mi7PWQ]k^YBςk~Z5ŠcHއASlmX  _j[b"xrNfÐu1ZvJ {}e恗!/N[_^+Qrw:ëuEl\LH;جцYPxVY!|r鰃 " OyiFAUp5V`{&᧫ va_N1t^*]H ǰԚ_j|I_\baBUͽ'|U̽'ojH!-N#f4xS6^+!eשa{/~E_@][׼ޚkV ղbx,ㅿ d]^|U4NBlMBG 9QVE/QlVɓ2jxDqűD7Pýi@2 'o!ģMmM cCS(M}!n!6\^\vo]!ģ\^7t\ ow?\6e|1 j&h!Lxt#w?O鋌UP$&@xrFCEP.kC_7!48 Xnja;v{ p&^LωtDfv9>mÂ[-'n ^p]q\y7 @Nlۜ_ ,e"$O J+5 N,;kU]3#|&]wJ]{=L3En;!k&-3K hTpђYl^U)Z};LuԊKhiB%|X|^sGt#bw.B< ,$DßSFuǸ}"Igq-wJج %bw% '9DbxUMF%N `YVFD.dEi{ul|YK~k5:Zќ Gs\6Owy(Y~onqJ.iUoA>&uWqyc*Yr 'Yrʳt#౷4;+qX^mT̙\{!jSi `ܐѥr xCE!DGV6l{rB"|r \3 <92f."qxɶ) ŝ=0u2LyHFίȽGYǖ 2(O7־y 7 1!8dǙ"֚D" 8~Z S UA4/C9~jA|Puŏ#쓰Y{bkVJF,^`}=5%ۦBAW|QWsz31?Q:p ntM;$z6E5D`h${F"@B].KBUMЀ=T!E\LnH92qB.cuVkU],N*%W5`M+3ʷc0A>CE\1B$2q :z˒ޔhM/AnD29,NPa'HqP$dgބ;mGιCNM;ʖMף9~0;ͱIxQ.*Jl3^PvE ~?ܲUs:<٪яH  JgK9i,d] } ӲԴv"p}eAf?d]]7̗FU wMO3PKCi$&W gq!bwxzJpvP,L-Y.׭oZ߇Djkx1XA֪H䀓'5Awo@Gy$vSېoj$};u0QAA֕pTvtVlEaN#_YaBN2In}H%c"q}D+C֟ с1zq5Bg&U;4^>CCNR# *:QA'(@<45mZz?%Z:0S+dnq̋%MI &=7jDth1i9^^-mъl >N6<34/T0iӚKK>:-c.Dy42P ?ii .T](=' T?ހk]EyXjH="6e@ d] ^۽dN2$7 0t7N<+WFtiuȺ'R:,d].]ux L`)ZK(:bcdy'D:zCr]HycVduwE>e|EZvHQ?= 'pȱkx Xȼ;Sx%PEՍ1I&?ez>ǒ]R&,,ɨZ?Y+q'EYWeK?<̯p])(WU?s! Y›y\V.EI>|W R?m U(Ojބk{T{u1(F , M S ށ++WRzN9 GrJBZ4Yї'!Oj%)d];ęXp4d]; @dٱ?dxz(4"lIT10mȷ5)J*WZ)C{,d]uCJ?B6 .&JoYZ54faɶ>eC%Zܬ ?ug $|C܈ ļ2e#\$k!U I6inּڬE)+S!G劯Vuٲ&+VE9\e+gnޚZ6Q窙 8p¼R O.&Hezt&4%4 C#REСg>P*/,T#F_AYZ\3wEa%K'%'e Ⱥ2J%VrStMO7X &?:uc/=W !dHbġ8 yT]tlVbd],QF(E Hj? "zRCݾޯS4ޟ{'*Dx pتJfBG Aៃj O}[G/s%-Um VM `*Sk֎*;DxH_m5;l a(X*P^OyXcuJ-X~$)n3?{<y&ZEޘR쎤NVMapB=XC֕w+c/6}9~tl,>`r90JI3Umo5ԗ0C9<9j&H$vAUAeWM[fl܊Ӻg!TM /[>Us@S5VϏODn{S嗥mly*dڮ/A+4 mCVI.^cucCj" /{akn Ny~]S5X !d]Y$O88p]-ϛZ[n /Wr6N8 YW}x=ך#7#.k :u"cD BN_4M1u $kԬ<`^X䋨gmhO !'T}XG!jb]0tQ$Ev5[pC.o@ֵ /ϯ-EsKnKZsc)fQ7Q(qmU42!'_h>5Y% hǭQiL۠ #֦}lcp"l6(.mkP6hr;a'N=#݀ЫW"u>і&X;mU -6Kd?;ҢMaTr^V;yMa U3\Bm`D{ w$G!O3}qF$|V=Lw(6.`?v4T.xڃ|]O{ yW]{ڕ qImlf; zgg!'XA-A$NANa]H.,slq_ahQI'u*pd+x 8Ց%UcKC5S/@uKFO{/eǩa{M6{L|;!'X!,15o<7Z-W{z#:9^+ԫ܏ir5N0"lv'!-vA&ؔ f4dc /hv6T0b !ָaDY׺GV N]W t_B$f%Fv= b~8{4a'ÉݎiA-,2l kk~;o4#޻9IƢ-/qmQ &7|xvq2ԵB=h ͛uֆ<酪|rj- ] srygjZ"u(xf"IR"34!a7nͣn +gU/ Hl|R"AyX2Ȭm0F%֊SQ%!Nxy  ߵ^RhMۋQ{%^zU24$k:;8<;I)ȧ4OO1vy F""uue9ˈ[~H57޺< l)uyx ]cr: Yל'b҉Ff?I3!vC"xx r@T@"u:xZRG=g3!ģMm e⽑YMQWܹW/:Yhi>n;/*'bt#$3 fZ/x}xԳjW&~ydp#NaȺH˖U6 #ېu-ReJyUYـMT|l}& EM%L0 9+,:MKd>4^+ѧ;fjD2:d]Y};U#_axͺ0悅(|UFH$v@>8; 쁜ְ֚*qZ9`*z+A;.VBr@N09ٍK i[>w֑wpax4QfU-:^=Ͳ.VP>&u|Ts>R6Ҥ)(̳z[N@Cl]RcK&[H]a l3Ft2C_3"+x4YƦjMgY"Nًk㬨1Ruˌw`|ֱ3 uϦ^0G>. v)Y[?@,ub’YcU.+LYS„!'t F;5O=3|QGgw<6MWMb 샬Vh^VMq;¤om{8,X pּS*F!nJL& (4Dp8 ymFOZ@#ͻߓf枘/+Gt-~w711>{Vtޞ3`\~,Bh7,ln ʊ2jwSSɨM8ϻpA㳇R5Yt җ.d<3M[]^7ϿN oW5ږwF+7Oțګ=vLڤq9dxKTkژ˜S[ʶٚƎfėގ͚}騆5 y7krmSTt>.v4ݕWa.BֶU%XC9cM[flܢH]MƼĻc,:D)4."yqH޿cum=: ץ{lf|%etІir+ʶP!d]/WYbcODYl wɰТ l ^džn ꎏmO|.74<:v#kRvv\} K̆cV=[OֈuP xFI%6;, l5]&Kj~j6Y/ ƗCaMS8PXSG-~/*4ڲ)%M7 n*A0-~lM3+0ގɨ֩o25bL_":yv*~ڄ%B-ƦRWtM64{vβU$4o }X->̶ :8QׁIƞQ4*B]=b@nB(pMjmX0\qݖ 1ǦKUMW]͛val)md6mBPHMʫ`Gج ^,{gdd"a)'yD 8"]#e]˫U5)7pSD4zTd2g:\yrb 6U%U w@C& 0 *DM$$ju7c0ЛqEޡ ޙٙT vI !NJY[H}t'VSi)k;xvOJ%2]0Zƒ0Z]Wova[N)WCcÃY@ƫH.9)'xp>t\3|%fh*A_W\5K#W$z(5 &L7fJ+-{JvٚV MR0tRzk2U3jO{Z>Jݥ"i烖(n[$ }_}:vfGRK4;%c_9G6RxWʄوD.*> 2ByӦ˽4eZE4o(Ϗ)krM~#`wDSp8֕ 2H&,VLLTr+I҅%Kdtcv8UR40{3G.|FR-" պ~{Dv\s~ou^j_+s.9?Wsvmj-bxۤk5 ؎z`%[ǻk&jd&Сot2hF9ʌ -P\ccKуP )gZp K,ɰǩ6jźq(G84)wRnM.]cq4{?H}Hl< '51W.NL `S.%%]@ݥkG\bfܑnj3Y~h0L^BM`WUԿ6?cS rY>Bu# OEJ: ܚ$:˪f)x$ģ+6*f3ۑ\4_3D*t/@ =9۹9clϼmvn-bۤkO5 k&eתs,ޚuEఔ(<- C`[Ꭾ^mxNƳYFH.`Hp&˙t\ ݭw}mD~W5,u5xԊⒼE 4M4R8N{ ekZY-']['ןKba/Gº.^`h!w {1ncaKCo()PwMƦPjtXce_r@HQbvU"Ը1JH]-K9*:nNW8v: xJ3KfYWCn`.zwzun8$eD8,emiFq1nxMI^af@@̆tW |L39yc͑]6=ZG:tKNuҷԯ"Zf]_Q5Kcw$v+7J&L7fJ!<-elMcgގ *ֹ5Q5i_:-uC2*A;؇ݜ=WyU@!'ĩJmAӫnB!kk"ո$U̢f=(*4Iӌy\q?^l˫`Y7^㙇g#襀o~O)6NE)ky%Ű4pP s 6!F*fO=>T\6W1 ύEʙWs狯uuwH!u)&5#)?/&cCKΆMN7|i#ڂKL]u3؝&y$k"y%ce^aeǕY$1*#E n%K~]D}#g)'U6 44"\Kbt?;j"sgMP2_ZT.m kYSS94D,^$$(?ru:Z%Io4XNkb4}=xtv;4 Kkf,E\|֚,RP`Fmp#aM}߀FoȒȔH8.pi۸v`ϰij3<^ePwbvwnvӵ- jL.(僺B7g=NDhf$cf^l Ͳlٯո5Q5T-R)w(K"]e[ja<6(@k>)rh\J-Y}ٗA<+fǪsyae V b{T+ T#r;Gq|sfp_'L}1ǠG{I/Su 2' JDwj":"]𩒕fcgivw)W nq̒:]X2 ;RJO!tslχ<&[IR`pJݰ{BݎU4HdI:\>zCܗZ]Y!bjNMJըʼY2 4KXwX _KG*U(G8١wHʭU!pfdt@]AB}!ԢNNscc\n(3>>:PV[ a4)st1p/gjW{LC&< Gu yv\h9DaGޗާ뙟>3JȿJ1GP& nꞾWP2WۇpJoFT8?Fy5RC7oXwJ|73i=zYTsf )@ .Ci3V]jiAP9J{_rO/B-qƳhU UV_.a[/wAPrwL_ ӕէ\ꊫȓ%%|Zc|ɘaKPPwe+X2z^U5vz&K U+>S_Y3 "Tѧk+F_r^pֽŪQJI ^J߼"/E31քϡ`p5a~?+P/1c\~ 5e}JЧ}-l"TXGmMK:YlcW udM?^~_ЊO:8ЁPw5WQ%=5?V2S% {uW!6j&:&7?Ȯ/ :e: .jdҺ5^Pw*hK-L?B>R*~;!ԝ m%ÖFXdQxNhM1m;Pwd۞`׍ef6vqEG ?7K2g^nנ5MK/il(ekܲJ%*L~H=&!JꙧtMʼn!n0&=O'C.0'nn@]HR(FL#C}"5=1Eee~/!:Gze<;6}PP pw(n$F ž =Tb^̏1uusNx OùƇ@>fyBLm aZGƲ"OC( E6?'1iPPmCD oW0x;hWZ̵iiNAP.Bc LW1T~MP\M,v95#ЀPwVcm/M-hgFY)htjڋA(C~{1z3-7 kYtr9Nq ?Ԅ^~ /8ͮyB֡emvMO0)-VEwD#~,:Jo rPnRrg7MÌe*і<6mT+WKU)Pw3jQXX-g傏5QhDh4(h ~ X4ʯ7ІP62f+AC}G캊_,Lݣ Axz{VXv`<ʡ%6͎ I(@;͌8 X?愺CY }.h Ÿ F* W᧡O7A5 L2_譣?Ezσ(k :~@?*|T2~E(@{LzZgu 3M䛶Qa[o%l_;`haϗ!4z׍ KB~үK@u.RRƶ~ RtIեtEug7%j#o:F_2ѵhЉPAͼ 2n͚Iei&(eT/+Oxuoz+]MV w9hqpbcuЀP.|C2sE6dB :Zs*\Lр^[ko_߽qf_U#& ?tfC '#K+ޅJձl2/6mEtbuѴMwU l{н#w[G>lC﹋o+,xPAN0ܺ ms@HPUZAJԫd%v_:3#h!Iƃl:` Ǜ<!◹0ںv'2:/ׅ:ՔhﮈN Ox} +jn-0۵pDO:}E}.4odKIZJ-LsO~=uْ*IE =2C|0Z7J6l &;תɠ$.omċTx}w|ID *Q,,@$JDTEfoY 4$>}^}^x9oywu`BsU*;|^׫WD2x0-M$?Ntp[b{"E./v,\mc׶?{Y7`+K ~ybx6NVkB|155݅8MzvggQX586kkkf#,{lVvUqc5װLm ]'y{o~+s-c셡ʊnkx^XZK'OxK-;]%/xMM vH{ooL==gQه-̴KvWMqo ?c<U]ņ8V64'D6`/xWwX\#X{2pEZ,XfA!zO*boҨz[lYwsjYx-_ZanIgw*T#<̂gEir[$c8>Ѕ=D8ģD\S7VK˖]"[/*ˢasiW-pK&jK >Ӛh Q\]f#(1zZ Sǃ.62O['$k§cꯪx]s.~kYegjjFgKE?|f=ىd!{wnم!^"܍5eY|9ee86%0igThVqkY^Y!u5b,+DxEp1= ƫ,Zvj>$^EjOvC⁒jo3W +zi5!۱PDez2C~gB1zs֕^397S-5SمBgPLé0kEԘD0t$̃VU{n8LP#.3%oK OK xI~IJp|(Ncmvg'/^td.Y9 ~K^KyQllgKhq0 $|MnL>mwMKE0mmǷJ**4UOKv,}}ϩEhG}#- g#@޶YYůzbQw Q]_,J\@!Ѓ|_.Xv'ֻ}o:+޽0`14X!Pzuil U+fh#T~S ϲ]#AU/xȒ떸Zmi^2Og +o=(ʏ@-^WẺ\rbB+OOh O{"='eʩ:.[+\kojVq?Ʉ ԱzWcmA^z E_ ͦzaҠzbV[ _% N~VWRCC.,dQ={ NApB.UݿlPJ3L׉ 8m'B0h##J;}Uj˖uBo4p \UM) .HrxV ^k'O y=b1تwgWJ. U}~~JHEJ8bxjJBȭEg܀Y׊vGR-9&K5Ԣӽ}*[^III ;I!p: 8 >dES;<~NqxH^ p|Zq\y\ ^xy6e\w&ڑwQ-?a0*Cȥe;e˞%&7dM<< :0ݾ$.i8X_y(..1k7nNS l/rMo (_G4BP ITɓ'ZH;O'Eu2-ٕ+D1=W0F8~A$EIE%K͒Xee-5կj7\*뎣47#տ4܏p\׿Q@;Ze}\: QԺQTONO*c,cJ7GDvՑ8V cY)'X?K!w$ { iIk>6;ZE88'?Vd rܲnzzq£k^q݊W1Էh:A2I2|\>8~S#Kqx\U,~Nz\U0˒Q( _uBnQ;8\ gyĜҰ%8W80{D5G/&Ii8>F$)yyEO8'Mp']]%ǡ KrBeL 6"M{{ei0ԋ%UZLFWEP/~8ܣd_phAFL1 WwC:B`^[.ەUD<.qaz&e.?l—%ֵ`W#9(?h̝\Xf6ݽ~8!pX\4$< .szi};sK|[NK$u8ә.1=1.!%#! Y^0xpQ!pGF.g5!xpu>ҫHf j$3G튯he+eaʊe:ٲx \՚JjtsQSZagsU-Ǡ5^Zm,`ExcpU~: }'.{5B&}G%. HD/4&3`Kǫ}m[psx.4&~e vy;L&0{f1 |PU,:!Q8әaIy *FL'≇+Ai`F:ܡrml#MK\/T9o[8ԒV_-ٺSEfWV j]}uֶ_A>WU٢䀯QU倷t:; Nx4d ? [AcQI(DuvqP8p\ACS#+7XwɱV4~^e(./w*b#xAUo*hT:HȠ\l/(u:>*8cP:ayx\b)4l!O34,sobٔu vtFO5]=ikp0A8xI`:~F::\_3PXGxK̈$TETx!zPs ("lwݩTBY^i.?6xwQ/ECy_#'K.Mx !w{B\Cx HAs82ituޯz5 ƒ_y8./.C`\)iie[׊kLe8a:u8>H?YRf^Z= '37dalpFPJg 7*NO(*[H*oIH>W?a2!s" Dz| T%f^5#QR+jUZT^c&+l/ ~ #>4tUT3 (Žx\yoжZ.),p \eY$qx2?⟾h޸q=4VKTI4)봎^TU#W?b\Wwٚ*n+s_B,l||[veŸd)W `oI6-3 V**}[ڨH /<EZLNogg:+MWNKΟLIx R$jC<(9 W;>zAm dlDzh.ekɒ)pJ{Yp-XM"oa!lsb|әfSIcut40^S("l{=/T]M*6O%Uph}W{ખ8F.vCKV4:+1p!Y  <l>5JٞP|jCERwC< HI`BM+ V\?d<~CuX棔<.ę"Ҿ ~/.a!!΄}%!pU G^$x!ݠ40^a3("lXX6XXU[ ɂ8?a!)v<,$؅$ Ii;OUXH nCx ,$LPHWb+ E{XuC}.6 WPPD09 ,$)SBm'rQQCePQlq֬!<.q XH"}2RH9ģ|fDwxl1Tp H rn"u79ӹȐDp3!u[IWLJo%Q9Ljk36 Wdshd 7 -q ?[~z"! ID70v!0!;xdH" I]a2/>LngG<p<6 Im;0:$na8Pr&zkxņBac]油l;CҚ? 9@L5in^-oNO(((-ޝQiKܡ'5~9sZtàHU8>H[Ԫl-n] GnR/ܞNj>pEI!`?ű;"p\bw'RK2≇T+ՠSh“g][g5[qgx;ϒn`YaY8 xų$0<,iv<>7 1gIecxų:;v|)^𽒃m-kFp"=c̮?{};ׇ~>NpϽ>Osѽ>' {}NmjQs֎a8 >:V~,p\a75<^Ѡ~%v#RߕxO<ĭ KPDp+6S) I/Eӳ;DtcDsGiFXI&:D U-pVd.~o6); I%x#R}G≇xϡ#aU4aHJS@Ua !14,`{t%a9 W}7UhXN"&WUL%it&,! 1U|IuCT+,ay囯SLv 8ZmIpUrFͫp OTT TaWa`W~ꕩR6WZVHKL<~Ĉ$ x:#R' nMHx! Ai`bD#p]^Kw7 jݚI fNmG#(TE"J!Uw)R<"wN>ߩ?zxv*^ **2kQ-1p['E?Ap|S 8<~FQc~#\LJLoܛr?)΃86;9D尣GS畄{:1᠚D0VGAi`";IG$5_rI ꧳z#eݦd?K0LGs˒Q(yːeU%"vQH j|g!Kqsqj,/^vսAAmEǵ-s5DN 8>m) ({lCKKL5<_ );x@AGJkM :8K9U`y:VD>W5N~H EVf~2 xb03Z͢7w-dM+Jy&_ LJશJ 󆮟OL8 .ِ61\0 T]$gq=x:3z0( 1ypى- Hx!x?"v][+.H%)ބǶ7 jruW+S<7`R_TV=ڹ{n;z6_tR;C2-gփwD; R8 ̂w"qt@$*aG; I]D&8UAi`:"vw@;\;()MUeo0;J&jn7U>*2e ޻Iʟ lƙ]#s!=3qb K\ʷ1o) ળKۄXu$" |\ى}=za;N۽h[( *L&T!k_x%ƞQuzkA޲h*A;wVlZjP'h/»&.n=6{;,ΛYpZv.:Ok۪$%^aWuKQ%ys |[+iM1]KwRERx\X!Kn2*؛uM\~"͖ט'lѲ BxA'T5?צj9Ȓ#wUU =Ox*a/<<%ǀ}C Zqޯ^{>|g-jUx!Ԑ/# w$&p|s]$ɸ W5;6!5Pq\]+ROYLˤuvB:/£Qs/+KΞk5 F{+j/ |# v>bl?z= wJ' ]ʖZ`#pUgl_autfqr ˔{*Vme/!WU&PD%;:F9|^ $w`BI wFzx\ta$X^ Tݒ׮hN4Umc'UV~Lr%]PD"_ B:!`\fdSqypU7r7 F)jI.`wxƝ4$ M{Sqʆ8*:{ dG Eb5y5~?j'fZ,oT\0B6>N"R~pU) [v`<8q̂72$3WHD:?*1kE#qદ(0nOB{&5ocf|1*ZBͦ:1:hkjm?-1lZqX5z+Zp%X%6teћH-#p-T/R>W5%~l'z| 3 *glN+ץSqEg]9~۰b2%jί U:kqᯇ"BU6wgMiB+|0ݹhvk_g#_[tӟ?°ʴ]<'H/;m5Z kyѫNN$" :RuH78ģMZ,f[]>Tߠ*SeKD0#%%:-aw02 ZqjуC*U/**pr G%^67Aae{5cz(86eICJρKE,GB"0DK!PvG˒8k 33$5 j8=J ղъ7vhq-{=/*hoQp;v" < )Z69TdNotY/\5X.s,I | jy98߇iNA7[v1J,E;~NKxf,d?IjUpp:N)tXaqEWx~+;ר*QB9R?"9Ѭ*xPGP|x>u%KF:L{-i>:l4 W%EDk9pڶTK^EJ/|1]h:sN$WvhHA&8|XHA5# 1c&Q8q=B WHCPDbO!?%yjyQxnWq#)=TpXnD ρOT$80.1Q"7DRǀશ }9pnە:oZ^Ӌ-FPDV7xK~eD%.6l9O{S>p7)B$bKtxDUO6i?$ux\ɴ$_(>7r( -cx\t x\P%o-1HUt&&*ipeWcuCWoM P5CPD G<}JSc'%8$I84 ̂l-$!CqHD0j")!ypUG qp>+R6/_$mpeKEC5š%b!Ր$\W5'#Ei(}S;zBU&GjbV M6'&k#Tx5j +֗f2UU 2s\mUdE 8~ U.IcD]P7e>YGx3zWOuģ8O06WivbYB.FAuu?~hFP+Zj)pE䇨9 DMs؎yVsKRYzB];Dp^()Ћ%#fٝl=02?5S6edqエAo"[ $5S?Cf&] G7t~1Ue?:ʮQ8iOxa\EһYSSȽٽ9Vmƥ }Pp[l:]{7o(pBoT5>LT΀(Rwaj]26vyRXjC? E*T|:7j?j^9UvKR2FOCl>2ժ,ŋ.^ 14޻s o.<6 dLEϞ[Z.`rWn;rZ- xL.nՙEx7͊h#oZ*a, om&[z8WQ>g})kNOj[kYjnۆ7uΔqHUYWڬQD!Ɗ^vZ7}73]LSC~KB1!c(6>mN8D058oʬ e7geldq  [ +b#TsSLg`pUG%,J}_1HG՟!I9pgtll wCngH$&ش3. c:IQj.?9Qy^l.潛f$p|H^֬02,ϖБ!LZ'B,jsW6~='P0CvLWiHM_)*ROXb@yEWHK}x A5l<$cOkJX}g6ޭj[ {eC3W3&ZVNO*)c[oy2ucl%*J}&K}/@§%("lWk_LG+LJl)A)Ep H'U9(EC?MN'/t?-/pjkllgK?oZ/zv+=Na਷I\XԼbBy/}3,P,lLߦg"-#/޶!pŞE;).$D0+@y.-^݉޳MЅcdx-*}UJ{{Uea/,QU\+Eb[k†-"a\];gXk1[/ :jڪ %FE}&m&< ~VUbHX߁:8_b9:ӂd]{8#Z[ږVwa꽺=3dH~x>c7 lk#3zc;DT5Trytja>!T9=-E損z!ֲ('Lc={Nf ܲf~*GX?bƤCQU-~"9m-$@%apWl } 9+c+#95m#hZ6-ލ|grIhMe'.kA2 Ȱl6a'VS('T^#+J&?o6]HVu_#  ۺEuT ?=#K +s錰 0]͌% Yҿn Oҗlh{%"._A.a?x"֥WWy'rx7ƞ-7Gj|&kAzx7PTG{de/l&-PMxB;({:zG4ѹbc ρ4!rD:rBj/VWOs,/,?B.IwjM7P??սUPhsr 9$T*?+ρQr葑ё1OOzK ;/\4@QUև4> =2xK7B:(3[܂ՄMF0;|0F*´Z,ZK3N-}"gB}"⑪.(~]~ y]|SLJ/^of7B1DCWlƭ:J4LU_NY ֪zlts / y/w]U[z!O{ѴBg^&-b```f`a@ $L y!4#PyT `H%`EA/\(&&GGΖWfee3ve9,(31)bWQjZjQj^2B$9?(85d(4b```f`a@ $LL&N _P s9XP ּb X :b```f`a@ $LL&N mW\RT\_Pg&{AyzA)PFisF55- 20?ο R: Differential Evolution Optimization in Pure R

Differential Evolution Optimization in Pure R


[Up] [Top]

Documentation for package ‘DEoptimR’ version 1.1-3-1

Help Pages

JDEoptim Bound-Constrained and Nonlinear Constrained Single-Objective Optimization via Differential Evolution
NCDEoptim Bound-Constrained and Nonlinear Constrained Multimodal Optimization via Differential Evolution
require("DEoptimR") c.time <- function(...) cat('Time elapsed: ', ..., '\n') S.time <- function(expr) c.time(system.time(expr)) source(system.file("xtraR/opt-test-funs.R", package = "DEoptimR")) ## sf1(), swf() + g11, RND, HEND, and alkylation list of $obj and $con testing functions (doExtras <- DEoptimR:::doExtras()) set.seed(2345) # Bound-constrained test problems ---------------------------------------------- S.time(sf1. <- JDEoptim(c(-100, -100), c(100, 100), sf1, NP = 50, tol = 1e-7, maxiter = 800)) S.time(swf. <- JDEoptim(rep(-500, 10), rep(500, 10), swf, tol = 1e-7)) # Only equality constraints ---------------------------------------------------- S.time(g11. <- JDEoptim(-c(1, 1), c(1, 1), fn = g11$obj, constr = g11$con, meq = g11$eq, eps = 1e-3, tol = 1e-7)) # Only inequality constraints -------------------------------------------------- S.time(RND. <- JDEoptim(c(1e-5, 1e-5), c(16, 16), RND$obj, RND$con, NP = 40, tol = 1e-7)) if (doExtras) { S.time(HEND. <- JDEoptim(c( 100, 1000, 1000 , 10, 10), c(10000, 10000, 10000, 1000, 1000), fn = HEND$obj, constr = HEND$con, tol = 1e-4, trace = TRUE)) S.time(alkylation. <- JDEoptim(c(1500, 1, 3000, 85, 90, 3, 145), c(2000, 120, 3500, 93, 95, 12, 162), fn = alkylation$obj, constr = alkylation$con, tol = 0.1, trace = TRUE)) } # Expected optimal values ------------------------------------------------------ bare.p.v <- function(r) unlist(unname(r[c("par", "value")])) stopifnot( all.equal( bare.p.v(sf1.), c(0, 0, 0), tolerance = 1e-4 ), all.equal( bare.p.v(swf.), c(rep(420.97, 10), -418.9829*10), tolerance = 1e-4 ), all.equal( bare.p.v(RND.), c(3.036504, 5.096052, -0.388812), tolerance = 1e-2 ), all.equal( unname(c(abs(g11.$par[1]), g11.$par[2], g11.$value)), c(1/sqrt(2), 0.5, 0.75), tolerance = 1e-2 ) ) if (doExtras) { stopifnot( all.equal( bare.p.v(HEND.), c(579.19, 1360.13, 5109.92, 182.01, 295.60, 7049.25), tolerance = 1e-3 ), all.equal( bare.p.v(alkylation.), c(1698.256922, 54.274463, 3031.357313, 90.190233, 95.0, 10.504119, 153.535355, -1766.36), tolerance = 1e-2 ) ) } c.time(proc.time()) require(DEoptimR) c.time <- function(...) cat('Time elapsed: ', ..., '\n') S.time <- function(expr) c.time(system.time(expr)) (doExtras <- DEoptimR:::doExtras()) set.seed(2345) # Bound-constrained test problems ---------------------------------------------- bl <- function(x) { # Becker and Lago problem # # -10 <= x1, x2 <= 10 # The function has four minima located at (+-5, +-5), all with f(x*) = 0. # # Source: # Ali, M. Montaz, Khompatraporn, Charoenchai, and Zabinsky, Zelda B. (2005). # A numerical evaluation of several stochastic algorithms on selected # continuous global optimization test problems. # Journal of Global Optimization 31, 635-672. sum((abs(x) - 5)^2) } S.time(bl_ <- NCDEoptim(-c(10, 10), c(10, 10), bl, niche_radius = 5, maxiter = 100)) # Only inequality constraints -------------------------------------------------- # Function F1 # # f(x) = x^2 # subject to: # g(x) = 1 - x^2 <= 0 # # -2 <= x <= 2 # The two global optima are (x1*, x2*; f*) = (1, -1; 1). # # Source: # Poole, Daniel J. and Allen, Christian B. (2019). # Constrained niching using differential evolution. # Swarm and Evolutionary Computation 44, 74-100. S.time(F1_ <- NCDEoptim(-2, 2, function(x) x^2, function(x) 1 - x^2, niche_radius = 1, maxiter = 200)) # Expected optimal values ------------------------------------------------------ stopifnot( all.equal( as.vector(abs(bl_$solution_arch)), rep(5, 8), tolerance = 1e-3 ), all.equal( as.vector(abs(F1_$solution_arch)), c(1, 1), tolerance = 1e-2 ) ) c.time(proc.time()) swf <- function(x) { # Schwefel problem # # -500 <= xi <= 500, i = {1, 2, ..., n} # The number of local minima for a given n is not known, but the global # minimum f(x*) = -418.9829n is located at x* = (s, s, ..., s), s = 420.97. # # Source: # Ali, M. Montaz, Khompatraporn, Charoenchai, and Zabinsky, Zelda B. (2005). # A numerical evaluation of several stochastic algorithms on selected# Journf GO31, 635-672. -crossprod( x, sin(sqrt(abs(x))) ) } sf1x) {Schaffer 1-100number minimaknownumisat x* = (0, 0) f(x*) = 0.Source:Ali, M. Montaz, Khompatraporn, Charoenchai, Zabinsky, Zelda B. (2005)Aerievaluof sevstochastic algorithtempx[1]^2 + x[2]^20.5 + ())^2 -)/(1 + 0.001*^2g1list(obj =i (i = 1, 2)oluis+-1/2), 1/te75. Runarsson, Thomas P.Yao, Xin0).Srankingconstrained evaryIEEE TransaEComput4, 284-294. ( - 1)},eqcon ) RNDReactor network design1e-55, x66It posse twos16 = -0.374610, 168808.u(; f(3.036504, 5.096052;812)Babu,VAngira, Rakesh6Mdiential (MDE)of nonlinearchemprocersCEngineer30, 98925;2]k10.09755988; k299*k1; k3391904*k3-( k2*x6*k3*x5) +*x5) ) / ( )* 4 )) +2]) - 4HEHeat exchange00,2, x34,1,,579.19, 1360.13,5109.92, 182.095.60; 7049.25[1]3]x12;34455c(100*x11*(4004833.33252*x4 - xx2- 1250+53*5255}alkylOoperunitVari Lower B Upp-x1 15002x2 1233035485 935 9 956 3127145162maxprofit$1766.36 day,vs x1698.256922 = 54.274463 = 3031.3573x4 = 90.1902355.0.5041x753.5353551.715*x3*x[64.0565*x30.0*0.063*[567759553571*x6^28839285711756251.1088130353360660x6.66173269+ 172.3987856.5966191.2059208703217576256.8507198*x7*x42462.3121*x25.125634*3*x461.18996.048951*x7744.3330.02255675951.006100058196723 +245025020.4081.22448982 - 7.322.P: DER V:-3-1 Date: 2024-11-23 TitlEin Pure R Authors@R: cperson(c("Eduardo", "L. T."), "Conceicao" role = c("autcre")email = "@ec"MartinMaechler"ctb"@stat.math.ethz.chcomORCID-0002-8685-9910") URL: svn://svn.r-forgesvnroot/robust/pkg/Descript(heurifoofgtaito curate a colitsnts(1) dosacrifice sci(2)ly tuning-3)be efficiently erecR languageCurr, ivides'jDE'Bret al. single-obive'NC Qu1211.2161873>ultimod(ple). Imports: s Enhances: : GPL (>=: [aut, cre] [ctb] () M<> Repository: CRAN/R-F/PRevi008TimeStamp 19:13:45/20:20:02 UTC Needsilnod25:06; r Built: R 4.5.0; ;5-05-26 10:10:31unix J -CN SOvia NCMiFrom(, runif, median ) ex( , ) \{NEWS} \t{New \pkg{}} \sec{Cs023-07-10)}\itemize New \code{()} adds a bespoke} 0-61605InJ,FUN} redcre_to}51tau12}3}tau_F_CR_pF},sply04-01-27First releof:jDEt handldbia feasiover unby a parameter-les\eqn{\varepsilon}{-method. } }2SHI$n4NRa)ƘA@I"I1\4L*'m̱=D! (LqXv-X]>A%v&,.R61Z8[XS$`<XM3'pm)9,vʻ.jJg"zk0 \ $p3́4i1GN_g Ǡ! |>.'AF1'N+ӬP*yLPɩLm%>?SAj ĠlQ剋> I9xdiS2&nPB{دW,z UXuG@j#J蹉a`v%M'( i`te&|#qz|([^?GeDq/ v=ѤEGE;oH ww)~ ?Q)H,JX?תGt89~2:EͬPlOϔ@ūZUS`.m.C l.C~*-]، O6x_R oMfQ>]cڶ{~ yCXJ.øXm~˟|v=b:c2Șķ5=P LA P\b %?S8pFv ta%r4Q ܢj:x^VU_2ĪsM÷V[HvT[\H?~rאC8\y妞~j!iH  !nZSi(0_m=!D| > ߥZS[]ӗ, F(Bds[\t DCGU{%kEOZZ{i4{Tӣă:X« B9--ؔ^SxwA7z#XXS UƓ6[C1ݩ8#*:r!} :&;RUUD s$$L8wP9h12R ]1>3YHJ# l>L]#`& n{yԛ sFA?w$Ӱڀ},?&h%f"6 j> Ɖ[.<0!z xp5.:uʘΕ/rx#'wU>VhcW"Ԅ TDE(, q IgX- (,ZbtHMew98H.nB _ҷ #IZ@%{01 4*HM QI>"$b;WFmbMB)@;D7$ Bad:eBp5Y('|AfxD{p{#@JZ'8'*@}S򪕆iϹhK5g /]YU$