ࡱ> UWPQVnre;hDnĘ7Ar^PNG  IHDR >!sRGB pHYsodIDATx^`U! $ޔ&]:"DP@@@Q"UD_@S{-TH!w/,rwW5Λ7ơ}vyHdc;wnΝ0jժ%KƜMˁ\ٜn͗d!~KA sH Dv@HHa.;/d%p E 9 9 9 9`i7.!9 9 9 9 }JHHHH‴lqH>~!sb[2}ĉ@ g)L!-_z-[k$ݻr KnC |ef B ,*EЉ"d"?N>/ t8GtQQ YuVN~l0d%r~p>&m}#aݼy_mҥQY΂w(ǰ;+( -yf^qa@@o۶ q=MT'7!uwp$Fz v+bHx~JHpN(cG2#Q>vD "$PB#1>D3Hai&)DݻWLAFAd~*'IO$"?BL{[đA$"ِ{U$NאR$" iP9Yd:_p PPX):u0'_i"ׯ\2+ZfNV`(بQ `Bi6BV"x#UArC6/ kժUvm~bn;}1,h7lؐl^%gȖ:hD  _D<($2Cr1DT^?J*OU`"LiC U1?i&!8HZS|SºC!hdlB$$Q#GH0F̈5"' "8NY eO*F +Ah X} +lذa+ldx1xxGݺuyaXX (!J l?yy}hcpBk!1d3O?8' )r!| $+2E:AH(3 n: `Rn@ !1`l+C"ŋۑY(70`4O4h<$$|‰DF"4"#JH9,B()C)g-Vfރq=#`&Me!.,)?Q-dbP0 :!F Mr!@8sI"\\ !y[Q<9T1O?ٸF] q` րx%b`z8D 67 kf%q 2j ziZ#9 9 -bIY1Dr"R9 %‹yJ|pq!8h&!aőT`@8S2ZפOĝ:[!Δh`6t(`yHA8OE"/^i%J `(WwJLUMA9K<.e4УtGq;1(Zq6D r!pN 7M R3}ZHjA(UTIS%.#'x'tB NH* TW.LBT8@94f":W?~D2̦!UPrxcY93fdnl;4wn1%7njq,F$ȡG7$]Hx,0@1C!;]NC$ s1dV3\V'9 9 9 ^$Qr@r@r y.dfx}72s@\Va`+6ጇC#9'd,ZOnJ\i7{ГR7MKr@r@r78 uoG =9 uܔ$$$|*b$17c ^+}3VC2ٗ,7w#FS5},f`T={e]zg'{%32 .o_ڦM+x8 ,PRzQ;r|wˉK.ed]3A~ݑ~G${w;~'!TvMm'Q#:e9۷w[)3A~i344k.giFE{kRAd߻޵k7lX$39нiis~/*;;BGqK(=mӒr;`FI䀾xѧ'ONUVLؤnНGذio=zp?AM6^lJ28+W:u̞-6lؤI6kdHoG mr`5j-뿂~'x+lX-e$d͕+g  ۷nݺ6o? ܹ Q{ Hl۶m&0f'`tz73ٳgۉ5`ӧ,Nz0rQQ ]gFMЯ5kpJ0o䀢6:w\ݺ2[`Uݺuz`UD~b>vZ@Wh,Qٙ3gR6+fEJ wC3DgL>dV[{e)))g``q_iB\\C5۰a¹fk~GqXCh`fKg}β1AAAFLNg.,;5lؐȁ1TBpL AL)dXod 9ap.q>[7Μ9Skt{GRRݎn'`uA,`(ŋA#O5LF_lK?ȑ#4:u`5pAu%RP3o޼Ǐ={K.СC1 AT!7o۷oX+/ 4G3{9P&cb]2_zi2OQ ƨsY ꁋA Ӹؘjm߾N.e08B'C2t۷oY&;JOn#LՃbFȐ HHOhuCɒ%龘H~ ^gUzJy$2 %G({on fJ2~g0lܸ݌88-[8q" }]ʕ}yDp-ZmaZSO=6O@uB.X[aᖡ,2CΜ/_CA0/ L f͚.K VdtW=7-n6hl9G%˪?~L2"xOb`D%E_(:CUXt(ެZ̙ "O /in>@;С63J݀E"fro@ĘE(s /g#Q'(#,|XĈ>h jGcP2 B=A4>5\,UPʔ)SyG)rf!f@ 0q |2 :q;d 2Q+#+̈SXF=f7hAA7ЇU1ٗ rL}fP )\8LMD?&x,=p1\題@P0f8%b"/h] H40nϫQߡCgfU0^3éZʂJLEx͙3q!A }pW%,Wg*T_Өɯ+̽{DhrEGi!=1Ƣb*#yѣG7h@UHOSdo0|fC>-ھ}[jyn8fAvx㯝c*솮y$&&:^lzR)'KJ?{%SLv<ф#i]{ug6q*U"J@V&S 0̵c%@3R&_ c 6tF9&$jO1pq^[|x;+Wnr'O8z4؃cg].q~۶s[DotvÆ3kמ~W)X`a]|`7AT'ެm{)wRCMo)SgT\٦]$%Zgp?$W$ӣE&L&km0@@(K B@Řq>3+^BK.Ԯ]wƍ.f ϲ:~ yw^o;Rv2n?_ wL̜2nkVƆH:x}q\}|.hzF p-|P0^*߼y-Nŝ+59sfkezervE3i4Tzw;3WJߙۚ1˫M~6#"xKĺh,KfpegN@h $eς"mG[~2ڵg}2I2V"1t}Xf 2/[x_d[Qj.^()Yr,gJU1ɵfS|Pժ8oOxY47Y2-FZvrnpW݉S1zi2ST½5 2?1S'_d]u6OήHr@=D28:u;pIIW7n|r(!u,u3B,j;#`dj>3,ẅ;w>8Z~}*ЃhJۄlݚW,ut<״K"9id=ajJjLcDD'gVn`RX~EoHBSa%ߤI@3 KQ|$V ,rP,~$CƎ&5wB&_shЬߖ?dA!s pϡJR{0{mͰh YDiC2ɷM7[`e>6eV+S9 ݇2Sd!= pgqhJ261)rg[QF9W2nSHKΟ?/rfɊ'p(T(&2ը`ݺuիp|o>toi.re+BP\ g ! Lg4!CMxݻw0lhC)3[m-a`_J9۷' 8Q3ӧO7&YKPB~l ʊ|V6Vƙ`^=ygPw }"Q }pYM֭__n]_]sp@shK AvܹhG&"ɋGdl 4=$ `{N csFn߾}5jtpQXr9`߄K6̋=ڈ5kk^n\+- B%lbëe$y0Aİ Er@ #x2@=pX,w0@):!ԈJh [Yufw(=C!COi&)2Iq}diɴν8stZ5oI~@&`vLg2&M6 FO݀FwNQ# DƒDz2ƹꩧфO?[j%, T9xJ$"Bz kp"aP/QPŀfPN0c( `0u80^}U_ Klj)ayTum.{OƽLٓwO+̗GK%ucc.]߰!q05I˖-+rf9 Vr"F~֬Lz|̘9lزcbbC ] =裋-BKECZl=`.MAe1Ը3(WbPiFT\ʵ*7A194_-+Vp ( (jYa0_@?O@-'O;w%K7o\EkRh_%k֭l6v6KΞ= b gT76=Kxȇ9rHU\vޢѭx\<];;RHû'|[lS_7EF8/~$q@J(w2ywq+=E&s)9`j`25"n@޼ynŞ}C?kX]}=k 6#e{ Pnfr@g^7XLW\@,"9.DFF6CNp+z TCr޳7Xm)&!ofل$fO0M޸l=P#e5˩p7VKx}9bKlumíyQY#9 Xq@۫_7hIXo-ɖ,^ rwZmg 1VH*9Ƨl38+R}h&#֭9h@1^zjOAx˭[?۴ywɌ3)9K/Y?ڂq񳿚CVLhڴ lmVV)XX޽_u6 eU$Y@WhTRف:ݠAh-Ҩq[ppyg}1_ۿ'7bsLdd"߼yӧǝ>}JߵsDŽ>3lvv:R.OV/m[* KT֮ٻg7?lOy=z}<.Pj? &p x B}`|gyj SE-ʗkܸpCpHw%+:`EC&d A0LBpw}{lmڵdg#5`װa8%t:u*ݛ&lټw)Uh=STF<vv5#,Qѣ1cư\ מK %K|qvውm߃N@9GJ{P½zEժ֭]}vğ2MNJz{ia9p#{Xbx5iHmTdT|\<=֊~:~+)Y$? 2x.[GΈ#;wRj /Pﱣf}_hʠ*G^{%x?:Q]v]fT! 5- kX8N:mݼqӴ09_KG_~D}+'ZQ\/٠N1t8I7m^ЯZ78yȾ`^R׮njaa1 ui3f( }lZjsΞiqd7Uȝv1\ Q0 g^?? ^dz 34hʝ۔ q-=4E"؝y `ڷ(RVmίfeUQcvz衦DZoԬ \Ʒ}_bssRgj/ R4aZ۷m[nݺ9}X0~gE>tHl^6/O:_~`H! ccG/:|IkNүF^ h/uӧy:Zls("K8y޽{XgҥK_4@ "ΙU-~3f G`?sN$8VKBbbG($ԉ˓*7QlbbhݑcG .|!tO)+Qv͉W.4:7lp6:`N.߲E ׬Ft{b7x頯Tr˻RUZI|5tnw_RYf!Xm!b\tFvGFE!U!laxOmڴ>b ~Q?,|As3\6`h޵k'bz? $$4 /\U|AȺFbs/4 {عjjjҫDJrJ,G=eTX\Z>c'>![?aX=( ]*IttK]:rE k֨.=GJMmYjUGȲ>fԮ]C퇩npɄ|͛o"Ŋu|UE7{Sq} IXSJCp~|^hOK6Jr r@ݰvC6|IdZnpv֭np=N:uo7XwxFI%|'9gVS2TW˔*3m_E+p}(={po3=UMj`Ev*Skm۾]wUsݕ\;WKH}xܺuK?orKUZ7X#D~jýE $#:{r&]b?I^LÁ׍B74Lҥ=DR|ذ!@9az ;f@/ a¼ko̢zX|nY&moҤk~ɟ. 4r`n^[&+x__TR TdѣGI>WΡCYaӼy?V~ݗ^bsQ{6wRH_c-ubbbQWԫS7jq4m 2!)IE8K4so<]7Á}"z5 dU#G+W SMőӛ 7eC`۶ZrE\\q]T^Nk׮~;cƗ 0C+UdO3%S7.]Ï4oq\ѐ'Ozӯ}5sԩۼyѣ?x_#v}٬HgmӽKc~|;֤IӉ'Nf͚= 1|]xETزc郼mjLIIIL7+@ sB-lOn:2g;^și*U,1bhV3lq17B*Th1_/n%H%J0kǰBW\aIII'T \XEHdJ/JڡܹsTwN\{N\q/.EO o1[S`S$vz8&ݺuSiz-bS|L0)J YHQNOHB@>/ߴ`#K̻PCz0 VET+[Ic7lSי}Թy:7 xVJr;l͕H~ܹA:aXH8okQ2_Id[hY x? 0yּ!Exz2mHd!Oь/PJGP۶m3C8oJOFms踸X&A38-4?q!Y>v96d9vzʖB9C{Ghϐ 80OyZj-.\DmA | ׮bc*cQ` dp@l~g2FFhfj>ez@zL+4J@@@Μ4x$,Be xΟ?zCIwt?n0m)`!E 41s|\,WiFx`L9Mϳg2A@_$QP",#os]`.(J  P솴Ta\pP C2H(=@5 n[g邅  @(iRIh.fXׯ i"N@VxPa$t4m&8(($,,32 g{+HiOf5aɄTQ*~D*THL0"c( ".]ׄRRyZ]Z7 TEėo/,aHl !$A< ~ۖC+0 @T"?b :".ƑU!+a’LM7jc ͇Ԏ(̉czҥmuxwAEX]vlO|M0*&!e^\d =;YFZȨ"l!vrb ɄIIr|:0*0u)S9ŜQ[%N @Y242Z}ͺA֭/r00 0 ,\(V+R3$0Kk҅cnc6/u'J"`A<3$szDFD=ĄLY8Y tt!Faa,.@ P B 578\,yWN0 *lSI\bRSbb~6Tn4/Q o+qFO~dQsgf5:9%Z7o-h?7<t")"ƺ 3 MPdIa2W֊c~zcٸ̕Tj8A1]*`\w8#۹ddmߚ9340>@W&fEp^(R#g~Fg19SW@m3VEx 7b+E` u1BX~Kʖs)o%.V۩,N2 " T6lXWm |Jki,vJ 5]9 lr"/gF ' L" b t87JulM/Yx#W2<+'oк Գc 氽M׮ZNpF#`7&D;P"J=$Ix[ YD"Im}9UM`Req]M`3 7R 8SR[\؁Te,n(ٕP5rݰѫ|JwH@U>ԩooԩl&~kVn@k@Q jcZh͢W&$+c&in䰎/ձh ]Vk=֪!?V.XH ,/""086|=7Y"DR3_H>Ţbi{V=6#2qh:ްqE 3B7[ѳWnx vܹ2F=re腛7 %%rIY5hP۬vڵ^o?4X5):uzP7vOIoF!ɾaOLcW.pA,ׄ '.xIQSnPSu}4hrfM,MOzi }J XHY `$ٝ+RDbŹU%H΀ *+Vz'! >4;-hI^ `\A+Ӹ}):jݠYDw03 0P %%]Rx ,TSIa9jmDPX!RXYcӝiwq)72w/"=8mj >3:v ɝ'P* BX?QT9:6>-  F!z`ߕ+>LlP=8*iD-Z?WƢz`hdpT Yr 92--Vԃ2#XRpn'RëU4"~ p޻vf7LU򄉪k}u!8ɁlWԺU仨&Pu| V8{s~ƧčI,2208>)ĨǏ۹s5Bܹ2l teUaG/wzݠYJr@r{80{{w+.^ʕ8ql̘jĖ-ڷoӴO>rl/?/X-xlaȐ}Eu$⭷"VܤRv?bjƵ9Gn1Oה)$:eZt7KX䀪OKBd];D #~ 驈HҀYX^zYDs:tд 3cƜի7ϘӝyGߖ-[թS;h*9X'Ϟ=#LyZuʔ)Ex8BrhϳВ.(tnݺ;{ kncQԒ;wuOg!0T +OSLg{Ι{_k !JH8 @3gNի+?Ṹxƍ͘\laI&p1`@9sfMQ/يG>| ti߶m'clܸӱM=:3ާj_Tf?ׯ_7cƴ>0G5k^~3RJW^yA=0{O.wǏPZaٳܠl.ϓI"Ҏuk|_C _Ѧ3{b5 } uIJD.9p੧| rT )wΟO۳Kd-5lxֵM}⸸$;ğ}MB\tB3b@*ӴiGaA$F8pvO$%9vΙ=@۵{2JqC?W֮]eK|wɨϦ4yh <ԩ|20̈#_36Ԃ01bܴi{+V8A| f 3D8s4ȗ,Ym&o֠A7xx}&z[ō%K}iٲ˔);~d~:=4p`YuC20+~}*T(Ͳe x4JfTh)STiiwY)7n\ONԫENeAǼ OzƯb*\"3UvcϞc ӧnbVr ,d?gdQQ&&&?}at*x8ĸ0z2ר)Rx _ԤImT L2jUdg ΀T\zM9H#Zԥ{ry `*U*nvT!!7wv:Ӡ޽ /4PyE 6rO$iu;vlT}#ш%KrY|E!OSRRX S 9| T2֭›4jІ fzxӧO=T_20 VӦu~5c>0hxBpʚJ 34y/SV \~3:jݠY@riufsX-oZY׏ )骲3bL4 D!g7`.)-_>AĴW0_m71[ ۑ#p,`Y\Č$;8 lȐw$.@\P˪QhY LE<fB?_@7t5k?~79t޽6&cjT^P9'@e,V]CطcǶ|F\փsMIgQ[ɵpu UbN%r9rbSJY774eILdRā)Z?@|+7I9pTKL 3ѝXףG hZ5VΧƄz tF1;]L7PŜz.Ǘ*Rj^:[0IIؘK.>{BlXE$')GYΘK sSIא~8rvͩWO`5s:ptJj1;OZi5z: 3dӰa3I3պ IWl< >gN> 2sVHaz(s]OըZ7X5v*.q))7=&Eqqr%11ΐ2XLreڛr2bXIęa6[ a F@պwg,rC6&)VPsHMw!u:E7ŀz5\/(83_xxXxDUHbm |x`k= 6Uhؘ+zmBFEuڙNI-`d &,Y ̥:gadq6k?ZEtdx*: R7+p *'U%ցFQ 2P!~d )iOJ(V)双*PP"E ,O ]7kגVŢ'>1) *Ι3NأUZfِ֮oBCi , }fȔ Y9冤k[䭷rZ u@Ĕ)_31HS*LL\Lk 6;:<k\#Ģrа!T`kf8<( 2 -eP 6n}JNx>1>o9kYAЏV5Z~Md89&5 D,gL#<b~T iS8Ҭ$HF8h 7sj* bb xk9sBc^gXxlt1t1CB#""Ii\4HQ.Bsɭ|*1!!%JŊYTt՝QSAS.9s5e VMߩ`PLjgzw\|wǏٺuU+2!!6OH牽XbŲɓ[/S` IZ"xJu` v;)St:<b/^`,̼OΓ;84 q;B^e@T"9aaxhZ:Ol|…D:zBpװooeO-0Sy5? |$CRQw;do8:v3zn S~?`Kjޕ;=Y4 ?$Z핝;ͷ_f7_]S7o`ɓLW۶mmBxȑC76@B|O)?aZ;nٲ{?=qasݺ<ڳgRmj3E]t -B񙶋0BUp(H׮;rᰳ0Q\@KLLY<ĈƱu-^&j̽_{気Y}giVcfgi$,E5k4̆>v"3fL>| `͛?F-Uݺ f͚ҫW?Q]?AS5R $D39#xsvܹԋgv:@MBӦ HM)vBã0&kd}@.=}R"=d̘kWPA?{-ZV{#'0MiXlo'ho2}J7qa8q* ߎjݠ/M,K 73La./ =E#;)($}*\$Pigw<ِftr0(d'5j[u_bz}K` 39y6mP>obj<&'9wR*h$5+I|a!+m T QQeA ,Xtc]$+WpݺL.Le00ܾ MM>|Mڬ=+!CM,UCM}7J)(Z`T6rǪu0 -++6!BXܪ:*OC;OC=<) 5cDK:2(Ƶ2ze366;˚A*?cX Kנ ̫Zڴ#;w1eW>hAhG$榝S zP3c C*bŊnw"BY36Eմ,23H)ð3 f#+o+DO:t(,| / {םEC;v8s`ϐ8ATK'K&M=zf6kժ_xx~tve~jNK1z=  ergϞpOiVK<^N]s'N 6oh 4_^#t:Sf.BV}p̛7[Ο~.O<+H Kn Ûr$h2`+D*BYOyFm!!! |)B@fRӲ9]] Q\bJ6 W_}ر#x[|=e#>&G ;ꛢr!~SL@V3wfGQBIK;ԋO A?4DG *?S" k#B6| n} X`,o.䌏5پ}s gU#u%`cYdnJz-DmBi̓={<nQJU+@HҎbP|ԥطك5w]ZFre ȳy|&̊ d:9cG UE~ۅkH| n(AFVÇ o5mgF}}@u4ao.]Uc nv<dafE@͡ {\XUPa+HŠZ/' 7M6]팆 *oҜ7lDdPPY;͝O?FTӢ/Yc/5fDPeYzkRJ)SFJ Tf s⩡,vަ4<ǎi(hgQxG:ux\=rʉ7\ȬQ[=rX*-$H6-`pIh[8Q] "Y ?mv`,"0!m…o-7ń+U').ZT,Z*x3`BC]o ꎩZ7XאC}ewS,`6__=cUA^K3  #/wm~)qM dAɂo γOn,N1d bxNY;qB1 ƎEVNp/c׎mآ6vf^1۰J-]%\39xW3e mް(HճgLRpA8EuÁg|J)O3xi%*Ɂ8~anw7p yۢ/z9JOn'_5kqdmݻ{s/t~]|G G&3bpVPWvjѪuTBxm1B`X mXz `~%vxa;o$׌(d Q^ΧOE(IG:Pf/"!#ҥn<)^ܶyCrP;Ů/T` O]6]ߪ鎌_^Js88Cx$4<\ÁlaޡCf˸r C V!i Oy`hjּL3\kȔb\x{u^OW\D!mDmE5ha;22C.|i/v5F dAO01U+snhA``,/=.>>zԬ)scSSUu S?:aF*@EA0Db˺zYC7怙;Tc(3KCeavrUZl3XhG,5D'֬5~*w?s"E~U D >dܬs_DS5zJԫ {w[O7O!kP5+Q྽,[CUB{+VDW3@i^Nʔ'ˉ8V \3Nol>eW(Rlg_:h{0B9֧OH",[lz+s9'`$]@Uȥ#zt$oTT kÇ  ޔ^UVLNbo088,P}Ollw}T.z.qMRbr~8aJ^ /ÍMgLj. mܱUK1%z.ԝ`=)q:YIkRdn7A-B.zҵ$Uϝ;F!AAAA!n'̓ `6Z֍~:\iM6Ӭ:ƌ{މΘcpyx|5WsEHA#FU~f - _2|,eIm?#qtJNN>X v2|R Y/ _ПuʕhJba"sF\0; Jj,XS[uxNeG0m@1sI6[l|͒LYؤjּyVެ٣JokA#tzku=utc㺃]blA1{ylDպ!)Qm9pb_OX೏ޮf洳kt;~[wlW!WGGG <݂9`IfUΝ7 zyp:OxQnUEؑZ߀)r|a#q آ ;82XfJ NȻ|uŵ6~b fBB^޲n<># Wz E[CrJBƒSI(2dZ/@$%|(Wh]_78,ewlɐYv^=0U"͔?2hI%p52+] !`Л}92̱`ciN.x4iI;b;@:?_c&n/`6Ne)q!!iۙ=ygVWXƊnqS͛o@w5f Z7hôH :uUpϰ{,ɰڿ+3nM1 ;@֨]K\>}#/'&D=vdf- ô:8샖tB^r95%WJl`ֺgNw {IK \oRbęs(9j=XO<ٮ}uKeڳsUK}F0秅ӧNuɨD )[}g,T]z6xh/O}p{zzbGUdJm3yirt;9 PHKE$Lˡd՜S/}ڴh#8o޼~J24S'Nq36SdT60M}&gd ȏ,icGjVeY Jv* %k"l/abJ&&([n40 Ub6,~bp#ټjN!a ,1wQ_QWn=o).U;sī)E8~0Bm߼=p@ Sp>sf޽oKfX勵Sw??_8oQX9u~YMYgh|= pRD`hƵ<~TQ=I{UV'VjZ߿Ϸn yiW\,F WuF+pX̧JzL- MP3Dҥ$ܼiɕhH~:w~';IDCAlg1/X:R,k op ',]X]L$t\t15RS|lU1QOHhhViT uh(r5%zC#ܘ1͙¤-֋b2hY߀x13qp@+BazgN".\3<4;3@(KIIW` R9Yz_$Cg݀v2Hr db y+1x;X@vC9tǎͨ^h>u#TҐy[AKLudSnЅ_߸/~GcH~?W)뉸 ';m[2on^YYv_XrcI>3~y^>%rtٶ|톇tHV1s2dd2Bg];/^Ȋ!Llލ4\}Y# D)SSJK1,$pوE.sK5yZ Y7h|Z=!9r:/-2nrVڕ k,?`۷RSDbat  [ %$| ׯ^ tDc("_ ۾л}aS֞4_vgQΟuӹ|ydh}r<:I{8^7HKI1[xwm뫭bTOv,vz<^xV^3b<mÔG 3=-Oaқ]`8Ӎtq2u; {C9U}eHIeV |%# X`Q8y&ύ/̘{Jzpr+z .vJ&@(Tw.պA}z,k\.Jwa(׽-baa/N[tF` ba6[d8|@7x(URii jɲȍkf2KX=k)?^^lŧR|#gZVzWzDKϻc3[.  6Ǎ[ܔMϕ'* o Ubv'>!9 X1WG }[ -tD gK0;9@Oǎ] TuQf.qꜹcSř*ISe啂F/NjSі2,tj-Ai 4_֢#ܬx(RǶe R̥־h}R; B)5#ט!!3NR .x *@N` }P+Ylj7FXKсn8}tʕŞ?{ۆp=2$ި:kZm? YMClc?!|M:} ʕcnʖ+{9r|B~|y}rtK=СCsj~_<$o],6lHKIfa`H(+gψ,Zhb'N y랂Pׯ%id Dko"aX` -Wᾫ!%op9.znxR1jnp׽N c/ݸ}D"GI&,P"ܹ؛ N-ڎ 6)'oR5F7vIo L`ݴi,%Jj< K_kJ n|af,KJVaAs.-˖Yͳ+Cjد(A.)梁arğׯ>_ Hu*FdvnhuOPUht0+/04ɉ׮a`!!얮Fw,[`'2 պ#7~ɗv93ur rE8^b9|D7o:Ax'ϫB7t:ޠ@4c0+t2Pd^Vf읜s1rasrܾW5 kd\J3$45Wҍn[{?)(VKKUY `V`KFRiX.۷$\X};wpX|u>/?[k:TurnTKj{8'_7ɛ78,"+oc1u)12h{Z[ȭkgwo{dJ:#r=80_6[rTS<~AAaDBΤ"۬:jjB+ qLEvvϦ}N]=-UU&KGʕ=I䀇p@npc?|r綼R&zUI7[V=sAk XydyHΖd[0ٓ>AC%!.Y0$_D<XM>)I7e U\[d[j* f!# ޙz;ݩ1$ވ(X$4*Iā9(V{PDjPvf /U8P16w  ,@A+ sF%34#YHr@r89KTm8T` Z9sC,PPU?_zs=FU`t5Nz$  AH -yEBg^@g>"7w==p^}xW^˸#;v2lk K֤tRs|WM9 +9Pu-@8E3ͫ" \e2nXy~䧯S\+Gx>դTr|J S#XVɜn|Zc;ujT\70O4*s7s`GF Dbx߾}[rv OK`g8n['pQuCKAOlfEG' ,O m۱{_5{ 5EN<'))4Fw@ 8V2fgL%|tɧ&L5̘>^E ǚ$KKHHx6@78[,ʨ93&{c󜽱NJ"T3`VP|MLt:[<9'%ť<$p}>@jmVRXW/6:V)s|@mq@r|tu1n+O]8gk@o&?u5Ozh(wq@u7ֺVҹ'OjwY]Or@CoU-KWZnmNjN){ٯX}Esx {@^p+{&Tl6KWҮ֍,:p崛RE˜$&ݠv0iUi6taG RBY s- ){Vekݐvn#=~E,Z[R"gF5!x}9u؋Uzq~5V}ZSҷoIlպ|`|a9xK o\t/j^zulD>w"DhvC 4͸?dMtSZV𺱄$ePyr)wG^&1sS88 Yu{Ə9Ρz`s$6J2t&bsQhhѳ1h6 J٬}CE)DYԳZ7"܋nZ_;x`?6׫\2T]RĽ v0CJ|JgΜD&9PPbg[T83OݐkЙT!"994.^ jc伯L2qEVr^x']FhVnș3 縠 [u *#e$~~oKJU+PvyScI&xoJCuw]Z5U|UVA@ѢEwi6glLYgrC=zRafGsݺeR[y6,"Bsq+荺֭[III:o޼AAA^sA ^\C ᳬ%Kxn)uoG'BnPo &Q Cr@1QUKC ^*=U{)O-ьy\ٓ<< oKݠ(ʏ&;ZdnmW+nPY {puѧ[<@=d*(hR7h,#HKKk<Ο?#M͐Ѓ~żQk8}{v{5k@CRTօ;bҰa-^~=Ν7~u\QPK/rRPa ݿ_vT\MNnߦ;;0UVv_o_};]n ndyfrr2ty~I |R7P9U=d _ e$$$s@<%$$$|2oX*d,ZvAvl95[~9 }JwHHHHs@'$$$$n}@r@r@r@rEVYYsIENDB`n H)h<~5: lPNG  IHDRdp\bKGDC pHYs  ~tIME()| IDATxylUZS=A&Kead[xP 1&/$ y$1oxL&' %5y 8$< lc K4˚}5KWsUǩwݧ{}vWW}[ܿd~4*Yٲ o,[uYܞg c{]ek.ra??Gj\ڏ8Ҁ$vrG%fٚʁmsL%!Xp@(vKͲ590! Gɂ4ymqeJp|'{C,9V]sMw#%Y#Ց uídg*ˁu}~iI Pw %Jt#:hYGϲU9p6)qfn3mùu#Gn#Ng2iH1{wCYr g:נOyQ \1 dSp^fˁuj߮S=--n,Zek.r֙;~TM;O &@P3Pk׿OYr gy/R'򶅷AiyM%Goy*β9OSp=5ַ]cDT ߹UgɁu,fr6?܏,[FpB]s59Zvk0/HN~c*tcTHABGJ7Xs,ۨr gmĉ:+OZDp4;ç׾,[#y^։gkԄ3l[s@i"#l$`A(5 CAY?9[w}+R]03v$za:ek r 3'>Sn鶈,;ٚ:Nlעݟ}Ɣ9[3_J (n;bt]JWlӋue,lz聮KɲʁBGJg?geOn{{`0V{q:@ԗƓGٚ>AϝtBsٮ˲/)1ҤE[n.' 7GW@HĤgΧ-0r g[n*j{Cڳv;΁Wk"l+U> RYĀ4/sgqflɁO}Au)؀~ߍDk9 |{+3*e }CAUqHxԈ^,8 7{n[Ҳ,3sGH*ڏ 2G;~?_+s_)F̬]`Ř$܌Fs \~r g BheWdtqϜǞ?3躪lȁ=gwc)1ng#3!΅ƙZh_.)"r gɁG }Tr馎ʶs_c~x7&d k4*s ui9{NzMϔSvx8'9~]m9$g:WG;BvB\ɦ~)?V-,R 7iX6}m.R2ܣ.*8EL5ui&9;m35bPEj;eJc#o| GA!{xM.rvf{biabD]}JLj  CʂXG~M,rvZf,j(FQ$7@(-$,6sKKPԹ}츺l3ˁ&OxPRQҸ 'G8QH{ `cifqf9;-R"o7to;|p.7:v$0 ")SC93~..ۤr g࣏Rcxr"0[^ (*b.6vZFH%-9O~G%fTlO# ueUR789k~凸LU 6/EBAyw~vYXU#Hk!3L.7G r;rʒ43-Hfd]?b^ym_ hL^Zs%J;LdH៴v䊿s1K/$ Lo\ B0gnc,뺤lȁ҃+zAv ¶ /8׼7Ҕ%m:%h,Qқ_?]m9S:Tf@ "\Wk^`*n/(ʒ4Lλ.'$r g'e XrmU'ڝWT:rhg?uU&9;?eajB=rG_XaXTLiee@줞Ԙ: \?^ۦ6] ĄZb {.+r g'u!xh\n;z<7bP[BG.+s9W>@a ӱ!eS.xWtow0({r1_hFiE!IQ RZ_벲19;}K1(E+rda!bCQq9|i7w5}P`0{{>pSec,rvBy( тU>uz^P&8uh7/ovq((7l@Ύka<63خIhyiכ &'ISU,O| P_ՏP%x# \ώB/yB7|k~/}핰}%x;2D6^ϴ8Ȱ΍47owT]6r gGwS? j TL)y/8뿕A᪠ )WcS{S 4Ӏ7Dӓ9;matM;U7Y( "sb3% K?:5ExaA)1K9#{TP3n@M(8ʕ/>MӻRjQ&@4B.$#'!;QR0QV QWo|c\WQ^}|+V)]ɮKHlɝt#aP% +Js9'>?t!YP݅VD LZDlɽ ElKZW隺bUl SW?N,r7 bTffsŵ/_Y, T(JŃJ-81eGSE|^vb93fލKX d'rfB+qW<8F"  q"/"4چr`G:,r oq=RxB݉ mr]j7_LNX,!꘶#uQcF{%ШSL,p;{eU-3LĆ ju&.u/  `l y£3n|eeT-nP  VXUq7^uuS7jdc6@A 夐SOg.1ۀr oqsO>4PWcN VȺ-?#ԽiBDk.ֆGcb56فsF%fP-},Ri@[銑˿j(((01صCKVS.1ۀr oab q S+ꤞ˯-+$:3^G< V7@Dî6[Q6ʘ Ny\hE%UJ@VQ D/ԠLX/uyZh?* 6IRRMܗyKT|A\e[p&/0ږ'㩛lɁE}pe"bY1:of'zD*9i8u}]m icFAL(aunw;ڛ~G$jȽQ 0s׺.#@r oQSOcPR`Vow/w^  s6a 1rf[|&*%0qdz&^\hPԍ{^Lw_w]JAlgyvJ골p9PRYq5/ֵZ̥0fM+Bٷw>u5y zwRpB.mɥzlWh)y,X)_|Od@-gx"*qzm뺼%c8ݣo *M +"{ᄋr WLW$.u].mxYb܄qܮ %?]u,s{"K$XM+K;Ux3i$oj7.)X-ГO1Qkٷw]1clz").z;[&uACQP#08uYYr o!~vyzēT®K;.ARu)΂@(?]u(? *UH: ^]vBW|k0/8s`xc$K7m@BfE$P~o7Ot] ]o>Վ.eՍND Q]u$?HܿuC5@L...ξp).|xP,\ץeɁE|CbIL_~Eץ7s'HYHf]u7Ň#d"٧PeȁEe:ˁ}](%Lݘoy'3u,(Me1ne DP#+OzWef(&mwRńzj;,LNץ='g(p\0iy2͑L EE)E 妟Pץf$&wִ+Š@ ,y[6qMeȹgS.o>8 Q IDAT%}.Hr?azʁ=an$)1Iץ $D1m<\C/$F!$5 r oR} ލX" M9‹W$(uu! GlnguYr oRKD' 7|K꺴U7~'Ga0 ٌ.nÝ8۹h+B3%]țߋkĒ1x )^ui欋/ 1^-oЎՏ%+E(qk4fyZ|f7DIl.ٿT^]oeN`A Y" +SGE@ބ=ȄK/ﺴUuO'M5UĦ)h_c")o뺤l @ބn?Dgg^45fq^=uiW (q\r "N(>uYɁ zl=!MMr?K[u)+",DAgIg.+[#972e߿E;Pw 6=[D0 3f}2U2~MHMy4v]ںqNf K;BnsE\ ӄQ $$Ly-_ r oBQ$P{Ăo{Cץu& a8;nLPҜ2F"KVAM`CSDWejN^뺴N|믽 ) G㼦ZF]";BR!)%|=y.y@s  Dw.3a`+q&j0@e0)'Ukŗ 2TL.Fu]nvr }L4 ҰKik7ry JjA d؇ `ß{ꐒs{p -${1pč*MUw@ץuuܳ)-0v$,5q[Wc.>2pQxbۅU踲UϿ2LdZW, Mgor3yٶ0 B-]%W1|( vHm+(v_d%eQ1?uӶsij|KxKBo&<)6 ` S)qGs cPĚ4QOU\˻.mPWm(Bqiy뒲h=;E|D7YW]uiʷۘht,%6e=u(RSKow]V@SOd"$5,H#y׼6sMO lIdu0]kxro@SEzÍsp[Kp^zݛh m7M'9B[BO?ueiʁD 9Nwo Nu8XD#xcPİTSI[]aiˁR^)3UdMFӣ6Fq.1:NJ ¤$7$$!(C3 B8_yw]Eg&jX8 byw>Lqb(BSXYr$,E,){=4 5l5@7 `~-Ԯ;q~ˁ<&>,4Mǿ6$wǚa1b)AAa*ڹWW^M`rhYEy.ÚY܊ G5!Eƭ4xPԃʅyTcN50J)Hi!puWu]ں>E,gYAQT*BMw<'ph %m5aG 6T1qEbc>u5 hk2c[cNtÎbP6f9ONJT*h%hT0yUL^t|gJ@l3 и$Gv]qYJ` Ĺ4bH< ##ҶHکx'Qܗk_mֆcF7"R;@0ti)Z 6p!])qtZE)@nײ&BDWE.yEr}멣=1o ӗ}Qy S &!AP7.[\>fazv?^($!BA܇!(m #$B>GGԦH~vy._]ŒeDA!R{u%L_~;E]%֡K@!jҾگ/!xA\>mN$x;VR (ѝrN&ΞZǷY,^lY| $ Qp0 Xj AѪ[ AwDpB~f?Q&趺tN ;|sq+ 5(ey &G1[<۹8u8AOHhv[ (5E,~;OrZȁAdq[hI%WpMٿ'#-š>XCN%-"I(d[{ E/>&a,MH; ^ l4 {Nq(8 ђh eq4~v2\O))BtA _].KBI*@1>/Y+^zp j18t> ,6TnBpU !Q]-1 a c ;|baKawx.%$z;b6B%„s߰d9P k&~cGi7:mg:FZ [د?΍8Qȯ9Z 8wGܮ+QWB9xyVQ Kk ʷ~㻰C Pkm7 Jr_6E-]>1/iB}ʗMy#rCj;z[O򻃟z`ޱ &B3y=@fwj"Gvy%ܶc{sO1SSR$.o̾UK+hs!a K(O&IgG6E;Ј9xP4qvZr oPga: )54GmFo/_C=AόIpÇZA ^N<z(˂iEI:|FU,*TH)pfAs==OJڹ&A"}URJ}QvVUCv1~^U 77ZPL!i+dnh7L} ^%fk^71 i*r $hG÷m`.ڶG1Ztup fP4~/]ǒ Ymw̘D59A"1v weiḭ/-n=5B]]wיMhue ȏዋĉ K v2%*m_iA*Zs5pɕ;4v).u*hnK!RIH M|[dд_ߛAB?|$vTz"8Α߮Sێ3qVAyţ7"6hH9bӰ0?r 1{hڥ v7%ʆy|"!hP;<ȣL1aB;Z* Mnw^} {(Iw{Yk/hh+ApIHEʲLH23GȒuFcleZm:c#˒EHIH + z5ޝ?^dVuc>0UY7"#.c7!OV<]wp{ބ=P\)g[͒2N-av.\ՖduyجDas8YnIW)!%ưQ#8UEe%"bWRA&ve)KA63kz{~,iE')SV|mńKQ6IbxLQOt/Z s1og|^j|+@҄~!oB<èDn;%ԡ[y-}Crd9eMH*2n7mjF3YTw9W4`\̾c&v!bwĔ+,xڍfK(iMBmYiX읹jqVT0HPSH3 sMv^]U~w>U?HG;=|CțFVrؚFIM*eR LZĔ 9Yʩ=t.Qs05IQHsjp&<߾!qa7 [Y*bJ)|W UQrmg#EjZ%#87QLOo} q)AG&Qۭ^%ň;ɉz!o2,}[7 <椝] 2LN> H`x OJocrIkr2齔ӻ6z?crMbc;BvG-n\!M'~\y`7vO'Q!QpzbV㴛kaF&)tb=4Y0}nKZPT۸u]qrb7Os .jޯ lTao1)Q ܋UuAvv3qً(.N}).2ŕsufvAL홈~mBDXxy \5-Q*kXQp$)p3{}3Ņ{|G~~w'JBoypSz=!o4iCa܉,$ZSKa[:-q %Sons>&cSp aha۲Ht,> '<>n.8&ݿm:щ%$pV4l$an+pE(z rwT{/~#;?kouv ƕo}+f!Yܖ1(3GDY᥵5qv95B8AH /kC/boc[ΩBwmc)*N K3G@"'ͺCț=t z={|*jI$7@f IDAT~LJ}@F\R-pLs 7~sܦ]P!Mg> _iח92AGP vf_Mo;Bb-x_ t4DDת}Av gFNs {8n.(&~qNg:G`c+1e︆kKnp){Y!N=vl]0!MC`0{+:bke%b{kg#(0QlϯMU$fWLi 畵P-W<f͔P>S!}j]!1cgIH)RXLĔqxb+-B$)h\8Gi]`QCfN^EAw,} ,=zڶ~ IHjhs6c HVE!B|KϜi;<&{ 81'B2RѦtDrC+UpxzGbߤ>~d}n,)/KBʳ\ =dqR"ň1ɟmֶ! O>Ʃ`17L[RQ!JWK={68kV}QOzL?cQn_\w=B |X=`ˣI\*Y2XcլB"aMA%)&JQT $2=i&y5CѹxvELԊQ抈+=0%E*,m!o0>=@HߞG۴fgO(RRIqd1tl4OGLp8&4%[ @;,"OËm=.b;`W2&0M[B6e^gZc7OD G)U{vQKB#2/dme$Hjv,<0rw|?Hk̑&fQ )E_q?V! sG05Zg-7dr~*& 9#-{0?1Fl:]' T>@h>@&;}qCQZG/v&LaD^|dfQ907K_!lv}A9V_mQ|p)S*&NeZa7'iŚ:Vh9ƷKd AD$Iq)[x E>.-aO|COR/^3I* 9αrk Myv#ޠ?/mٶ!o }XR'[^qٛncй9 lc!HI1s9,* @;;%z_$s!6#v_=}YZ6i͑UGbf)}۴mB@'cV0P^57QIlb:iԯy_M-hV r`m ק]#<N>Es]M:HZZaM4@P8ʗq'! g>[L!rǸ{xu. x1ƒ=!e6lIAQ b5-YzCwsk?z\N>[0$>R><ό۸mB y! s8 <o}9~o#^v)f*', סrSD-H8WJh-룒DQ++&yL!jD3ꘈEUNe}/qKg훑ֿP^# ?㱵 %:EFg7?K6p9/pZRw+5g+XQdg)K>&o=@k<`F>1*gf Ià/񑕄_!3e?宿 _FwĀX&0}^_kwwrᅦr:5`Ú| QD@"n`E yq!o[@HS2ukԍoT:E&$ԣHjDTւ6} )I"o j jM԰&<>B+X3zU2w~ z\ l+&j3y?n4vypxR& fus~vvz~AG>>P&Y7R'hhbdm Cr5Dlo\6 AVA8S({􎽸o6v#ߋNRD8V&g1pf83ĚAHJ|w>9n34ךq^yPCJhY.?dpy=tQ u1ɱ^&ĠJnDk"[3(#"#>Rwi;O;EgWcĞn 8GxC[yZ#FYzRPgv;:^FQDb|K+^/Z0}Q;} t7tHEL=eHMi[ uMH.4D@wX]QJ Yf8}[w?="N ܖ|9 o0VGD:;/ƭyqG(SH!Ӿuyrzrz 3:uQRo^ByJQEEHppx,$NJy4Ocro8p PaG?mZ/ JbJ&o{zE{1e]z;՞/zL"^2[,8@?ktHRR;`4 nԆM9& $@I98KGCĥ1OcI"Z&qT. Z4KbK&$^ݟ6waC^GIBE]HA9v<㐕( QVعCO~cuXQtr}׽t~VM@sGQOBqX"v$%ef6 $,kd4!x=bDbwE^7 .ztROhEp[A>'x/$,=WI[[Ľ!#|=LPbsED7˸R s|˝C R-ymֺ:ㄹ X1+ I5b %5YSCDBX$P+3F"W`.0w :FkEwo>@keTE RmlFR$DY >RypP0qTe .SD(/G[]Lpإo L\JJ,x |p/bY,)<*hW/s,X+︓XtqY+D41f jO;Wl+b?Ĉ@?*6=5naߋ]z3n y*txЅ"FTO-9^/bLJy }rÏ~X*J&eMiM'Sk.IF%J?qeXy!\56n6 ~&Dfp8)=Q\XDBK(%愠m0PûH}+t3qs=$N&AIVzN#A#jr~w?ofܦmzxB$ qeAg~fno#%Tnhtػ4j0),R$!HZ`Z䮿Pc2_,թTMC͠H@ 3JF6kK`~"ͭ={^ qof[Wx+݁g>THHiL cO;qrȻޗKdjJ}ӯ &Ƀx_Q[;Ƙkh1*LѾqeѺ ox;oq )* elSw۴bE ɧ#_I$śǜCSȗv:ΆB^CaOVPd;ҷ۴m֞nV=Xl ڊ HvYj-h$ r@'O\w>x6>)_0FS),<ʳe`E U a5%lwvabo?s9LЯ,묯D MK>ϻ =!|d)-))m@jJ9XBR|~enn씽!bzEIZp;>ήKSX{1|>$ "Ni]N !FSBgETnܳ~7'*Tl/4} uSm5sONcrOB§30Q^v<|CظMݔ҄l1}bK]$fF'!HX}8Fگ YM/'tiW2RYnEڵ#_=բ1k*^R$3 Q_#ONe[Jjr3wygf"- KJ5ѕ 55F:9GĮz'b^>sNs8ܽ&da\btZU=EXܬؔB Uau Dwj'\$`<48HD90LQ+~d-LVҴ jjBD#cC]2Pq`n4Ď E-ۈ/5OMG[J=GpoJĪQz̰;Oos:yIw^ȄLqWx)_"Wg{Jȱۥ^Z$I.VR8P )`1P EEhBb ! ljf.75D`v6z1E+0zeM+:}®ӄnL]T7[ 1W7#ێ,P3A$6s+(&I$ ͇ IՋ N4+]M, 2 !8Q#!);nkn"9ahQK2QL. Ò,KǤC.~ 2-HQ F90,L25Ql$M0*Rskg୷rT RW P)uL{Cp<ģcOP<"!?i.<&MUbn ^A0הE/IHDImGrB%J= g|rMZΨ[á2.R",{i2'.*@uG`s*X-" kby!,',Wl[ISj{I.BPQ?F锴K7u9ӗ^O96^©Cx"-N}y]7?C~I`+3Msq!9ݧ/>Ɂq*!/<$zi&9Ɯ%/u,CTn(# D5N &4wh&WRRx\k')ݴ'gQ.f DPusk-g98"aK)/5]bwR ňZ,&bo I5"kvtj]i:߆aG}1Q4 "kf B i{[Q^|5W\u^H6QiJCcCPu%^D11v!ԍ>n3CUi|?wm񊄼|8䳴'i1ô˄0_hcz]/ɇ}W6_]Z+k#om{5 hB;vG8ӤހŢ:>qoxU?w/3H!"%uOa@49D\z+qo!DϞ忥)\*<<3PSgY<A{/G[-l5 a&r-m^ Dw'r);p!ġq){]g@HĢ5#h se{xهZfvղ̚*X)Ai!D[Hy׌$Pf0@ɗCڻ4~r~:T87A)\wn2^ksfK^v;KX]c1Kc#hpD$')'SakӥhJ c#9%`$M]w=Q>B]7WS0D QfS I^~O~'GՄtkA , ]?q7V,!4˦ôJ9b76_iYMDNI7qД uw.+%cX $ d*qkRLOOϜwxGo6j> U:whN?qsUςO1Vw/|a&K agݤpz H̾ϰ|Sfu^cOЖɍ K\Sm8Mk9AgWS=&}((r-HN<7N=v4 N',/P:^|p,l.&Rh@jnTaI $A5@A971C1}W?z3r J:nbz]I)b42^B?p-Y К>3uuSS/ofj9DŽAoxyoRЬruM !]cs|8{pǞ빓3Wkx{a&kw, G甐)"t"Z\ԞS${'% ۄ]rsov ] _8tO_D fxҚZq$\15b D?Ci7rJ|雏m K3*[&uîwCc> mC8\U]s6nƆrZ:oEgH`sT(!g!+Uf1R?8nƊXw.ts KQzD\,TO Zgr=7&mt˸vvee`1}Yb=X:(ʡ 1R˨Bҵ)a}xP>buS&:ҲX S@+#Et6?lz1OF\Z~7q8FՋ(ORU̴z5OChs+x& Doo,!~+H݂u"3i.RnǟOtrٱ9S.vTĈ1DF".ēkS:̛Ե7lI2X:<;?gm,no zHP,|д۰ON9LscPmuɍKލLOR%VmWd!&+rSmOŤ xdf aHCU%jnxi vD@VQa&I ވ{÷yP /N>~ ]PCTilbf;>H&%&YO$Hlu, ; (Ml1M8!۳lz'%PK9L%E尐'_qPs#1GqDM-+t IDd!wą<3RkM]O0sʹH|l*{tqWNu[QEbU2Sc|S*y&llOG(_i]ؠ^A9gF܉郧Faqq["4$= %kHrr)33qA*~,O*^GmfP:7PT[dy*L{T/>G҃gybb$VAj4 udVm`Y`kA`)3}p6 _}&Cu([YҢ^P^Ů;u7oK2?wj;E916k/zqoK>7"0ҧzuBY~ ;9p;"6JpO-8'P_6eCj^c5x.$\|'z[XmcLUa&ԥ{eu[ks$ h.ʔ%G\؎vɉ'VDXTɥQ$KI$GP2#+E"ax@AC3s^+snߞG՘~{>^a%8Ŀ!S( !dQ rlp/3=ymHz|'*Ͱ@_7zb+4-gn⚢g|j-M1R܇R^a*$+>n.@{v? jGԱn!DM^zW^m%--AfX.%8I($&ùfP7+[@ZRIaatpoRBCѽh|w{X0isߡ"rL^ 9{ivpˈ&o{=1|LŠX7I\=bI뫼\3ǰAhMIq ?^$a2{ǟ,%{ Y}-Pŧ-K8C< :Iؕ%DW-1ltݎ_O~iO Rf<:{3 Ogv{Hڮ2U1Lm% `߃7'[ t>ЅX.׋Rh:M/&##S5,sK{D >*rٝ _|OEV'\l# W%WSίHvڳlJyȀkY/> X10Ur]_d[O:n@&#x,E5zE9@ֈ>!"Ta^w_oGpKMUDƦE! aۜt}:: Hı8NRg v ]>228Zyj//2^Rib#7$u1N?9sԶNe-غZx{,˞ Uû?@X2"jyLmYӜ|CGɋ#TCǸB1;ܣĐw=oZf0m_]dⰮ|'YѲzHӪOyJ꿡ίRX=dJ1)էnBsOp櫟g3Tu`"*ڒR WFIw8q]`vF qp6ȾwPt!{_9Z7̍I_n]# "^b-c_}<-'_| R"cy W\ yitr4ִ:"Igu.YeWeDSNt&L<]\#^+vJiqaƋA6 7Uܶ,'COO07DHA*՝ :Nt"t !K;}$4ӌ:wüdhs.#ֲ &"@vP*XrDSD~i?I}{W7iW'p;܌)Ư=3t Օ0&%! oTl^qy*j$Қ`pkbwk$IDAT'0* r ]Ri}pHJz~w{x`p.| ̊G#Q?0'Ok]ev{;I C&v͙4'ޤ=:&T4vn׌BRqL(n*==қ嫳̬dQU!dqaFM=#ϟ u2Z]'B;PZ7O-~K73\X8r'CyiQp E+Z,MUi=ŹwpǑ>7 JO|֮`IgO<%I!fWGLPY(!L1BcvI;+JϹk<"\\|Wi/hH>|>e~ ̻>fnwJ.Esko}?|[:Ц!b% =q#:2g^^DV0:rv|^o29q; a]xLO9u:=E;I"(H*5x*1\RIQX0bI{!,<+fj !`E};1_gm3)W27u QIو6e ~ѿWbtA6sta?v$Z9hB֋xdL]hSi ԐW2NE:,z.Ѝ(PC茽a)9auY-֮MjuE>>iDTW]B{1KSĹn7 IqLsɬ<;jyƞQ2KHk^B/Z3쿏?LԻ=/7* 9Y)D8"Ej-Z2y:@eBBEElWJO`:ދ 23OQuRhð툠dvb::>gM RbT,1 H"x[(s$k$f|.) R̆u~zo67[qE\g쎣2E6q\̊U&ڄAڴcDtn7x[_eT T PV yF)ZvM̼ͦظ(bof&|.?0ʘTӄ3Bd5\ڭbj)Ό_T'!Ҫ k?^N$hlfOo7l<'.> t$e"KWQ=_ OZ"[RJݽ^M]vepJs2\PSԅ, Bi?#|]gS3:QaIwoEg~=n칺wyn|fc(9:YQ2:X&AvΖf>-I( 9#:@&+ <3ȎvcQ :.̲ b ݐn?ץA;6,{`6|ww#_ۜy[ƂUj*\ЦE} rW5SH"dUgYI(HUi  h.O<̡v&cೌ4UEEe g!mÃqy!Tc#f: lcQ+0B'x9#y7>By}`c:/{%D_ i) cKy0y\)5VYxpo5w<+r r~pDbjSbJ_ 0ČsI %tч0t.w a}C:/Ԭ-F&S!T(DW%;L^<=~3zegX/k_;F~qb^#0ӆ)2ާѬt/s0褽7^d7H٤]Pٮbf`do6B};:mqE I3?參 3՗0f&Nqs x̟Ɯ98T:K11YYt$/ #Poqo 嶙xiYDd@O~sz5N; rfCR#T$O$-Ug7HbX(FWW%fC퓽^1˓9GafI\ne3tUMA+IkRU&{q?j y)S7FiMhLt'd<@dbY o1]Y N!83alb$T2WxM}w1l |3_ss1N2͹UbM(c$fe[Ӽ9ŷkq,*9* a4n2Y_Cr hiLpHJ 7>Aq;*i1,(HH]3\GLY^d/tԋ5VWf0 ǩd* YŴ$]Ib - w]]v҆i58)h%-qZTmp^GٟA 2g[BTTtMLDgHudB%-Jc1<nP=6nd4.5AS%9 U$ &RfmQEj?@G|_5V P*[ޤ '{ҩ7F;P!(}^ƴĔ'Yae|:ƁKDy0 Mv2Xi۱lxU 0Z*,\-e/@SEɞ!c^"-޴eMfi-P8ZG,Uk]cFNy!/nax^5 z#C+!ً!jtA-CuoRMBjQ"=A ٽ;HbP A)^Z(*0/;VP̮j[x\lքP"(T޴*ѝ:mQqT޵Y6X] G?g`|4ΰTҽA (,ks1dDX9H}a3E; ׄbbi囇#d)E}Gܑ15^3|9[~V63$u'VK`d8qczۤϠ%,_򷛷tuv[aw_E;y] E]Cx~<43"!a^wKuu -%DL{I]xֹcꭽ#sgok\5􋷳C61v.}|e \lL:Y睡&\J:w [Jmy0Ѻ\W`i[~%LE&C#G9[Lx"gEѪw;xF%SHKPyzΣHfvoBod/IgF\Dܦ)>KbǥLߊ\槔?sLa3G:z)B VW5FD=h?08x;nDxGwj1Q IVwz+>&٘)K}d,ay=6)lz6J$W ]"^s?]2px@,TFA!pQ(UU& F' a Ӑ}8,mdU8+Z]s5ʣFl6[6zӖB˿ABE)t:ugαSfFu}8L :_Qq1dx{,.S5݆{1ViHT`[>0HkvUE*AˠUl%c\8Gz-xBW;VTv3wJ6m^UZM<meP+THո3BT+T+=eShVOϝq['b\3|Q(!eYl0iW)%ϮqaA6ayn  b]Wn5=u2Ye̵# v^DSť`= `^ `ۥgPsW]3 -it6ݭPn9޹Rk`m:I.+@A [׸ߵS>@d3(Y !1007EiiϓΝ%ub*0VTE%,@]CpK,voF`ny˘fnb뎮cL'e솗Y)~.%.% u pB#>G8J*FxW8cBf+9Nwio "LinZ!/Ѣl$֊Yct=2"JGC\+H=@€;K\Z*g!t2?~]HEm ;">.&B!:?|AWi7*ě5t! lKtj\`(yLά0p;`;qM :ƛA2.7sOw: > EK^ V>{sΨ:PU]$RJvzi.mq!MS\?rWVWV.ǀbmŚ)y:%O 29_<ȹ3BZGz2'raDblfҽ[-(f}E !uh^| G!<VR*/B,w9̸`Hʙ5bvư 3nlU;^q]kW,zUyOW1cMOgE+KHUVp/w]pgЖ kmm 3ƻ٘!dL3m:7uRf@+k C}Oʄjq<;06 qm"wq;ѭvE=y"аK!  #t8z[ɓ y,n φ䄥Ǔℊ"FCD˄!ι~h?3`\)32"J]W Jʉg^95QU!h ƀ1XXYB?mmC\YY`z~`i¶X}g_|;>ʛ=u -jC/xd<&͂CLVy::SKhttp://www.indiankey.com/cfajax>http://www.indiankey.com/cfajax|blogXhttp://www.lastcraft.com/blog/index.php?p=19SeleniumVhttp://selenium.thoughtworks.com/index.html WaTiR\http://www.clabs.org/wtr/index.cgi?page=/WaTiR<http://www.getahead.ltd.uk/dwr<http://www.getahead.ltd.uk/dwr http://raibledesigns.com/page/rd?anchor=using_dwr_with_spring_andhttp://raibledesigns.com/page/rd?anchor=using_dwr_with_spring_and ;xhttp://ajax.schwarz-interactive.de/csharpsample/default.aspxxhttp://ajax.schwarz-interactive.de/csharpsample/default.aspx>Fhttp://oss.metaparadigm.com/jsonrpcFhttp://oss.metaparadigm.com/jsonrpc?Jhttp://sourceforge.net/projects/tacosJhttp://sourceforge.net/projects/tacoszXVenkmanPhttp://www.mozilla.org/projects/venkman/YXhttp://www.getahead.ltd.uk/dwr/download.htmlXhttp://www.getahead.ltd.uk/dwr/download.html\/ 0|DTimes New RomanXX, 0DArialNew RomanXX, 0" DWingdingsRomanXX, 00DMonotype SortsXX, 0@DCourier NewtsXX, 01g$ .Q  @n?" dd@  @@``   z3  a      !"#$%&'()*+,-./0123`b$e;hDnĘ7Ar^z$$$$$$b$ H)h<~5: lz gֳgֳ     A@ A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||s " 0e@        @ABC DEEFGHIJK5%LMNOPQRSTUWYZ[ \]^_ `abN E5%  N E5%  N F   5%    !"?N@ABC DEFFGHIJK5%LMNOPQRSTUWYZ[ \]^_ `ab @8$%p0N ʚ;"|8ʚ;g4pdpd\ 0Lppp@ <4!d!d$k 0X,<4dddd$k 0X, <4BdBd$l 0Xg4CdCd[ 0p@ pp~0___PPT10 >___PPT9  ?X? %O  =GSDWR: Direct Web Remoting"Jim Kriz August 15, 2005 SARK Inc.K.What is Direct Web Remoting?V DWR is AJAX and XMLHttpRequest made easy +, M0"Foundation of DWR - XMLHttpRequestAPIs available in Javascript and VBScript Can transfer XML to and from the browser Allows dynamic updates of pages without refreshing the entire page No plugins required Example: Google Suggest `< } 0L/Foundation of DWR - AJAXAJAX - Asynchronous JavaScript and XML HTML for presentation DOM and JavaScript for dynamic display and interaction XML and XMLHttpRequest for interchanging data with server 6|'N1 DWR FeaturesbSimplifies AJAX and XMLHttpRequest APIs for calling server objects  no need to learn complex XMLHttpRequest JavaScript code Handles marshalling/unmarshalling of parameters Can convert primitive types, and several collections & more complex types Developer can create custom converters Provides a framework to expose Java beans as remote objects Can access beans in a user s session, or new beans created in a variety of ways Simple setup Works with existing frameworks, does not replace them No special interfaces/classes required to be implemented or extended#PZP0PqPPEP#Z0qE  ><% \:More Technical Features:Call batching Can send many calls in a single round-trip request Supports call ordering Custom error handling Remoting hooks Get notified right before or right after a call  change state of forms, etc Remoting method choice XMLHttpRequest or IFrame Can select GET or POST for requestsJ%M$J%M$PnT%O2Possible Uses of DWR#Scrolling a map or other large image Google Maps Dynamic form validation Asynchronous population of lists/text Anywhere you want to update portions of a web page without affecting other content See DWR Examples Biggest advantage to user: Web page begins to work more like desktop application`% Q% Q 0%0 0P3Server Side ComponentswCode and framework to expose Java classes as RPC style calls using AJAX principles Single Servlet to accept calls from browser Security is handled by servlet container XML configuration file Expose individual beans, or entire packages Works with Spring Conversions for common types, including Java Beans (POJOs) - User-defined conversions allowed Debug mode for testing RPCs ))  PZ5<qE6Server Side Setup  Dwr.jarDownload dwr.jar from http://www.getahead.ltd.uk/dwr/download.html Place in WEB-INF/lib Updated frequently  currently on version 1.0 RC36C2C2* ,HY 0BrF6Server Side Setup  Web.xmlAConfigure DWR servlet or servlets dwr-invoker DWR Servlet uk.ltd.getahead.dwr.DWRServlet dwr-invoker /dwr/* 0"P P" ^        sG6Server Side Setup  Web.xmlServlet takes two optional init-param elements Config  points servlet to an alternate configuration file <init-param> <param-name>config</param-name> <param-value>WEB-INF/dwr-alt.xml</param-value> <description>What config file do we use?</description> </init-param> Debug  turns on/off the DWR test page <init-param> <param-name>debug</param-name> <param-value>true</param-value> <description>Do we startup in debug/test mode?</description> </init-param>`jPP'PPj'V  *   &3   RtH6Server Side Setup  dwr.xmlConfigures Java objects to expose as RPCs <dwr> <allow> <convert converter="bean" match="com.dynastore.bean.*"/> <create creator="spring" javascript="Customer"> <param name="beanName" value="customer"/> </create> <create creator="new" javascript= Demo > <param name= class value= com.example.Demo /> </create> </allow> </dwr>0*P>P*>%.# = Q4Client Side Components{Javascript library for making remote calls Automatically generated for exposed classes Hides XML manipulation from developer Automatically marshalls/unmarshalls data Hides browser-specific AJAX code from developer Concentrate on functionality, not browser compatibility Asynchronous calls to server components Callback mechanism to allow updates to be made once reply is received+,&)08(F+,&)08(  F$ 5-HClient Component Details  Engine.js JavaScript Engine Required for any pages using DWR Included in jsp/html page: Exposes DWREngine object Handles all cross-browser issues TNM:NM:b?   *a=DWREngine - Batching  Call batching - beginBatch and endBatch DWREngine.beginBatch(); ExposedJavaObject.aMethod(); ExposedJavaObject.anotherMethod(); DWREngine.endBatch(); Executes aMethod and anotherMethod in a single round-trip call to the server As with other calls, these are asynchronous:(ny(ny   Wc>DWREngine - Call Ordering _By default, all calls are asynchronous, so may not return in the order they were sent Can be altered to be synchronous DWREngine.setOrdered(true); ExposedJavaObject.aMethod(); ExposedJavaObject.anotherMethod(); This will wait for completion of aMethod before making the call to anotherMethod Can affect application performance and end-user experience @wZ\ZZw\bw% =e?4DWREngine  Remoting Hooks$ 4Hooks allow for  alerts before and after remote calls Useful for changing state of form buttons, etc. DWREngine.setPreHook( function() { myForm.submitButton.disabled=true; } ); DWREngine.setPostHook(function() { myForm.submitButton.disabled=false; } ); ExposedJavaObject.aMethod();,gZZgbg  g@4DWREngine  Error Handling By default, errors and warnings are hidden from the user Engine includes simple message handler  uses javascript alert() function DWREngine.setErrorHandler(DWREngine.defaultMessageHandler); DWREngine.setWarningHandler(DWREngine.defaultMessageHandler); Can define custom message handlers Write to javascript console, perhapsXZzZ#Z%Zz#%Pg 9;/ iA8DWREngine  Remoting Options$  VWrite code to gracefully  fall back if javascript is not available/enabled: DWREngine.setMethod(newmethod);  newmethod should be DWREngine.XMLHttpRequest (default) or DWREngine.IFrame Select GET or POST for sending requests DWREngine.setVerb(newverb);  newverb should be  GET or  POST (default)MZ ZMZ(ZZ.ZM M(. (   )&oDHClient Component Details  Interface6Dynamically-generated JavaScript for each exposed bean Required to use a particular exposed bean Included in jsp/html page: Exposes an object with the name of your Java object Methods match the server-side objectD|bY|bYPm "ekCDClient Component Details  Util.jsGeneral JavaScript Utilities Optional in DWR pages Included in jsp/html page: Exposes DWRUtil object TNKNKb?   lBDWRUtil - Overview Dynamic table methods  drawTable(), addRows(), alternateRowColors() List/option manipulation  addOptions() DOM element manipulation  getText(), getValue(), getValues(), setValue(), setValues() CSS utilities A default GMail-style  Page Loading message    R5Related ProjectsJSON-RPC-Java- http://oss.metaparadigm.com/jsonrpc TACOS (Tapestry) - http://sourceforge.net/projects/tacos CFAjax (ColdFusion) - http://www.indiankey.com/cfajax AJAX .NET - http://ajax.schwarz-interactive.de/csharpsample/default.aspx #  <> 02? 0Fk  0; 0S6JSON-RPC OverviewJSON  JavaScript Object Notation Data interchange format with bindings for C#, Java, Javascript, Perl, etc JSON-RPC  RPC protocol Similar to XML-RPC, but uses lightweight JSON format rather than XML XMLHttpRequest Also used by DWRt"JE"JE ,V iV7JSON-RPC AdvantagesoJSON is far more lightweight than XML Requests/responses travel faster over the wire Leverages J2EE security model More advanced marshalling/unmarshalling of complex data types & collections Concentrates on providing a standard wire protocol with bindings for many languages, not just Java/JavaScript Changing server-side language does not necessitate changing clientL&/C&/C Z9JSON-RPC Drawbacks.JSON-RPC is more complex than DWR Steeper learning curve for developers More client-side coding required of developer DWR project is more active Features and fixes are being released more frequently JSON is concentrating more on developing JavaScript APIs (catching up with DWR) No Spring integration `"T"T_<TACOS OverviewXTACOS  Tapestry Components Remote presentation components for Tapestry framework Allows partial page updates, but returns presentation object, rather than data Provides Tree, Partial page, PartialForm, and DirtyForm components Can work without JavaScript Is in early development, but looks promising666,  UW82Why We SHOULDN T Use AJAXAn interesting blog entry Several issues highlighted: Asynchronous nature of requests can easily lead to poorly functioning/annoying user interfaces Difficult to measure performance Difficult to test JavaScript, though tools are becoming available Venkman, Selenium and WaTiR:66N 0X 0 0  04,Links\DWR - http://www.getahead.ltd.uk/dwr Matt Raible s Opinion - http://raibledesigns.com/page/rd?anchor=using_dwr_with_spring_and There s a great movie showing his usage of AJAX00y0: A1 0$ 0=~]; Questions?/9?A T U X Y [^`bdfhjmnp   0` ̙33` 3` 3333f` 999MMM` f` f3` 3` 3f3>?" dU@$?Qd@3l8B " >d  n?" dd@   @@``PX     @@ `` `(p>> Z(  H  T\gֳgֳ ?"yN( \ RClick to edit Master text styles Second Level Third Level Fourth Level Fifth Level!     S  Z\gֳgֳ ?"8 \ T Click to edit Master title style! !   `]gֳgֳ ?"   \ H www.sark.com    B  NgֳgֳD?"  T]gֳgֳ ?"r@ B.(Q2g X  C "A logo"ppH  0޽h?? 3f3 (Tech Forum Slideshow  0 @ >(    Z\agֳgֳ ?" a T Click to edit Master title style! !  Ngֳgֳ ?"0 0  Tgֳgֳ?"V  Tgֳgֳ?"T  Tgֳgֳ?"  Tgֳgֳ?"[H  Tgֳgֳ?"VH  Ngֳgֳ ?"P { P  Ngֳgֳ ?"0 0  Tgֳgֳ?"  Tgֳgֳf?"H[X  C "A logo" c pH  0޽h? ? 3f3 0 `*(    0a P   a X*   0a    a Z* d  c $ ?  a  0a  0 a RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  6la _P  a X*   6a _  a Z* H  0޽h ? 3380___PPT10.F| 0 06(  r  S  aapp a   0|aa  `   a H  0޽h ? 3f3  0 & <(  <r < S a8  a r < S \ayN( a  < TgֳgֳA ?"`*` H < 0޽h ? 3f380___PPT10.rp00  0 pD0(  Dx D c $a8  a x D c $ayN( a H D 0޽h ? 3f380___PPT10.rpN$  0 @$(  @r @ S a8  a r @ S ayN( a H @ 0޽h ? 3f380___PPT10.rpN$  0 H$(  Hr H S 8   r H S yN(  H H 0޽h ? 3f380___PPT10.upp.0  0 0(  x  c $8   x  c $yN(  H  0޽h ? 3f380___PPT10.upp.$  0 P$(  Pr P S  8   r P S 4yN(  H P 0޽h ? 3f380___PPT10.vp$0  0 T0(  Tx T c $#8   x T c $#yN(  H T 0޽h ? 3f380___PPT10.vp$0  0 0(  x  c $L:g8  g x  c $K yN( g H  0޽h ? 3f380___PPT10.vp$  0 tl(     fgֳgֳ?"6@ NNN?N@x  c $dFg8  g x  c $K yN( g H  0޽h ? 3f380___PPT10.vp$  0 H@ (     fgֳgֳ?"6@ NNN?N    fgֳgֳ?"6@ NNN?NP x  c $$g8  g x  c $4K yN( g H  0޽h ? 3f380___PPT10.vp$  0 tl0(     fgֳgֳ?"6@ NNN?N@ x  c $[yN( _ x  c $_8  _ H  0޽h ? 3f380___PPT10.vp$0  0 X0(  Xx X c $b8   x X c $TyN(  H X 0޽h ? 3f380___PPT10.vp$   0 2*(    Zgֳgֳ?#" ` r  S  L8   r  S yN(  H  0޽h ? 3f380___PPT10.E  0 >6(    Zgֳgֳ?#" ` x  c $88   x  c $yN(  H  0޽h ? 3f380___PPT10.E  0 >6 (    Zgֳgֳ?#" `PP x  c $8   x  c $yN(  H  0޽h ? 3f380___PPT10.E  0 >6@(    Zgֳgֳ?#" `P x  c $P8   x  c $(yN(  H  0޽h ? 3f380___PPT10.E  0 >6`(    Zgֳgֳ?#" ` x  c $8   x  c $кyN(  H  0޽h ? 3f380___PPT10.El  0 l(    Zgֳgֳ?#" `    Zgֳgֳ?#" ``Px  c $Ba8  a x  c $BayN( a H  0޽h ? 3f380___PPT10.E  0 >6(    Zgֳgֳ?#" `0` x  c $sK 8  K  x  c $K yN( K  H  0޽h ? 3f380___PPT10.E  0 >6(    Zgֳgֳ?#" ` x  c $ QK 8  K  x  c $yN( K  H  0޽h ? 3f380___PPT10.E0  0 0(  x  c $yN(  x  c $8   H  0޽h ? 3f380___PPT10.E0   0 \0(  \x \ c $8   x \ c $yN(  H \ 0޽h ? 3f380___PPT10.E0   0  d0(  dx d c $8   x d c $xyN(  H d 0޽h ? 3f380___PPT10.E0   0 @l0(  lx l c $ 8   x l c $yN(  H l 0޽h ? 3f380___PPT10.E0  0 `|0(  |x | c $,8   x | c $yN(  H | 0޽h ? 3f380___PPT10.E0  0 0(  x  c $8   x  c $4yN(  H  0޽h ? 3f380___PPT10.E0   0 t0(  tx t c $8   x t c $yN(  H t 0޽h ? 3f380___PPT10.E}  0 $(  r  S L8   r  S $yN(  H  0޽h ? 3f3___PPT10i.E$a+D=' [= @B +  0 0(  x