ࡱ> }~`!t O2VHfp+<<=@0xڕ tUǿQ 1aI1l !F T(U,`P@vZ۪jOVmURYhG;μދ՜wwm7$$*] !=PZ(Y(dY(0ٳg%p?MUUAP?QܒR#ҤQKZyK怙 Rޖ\,yOQirBfIY*}VN)]ڋmUk!uHMϠ%0Py2O XQpYR\H-/jɦֆCY4U_JDl4bo}ʾPy4QgK2}7 ETH`mVm녲bY%cyWJ1Z,[[~Q/~_bwσ? J/μzyYփ;A.d]ϯ+7 v1%*5e7 .]pSo6@ փ5̽ *^?^a##[ddMF~ v#d128z?# C"S&ceγO_ߨ||/ykڏ%ep#6_C{tɛrA7!Ntt͠ l;tN~]l@+q>"?>Qh`=u`|@}KlLj(Kozd6$jbA3å䤚̢j:WO*ʽg(1#{4CFv(Jֺì#ӣp[c&ch>접4C*}찑1g%(ifdWyW٫2וQ8PI^=gI3FpХ ycq ꯘ~6ENFq^Q J@(e\"SL&7Bv [Nbl9~ΘiOEoTeWpM==gI= Kjs|H/"`]<+L!it;՛ ŝd1 8d㈱ y`2Do&ax +^:~#mٵCX!CX0 vccW3n _jTEK=q2t~t$ɼK;92x3t\ΐ+VNr3zmǗ.rNڈr#䯉6b"kd~#_^g3~R:]Y:Ci\GGff-[KT,RYCh/nr7Awqo梨Mc<1?QGCtMd{yލdR+;u3$Kogj=oD ھ9v"*2= I؟ 3*۾~Uo$rdzdjsezML¡i[&uec`"}ad;lfd}w}w" CIa='[ef~̮{'d%͉8 owS}wbg? zl]?Voש;n;wVqUv#LRexns;.v 曆s7U9C`cY|z[wmQASB) sdEj~kWix2Y,=ϻ57"~Ěc0Blٹ}ނ]tr+Jwn4I߸M߸3}gX7/w3>kgyǟ4@R/լ,0P8w#JQJ*m!Z* RaX7Thy.a_%`kKiWg6g\*j[HE֓'[mO] XExK=eq 9YjHy3]'P*"Uy~";%:$GnH"sM/Y#l|\c0<kP狜(d{0?YpeY qȉBnËFBǡ`<8D!;Y1La~D%糾U;fR,5::B,ARXzn!Q|*ԨL䴚ϢײWWs/7g@;mڝ_5NnlP9tt𹠎.B8VەD5 4S3DscF]bowUWI4Mg%^:U(ۥ̎ȑm92= 6ce ZM4MhVݙLJn28>WOVWbIq]k>ԧ:4Ǡ˃QN|ው1h5 -.cANhAĂc1~mA['G%} 9>k;UOv+fS$!!k'-uuNM}Ww3 K#Y{%zMR2: VXGRd/íaVo9!{y_(#2Mϧ+GuL^a@ϣr N<4eO6>d>INzͯ({5MٿW1W1C#>1,KsFDKMo\!3L¡ȃ#ӣpsezOC+ӣp8ywdzrZ_#K,-/ҾYڗ4Kei,[c˳t,"K]bEn~'2ɲv9T5<=a8צ*[ۣi+Ǚ}GW%ylf?Y{7`l˝lW\C֛DЎ3O[ sk;iqdzdN)=czG i5"XZ&%YJj5FѾYY[g]qMŵk5"#/#-Kĕ5ueFVndl\(jUXz*\:3owww=tQ3e%-zfUZ*ϸ_*-[w2?U˻*[f- mW]kxkV^;j[ w㭊3ﰇOxo{xGTxyx'tx<Δ yxIQ ﴇ7;y^އ +7FK5^ <ˊ^z ^ix /;wd/rx^~o #C1FNFtXJdy7YwIE`!&"D+)P1~sfKyC/P$lv&VG<<=@0Fx tBd_@BB $!B"KTBBXdSKmXUQ+.xh J-*,֤ox_jrgo?w̽s{b|i ͤ.T1$4A!MoIcɕrLnret9! #Oe! S4gh?s/_HWgF]-%m#~^GyBKJЀ=B-ӥL iN2MZJ}h ̢3tΜ.]\'TMAs ٌM\0Ӗͻl̃k.Øj\Skff&KWI|%MًpV|o*p&cN$̀$o4<;|S$8|ICD—.]o8zK$A7Dzb&_t \ͦ6\6v62XMd Xp~Gq8ؙ1Xm}N.nj>X8B|MtBX][2w&sLe f+wݔ\&4K>녷Hx<|J9J |/C߾OiO__mw~yZ&r/\yav3j+xh-d|~dx^I{!(^L[1Ty'@} R?()&p'r]a 6;A (+x Vx'ɫs ՃpsU^Ezb]m̸K¢/Ktd/Ϣ???ۗ'~/u,Mֻpww1ǩ_nbDv?8G%!񡬕ccR րU`jbbBb"b"bBPVe΀<<s \^|G[X,ؿ,k:NƓ| ^(ǺƲ1}zNF1D¹MԽ-aϻ-~Gܮ PѴ}MC#hdѭI'J:>741>q 6"%ۍ<76"2"JuCѓ7=Ȍ#w{; @__1.q ⩛1=OGp3gD&dᬧgz9V;c4B4x>~uNJFGPƂh!`(ϱqƣ#؉xZ=285֞o]W`v5ӓ@bǠa!` So<hB@0k hM&Ԛ;5PdoGy9zڋL o}gOmqo~ [ ԛQo S]+UP\[]̥ӹl$6`wbueV^ver "}+Cޥr3ɾ2ᝦ䷷OxBsgWTj7Mn69sִuށ-k^eC߄ʥ+W܏~~coٓ۱XSX2R'{ô=J}cui@ sSlwo}No٢S˝:X=∧/4gkţ>tua@M=׵k֤mp5Uv<;=s1#2~)d|x|D|D(MHH&(gg? m7B c<1<lk7 rէCGv4c'/ɏyrFq3J[;Gƒ &QϠ_gOV{sy~7^5ټ-T <+*R)"ՍP-Ѕ7LR .+:ys )Lri^Z) aL׊NX )ntp#Ҫ·ǧ9?s 셥vSO}cw&rB,vN"rۈna-ՅjEm%DakUer""icDb)7}_80_oKgdl3Se%xڇSg(cM~}ԁ.ˍ+E|=qkp44guϪv@=Mݗ5{ZH&ҝwgQDyG3硜DYEr̾v#OYo/+9ub-ސW ,s!kȂZZ( \ȫB r]xC1S^ 5qXP5P@+g2j qXPXE5N*F i]NRu0]Ak =pb +sA-zwWZUڂb8(pS򚫬RbAQlA](@jkV(pcW]WQρmljddRр&^gh$k@Ygԗ FlklyUʳR!/P{o3vPMBArFW9<'F1N͘\3yBjsy]N"qpTzDˇr)=Nrh鬼=X^w 9X2r_A9̻ YGRƘ붥t4YO}@=o 4j@&5մ7iou5~] yQJa̡4fW~҃s7q`?ɨӶV7qcvGXrN6ٮ>i˔eޟnV39r?\/u5eZߧ:㷳ououv y M]{+*k[dq7}9]Ue .uWU5 Nomg 1rUfK2Ә7xs,%`Lqb`Lqb̆1tW+ƛa)0(ƅ0.tq|D߷#|R}g); _G(G;_ tDKuV|'|]_G%|ኯ#|/Rr(qRrP/U|k R|k S|z8xw|5˿ ֳ%s빮s֌[iI g;TewJ=  >cks}>"0|=>'|S_|?_o*G 477]qDP|rl%|77K%9"`nR|/9/7O8W|i7/]W_jh~P6LLڦ 0 Ѵ+9w.)l !-e9:`!Ǭd;TXB E* >x}SjQ=Ėb Dp+JӒ4Tp#Yb5((hr.Z#/;0s9;`p?:@aXsh9[<٘Ͻ<^uFoYӚMq#i*&rlqcI2yy{ cmQzBhhְxJԥμ)Y-{c ѥӨ6 GO0hny ٰxݭ;Ѣ!w?W_e|;SqyĬV901inj^HUC# ugBE* >uxRJa=_7T| >AQEuo#Q$$T^H=Iۙ]@hd<7l4sO, )B2bY/5M2<|`Su]NwgOԢ:afL>'?\?ҼpPi]yƒk Ә KLE'/[@.[ۦnBP/\/*n[&&4gx{<Ԟ>\]!dse6. C_UwZM3 gVHK#S_ܒ2+fIZtBxmN[v`!q ]D1u [ 3P3xڍTMKAY=(zx]rX"~^@ "C`˂K^/ٟs7,R5^= 1D@ 01-+>sMP2TbP:s Vڤ# zG||=*9FcFXm `0p -?f b#辳Br'X ޔyeos_O 39Iܾ7[u|uC-4&jnޭ_h")5-0;lȹn8AϽ1[&_ב(<^_o|MGs"x}znʺ(ܢeV3=zψUԣoIKDUŸb~f>hQ0KfѢd+;SԃY`\Y+seq,ΕŹ8WCx Е]%Z[ ]%?eLa+>cUБyvW6`!fߌ1XBFh{g,?xڍ}hUǿ߻^/.-]vaZk%{qJ.Zؖ4#-W+{PDVTdeX!2{C ^AEI1V=n.|{=p )%a^%EYVd#Y']c=6#Dۤ˕8ʛps*ρt#ii¾uϹ)QMChzUkK ڭv=zU^s:5^P4Ӈt:Uk? ;V;|Z>GZlw8ME~9>b"!)!IEA*/N*݇j}s87dT&FyP5dFդqm Чx$}E)fC'YƄqgMox\Lxby+|+~ 8.EqkZ\ ^^&\k"I8YenU*jW#|=_ 6o'|uAVzvljTIꁯů^|0_}Ӹ A[}N 3" q'uw')}CQ$_\:qM1EFh{g,?zx] huƟganwepJs5}8tG*1-Q#MW:vwuQCFJP(JQQs7cJ#S4-PADI"sAݗsyimމ7ADbHޤkO'9db,NM!եz[UڡjTQ9y_jc]~]!T#u܏餟iG/Հ_5OnsCЇ^Nz5(-gS$  "0O"qeV!}@2"O_i:1K_*tZj-jh6CyzDe?X]ѯ<5~C':͹pqyǻL,T&cWuzGΣ\ZR7\ ]v.Aӏ: ӗq.}?W+.>J}J|"wwDIl! x} pU} ! \#3K#O7ܐ` X@ RE[*vivu CK2eH=Gڦ뮳c}5JRvRuR_' )M5VJ5=韔sR24Y5U*!cUZ'T UV|>~2"F=Y#ZJQ+nY,e־ZȞȃu=Lz-6>u3H8]wˮQ+̿7`x c~ Y9dzs.czlHoꠋq^_"GbM)=M_( \oj3_,`ՕiYM45dJSL :ju =lxӌO@3PIͽf2oQhr1?hc5u%q*1"b<kqWx5cPJWcnjw5ڧS|Gh;9e1VU5jܜÌ ȼ𪚷wD:7,ʩ:ʉPm9S Z\D,b2ֱQ?jI­dj<;Oz3ؗVRN@J7#ЅaPH t{o.|o>PH-@JWF.|o! t{K8](rN@J t{ N@J1ЅS2ЅEH..B6pP򽍚ԅ5sP1nL+tEI]KӖ$u#"]^K6qnP={PHfDQ~Q~Q=N튍IʔEn0ݪ<[j4kn`niw V±n[Ӄc# tv7ԗy:!碊nLLeg͠[i4vq;+]wΪ;C{㦲OρgS1p[o$A,٩bx 5ӉznTXAK\OǷͥKY駰EmDT-h%:;gC?0P[ v2>BW|?EO3ŧIBF':L ظ]}%>_%-t>?r F7gLg꽘~D>+ ^t5BȣM䴙dW[Gzb5@ݵ]}73NPJ%&i[ܬ1^Z %qG:F Q* PY3bTW⬌ bWSṘ wҩŞvOEĩ n-O 9F2`vu h;Yk~+$Ը-{ %dmǺc1fTc~Zc=LvBF6b$/}i<_e]~?_>W2;OwڛT[>_g46^ݍұO%rD/hf/xY[weeOz\\J]aXrr$)tp,'*#g9Y6PC 8fWlcnupj.`%vk bs9 jmop~=ޠ/ Smp줾>`3'YuW5`+ګg p#迆xsksAb?J>8 |G>-m&kQJl=D9)J[@X|:})}]2Vݜq|y1Ja4~K`8ow|:q.g4݆m >%sG.(wakN{e{0Lbx'. %l*}|ϲl_5 gu><ޞ~ĔkCB؛G!&){"Cԗ>l!o x{pUƿM < R#@ /CP4@0pIBPy)R% Ub[ڱ:ֶCX;e 2ZФw:9N%9gگCla3^յS]-_7Z76NC3VEJՋgk=Js5]49`^PkEI vl5oTՊ& ƍ^l';*w6XlxQ >/~7XiVNZeV*1i ȶ6-^}%8/H?i{<Ǒ'zF'NtN"y\J>>b> zObS󖾧ꠓ[t~gi;sGUnrcΏJV5c3Dk2B~.ji&VMOG3LfJ7Igi!lsT-'Ȍ&#  2*5q :ޞ6C3k<xL/iˉ܁ov*9T jKAGp4 Y7E?V+7k97A_|8VZxg1=b]<?z fm>t|9ă^l$s/q}oF>A&?{;3go||:LgJ\IGQ|+8=v8F5ӣi\ݬqys5.o!W =Z4.õx}yky<VwSCTKjZ7F9'N8Lk֜V-9鬧ZWpTUNu8@9B~N_Wp<*.tb*yvnRao!+V"~kvJ۩W[kGmî?7eU_4tw _kSu.괺W ƻZI3N%X_C Yv`:hO28XǛxn"u5|NފU[Y\C%YK[s͝?ZA:BjBk~M7؏!KU\~1+(5p& gu9|ugfPPdvDA}?g"㨜R#ZFRwF+8;[_ NK삗~ μ*cf6u;k~734*vjXo06TTK~N\{W]|VWaqCS@GmYdP.>2IORVj+9I>ԔC'6 ]a?Xy)<dlCP y98q#5} % t :[dg jjٕXp ;]N?r#Bus7Y`-#siqa#ׅ_op`! Q$_ oҲKgܺ (0`\9xIl[es6]&n'$)J[(B@B q nȩ gn@7bgxv/u'PToϮC[UB<7=ɀHO_dw_8kK|3I;sΓ:η+=HOSxﴻv/_xy% r[ ]?wL7"ܨ q9&dȝS^{ʾ7Ϟ7;,ŷg] Q;KO6M~psAX)0| Lc6/auQ[2* y*g39'_QE^;r]=KUg䠛g4UJRLlsR-pDEg~]U"'AH~o94Y۪\.qxG,i0 $ʾĩ8@uڋ=j7;c P*`'I0htO_yY25U?2>rDvݙ:h0arA1t2Ӥ63ř< 8<){is=IILK{{qF5vh.mOߋeXcWe *5bՈY#vADo PnžSFg^4{Mf9mJݷ^Nysuq w˜yPĶ Q@>YO~\ؖ91 osUw3#SW7ѝJ]u[]՝QwH"!gyvUR::L1w=w{]WnICjT k3Gmf)>yJK Op?&+"YVJPjqIS/;c/8+&8QX-*Jʤ%פ'*7QqK'^a}*K9$9"cT`UpS0U<ۋhمG+&yuF" ;uY"YO(*?#%OhK3N#rPd H-bVj꥖e 7qjPfQi^;wOy`>W]ބu'O@_K=W"GGjG졆C]7^cߣ~_p\b pj,Q '0c?:%G!c6'Oz00(=O 2bWAOθ41S}VG::܅Յk|7&)2̶[ :j:m N'q;hT<q=qaљ"6=ي~/`1285*SOD7 4fia-ʹ{19C ԊlFQA-:` ֨֩;:3<7|H0Öb>M 13Π/-[9UW :Mv޻+qUPDӺtemt<#),x^?4YlISJ3M45LQ9j:Km2mi̞wvs\9|!9*}N :v<udsp9I-y8\r*+7/s 3':Yy::HZ^T<;ϛpO2]^> R cy='7D߄"|WG`Lş xϘQ, bأA3N̓92Ru} /@t@W>@ !Ƣ3ʈŒe $xE3fSy⨢E",a\,w-4жKxy<#Ȣ(cfL1Q˰h;0RuA'o?:+w z 3Ҋٌ20c n7 e8qWZßjj=*Uqȴp/W[`Eks>R 4u~If3g1-i("j0q.2 ǹkϛa"F ;lHe̲9DAQ  T[ז3WSm PLZe7k*P%(w|^N| 4yzu-6)$0(5SH(5SH`>kR+;لZVKܝo˗ yHe8H2JDULJ/jzODQVdWfu` Q¾9:,\sde^e^dd2nbX솅oXF$>s˚{BSUֻazPd\_w Eי`3o3*hTaNλ!b nb>l`;`JƜtAL r@k(,§Mpl0O0 \A!ʽAXQ@ @bx ,9dd dLHϬ.,! `F0یt| O Kc6Zfɋ\|Ǿ@c0!a`F! Z,FCl2AO_b[B00yKE4t lL`'xͼoSƜns"&ɍx7(n˹)Gsc61}qK`"Wm5uXtGlv+(ïJx,L 6;;`x zjXX??Wdb`4%eZаN)xqXbm"$LbD&&21I,đIēI$ 2YI&IdLѻLRbXOM5Zd Q[,'坐 SblAVlCK9:*VO;'ڎO;6<mؗW|vcU[ K5lհYVW~te}F5K\ds S:$D؍*8&9 bJ/Ż aۊ o;<vӁOVQVxng XWUCXj`Fw:E*ToG%VTUso4La) &cV1C0蓘_2FFj$nVXYxe*g(8+yy'r2QfQ8pn q'r2n;1N*bW 2nů`G2Б rAZ6e3ZRB5KQF7+P 88NS4g?+m8INwRNjI.1vo+ju?OЇ8 Nc(vo 4=7g7۠ϠB }#ۂV~ӋJzaJ Ĵێ;Zh͊F Z+՗]kx/x]"~ZԅN4^BkS35s{$ y|8 Nc(v?ó=6¿8 ī'noܽ(~;L!B M4}rѧ^D_on]u7XWxc} }{ q0CWpzvSnYuvR^}3tg~ko;w(F?u6d (!LD#r Vd5֠l @:Dulv+(ïJx,ɠ;mdQ(8#Ǩ5v~Pߩ믜_8?qQ}x7~!-5xwxN:uT(B_] ~T m#Xb:@-4fC#~?? o=wQC\=hɃ14usfqƆ9k?׏<#<npc.C bs>x]IA7m_; 9 ߰ !1C[b9ara}iR0 xileTmD8,B"((RhRQY Gj7fDcg dR hEQbbLH8\O3rq?ɿ}yss5CPoANsM9}z#\ҵ'\Í!?=Ϡ0 eab{w{Vz]e=+m Å{tu^(-tk˯{vMާӗt/+KYtcY?OjsaiȵɍƲ NP7.\ƫDŽp:]? f Bq ]gS?g?V볍PQV[ׇ<'z]h=-؝~Lزco7YݯK9K_g&Kܯ C|Ǫo93/|uެk 1!B 6{7{ׅTU|հ?bgm#s׏?|227|[O?sw|ާ|Cثm>sh9t@=^1͠t7C̡)̧"+稟cآ_k37F}H>K]ZO؝~i>{e:G]9Tcղc`0V*3 ֘Ck͠u;sIsh9zQf;9϶Ϸc>0oM^[Ol؝~li>ƺ/W^s5Ԡ^e̡R=͡X&vս^DU|հt}=O'=L0%*K~G}):jN<ˣ._gPWzS7!CZDA3U8S%MJJJ n>ʽēƷKyT S*.g8xcmyrY&*0' 3aFX됏99 |&;T?6f{=~)2xsJ,Yγg%i^i^i^i^)^V'Y³KYVXs0-ø sKEJzuq×w XeQt}e \/H2Q7N,Hίě[zRMfΛ܎v*7z+ý[=ȑ޿^>ڻuw|օޭǛ qS`[6A1aSʶ _\!+ed4jYZkelMa{ĵQwou/ڻ/uty ͫ寑Utz讥k1%k计Zk鮣^AJ[Ew#ݫ^CZѼ6д m;ٺ Ht;m멫`Yԭ m~Թ#(<[b -x.Nx-ⶈ"K-]ֶ[ 2NܢуO: \SGxozo³ J+7S/^"f,Kn.;U.G"bTU)fJ )ZR4h4<ݎEw;hAS miFVy]=\O:>#<[du[ͿJ|+6N:qɽUT52+5_nKn 3 Cf/~UV5#ne;M&N%%7cٴSn.vn9ۣZp\>/܌W܌vUy:Dﻷz{٥}ߑxFỎs@qOc=a*L5=J\w]_grz+qHӻX%b/߀7uG (?콺ӶVZ۫mõkב{Cշ(|w ??|+x'=)IY:)['ddK~?ѕGuGN@Swo[?u~|+Nx&Qc]yqJWPBJRbNӐ%MSV/|8O!^wAINx֯L/LcS]s}|: Gx޲~!v+ه ;47gn^N!DJ`!r2m;i CPRͼ@S81xKPwdddd" 3 YBYF6b$*{zz%y.n U*[.I|ZY7W˲ǿ_~<|_諧}?~˛現[~۷?,{կ|M志??髟?/򳖗!>{!;8(BpPw΅(FVZzm^cA5%Za._Sxl5o.T 5`! ] !$=0s.ijdpb 4x +#8_E/j~=禰μZGp4S_7Z=bfmma,4-a18:횗RNb)8xNCaMt8sM԰ڵ-`YGom䠶AN#.tTVWa + 8n;=2nӼ_A]mJ"UaFoۮQXt)-G0{Kmqvf=`du[ F;Vn~AF 1A/ !( kl:ݨ!hdD۩|%~8]| rraBrP16BPdur|h1w0x%讱Nx#198L1* =,gr+p89/6{YA$ !Qfqwf w188( ]$tc{s0slIp}ɉ` q0>~w9A`33 5`aM;v0BIO`:xJQ`4G:D0wA$` + K#ثn 9(8ppE< g}.Lpg8QJ ` 9Y r44D(n._*t.C`$ T _)v}n/a&i1vu'" ) s:gZQ)1XSu9ԞK$̀$ݖ._v$`v* y\=eo@ B5YGvt=zD!m={ev38z'69)Qx>Z%aM9F7y1$l"u>FSr0KB](l)\V.9X" QK&rn7PX!Au0@aQ6AE}9خM/ kh+)㕄`3ϖA9}1$T N`ƒܖQQv`oݜ%aNn'~ǘЄD1(T lJab,Rkz(:8Ģq+ Oi7;ō(lU r0KmSQ4OU.5>Ԧݟ9X†Šf":X$٦:83,Oa[9lܧm-zf {>aK[8y׸-Z1X-uV Zs'04l>uS)l%aNq ,2oyVo$poq>/]RၮqNHah#f1xA+ >vZ5[jqpqKƯ~Ѡ-}& YVߡ07;^ֆtgb|8r0Te8$\NDb 6._S`X".0t–)鰏<rpMFFj;x3B%a:= k] rW NQjCq `t(<_7KC5n> 9xP) #8ErB6`5 x ǹ;Żq0w>^]NŎN +A>`T 9Xȗ4d2'k0J,we0Aq0/q;H<,gF0Ug*A6q98KI^, v r0u@A5l8ݼafgFp9`߁x{䋞r1_{zEl#gMƣe/Arp^p+MtRgS%7Q_bYrP[\`$&Wr52s0}â0VCB!3;E:9A}ط} XB2f|W'8l* (PX3mZG?z$r0cbN2o-X: B8j7 v* 9ɸl<^r0.~Ax2ࠫTz'_L %;pcp),rb\?XtJupcs<zu)LFU:L6tJE䠄n~u  JcqTJ ;PBp~ࠄ<>\vRrpinA)Q8ߛPp$W1e#ITJo % LܘsvQ(Q8Lbpj]9B¡V|Q'"8JB᠒PTJr u% 'u0}JBy;*Pڠ}򬀗m"L!w.[ ){W:VO(\OP˛[?M* %g{APpeY?wq9w,i8J\CTJ@OT p2o~Q(i8kn(((l,Ca9$lcGP SHCI< 7aC8BynueAXax8 /.{uBi!sP&N:5A!- DrEBr7b  CrPc#h  „[{."@9qKMwՏh^}rww;z r\VwY<^@B`t[%[fY 1zЛ$!2bN֧ A!D\'.)ҧBg~|o勯, YCġa>8@o/͗[@S81!x[kl]Uv^7Q5?UV:ը]) 4c1P[ѨH$<^$N2"!$$&Îc;~_^_s>3jsַ^{>bfi'֒7)DQߡ}=$~zjJ~ne~Ûy zrq1ݏX.%"/PL&R*&Mn&o!{ oYzYӇ1#n &.edC>$l?٧͋~b &Bb^5U(LL?"(,Zy)Fa=O݆_3 t66Q=ŷʟf$Q4  j|A}T9WJ }ӷErjQwT>>:7Xhùt0 W%U&]?KCD3ѨG _Q{:F 5Z\dib}<oice^AyxN j=Re< w4"㑓pN3@oGrT 4y(Ǥ{ v?;i8hӀO'yHg)D UbS:)7X^~J9/]N ^{<±Y6/<'g$Tzʇ) 6rQ2JQ:(O_;H,At)*\s,*R# Gß%c x%c0(atF20 t ~%O{8.kEATF㤢R{_B̕*1u0 QrFᯣ Q_2OZő='L4pVI\Nk-bmW-r]x;gUSgn@CHd9A~ 5gL~e.v6`0c`8* 59,2,jAgPHa e Ӯ*3m:&e3A|4^Tu΀xq \"ܣ<^=UΣ1,KzYk\pj`qeFZ}U!,uuBSfW\z@j&{6 ~MV:+mB;+8Wq5ݤǯ ԕpN54Y5KuΨq,sk wO IcX:AfJITj.r| C>A;N߹ 7tPm4 pA74i֟,ɩZl9Ҝ:d{rsBv/4_Pbſ1pPqAztdM4c/(φo0Fo(NTW3`k҄ZBwg9܎ˑ;oikib܉\K}綠7Q1I8D~baR`̙Hj;>c򧊽Wa8p⎡ڼOР~=U>sr7BI>Y;!<^<$˭HހHJwbNqPrN麱rJYMC{aѽM&q{&FFC6А6ԇ *DӍ4$^vtS0ݤv8\{-uw*SKu*SSu6$t"5&8̵Nݨ)SdqFeZpdN0~nG#ډd$+|BYN;`^""c)G4r>A0M;9ep[Rƴ-m\fW F=ovm 1YзMH,;Dm+Nڨoic? g 9yߧ2mI +hM"D$ܼ&d!wg2Jy%iS3p' |+<уRdJc'aJ<3[OI0E("Ḧ́4 !Ħ@(pQltPfuߜ0) &!%k-3١.eeڤjyN.(}?(eHcA#Hlo6*l*l}z$|[>ïZaDPE?eGZCb"ih跥9'wO}8KmpW5ÝMPW9ݴ,U~J]')y5ZnK5Kேi3C_TiuNz8K͋F7[[2ټT׻) 䘡L^f%_ՅJ>?o*rW ?hyY";H,π3}QukUDIOQN԰]<+e.='q@$ܳnBC~ࡽ^v Ѵ ӳ{:)$Lɔ"*42 dfpq**B^A-IɧӸwOAJ鶫覄>o.FW@FjP3y)C \ڍn'vٔNI{z>ߞh=`,{t([@~Y+wdW}>2r7b V2./YɡE^2q%e{qeDcO_Ra9uN27x~"<) 0tG-ͲOqBڃ%%_90|/9g؏8mЏ l\=`Pwp~u of8t7׊xŌ;"^b^%!;,Wk,g%5AUc;V^5lZ~+odԭ>Xeˏ<V96 xؙ3}zuŘ:N@LxkE|uvgGWXV|b*3&}W)[Epp#}Q ;%_"W1MM4NSƦIڔǸጛ~wZUpPgevL(>W73(V1+$_jzT-_4${@~Tɧ5C7!2q"y <(yD~Nc;%xu, =NU@znMPKJT_ȷM[#G^y:ջ렮ө٨.SGԋŝ^Nq1 IEP=O!yLq"H=IL}ak*-_*K)Z%%w 9ss(0_%c!'꽀iXЂy9>w8<*+NwYo鋻i@ٜ9Rp|͙ ,W%~MdD#15i=:nfY$18m3)u,ߟ4j8q%DlIsj8q884g).xSx]o?Y0w]VCM\*Ep0䮊:6t\8bXWR?Ί@DٰⴏX8= M9XUi7ʷ^lk+^ `u`,gM0~0xbŤ(Ndߤ``x_V4;IcRpuiI!2Xh\"1l`x?/޿0tsG+u|<ehs]a>eҤ}۟`Au}Iw2^e;=zW8.-Vx@E8H4!t)u ^l% qӡ4ųn#SΠn?]|>~5I?1 e"l#ޖ .m?}ۅ 2|1a88')?z|7dem7|P iU"U!F"l?g~i#1>+F5b3⌑Ȝj1(ލaDdw{ N/y9_4>9%XIbm\b#U~!oNfš3~p‹E=ߖ;q ڕQq իBGb諑Y:A>VVʲ&T'Xq֊sVU4IM[t``Iς>oa4fLxuEhJ{qJjE&YqΊV쭘ͪv8Sr>>UmZ8޳u5?GČsfbO,kN?g|x[䟁_:(&>- 2 mXmH4ÆtߺhnA{Uu1N1ǽ?Vlo@rE$+0Ȝ iq4]+bw^_kdz4\DX varҫ6ߗQ6˶*9:* '\FPIn U H&pD"(DiKHҕ6iji|8uq3]k=szE"y߽{lDNXRX:p4D15?uT\@S=Ҧ~[c_s$}CwaZD}/|Co`{S d}#֪7>?ٷ9~!F(^w"in?8zb[#Z\@V ..\?*hʘ`,pTc;7oJ;[)+m6Zo!Ȅcwp5v*ޅr=GXRX:~ao@vњcM߃.5iǨְt`!2j~h/)+6zχ CXo?' .,_O~ucv|gțo+aE\2\FB|A9xlq}|vAD%Aڍ+4ƥuXp/tu(Y;~%e͛}QCf:4x5.lې{l4nf-%mZ\^!7Lx Vn8cr%K &bv\'ces ÅwG2з\q(ڛ;8m!kc<Քeރg4ݶ>j{jĶ*g.&5߲{^[uL,pG"$d F҅^s .!RV-_-纤tII/ڕ2>ܗŸ!: BBjcσ-ƾQr,ۜ#`V]fahB>S 7^s* U`3z>"K .}CS穏cV6~9x|i`4vzxky/>x%e9~e5Ocw9"DVLph[4> #ްLtA2@+CWV|:A ޯdH&u D ި|KpIO^0Bfh2&ɞuWe")G♛~Oֲ0"AȲɁrz<{+l#֚0z60a̲uY1sw".爑%,E<1̟R>3Ŧ^ib`" G6x^ׇmk_3HZ2=Pv iW}P3d̈́J@ 򷌐6! L  ^Ogi+';cMkF:N㟩$ZvXZf_|QZ2 Di:ڙ=+j޹X5s"DX}ޱa?Y 0Féٺ_9}R:[6"(@q1+^<54[]U m@,vg()!mBH1fjn(zsszM+^aU3a̚ŔKnSa3/m$CNЦϠԎk=O$AX&3O=hKpڑ*s||JH7nV+쁾Vͱ޼+**!U<ů߬-l$Xh$$B*4VKoS'w~U?-FuU[C*\Tj/UC |:WkoCM*,9RaB|"~Qꋡh%;NOx;n sG2~:Y j| os[)ʃ_O/|k{DT`!8LR;(f\U|1xڍKlTUƿ{ӖGDˣNB- FKK(XD@Q6"N-L& bB45!Q&n\rc 7 asaAf9;wX/զr>t2l2,kElc+,;J&=.Rav2/H8|Xߞ#K-MnZDMJYwԮ?uB~Ys'ч#i}tJ:tLGզCX+am]0~Zu@ZFA^,~5yρ-%Cg/Y%3;Q 떖/=YV螉٩E}I cbI=Ef.֥X2=[rp1 7|/d$o;QgUjdAu-5 U%C=zNz^ڮqUP+5Jm&sjQ@j3wy (2􂾄 v;qlv[c;_3s/&N5GtXf_(ڊm佈gR@z]BbiG a.(hnD W׭yJ5G.{`mGf7.v(\r1sHE<춊^Fy u]zժ%J ,NII>n:}2mFpឹLb:Άaj7n݆!3o>G c6r.s]w|ۈv :썜uN'A t}Y/[%wVMG˥ m[6Kyn,FzyA'f̹TzBGV kB _yqc=J͋SsX ٵ_XhsG iegW" u|¿&apR QFpxF?kP3Xcѯ'z'"KB/z^fn9[T Cԑr8-y |1xKQǿfJ2EKi-4Yffh&5j{V"EDQT=S/3J ~>̈R3=s?ZcF0EW 3 l 59L/QH_T*;k=U: !SjvjvȅJUFT9/Efmo<hfy{Ʋ?MQh:0Q< T#~g|`Uޫ>*BiHz=TY%oψsf+hVV@˵1Cz[ChF1Aֺ{wb3ܚ+ԚЉam_FvEK~KTl9N|5o+"@ilR&{C /5ΑZ{]op,nR?:ޯB4h1Y|{e}?wta*>K(y&gB $ޣAJxAdh]7 :FdGNڱ:Z5G1M/%v}?u6&k~aoi/5"_B:%\G] U5*tl.2H4)Z<][nN-'.~;bwE)q Y'(ttJj{nÿ @*li[.qhTZaޭHtp2:c[q὞5XytkzYBo0~c~uePtbI}c.i:|GS'Ȧr;#6A~Suvn Ti,|HhR)Ԣo):d zc2bq ==`R?ls`6tUy~m'\-f,Î :8𝐂Lƛ~rKxeۖ5Ɵ!߭s^z`!'Q)sGX &5%5hxڅiWǚYA@QـhA8ɓqAPy˜Izrmw藽zZO9^k}]U$Yؚ$eI~&jAV_o2V*3 ҿ-H}DƂw% !Y5(`e~ׂ%IL=#Y疅KIoҟx{ɿ&ə7Q xTdMT]Jɿ$?'+&L eoɿ^mr𽫹Cb*ӯ֝Oz$=ɏ %joE2d#|e'haҾc[mN)S&_'0~}IKU-C%(^(ԿP\|:yrC?G͎a`1~M3Eor9# 344ӼN=:羺9Q$V_KOXk9eQmڪ-}a6ڋG'^ld˗%oV?Ys3jGGyP؁JPOv򰋗Ox[M%I-ZkQZuըF5ݍOԾ4ƤZ*TbOʐBW۰5RNjz,یV`+16#?EZ^B D#B\/|! ^=9~ur"+_Hg="/XyK/c,c,c,c,c 5sP8sQ8kldaj_X*q+ů2,T-wIC=x}_+wHa:GnUٷȮĹc6r"+Nb%K)o6Vc Wρ5\\χ᜸+ù1:վJV_Ngt_"˻8͡vyٱ<%D*r[,+pPRKU;'A-h{O}. :ѭ_/O|= 8*Ҿ(?_\\:9fϖ'K,y#+0Q!~; ztS&_JT͡pª3GCsa 6GK5!c8#21|Vw?şgz?3@8 lB83B >;(Oj18a,~4&?[7qGp?$k_A@s*Jߒ4.ҟmU6:RtSr*L2x))[|o:xjgM|ϊT(;ņc?W\l:Y2fϔg|]'.1L27sՑ87hXE۠shMoXZ )F7V+Jh")s'pݸ]q} лA Ɛ3h Z={VЀo`6%oJ)~*㯌rTTOP݅ݑ&^xj⭙f^n:nU]mlGnNt6qG{zqW>qܣ7HwPvoC= ~J v|+_p½B_ ᾡ ة]cow=QSPǤz3ns3Ӯ;z^E_hb<1GQs~FQk"P6!QW5ۋt6niBg,]Nq]~h׿=[ûѢg<-E7{P//޿EoPܐa:#*t঑Dnww/>T~ϟA Ŗ>QEqw3Ld>N=A7n+Vx#Vہv Z{Ef=i$)P4C)^e\|"sl~{C } Xk 7#Řcߧ&O3)ߔSO9N%qNYL$ŝ?w#8feF1bc@KmுFqF=gup^p1K'OuHNyϵ-~6-=ZyloQGzuMWq=.".[ LҟgR)y+OcQO c@?nӽ9#=cN^:y䭋.^VuwӟUzpŘ&NџgJiyeiަxwI5o깯q5Ž$ c@܃Xؓ{TǗJ]_(9O0F}o5$+p':Ym- އǜ$&0ّ=|j,' OoaޓgHayG3$a9}=|;⿵mYFS,_EŻpRxGpcCNuہ,kY-*yWxU<538 Sw:COzFyGqOcgMRO|^/jzIgsum8}_-n{':5蒳9YO8ϙG~fkخZ5v$yVɷRq ~CЈQgբ3jYZ?֛(wlY߿{QՇ}F?SZғCj*1<.2X &5%5Bxg{Uz0 JGhK $$B$:BQ08y+yUoF[S9W7<}ϚYkHH7oiɒ>~|w&2 [2/yM.'-N!$MIkhK.dykؖ;S1yW}_'J:.SrnϧL&3?F7yLu'I6'FM*9y:yN'9L܏I,1y}-qY2$#8&L,W/+yd'OL1!?NV`Vc j_ɤ@+c,)VXbG>~'W|{KNy;PCvuov:렳N棇^Џ~(AFIR4/dJTڌR\FJFvSYNm +ং ʹ,6mF`bDT b%6)*_uuZj]ZWk]uUZW?+B{>"k^K:>SW` M(ψlBϛQ2*~|rK%?9^-g?33{87^߻dvF~N[=UG^eR^5X5kZmV[{ۚeVY;ٝT-vli/O~b)LGxKkވ{+'y~x{5?|mi|O{3?7|+4/?bS'O,nBV𳒯*w F#s!R(үXF)ojUfe4RFSm4ZJfKF,B  kFjJWTˑ7[luR7K,:ɢ+l:͡;<>YJj~`m?7<AF|`>^,`N^%urzj\~:nXO{[F^qFѨahMaO1QGōgHGPAPzo#cQcw$|3sq/Ŀ|}ިV4-Moi{CZW|_0m0x è#HAyPg@~u泥~sA?0?#|b Nq?7^&GO͠~s83y?S3^@BZ>s? ZXF,\v3g%VH9q '?)(D#ի[~=u#t}|$_S8y4܈ %q_|佮uyC4ܠM7hNuZ}|\2_ h4 8s83ONBq9*yW^V09LW=}t{8?':Ss Fs3h>+sj[`/0 v 6 (iN Н|Ȼb,R,᝿;/?K\v^xq>o奟WyVXny5{^^JDZK$}+}I-~n69>?C.C|<]uۣFZ=jKC/-aK[O,Gr1~ =3;|ZΥ?'k9L]^⊾AB?Y(yȿ@W7A O4>5f-{Bq'u؋}S}?9H!0AXːLˑ9Ah3*3ZA5vc*w_!O|۱MmlSo[JVzҵmt]N+UA>a/_9Wޢx{c?d Srd!;q|sע؍]ګ;{ {' {Dk K c q'y>o _͠|u>5fy*VU䭪[U={ ;ɰ,[_R޼G-G*CNTERҷ~*kƪ8jW񪡲xUc1mv*cVevb*]ʱ-Υ0eЙlD&y6WEX"9윋z}e%nLy2[KO$NwDZf$~#Π?dFN*~'wUY&}׉[/@ ʛR#VJ"h("R4Z>Yqߊ?{5q/4/\H4ߎ[beϐg|K]"uߨMap/nW+o3347jWaݡzA5Mfud7Ōo5YVv󳋯*>wbfNtV8q!?IiIuJBu /BRLœx1(4' enSۿ4ӯ6lks 's'sgsޜ__________|f[;ﬡ[^^9~ ӘJܤ<1&PgBqucq&蛠3'?c)x>{D^ӾZjic??:!F;c88Ng}+s|Ip A}S'_89|>}l.~wf],o2ùC3ZV+q_pFFm;:хnhE_dDaنdz`Pl =BM6@zCfVZDjѢwޭzi֣)Ҏ~;߉xΞhV~9U8yh3~Dѣ}@ܠG p4~߄QEЩh"'UD-5j,"8l=[?|jۻz:wDޑ!AmfS?Π~v|v|v|v|v|v|7Qm0ίΜaGnq];鐯]viSM3:>>=f'GqL8S*R43>~ڇ"Ř#g9>=TI0BpGP@ppwwè1A QKgc?: QE'phtЅn~z/}ҳw(=GWv'óxR)yRgZiu՟e)ڦhw`!vpH(D=["Cx~" 2xU10 E,L T&8;aܡo *XZ rˤh["5_hghAmKS̱Ay෥nw?Vfɑ+{[ݵ7Cfzef?Ԕ͞x~" 2rxc 0z@1L2lc`a`B P ,͠ @ s@(°Aa? 4oP|A>7>`!i"2A-Ƃ %8X-x}gtTEߛH.@ z"5mJBBf6* J)"*%xg^B@g囹3sRhQԪZ[)ko5uB,˹QMjާ%#@;x!O<ʸ߹hO.52LUchdMtȀ,b0CM\ȃ|,(mjhUzVZsUjYTC5m*}/CstW05 <ȥ- V*׉0JO׏uAe8gN?q::kh$  a?|Cꧯ>حK[azjzhki:u.I5:+Ё ZkZiZj´R-k,C%afJfH_LHECܱ3ɂL9=< mXŨ^ꥪ5ōVT. }L{(lԝLȆ\ȃ|l.@B s35 W2\pPi8 UŨ\`>,cX Qx J^«Qxb'|.` mFOm#{=uvh?!vb fq>hrFsF(=/Z@KZA8?2F$g-1]bgb(>!2eqb 3 9{?酢}/#@C4 0 b`,d@8"X K`2XjW+ m(&$S 3a:@.0 #q|K/Y^b( eQwFlZlǡ1' c~M/Khz MѴ{;Y<~*mGScKkek|ׇg#)\'li%I`Cq4Lv,<  3_>/͜};5#sFCر P, &^ CP᜷0X 0&T:[|,aWDeVj58GTJ٨;R9 2zd~/DlݝBtw^؏ ;݁NpVr= н͋a{tFu(tkCkߨ{ z&ޥmM;B'q$FD42hStE8H$mc]PB qO1G0J cT ?F-&$ SGA4_ p5}ƒY(o+wZLq)gDN,Hf`cts泓LbWΡOa A0ބװ  }==qzг+zvr}9Guƿu}ݞz\ 9xNOB\gBs2XjU x o =Tm2ȬWVer!xPrPwSpLEFRT4S[ j H<4x?UzBf.zB7wwunZ/$ꞜH{\Sp:O^Ya}JO^y!yn.3+u˝S4G6sʽ)Q8'+'WR(Rl%ec/) 3՚I)TRF3{sGs;']{T[xXbQI VŻ֌*0㰊KPXiUVS)ru7Ƙ?[2DŜ\36t>u~) I8bKR(4Q$ ivQG?h,vn_}QE KG ^_%^_% `!qkSե8 1P3x͔{Le?s$=\*t7nZjβhr&Ų4Q@"ahݛ '$642LJ-5neٺ2ge4:}?g}y/>y"^GDRp/9A%H셂9#EQitL4nB px?wx"sHNQSxSiOiK8ey΢޼DVq69:u.`=x fp11ijtv0sr|M>0݌f쥈(a7L07dxX4-ru{7f]ײؙsmff6CtëNc%7MF& ,ec\ cuԛcxPԊqLuR[DΧ]VCBvnXH@Q̧kP4qLYXQ KA"2a2p@Q7y*h;}]|ۼNy2l2RWY9kxސبnofo1OjfTkf[;ub%jOun*2[s+kqu:@PI>c5U0R>FKU_뺯g G4hcL;h!!H s "d)g,Z8\r.ZFIb=糑 x y ^e0 .e+6ɼ> ^|5|N6W\(n'r~a բּI,s{_侗l3N1ο*}s^fclA<,jă]7ƙպ=u'Jndȓ0%Dk#r'Dpgyz7<5u$ʩc$X̣$qDXDcp: 6S޳(Ml/Z|0A=yS>^YI}qfs(M$OyLS>4KX%h%RR2*L뉩|Ul+muG>0eV%Gs]3q$8;p h WN+\6m&Eq'<=M XF?]fKߏ9 pi9CPfM3%.Qd1J/rZZ͢MՔ(DNފ%M<6/xkxs>5s0*Il1ٖCڒ& ^KrYoY)sJ֐jI&x$l]xtO?paeJ:C}W4 sB|D꣔ a%X|f>|>"|"bN`svJW;9;EuM y4Ӡ:A_"&fob! I>h*kem=ۥUฦQOWD3-bw5Gb)/uF2)e"&l:6Gﳱ[ŖG 6n`$yMUj>c|fZ$z+9 !+X},g# 5u"bpρey^)sC& |g];Q =*x=mha$vFY˾l8D"-NCY#3,sé}S'>aB$Dit~ ViWr F26F>ym1d l`ͱe˘jݨ,`P+ #Qnp]6OxF~^7WN%j\X!!+5bM NPh{)&"z´Z .Bl-Oa[;e ^^c:"9%s JuԳ,f9 J h4}4ǂfL 2qL<)o d {qG;#Z8c?TF.޺Ǫ{ >D*f*tc[viS.AnJ4w#^Tꥵ/ b]wtfY)yVsN}[#VJeE\=_zj3o>:fV!IS5շ] ΋M\wpKnu^Pa#+T)bkT`!n Ihm0qj,|Ȫ J5J5xڍ Pe2j-L5XhihBFff h樕["[Y!FN#2ff.-[e FQk=+[y-Km$VRBeA[?u_Winj jl\6^?{XX8w M/kھsǩ1wp EtLkܩ|MЈSiOpOnv* (㗣9L(SLm&L|X B rPA9[H:zC;@j;P91|[݊VPm :nUi6ky~RI6E 뫒\]bXʽ S9;|>;ezT}Ȇl8+8ZVz`۝}}OVDu/ARJ)p4_B}X?- }@_d/+؅`˘Ykh5|fe]vu= +`1BF=+&^:a+s& HXyldVJmydP# \=@Nu&/ A֦= 'T S**F47Q?A& Oד #ևTT^n}UsrXjLC5 4`YGMJq=`huM~L$ Nn Q·\AKʠ6+yï|0.$wB Xm- 2 8\Q\yj8Le&$~AA21vױ[6쟛^E? П,КN$:th/76훣tZÝMNa܆TR_cHKgY+U'E%UdzTxkܳݬƞ|ƣmߩJŴY%*O ]MnWq=`WxA)U.sEzqEb4K2nkz\֖C?ll'?eq($<΃%s>BymD+rԖX1`1s`v - vy<6FbC2u a(0 J5J5yx[PU񥡦^F*6֠uBwD<8nG`QbdD@+i6]5P&MGw{Zk[{m>#>}ԻW#tyPdWWJgy@jmAmu*ج&F#5g&~=q(__ ^UQ>ҫ#cyoɏ Y <>qu<7ɧȋr\ryȷ\zJc^yƭx:4^k26lY%aUl𦢟f0 ow2hAVM¿;/>9 g"7ImX5r%7HMltqXN!~G;cKX& DqĚ@ X7Ĉ"bGi=.@N早>Gn>'Xǖc$b]|d|ɾ|YT U rxkZ_P2)r)si^NR3F4 q2H!rķ^ivQ5ĪVg'>5csLŧ<{D{27~=^G:ſ\umez߈\z_n# pޅ^  zn<kgr5,رy_܋~ Ntf:Qͣ&屾(.9. ޿Ajsap0D7*[hQzHΤfa 1;[?h%wj q6:\8^<~f~܎Uc~{YFz7W]B'۬|.7:XK;k29Yc/<ʊiҙ@sRɗBdr-%::{1:"p_{̗-,68e8kQyD/ ky_+*zICz!L;xЙ ,L{$0 o`\vr̹̠GaLbews@>"~V?wm1}>SH|^.x ErӯrŹ< /^ oe#h@[=zgĨ'~g 6v׿nS`!"m3*x$z. (Q(,(x} \ǟbKeIaf0#ThRv!0dIيbd I Yl%i/3f3溷}ϝx{sw)*bNZ<0[dfnC]t{AnGrC5蜴3򁜂sSU։ĉ,2Oʧ&A!%vBvɓ=R(R '嬜R$W$J<~f\Q]X+d, pՒ%򹬖ؽ{6ʗ?eVco&^vZf@ LŚ IB1GNe }ba8W;䴌Tͣ\MO-EKk %xH瘌[wV/rA1cUU>[u ,s4j˺j8gtR_AojQkrec,vD @H-2N,Av*(`\0Z Q|Y nqxmP}'AK,oHDJxmh~ u΃f4u5!fzi(-r*z药z^ ^{'zrr=%: "%[} rΏ`bŠaE_ӈ^Ikmەv;-Pe\(> bMtܠ~}` ,00@¡92Jf᫑R} g(g77ѣc| 3]2ypvÈ}įoÚ~^A 9x'IfON͓g=T>D=&@Ѝp735. Yo#$cc*.lM2݇/ǎL"r7oaX%^IH@+M-V-x8#eR`g._a2VKhK=8H%QWrs牾BN;#rꗩE|)yHx]">>z(Ed!z^JxwoRHg̬"&__B5MddƆ"QRwAL %kD= )!KH_FŌ'˭}8v6k $AX2dy}'qs w%YX|L[}E)Rc5V\R$]a|s|/`_>V}Iqb81LjΪ)d:rȉ04JU9D) l p Z[,'k@4Et9dbBx@w{sf 3{<4~(fgf?2AP͂W6{ DOϐgһ}4O.g}=]tJzz9|ЛYn1 GZLFng!':/Y]VFO#㟰)+*= =2zd\2z?ӷ`v=DxzY {sYrӐ}6/)Q`ƏO!?"bh*&\Ӻ$ܥ2=$D79 !yT³,f5KT:mP6gT˽躗]Ʒf27B}1(mKeO2yKbnϕX/##M| o1g5$( M#>w^,Hh$F[˪%Er9L%&}"\ 3yixxIi n[O5B!ں>7o;U]ՕF$TjY{nGFMkkkRͨHuYIrrmx_,j|SV?!j zɒ#dͱ6աppO-@:AH$RF* Cme%Uy($a&] X@y2 J ϩ1jDa,P> }4XD12Jȝ j"k'vke&h{;1?:h˫i|dHY%Cn(=pHsq3p.1@°/ VG ޑU}ph'ԇP[4XͣK  Ճ} S C}eЖ6M( 呥19(8ϓ4XwLwQ xLNYirVˈ/DĚ xhDt?%b'^y0LÍ6K2Y~ֲoq16!As?rTSMi'}*m5+}'Vc+VNvtl!Uc َ\PCGWqm=Y:u2Ȋ%yŊS; >-=-4x)q{-qTfJ -9!P2[kktN(F4׻|\}Ǡtt+XS,@@[EFWF{Tnx5BN2,gD Cӹ"l>7X#Ɲy 7ؑ}u.hYޕZB܏s堵h,|1ψW$0iEi&oٛ X6;jNL9 g*RCT gYuxWrD'Psf5k0W*W ϰl+663N?`n19z" drըx֤Յj5 Aͩs8%wNȝި+1ԋyw!s3>SK۶g`[nnft|ycEpERg#;lvO$vA;zoy\vYncH FnpwŞ Z` @R+iF҆/%tw8T'sي8hQARkֶƞ7צBP&xǎ$|KtIm/=4h;S\G92qGr~{H__h앸3|GM7ۛ-P |8>&) x~~ }oΡ#ͅNA'#]J4e1QRBYJп @&jieꪽ(zP}(j4h9GKmK5hđΠ.ц°uY9Da`>΍&0l'1d*sm!so_xu1Z qO/xFs$,g D0s>HU:`N&:J9;I Hqb@JH )7 {C  hGԤU/xw_d"ӇJCn{G%S|8MK?g97ŕj7d?cP65 <̺ (*;,?_ 8CWH8EQHYD=o{ Z`}R|C%4֛e۪oVŕ^p /7P43#N3LDq1]̞%]1~-< '>ѿpc͒ȵ%rmo "VANm@~":^Mdi?=& n- vć*=1{]?l%]WU:Y]%3crа,s = K)Th&@Am<%*!D4wXRCEU }PΑAO"cFz!b Te/oēA7J¾$<$I#k Z2K}/ƂCܿs %.+56(Q(,x]XUGVMk (b.(CA *btQ5XFJGA0&hbVl6o| ߹w̙)U^R'o}+yC,ee6(afJ~j|!9 (HtܗOd'!K ƞ-)d8KU2HQhȽ+j 0 7mc69Ώc I`Ua]FWhss*x;9[ţ]=DO-pdRA 'bwW*ҟ@Ӎq86͏bhDXγs$yyi_Ճ[JO 8Q3Wyp5q@ ouŗ[C"79 GЫ;@hybOD50? BX.8>BO7st0^&-chL(bqB#Ֆ tU] |J~6P߉.w`HJh-NN6[Y9o%`;xo..|*KOU-erѪLT}e(K0Rȏ*'@ `l*#>%t#7wGwg3V1t{x~]"֏$LR-bSe.xO$>Er\Տdr t>jo>,"͛GD!f5q$tCD@U6>๋匕GVUMCӳ{#'2DfI#gbLM:1@:6&+a&x[1UB\P9{J@xb~Ϲ.To2IG w)xU^Ʒɫ9A2?Q2.'ȌP /:ɲIxU<*y ב]E5:'im!br\"&<{>9 0s# x@ȃ|NB⻬kOw8̧=}IH$v AF+yٱuBUgtlK"(@k1sKmicLѲ&#c*ÙȜCCȂ[`L]u1.*ad31ĠGS ł,{)`}.Y7y]5|k=fWFbVy6堵4z UcP fd M=F}j4 \WF;,W9 s(6d]|,r#߂G r-s {H?Fa5H0Z{@V-o wbo2wr3jº rS*1}7\ANt2.~VTPs>} F/Ǿbaz#Љ& ?kƑ_ ,sy򽊑(ո/'q)ץ%h!U>7AeמߞlB߈ZjrCd&B55؀(n@CUIfx QiTAFΫvbwofOxgDvTڜS>OC*vCDCS]"sUj Ϛ^ej9Wm8 ֏%wgOЄFd:*諒E( ;Wuqsj߱xOh cy4jօm^= hp W}Dv2vK5]NOSw&sʬ)ϝ&w d Vvqv2o|l[W" >0.6>120\5%K9Ps[plIMnMj+|z̏UQ#J]jx`57}N2ST* 0Y'[{>s 3LG̤D4rY6,2ADKw޼/0kqA)g?d^a!u6#XzZOl2Tˁ^ҁ^V1e:dr?kM_F?Uv秌Ox| wr)=[\gZJ\TXN %A kۚ +Ёq)Y[E~wu& z fx\LUfs'\s367@!7c.\`y<[P+/`}1XfV_~а~yx{s/z @ǁo-R[ ]zž2 1hj? I3)-p`!P$[6azDD,Xp>fxڍRJQy1PD`k $魬,DHE F,E8g7yiμY8 ۰'/lXm ѪN!IXטs%( ;s/!h.\>uwT?dʂO^H-nme)%”#ܩnzqʺpzll^[xtC7o6Srl 6\VQcC>r]Z£r6;0Gn\6Iʙe3u\Y:Xgȝ#tqɖ}TFwd1߀37xRKBQ8n"H- BCPKn -B[lCQz}z{z]/9_|r.8N^X 2Nn n2JhcdtZ"m4J˯;3?0Y_B&'h'oQ:DkZY; bgkKVu/q9- Ʈh}`FBDnP#mŹ5~iϒ?zzk-.1Q:fR09f߹fMq1EwE*4uჱ`foy?e2,JfPRJ1)IQdFo0&~N=yz{soub$BuYXb@e6T2gV\/6L_U$DaB }?.DGbϤ7jL383 ̱"[ ;\ k‘~(R;xdgVx·|筦|K?#7x'Z<֛ -Y6=\hS&9d]l0(scBU3lCuTxU/kU/e  23x=kBa"Vږd2AÃiP`0$e `5 AᒲfX?`7yC=p9r " 9a쑧E#$EoO[Ͻ҄D44+H ycU]͑XNOSfIz~C7>쩱/lS|135G[o[^-}F7_QR]f|1`!Xkl|Ε2&sXJ<|<=xU[HTQ5G1ѰJ-KJ&&v4n݋ԼfjAKA A.kދ=0}sР99kֿuL5·垈&uO'v Gn8(wա: :j'4k4\znzya;FMM6ޔѩ ]N2(Ntvrg?C q 5ډmU8 !TL\i6WwoPm NՃ6 SnTCz&լi^a ߨjED^PcJ5AXknP]Y2VSQ 7I 8:zP%Ra5Sj=ygjL (ATO?=pqx59X~hljFQ+QugXz,C]ՎuNF3fyk7G#%/[ݖ5d^ |yt8umܹ9b]?7K~r8@o/͗z2Pg2$ԑr8-yʙ2$j*1<.2X'2$fzef?Ԕ~2$Q#DR[pr?2$YH\2$PfM3%.Q@u2$& |g]2$2u a(0v 2$ܿs %.+56" 2$Ԫ̌`l 2$uTxU/kU/e@72$xvW6kcw2$xyh[n֑&eC%c $ ̙3fff@f8, g4BdBd0ppp@ g4BdBd0pP p<4dddd 0LL{<42d2d 0LLuʚ;2Nʚ;<4ddddЁ 0:2___PPT9/ 0?  O>*Future Ada DirectionsbAda 200Y -- What and Why      D|Ada is Alive and Evolving    Ada 83 Mantra:  No Subsets, No Supersets Ada 95 Mantra:  Portable Power to the Programmer Internet, especially Comp.Lang.Ada, Team-Ada fosters... Active interplay between users, vendors, and language lawyers Open discussion of new ideas and possible language enhancements Availability of open-source GNAT fosters& Grass roots interest in Ada Additional open-source contributions to compiler and library Experiments with new syntax and semantics X~*~)  (    H                i  E}"ISO WG9 and Ada Rapporteur Group ##*       Stewards of Ada s Standardization and Evolution Includes users, vendors, and language lawyers First  Official Corrigendum Released 9/2000 Now Focusing on Language  Amendments So Which Way do we Go? *       F~%Overall Goals for Language Evolution&&&  Enhance Ada s Position as a: Safe High Performance Flexible Portable Accessible Distributed, Concurrent, Real-Time, Object-Oriented Programming Language Finish the job of integrating object-oriented concepts into AdaBx|x@x|@F          G%Safety Is Our Most Important Product&&&  tAda is the premier language for safety critical software Ada s safety features are critical to making Ada such a high-productivity language in all domains Amendments to Ada should not open any new safety holes Amendments should provide even more safety, more opportunities for catching mistakes at compile-time.<p  6    '    @       Disclaimer!     Not all of these proposals are going to make it into 200Y Users need to get involved to set priorities, help refine proposals Please participate actively today and in Thursday workshop ISO WG9/ARG will be publicizing efforts more during the coming year Starting with this conference! Big issues: Who are the real/important users and what do they need/want? How can we keep complexity of understanding and implementation manageable? Upward Compatibility? Upward Consistency? What is  obscure ?t~;D ~;D    PPossible Safety Amendments  vPragma to prevent unintentional overriding or non-overriding of primitive operations Catch spelling errors, parameter profile mismatches, maintenance confusion (ARG Approved) Standardized Assert Pragma plus other Pre_Assert/Post_Assert/Invariant Pragmas associated with Subprogs, Pkgs, or Types (work item) Pragma/Attributes for specifying physical units associated with particular subtypes Catch unit inconsistencies in complex computations Configuration Pragma to require initialization of local variables on all paths prior to a use Match requirements of Java Virtual Machine byte-code verifier; catch a common cause of errors UZZZZiZTZ3Z^Z_ZTZiS3]   _      -                      ^"Why use Pragmas for Safety checks?##*      f Pragmas are a natural way to add safety checks The only effect of an additional safety check is to reject an otherwise legal program No effect on semantics of programs that survive the check Pragmas can be associated with: A single declaration A point in the execution sequence A declarative region A source file or an entire library (configuration pragma)@nT            _:Dealing with Today s Reality  8Today s Reality: The rise in importance of the Java Virtual machine and .Net common runtime Increasingly complex APIs; API Wars Component based systems Multilingual Systems Dynamically Bound Systems Cyclic Dependence between types is the norm in complex O-O systems Emergence of Notion of  Interface that can have multiple implementations (CORBA, Java, C#, COM) Amendments to Ada may help address this reality J*x    !  `^Enhancing Interoperability with Today s Reality000   Support Cyclic Dependence Between Types in Different Packages Various alternatives considered Current approach:  type T is [tagged] separate in P; Also related to anonymous access type proposal Support Notion of  Interface as used in Java, CORBA, C#, etc. Already supported by Ada->JVM compilers somehow E.g. Pragma Convention(Java_Interface, T); Plus some magic Compiler-provided bodies for primitives that call same-named op of encloser Proposal for  abstract interface types??0(>>0(b        s     (  HJExample based on type  stub Proposal&&&   ( " 2   JNProposed  Abstract Interface Amendment(((  JType NT is new T with Int1 and Int2 and record & end record; Int1 and Int2 are  Interfaces Declared as: Type Int1 is interface; Similar to abstract tagged null record (no data) All primitives must be abstract or null NT must provide primitives that match all primitives of Int1 and Int2 In other words, NT implements Int1 and Int2. NT is implicitly convertible to Int1 Class and Int2 Class, and explicitly convertible back and as part of dispatching, of course Membership test can be used to check before converting back (narrowing)jZZFZ-Z\Z&ZHZ   ! E \%G&  {Example of Abstract Interface  }Portability Enhancements  Ada provides excellent support for building portable code Ada library still relatively slim; Amendments to define additional standard libraries could enhance portability Focus should particularly be on ensuring portability for server-side Ada, E. g.: Files and Directories Sockets HTTP/CGI Servlet interfaces Timezones Environment variables ODBC/JDBC equivalent Based on Posix or Win32, but simplified and made O/S independentHZoZAZo@  6        0          5    3  LEnhancing Accessibility to Ada    Address Ease of Transition to Ada No Mandate from Top anymore => Ada must be able to infiltrate from bottom or side of organization Need to look at increasingly popular paradigms and frameworks JVM, J2EE, EJB Microsoft COM and .Net XML/XSL ODBC/JDBC HTTP/Servlet UML-ish Modeling Increasingly Popular Needs to be easy to go between UML and Ada Full integration of Object Oriented conceptsAE&+-@E&  + ,                   F    -  N!Possible Accessibility Amendments"""  Cyclic dependence (type stub) amendment Multiple  Interface concept Object.Operation(& ) syntax for calling user-defined primitives; e.g.: Generalized use of anonymous access types Extensible Protected typesx  @Object.Operation syntax (cont d)*      More familiar to users of other object-oriented languages Reduces need for extensive use of  use clause Allows for uniform reference to dispatching operations and class-wide operations, on ptrs or objects; e.g.:Z*      )Generalized use of Anonymous Access types***  Two kinds of generalization Allow access  parameters for access-to-constant and access-to-subprogram cases Allow use of anonymous access types in components and stand-alone variables Should help reduce  noise associated with unnecessary explicit conversions of access values Also allow optional specification of  not null constraint on access subtypes, and anonymous access type specifications E.g.: type String_Ref is access all String not null; Improves safety, efficiency, and documentation by pushing check for null to caller or assigner rather than ultimate point of use.L*     #  -Other Ada 200Y Amendments Under Consideration .-*    %    Extensible Protected types  This was considered during Ada 9X Felt to be too risky given that both tagged types and protected types were new concepts Time may be right to integrate the two capabilities, e.g.:6"X;"X;*      $Generalize Formal Package Parameters%%%  Allow partial specification of actual parameters Currently it is all or nothing Important when there are two formal package parameters that need to be  linked partially through their actual parameters Example611   Make Limited Types Less Limited!!!  fEasier: Allow use of explicitly initialized limited objects, where initial value is an aggregate. Aggregate is built in place (as it is now for controlled types) Define new syntax to represent  implement by default Use  <> for this, corresponds to notion of  unspecified Still no copying allowed, and no assignment statements Aggregates can be used as initial expression for declaration, as expression for initialized allocator, and as actual parameter value Harder: Allow functions to return limited objects Return statement must return an aggregate or function call Function call can be used where aggregate is proposed to be allowed above Must give up on return-by-reference of Ada 95?vbv:2bv:2F           Other Possible Goodies...  Pragma Pure_Function (from GNAT) Nonreserved Keywords (e.g.  Interface ) Controlling  Read/ Write of Tags Additional Standard Restrictions and a Standard  Profile for Ravenscar  private with A.B; -- A.B only visible in private part Downward closures -- local subprograms can be passed as parameters to global subprograms Uses anonymous access-to-subprogram types for parameters. Task termination handlers especially for termination due to unhandled exceptionsLC:7C:7p       {             OWhich Way Do We Want to Go?  Should learn from new languages and other programming paradigm developments No good model for multiple inheritance during Ada 9x process, but now multiple interface inheritance has emerged as good compromise UML establishing OO at design-time as well as at code time Useful Concurrent and Distributed OO models beginning to emerge Should not ignore marketing and transition issues E.g. Object.Operation(& ) syntax might help preserve OO view Should keep our core  values in mind Safety, High Performance, PortabilityL2<&&K2;&& *y      What can we afford?  From an implementation point of view Minimize syntax changes Standardize packages, attributes, and pragmas Keep semantics  straightforward Do trial implementations E.g. 127 lines to support Object.Op in GNAT for tagged types (according to Martin Carlisle) From a language complexity point of view Try to enhance by simplifying Remove unnecessary restrictions Support  natural extensions Use paradigms familiar from and well tested in other languages %.:\)%.:\ )*c    Z  )ARG is looking for well-formed proposals***  *Packages worth standardizing Two groups already working on this => join in Pragmas/Attributes worth standardizing Identify existing compiler-specific features that should be more portable Elimination of unnecessary restrictions, implementation dependencies, and inappropriate  erroneous or  bounded error situations, etc. Write to Ada-Comment@ada-auth.org Participate in Thursday workshop. Speak up now!`.'J.'J~K                 5  Two Discussion Groups  ALIOOOP Group Ada Linguists Interested Only in OOP Type Stub Interfaces Object.Operation Anonymous Access Types; not null access types Limited Less Limited Relaxing Freezing in Generics Partially Parameterized Formal Packages Asserts/Pre/Post/Invariants6%%F            0IRONMASCC Task I Really Only Need Mission And Safety Critical Computing Returning to our roots; MASC issues Ravenscar Profile and associated Restrictions and Policies Task Termination Handling Extensible Protected Types Future of Distribution Annex Other High Integ/Real-Time Asserts/Pre/Post/Invariants 699Tl              /8gP ` ̙33` ` ff3333f` 333MMM` f` f` 3>?" dd@(z?" dd@f  " @ ` n?" dd@   @@``@n?" dd@  @@``PT   @ ` `p>>@ 0 4,(t(  p0Pp0 tR $t s *m %t 0U n  [#Click to edit the title text format$$   &t s *tX ,  Click to edit the outline text format Second Outline Level Third Outline Level Fourth Outline Level Fifth Outline Level Sixth Outline Level Seventh Outline Level Eigth Outline Level Ninth Outline Level&f  d 't <mdXr (t 0GH?`pH t 0޽h ? ̙33 Averstar  @   @ x! (  x  x 6+ ( 0   x 6+  * 0   x 0Я+ 0 0   x 0+ \!7 :   d x <mdR x s *m x 0;"  X  " [#Click to edit Master subtitle style$$   x 0>" x " X*    x 3 rxB"̙d |uԔ? [ 0VSofCheck Software Analysis and erification~,8 P2(` 8          x 3 rJ"̙d |uԔ?W  f"!2( 2%   x C x4O"̙d |uԔ? h4 $  H x 0޽h ? ̙33 0 `,(    N"&j&j !  " r*   I$$IIll   NL("&j&j  P! " t*   I$$IIlld  c $ ?Q.  "8  N*"&j&j  O " RClick to edit Master text styles Second level Third level Fourth level Fifth level!    S    T$6"&j&j   " r*   I$$IIll  Tt6"&j&j  P " t*   I$$IIllH  0ftke ? ̙33 pn(     N