ࡱ> L@= DP{߱M;XI)B +xY͋TG7cvwwtWwA8+梠7*}Ab8C҅bʌZep3yEi!|k>EFl5LWUXJDbl5m+#sO : o)ʓTHv@Na͔+;ݛ!p`g-(<e7f2dQA2 /rva_ `_S'ҥ^`(uxQTȦw[ȶwӋl{o9b{3'۞d>%hǶBsZ36C8f%.n|q&Ha;tdQkq؄|bӚ~F>gjYY–A`tzR=SJOִ5 CVfu+sL+t+c]G(ާߺʇҾ8C%.Qޒ?bw5z_9x#~j{'eJbvR 鏜i}WD1G&>a:ZJ$}o81"b\ԝ-δFq9)~;&ٽޤ A~;Mx@X/;ݞfcpNBK{랲y;Y]_uoFa\^Ǧ]]dq.;9BpN'!5swu眶AWO;}Y]#rk&ɭOjga>x}c:s}ߙy? #Bz2D,l? ޵%.D^+{#ֱƎC3'd_zcma7g/fT$m߇'%ߕDeT@=HD *|pG@|)B +xYMh\U>/?N!$NLA| qEi#jFڊ8i, 2j7*EWP R!mxΝs_ܼ$M&>{;{,x !R,˾ѝCG,8$ꛠC;]"0t xC6Aa}=ɠ"m_хl -E[rSw9ԹEe#G~(|A]f`,WUd^Dem5n]F!>hI)v(Լ4\iznrou@^1W4 <^Tư>z1{)>n mY48@I+tDi/_}<< .MșMNYyqu!NTX?[{2Y`{p?9W>[-r܏E4Wyr. (h|q2M CП0~1{ }Ч̽IO%kY<{[F —3/4ϟ0eR9Xϣ}2tq–\l/[)gwp>9k( pLƩǓkJt=cqE?ɿ7%g?֔WzNmS[mAr,F>fZ(f:F I_%VK\sGA1s~IחJ#+bߐliJĞ^YZp/WK˷ɋWD19л{b07f/I 2OE35z(|w ;XAq 'n7z~d?lF)[= 672닎+oV835Ib1vg1:ψ"blq1vRYx$j{W+Z[m>mT :42j^<&9[;Ib]bpct챖`U?H] `{΢<"6oBh+}#X.ݱ/ko+Z)a;co.%`=d@="^j3ф3R&|)B +xY]hW>3dQM& K iL+4m,(i C_ -jk҇>M[m?PQ H[_VAAe=73Ids93{瞻cGFXgAX^k14`I?C~TcAG};`vn]H"RWh ݇f޼˹~ дOUC=D/b7wC;mmߍ3Y~EKdz"t уhYն箋cȱw#[ )o8ԺRxtzmIi@Ng.}{_e`5 T(C zN~{\o"dG4@Q|N2Kgvj?ທg'˫-kE\jQ J6<"='S4 m5ؾ4ģv}Iƴ=e1YxQl43?jOIٸXd;kqu5}qq]K: W!4!@:P %ض $s&+͈ktqϛN>U XNw7o4iMLbtBۛs Dݍ/5[{O~e B ǷtuԱϙ%/'qPҟ+^{'ԗ6"faKBtꃼ9OسTJst9fC{OIARPTOgӮ4mmsBжnsBS~TymUw1\uswD?f4bweW~dE2ϖ8S:Żgk^Ư$.%.(.YK.Y &w7b0'fVKI'D:3yz(w?&/R ?ߋrSw|۸g=2z‡Zxcؼ~U.گYʭyqyM+=}>4i={nWec^ ̾R^m 僶>Zu}ȭ͜5InM$F_r.k[SUF#p?lqMW,Y;']rG5a\D5ulVFP.ݱe-Io.%`>fg@= 8BMF.jĽ)B +xYMU QLE%n H(Ylb01&\,2/Ԫ;#WD1žs..ί?晇wd^z!rLg[=?m2r 9~ V?br)PYvJۮ(_b80F?8 wOrpm3 pT(C z47^S/ m?DL`$C|3X]NmOrc ^{7/ogq}Hgqa/P-+tqH=̶@h]ɖ-d {Z۞diI4ɶ}FиϪq{J&ͼmlL߸UKcդ%CoE">"خ 4s&+"7 4"F4q YNwRO*(a?{+Yvx?Ylʵs Eݏ6[tzO.S tuI]2|nx31y)6vzMb'b1Ǎ$ b?%V1AYl)H>'y=K~qc^8y=+B2T B+QzmmQٶ:[cY[[F?v?U>$u]=X]-Eя*v_V+'ܐy|̙2,=ߤIa{ؾԹ#괋>+$#v> Ra:ZMo81&b\ܙ-̴FqWS\m?&tߤ A~~M_@knk*}/O9{vu~7+E.IyM^}>bq7=9ǎB+G˾7 ږ]>vuY}ɭuΚ&w`7߿7:KI9戳Sm]f8 ~8 ba "XvQ$8k|ebL:~[}ch|XOGKso3[~~'#DKf.@= {tSí*K)B +xY͋TG7cvwwtWwA8+梠7*}Ab8C҅bʌZep3yEi!|k>EFl5LWUXJDbl5m+#sO : o)ʓTHv@Na͔+;ݛ!p`g-(<e7f2dQA2 /rva_ `_S'ҥ^`(uxQTȦw[ȶwӋl{o9b{3'۞d>%hǶBsZ36C8f%.n|q&Ha;tdQkq؄|bӚ~F>gjYY–A`tzR=SJOִ5 CVfu+sL+t+c]G(ާߺʇҾ8C%.Qޒ?bw5z_9x#~j{'eJbvR 鏜i}WD1G&>a:ZJ$}o81"b\ԝ-δFq9)~;&ٽޤ A~;Mx@X/;ݞfcpNBK{랲y;Y]_uoFa\^Ǧ]]dq.;9BpN'!5swu眶AWO;}Y]#rk&ɭOjga>x}c:s}ߙy? #Bz2D,l? ޵%.D^+{#ֱƎC3'd_zcma7g/fT$m߇'%ߕDaU+@=Gmw(`)B +xY͋TG7qvwwtW]d/ 8(%JQ̂x0Ń@"ăGAŏ"H xP$mM{3owܙmVwUwWWWWWs8Gw=p!("7\`=bísPnD+ d#FY6Wsne31,](X7.<!Mc9oAǖ..;.cR#2L<>V>ber1 vob0Pcpk#ʎmf2?8q /eݯ8|,\,:H[N,/ 0i q=c*vq(Y*dӾ-Bװa{2<۞[ԀL;l^}'m{O Y9LIٸϱ-OvNs}([,ō8.X0|4҄Կ~qDv.A'Y{Z6!_DDXLj{|q,ˈ(X.`9S şP@w*NR!)~NӊniNw{Q_hh"ب.}Y'{37>HL1>L|pnň7ǐ ۛ~wtq<^u佱 ٗXW)>-eIa7Io6w%`>3kT_@=Ȏ#@=uf,)B +xY͋TG7H 论1;Bq+u5D7*<BK9~<OD ~AL!AX[;6v9p #҈˗}+p6ҿ jI`PDzPCnƒH"RwӴ$1Ʋp!1aB1eLqM3yEi!v:]vvq}0w9j2a:XY+#s#N8 /)TH6Af_)Wvl7Cp`eE(ܼg3p pT(C |N휂,/ 0eN2KוKP dM._˶wS l{C&lga폍7=h{-}Jx*QgJƝU|mGsZ36C8f%.n|q&H 3&v8+N:ڣ& J7OJn5Afc!_DDو7r~O*UM)(~NsVtNsK';@bEo.Ͽ3کK?8ތr|Ly^i^IqCʬXkY/5fÏ}R2L}WW-cQgJP}ƬqhC3z8n%l)FW'3tkM[cۼ9meF2B2\6~T}|H*ۊ34W]-y1*v'=__qo<]w=N}kw^Ư$o.U.YvwET|Sc0/sŤK"Eݙmwr38Cjf_Ym 僮ڟv`=G:gM[S$>e|WAbR9~gj|+xp?'+ZxIy앏Zn;no |}?}8Y6ç"i>>)'T_@=]_A`0!()B +xY͋TG7cvwwtWwA8+梠7*}Ab8C҅bʌZep3yEi!|k>EFl5LWUXJDbl5m+#sO : o)ʓTHv@Na͔+;ݛ!p`g-(<e7f2dQA2 /rva_ `_S'ҥ^`(uxQTȦw[ȶwӋl{o9b{3'۞d>%hǶBsZ36C8f%.n|q&Ha;tdQkq؄|bӚ~F>gbYY–A`tzR=SJOִ5 CVfu+nwn]W}|H*ۊ34_]-y1*v'=__qo<]w?N}kw^Ư$o.U.ϐYvwET|nRc0/sK#"EݙLow:رiKMʡG;Bk:G$1)ӯ_ǯk5I|l}E?"|-|- g|R3wW7Z~i[,te?"9kܚ$N~vWI93S0M)'cO h];/]rO5W>"jyo츍14}B7~qqmOKE}}R⛍] OT;n*vC!EP nPNG  IHDR!?sRGB pHYs  IDATx^]KU)̍tжQ[:!4@lB`ʸP˒%aɆ 6+!Fh*‚ YHr.{|缷}76[-fznu 8<p{w 8<p{w 8<p{w 8<p{w 8<p{w 8<3i-pwhGn1&.``SY5ͩ7NUګs6m?[9&1 ^P/,<ͱ{n}?YyW=8mi3f:g ;qlxk+Ne@Ǿf?wZUYg^xy_xl(:q;Ȇn8Bx]wJ0@`scvacUio`aDi?{l16 c &A/XU1y0pze@5yF#ֲTLa,a'N2)!q(F*rH-2M21 0;&K[dj07r^1vmywL 2N7(ZǼ b[d 1u7匾s[,[d 0g#Гaѕ(lC3nIǘb&El;QƂ}X4Ƽ u -22L5$``;RWОqL.Ƽ Sս[dB1ejH vۛD >["VYkL?b \[d0exlDŽ\[d07b*!D0毮[lGȤ`0]O#("1A&juvn4^auJM~yKc1l1co X,fa"cƘ (}xc vc"Ęa}@KlG POa_]r~ َzNЛ c~fZF\޾F0v5_2PՕ!&]U$#]'1g\g#c%-2\+1.&Qہa-2DyCԄ 󳃹Ϩ١-Ȱ0毮@53s ƪ2g[ZBBԴ؎o`˰`y QlGXl1eBT6ۑIKEahGE178 6ѹ28Xb#J F93# ?FLAE1e#Q IW4)zuŎ "vmaL)GmZJ@V,}f"<ЃQ)5M:q_´{`>N}Zm=o\Cܵc_9eުcLO,Bv]wbKS?ڳ3e .A/Jk?aV! ciBxt*}Fa'_i" "(!b,ӆ`홧N~" c#C+:_[L/Z"˜:W<˜FW0"~[dtϰ^*j?kY.Ɣk2{+E1geP*S$h GF"+FWU`E!YƼ$# ܰ*EM[*P9hi~7-e{1\T1O[RyuQ0:]OHdCHh^_(2["OSoc.] ,ƱNhOt芷EV1/4~hyS D mcL{IUY" vr@64( ,3żT%ÁbLgZ' K\lt2f#-2P9I)c'h[d{bmagՑZl0Ƞ1 Muk 1K oIw@ #C"Ƙ]t[ ֝c@tb! џL10f/] a0CzQmh4=;F3n-Љg-2cc}'2Hy䫷ܾDw[+ɺ--- Z?khxc$3YTj"28tsJ0ļ^pYEt">Sr7'l8Xl.e&oy(~0V1°d&b;/\Z"\B~r2CXM*źT}eQ\*֥h)QDPYߤR|KY F(^B`ױ07&J Xk?}ch\EG5~lkOi`T#c,+8b \uͭ[.CDB^1F1Mjqe&/_h\&tx &|oLn .X^TE9 ע9*8rrZⶡWnclwY*kO>Vg¬O(*kO0(o8cLu@;a-T֞c ÞFqcy, 6kO`LB A~28HtFy5gмF|A1F+V!al^o]:fuW ױW6&EwQRq!Z|X~{]V2DvUȉocG$֞WF[{=H2KhX{(1M} s ,rG i k'+d&r6 aAkO#dSI@j#<€~"r2t4@i":#9! iO#ddV)E1;|!(1/~hK(E&0]ì!Xѕ u9LC\iiDz ́v?NF4#SmgఴPQQOc|,=&`mrŘ,vv,K@ s'| #w21 8H'EVE& 3hex)t`cgYs0xd[Jsc,rWqOaV Ra8@@Y1nŗd&^rtF䏌$J-| (Xk?$^+Ŧp_%"iØ_8(LԢbL^$*d4Jf9ŘH9Mht2XT1&cAØ7(z)[t zLT(c ɌVEtiBtv9u~+Vb3N~.,üו _6`AG-OK+ƤA.dڞ5c1[ J{u͆1Hc+cP ~-P7Ĝ (lhoⷧQ+שŮ-2lAמ*^tg dA&ŻF@ԤvMpmkXgڃ^PӨكԢbLv)(5Z;ZYxI>ͬB-d5H ~o”2⬖KVf `fL Ӯҁ+\ xi900:ذE/_e$<4ku)8TՋxt<|d4cH%ddfxqPZ+%%z0$E)t̘:^[4]: yZА+1=Y`~d /ƂJ0.3:/` wQۂy S1<_[\L'Aҙ5=__V zf^adcq HS߆⌉ SN lBҍbӚ }3o lDadKIZ*Q߯DG?9O+~{9ޥ^k ~D}٢g3?+@%oF9><4fNoIqCʼXkB}IQ40E}R2L}WW}cQgJu~ZcV8䜞%[eg [ѕIL)=z6/tm[ӭw-[[nF?G:U>$umZ.qqG/ݯʉ7d.ǻq wkw^Ư$o.U. 281ݡra^;LV+I 'E3%ܙv(o!w;2MI901MK Ng$O%5uOټ~լ.֯oFa\^fǞ-.xccoe8 `gHn~k[.te?"9kܚ$N~uWI93)'|=xp?'+Zx.Jy앏Zn;no |}鍵l//fT$m߇'%ߕDVXT@=pNaOl)B +xYMUޟgg$;fh{QdLV .lb B"h@uD B.Frjbs9.#AezS{w'z߫W^zYmDaQ3\BAky;ȻxO\>89D&w {A"fYX`#w<;K3ڮ!QD<xqi痋y`;n4y3eqmxX9bޡU\Ddq7T8ߧS?E/*~V=^;i.r\CQcS)Y:.>7?x31yY6vzmb'JbIǍ$kKb_%N1MEalH>k ٸyL=KqucA8E=+B T B+QzmmIٶtqVVŖяqJuI]}b-W8GyKIci~ʉ97d.;swϷkwR^Ư4. .!}>ϊ8 S3:ügέ֓.i2NLwfz+83QWO#cI 7)B?]M ϬnA <C/aH8{nu~+C.IyM\>I>vZWE?g Ps=j}z[5MnM~oqVrqg8Sm=8s ~8,ba"XóvY$8k|eRL:~;}c|X{M+-5IaɈo6%`>e@=< u9H0)B +xYMTG71qvww⮺ѝh9^ǸAQX7K*AVC^" ցlX0k(w/<"^(A 8|BpD}0Ef1=x[Sq K)3gj늝!+BHDǡkni0=*`z9"t l5m+#s#N; S2#f_)Wvl7Cu0_P}c_eˠEZKe~Ӑ嶳Ӧ`$Ct1Xq d8(Y*dӁk-B׳a{2"۞{ wvl~amO2^ m4Jԙqgg α-vNk}XǬōl,AiBt`}P1ù]Aw =@I7MW?!~EvZ}-o8RUDh}#,w^+O*!?{(?iOy?'ٻt½k Dݏ/5[LQt}N]R|ofc:Jcvm戝ˋy7̊V;> %F1YI>l)H>+\Ӯu 3Kz~ZcV8=KB +ՓRzm^ڶ2[u.t#Frnoo]CRWiV(oɋqtP;{Crwʀ{sj{'eJbvRi}WD1G&>a:ZJ$}o81,b\ԝ-δFq1)idX4&POYnb񞰞{;ݞf/(|=/Go9{fu~W~\L5$>6>r>v}/{8;l~ -)6Tf_笶AWO;}Y]#rk&ɭOJga>x}c:}ߩ|X~oN =}"vyE yx"W{cm􍡙/Śe 707bW@=4d$yv)B +xYMUޟgw$;fAɘ\(Bd]fAE< "A!`4J!O&M@ğ`T[S۽ӻtWիW^i^@,S .!&򻠹<Q<Ã.1@q;⾅YRoD߅2,2Fgj՝[K+ADQ@L>~y1i y:l`vD b+sz\:-C1*\#(2Y8ͺSxl6}O`4Kf2̓9I?8t C~@4@L.=r@۩>ֿy5~mۍ(#.LEs%1n7'SV4mmؾ4WA=u Exq}[>#hgո=%&Ƕ|MsVG6C(7dcq HBCS߆#b [N3)lBҋqq'ӜD\fc!Fو7B';'NTW\ _Pg;vڟӬ]6鹆ך-:_PtuI]2|n~fc6Svm+x7Y]k^g/k1͆R6M}WO4=Sq{JX}5Ǽqdcz9nUelFW3tMdۢ9mu^7Э-g Bt~*JZ.Iq򖢐ci~ʉ97d.坏9SŻ\;)l/WwB:oM".AB>BPc0/sKc"ŝ2Lnw.gHFƎML A~ W7s.~a=WtGYG<}/O8{vu~/W~\L54>VcL{}w)čI>vZ9/gW/Z_c=j}:[5MnMnororg:SN7nxsp?{OWY$]rO5W1&j{ymV>!ߥ;RmwKU~d70T4inASt.ϯpW;zPNG  IHDRQIsRGB pHYs  RIDATx^q'Z=yv6F."cAȑ $QII{w-Y>?[w{gYT($EI1Dd,]bs^wgg'vf>}P]]]U$fLfbBBTfgh . .{  ]]> 404 0?-F+4 0/|@h`vi@`X=_ۯ:i|{4_PcC#N] .Y р|ƏvzMf/q.[ѴpAG5Wya<^;{yM/:&H(ͭi^zw8gɴSxȯ|7W`; Fk]WmbV kKg*b"h !9G¡Sp]w|Iwuu 3MaQ~u7lvD=xBc[tc_v1B!VJ3.kug-̻IO\[{9rY>u7y2)w]h@`@Frg8q%`$0pU/Xv7nkhXD|CAQTLVxꎗaZOo}ktbॼoB4H,G1Bqt-[JK2$X'~'?^pz$6.}NK# B $zc6gw~ W_ABE5 0:e1;?i?=L]zcWSs͓. [l?sQ;YD##j@`^gOMG/irxM/ݽg -xoqsx 3n=q;~[7½>‘o4oڇ~UunhM(>~YJ$0{x[X)X#5m_lZ،շx%5ЀJEk|K[gi*(7y9(}[H G~8Fsp#+kl(` 4 0[oܳ) $X #OfoZ`_Gaf(b{tN e%0_sW>x~k18dR#Qq0^ˆ}Kn*%S T`qo?_x &2%F<)w{|{%<9oٱOiI?n sA(rș_OY].Rx%υSҰ&{پn3ɄWŧWk;e3Id¶ӳq+ epT4,ۈyv쮪Oe+| Io_|}g?pVb+ӱ%6x+>F,!>]e>_4fD9=0r75;=O"72)=)񐞣rٞUdl# .~`k^ D\yGݧqTuob/x^#'1 Wqd&g|0?nZǶ?diyQ/XG>ѫm9Yvg .W<IJT3U v>͑TJ@.W'+|v .B#6X6QO=̫{IK>^ffS*E (t_ 8IxX7?g?U_n+,XfO*.PD)  =L 7U{V/ '^GEUw߳{N9}ZnoH$~g[[&év=>be32LS`,Z]%ӑZ Wg^=G">m ;3R"}aq>SՖ%JVծ~}a~sfMlzJgNhMRm*mf q3O?A,N/)wo<Ё'^^-Ր(ql|=X~BԎ NZY]OUp<>Gm6vUVʱh3yn_{LJ\^p# >S#[djj/5._V!rx4F%0ϧў [0^@S62cm^5ew,^b|>n#eEXSy5R'xJS=KYX SvmҺE>-v|MG<4 x>|펔}iS!&VϽquӊV=r#ضŎ&ҏY4L"Wv*O.иҷxbiLv(%_˷a66J`>|֣|?qvVZ4(V麔3Yt̄BI~-4ʚwmh^-,k 0xѣ';Oi,MU nrҏB<Äz1%.oo޷/sym?}쓧?=jz K)wiZDT+f1rG=Y==@gJknرz6kKՀ|./:ċLsf υd.z>S9qBZsyY5wɪ}Yu\N3;qsA4˯էK`zUG̀c&@{h&k̒C6w?F.u𡋯|2w!Sz:{(q恘ǹ}<|՚sR3Yaێn>g.|v9v\U2}5"dr9p̄PPsDR8\y׾'|N̸LW8>tDX*\x0f1I K? 6.[ݲ=~t hg^a?s#}/uNq1;6U7~ƃ/Z[LskA>֏6GL\Av)Lm08/<\?99Y=$:"s7t#}cHF%]_c돢A?.r+0O|YvDf~V'_jqyB~ܽxӞ>6oYKIÔp7.ϽJJN3 S[.޷K xMƏǓ'sg8Krd%>O*k޾g}4o:Qpws?:o2|/t韵✝RHq+[IlΝWWR~1Ȑo7_L{΂z+?~D&lcviA;|>fDi1H])D % VV7~\|n;31yѧt1?Zի\Sg up%,Cu(8D g+ꌀLHYbpV#1QiH=0?{~uGE5V” ̹Wx24i. _zYyv̥ vbsK"cC>6 $+9g˾K',x,7˵B& ޷OGAuroXwtdAXIkAπe ?6씼Rr'/=f2+: {J87:qz_8g/`7L.Fc4 183@2MsOI ʳse9N[OОThotw]z?]242#L93 XH9FKn$3# H.$?cv>P}ЍΊίL!S3jWxll S h4q♿?.ֱUΎ\vJ6NT,cR e{ӂk\9J]U$,ߚLcP̷:v_y؞HQJKճ{;$=o3f#yP ]q5jq. 9`YPB4~B:"^q;+& ax饎P= zØ`jyeV6& SXo'0S\t 2ll²i36!':;0IwJ<)%'y19#c)cə ^Θ,Mxt%?hxD``DB6= $'h vW`䕁 dބ׸!)j]>0l`wVTM24s eȘI8ЧN5R?d<2WI,b%#|u2p#(ߣ?Gs>sf"5e$B(S2 , [}V9ԧ3po[Ll&' T ;:IiyYW_JՔwVˊ@1ԭ݇s!dx`]xցo2 ͭF܊@ 戍F0ɃWNA~[`so Y1;[-)廊Rby3Wo|$Zoh']3N&,ڐJ¤̫,zQV3pc T5-sp+4VCns91צŕWyXsk\Ju0Y|`lXKGr}P>r89<{x,-q7`D2uB.kk8W@xg9*5 =0RZ/Sf?KMf ̗UZμf`$K֯&QsB0}КTxdEؚLQ,Z ?%9fX+# 1x1΋'C[HgM3؇Fj OADaoQ)U3YƊl Ufe@wF ą0{ LjM~Pr$s.b_d!q%t6^Xf׌J?hfW+F.ԕa;^EZBsMD5%2Zg- d6ː ̓ѫK*j.>ޗzyJ2˫*&69u/0yZ7.j*z:yM5Y7.]7e[lL_vcFUBU 'gO:?Ee^pH]rdS?d2MN'[#i 2 C%i%{2扷7 (E=qq"fh&d4IWq~"8r`U!s$y9FUcaṅC+h>P7m 95pEQeLJyx)VC[P9VgYEg[Z05 棑hmb&2y2~1~بX JG;Zߪ1VP\Bz_0B1L`l5[2 l=MؕͼlTs6AҨw*o.KNmTr2yբ8Q0?[0Sɮز P8exoZ4/\`vr쮷EeW.\b׆JFjDCY!dWDK~έ3\!bѡHX{`>8lZjAfu5.NS d8&39f )j]^iI G3 6Ru,ᎋݝ:NṁxϢ脥yE Ҏ2uUBh X9~ӘY[͐[7fh`Ô1uIܔUfR]ʇ8#ahp'Y/%*)6ʔӋ6jONE%e_ॡ \MW=ޗFd[ ~S2h%9]0a&3Zn6hԆ|,#VU#߰IF5MFYWMPW/!ZCvϡyc#_ioORપPT9,\YڱUvf0m_M4hH<0YịbF:Z6iO?yd^N\\dY)8ϓ?.9ӆM26dk;o)N`~! 8,=qcM-|/wij-Ղsz[ww)Յ >|$v5|cbbeZ}*"CEP CWeUt>Q'oq㷥~o5yru>WSd 35EbL%JgjnGGiw?=rtpLESmye j8`YiK a!cqfRGa9J}2۵J>Efgi_Ć<>vX$.%f2|Ki֝lp̥ y\/,!ȏ¦zlf?Xe:٘ u<3}^_&k΂Jv21Cro.-d~)QNpu"da)€EiL/̺w*;t˺7Vk3EZU l$gp3\~n &5R@RΆREdI90j,3!8V5V>{ }|!1[36s9c•6rQI 2$O VK5t5dCI2GcѫGKC`|S28vUyCT@K- 6ՐP K~7-j/*0d̄|Ev@w y@\&j9+/s^/@E|nՕ`FͫD>5K5TSeթ!0%@`KF`A)<"{1ƒ=^YdNUM1gL),qq> y<(k*dee6^U:’2Tu 2e&0- XFK;xQW3 r.0v+NcwX) Syb%`AY!*פ sJ37;h "Ҏ<(}M8eSpf+uw\xx-{lV^ULt 4 UdQyO#> {<@l"xxiG5J,.SW̛-y+~OZ\"r f $&/`'X¸Plo.'%gIݗ-, &B**Ybqd:eޱ+h};E85~P>]/U`_#|m)x~^g#`ƯiXR^yẸKD#S)oP#v$A5OԽa$KΜo gRۯU~.]Ǽd \!46,W7VxRf|-o*uf*x]/?(B`}I[Kc>o2;\\"2fŘFxBWU̍N1|)ug%\4u?u=C͐^w_:ILXDjofSFQUW^M.HS{{- <ǥsٌäPVYnXC[&*gs86TUb񌁶K5s 11Vboy5˾g=Q\ʢJ(b!jp\dK 'ϨLʙM2y)47Cb<qQb.`j̆j8~ZN"ep\@o%N ERmIYEo3| xFWxPiÛDa bȸp i<̻ XHvӗvpKWѰZF{gޘQbwVT5Z$r iZ̨OUZ8 .|EMD9`g  [q/+_7٭ѡ /[+93,S/.Y/Vt*!Bso/4 &fPyBH(joX:c>v}z^*=Ԡf XK_d|pNqKV*hp9%j$sj$[,6n?Ca8,3|MHПm,0Kn^=A8oұz.*xXgW=yO#}i+]_Z֩1~VgG,IxDq'+as9^g-=FzC gH^7JN,8O+ uƼ쉷91a96dRrO-TH'LzB$qnqބ9|%aL 6,5?*ݝ7n{6:cތip,͔ʪ& $Vr6WK/v8tN8є~4Szc:)emROVjk.!Q;6aP%uJ^L굌GDs܆R*%ɐ8s2u;&,*i23GKJK#;琖 nF̰,{zr)91tW5٫ Lry^ݥ#-MxRZVI4T0gi3nc Rb7`~Heqd:;S|HabTQQ)=7|MC? "U;)KtiG>SPc&e:ۗ|u(-~pXݠVi&{պ plvol)"H^&)gmXh9T->1o9ϴܘ-'3pUe~5e q֨ZnxU#WE <ΪDf)m$ju=a9JM:@Gk ptU5)3n6& W5O8Q{w ׾9po-St/6LrevW)zbl6| c~) ʙO^'Þק Hҗ;^E%N {}|mםem4'`DZ7+SG!֚Ⱥ;|~&F*hI!c OSG汥t$h.]Fzb>FLuk$6^= y\c5Mpe8!]w3B/q͈r؉oȗRgb4H'#O 9LhOaSqh~,҆gr㡎H\3Kh_;ݘ@:'LQC1;M c2Y/'W :zbkᣪcPĉp=Č;vH|bWD?Qxix6ºJht !_N16><4tS齞w5-s͍I~ gJ78kbJm%nr+p749B2#_wB5}Z!(, Sh$hc†rmы| + cu2|fلS}yNƑ/δ S4'#֊B33̟a,dȦU$w 3P8]eU4lS/YWcm*g?x!_{=1oxŃ߄rqL8&E-gR֍S <תqunrG#V݆۫`a ^ȗqi%cSbu?=1:XNjf6WnkܤELl>9c3>Tqcus%ُo"[a \ w,-Go^<`u|4j+kx^ 7UvqU|t'j;Z#/mհ.ˏ[Zad6X c) ޟC OOERz{oe":̋i.;cNtsg=ê2ө>7qqڊ 8Ob#ݫgב^ܥ_Y J }^'@.Ci3IXc".WˡN? {VVQU[a*A݌ RC@7[#U^9j%C^Yp&}%9afX/WZK*ށ9>~i'[~kt\Vtü]3elyk<_UInɥf|Vi'X^-5toSxQ?p{?W4!]tü 74tI뭩7eicL @~՜yY H$edq-u(" M&fW&|Lo'Ƀs OBh+)'\w5S"?F<<`N9qzOVP0TlTh)̫=E8DHq 05#\iz`~챦KzP[m664T31lg116Oh t ƈSG]n}Q^ڔNGBAOguAߖVKUujNS rn 8c냀3׭;3auו^q>Y*EAƉ}QM`i^C4;f ̥%x8 C4 [᡿MOǃ Og!cJvu ˨RRHA4%$axv.PbqAmpsʴNأMxآml~f^D x|@ί` m̡惾`y3s(R-b]ƪ35dWW$X ߅_Rͤ2D!un:~m~53ȀjO0V_y ,+`~f^ILxC~n ' ia4 $i6c{5';l{+3>/h0V+YDK8WypfW'3  ml;3#@EY7Mnh4:ó,[OL~xOSuÚjwjlfna̎AnL +U|po_w bH !F *e<1TSx¹Wem4Y<܅\ %b/kX$K_!ƠS:C=Y%b1 xf:w,+ЛhJm^XV톒:`~}=02߇Qg؇xJ1@1Baƅd}`)ʽl`DқpMZUE2ay@$@n0xocCx>r++;_1󒠡0X,zN GfB`,Nଇ<%`K_7P4&^_* y^Z2Lh$,5 m W 8jjkh󒢽cpZO%! mE0R5~ Xl{я)s y\?D: U[uA#E 5ОhlK"a8 h= X)|3ZQ CЭ8MX" O20Cp=ht5s¬`kGltK}T6Òa\ZThuV|Ńst\@l9T{lJ@Xw?-eUpV=iEyi #v.ɮ X/M1n/~Re bU0AzHc^TCC0 ނs80͞Es5Z;yӴ?yOO|n롬syDax\nSO+p lMm"{nQ903EvV0aX_LǼ4aͣp`UJYBYCcp<\9C0xo_NcH'F<AðAzj//M:xV;CZ]t͙ xOjͲe^R©YD.0?ilth NW =3^كtf8e`ajh;+kՆy B18,Ç<"*f_,̀<7a 7COi _=1+fkȯ*qJ1!ޱRe"X&YA`}]p8uF%:ElJYb^$9r+ 3goAo+\xGR;<5ã{mdjX Vnc  M| YNy`Wq2g1Je@LDgUe8^{NǞRA |~Q(VI2ӹ՞ok⓫yKnw(\8׎bf?]1V <f S,x?,Nv~* /H}_=K߆[dew_B]X쳮r*Rb8>=~W?p0~OWydBA(ocd[RV b: Wi?@t o* 4N3|u51EAY]GjD C#ϧ8w?Ho&Uh؁cV"T6 ޯw9-m(>4 0.ss !C`z5.&GacK1w*Xb ̳hI9zng>}P 7(ԧ/emwS4Mz8}&mq,wNЀX OH;5Y-*r@:2jY¥cX[P$L+ƥځ|ĘHw.5|=-_'>5 0ٷznCxFZ7y5.tU C^knΫ0\v JyVf+8 W9׸6cnû ڐ4k󚩚pXG0.;|jmVB;P]>׬w)H7@&boƎ?=WiJo-&3QgQexG6>&Y4 TU_$0^}Sg%hg SG\4Oe6U$hɮuP.qJ,~3zf^%mX؟]|n{le6F N`׶z^aŞ' oõ !QY#|1sP[+p]V}1Y\D0 v߆ZK oB%abO? Q(>nY}yO/4w&Ȫ=0TWBJh8 }M0Uv~́JQR{(܋ {w.ǮMд/ˉH5 0_\l|χyPQyߢC%5 06/k@Lьo#!ЀWRЀ5 0o| ԀyHH(4Ԧ%4`| FBB%5 06/k@`6 (y%)x _ƷPh@I +MKh7BJj@`^Im ^B׀m$$PRJjS0o#!ЀKuT=PIENDB`nKh>,_nTPNG  IHDRxbe,:sRGB pHYs  O gIDATx^ $Uu0^U7o} U@*|]}K0$| I рƄ#,8 30 0}ﵾ[]շ{[U^Ϲn>\u u6*~AWlb -[ @lb -[@Z[ @lb -[ @lb p[ N4Q[ @lb -[ @lb H@hfʘPlb -[ @lb -'-[ @lb -[ @lY N4H3eL(@lb -[ @lb  q -[,0<7jLXb -[ @lưo29"hq/w޼oWo8dc h uKٟ/v+%lӘ$- w*wXo:nx|ȁ7+bD@aگ+')͛ߍ>DX5a f Swͨ9 M8F-PpaA'ұlU56q>cdO1w&V ݀E #CD' ;>?v䱄}a֧hX~úGPLsE0R ~>X/M7 4m y(m'. V;W]gЛMզWN5Qo.nclWUЕe0gbWHH؄kUaٚe@c-t"ׯw3*=`*%zy` \[j2j`&l5YE ۷MSvb~ T::եj)Xh42Lފ2|֕7o0+☍[o=۶ 1#о @!8qL0_zvϫEYƲ1l0 kÍ6Mس N<"2)YכG'/Yջ@KchzVGOrqO8L=ء_0R <]w>tx/PUPJ9IUN\ztLE~L{Nx;8ҥ _@MW]xH P^;N^_Ԛ_tJ>E_4zz{,=}鲐j4k'~{d氘..࠰կ%0jФuӼ=ڀZ3<}7Z/aVd>p,Ucٷ\*5ew_xEy~ʯxCj?;アEhI@OMc8P 3-b0=2YCPkMBp-{AW3#'wڵo3| Cl,jo<n(#ۄm߽N/7gk>wLP.܁pqA_dPk57@qN]*1O3pq3\pS,RJqe1N6ѿ(7f rE37߿L].QkA3wu/Olp=kv9K^CIs DRkIi-E)*Y.X P MsN4c ԴEHmL+EKc/jp: @/tjt5 [Ge0[?e6-Zf+s`S0;:?(^QFNW@Pm/~1: tiF`BJ4lz$wU18 "m6 B\~&FE)҈Cbn<0q9wQ___56 ֙WpY M1y\mexqN)~}XCS-qpTRW'ޘW7)k޹jxG\ԠOY3Ds aƁO!;\a 0P_ ǵ@c̶ܒ9%]\}T{q9+Aex'# lpgOGnqE)^ 5 su׌5q%jw kC\C-| Ǐ;p`tuk!M;oOK&&Zx?KD?fv毺ΪudO^D"Rxrd2Qz9$Dw޺G2, ;׀ 3ukGHS~(+הlT&ˋbb˷ݾۮ2ŋ=0*U^ABKlj$5Q@ B'P#w2Ojtp5\ V{ Z6g.1H6;~73t FO4k*j¾ I12;Du[4ZHgN \osJX:l0<455ࢅxzJ"d35KR)D.CA((0=+(jqŒ"kbQİrpKH ({3@~zÑxWH`t)\V4-c; U= 傅Gw4;,rGhS#hj@<үxgfzTR 2:Ե!iS^Qi@[XZH$X"~w)ɂEM;СyEDJ1qkGTWR \E lp[3ߵ&| B1ɃmOmVCٳ$`jJ7׵xkL74p  Ƴ(f#k2 9bk/=I ''^͔j1PqpE3V0c:<My&Զ빂_l`!hʾ)pgR\g -d@H-mBICZGE 2T6 ̌Y lȈ$7o9\~DC#5p')` ךЪbl8˝nJxQPNtHո-q==&/ָٖՠw3\S$`wt|yzyLSD)T+mY<+2+`\+j/pe2{b\5 =K8]!MXfxx  oКaq B[6` ff(Ɛ8@?L4i:QUG6PZ3j!d f6\ ^`iR:S3,E \mPfaxH*otdc5 Ķ8 oX%"](HQCYhl˜$Ӂ9?¯~# ֊(g0&E0>b#ff %Q>D0)9@j±5ຂudٟ>~8>d>w0XF:_"р6Pƀz3 ҆s>jyc"^pYID/B:+\`ؤvjOs2̅t&786Niu^ĕe`Nw7,0&{s+6XÍ; %|߇24},;/?Tc5YxIQ4PVGDChE =_(_@rb$^(+o2 Q Ң^ -'; 'Yd;nZg`\ 7'd?5>vݡɦͅtqO6(2 J WLא {R%6i}.#EJ$T  6.דNCWPZ?P?#L@dF}Q#\׆;&D?EdU 8?~wl jͰXǯ,%yZΡֳm1"b`L˕6=(esڗh3sTERj'56sP& H *57uC+7~VwgP—(/X?hh\ʣŽu 5XpMv\o=rƭ_"krsg\NlD]RH vY@^C\zr`5E7=O_6X$>ۡo"ͨCT`G Nd*S/+Z3'~u#7MJ'^hx ˦xֆl@ ^D%Ez-⊆ YݔH/xȋ$׸A3#H8ls' Z5ksyB9CUOVj( hԔC]ڬ6)m6N+&=Rf"L(d(# smo{7mi+E@*x9bpXXԀZ3<^i/`]coWי2e"*~jgW _^ ,9Ϲgl pB,ܯXY%e33F @[B ӯ^ZR q^)0`+O5_~ce`J@h.$6P;| 53dk x<?oeB0{:N{[ Č#,d@bM,pko:Y%.,܄ @`^a‚EGo֛2 %{NA/c,ZoK4$ig(AtM?p~Z3K#}҉M d{) pᚯz1 E-.; hpB#X0B} yQ oԚA~H>(0pv1l>Ch%ǦCfH6hzIqRW/&i'aV[34]Z[j). SVu2$V- !gܢLDU'kppy,lC>MʇE~Ԛa'dm *mhiY2o?Um*mjm\ X1[;NAֶUtryExiټ]Th0y_tԜwd%MXQLP/ծGx~(!tJ<+P$L6A!dy.^O{I+$N 0(}x[VWHcU g+l!C,?F-<˗kx y!7)f Ӟ?sa2@

a#L4P&`y,j@&Gpz͊!3g׆k9rP717)KtCɒj` \Hd/Y 'hE : dGЅ*mmI#$$FFp ,Cx(/O0kۄ"G 7T }FѪ/,:gA*D'`SU2̧Xl`tڋ…J]*6C&:8m\BFH ;*>QOGY$O5=C˗Hqwyu,ln HId ?J1>@E :ϒc(CFA=6lٹDRh:: 7~Hg%%60?7`&|D0K}e~(VlA%=ƥXz>¢%yƼKV]xRofGTrPH;vOc,T2+5zS$ Yhf~~aT^G ] Ak1e&ZY/l4i~&h sLE&4Lnb^(sx,0`0HAFٓDbۿ wo?Yˣiǿm$ 64uHYzyxC q4nhžv0(nA)C"h wA}i7JYKy#٠A@dNľ6 F mHVNj*6;~.W0F7`ʆ bv GJPq~pcm]pՃ&Y3Ь_P^|!r$-0(((}\Z &(o j1LM;rx\@HNCll, iO`  xIF0/3t4U%?`vDYԚ.ɗUKU|> ~Gr49РԠ)29{x&nBHL  M*'[2ˡ d,PS]I2ȍfܿߣS={$MN?-/.[hCJ? +yJsH/ <9ؘc;}-Q9C{akD"l(Ii6"p ᱡQԴvd`feC]#V*Van#r$ѢCCz!1݋cޒ} :r GWt)Ҁ) eZ\HTa0Ӽ~*g  e]_z]W+U̜+B:oO~˶Ma*}F'/8$"HF7P$QKh~ 6>~e ”5# mbJ9$ܘӐKLew  ƭ&|H#He 6epL)lRXL҉IcW[:87Ϲ3eHf,,CSS4F7O0fW,m(3@cAY$MܸBJgMau㰺 8d+V'(I0hK(HCvfѬK|:J ;A=$*r&LOJ meXOf"U"B}S\ g ^k*OA LZ-\&@Y>yYkDXEqz@ Q@s= |QiIyty˂SZ{}x%*ŀa,C-]<m@"]ڑM%>x7ړlt#;)Ss m/p a ZՅp2わuN5(#p@(Lէ+X"%EF'U2\C-Y*Op9&RWkH31|EH^!Ch3~D>.6hbXS9kG7!f0 mk/.kU֏nIvdENg~uD b@@&j5A34yDGliѮָ#*Q R5Ią.@CRO1td6qdBjH1_8UlӖ9eJL0) sKƉP,cQ/P+e(D!̖ l-":FT,}VI4XR@@bf}| j͐P0Xl vk Z &lNuE$,#2^Ab ے!*\XDC Ur/(Fx]lwS ܒHA0WĚz罏 hۇr\0XR\}l `]!+h}vMxTW4JE%r g'K\2vQ1h89˘66\`ѠFq<* 5hT#: HZ3LL{.Q" M6Me@KLew23<BPbaQ9r7)8VEDj/]UNB& ^tێIhD{ji] `ԍzfr3Ϲp"I3O{CFq"mF?[ @{{ni !Y"2GN>x.q qz/S2}^>bWH!Qܳ~+LEb6L7S/'b7+ Z"9<eCn.lNi 0$OH 6{mIm1Pf'H3 u &9mBɇuӐdbЏqWTTe N$-JZS#se匷 cI䟾\.r}%DžY`[ECcfhY2Td  mpu4sβS{K( \ p ZXKH? A瘨8˹*ȃi}ǀ$wG 9saힰl\K6u( FtdzCl[a3rYG f&S'򶑶G^ o| a#H/}4 zLg>9ͭ2MJ'DUpE>~ue@6c:!j3Z3zCi!ұ"4#7; JTjBN,Ha0Tҍ챥jd,n\ۄ(,h|g^'Թ7 P2f5cF/XkԠ-|A^]:j k2nI+!&&JvL73mVTYƁ ZeC{GM(JkⰠomҹy w-8|!y%p} tm3ON =Re,i6}4NTU5$TIhKǿ@T>TA{_5TEiBܐ)e'1wş/Ɵf]!/*R4eNy'(Yk rPȂHg8,'ڕ7fd_BtxuD1S*$ELV7弎Z3̦ <L<*Y ITqD/q¬h`HpXзD06V3(hh,၃QXz xydO10$\@ 'eס,<҈ɋ&($ c2L 2 BwMrh)m}p H}+YkDaU5ǗѲaA2b! $` \#j}` IA鳀 \2TpSjg&,'5+ zR(א#(nTƁR=PA <]BxԠyL:RsPȮ3MJ(א9jٟEr98)u",.b K&/+Ғ vQؔ\xG` ȖJ2A5L-FP%9 oU/HҼЬ1{\2RACuɩ bfP`Zg _XMN7אW8֥2Y3tWuھH G] hN$8p!4՚w!^tmG9<-LN.JopLz$V`"e軓Rgŗ7퐄MGY&0 R; ,%$= {25Я@zI5/qsxӄC(@Fkt}^?&1&rlS#jРwtdnOI{<Ŋa9 j͐,e*h)ѹr 9|#r (5H#&hY6aJm eq.N 3gvS,"MW4{./!_&,jc(i %Ș?=j2И'@3Tul te-e}UE(H'_kN7hipA°d2lɥ#.,S-Ԛ!Md_ضXg OI1RP|HzFmD4)"=VmŖ ? @h3-J9h1iNdD8rWH!곂Җ9e*:@}ՋE }ifɗĖ 5NUä5h٘AVwr 5E>IIx#4e`DMO\(Τe1D}dgr jm@5\oc?nBD@(/||lQtNV!Drf*7ؐoƴ M{>|]pͫ! GA'lPPGxD,*fWHH)|HaFZ38tLx-eΥwr gsd0xV04h`,TfÔ –.d {mhV珬4\s Ye 3s 9%`~G x?ȶd]Y`K4̨ _γl,C0Ιڹom&eHus79.g0+l | ]EI@WM/!c0tp'utμwOklwO PWHg]=,wV%u5RkƴiBF%+Hϖ1+ nr"~dr= 6f{lV>ϒ? | wAW<9o`:%yctnYYvטrt_ܶ5m0Xy=u"ۨY 8Mpr4-)R=8m39{h&7V$6M@UeҦ'/At\CN?Xt :͛6~[^؈deD|>%SV HuI$Rr\UB7` kz€Tc/ @*s8kϮ+ }P2'X/W:֤m/"*~yI<\a6P${qԑ}}UmesE:T:A`qE12 /1Y}Ds$z 4EmXЬM#liBx*g/qzZJH4}1"ҭ;靇;el*uvn^͂u (1A8n =DKT.:@>'AS PˊuALQ`m^[]`2_6tJQCW,iR/}J$N\6٦˩QtEIN4AQCgEYZYm'ύa0>teS#!,Q*Dh3~x(ǐAXb a %wO}ڮUf Ӂ@+j@rj~@Nh 7QuiB ѫs&h%v%tR>ǒ>.TD`nu8 zOJ*D4`?HryJ#hG?,%F[pWwQyۺ/0NeGqS"֠QrppoA]c4N ٜ"g.Tx6kOY(j`O+C٢ Sn 0ISܠ X Ku) STFԦ VVA/xr U 2"">-Mu8)FhȨ7Q:,HdG Hצ Y-DMr|1@4P/T(,v Qf]XWH\m9%=A&%,E =lPDr](נTH)(2[3 MU N$c $SfbktTVb)Y kZ :ˤ'B^qMYRw E asj&ajg6MWBbph}0&N.Gm H*H7LAC'QKT(%9Ơ`!+%aE{6BًA\Cj>^i~8u;`46"){zoWEk|v4-;xb~QQD0 8NCz;ħ)H?H0DC-5p8rp yU4y'_.{$4h}\*2AFQ\1p@ iNxѧaRWHH`<"F 'Y@ji`jj@= arE=**#م kZ88%m 'MNo;fi. `z4Ґ]L.3z%UԀZ3t33&Pkѱg-OGK4|H >\*Caև(Q@&N)(#Ӊ(5Ц~tٖk ԩL7d5x);UjU[67P^ 9S5AC[a7hUپ o Ba -ĊJХjBZr XF\C,9)9t"Fŧ [[-u u6"O_M7tO,yeSX%51X֝{~o &jS EZB)VtN=SOdа:AId&)sQs\b5|BbBR:L'neGu6`\ֵ{:0 qv)͎ Ozbŵ@dߝ<#?($dDR ^J>;AϦ1wD9[:rgMQHUm% ``t'/#r(\ACۮ`ZE5hhK}?1Q. }2sh(RKZ_=A L0hNH-Ҝ]#&+=mҧ=z{73pk@hOIn{Fsnm>mBQрj!,C=E ~%4~bj2'zЇdAV"Mh OQ@:PQN4 v?< d^p؃O}c;X7Vo50"$|7kb~<֝e@wML \l`A1UMԳ5R#`4wZ@ ئE㓒1rd1W䴔#;P;2_9~y4Hu @^qҳ8ZzF̈́uB&VtH+R@k]͠Z]}i!BJ1@0gGEnvO Gyo{kf 7PhLZ3&ڀ7M@ŋ2٠AB4 ^a]iO2!ar񰯣M  X|UD-h ىU}#T|O:γY*fȺh;r9 rNO 2z.??}Im(/>‹×- roAV'Qh1>v2 5 I]!f/;Nܬf8 Ѧ0F'd'٠AH9SU9.xaqS Oi[=ߐ )ן?-G?ȶd4&(ѐWP6{BxZ&hC*j@`"uRk>dPa8y1Z3DOh 5hHj.QP@WzNǀBb A}xg8if\:$*g7a6h; oaF#l& +hWHo8 QJn|Xިno٭C߻~J~OᑙsjN53 U4pR75h(jdؒT`H DhE "aEݦ_֛GwX) CݭgHcyBDC^\L^u^$Bqet6M[AZV2 ^*` R{SiL~,oJ1aKƍwOl[C-Lg0nَ2=hwjr^H$k,&cm(?=(:W6 P4h!PK.1 d)7 > b`vd&wxᙂ٩"LwGݳzw"͢z^+E7MDPߠ[lւ5hdC/j(MR\aԏ֦ =[~|8FX[ɑh@E y?T_p :re@XqV\#*,=š==4b!Wܟd5 @W#898;RN LtJ& # ,#БxWgϓ,_sfhӄ-p4R"9ڻTM4jN)yֳA۴cE %$:>ȍSx{Gۣd#р4ϨM4Ap;q*F&+4qZKln[^Eтf==̂- Yv"PbA W ]@WJBϞ {{[sCymg7 R2t̾ p/ r hf2 Qc*lI;XH[3`e6D?~"DM |xQ&+$hۆj/TgEid.n8X0bgeHX[d,$0o1o @R 9 ͟~聀4Z=Q262Ϭe`Z' e=Xf4-b&}7pPY{u4-YW 3*jTnP3P4n~VLҌ%_f0U0Qd2! bl4q*  V54.7j jGM1ڠb);rC" 3@Wb@{#bs58iB_B5h[ݴ '8ː ,L:z AW&GS{15ұ6 k(V4x.fi)̌ئaN%:!1ʝp>6 +,m(!r)R?`K$3֠iJS*g ]tmtdibF?ZTzJz$׆ 鞢; ;q{#o6V |!G=yu>1 e\pɵ ='M,SQA+dAk:[sy&Y&x0UܦKqQ`PT˱уl`0 qo0ٙX AhYgE Gm,ud 戨BhE 6$VIma\ i=hUN e+.`(ːSW-є? FF|2X: )˝(0R@?fpN"&(yf:4d7hjDZ&N!' g4XK iN+@ $$n!  L4j~ȸj$mɈe@OY7$wHyD4pT>],,rzBn بɜ:^wɎ m'%AS 5K:gO֏,xrhY Z3NXw>do7b|E DpeWId"AE :. M2!**5`mL yi 8FAk~@A plG?>+QC,s(&'ٯF(YAҠAlm;̷n.XgQ7s*6 50)jWd/IVoK̷L_S l'|jTmsAFඕ 8ϲ4!UMO̒1|&" ~Kj"g#P8FxSl A\.N1Rfo=k{"Rw›Y"oW K8~eZ Emٓ0T^5h% X#'*jZ$J=]a\{K'-@ 4n=#s =jm@ rYb&As0"Glraڠ!)bԷ]Ch6W!RyeOG'}gdcAEmPb<oZW9SHR+yFx QF t%"2T7R /~G -0:'X>O;ew$fbˆz߁6M &, &ԴE`+L7&{!?ApJv[v1˃kќ*!^ U@JW0.0(\[> ;ٚal/dt͛6~[^؈H+ 8zI+L+R]zq(8$e1²H m|3xoO;C~6.˔Q3 ܋J41 .ű${{T0CW+(Z@ `ڔn4,fe3ϹcP!~g|Sׯ_u޷ب q4773+-09dԊLJ|OL F_on5CeHP4$(*&d|w2綼>4[3Sjt*sבxގMc\AEeڵ}yJPxi@.;W{) 3 i$ IJ). owO]M]"os-㿫D18(uTw6 /8eZfaYQ K:AvAꏝgɐ8PI!,{GT!=nZJ m ׌ʂ=- ` fA |>2AL{²wZϢZ-S;9lXRgeP;-3}Z3bl!Gz(v??4'|(39)Fe=ަ$rd$dM3@̅' $T4 ^`Z u<\/aY:'5$7|/Szz7$ *g/m{Jdk. "kqN, ӊx&oZSj N1|bf?i8ƽ 3ЎB(0vP2@fO 'z|o!DAl@#M"ԑZGK {0B2'Ys ,,_nTSh 0AA@wcP; ʚ;ʚ;g4rdrd9 0(ppp@ <4dddd4w 0h, <4BdBd4x 0h80___PPT10 ?  %BdThings to Think About & when using a physics engine83 Brian Sharp Ageia*   Who am I?Engine programmer graphics sound physics file i/o & data mgmt CogniToy, 3dfx, Ion Storm, now Ageia (Not actually a lead programmer) L,F,F,>#:" What is this?I m talking here about the considerations a lead programmer must undergo when using a physics engine Obviously quite a few Why Physics?@Single-system hypothetical development walkthrough Physics seemed like a good candidate and not just because that s what I have been most recently working on...&XIXI Why Physics?Physics is a newcomer to engines earlier  physics hard to compare to full 3d rigid-body simulations Physics inherently more challenging to development than other engine systems (in some ways) very in/out as opposed to output-only like graphics & sound still tweaky and unpredictable, relatively still unexplored (i.e. what is  physics gameplay? )T!D\!D\,G Why Physics?Game engine subsystems can fall into 2 categories: platform & world simulation platform: networking, file i/o the glue between hardware & game world world simulation: graphics, sound, physics, AI the metaphysical systems of the game world As world simulation systems gain complexity: platform systems must scale to accommodate other world sims must scale dramatically to maintain consistencyP'/+-lP'/+  -lT1 Why Physics?By which I mean: complex physics complex sound complex physics complex graphics complex physics complex AI etc. Generally: we want consistent worlds, so world sim systems must be  sympathetically complex de]],q0+ Onward(Hopefully) helpful framing: 3 axes to each issue pure technical component programmer/programmer communication component programmer/designer communication component Survey some issues@2s2$O Issues: Engine EvaluationEvaluating 3rd party code could be a GDC 2-day tutorial Ask as many friends as you know who ve used various engines at other companies Get your design requirements as solid as you can& know what things are tentative / flexible know what things are less flexible (i.e. really important to design) Be clear on how the engine integrates data: how do you hand stuff to the engine? how much data will you need to copy how many world reps will you need? code: what domain do you need the engine to serve? what kinds of query support does it have? what kind of scope of things do you expect out of it? Evaluate API, flexibility, performance, memory usage, cost, platform availability, source access, tools, anything that is important to you.PoP&P+PGP3P`PPo&+G3  `)Issues: Asynchronicity<Physics can chow down on CPU, often contending with AI if not graphics for biggest millisecond pig Next-gen consoles with multiple CPUs: having graphics and physics on separate CPUs seems like a potentially good choice for parallelism but that s hard. how to get data back and forth? what latency is acceptable? what performance concessions are you willing to make for more prompt / spur-of-the-moment data access?.ZZh4*Issues: NetworkingGenerally people do authoritative server-side and broadcast corrections (I have no first-hand experience with this) When client receives corrections, some tricky decisions involved ignore? warp? lerp? makes everything vaguely kinematic.LH,A8H,A8 +Issues: Memory UsageMany physics engines are not well-bounded, theoretically, in memory usage. Can be a problem (especially on consoles.) Ion Storm example: elaborate fallbacks disable ragdoll self-collisions start stealing memory from other systems&II:.9Issues: Impl. Risk & Scheduling New Features on Your Side8: (   .Prototype to make sure you have the support you need from the engine. is it possible? if it s possible, how stable will it be? if it s going to be unstable, do you have a workaround? in bad cases may fall onto next slide...&FF/AIssues: Impl. Risk & Scheduling New Features from Engine Provider,B (  6Communication is key (like with everything else) Be clear with engine provider what your expectations are for features and what their position is on adding them realistically, also depends on who you are and who else they re supporting Your needs may not always align be prepared to argue sometimes plan for workarounds when at all possible discuss ramifications of cutting it with designZZpZKZ ZyZpK y 0.Issues: Interactions with Other Engine Systems//(Make sure you think about how data handed back by physics will be rendered by graphics, sound, etc. Graphics: separate geometric reps; hovering or interpenetration need hyper-accurate raycasts? need to cast against graphics rep? Sound: physics-sound: no licensable engine has a built-in solution for this common solution: lots of heuristic parsing of collision data plan for who s gonna implement this AI: pathfinding through dynamic objects if player can throw objects, how to respond to impact? if player knocks over stuff and makes noise, should AIs respond? Yes: or else it looks dorky No: player control is very coarse, so knocking stuff over is often too easy. Ion Storm: AIs would respond, but sluggishly and with a high threshold keep design in the loop on this one& dP PxPPPPPP%Pd x   %b ~^1:Issues: Drawing Lines Engine Provider / Physics Programmer ;(% Player controller Ion Storm example: used licensed player controller saved us time in implementation? but small changes could incur much tumult Valve rolled their own spent more time on implementation, when things didn t work they had absolute control Source access? Do you really want it? Pandora s box& but also very powerful to have. Requires evaluation of how fast turnaround is with your provider (see  engine evaluation ) Worry a lot about any part of this line that is not crisply defined.PPkPPVP(PPEPkV  (:3;Issues: Drawing Lines Physics Programmer / Game Programmers <(& Communication is key Ion Storm example: doors Processing of data on game side damage infliction, etc. whose responsibility? make sure it s clear. Critical to monitor stuff to make sure you know who s doing what. Ion Storm: game-side programmer wrote particle physics simulation that used raycasts for flinders & grenades became critical game system. Then needs support, new features, etc. Worry about any part of this line that is not crisply definedPP PDPBPP>P DB> -Issues: Kinematic Objects  High concept is obvious Details are devilish Ion Storm example: elevators game-critical objects crushing etc. Often hard to make blanket rules how much force to exert, etc. Lots of designer collaboration & special-casing capabilitiesv-$!=-$!  = 5 Issues: Player Controller|Easily among the most time-intensive parts of using physics. Wants to be very non-physical, usually& but play nice with physical objects. Maybe the licensed one is great for you... awesome! But you ll probably want custom stuff. Needs design, coding, management, good communication, playtesting, lather, rinse, repeat& L=M[Z=M[Z 2Issues: Your Physics Programmer (Is liaison to engine provider Is liaison to other programmers who need physics support Is liaison to designers who need physics functionality & tools Must be very proactive, perhaps more so than any other engine programmer..=,Issues: DWIM vs. realismWhen a designer wants something to behave in a physically absurd way for game reasons, does the engine already support that? If not, who adds it? Can it even be done? Often boils down to the  kinematic objects are hard problem. 9! In Closing...Don t worry, you ll find many more issues than just those! Hopefully get you started thinking about the issues or nodding (off  ha ha!) as you remember already running into this stuff. Q&A... 6oKoK<N   0` 33` Sf3f` 33g` f` www3PP` ZXdbmo` \ғ3y`Ӣ` 3f3ff` 3f3FKf` hk]wwwfܹ` ff>>\`Y{ff` R>&- {p_/̴>?" dd@,|?" dd@   " @ ` n?" dd@   @@``PR    @ ` ` p>> x (    6  `}  T Click to edit Master title style! !  0  `  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  00 ^ `  >*  0\ ^   @*  04 ^ `  @*  <A J??"pp J  <A K??"D K   <A L??"` LH  0޽h ? 3380___PPT10.aJ Default Design} 0  $(  r  S k> k r  S k `   k H  0޽h ? 33___PPT10i.nM+D=' = @B +}  0 0 $(   r  S LLx `}  x r  S $Mx ` x H  0޽h ? 33___PPT10i.ѥ +D=' = @B +  0 0(  x  c $D+ `}   x  c $- `  H  0޽h ? 33___PPT10i.`+D=' = @B +}  0 @$(  r  S Qx `}  x r  S \Ux ` x H  0޽h ? 33___PPT10i.`+D=' = @B +  0 `0(  x  c $ ]x `}  x x  c $]x ` x H  0޽h ? 33___PPT10i.`+D=' = @B +  0 P0(  x  c $dyx `}  x x  c $sz5@fq` 7 i:`tT前5*(V@OUV5MhVRҨRZ%wC`֟ws̜sk+~Dkdӭ\" vpBv+˹+U>穙Y|BS,lvn~,/wWbS\:HghhV2<+g@?٧4u8=kK WJ]WrsX\+ex+aoTbkLTT|גK79{5N](?̵cx9ܯ@ :ұnl|> (٧؎ؿ-}z`h6] lځ:#Nܖ t=@t||!0p8 EWO3 $02~`8ma{QpƱ[e]-+v\~sJp> ΐ`YvQxvǒNi3r"u^þݣdޣ&mэn6RA{5)PjlxKx,P:Zq#6ECq9CM-u[uCkch- z:S*;mg!/^ث 75cF#%7ǥu!A#u˗'Dvu,:A . $w8BaՍX1ufn}cߛuDMcwiUu/aޖ>]R:h8ԳrǪvIBfY8o^ʩ#D{PPI3K?qerr_iՇS"1A41AYdYW<=P7ds,Z(;%9Jd;ǀdr.^4I `B ;5d{r J ,K`@.p'Ѻo@aoeu!x~u;KM Z1: h{ ב5ވ`ͼ7sR俷5:h" p5]XBТI^L" =ko`K@_+_.}#H̸]l÷>IŝJ̘VۑwzEwƋ֣%wҙ%2^ R843.Y5okS }ެ*d7'RD9MLo!Nq)~Xm0]]$**\dժ~'GTnAi >?u,G79yg )mmn.A?OwRwFO{~> l+3ޑ;^YV燞}7э:;Bs0?56QG.^ehɘ>Psimܣ xvhӣ=Zܣx4^`Z ZCԔ\2+]ߢ~C! -+ezEF|N_ۃ|cߥLRR_Gq-Ƞgϓ̘'SswIWp;ad#?{:Fô#EmAF\9쭖/}X|;yK~l+ץ2-]|8Ix7g3_*1_nKwsʙ?c}w{ǯ 5;0U?kMK;Ѳ^ݟ}2Zyej w@cnHԛl_m?^WShI )Vi^q;xŧ|v!uqva6?kcEϱҧ"* +T#UvA6B65:|6CxCż"xq~I0RQ *xY]lT>؎,`'cHLh 4N0^ )*BQ*-$QiGm[JQH}hFUڦ~ܟ]wu;39393Cݸ=**ɢ|":0( {P[m@  lz@/`p?>w~s8äC/_FQ(p x8N_&kSi+c8U`x8&sB'XWiM! MEik ɽK!K>!;v<#fV0ee?\NxǦLfիHFԟIJRdIS?*8Y\!D" ^D 2bpvHIy;72B ''-$eS􁐜XjvjᎦc:6!!ӓÓg.pWuρGm9mG)IE^=WkǺE0N)S6aREK2Ғ!ͦm2{[?l\rȌA` ܄kp$F;I&bP͙j8fYUƢh,{2qUpRO2Jea,y-:ݞ<#q>M,ry:Kqցm{48߯0, /]b-Ҟ1 I͒;4 orS(x-[[-<(R[ Y!{uxGDr{&^qnK/Lkgu/CߨnG('=2 Khw"-Y6V,727rkPIo51>'>!TzT5XVO|MصnKh.T3NwڋyRgΥڥ%^RqlAfŰۂTZ\;.AKݽݽe젦HS|s yT{+pƹ z gwBD<2~;Oyg,Y^3bq6շ&R3g3C2 Mo Ρ7L3qKOS8k/e7~:!/}"^):Q;f,:g/׊ {,޳xx9;3qs+A\A׉oŽ^ͅ&du˺wޜqnܭvݺ.˭u\kEߊꛯ,MT7fE'h Fꢃ,޳zhғse*Ψ1$w3‘17F.O0HKAVr9Ζ'ױvro, cCx]ZwMq{+_D_ ׳ }ϟs P>zgN?1P ǭ񱼕߿W?hOwT܉w<ѽC<ԣ1jߥN4uHU"QWՙJm/▊Zǥgc2gEfc:{݀_ 9o+YB%kc%]{^VjVMV*[Fe&5*xZ[l\W;;_;v$vǵ4mI'NC8i҄MӸLT*b !&i+$(hC@ TH#UP<}xƞQ5<ُsy^[߽TI(y 0܄Mrsg@~p)s(];IW Eʩ3_&]Re6B'3767ה&]JB5RgFr/K<}b kSg p-~ғds?,,ת@ Qnq}w-`T!mLTjPGzсh=q}?[pIx$]y# + ,#5ý,sy~^9xM j& O-Vhڀm@h:`' t >}@?x< <<|u0CQҋ1_ $Jt8< |x^': < _F1<0L^{U8N6:1.'_bo"\T±uFĢ^21R6!"JPX;U5>@sޣ-r2>0⧯\<Wgo%<`TJ}N}b$/N/C^k2|Wޏs˱:R074ʨ+ץVPꦹ'^T^oKٻyo;OGKO\̼+~RkHYn)Vrh8Zw r939>]Z@4VHJZ[۟q~_2[IZc:O&gϔt*rc+酐gB%_kEױҫ"SfBU^ Ь:-04yifbz U+??P^O{H+^LJe:5FlJCtUMO0_ܛq숷no||dlQOgOMNd12=+9-ul1n|^G{HBlSk]$NKr8n(&7xq~VUIX-Zjc Xk2j7zlq<Gckn@s*1KSܘo >61e?\cl0aߨlo73_ a.a!D_|;+c#;d=h@?s&Mԟۨu9ކF^jAZ mWbD, ^vyW#Fw{P*€kVXբU K_̀EdnG6iD2U&!UNƀ_Zlw):jrt"hـ=rFvJRrai /^g)8Ņ #F~gZ,(ϙM^Lw|f<9{i6qXr#c˲>vx&藏xOKav;E/l}RI@ *xY[lTޙv38Il; ) 3 i0tOp$UT@C_RT5}*U>Z%**jH۔\{ƏHQ8wp5|R^C6&()r?fL*hBiz1),XRԛs;WȬ~,捿OR^wM4V`)'Knˬbx&zrG`zdxóp{$9yxn) b ;T֓xnZM@LƏϺ\] $ hEd[asbxVK](8o@x*5 jj: FwVܜ/oc?'?almv~vN z^!a`(%=lY{u28p U`G18px_< FSi 0 %R9`xbeD1˜vʸ[܋K|KPH g~Qx~*3OK[ Ug<+J-!?ǍsP#$AקޑTi<91^HK-.spMONM.L~aeEྉTGqʎ#o38E͑$X:l9dk"t,J4lg]%aujp[sd}&Q~[mŖo'4}Qq{[\sxQI;l meֱ+W-WP3ǜǹUdK~ Dx/j߆~SlX[[:_뒦SNM֍+7/#~:Uvm'`fpd ^dLO_Y<|D3D3343GB9-W"eEO2P2P As3xPw*Kss";ˀ,6Tj\d$E3)IJAJlaة|K1'P7- -;D$ڜEO81s#A.wbltFR\ѽ9HIБZ4$dzp`ljnj%O9qJұWvtnLqNHaJf< *ZvKjDT[w֟e4sȌBaznb8kHy?vGQO(t8ShFEq2u3cݓ午Ue"I>zZ?2{-oq>=< -ma-X{FBq66po~EKV^{ܲKc`W0 /a/KV"s1~ t갦,_ȟrGr-+v`V<ُ9ܷ~ִo|u8h132jv!V7h,c 󛰆BF5$s:Fй)g}pM2>U$bUMmC5:|jh)j؅3ON&/ڂI9[/Wk_/y =N,|UEdm%ś,XP(rn!.#z\uke/_~GNp..=^FwμN>v]\~}Rv?VTh#̟+V; Udo-)ܥ`;xS̀t_ =gn$鑫CMƴi]76Ѧ<ڈGh77_=4Q܄g6k(Ig䔯3]asw޵˘l86&$)Z3 4ƀvBp6RjUPCJ IT)j:}ʿ*?*%*_QM}z߻|=3sΜsf;V~Hii7yh>*M5d2$t} ~\#t)rƜmW2s}M 6]i!:OEt҄SBL]%/G;3Eo| 3 ? zy-I>!Q\ߎ7P 1Q- @=)dHnR%} w"V)Z:5:AEvPg<<~y`# `+lN~`;0v!5&5`/0#h> <>|8(p 8<|x^':<q p8Gj]22ǞmwaP_`#yWV\~i1 -Ӻ] {EjB.6 Ն'͏eKkͦ#){b[Y .ì/4-tʼnTٳ׈i~u͎Z}k&MYr&^EӧH#=O1* Ɗ= %⸏gCYgS{hgRg]w&,+Zk駤7kpML\rFKF&ܙ16fF,ڈEh]-hѸ>QN:U&-[.Nwߢ[To[Xq,;`Q(o@87G7`#}\>[e,j?L=tHF\rgQrQq -<"=zS".s)z˖aq,{ isClcm5W7mˇ㖄S|})fӷyo;{Tm,'a̼ T#t~3;Ou`}fG7vgA*Q*/`.៹7|lE8sV~\`^o#3ߤzɼ+g|3 Ͻ2cWE.yZE;UFMBrF&f'/$qhP]Xy) gpJcyZLR+)>|uVJߛ#p _~cx_3ȏxٳ>֗Sd Z=~}6g3d^8QKNKD'*'NtOZu(QܟO^٣Sѩ GˊNRi{ѩѩۮsSntʍNѩLɍNqZѩr?W'}_OV2#[(z7ߔ߹翗ײ~:}:;yբZٜgXmEaB-wω'giyN|sW*]uZ9)a9qxywωs9%xN`usS JxZklT>sz1al88 -o@Ԁb'k`#%D""mЦTUUi!*UmUU~T"*_QM~gvw&Y9g93sϝrHyi+t;&z0Ll6$Ji E o E" cζ̨GeE^_ b˦YH;5&Sg*s&(Lr ?[>PotlZ(Z:u5:*m[^H@ɚ?ਫ਼{)9@ĶtL;+iSGissBJj3==<ޟU=J`5Z`N6l>GjJjva`7Eky1`/>`?p8G:18%)`x20 N14u!ns¼{~A}(55,\Cai1d_ȻM&&yՄ&-S> ON]v˴ZMHL-m;2#Lj5'N}$#-9$ڨE& >%|~ڽp^8?ἹMzX{ꦸcpږNW/yح{ ޡܙzcV ?q%.se^>ڷZ--4˚wT?}Dluo?SM4ք7UU$\,\KoW¿po;3nBq^^_({:LLYxnƯZF!h:7P km:*r£.:A7 rE|0<>=y\ 5Edr羭PH8{K/$s?G%CA t'ht-ގ7̞XGFV[#JWSO?[(.Yg. F/,8n2.K8lbb2w(cUr+Fk9ږ+O6%r6FZñ[UV弚bOg/؁=$Ĺ?(ۢW[4wBxnV^i+KܯriMEQmy'FxxɄ{jm/2.޿eǯ㒂$ɤO|333KxLRʐP&{׍rL& y 2)\3)gi0Z]|PSqRq٦AF(鶖AѫrJCCg1Z77%ь( ) n2,*H=} ÖwIoY(7F4#h}؎1#Y&cqQwB 35u>{+>Fe$'[`l0܊5p,1쒬>N5-K]kh9G#wLZO֝VBll{\rQ?ty.巛Iܟs顗C[b,-1 .k`c5}-[sىUw#Qua./D~{ev w]<6YJu਋ [~}EXrPՂi/NJeQ@q~Wq[MTnAΧlLe>V7뵹*_vK񷞘h4BN/pkDKꔲ+%4^6+HƑ"烴(9 k?.vVoTm^Lor,15=?ߵ'q]'e=;'!o/37ӭJYA;|†7t~3rw:%D'%NtG"Q⹿ O^ѩ7TS DJGTj+;:S>,#:odGStGjp_ղ,q?Y|o;S+c'ߴkl|٦M۴gڴ6mMhb6-ω#cS:'UJW]įVqNsz5LbcIH1Phm~SHԀb'_FJRBj/G}DG[5oU*%Z孨!jS93g{]D,3s~f3gTn!'Ȧu*!\m+W$M7Kt9M/¢eE5g{'}o_;ϿVѵct˒,d\)4@b/Ћ=Wd){BpG|ҧyux~9?J~ 5@}H1QYKNt 8V+kQVoŲ-*VU?{KWFʏ-nhf>~˽ths l6b[?>¶þcxX;,O5u [o;@; xx:@z^xxx <|`{~<A`8D:h_ 18p8 NO_!kWgYk(p8\ƀB L]]vL=(4N3.RK3{Jw !KxVE~w C*Lg\bX(%d縱!E~ߩ%SRo{|b;"{(x]נ088496=53m=<}ʼnփgE&S^ CS;;D AL%=m[WgWh#;mCX^kcŻ9Yt$nM>#-ڟ99~No[FW7DuQJ6#;`"ّ ĦΤA|~l{ij>>@{B]{@6HT N"_[ڷmP.vyoUbwU,KJSI{7N(7/ ea~*I038I ^\ee~~4샏ghn$uRRYf5_~xO6Ȣysxf'lVxæJבg.%II0'HN=qj$ңr҉ 8ԃhp EݱtD)'Tr I \ҥODJOO]D2=88>3y wq i'Nӱk>zpj-8'W5OuXHmJ-cJ-dPlƐ]q֑~$N$QTpQь!6e]g,61'*.|R-giz59 rc9| ll{ܳzc1crW㰗%Zqԕ9AxNJ ui .r}*P[s.e/7/m/mv'q!Ȫ!1lP2J]-vH\9yN@k6bUǜҪD/^zGNp.䩗ff_}πѝ::}wJI Ζ[QsרeZ׷Qp |k~vOn} Ƽ37 M7OCpFzdLoxsfnԫzuG>ϫKzuIƫ]νI)٩ e .}׊9E(foa^C7M׬h,M7aY$%h :JA<9Lx25wWk"逑阦]0`2‡3Qo|+_RyĻ̏ uakӪﺻO[y^x)d݆ws™go~Տa{kN}h{ '-uj|ڤ/jQW3]$imfgۏⱿqYZ~\7ʬY)/9ůܷBڬB9kE]{_&BUhUhRmY* &H^O JxZkL\>swv, BlmLLp6&5~cR5$I*FJ(lm*D*I[jUQ)iT)jV).d;ǽ9sfΙ{|wk'*s:QAO$L 7tLt.:CWRM!kZK>k6<~e!s*agY_ :ӦE(H3U&Sg* q,X~-O c>COA6Sr+= }LT  PMr դ7TJg/8F~Xh|ּ|y){ 7۽&sz F\f`Zm?w V8A)E?=ɑ#i%7B~GDhuho*>SNMMVV7Ubq?Y.޶gt=9ZYFu~<63}a'r2ҌB!XUKzH"QhP/Z٩ 8Ho(/z,Ky8MoH5z7{=0[C-[Z:Gj> 5z7QU:Ϟ"P].љ\j 8Z*QjۛMVCIT:%WJC9ږ,O6!fqj_P9}Ӊƻ'QHì͚{#kYs'E}TKo%5/jLm_~Kk*","N;W@Ã'G'+HhBq1- ?~DdD⛹9\"k|WW(h$MpqW;n$Ue F`RW8A]`DG ˰_6u0ciԥ/m5tI]tJ^5zT/SkUjXa-HgzTk$TF9G:I398y>CO3e3e}m?ь )unF,%U&  %7_ݷ${q@uW~$GԁRs,+NN?wˏxGNٱ}IR2g-w?ro o|A$߀;p |92Ɖݕ7zƟz=J=SWkntѩS{sGd?:u8}tj'yDkrSnt*]rS{tU1\i~<7>s=$y/ZY6LEh-nh!{N|%suN~vωċk{N='wω/sc%t*L *xY]l\>sz׎؎ Ig$qcv6b$7v1]照,PB!%-UU'*UZ[C%(B⭨偶4f63s~f3g&ݸ**M7 TC1u7۞Uq2g.6:zk`-f麰OV޵#t+,d\94@cOS,]XZ۽Mˡ #~3d:<xZGoT>$瘨XC'  :5+VRo(+ ?g+e[TW+8+?TZ~m{ц& $-Ķt+~|хm}66{wXgj6aۀ@ @7 z>`7pp/p<}~`8@:h |8<|G18p8 < |دN_Fǁoi pΑ i<0\0Xb{Qh12V7r)t}B)*&ߩӒ6w6S3aqbƺ&j#zܯ-w$NK3饤C;jŹɱTr̙&O\L$.i캗>o- Bg2rז-]ݣlOq(=!8fs<:H,![|RC?F:"7?v|ㅝB{kdq"n=ۣ\ݕl>GnE3) ¦AB"~l{ i j>؁v(wa,3-mDDHjo.:j](^?G5cw9,KSMC{O(7/ ea~"I038I ^\edenn,whffr$uR94_~xO.ȡyr3xf7\NxǦNիWw&-II/0#HNq$ңr܉ 8ԋhbocN86'iNLér1c62>4Lx JK^q Q'NX&܋A>U),)ӄVa#RE[(w7ƫrOƳ}vgk2swa;Κ~N(u8ShƐEq2m3McݓVUI>VXZ?534y=yn|Gx@zš[Мll 9Nr1X>V=X151 If9Kq؋]d-8*8G[2?AIz$ڢUO}CaC⑵8|jhҩZtg~Lz+5^ϑ>s.f/.n/ycv'q1Ȫ#1l6OJIvѝ.Zɹwe8_[=!t/VqvASZYꗁsv5jr03yb-v*%+C ΥW<'uثDCg^~;.~].>)ATrO+*uu",^+:}V5?@ppcޙ]ǛJnlwxߤ'j!WGg-ϷLFu^ݴW7ՍzuC^nnW^]Wdz{rf'h ųS:;uFFk6뻴{J]-)sPd~]8Y!>77_=YoⳌIJ 4@xoϓӾ̄'Sswiö GtR@G.hydzU0+|{)f˗u,G$^a; jnox> *xY]L\>s . mkb'` $N-7Ӑb1)X䍔jQMڧJITmMEUUyԪZ6;gvaų3?̙|kwD9v&AME v&a dU9F]Os¢eE9zGmwj#wa:OcE r+g#W>YzvֿBxvn)zyY~>ȾX>r^A6ww cE@ HҝYR?o_ITJ/JWO勒;$ǘXC&IFl bt?oxF-PN\Anqppbtjrz2u[(v;JH<.R zo) Bg5͛;;:;GޖlMJǢrރ̢`unY nklBߐU䱱Oe7 }s2r #n0}{|o3]B=){FځMY|L9}:ve+Ӷe*|؁v s8wb,3s]8"QՏX; xYv\-VPT|0skK z]R:.O94иk|RX?,ׯe" fG6%$'/sssxޠ'II+2"Ti'gf(]l@$@?%a]b.~?jWw gzjQ3k|۴śKhmģxCGh-ђʣ.ޤ ѩ *ce5x]=O1V+Pd_~][8Y!>77_=Y(KnⳌIJP54B{xoϓS΄SKw)$NYߞi  Ӿ)1!9qzm_<"?{GP'^6a; jio{>swv, x!6&yǍg!X qL n%7?G""+[MTUU%$TUIC[54ZJ۔wfk};ǽ9sfΙ{ucG*q:QA[Lq7Qw ]u.%Bƴ|֘mxBUβN~e~!ئ"M:Ji"/TFpKiRгh9z*oՐ>`~.u&S!}lW$z{oG-(XTA@U DInR1} G ?lRb?Kk.u k^.u< y`ɜ? ਫ਼{39F fb[r;iNu_~ioeB/f{zy?[s*#t l;V v>`/p? g?9 pԢup<(pǀ $p x Nt8|xgQ0ZF;j̱g[g70Xr,\)[f5ؐ< +a[fFdq+G2$G~!GˆcKoJ,H>~Ye˰^8?νFz]N  w|=})ݦӷyo;Dm,'d̼ TotkiNкP0>Q3Z.Ggx;`ʩJ*Jl0 Oj>"|?E+?ɱke^7c3{ߤJJɼ+d|3 ϼRcWE.zDF^Bhr''/qPZXVyɅ %gpJiyZTR+* =|uJJ[$*p8|nmn~t?qbbB!tP{G" x[G[6G3$0*ֹ [xTA/^+d떌kPni>lG_G,wrSJα`8E;%P}f|VJN*2Jea,k`,kq%.s5;fhyge^V=. (r4/8dCe,"Uy1&Ҍk`C5n]-G[Y%ER۷:֯W.~_y{-V gM<6QJ 5 )P-c ˋF-UՔQ ɱbF5>dV t#[,G!UCF]%kVw)ˬJ5괂YIkl^ /^Ugei 2h ҂d/L}I>{3ݑٙŦCN5(ׇnI.3ҭrYA˻9|†7>Z }o?>{cwDĉnatOk%ʜB)s+}t 7:UTiAѩ)"sNhrN m)7:FTF8TBپ/'-wCyU7e?G{{O{z:uv%6g2 ?l[cB-wω!i@<'>_9VxhCyN<~vω k{N='wωsⷲ>uh JxYklT>sz5 1vRZRt85` 򋍔jUTIT IT)j:}mRҨRHM۔wf>v|s<Μ93?|k~Dy2f6FOVtl6kgt[4 5gW: ;s·5d*>{u?RlN 4^Lo*'#G犡$J~Yz8KO,-$?IzyY X>hF^Rӽhs lb] ǭNr7ϼm^DoӅI{; ĈǘXCjVYMZ B.X_^a=~koyM~vg[6`; vm@; v@ {^ah=óRFy aQp8 '0%uMt x2$0<|Ngp]H iV+ m 4ƴCkW,,Y9w6+M!D6VI gT aP~ɍƺ&crCx 'NI﨏BR!:r5ɱTbPs'$gd L&҈!ͯz) Lg%-[:;:F[oE-JErރ̠ 1$%tc)~CN'=[W͵aˈ㦫>=;msdlgⲴoZKKGыco0ն\yi.@=Bmyy]RPXN_K ڷ, Ɨvd~/a%Lk\PKJyUN{O7/ a`~,wmH3-KTJ'~#E?cJӔΐ̓)LF"se=.>V= X>> Jr=0!5wH)XQ|:iX}V3RW/u so^Sī􌃒"sWwxZk]^^WpPxS4Y]K{Wj7[Wa H M∜+IT#ss~x&\n_7))[EB<MWѫ5X|jh*wJ^Ӵ"g^L:3֫h+_"u\L_]\_"S =-|QEdm^J'yOg=?Gw.Xs 'oDa5UsL26(b}J$rs{v~O/$e۸U] >`M,^hzKlzaOό?.::wrI6Δ7|22Ϟ6xsū {J}V~+Ov~F37 oMWOUCp:;FZ:_ӵkfM;yNި7v;y=N^wN^ǣ{bFǫ S;:UƬmyJijo?V5ו*+'K|N JV~ р,g巳̘#Sq['6m=)1+9yh\Iz/1+R9쌖+mzrn,smC\u~s ڵwA-g :Y|_W? ܚXWC˸7}^ Bv'ZQZ[' v(#P jU j,m:}Z.v-n!{E!{\x?E+?)rQHsxw5~ed-gN_WgJ^+\,4&*B"wjj(˛ ,? ?:hAP W=D3 0 H bA?E b9zoX*xZ[l\ޙc?k~ucߝ3޿Щ `~ar S%b 6=ג4ep`2@PD\Tچ7'u׸m/ScC+T:ʩ +%é #vٹ4&Wo5VI}~Pyޘ2c^XW< G)# w-CG';[0d[9Ԛ29:KD%Ю~J"l||tmDIͽ96f]ژKsi]q6\Z̥\Zԥq:m֭㏆։lmF#yߥ~I [tQMz +Qb Θ#Jɍ?#[X 2g Ogթ;VӏddD"6gq,Ly2 AFJ9趖ó}X8^ fuJ|cY1q57֫Jm)^>Ax'؟?bw8o t3j慥>m_g$oy'\Ѽ}XGOսjLj))&/M5VX*`^MkW#xk{3nbqVV~\aHV}gZjz!>PHu\{UQ6I/.9K/ ON_F 5:??P^Ox{wj/:bidhʞ"aR wB&Gt3c[`+ٹne-B|*?ufr|&ެmz;sDp ٬.wcG:m+v1)=4:cz j +Ӷ|*=\N% jOz}W!5iP߬;˖NJPAj羵Ox]:sO%qyMoR|_'A5ܺӽ\/dRLR83??GxgiJgIhYf\|> ˗i0aH鋔Gc~ cDׅ.5guao?s&-ԟWr 1GkKk!;Dc6d5\׀D/"mM6?qwRTImV$olkXڭ]ŪMjDu(s{^|WзK&*|jU~0xd>}qUY_KR̪uKŮb_Ѡmwz(h(7rr|KzYB%3x`_WsS3kwsKəٙ\DZSGƓsD_>"8+R{n?7 LQ{sr|k:9&x] `U~\QG/ęY f(ځΌ:,b$L=>pxATx(h>i3zU^/x ۗ$5 #=k8=.B؎RF ۰}~hEf X ,k'%*%ߑ99< (>x٧ nN>*vmxU+?쿒ڛ㷝?uׅZM 7qv>Ar\:g0ί.&sя;݃:0"=?v&RLf z;_>ɟ~ӯq?!_..&| @r<儍 BFWo0]C?Sπ?Kீo @.0py@>0(#lnCx\|qHDIdz ) ؠ 4D!p p+p#1/Owӈl$ 6*gl`P{R `j/_eX@|Nq8ʷWHa<`p37'Z}~ o(|KC#cS2 TU@5XV//5@ 2 X  6oq wwM@Pl>>>>FS`  M6 hl{}~p8a (p8 '@;p :.@a7 p.y׀ ÁeH*`p5 F  _ mுn wq>B@ hZ/`' X/`s6p0GcqphN@'t`ff+9$6=O0  jLpˬQ1uw|.໰G|um1$'ձG爢]zިjffSSM5sҘj۔TSܦ4j61T3)MiL5mJcfnSSM5sҘj۔TSܦ4j61T3)fEQFAMiL*Ĉ+c ƕ#V?61Ւ D2 = JCM-VNmJcb"!#clQMꗹMivt)2<3ՒHy߾=eSJcojI< 0SJcv QK ވИSE j},.) U4fUK!"JX EAiИSd2!)995%c4 ҘҘG74]tƔDst GzטИ1U4ֿ$iEghL L EE4fDrI( Mc_9@cN-X[Tsl$sLt-5!Y`.:@cJ`JcB`}i=eՃL3q1f$MECcv.]cf-,Wҗj7[=TlvטXk"Bc5V>5fDrI( JcBc:֘)E%46(!tvIfk޵\J`CXԘm֘)L>{EZ=`{oXcKBill$R\J`CLE#$E,{5vj*yIfSxh3v.Tcj6 SEjL97tѦSSlQc\Y. %! Lg3m$R\JcVhnK2;jL L lp=dX&KBi,ub̞Ei,5E: Bc.Ncq-X4SўEiL ,4vJcjJ`J`7ԘdX cKBi,c Ҽ$@cY'04MXd'A Ry S17ǬZ[cg(Z. 1K9qynŵ\J`Vkl4b5]"fht1 2Y.lؙcA X:di՘eZ}k,mKiLzPX/XE4fLE5.>XF9;۟H1Cc.Z14fyn*Xc.IcY4Q\NLŬXzP<64H&eƆi3 aI[%0 S/b:4br=(L`Vi, ,:Sː0Yc1S1KÒt2Q\J`'ƽfdk,yh쪱fi%Kv-׃-8$=]4]c.0ИKXY.%0 ,bL.ŘzP<65foƔ١1Sd&j,6Q\ J`'{s, K25(Z1k}ԘyK25&bPI`6XJpzKƬҘ5fqːŘ??S1}3ɸ)X,,XLE݀)јPs<)0S1j,&XBM俀2ah>yLE܀?xџqo1:tY/1 L77ͻ9F1/,Y1O d1:h9x1fnyg*TcKE ̱럩!=Ɯ:Q|+ogƜ:Q|+蟩>jȋC_ Ghގ^0JcXhzsBc,J`z覢nN1:9r1fWC7pslv{:Y/%0 c?SvskoWK ftsD6XckF LiQ7ǨX&$)ט&}%tj̮74?hW-tS1niz(9Y`h#'-WcNr-Jc&ja7i5ŘC_ _c+G ᑕSEۅՂ X%???q;3_I땠4ɿ 7h犵<͢ovoYȟ^ϸv^p@_ i sawNfV]>nfT?͸O1:ߥ*.Z]JuN1ﴛLURBeTg65F-^)9;.KqO7s0SsRK4ctpkm ;gƨTgp_?&KqO0Z Ju1gĸƨfJuiL&K1::fJui.e)4CԘ|:e1:DZ)ɥ,ܓg) eLn1溟d1Q[>k4GS 3ˬw#MKqOS1fJuX/ 9FS1|iGU 3[,c4S 3[r]c.&\v&v؟XcTY&e|Xj#úKYF$e?~ɞH⦋Jcijaa,oQ4F,+"2&~)KYja1Ks>25[cja̼9FUcHItQ0Sq8̩7iz4FLE?K .b}j,=MƔ1f̻9FӦ1f*}OltjEE45cTqRJMLřKY*5c4jaћcQe;z.* bn@߸jL-T2g߀j*+_Ew)sqOU 3}D46^#ncrQe#KoQ;hBRc o[hނ;ξ9F1e8=t1eĸU 3Řqtz%Fja3qZn@[bSi߱R_ʜssPcja")ܓv1jCQ0SLssScTY*⢗snQjH) #/eטU7Ǩ5F".6U 3zCјU=ƨZ.:4uL|8uƨZ!/e9F1f*x0Q=u_%P+1+?htnQgi \&L,9F1fYpqO1epO*R3YGߗ2U ,koRfǛcԹw;zs>hSGkL-̲9z.*,oQk*+?Ko U ,KYָ10Ht>lH.Q0ֈ.$_ljLU l ~)SKWS , |rҏFO..cjͼh͙Yu}3U#b]W\ZT;z攎T;Fx.lԹS̸. !4JK揾~j%sfRgԂYȣ7?Ό"33p99c~>_ΝӢ3&r<ro}otɿ͘?_nxQuUhΝ%D#\GrAF]x\ -#eM|[=s:+U_G2~^WGd<ҕȯGlONJA|]._u|FeF&~.<1ˆs}]K u=:Xv>_}3>nXGč2G{ƍ*_f*]k~| ǠcW* \ӑ| ^a|?+3RV+Qeqێ48}Qj>Gac}$((CWv^dWWU#ev?x,+*{WH5q~9#y5xׇq\aKqs !=Xj"V$Qt *VeErX5vKNc^Gp~^1t(qERqYL#~^dTG$wW<bh{% gX=}$~V#?G1n҅t;MiOv{B]Yuoű5-KY溣XaZNs͜)A/ӆ2{v ۺSІ1{v3+vkk䖞٤U^ЂuG" >bL0ح{6Y̘u>``*;bleP}5Uvk8fFM:T-n8?cޠN͌QN{P#B&1,fzN*fv91T *hΜ֭vohh=lfd-; gI͸!7jcnƭfF< 8qoGa ɂZMq;oijN.,CtcrHu%#7o2r)MohkbFֳ?.l`I댼;܌c=ZYtW͂' ^՞dsI?1 8ZF߭ӫ;Z)2,4Y cI/kOc8O%NԻ w|ɂm{%]Oп5֡wџ૵g؋w[9?D-O*_d,Abnű_붹 ~%wekZmsJXazP !YVThb}Vm=XTȂU0{6dV=ς_+?=ofY]'+drm9{ЂV¬X9أ#; LU dY' qJs]>CZ ;pgZxMSaF[On;iH[/eڛZd<Wkf]8FxMNƺjYןsn7=)#9⫋ET>mњП^ m):3Ym;vf^% juOŞLNEu?N֪mPmfxՎhѥjd}Tk֡SF*Y֣`ߎbV<3Etb+Ί:aEZja16_Þ:H*WiaVq*6p}`b3em+H(֡xmk_ꬓړ-mx</.F1ʯO'SjGS٬ՏiGcU3^%bΝ矌{z'݂qGrhNMvԏVv᭴oq<(`3}OܨgϟK>_û{1.},M~R;_7'I>}^YDXҟ $) -ɅfY$XauB1~kxZ,hџ^BE',:#ޒD>5>3{)Ⱦ{Hn⥊=͒..|D>/6x1yJh w&&m{D>, -FeN"CNkCl_` |=łiҶW"ɅfVxw'Iû)x})ѝSs9M* ~i,$MF/YtK"ZJH Odn$͒{,Ml$]/r."85{NAǓu$)##Hdj-zYgCǸjeѕ2ZbT"1뫩A#XDlT:䬡g"W%O&t!kz$#4 "\{I["Yp`":CŞ]:W# .bp-sYҩSZ#ՉxDԜ⛐5:S:QBb L`:Kȃ8 ESL`Ӆ}f"igN.9e<=CyLd"C i9HE0OSG,eoWɚ:ODZD'959)ʳ,gd%)95w&3,ּjlw *c& U|wO:y体fjm5&s.hy+؈48fz99 qcv0;g83;L*l3RM\H:O=!=A2k3=O1r2'hs0lp{q'71\wLNp67s!{g8ȸbz991$G^ĆHz3Ǭʇ7އVmAʥ;% z0oM^v „\ȉ Rn>z9{}K*$=\DX#'Ƒe>6H711K"1-Gf%Fb`N?>{ޱ__EZ@B@lشܣ8lGV.Am@_Qƶߋ}_e||r.!7U'uzl"x!66zp4n/|(}D?24п߿QK* #>u!FB}ߋa+,ډ1Aw|P* Q6ާ$ K·8SNG1>γ*aѷſOO7^vUp4} K6lx%݌o ><{JWQxGX%K=8Ok}M'ܲWy,Tҷ|]8Vx-/G:O{X%"+=H4224n[e_*QQRawK'dɋ>-*?Cb>o3q, e+^ J㛾| Nv_xvY)MDo2*{qzݷzzLd$U_7ztyѧcu^ JW^RQ8.QoQރ 4Ee# Xŵ\+BrQ9;gsݬUDKm=R v(&ZT%;kջ0-Fտ1.#O_^s *J.$Kz iiwޝĘ)5RD%QJG7w*;0ld=^c'e Tw*rXj64?)|O GyE_Q}F ]|nNĔQ}:%f1(`{e: s)'zlZd-$k 'Q; **aY[ث熃S>>ݿ_]r>vÉ7Ze-;_? krRGCTjQ!OڛZH~}3yTP򿁽\$$V mJH%X[Je-,kѣxb}uUbQOE,g%% !YhH.e!z_WPki'' W)& l{F%*(ԡ)b6l`hzsI 7z|eD!, QQX?z:E,H[nD4Dk}$ QVBixIl+:q(6EXwpm$ m}{Pʧ4\6?)¶)*\eq4ikan$ wQ`{s[ؓbo8⺡= $ ; >Η7>:t:&Vסu( M,Rw,h{Qpoκs  ܅`t)֝VG9@(tB,4/N?$e|@n>}}|2nuN\$7I>c_wӞag[zaa߇B+/WKaoyvM):7>|[;=Q"iS)uo|twWMn1v?o&˷ЉcKaWg}|&GtV;?.#IҰ<K,^qtGyo7{5p@;ʷv^c„}[``[Ǧ1 .*aVyDwڳW;eJ53E{CϊoX(tN(%θNsAWWn򻊪]vwXw6 ^y* JҮ  }@wYG. $`wx|vv'쁮uԝd];lݚ`̭Dݹ1=nRe'Q#0n0Las˭e.) x_0t,%Ln1A@]L0uƫe:rb w@7 s=!zAJsm0eA6>- k1tC7˂`niXG~0\GQceS} u&`x`^F$▆zumnN}6Cw J7^}LVz`]Ít0n} J rK=r \U7ume5˰ Z6O`i nWufynus\U7˞ϭmt093˞ͭ&rZ .c^X[-v c<.gx#v#/[`㬆[ +@%dMܕKa#oqw3PnA?X31L3ΪeO>MtyeO~w簉p3ܺ]D $AyN ,Z.KH#/ܝ5[`u[@'H`]j-5 cvNRae1S='Ź5J;`u/itK(Qۈϑ# xs]hk=Ճ0CcQNn!cqZnP},/1jd^~kF{jpPv#RU$[r9svn4YizF빗=k<"R&nn`X#ʜ^c0.fƈZN{V{bi$/^5R\ˆO0ljLci=/zx.ޠ'1X}Hpc i0g并WΥ0Y'+gdbUaLsryS9iL39k>ys@i1z^!YN30g V i>2O\X`X"r-_0flX`> /e''j89w/q NyU2Iw/"*r^w7@|Vr7,>V_poα6= \;j YSlm{qA׬wx&rMۉ<㲣;&F]: s )"ExDc"'O?\ \.>!kp#pcppSp3=9 fbpkp7o߁VmDہۋp=:wwwwww;{qvaD満]nA!a##E\5a x,xx<ʉI`wx 7 f X p0xqe4̥%_ R,yC33ss ////`8VUhp 8'kkI M-m]=}".'________C#cS3sp 8 ~Ng3Ylp8` X f@"ۂ55 O #? 9 Zuu _V`G0[ۀ =?ww   v;{{]`7@ `P0oQ1q I`wx }~`p8,K2OC33ss ////`8VUhp 8'kkI M-m]=}C#cdqS3s K+k[;{G'g p*%58 gp.8V ̂w؀mv  w?'_c?Kp-pmW:zMM`p pKp+#m߀Gp[Oہۃ;;wwwwww;{{7/< v    v{=^`o,A`Tpx8<<<< <<<<<;xx1R[m_w8V#Q`%Xǀcqxp8 ^     >>>> >> >N >> >> >> >>.~!zۆq򀆖 46'n& I/o%m%:cƭ: gVFq.kʬSQY(TT%<u2OEe]SQY(TT%<u2OEe]SQY(TT%<u2OEe]SQY(TT%<u2OEe]SQY(Tz)+ LEio^*2OUcgX4l72O >y6 [φİ}M}^l#/vJ$z}RUAyhczp u˺`plk)*KN3إбkT%<V^>LGoݨ,$̹C"^< ȇ=r{ѩ eڕ?G[4;"]߉2ܟu `WFoX-m[(֫WU6j+~#g{]ri/l#o`v\{R!:܆2o:z.em:J x (x/ʼ D.Wlk_>Erv;|ND헯Г(v?oí4aDv 6lߟ\Q櫭 E4g 곀m61F@?6We*'$몴zQ.t}xbNsV~\7hC =|j׬2/\/Эh.~>!usd7u:;l)-"zrEdGOdB?u<ؖbRo`'ocla>{][(ғt4d` bzCn^p c^r؛GG [דi*~JW1PEGoQ}1>sWCn&"2e >25M_ӫk"| ,> p.AuFިٿ;rGi]!&ɔEwQuhnϣQėw)eEk9U|28=Y((7ݸGЯ3Q=O7ؔ29/|G >z;h4+f>5:$ PP_3QK=桨mUzTג4'oЏA }0>,(Ƨx]@$4#idEgf4$zSp-iVnS?6JQy|Yioе(|+ouF;B(ZIQ=/6-܌2 Vw9o5ʞf;( ۷"{>+оoU=WQ:4`45Eygo&ڹhMuJQ?^{CüF(5ZZv\7Kꊷͷ6|87Wg]SVu`>7=}N]Enu︕B¼/Z0sGQ‡*>MF/;[6ޠCh29׭'n@wyCΘhBWgOb[G(qwC__X 7(>T@R|bgI:D=NPK)jyI Ai/I5#]v~js}6gC@i76? -ZN^F\N[p?z6AahRcE፻!`J>8HqFi#8{z񺚏j<4-$_!u*&5C^V}J{) }8О|#aJ|z:zܣ_yax$x|tPK H3qs eVӫk+a }դ{w5*dP>{<0MCxHi 6wZMmI~eUm}Ly53W)C   XW{<0?+b]םb7`y`P H|oJ8߰BQb'Q9hoLL|nX fmb Ou (Eu<рh:1ʵw#q`{+Ή2SFߨTaoQv:Zy`>MGR!$T̐bIyo(\>#_!(t1طe0bC $-BrWSP`y?y`ijVk\10+Yh0cdxoN[vQ{'Gg|_О|/Hh-W^u&}| ex`>7'wv'0#=%|n&_"vtWW'`ҙb@3|32ciōM:ރ;;5؄^l!]f7ڬ<@~x9m{ YUFRdrhzJ?NٸOYy=ݔ̨}d|.=to!+j!9;b=|4j^+!~v^OE̿D0|_ BVh hF"50oǴt11q+LKUX&6R|%uP6WCnZ>aG(>r M0 =0D|~/PUg(ۯmh4L|j8 KH?̿x60`S҇<ݔ$fYf{+ 5J8]f э榏ߤgq /c>rʼn']dP+d%-0Z.}H(byy75e$|(ܥ76˧[mX2-q `]{d&xb>'7t&}N~X蕳iY&@w9m?M@ׯ&՚1!;Z 'W8f 7r'f{%BoMXfm(47cm{̧(5f|졅_ 5AWPN>v;c  *MӨ &h39QHv?{nn=d鑯ShǾl?(%rã{zߨ딻̰M{k?hok82CVmHig> CBVق-fz+&|U #/'KIW 91 eLo_xϾycO46Y&ШfQ/2^sQ)70z1:NAc^ϝ|r~a+iaГvhfd3O1nLY:{ʋ!]i&E7s_EYyc6 {\Q[j 9M8k&>_3_@w\z]&  'L [,v.t 9/֤Ƽ@c|yz̈c5M F0G{&3 Tr;O;Aml;+wbTfb~MbbI6JǾ8t+@L YǸ,$C{!w!>%o]6o7&OWo9YQ+|Y,ͬ t@ ʌ; gLJ x$#癚;ޘgYvnT,'ϛ{G8I8i/ ԕ_u +y3`o}!+6\M#]#ό܇{ލǃ䃍CҰx4Lt+ h1;+^ Bګ|./Qdge;>p}y36uzkGN[sӞø`~[8lN5-d>Mۛ1ݯG|0:oOqVx-02H]Lށeg &Փ7L8-d=Tv% wQ:%2i7 M;Ҟ̧etYyraޔc{cb%h{>9[.vS/&o3915(m bs`mSG`@^&i?{ijk3p'y#J;}yo7$|B}[&2SGd/޺K75os# ]yqHS2_l*!H'VKޡ=CqK<|o NNn]"!g2v|2-(ydуy3zWO ߆;˺N5 yjm7ĿmƗ'o E=%_4wyFNѨWޤ޶cċbIU`&rO&_v$zn Ѫ恎g7۟W5v {KSb^']Mb.`3NRCh7G;z Qy.4 W{s6싰O.5/XEw(pNwq3\x?OP!~bq't,nÿ|_|n8`6xf~}|% H\wSGlgo&0<3d1ԟ^3njƶ}a\UUyE vOm{<x\#[oޓ,e_Gs?}aLBI}Yٞj&.^_쫾 NH< >3X1~U u DHk6xfUeި}zqh^6 2Hx> yL{Q7w~<j6xf>+#o=ZezIx$fQr-M&pj|}.|} 23^Gq*ܓ}_ǝ`\#}N{CaNxf>'OѾ_1745s!gāop}پ@Y/&P7rn3u9bxf^.* /\D8߸J+A̛a?$-m qKT dKrŞ÷=v ydx-GL>va@هo=|3` N`\fG_5&4l#>%[[X743q3؍r*d2 /1j}r9ex, |)^3AkOU3?ޮ[A0 JF':G켥=S<<l.+˼ih'泳rx+{XcxC}2_Z1"2 =9ڧV _dG3H{N3Uz}| { cxYE^GZF<43PEv!ϐZΨ?-3~Iwb笠w,MMx -f|o]GF?^[VPjӰ'm{7xu;ƥ=J<.q gG{e71x{\2?q39͠55틋ZmlF#V}؃pZ"/)N=v-7 ;Ûf; ΚZfnYȼA/>z1X#wKkYP/=0͖Qo.ڋbo/Pn慞ṨwҶd^y}֮XJx؛''7~\JϘ[PB{! ѢMO_ ŧЫY簇dF}[{?b~@ ]|υ&O_}*.xKoW.ՓfY\ ]+}7_nI&Xg&}"|h'f:|>0Lm\63$*z&ay5IM;n|zA6p_ZI uIb W x^i'!k׎f}q |臘}za1?*1l\H 4×<|rsMgfd MY'`uό;%h0' J1/ $3jOMk46+1V{ڽTyh㈭q8 |}> yK:Me='A0h$9—{J(=y6>b',L8e yAo-&/70߬Q6}#v}z %?d|Oކ h{<&A> 7{+oؓ^x\cxvx2O yAo^.}O8E oltM{ܮ8󰊆g&_s+8];pJЀ Ig'ȚP_:ޤB?M՟7dþX^<,&)[vIxArJ&]цuu %_քƽWu1_1۰r;÷tWOG frJ֦o _=G-ШydM̳,}_E y(RW/7Lkff\zZLGـ7y5hor @-?Y2M)T/4Ke}f$]w pd2|yIyĝ&|W؇g^mbx;oȰwu_5쩾R}ϋR1/HoW>ɷ.u7a: 7i>I-=D/>X!fe-ü _ݦN2,1uCrQeCuex.;L_<Ҟ8:r >ں}P慙!vSn0g/x5c*ӰN~U%0. rCCw&M L*e^C͛t I@kY$YzO`\U*Wچ/ .Cf޾uotju#] }T :3.otZ-;XiJ\ iz/_b4O<8yyfx31W뭄żORsCA&mWfxq|WoJ@̃V>]r<^Py;fKf2/j /n/.M<Ϯޔ # G5Rx.wx5 @߬}EeBÞT?or.!Tګ{gzH$,oJHX8AJЇt7u0zWbeِ[[E0E+S2!4ͼh}q y{OŀHR}e7mO`\ 9 x3ex.7}Gc^e>LqxCKJ 3O~3 K+T?o^杤Lwiӯ_7RJps=_u]%X9pal4q=&V]  yV}(x~ rJڇ_>iɛ:[ŷ& yN_sXа7Q@n>oZ3<;\oJݺcWݗ7 ײF阴aOn>$8y/yѤFs:e7=8P&y]($;?|"3OW=toy9t_f|2O3|e2<8S_M) Y-nɡ zl[V)R=w*Q+!Zt U 8E ub[]{FɯN} [<qGߗ YX{FwbhWoy\i@iG6K0ASҖ*62x'B i|ΏSΜ7+egf͍8yIH2?8߬8yfx/v.~rzuA)]<(3={]kTӾ.=;Lװl!Zu|K7%R=y*_!f. np)!;Or oG,X3Jșt7a'?J;W3ϼMMdx.:O_NP).ft޳w;ha 2W)ɛ:["iE>Ó(&ԓًwr@0MK#f?ov a;ẼnxhO.{r Sza΋sd9C8vwy:o&T5a^ܾ<Ôڇ_Ic޳ xgBy9|3Q .^~8o睗Z8J7ɍ-ߢk_@-KbZ1_Pw?e? U^Q:b^yig]hoUCՌyDSzt}y^8O齲w ^oSucӵ돆nn¡ u0 o`ڭ|P'oz15Ip~coT|(gxI]' Biϩ2wO⵶E3ۇߣ f:[(e0_)?78rk^/Qj<3O JjWw%7Z7eWj<ȱ7칲]zհQMl(@{q͈9s5]_Uj㷾켬jڇ|tTU7I }՜L]Ug]pzZzJ=,V֐]hSMޛw O%-)/ 0Y (?7[zrU귓/y͓[v lG|l-G}j 4wߢ+<rio_ݻ I׮4yNW<.-8S+zm=ύ[h&Q3s~kϢ̗%W82| k;e׊#'}iJ2_&_n+gw!ɱ _|=sٞPet=uoVQ7a?(=<_i5;pҢ;ef]%|y{`u_tuJ WY3en9y#Fm}V#%|y=|D;a~PÓ /&4`jlç33{7h~E@G'4tҫB6xzʹ|yn)]BV"ߵFТWܜ]|3X%v*⻎X(*;;os 﫨?|bj| :5-z,3Dyyi&#҇oGݍ)|hy<.A-J5Qþ4óH[u= x,&|U>s/qL|ϐjK(?6Xڭ-B*KpG&EW2K>wSZ'IN!&uMٳE74ykٯZ*3Ỿ-2÷X\9}9?1(k=hoTyJ|Vfxh=;vs2oL;xih/,o%6{/}F{.uz:}Y7\w2oLegO5s[S.żCWI_| l㝻ҬNykKM)6~%$K=QGng,Zuj|W2o|d=z8>no>Afuo]q`T ^xɲ,_2o=q+jd8;LeOдC4muIBs;̛Jж߹7Umܸ+ja)k}mG/PaQM(mz+=W5 m{cc7hֳ؅z+ʼi^TA*h; 0;|N~3vaùVtkweҨ\?1qCR73f*w ?shGD7 qkۏ+H]V;t@zwmv۷Vy3)#=3b#T"[sVy3o_U ܻ{kweެR&4&~p4ݔL9ި'm&.Z|`E7^-?vy(Ǫ3?(T_pC'jeΏM<rm3gv6;7ls|Q*DAϟZ\GKJ rL2߸_N#}WzҎ:e|;bQTap^ nW27U2pҢջS))~SR^񽪨#UAs}x_ux!=^D_V [tQz3/tAрwt5lӢkZk^7TeqW9uٻjuYN~ 3(\ O<FIru)(ҁGŋ]Up*{%7Y>}ڍ=|)({ePJy)7W}uɉz+ZVMi|{ȜYw՜\WiEsvr+HnQshqԽݦw<#u Q'm]\=V5{]W-Kq <:yLng+4A}%r͛ llzRm=^hoI>=%"_Mo\?>Z$'q?vxuڹDR-nxQE%j[/>u:M>k#"su߃&iQSUb&}R[.ٟtUIc| <\K.tOTp⠣ 3ܳ OMW} <7)ԣW5'5P3[Zۄ˖zԂsۓw'D4֭zn5.,s]ȶ>>KZ ZM|NgdrsRW kn:~Wgw#Ot}>o>!}H(y )Ͻ5{Ǻ)oQќp^ޓ+B_P o tϸ ފ|X*n]ny{Xu##V#BǺOݧ-|dIy~TVOusݸWpkOuk[[2~_]-//7OImי/IInKnKTX\)ܳ/E#nUF~W A!h#kd < 5w[atl恄>I%3Ó( #2YߌOrYurR=_57! %'9&JY.)zJ&ݛJ%+Egqi#4*<&Uw dR.~FUF0$hٮԂUdrOWlÂexRs95dr>S_Uy{{D5>TlCdy.L ٘L-@vVElc¥jyL"ۚL K2Oe*S˳e5ӎgm$S9QURY^JTUYѢ/d59S+•j͗<== UQQU&|?3dOaa都Jbeҧ0O"x8%|dz c3}/+\Kk+fiY"{ s okPT3*e2GŪ2]Jy#>9\Z<^I ia^ jH)"Y($"sj?SJD54ϒWF (]Ŕ25WMoPݳM -YtVJOUs3J< OA0dr ʏQ2Ҥ'P&eLeƅb#rd5$G3AT#(L'blUdfe3R٥ߒbdYPL+ [t5?E6hx.΍ΉUNgA9_WP. 坋ViphY_o` k(Z51\Ke'AV zTFM bc\9K4Eò]Ki %a~%|C<ݔ2` T(\2? :2|RT3I9K떫mR6W#IQmwչP*>5Q0hMtzmLk2ZȇՕ+{If|^Q EfŇ h*(|CYhK ^fIkߕHA##='3̒U^Lۈ ;\]ˈɟfg7'qfxH٬|XDfJmmmn]gAcEBR;?Ϲ$׋-ёyp0Ǻ9!(>v(fxe, ~Zi WTC#**TIq~XJivGD撷E11yaW? ?8݇6z>ȅ7Jl|i4P.g_x$^t( z+ݴfd}9JCTCJֈSᢏI]͖m^!i+"rȲjbrcrWiuKfBɒ#h+T[(nP6;F-@469}fl2ׂ, tsHHk/BsmG[˲HQ5̈́N+T+M~ =E_Mր:F em|22$}zcn@;KMRdE̓0<#i*"I|~ oZEdIy1P6.ZG,Jl?vCgIẒ1t( !%ɞK:.hh#7t(y_TLpP 6Ϡ0ǧã%ӡdjZ)+ ڇjb,Q*͎aa1qAYC=ie/~سPQglM|t:3F* TϢ@Hv"| :+(*!%Y +jf+#CJ>e̳ + >&6fvW2E%m΢CQ &_d>I9t.e8(636/f^k^reA#f~BI?l2cl_^r(,:jfRDEe+',kY |(Y9t eVFEfAQۄddYtP24ckt_, J!s~r: hlhƸt?)dLئn:Z/ ͎Y6CΡPrNnBYŲgdt(ϣtdx$t6*%L/,,))%/.fG"un -Y6&V׾EUv8fl((<(m3eM"[ˇ™Pr~pky.$tR*wgt6Qp5 $$U&B09bwUD$c@ P" DY29v]5*o~Z~xu}gP]\Sx7Lm3Aa%\/ri1f8E$܍y'OrjӆZiB!LWߴr}GfUxh5 }s q3 Pc/9n8 >oV&߰t34C C3}fr1 Iwa#I5%ȞLo_̹"Faoih#8mKN54Н`><>#8FЃL=v;'tbdζJ,w>6O"HIuog8M"cɃUzyG}:eY>Gw]|ϳ#zN|1UM'[ (,9٥7wګ 6'ѵ/aǃv +K{bŝ|$ EbECc|ޙ*;W% A]Dt;m˓f\fIΏu6]ߙF_S6Vq}Čn+cna僅$a g'd{x%ގ7X]mw&4c.8ra9haFJJA/%0|[O'd@n B9> ubxmڸ]ޖw\$0?a[]H{ |Pڐgü_o,';k `W5ء,8~^Õcy$.6q[8?SyT (?0}pD"Lۄp{RE)6|KHw{G_#*YIQ)vp*SbVʇ¦zTNjoSRBE@Y6%a%tgϐʸЖ'uEH2ܞT 7jsc\3^ػ.۳xa̵l#@,|P'zyb'j=h#nIv 7P-_ϛSĈHr (K.\j/ ݙL mEaެa17 =^n sXhx3u,Ğ.{[^ܽ#˸c\9++Lp;z}9bqO~lg}9c?^$xm)$:N>}y^f?~zNx?>xB({{N{'wOCplbm)H5[EIxr<뤌Wr^ǟ*6\{WxhbO5\SW Un)\ѧF=Os[V̱ob=e?Om#VO] J7]erEN 1eiE $A'6`W#\˶ 9>5 dQ'S ;|9U,[..B #r7hB}S7!WS+})[,cE0„U SgofO0ľ㌨,+^@BxIYeoqWkO.nQD̙ΛZt2הLWN4iL9`vB<^慫^lO3;ss4m£Nqfa/cN֑Qq6jı R692W]oQZFUٕ)Iܽd9|v*/||ET9o.(֬&8uiq&lب9JU=`6Fy"'ߎU:4buDW6G˧ǩNѮˎiJF{e2 JU)WWxZ{TE)Sj]7)NTڈF[yFXVmA&JOnnpVIʴHVmֈ#uI-j"b5jIS "0&\<]QTK/ %WŪ{4"UR6~b%@ƚ _j5V(WJL`/PX%VO/QJ}YྙNύְ.0P|TJgl,\}PʧNmKWy/.U4.R^)4~&el/ԪcS#F)@w^9l9CZ)8v-fsD7i`'ը5G+lm/h:֣aϕpMv&4ŭ"O~Sƫv 6hu\"X5?Ψ{)AAƨw܄=Mjƭv |Odyr]2Nuǽp5azim.dƒqe:ڥv"X|BԚ|OX'hZq:>rSpXMXE?NIOLsbjuh'Nuxtچ{Tc#pѬ'Rkx]Z(Z倥tKJdʌ6.".*`mT3֬9em/O/﯎8@,5XeqqX7Vu:Ot5$yS#UOS)9td@ -UFW\@Mz4&IVyyҘQ-tBbleW_(u*4 =){hA5zՊA/pߥVxueM݉[R:ޣOZ~I`}LPG[HtޫORo,B40SX]ӭa(v 4~q-i%Ӕ6K!dA6yYƻ B:as[RZ`{ Ͼ^]4uƨjE1& B6iիi&֢n֘p(< ٌj7sd h!Css̷"Ҋ: RCT1dHѠ|t@_E B6WV Մ )F3oHU ݘe#~>WQ>T)k87VעD4aմrd>7;^:}U2~ʓa`nmټ6;i{e] nBt=;Qfa8e%X.q[U &)Q^dawzuw@YϬ:SlڥJ.~4b2IL^[ǚ{u37MtYwkPE *ɤ<']lKQYQxMu4|vzQeVljF^1o0 ([M NǟºޢrUH98VF}VJf(/R4+OFk`SjK+ g8Iۥemsޱ%F-Z_H]?񬓵]xQyU'RrL9ΨuCWu!Ҽ.%V{V JD&? e}YU "\u3mxvz $ M 5 T)aMW2RQjl` _HfpVi>P 4JBTbr{s,Μ`xqɿO|872Oȍyj4Ku%ƥ̇Y~ba|[N3cX""U*E?e c_<ҊqIՋ JZJV}!nU[!kkiTb"8<3"TiF,(ߩ*8&xuutif.LaFȥZ*-BpOQ@its `~T겙SfhnZVz![9kTT 0"qlHM`ҺUOqx! oFJ`0x9STUEL@f*}G̍Q%awYf@Ib歲30fSu*r) ka=BK  }QI!lAHv^`g02q~L rB):[`πU81ؘ~v*[Tp69FO Pu‘%4ifХ >L]{2G*`dӂ6ZahaE4tӐkǩ{Tp܉&.ώMS \dZAv:"\iHc"5`Md2um)^hNJi][g  RKfF++=ߌ y!ehcgt?l֌pWD1;MxM.Zb@|g6S`sVZ7fKߢ U=1E<` 6ޔs"HFRscptClbJQ i@W͕@24Y+o3Bz'3ߴV͋UB v`҂yY9[ "SW/V)pqւ ұidi䕳T8?l3ejECd,ݏIKY>;:BѪr(1"ڢ`1f3Dh hT܅Sm:JbD DZ=/vBxL))x Y i /Z{Uxq\e;\?7M7NNT({Xϳ F9^])6TU>c#BR;x]H3C0)/8#]it#pZI68`,.>Kcg/,hnC%3T +9'7uXBD@IK^:3 %>`'* vY\8TJJy}VEIEڂ$p>zXAUS^tZ\V!fn#UKijWR/&}P4%H+1ߤ!/p_rHf kpI?lŶ CXʀ.:9y=[dWS+ u!}jh}s)7 ]3\I Yxr/ +~QЈ.aá/qX3/ү鋠iyJ0HQ0Xm\7:8nJ_hSWD$%]CPF"**2_6^gӍQWo?*Bl2V#_b8A)y*O(W9HEYQs=D+3毥 gi,ũMH%[(;%KN8~inJNSNHU;wA.-rLN*obJd۰'%m9[poj{z5}әn55g1!l=sWkPhe;/vz.s\ўU K NJxo=u Dhj-r8y;Y#mBڡgm~&Z >1T@;[Jή[J__dfAsuu_ݘFuk3_zQ]yqfv0IݑgFήrv%&vRNzeNnt q{jÚmF/*][zO^E˨?!-o|v*0 I /^겂:Tg9?sqkS.}7~rrjjZSYlxv}Ub-u)ylϪFPw6#hr8?_T$^sݸ~^*AFeQSzJ:Mʗ8,3U8˒w]WF_\2%UCz-- ~CZj:KI_^J8[ӊg#1B [^d%c .K+_^3)F]zzʮr'b%Ow%qPשvlFO.w&S^ET^6-܀~IJe|_~.:<~#6MPwa( ;­3Nm]#J~N71HI5r`+n\H?PUzYb<'OYX'WRz8u eO:kDz&ljb+_ۋ3ZDOQor] @rC4K_^DEKKg{+R0'z?]҆E`~5ɐX/]{rܛ6'%tK<5^9RX]TIZ>"/̬i,'RVɺRlsOvkYR&Iۮwĭ&H'm^T3`U;cuB=a5u9oןjo}Jj_XU 1="]AC|Up~uү@ؖg| KGթf|!)pJ8?{u+R1}r}7Uؼ,)% VUx˙uק6/78W#q͚#=qS׻u?j@#&nI{N%'cZ$H7! 4ewL֓0! 8gؾo¬טc~b$dA6fHhcs~EZ# 4'yCP Īn"fv7T@2r= mcǤN5Ce;: N OO  Q}hS[>T7dqoȚkV%[> $)ob,cGE m&ҁORN#C@('C'1nKp7,h*@r>@, XӣY_;!n ¯dXyƟHj<]u?4=HM 3d "H$5duxVН~/v0~H(wAr~MKLyj+uUTQX90`7f*VHBHſT:`%Ț RS?xNcdV.Oy$Щ2 F&BY9! D-CxWyMjX"mdm,xOiA>Y#!XML#1)|~4{yр5#9OlF$_x c؞3`dd χ9>zD5@'M^ \`Ivs* ك-VK6a Kp5o)Uy $!PA6 Kx@y1 3xNG0nƸQMʠP$$L~yG\-󱯅L zDCy$h(H5X4&y҅'*@Disz F H_Iدu4 cD?!Zcy /B D Bs ~dJ `n!sHـΨ! ^<ԉ£" pU\to8O؉rƲy8J`U?rxG?~yM&o 㑣񖯐yN*+B^)yY^'XQ ,_f_ȇD!rxrB2b"_j_ ›pQh,_V + DuHХ!! *YănbQ,yKᅄHdx2_E^"-MoUめ 7yRB4[Dg-E`؍ૄ$:ɽd70V#ԫNr7i">竱vr\:o h#wm#DxPO?!Zmp`Xd[I*1pSXt4}?='ɍ Êr= Z9v$uF<\ɗc頗D8II|' \J3rKazoO ֣c@^"a˓J:HحBo]/̋Fb㴯> M'$D_᫊{>e 4p~{  n y@N..:=5vG`0|YoALvuT# mI^XOa࢐j#Zxlž#jQ8K _;\[{  +'V. 'ta٭ 3}7E+Xvo/{OЊދFXUoI  bWBX3Qwlt :x҃E $#[aB-G$Gq}˹^N"-+Z#:X.R\2$9?l%vMh\j?|΢*OWף#Qw`"eËK<^KCCH{NT˹+' "jqwOlQ { ۵|Ԑ+nN׳s˿~†\qśR '10[_۞q!も_298å؉#^;QXLroq1߂Bp_C ~H&e~ٯ{I')nO|۹~?{{z^ |?5߅}po { {a!?~ 9?B/_An~{Ѝ?Annn n"H(  Aw@w !C]݄݇ F@=H^h@즎>s$>h<4zM&CS 4%C '؝ ̈́fAi+@\h͇@BPdCh+(Z -!9~㻤?w=5Nl_ -C+ߠǡ''U3jh zzzzzz ;Z z'*m^^6Bh+ zzކށޅvBAпC@B{ b_ tʇCAG18%t : NCg*B9:].BWTU@P%t UAՐ Czjfjڠvꄺn(x! ¡~uנC߀ } 6?B߃!ЏC7ϠC/_@]k7oAg&f/ЭP6(@htt'4 AáP4t4@1P,C Xh%AA Dh4Y4(̀RTh&4 JfCsth.4ʀC L( BB!a#Уc"h1Z -C+ߠǡ''U3jh zzzzzz ;Z z'*m^^6Bh+ zzކށޅvBAпC@B{P.ʃC!(: }BC_@ǠЗ +$t : B: C}}} r}P:Aa3t:N@_A'Si TBEY:@ E*ʡ t@W*Av@PT5@P @Pu@P q,¡~uנC߀ } 6?B߃!ЏC7ϠC/_@]k7oAg&~EBQvh 4 BwAwCà( b(h,4J~h"4 M,Th Mf@)P*4A9P:4e@ЃP&Ylh!0WQ1hZҏv:ra[x#qƒ~7|/OؿGx2ykW ;fO[2JzGquCЀ׌pY?0e2wAEROl_'Dg\,,ON}a} JxK\V ʫ,Yw.9t?<;/F-t ~Fx+3L>];ҿ'{T3d }wMJjER' Pk R!lp*rTΠp42U6gx*bu2#D ThÎGʱ'{#ԯuC kH m(yI@~s԰6bB0 ٞ?d BpnTn 2|xGƜ*d3A"ih_*qw9C_lfP02>PC/°&.)!̠xm8H<Π6AY 2xr~7:iþ7f/ʴuMz jC3 5hMjlͧojG &g27EE5a2!0j>O @E8'j(i Ȁ<hAdA؆/'\?<˄ R!QC 9Cp]1AC3И6q I6C^ӸC,*5 olzBMOkj rtâA`tBm = |q gn pd)2x5gA tC(pm.ŷ4hh'iiHuwK%$plor@F ҆ghMxO`Nz}}s |K#߼=Ir 3xM=Z4ж̠53dS g7dp3-H ?gXB P a6NW2 nF '4P3M4g[4([4nⵈ&gT'gԲn0&&ݡ Y'd@%r<瑍g'48Q5@c'jh9m.OOeh“3ZA ~F'+ˣs Ar-M 6jIshk0g2<>.gp8ūQF 19AwV%2u;+!lf32dT7ΠdH@ʄ &g0j3MOFp\ji09C0- P?|N(NG s"FP' 3 WqeҳTz^Sg 21gP 2ؖAiN3IY4 :ocp53P Ƃ Ȓlm8CH@ ~L ө-9}t 5gAd:= Πh3PdJo 6ml85  _&HGoF^i _Qd0-:ӨGKr7xo0ߜAרh;:!բAY+Ha3 "QJfΠ"drby0r2h=B&}3O-nsInsuz¸ - OO脲Ǣk6H #3 !^ Є׼|OVpω yޏƶeP 21js^'LΠ^-q=J53(rÜA Np94 M Z8}h /U%mt&dͥQ&paKCER&,M$qQ @_ M e43(BgoK^23x5gP 2ۖAe΀:=&g$Y4ho73vV³A+et9!Tos8Š4 27gS Tר6=P3mz <9}8`*|K@seI!iiۢA%ΐsCӆ/"g /2gca@.=v s2}g`|59w˜A AI06b u8gHensI 34 @- 2PE2,G0 y T`z6=޷:=ۡ 7*qUQ5p!jHT}3AB7}]@Cz = @7GAAm ~tB[NA G#D izٗf321gP֖!#29}^*pKdp3j:=!3h24HKV[, `rA]sߊmfP0tW: 44S2B2 ^neo6AJr2fRA r9>!s9M U "M weS&gB2>y`QN2 4G'0g9Wa{dpML +QPtXsh2-gK 3r?Ntkc@KZ"3,(u2a,\3pf9n!s G'BR ޜ NMhCgG:7g$O PqU- DVFĊ _ QPť94I34!3yKaUv̶ '4d09Gʳh4hЂ3/>?25h?C6xNOhts T &jA3plg(K ?- זIeѠΠ[q&&gО3Plcܻ};`ܡ ޜK3|;Rn2&j< e$}Y4os'$_szB[[ 2nfo8g &䧜 g;q 2yGK .r-U34 mx-btC^5 E7ż@J__AЄ~9C8 3 s,G4' u7Z< 4gxw z L/j, ~Q5mhH4g9d@ &gЀ3 &g|Kdpߟ(23Txs^ӂ3hrC e9٨ /d3P }{hd14SPdxF B !ΠwԠͬ yAWA8=-' 5T27DlhLlJ3j 4 _M!4dh 7 [ģ5wī8~hGSMΠ7f=aC r lL#MOh 2 &g,-4 P/P6A7 b!ÑȌ![NR]H1g09C\ҦCD-Zs \ii^[ բAoc"9c$9F7pnK_A?C28+cԠ!dyeȠ(gxo -4,4 S>c隞֖Ƃ 9CYC[M U &g苜F n|a@!`)3ggѠEL1 z ȣ7O}կG`ܡ8Lp/dF Z_ kn2xp`L C309CM#ͥڜ\``Ȁ<-35:A20RL 3('h8pV' oiЀ3ȶh m098Qa}Jٗ&DCz eZAo@uVٿ [2GʳhPvtEů'NC᚞P3 Z`,3hfΠd`@!2mzdx3>7C 9b pA 6%{K%8? ޢ**S|^Ȳ~3CLG GA?z~G_AЄ97g8ۓzP28w86a0ЄQu[!dӮCOH J rZP :h5ml818][[^YbcA-% B9႑L H{T`:P3̹5*/C"m>=A f%OaKCh38& C؜a?7( a@>'2H jC7`r]p@ƆЄ|Ȁw8uOO5hn 2 Q&g(48-T)z'T<}:Ѐ3 厐 55̋蓄8Û9ɸ DWԌ3, &gTifcH2PAiȀ70ݗy/ & C淅G{А!HȠ*gxp!d;:+HW>=%j:=8gg(ލ :P4PSH 9Tΰcp2/҆[=QRB$ȅ 2Ú1c|F4gi /.W )3  &&B3?R ph]Y>m!dFS9>gd 3d3+!235Џ3 GP3u58rJ m%5Cog,g, ̺-Z6gx*b zlcW~|N3yg! ȼ/WQM\@ 2ashjԠa⿍d 4 !9 -p{LunQJ+d9ppk7:A)2v S"P' x8m\ ѳ u :49F ״kbb`rjNf%B=ݯ8<& e/G'R9C`r霁 65 C|53h"f(dp3 r9u&6g}v>MܢDa(KTÞ-`K!9C@+#9 1*qaLm`0a{d  N€qԀЄ0jtOLC!Þ?yĻ4 =:8)HΠ]1p3趱A8=[ Ķ1$ ^f%ܢ\>|J (|9aE+ل079 ubBm/AD307C3 2nfTK޼}r0Lg/jhNPh85|7`􄲜!xȠ;Cʻ|OV fSs@,e $#3j3G ^m.}[>icV ,m8A܈'axwrO6nU3ʿQj r+g$d09 : 2mf ÊݒZ/ #]PX,jԠ!*PZPZڡ 4hh#3$ hnPCm. Z5EQEp0rn#+g7X/'ֱa|5' gNhq>m:ͥn!Ams_V 50x! /dEϱ*-,R3 ,Md3@?48g3  ^i`BĄ03jPԐ2 : G'T q3E2Phõ 9itpspdF\2%m3 @}k4M2Y<Ԍ3 mНQfW# usMm ۖb U5geŠ a8ջfW3,53Hxm|"g0(d`(#d ġ aHB p]AQ sr߸9!zӜ WMg g*`+,v G m. \3.iÿ#gyE [=k%,vxc,@)x?A+@'s> mԧ'Jlc8+bZTM9>^3G R9B|(gqa\>o܄|zc$>_3?2xvb"`HCC t!fW(>=!OJLΠg5:Z4 PCgMUitԠ _Jq݋ SB 88C**_w i؁6RH>-ZD b{޳1 v[ V 40|E$`AwH]<8[X#-C\r{dD>&P3MLh@d2x9pМ0Fs˞Ӏ3.P֨ACIQo LJECWttO`Ɔ#*fl=PCή!XP~-!59 /؁6OH>rCs}r>$_>mJĞ-Gt>9rЊWzX4H  "Wk[x"\8:Fg,gq?Ƞn3p ܡ aD @?j|q6#CVPL3l)V̬!Cjx8I oW.g)jBdtB [a\ԠƆp$ `dz;fﰞMT3=+gf 9 ٸ)͠A|3+4WSg( uV-?- (Fm`p' /K' |xZ4 EN =d1 =[!^A 8 T CC nto0Ą0Tڐi ʆ0 IpqD@r9JY!Ѝ 'CuCt]ClΠK7n p>>?7xAFh{7SA["CnV 60& |E~ `AWAdX;Uq632h410 CpC AMLE2x14dP^5(d gC_ # F'儌6F(2OglfFAAэ "%qL ^`HDnng3C_H58/H{2 d2:qqL<^ÿQA|MO 8j!xPc“3jd7-Bq{o! jf-gC!P6f%ĵ1i?< e@,֊A?ApY4(tzr:҄ ʆ#+dp(ܼ2Y NL Ԍ}A63%@ubx-e9Y Z Gΰw~F|1*#`! G'Z4HpbA^3+[^n40#gyE Z@*coQXX4 |6(Q&+Ơ[x4H y40(HpY4 "'X Ԉҽy28 e(#* Mds]Aj2Иh(NHhA~nsI!sH_Q{pC>C 815˜!pasL gX~XP6  BJ1l[B{<ݕ?  ` [peY!|EgbY 63x`jC¨ۗ/3~ s%$7lc2uc8EZA Q ]J1CQf(JRv30 m1fנks#7HF_0gC*mŻpY>Ơꬄ[t>(3% J70(b+pO` ZQqR5:tcLZT lf dPk4jtʾ3+aиeG'XceJGOz \R3!jp M^LC'<7H3,}웃LmrhQCY qm :o]-  m֤wX1& xA aPvP3x! 4[A ~bB?"Ch.G'A6d` oy{Ӯ %?2 f+At˲J1ٲE刈sŞV T +6/ZdiBZ˨!2Ąt.hc552d 1>-*q˫y-;YEϔ0olpRf`sxKgݲ ߸3w/ZSY?2LTG 906\a!2?7w6nB>h1bi6?+HC)iV Ε[53dHf8iG~zo63a"arU6{ 2|-[lz"/Oݒ30C2j}Omfl-(f'ChQeϺw Ůl;b5x3dزO_} ff5n`|.׺RP2d` j]{laI01fd |?:0^M{ҍ ;mva^ZGݾ|%@:XxΕFģ1?b>ؗdB&q\>{{lJfF5+-c}~uiIH~贙ͼy3ӹuC?}]YiY`ڼӧGճ_a~>xԴd٥7!v4)M?#feK~\J[3#ͩtu?]?_Z?)i2SSg~?o~kڌLlrG/|(/WIcG_/}\zt_Os~.|d/_6yYfLsÜ;?=a{_Oʼep=-3Y7CR&~zӲҒӲ>m^jH]d@q)zOfYP&72_q=$7[zMGDM#ow.o)K\"uTr 3'd7zyI-s;yl"Hy^&^%k#>y } {یۈڊ~ۊ}߹ϰ_m `iX?Ͽ};mz)}&wr5#/y"ϐ'J7(y,;.&KE,W<}l)|I|5)Z|s k5 |*gSL WXi4939=܇c#$?}9u_r([~ ?:~fS̩S+dL1صuk^^QLXQ|{Rۺ΢N wӝuۑ1_[b¿?f::fֆ=_rڷ~wjbkּ"b^bLUR}I|s[΢n6+&<vZgT83JN9eyW/2;5]k/_'/0a%뺭dvkl[,ҏ]q)b܏e̘ꤺDRsk}iV]o3LCv%#ͤp#e(K)N g ~~2̦KgȺk[lslǘLx徎[.,,s!g;v20$k I%$U'b;(1]42aū;G͛*rɴZ]dnŭQ gWmCU2=' Wfٶ/'C:ؒIDM xc6Ic+c'WrTeeسsSLXb[Tؐѥ )im`rB&c–գ  fN'JcH=Ɏd Psm+f$k/1M y%ǡoe:wX7?lQNLǚ yVif;v}{۪JKXz32ۣɾrv5Y}ݱullol52U8V dPJV!$G"ym&`7]Ą{ǐ92* Pm @IΝ/6fO/ؽRJa*nu]O_Rh闾pc=16g-8 lyE8-\Qdy[o^Wx|U&![Z8jU۽l8<^fZ؝7Rw^\BjxRJN|;mv)TYT;j-Vk%͏uq,nviuL(~뭝(6[ln&JRMn؎ a α6Zv-KHNȎ+)Sd6[kp2brBq^sȮۙcw^+nru]gaWb걑;[QyVTng^F.".1u<`s_eb7ͱ -r{#ufR;8Jon>0qwd#\ŗsۣ^Pbvap+(*wtM% lm >1p0ЬSTTr[A x̷.CWxyp{.*y z) S᱘ق}OAd};Տ}/+VY\97xZYUk692aTX[2 a62, +߶{_ЬBJ~{GQ}Y8 XQpMi9c~}m6faw**nax;,BRS]ԈkQ7E21I}P xyFbRt^J&Y {KײykGy{ZsjvIl<3e]Sڦa_/n纪uv'1̖kVҏTYw~oAai.4b8=x]؝moSOM>5b!ǘp,]٥Pfpʸϙ-]>`Ȝfc_R|W'OLrzҰr۴eʕ݉dB$TOI籸 S@vWlPɾk 䖖ocVǞkKV}I-]c0S:< O xj7v/~mkuWxW>;JfU1x쮬s.o.wxܴlʸ Xd԰FWiL:Ԍ$WٗK/b gX3۳vw.Xl_Fj=8g}nB,؇]-Y\d";;ME-ux]Itwpl&Qأa pbe$;L*@<I⛒B&`yvEc x^3 9J<^u_¥%]x}jcБr v.Q2˒.ұl.H旈qJ*V2ߨx:Xminjjs `uMXM9WwkJ*JjI<\W ٵlTՙC;V\[47+@ 9VS-ІW+εk[џ_[õ5/z|q˳QRcZ,[ o?NN\sRaR+E3wH]En/Y~jP k<𬻦6԰jk:)-,dn5ex ?k]Վ8tmqεAwZAx)aט61lao.=iwu גTŕsKkι.m7Ay:~clutC,& Xv[G[E`M'״pmI3^R*,(|ޔ)ua.$٭Y Iw2is^ r, g+aiW,v`;үW^+ I5`)Hb8=xJ>ɽd%Ük؊w E}8)33Y5As&/U[kKiL2V̭õqj +|fp:dK5[U11m—3[$875UiM:9\ͩ`׳7q#^:+㩻עڜ$vQbلe13ɂX^--x_0+XXuXenM'+rh*V[qVJU,ӌ% ])y3pv:ɝIxBq)҆ ؜>41lOp}$\]ɼ6=̻bʪ P=T[P:9OF |qVg#e*׾o\C9RB[ʡ+oO3/ͩD wNY~kکX'϶xkqU)ܵU(i1JM}[ll.U%lZK Yl|׍uu~6q^pHK-W;b1e ](lJ. lcNۓS".7}5=ao&L&qԵSzN<[cⰅs R[pg>mBǬm1A${rveeǙh)F튱!UЉB RwTJ KbFKmB.ŏOiI>{{-l)LŞ=ai<^'Q->fmg= N]dV7=gm K|R45<1&ƆgK (dJ͌|lecjG;iCFgy)GQ39X֊_n ˚m+ k_"AlE](;9`)VFQ]u!(3l#素N= *P}$ pvNibTd6 ̮b T[:j~nd ]d_g 2|'O;.Xu%L`93LF mhJ w'q?ie\ߔv+/@ӛsVYV%wȶd![dxFv%k؜U}v[cQkW찞cky ,TbS+ (0?sFD¸B7Ü MҾؚ۪luEתKuRqjt>`[j̜ڹ(:>d䶬Nl]ƫ -(@ w\u#H{_9<ь Qa̔=aQY\8+lHBggr.^^3dǏd2lGʗ.{~vŒscQ_^1 xL -n}WY؁ ɟ`;kCmR,֖-Wm j#ZQ)Gk1u6Ym-3熧2/ и>2>zlyY,ル. +sIFCY [Y]uY֓8ܾ+dDۘ*ZUY3Ux9 bOqTvqQqrV•ywSk:\Ĥנ>֒lAeK* ]V\esWzUiṚoN;f䏒,lU_J׮.|j Nh'[TtGz\]ϕE8h6\+mھē^7zR8;j$n~rVT:2i>w:}/F®Yak z7>q!Ձrt{z=v[C6ϬB6<<2!z?K{+^m®mx`g6j{dW>X[Ҿ@u`^Z/ u7yJ⺱pF;q]nKo~멮zwu㉤}a0O#쑋>Yv2+|1m䮜.b3;Α}q4n-mT;t:P_^pˊ A]P9-Jt5ZSWbO]$ ^^x?}1ALMgO~t(6y/a6v̪Fge u_k^mV(ؽVʺML`O'Wr녬Xai!Ã<6;lf=䰸exڂ ׽,dp奷e]ү7a5 $6^+l{J_ $P5 U;~N[.׳H[ΖrxsUqDDa3Rpj{U} aۡlgxC=с[M=zeH ]aX.[-2/'wUG#́W./]QB\KތFOE~>س**'pr}02劵]j9x-O5YmX6XPݗ/1|NeKl_}Xz'1:56=toڬxqoRhC}x%IN&9 Lp8* 7o^9M9]Ƴ3jER&`7c^5*]E^یl7:O]!#f$hc{Qh#1Mډh%Fa4 AedߗݗW}SUFϏ3I8ys> O*J^Up0 D>Bw tx(=JXB=|Nt`[ 'K&$6"b E]p8«x\#*jRGP#2GG6 flH&ʱoOؖi+^Vv6 i;X?v q0x*\Ր{'9SE]""DYEǤU9 _Y/ _\\?x\uĽ-lDY/G;x/?/X%f4TCἺ\^ՑqUGXCPQ:~MOP`v}V{*Yaf|*Q}qQXq 5\y`U]]ttB+g 95Qi. .*Y8z'(w?Eu}I՟Sʂ堫j[t[mYBt%j(ݯ6NB5KOn@ҹpqԄóZOFv'+EGe1zq/ﳉr=5zŹ`8Ǘ9Oڸnb0Oc5509db ߆2~Su=*= dOFat" nX[PyǙMP:Iz&^_k2QQ?#Yt )8ċRǘ+}Zr5OS z[l`Ak-s &'[9]Qk}ЇׇP%S o`VAJ'V$q͢bAy:EGj6RR%gc4AX?^MʮG T._Nיab|̨?^ƣ,q)b7QgF R A楥 )]95\Ч͚Tm@}h}Rŝ+ *Dfr^1Yk6YEy}6bj.$]93/*J5dJscpX5]] -u0RAEg8[I|3_o2|4S6BtK#K"%CdF<EB^OS<\9ݴU3kҵ]Һ ~ [gbi4^^K;*q**hS˥eĖJC 8rڃ|ʨ@ d>:R+:wW OXx;˰c1~'5A]r m yv\!Jk9-z_C+'K^Y 9ЍyF+?>DYOڥ{4da? LAꃮ/~a/{q]T?7 T( U GNv1Tˎ^RR/B<ʺ<\J>KK6SO G[[^ x $Nupu0Xը5=҉8h s~IZC1F(@TQ>9Ll.KSK&9ՙJS!XM quAUn9źj!O@||x}ə!h׎V\ydq7F]RG^ҏxYrVFJ{ |k.Il5>ht>ɠ}L?A.CϠ ZAO~T:,ECoHk*=R.qָ_oӦ/,VƐCJ^^S2˘nv 9.Uzzs=O.Dȶm:_61樗 0]*Vbf&{auJ:+<9ԋzG;^1Vcv`ƃ,w! T[ҎXkFz2^j#U?bGKR<ݻ2= HLIQ?9RBy2zA&&~>҈K%JvjCZHlM#JM PtQW&i"̅`}IbRa/ ,#S *sɕi;9RCRv3JP98)sc+͑t]{G"WF G>P+ZqRъ*EwM*kEDEu˫k)+)eJDdɍ]#:Nf3!?,p#o=H3Yy磏.x%b."ΗDIjGBkZst uLcGtCOT *@eaq{%m'kdGLg|2(V`J{tɩQK+D)"#kZ*} 7aR0#cx}r}Z>홋* &ᆬ oh} !ތX,O ޔy!,}㉫OJ+3{}QTK . D,H1.ND(ak׊gtiye'v?er2XwmZxO{xqz5ԉ/%#@1e'ad~AllZo=mLA82ہ^"ۂ ;sh#ƫ+jf>>UcQ5nKoEXG'Oh脧 2V 4Θg.E?<\eֳ-F.j3Z0.drc{^x.xCq$^ƪ%c 82ʪ1J۾K8YD/1= () `^(ǍbT_601ɐOk,dgɐM\([3>EqBKbSb'W YZR~!b;Ҭg[qyDI_U(wYs.`>|J{`kQ(.dGBg(+I@w+E? ;^~#Pϴ(:跡l !*OҎ{/DU֊ "3L)\{~UtoM~׮e2>}BJA[b%wXi&P̭X< pEy e'~>GkieNYr%'SQ?ޕ7c dCu5].Ȁg? -> B{FVÛn>@,ߏNX7왢 [Oe68xm *Yi%oºhhQkpxݘ.H~_lGᒁy9@[y:btlu"Z97djD,3RxǬV*?C-$P3ef0" uDjRE3OoWG 9墼Gi'O2BD? [8ņEb],yj:r#tY4p'uRMJx/vae$C &t{A ƿr%CwSTG ?Pܒ_aq(7Y,6w]ȈYL~7V'TNJT+A tXA`pU KC@BMvl^VN&"ɢ#ԋy2:BEb1]D͔`,;ݡ1#E?. ">ʐrSUK0jGBKD@+<)(/iUtZiHW^\,nx&v_ήc1F< ݡ2+AoOfa63i X[x=URJ)eGlĝ26&6E`U<̬y.pvuRi'ebwA!{nOOLǘ8F/t۟K*<iFM%64@63)ľ:>Lc_Ūz%NDrϙ'c!LwYN' I%B04lf.wy.tUн60mNI'ܸs]h"w%\I;F4t(mu*SM!>yctk;d  bH6ㅳpRM&D̋BNsNpҐrw\}!^t J!(ZB7%yR/ue&%atYfKHLR+J21/>/LĿ?.%DT(2 -1rʑ$*T>pvĝĆX"dƔW6AhƉ~J81K\I{-N@yJ԰Njxr{;X^' WJ'Omɷk}sӕΛ1\n1!v82U"#EXYXa<3"k><2 `)9{ο WYJo"K+nV z1ļ+Z4ZaT8hxwNj T9X9(®jkg4n.A^a0~uʩW45EIyxZ(%ܗ`-(9:xQ/ATim|—{ kf87 X4WPmAEUR0SYLqVUBM&T^ 4\aa8Ɓ&'s!8+K- .]"t*JM\D8. l,ɡ8PLg >GNH)Gp3'h 0RWPNJ]+8R )0HO],b;Kz@ۼIޅDem& KSbmLY=XNnV+ 0ӄ9{zAGA5XVc#z8q#b1?`pQ2v2Z,'aCn ;$xwtS~ANNFBS..jBNl^x-GJQ 'e<1 ee"\!~~ri~ D9PM溄Q6dv/=P;TRU; L7 w8OYA&&q L%Y{w_,yE]8 48R49c*-SUvvb?0 (>r Ad ʭC?:1JL`΁;*bQ ussPI@._ 2mxvIJLjE͈TUpүA%"˖LM:BEũvujX.ch,A*^%1T}ӭ3']/"nZ X5(&+&Cq4;0 ewrvQ)3Ū޺!$ˬe_{kWŪzD8b7ئ++{ , "Sy*CD<sEjo>֥7gJUON },U` 1*8>wLw~e/6Fj١CTI4GRr5q)Z.$ҟ7.a,_O%`%Ŀv HWԂPY gሲ`_Dd ľ/>hQwry0 csdNw].Hݵ}p-rY gt3~V)$|)'dV@H & pQ/dloHʔj{-*8|͋BӒ HxtDsLp>`*!^fR>Nn^J1Uc b$v\q Y7& 1B2Y~論| ފ @>_v;!"A|nt -$i !)dčU7C`]0>vo1-."ڟd;vi@VZmEV_e{JRȅTa/cZ?^49EAw'iĬuZL׎ skKoF~R"S3h)ז*hmceX<Zs֊EŁٷ߮N;ӱVA䓅=XZܢcq98"/X1/G꯹^7A/ˋe(w#Џ@&E~WT/Է' yU@0fmu?Y!o$IV^޿hȼ8ig*KԎI&Ŵ:R&|G{יb@Q LGkSK WOgO]..*NKbպqZ0uA0V#obwuŲ%ҢAЁˀqz @/~ٷD]S,o(p~ y{wȁha-cV_| tB^#ư<~<⻗7_G^ey0U(~ XHŧ{O#(|}?ַIktm_LkeJ;~),lji? ?_ع(-ʚKX~~,.`XE!~緆z'"o4s{gt`ӴRso}ݪ.֍bi.] bfEҎ_<B[Es{0_eBcx`Ācgm/P2X?, jAb$gJ/׽/lG= p pF(q'!NofwOc &_RQ"&->]]KgBǰ>-#r'sIK?).3ɳٰie^n;uU`{yهC^ݸ0ҴX3"^G+LN:*ݼfws!Δz\]=dv ^>F+^379 bqt~< B1*YGJBֈ< o ?B1`U+{T8Y`r=="o}{Մ{c.z( @蛊ʃ؀[imo%ktj*>祀3lOm-Tx3xҫ&_GQދ 9]^qz?2 괶VfNc[r;i{i_5G *;ֿ,a,!nkC•㿲Қn}DCv" LW '3)y(#hB#Ta`:$8 SR G $EV_Gw[W gZv[|6hiۃ9Q`!7@ UɺAzJ\}vd]`~(ffp,>qϮTfRN *;q: JVOaՋڃ[y2 t.9]L*,$T*ِ.H(f)^.^C_YPmX_qEz[\]!ݿ#("1g ~t8  @!b\0rb1 q ^>a`]EG}b! pN\2 ÔqK HWx;1'<,Q @@+b^E4O-2 ;,(HazH|aЬ9+kC"¹͎,ʏ+e%]wLΓnW&Q)xnua|v;tp륏sAcE߅ceĉqm8Ty2E s{:GSھTLon# HLd lm Ȗ#KґV"ц$eV2Kxqe"ȜDA,} +d]OV3D"Ic6qxNX| bٱivK}I#tqIR zpYDYF^7a3h"E<"I PHG 3:'#e"\I̾NR4f{?SFlS=H_;˖9c]J?YX>^ s-³{ .Z}-DdzBjhnϪuu\ګOҷʵ h*2Ē}?8\D8IJ%Pc[n D}٫ο͙/s+Q-ʳpu"xrf ȏgȅb&{94O*Og|Sw]B fQAeJDy =#R(nc{SEQA3+\ɦ 4_3',X}ڥXͼ-E5WpP#u(TQ8RSa?*n]\>Z~48/VxФHQ6 ږ.<bc{`G*08D+ڈ mF/sB,~$LAq_I-DAWD![9֙pia(okB'{ AH(^dH$n"6ѵ]^T\"SmG;n4c`P3Y[GʯRw#+R`p{$e}g4g}[^[1'1}`cѳeUT(Ho'Hk+ 81<g .iC4buyifpj>4Kfw.~a$[B5=VOă0 %}k3 o&B)k'ȏLB[FٝO[^n ho`қUxfbKpKe߷Y~4cB0M.-nE ܻv*l5wN^g_Xl:à B=uA8BtxNW1M}G}~2\Bʹ2/|]E툟f& (qz.L0Ks1 65D[\rD";̨diHRV֚4. zI#l9FsNVGr&F-t&Sv q3mcbh ct[C#V֮;1'pnu`";!84E74xS8 tlR{c -'qgL(<[;k̉ ;Q'0k֫1)I׏n}r"o6ǎ:= 3O=-MM KNR/[ϝc׮YA;Jc3<4d5jH4'#KakH VKA'8.fqĝ\@7] NNDFsH8@_q"zՑ.ei1fEޢ|hﳏWmґmZvVkw1y)l4*̤KKc1bƐ@tr_z(3fBX<6@j)8991M)cj;98i8[E5G*-H{<+FۛF9Q\PBʤΑY'}LYgsu! 1`ⱨ8!".ړ’'_ǶδhN[KNT ")C@&&I T(IHߝNP^E2SrJT|.u>鱛ypj(qH ٟatA'bbn'kp‘o _awEA* SIG6YPjOT3]E t1@tw'l;%mN)DP%JID4hJhytȜ!OYPICe 2W _eP6DZ bIqD`rфHGp&\Fwd>WßdL~HZiN^V9°Yp]4ܴ@LL،†'ȍRӅTȞL&=.`!HdrzݎvqnP~]9)y%"] D̑R:lnl tz1I+4B'5jrlf)RRPE>)..5S!g2>pzaM`7pL1rـLW8ͱ" Ȉt>DK@"3k+35?ud$TG|sfG6mOI`iJd:237m) WlڴI}EC(DS;i2P =YA&'YMV\#i2iGE$&L k9-KAcRCd':W}{rQj FGj< 暍M1;^Y LUn@i($ĠIUzs"`F?D'shFPSpK='$qkr7?'׎eKPZ= gS2dPIUIu"C9nOljE~NW4zy91GS5>p`-6G&ev;QmE5'p({ $yzj -O\C3 (Y矒׮E$ k]nEZu4xcZGh;lJH李\6,75Ijob` a#֦ 3+͞EE}<趣QJ[Mb$<}蜒>j6 ޑHD6Wc6V$LI"K*G4Jk?IJA֧ɴߞ]!2eOې!6Xgs&G&0,:xZ {ǻ t6MN82x4qfHQa"6q\b[Ŀ؅M˴ n؄4mcU9"-^T&-  ;m0g9{gϲfs)HJ;`hⲅ H(77=-=4P{0SO3+!ۀqx@6@Gkfs%WĔ-ȕYdꕁ*mvx3pc@|~?A,UƄl(} & 47^-i8Լ}\ڃ p7 NoՐA{Q}w^"7_>HU?XO5u:t/2 z͝BD4\݂?u7hdŎ_TU^%∹) yv.*uuSKǡOMY^\zHcMGI o S~m{S#=1-}hNON ;&:vrw ݁w`< af տ>h|:ꟶ@lV Y/gNBFF(7ƿ'DՑA^̏Uk2mwon!/ /:vcGNio]?t͉2eM [~4SbxٮWWkE>vכ̰y)F<\G1irg-/UTJS/Zt)_U;b0VvJ; }\5UӉjԔUD7(JTŇiNCW$S{sJJ(.a+-Q2dK1{p5 .6N -s֌ߨ߸ \aM{.HBR)~wˬ)^OYIvdƙ$j[ۚh^Zí-=jMz %Y?@hTLC5(Wu]UT@_S \ݾ=Cl %q@|]hմ4wbb[,(J|Dq"cWe<= haJ^zА"uӫi/:7JT *Ijs=~Iv d(>?xK~R%ɿR奮Xh UlU85N`kwK#Pg=裶'?S4IWǞUӳb*b)<䦦'&O_ tf-ܒ٢(D^`zEMODQC6rqs/ nsb"N S@بwNcp)e BHֲ:i#vSs_UD2Q/Io)iOF:=ۈS!0A]d!!CJ4s{xtt]\lu{*:YQEVN(3ͯ\㣪'%}- BvNy缚AK< Kv}Nڡ4$vJG:AgZYMER'!= q("ԭz/%ޓZ*ڼd5Yj?]v Pg`>?PJdt34XI!_Ip|U33d!3Pҷ[-$,B:"98NJ6+}NqqSCqq,dRR| Z2i98gq.ݑhPe}$hԍ+I/s(JҡLsNV''N8-9uN22l$|FO4h y69d&gu΀c(ؙ<}d޾X0S ߗiɯ;}H:P;MZ'VuxiLupXQbRlKNqU{>Ǽ"v'Tؙ$|bhwN6X>u*,$9%IJh9Єom[[ěh[O cQIj!(DI?@9q=Mzm#\sVQ*#6H7WG?nQ> lbl!&WJ8cgܮG MnE7zۂNr>6К/j$\ғRg^ʷPu 8K2N J|M$5 m~lbp$ eB;'wM;9&F{dRs"ӅgJn^l5\H!\Kh *S ~X .}U'acgdg#qp D.q:-CVV"6DlA/6*f˞:ڋ~zP E&T e2uGXƲ6"]Dڗ֡xS1>Hv{1az5B![د;цmd+19&{Y.مu:oY\$[&R4D@$8mbD pu,v,q\t^v9}B>.G}n#[ny&v&֩D[DFePlS#b穜Uܑ3ge&3l" ccjJ$pU~]+Κ^r%tdZԝR1_Icbr'WVV:Ӛ#No$0tRoŗe+ŷ>_Fp;q\y2AW!s_Vm[ޕ q38/rSSHr &͟&!Fs!.5魩.S% 2vFᚷG=@{+lıl:SL.{$˫b$LLMDgDwM|2th9H>DS:wW*_"-qw<`"j,pDD\v5t]I9n'eԽ-kq+DŽ.W4}`@B$UEZ#mに9!o Y Vٌ{L.]>v t}d~Ѷf< __φc4niH9Jqf}*h Ju H&=9Uq`ΎN JC}i$H\ddK$0hLndM6 ׺Znwq؝;6PWO(p .\fMD WIkF4TI-t׸lx!5զF6 A|m:NXX{\嚈*dHc/'#'OVC}JmdbɴIgF}{\mMipю;(=^q>S{"[gxL9{ufuBo p8\c>,eWj-ҳ o:]cKi0.'M(-)<zn'q$R!q$ܗETVf J)q|Xgq,~R*Z\ּe6DF=|LMJHe*bDquLl2 tH`=3hpёR!3GtW﶑l[wG޳rmBɺإCu}--mybĒަQ{\Oe8&~њpC+'n-_*0ZLE=PԱKW:[Y^%OX}&B l&C˸|i{"s4R,$Mߕ/.A&$ΐ2p-ȁCzO9sN #y|RZ9.0a8\ dpJM{]`4{Iw҂xt_k' )HTImNB .;A \::z^qaK@oO&B5% u 6(9 t}ӡnjڨ ()|3;*^bcd*k4K&SLǯЕIPѥWf2ׂ2 ʜd4$s2XN‘6[;?yBq/ٞ ww1S'aU7ts1K_#CfFT]:. BňZYzm7eБY_;/zt8k<]Q$!b 1+LQIMSLǛqnEEûw 1}C .w((8 dAFBAqtC>3Pr, Ȼ\OZmqHO2JY1Jy e8\o& FqV+9Ls !1Y,!:DBX(GX^I[P))62^`?'OD4gUǯ:˷i.VO$>g#+XA'>ZpmƓx>uB27TE&&W'xՆE< >Gyz)YPW$>$$һ4'1FLdW+OOY4ߙL4砧(̪˗W(hYI鵐ZYq*E)"W.1v å#">~c!=SbKޥP4|RY[(җB,  U PI2.FQ $ș\H[85V^챐ZJVC:ޕ!1X$jth[ȟksȽ$|2!@_D/JrbL¨a2k E=z9 5ݖ+'r-XTl'M*bWI$aOHJ.˸Lo京(J6ub[ $X=uQc] Ng"4|=L#dJCX] 3N$tLp482Mt;z3!&W"˯h LN(ܻTTJƎ r\2}Ro<4O/AORSK% tTdX +s~IOAv&)Łu5vqkE[Ntͷ5D&(\/ .OO8G)}F<~pߥʠ`2K_΄s,cR'3uIZl'L+/b2?NFJe#䜐 ZI þaF&}yh~y'h(6:utV/|S4}+q G DGeώ4Jg^n!Do&׼i"I]tUlp;(JyՂ|qT͙k#C.}f%)TN]R16KgQ'"}u؄J=8[Nrr,-UnfYɩI ,stȸkFVcuѴګԤ]vA8Y_W&{;1/҉7prvZptPeE|D) Z- 2\;&Erj.Vsw]rj?䘧ggtuFFHD8SV/zۦ8{|]l_n`WMnn*)B,4VlhqTXJ jBe%vz?vt?9s=!VXbye.Oz{*N'B 5P3X$]*g*c7J0LDB\m(tT_nS*O2:\e(Q&vj$\?p器DiwoXl)dp5%6K̅.}W$?TT>iKe-qYcZ\eu7Z8cԝ? k襄t2B; r j\c_`! '$Y.U [%LVs^G^;IYFf 9!_4gf"BKqʋlϖZ}l=~tTy_pb;R p=7iNRlfbG%Pd*=O b/IH$nQ8jv{"ӲRsD:\P:=u%8"lhV[HӻC3dE6<񷓇'[g;;LGͅJfb>TT^ azCE&Y+NM.rǪF5!ݰ!LLчL;)ؗvߠ 7VIŮ|huK͟em$}0Ń"g"y+O Wh #u^b&os['9 ljXcgHcHISKlW*%BM|rB] mJ.oNpӣ'^/I}k>[qb]LIO_CE@mϖW?!DQMn-% Z Aoj4q FrS_F+\);mzX|}OE=W#B y>Kbn(}jk5ikLXm Q놸:ʫ}ٕLP++Ru\PޑI/RA ʏ=!'$v4 ? rT`bgl6jXoqztHwвɻeZN ) wz}"O|]֍0]V& e:1T(  8 o Chart MSGraph.Chart.80*Microsoft Graph Chart; Chart MSGraph.Chart.80*Oh+'0T `h    (4Things to Think About when using a physics engine Brian Sharp Brian Sharp83Microsoft Office PowerPoint@O7l@Z p@Z}lGSg  )'    """)))UUUMMMBBB999|PP3f333f3333f3ffffff3f̙3ff333f333333333f33333333f33f3ff3f3f3f3333f33̙33333f333333f3333f3ffffff3f33ff3f3f3f3fff3ffffffffff3ffff̙fff3fffff3fff333f3f3ff3ff33f̙̙3̙ff̙̙̙3f̙3f333f3333f3ffffff3f̙3f3f3f333f3333f3ffffff3f̙3f3ffffffffff!___wwwl St4'A x(xKʦ """)))UUUMMMBBB999|PP3f3333f333ff3fffff3f3f̙f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙33333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffff3fffffff3f̙ffff3ff333f3ff33fff33f3ff̙3f3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3ffffffffff!___wwwCfІφφfʨʨШffɧШfgfɨfɆfІϨШШШʨfϭφffɨɨʨffɧ`樨樨fgɆfϨϨШШЌɨʨ挨ɆϋʨfɧШШϨɆ樯ШШШШʨ殌ɧϭ憮fɨɨɨffɧɧЩШ樨ɨfɧɨϨШШɨɨɨCШϋfɌfɧɨȯϨШϨШʨCf槮ffɧɨʨɨ樨ɧɨϨϨШШɨɌʨCɢ憮殮ϨfɧШШШɧ樯ϨШϨϨϨɌόʨЯJfmfφmħޯϨɨϨɢ`ɨϨШɨCff槮`ϨШɨɆЧϨϨϨϨɨݼϢݮόϮܴϯɧШϨ樌׵׵ׯݯϨόݵݵuS+MuuuuuRuSuMtuMSMSMSMSSMSSSMuSSKMMSMSMSMMMuSMSMSMSMSSKMuMSMSMSMSMuMuSuSuSuSuDSLMMSMMMSLMMMuSLSMSMSMSLDMSMSMSMSMSMSLouSuSuSuSuSSDMMSMSMSMSMMEKnMSMSMSSSMSLJKSMSMSMSLLDKDSSuSuSuSuStDKELMSLLEKDJDKuMSMSSSMSSSEDKKKSLKDKDKDKDKKKKKoKLKoKKDKKKEKDKDKDKDDCCCCCCCCCCJKLKKDKDKDKDKDmCJCDCJCDCJD՜.+,0    KOn-screen ShowNone3 Arial WingdingsDefault DesignMicrosoft Graph ChartAdobe Photoshop Image3Things to Think About when using a physics engine Who am I?What is this? Why Physics? Why Physics? Why Physics? Why Physics?OnwardIssues: Engine EvaluationIssues: AsynchronicityIssues: NetworkingIssues: Memory Usage:Issues: Impl. Risk & Scheduling New Features on Your SideBIssues: Impl. Risk & Scheduling New Features from Engine Provider/Issues: Interactions with Other Engine Systems;Issues: Drawing Lines Engine Provider / Physics Programmer<Issues: Drawing Lines Physics Programmer / Game ProgrammersIssues: Kinematic ObjectsIssues: Player Controller Issues: Your Physics ProgrammerIssues: DWIM vs. realismIn Closing...  Fonts UsedDesign TemplateEmbedded OLE Servers Slide Titles#_w 0Brian SharpBrian Sharp  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKNORoot EntrydO)}MPicturesMCurrent UserASummaryInformation(UPowerPoint Document(3DocumentSummaryInformation8Microsoft Graph Chart  Chart MSGraph.Chart.80*Microsoft Graph Chart Chart MSGraph.Chart.80*Microsoft Graph Chart  Chart MSGraph.Chart.80*Microsoft Graph Chart"  Chart MSGraph.Chart.80*Microsoft Graph Chart&! Chart MSGraph.Chart.80*Microsoft Graph Chart(" Chart MSGraph.Chart.80*Microsoft Graph Chart,# Chart MSGraph.Chart.80*Microsoft Graph Chart6$ Chart MSGraph.Chart.80*Microsoft Graph Chart0% Chart MSGraph.Chart.80*Microsoft Graph Chart8& Chart MSGraph.Chart.80*Microsoft Graph Chart94 Chart MSGraph.Chart.80*Microsoft Graph ChartJ6 Image "Photoshop.Image.60*Adobe Photoshop ImageK7 Image "Photoshop.Image.60*Adobe Photoshop ImageL8 Image "Photoshop.Image.60*Adobe Photoshop Image`/ 0DArialngsЃ0hh, 0DWingdingsЃ0hh, 0@ .  @n?" dd@  @@`` \T`+X  !"#$%&()*"$ DP{߱M;XI"$D *|pG@P"$"^j3ф3R&, "$8BMF.jĽ;"$ {tSí*KP"$Gmw(`,"$Ȏ#@=uf,"$]_A`0!("b$*vC!EP n'"$Z^1v.FВ@"$pNaOlE"$< u9H0J"$4d$yvOb$t.ϯpW;zISTb$>,_nTSh 0AA@wcP; ʚ;ʚ;g4rdrd9 0(ppp@ <4dddd4w 0h, <4BdBd4x 0h80___PPT10 ?  %BdThings to Think About & when using a physics engine83 Brian Sharp Ageia*   Who am I?Engine programmer graphics sound physics file i/o & data mgmt CogniToy, 3dfx, Ion Storm, now Ageia (Not actually a lead programmer) L,F,F,>#:" What is this?I m talking here about the considerations a lead programmer must undergo when using a physics engine Obviously quite a few Why Physics?@Single-system hypothetical development walkthrough Physics seemed like a good candidate and not just because that s what I have been most recently working on...&XIXI Why Physics?Physics is a newcomer to engines earlier  physics hard to compare to full 3d rigid-body simulations Physics inherently more challenging to development than other engine systems (in some ways) very in/out as opposed to output-only like graphics & sound still tweaky and unpredictable, relatively still unexplored (i.e. what is  physics gameplay? )T!D\!D\,G Why Physics?Game engine subsystems can fall into 2 categories: platform & world simulation platform: networking, file i/o the glue between hardware & game world world simulation: graphics, sound, physics, AI the metaphysical systems of the game world As world simulation systems gain complexity: platform systems must scale to accommodate other world sims must scale dramatically to maintain consistencyP'/+-lP'/+  -lT1 Why Physics?By which I mean: complex physics complex sound complex physics complex graphics complex physics complex AI etc. Generally: we want consistent worlds, so world sim systems must be  sympathetically complex de]]+ Onward(Hopefully) helpful framing: 3 axes to each issue technical component programmer/programmer communication component programmer/designer communication component Survey some issues@2n2O2 x Issues: Engine EvaluationEvaluating 3rd party code could be a GDC 2-day tutorial Ask as many friends as you know who ve used various engines at other companies Get your design requirements as solid as you can& know what things are tentative / flexible know what things are less flexible (i.e. really important to design) Be clear on how the engine integrates data: how do you hand stuff to the engine? how much data will you need to copy how many world reps will you need? code: what domain do you need the engine to serve? what kinds of query support does it have? what kind of scope of things do you expect out of it? Evaluate API, flexibility, performance, memory usage, cost, platform availability, source access, tools, anything that is important to you.PoP&P+PGP3P`PPo&+G3  `)Issues: Asynchronicity<Physics can chow down on CPU, often contending with AI if not graphics for biggest millisecond pig Next-gen consoles with multiple CPUs: having graphics and physics on separate CPUs seems like a potentially good choice for parallelism but that s hard. how to get data back and forth? what latency is acceptable? what performance concessions are you willing to make for more prompt / spur-of-the-moment data access?.ZZh4*Issues: NetworkingGenerally people do authoritative server-side and broadcast corrections (I have no first-hand experience with this) When client receives corrections, some tricky decisions involved ignore? warp? lerp? makes everything vaguely kinematic.LH,A8H,A8 +Issues: Memory UsageMany physics engines are not well-bounded, theoretically, in memory usage. Can be a problem (especially on consoles.) Ion Storm example: elaborate fallbacks disable ragdoll self-collisions start stealing memory from other systems&II:.9Issues: Impl. Risk & Scheduling New Features on Your Side8: (   .Prototype to make sure you have the support you need from the engine. is it possible? if it s possible, how stable will it be? if it s going to be unstable, do you have a workaround? in bad cases may fall onto next slide...&FF/AIssues: Impl. Risk & Scheduling New Features from Engine Provider,B (  6Communication is key (like with everything else) Be clear with engine provider what your expectations are for features and what their position is on adding them realistically, also depends on who you are and who else they re supporting Your needs may not always align be prepared to argue sometimes plan for workarounds when at all possible discuss ramifications of cutting it with designZZpZKZ ZyZpK y 0.Issues: Interactions with Other Engine Systems//(Make sure you think about how data handed back by physics will be rendered by graphics, sound, etc. Graphics: separate geometric reps; hovering or interpenetration need hyper-accurate raycasts? need to cast against graphics rep? Sound: physics-sound: no licensable engine has a built-in solution for this common solution: lots of heuristic parsing of collision data plan for who s gonna implement this AI: pathfinding through dynamic objects if player can throw objects, how to respond to impact? if player knocks over stuff and makes noise, should AIs respond? Yes: or else it looks dorky No: player control is very coarse, so knocking stuff over is often too easy. Ion Storm: AIs would respond, but sluggishly and with a high threshold keep design in the loop on this one& dP PxPPPPPP%Pd x   %b ~^1:Issues: Drawing Lines Engine Provider / Physics Programmer ;(% Player controller Ion Storm example: used licensed player controller saved us time in implementation? but small changes could incur much tumult Valve rolled their own spent more time on implementation, when things didn t work they had absolute control Source access? Do you really want it? Pandora s box& but also very powerful to have. Requires evaluation of how fast turnaround is with your provider (see  engine evaluation ) Worry a lot about any part of this line that is not crisply defined.PPkPPVP(PPEPkV  (:3;Issues: Drawing Lines Physics Programmer / Game Programmers <(& Communication is key Ion Storm example: doors Processing of data on game side damage infliction, etc. whose responsibility? make sure it s clear. Critical to monitor stuff to make sure you know who s doing what. Ion Storm: game-side programmer wrote particle physics simulation that used raycasts for flinders & grenades became critical game system. Then needs support, new features, etc. Worry about any part of this line that is not crisply definedPP PDPBPP>P DB> -Issues: Kinematic Objects  High concept is obvious Details are devilish Ion Storm example: elevators game-critical objects crushing etc. Often hard to make blanket rules how much force to exert, etc. Lots of designer collaboration & special-casing capabilitiesv-$!=-$!  = 5 Issues: Player Controller|Easily among the most time-intensive parts of using physics. Wants to be very non-physical, usually& but play nice with physical objects. Maybe the licensed one is great for you... awesome! But you ll probably want custom stuff. Needs design, coding, management, good communication, playtesting, lather, rinse, repeat& L=M[Z=M[Z 2Issues: Your Physics Programmer (Is liaison to engine provider Is liaison to other programmers who need physics support Is liaison to designers who need physics functionality & tools Must be very proactive, perhaps more so than any other engine programmer..=,Issues: DWIM vs. realismWhen a designer wants something to behave in a physically absurd way for game reasons, does the engine already support that? If not, who adds it? Can it even be done? Often boils down to the  kinematic objects are hard problem. 9! In Closing...Don t worry, you ll find many more issues than just those! Hopefully get you started thinking about the issues or nodding (off  ha ha!) as you remember already running into this stuff. Q&A... 6oKoK<  0  0(   x  c $d8x `}  x x  c $x ` x H  0޽h ? 33___PPT10i.`+D=' = @B +r fw:1 ՜.+,0    KOn-screen ShowNone3 Arial WingdingsDefault DesignMicrosoft Graph ChartAdobe Photoshop Image3Things to Think About when using a physics engine Who am I?What is this? Why Physics? Why Physics? Why Physics? Why Physics?OnwardIssues: Engine EvaluationIssues: AsynchronicityIssues: NetworkingIssues: Memory Usage:Issues: Impl. Risk & Scheduling New Features on Your SideBIssues: Impl. Risk & Scheduling New Features from Engine Provider/Issues: Interactions with Other Engine Systems;Issues: Drawing Lines Engine Provider / Physics Programmer<Issues: Drawing Lines Physics Programmer / Game ProgrammersIssues: Kinematic ObjectsIssues: Player Controller Issues: Your Physics ProgrammerIssues: DWIM vs. realismIn Closing...  Fonts UsedDesign TemplateEmbedded OLE Servers Slide Titles#_ 0Brian SharpBrian Sharp