ࡱ> nv 37MhPNG  IHDR`)gAMA pHYs+ IDATx=o7э|U"6@tQ t!!IuKR*I *B"qWv!;tq!+\|cO3ٷy.;;/7̙(X[>u m`0`5j"DP &@M0`5j"DP &jz`aq<};3Nx4ho^M?LGޣ`ӳgOON^}ۋiE;[wMk~r"qf$q -?}p -v(gGl|EwÐ[wfYߜOB9xrP8$?Ov/ 63\^%f~GK$W4A3&'?zo8('{Q:EQtJ~ۺE(U=ubgߍ(l~Eo~y鑄V='{/ߜ!wawQo?onh n~;}uz<|rãgGOwl~roޟ礎+wgϾzſ._GQ4wϿ|~"Tv%QN7P/_wO/>=<}uĪ_0'!>=rr_hOOtz9 dF@y nP>ſ.j|}T{^Er,)(0oN(Ih]8|zny=O[wY}pAE~!L1YF@DŽf{[w>;?'C3(N^L?L3r C?Uj̷i (ߣ(ӣ?edoh{gϓ,c4AcB㝏3DahF>_EQ8>ٻ|wy8OE?Ã;>==u4P>hw4qg޾}{=y:%=ΗtvqO?Ln:`~HC>蘐 _rKx*JuűWWӫ')673ERiçN2XhOɽC䛼|?gf) ,0:&䖤Ua"F9JՌ}(v;J$ݭ0o~qC{*B5ZaH:naR>t0$y$I_~5nmB4OyĨDj2E՚2Q]t]=; j?TE??J݁|73>?':kh/E;qzf0gGFiΏiGo iU2 ֭60Q]__*Cq_~Vyrla:~Z2d{%Lt~ Du m `tۋ=ܺu9lz^L'tƼ.+0:Ʒu@ `tFx[WmGݺu,M8o^l@7$/Ț X# nhK`]~ @UGώjJܺukZX/$]႘*0AIkC X?IG+]%" 2 e0E()Yy a`!WI ` ]4%" A[aa` hd E ` r JCD&0P6>LX-XXJ% ` *4D`Qõz3B ` cN`@ O`֛4D" h4B`6psO0 BġM/ ('s5! CQ3Z` >3@5~4D@?|9 < k,!C-qj,P? ia `V+H`J;NK V5>z`P ӗDT# h|`'+mN_AV%uwX@ua%]I_ 0LҭZ`tU$ @u!"`tRo 0(ӧƇQ/0:E%@ `tLQ4D .q8@TB&l|8J0^膁 Mcz_%@ a4  x-g0Z-?U/!"@/ `tàW @{I&Rm|88 m7!"@`&@h|g=@{ITt@Hh-a9 0Hǚ4 P(k s0ZA4D. v:Jy"$U.hƇ`B-Ei9MV$t@c4>\ C0'BJ0hFi N &Z#+0a T@0`m&k^ژ:%jh :h|  =0j%}`-$qJMF`4>lu*5 q"h|2@K`l@`lkh]__aa[4Ng  5`5j"DP &@M0`,/㓗'?zxyU3@'=4'mv~n?>çϿ|vtPӭ[M@oݺU4A`yo(R8㯿yMX޷o{M |w-?y5`,o4?C3&'; `,/t¡/Fh ӳgQmlg }?F''o/QEۋxwƻv3<~EQ9xr0o qWgϦh^f)6F; 8gpͤv~CܻqEQt"̷q>=U%;*dI6^O_&=; ԣgGɇˤ~#l6;zv>NO%7z7韄QeƓm/||g|9̌!|f8ѳtغ0MfE* (7[6[:Fu~}}vU]-%df>?stf$wf0ƒ'Y@=;ںC7dl:~qd4Z('t5L%T$Ww}} ą0l_Mȓ"u('8%0Ljzuw+ Ӡ;d{]N.nV!a mXL":~qUuWӫ$Y7ndZa&,lYM[0oIWIh1`*v,)†y2|'#IkCʄq̤|9}{9fQ2q9Fwf*4(̜'aÐ3ck&S3v0ؤ/!Q'i`ߺuwOE| '?4v3]>GQ(Oߦ'W3h'/OB!>=(y0 s1{9[6UFX3?H8y?)#HL鸲ʶK:>=LکF?cd/4>LO}zl7n&OcN^q~'{;HqE;}?'ۣ_*I_υ.CɋW.:3I{We1GQt׷ӟO?L|?J'{._'0M i"c罪+Y3`6{%?'-(8xca6|ƟY,?ph- {]sQÏ~WosGQtkN_Wsʿ:9Pn>*V( ga^K%E0('ٓ"4,Ὥ{?Ni~a|ŷo5*,{[nݺuo=1 ZdEQ4y?FN?|Sh{d騹&Knbr Q(^d߼!C~^z8CMHhN-DB$tϊќr?`~ADn|ksǡe*&g;VAaUOBͿ-;zv_~d~@v83]ytda t:I9U(~??LTZX $|Hh$.'/NBEQhƇvBC`Oo Ӡǥ=;yy^3'OwwXnse.Ɠ3VVdITB4AhPBaw|go~^X8.lÏ?Dӣ?%}xѳ`fnPӕaœ=a0ӟ ?/ld"%S 76&L;}}:3.+4 eLEGLUiJ询dA\}${F蓗'}&6 ܻQ+9>5R}]`!@qt\*QBǙBs aLHHD[w2OdgJJi!ŕ?/żyB8Y}Jy,hzȤ'L?ɨ}m>o3!N~dt7 jυz?z.3ç;]d}%MC硍b2קvHVu?xVHÌaW>LSoҟO?L~Hᐂf?8~5n?=EqaX¥ t-Y-ζж jǎudӫM,1 n6%/=~q|}uO'B$HR%teQ>V),]4)|ц yp% #8lr,QYaںU fُ{60- o~2Q>ӓ'Gώ_7$[>癥= ogl6+"w}Y*4ha:~zn8%7u~ㆋm}/Y<+'˻qZ֭%=ۋWӪֽ'z2,0_\z:}Q'%j^'/Ohl@ `Cy7T=:yyr{t|Ql@0 o˓ߎ$it0tw>meɋ8vxYmU3@3`uV=}ۋO‹.^=;*zF76y?]g;yyoFуky@x@M I@M0`5j"ċ+0 [\`DU>$ mUsI b8dz0a )pUIgrZ!+hU8̼>\8  C*+?XI\\$4A蛊pyLĪ.7[qG]P*I +?*T.tCKo<؆py\ 'V1K,}E]`A|B@; `@+ 3we†j*,!4iȹ+uKԝJ"@0߭ *,1 2_+` iTL6K.cP<1C sVCX /F `:idXbNhUaih5PJ+7t=|iE'wU1{?2X4혐V$ SjMH%I `9Pܵ*S <'0VKPFO/ES-p# (&w-MelR<_LS(kTU!JH!zW02kK>E$C&(u!dȞ8`(MPh ,R,I  zN髺 g-0'%MS^TXcZQv9$A(#؊V h(}"A]Qan.tU3U 9E6 ( : H_c`MĀn)4+Ua< tn㤯5Ā6䮖PJ^/,MUX=NEC,ÞV'X%0hbA(o*f(1rW;I_%cǫ$4B]\93&-'}F+gWls5il-][' d `\%l`iNz `6.ҝB쥭": VzQʵ * `$WN%-NN>`1rW)ŶUam& `PW{ma,nrPN2rW(JU  O.=#z:;vK $Αs-7<..r(W!Hoe۴T]_` 5J ]"C 1n.؆8z@3k=EUa!A׿>`a ;>7[$w y2X$g$9B7 `t܅8z$EŠ<F]v<*nݺuEWϿ|ô{[ x q|Is~2ݸ䫋O(zpFN^|$nlW Ʃ8''MPI[&'܎h6]__=;ں53.*9;mjpi7,U+`s |78{}?zq8>~q<(:xrp<98~q*&m-gﰪ( WPB6Mλ|w{_vR8oq/e)j4=;s>;a-g6u~v+(\n-C]:[YTԒ+Y;k23Ws|%+`pN-;RJ:uV\c?QEu\%_˰9 v޷o^M?LGޣL8O^?|>y?x{|azl{g;30Gq>8?̄(>-&L4݅˓ۣcٞųۣI}u#V?{___áWU*4uw+9FQ+)7ٍqϬrriGJ瓪W8w3jzuw+99Ϝ 7s\(+ :lvie> =;:sgf„K*\?׃PM󅁓g+D{-Yen. ɢ2ßW$t 6*߅luf*:lP?OO0K/c>~qVTu+,լa6R|^W3 pV2[#V?{IGI|uum_w$>en.T7)7ٍgV9W4R yQEM'=;Jj\F2t>arr<_,95Sy2|(1_Mv?\2tRLJ8/39}uFf&Cy1K~2$u;aCl6 ol?k,ܺ+*ߖTۨ|uֵ%l'>y ==-E^na'2NUyMUЖά%o<׹dwI8| +L}u㘻J&!eVHn\=ʥZ(Tx,|o8f .Xr>*9E?ONaaP,N~v%ݭ̷᫤F?&#I*O᤿h7, [r5J?#\cB:YU2@^vQB]YnVeCg6b<=´"/:|f"e* _%?3|u4=t9?p7 {WQ5_NvGn۪QJJɅkzU!\QTomT}*:I-^N.w$0dȋ9=s: /,|uH&Wl6K~yХpZ7mwȢ~U}\Qx̨-*)tmE}3pKC//VtCu?Qw?Rxw/3.w߽.ݠ(W/J$E?!$n|aǙޓBGI(\K-?Ã]3.??LzlWI+~!*y)֩Evdo{g__U9f-gɻ[W \1{%/ʫ-*)A&[|^g.zritPd጖ot5 [3$;xr03# gS?w<3-ғHZr? sY03? ͥ_bqmZIۆvS,ߕ_TF B%['3UvE7t>PyPqsޣ/_ F<ݿh~Uzy/J #_L?LO^DQ$){-nGQ4ee-W}- l٢egW~#U_EǜjݸEPW\7WQbvb$HGtV?{;j=׿_8y?7wo,p*Uh u WwEZ0Gz{{p0הI4d/&=çal?l%Q]hInu/a;[J' )KoM3V4dR U`Iwq'gp dᬚ_uwÏ&gГl^o[q"izf8>|zx?r[8O^>= ǟz ۣɐϿ|~qX6XhU܅*nufQ ]8dQ''{'Wesq$>ouc0*^^msE;3MyMf<?zÏ?$O˄3İu; -;:IUBWi{&޳g/gmQH 7YM_g&KW \ҐӥjT<8)|bEvߜWn<{9h4eF>d]{p =۞9?s~ ?t'w/'8Ltøɨ(Nf)03?wDqc_5J6 o`-٢z^Ɂ["/1WNS: TW%+$IU=2ojѳ0{wz8V kqr w4mmQH 7Yɕ왋\2cͥ2O*I__=$1egL1NwUpo@ 2 "[w WZZ($WA;amTeq\o7[hCQv7Uy1ԍfp䫒25lѨӓ';Wn*H[:` J׵k:ۈ͹x{QPE.PT|Gw<F_eNFlHͬwՃK-T$ueyJxO$66gF+rBEJ޽؃fE˓[.:Oۈ$o=@}BuJ6eWwr~oON^|'/NJ~~}Flt<>;{}YyC;R Trh: x]t^v"Ok|- KA!}ݺuK'tB_/P=;Gh4\~?hQw>}%_TK-T=`UƇ=`u-O B4A¥mʗ (IS])AO B4A {T,\1N9uOشcP @,zS_JgTQpIgȅm8(aW2U^jH,z.mwㅄXt+/wn9լYaů 6pN j*.PXqk=h;"B0:#N[Wff;+w&t5& ʹThE(:wF۔XgťK=Jj8K7qTX/πU2XiUF&tPyKZ6tK mW:nTVy$}f7ޯ1b`}s  UU%߆TvuB"3M5Z`tUyyBk: YzXQeWT WXo4rK<ڠ=U^V]SQK2X5~K5谅8$kו蕶RN'ʮja^QW kE^KcE]J[WԠsK n[֫Y=h8f R *% _?P-dy3kcHcC(!^AJ2 S3V)[H UX1kVa%c¥ !)cViFA_ae/4Ea.YnYFߨAr0:o% mU\ӍI=MYNۨÒ"[oIbѫ =UW9-k`4'^Ca!}uEXmfWbPPXF$1BwƊ:+l-*4k(B6T%DG4:Qǚ 'i `}`(*- ;4Vӆ rDd0($-F ).lP 䱍t%REʖ O'Ǽ'rD^4:ZXq6Z~p"] =QC1CNċh'6ʱSoE4 !m;1,!-dVP? !u#DkC*ԛҡƊ7n+9͉td00cӏ姕PFZ.g[_XF=U,!A$'5#` kʮ*zXm!g>m&F4Rh$^kѭʮ*z\S IDAT`c: `N 8h Q[qNb*yk:ѫ d0L?,Cl:).]U !cMsDt ` `Jp̛zb-!z] كia"SR\HeW#쟅cK2C 7,@HjIl 5Vlɹ%QN7+<rQI-V{~Ӵo#%55.n Ds-!pcnkOQ([}+Zb{3'i- JDz W]'-z{Š Є5p2$C͖Tvt60; FJTv Z衚KÄaÖ6e"~z0$!-04Xf"觍^\hSE **iXCSŢd0A6Tthq1Le -w'^A2= Ok/:S\hmSŊ$6XqnZ`tF?Pq=LekVgXP%ibѡB1Le5b<:lh6G0zkCK uf0 35Up\4e FG `֢E60=ZxmTo:CEg%ۇ0zzŅ^]TvfCHbgZ~.d0:Gn|sW +^]Tv-amByۋN>Wbqa.jvV\cEX#|J<7^`TvKIbs=%`tF ]^ .1_`yZ^K0]Ja :ĺXT\sZ"~՛*4- !ѭֳC]hTq F/z)@N$U}:Q3菞=UK[ H6u XϹT:>(]p)d0Hka ʉʹ4Rxx͑h!na'=kyK $ccKrj1`tBvfMt!A^1`'fZy`F,FJ?~ByIb--YQSYZkFH3V %M?P:X矌+ђq2-!vl(QC kUio-h[ːǸQJK:0vV(Y*6ZWjĖ,ԍ4Vd `ߤC_A&A}p#݆eWX1?<8}6  [׉{X#DCABCZ.DEZ͙D&`4ŅUv`QŰ#J=/yxlPd0!ь_ȳh?ݭ*'r'*n!*ze `ԭŅTvpUaΥ""5Ok }*zhQCc>qMN*ʹj;5{+OP9uFcZU\ri~zk֪siB+'uk"؈Vp!.9%g%4GNcqAԪ qɁɊ'V*!-GX˹ iђ₫*\r`id$֒siEZrW9jCqbeB.9O/IUsy=lƒ/.,dעc&Uai0ѡ΍Xd06Aca VyޝBE2Tĉ{XZNX;4؝Bu2Thp^m0w-IlPkƵyX-Bf1Mfh* \njh1 Z1Lf*sV:J=ZXQ#Mk:]k!jW#F)&1jr̵"U *K)؜uEAf~51@kލ3]| ["J,tiz+:.f\z(]5Kc-[U8f;<1 6W9&!5c^qA 釣qbK\􊄇~oc2 `^fo2V`,d Kb\H=[Ɗ2ؐ `5Y4zYQj *6ZU8!r[ʚK۸\?ŬVØ蕙pEy34 1Wa6%/FYmjDZ#ٜu<lig(l FT{Wt{)" >A0 MSѫ)9,7}%-F߻ 3ܺuom=Oyً8>Ӌg?tնֆ%Z8KÏNN?Lß}*_H Xq.EE;5*[Z0uN7WӫbZVT]]48>|z8MO>=|zx(\fw}[Ӄ'/7={ iOA*dNhmk1g~G3m.y_&[ }%ֲgv`k:ydo7:eEhET-ԹH'fD#WPb-{f s j:,iy{ }u*M:ڰD'fwQ%ky0~EaZ.鄣jhzZ0%_]{Ys M )-oş%_A]4[5]~?O8y?x{13~>h{g;%·N^NEǙIq|43dplaZ_(w;۳xv{t{4e7?䷅RqoVޏ81G;0mѯB$l(n$0h4{"Q-\W勼÷Gώ 'zlv(i.lWտJE~~_،Quw+3a$I{ÏlVr'.?7vq/1y,9͆fr$'yJY2W‰GX}hg|Z-1W)l;vX]4 ;X֍U6B{Zax|g\2'kUTe\?YW=2äy/Dd?%؎_o O&>O>O!Y.aqrr*һHIf?odW!Jy1_MZpnl/tk,|>`l jWjI>}Ir 00HzeOnO;-qb!K_#ZhE|NzãgGoΓ3p懫fY\2D ӧᚘg漝 QE^zLF;JyU~^~uBL*YE c'#޵fYdoܽc n܍ ^eVi0]Tэ#:xrB0>kSfKtJl‘@9?xr2|{.ffn]\Ǔ#'?WaY s ,NXuf"/7t3g{g;%fYMϰbn~nc*MTW>'(JGc#_q:~O8RaUuc(l š"F75ٱ+p<-\ Y]o%4SKkl0#s {kCՑn6iﴐW)Rk}7ɧ 1FP|jmۓ%oeMewV5 Svv, ,цo\(Lms)o}}𫇧?W4mCw!r*`F'1=oB~zȺVUfUZ?^Y_YG{{O|y)W(71JfYBʖs^cI9o§V_HW_bkGG˳Ws勬t).u_u{n#wUo˳,,˾yM*?o~wd߾uU3o\;TO~xr|x üu7_T†|k:_sh5*+#!G|usit\9,wG=7_RbiR1م'(ݯ:X{iyU!n~n9 +h-Uaq叨#~?<%}oܓY0@q\K#UpM`eV;+JϪFǪn'))WndX: ;``7JcajQ_k {U)-0_y-+7_SN[MTVyѬR9}׍m69s|5,J3OӼ v0<ӫl/\Ӻ"Z{ݿ?ޏ'*_)'qysF*_Y\5%QUA\b;ik +aX6X@'`^<eM63aDdkd}j qQlޣy"1;=|H1z<ٖ?dtF7?)鿞o SY5 S*=/)lsojCH35 fb@>r .\:/?l:B6nsqK~mЏ|iXH7%F'r%0 d~ݹЉo֬jr IKW|c~aal8|%lUl?q t$ _=o ` p<ӟNqBǝd 5 ]aoߺ𫇅t~0"ֵ7;w7R$,vuw!V{۹iEf]nO~x;Ij,U{Nj{dxTH Q.8ˆDbpD Ô_aU]ᅨUy_H} }}w ~-[nhǥ; _²ܰBb]қ[N׵}sV͟7;qqqPnEͪ6u."[]ot +aX6XǪY7/б~goώ7TFwVk>Yzmѹ* IDAT'ϟ={Wjc'T~s~n=I*d3 ?V-0z) +r~U6~?&)CQ9GSͪtR1^"R'Mvu)"Ҽڳ&-+iH??y}rd^ba_6]Su.~QqQz>ʗ< P͟7;5M:GUϞ_uvNV.Fm@G&)ċ< W&J_K`fɳY&ug1B'vefU}Zk&o)IC`̩aⓂ)aq *wQ*mnm">ϗvݾѮ ҳEo'ȁj>n݂Jf aE3UݔW_ZV~Rf?XKeӤ'rzYy-x~QrUB-_YV&&pw5>V6o!=FYCMp'Ogݳ7iLWyy9% v=9if;m" ~};~_xVwjࢷ&s#=纸85dbFa7VxIš;Q%}!OzM|y[L:DNb_4kA]4Mּ5rw޼@j1jVͺEa?ͻ7Gw$%a{ԬZFӿ+2*(\_rC zl߼k-NSMLYq:5`Y\\\䯉}0Y/Lf=x"}xL dU㗷l8r2*4Yҏ,f0˫Yuh_gج|^ ci b ãGGZv°Th/Z59fXv՚Ua٩ج':kk~핤gILbsLY+`c0_RƔY4 >|sFVt`Ѣ=wdb+&>Q{x&`5#^Ucdf6^wrᒨج/,;}s|0le3NvI+E %^tpt/ߚUJ/0LLcz XI*6+7;wbahۋy\!| O+af bwVeP/!,@G4RF$tҬfS^ݛ/0?br8ц!KX0h` i? 4U?Q5OXR0i6gJZ, B0j6')K06^ Bt AhjdNj́/ ` 6ƚY,#sv'RKډ@h>aᗪepD*[z*L׸k֐ |K vt`Kk֜wHy\Ҝ^ -_,6A5S]>\гra j6<Qdt2`ц3s kNty cvi`x 4VL͋^LW,Pp% 0;X,ֈ!ц#D`u,hÑ GlHGva b'xĥWȣ J0A]eCD`)-hÑ G$XU dGd8b aF3;b f"T[۶Zц#XzE z`uZ+9p$6pV~H#fkVC> GZkr3=`[ц#p59L֐0JpjX>4H`0ve0ڰ: 3+ 'W> ܆[W Dm8C+9q5@FHMCƸ6T],u*B g#.+aX+ d;/FWObUc( miX:##&M4!ˮ*3NeeTG`0'B/VOp*@܆<_МG0k&nJTb=Є fF@= )/2 :;tUʝ~yMU0=`K`0tu:|+[/)c#ɢ%2qa>9=ڋl "[hW766^|qi(kyGc#ɢ%2,7c A\hgoϞ$˲[w:-T[Ơ+OI-֏o~̲歛c` -1e-{ԱdIa~eY[k4d㲩c#ɢ%2eaL\5!=` -4yjvZ7`v~`08:<ֺVX65I砳}o{Fa;`naoNRۼA歛H{{LJǕ랾9ͲlfпֺVYy:v: ,*F!m5^S^dlnmya[llOTd[S.Ty;Y `3:,j~Ӥ:}-'ud-ﱜaJ_3#*7Rɖqrrˆ?77iyqtt:Jk˧ŧ_'NiIaB_fFr6)m.tdM)b>̔X;֬rQnAUtrqqqq;OMhonmvjj>ݟ?{޾юv@jğAK)RJh[c')ڔa-`}[ϟ=oZu~=Z !DĒ-GFaƒ6VVdjDV)ObTy巶q}#Q^f5cs$.>]*|X)'#(Gkӭp|NgͭͣWGG1^QJy}43FX4Nf*CU[nN'Uk8략Z;~={LJgݳ ^hSw}o;iFLO~1pḢG1%f~??zuFF'"h}c#[!U Db kDaCT/$ZމHki#wפ-rA,u (Œ|>}2-ȟ?{S`h/FFM)doӤFQȨB5YEO^l>랕/Iʙn 9w`\UrSvUn=lB/1G(?'@5iWI%$],vM}+0z6Xұ`7fl<29X? {L0_91){cccMJ0~[AE~cX԰,e\3 I*t_׬j~5h$+SnsЉobLJ;w66O:2N%Ư==x*I"6;><<VE6FRӜxi+n}ov"R}v#,,]+mS[Un@JNԸ=/eYET]jE3? ~x[>R]nG9˲|b+@|:s4{(x0o\(C5+z;HsSgFw>So}ޣ{Ó8xwnʐGMU=ձ+1,,/"t^̲QDsQG>; "h_+{:k:X U_h")ԟ=Sٔ1]Ma\3#F*ǓVMp՟#*Ê#58mW+^O3xP^DɋV]dHI_Hq$K+C5 )|&-CBa҅rȚаb _ɴbTl_(5W45ywgܰ IWһX5 H} c*aRJ ~.l_T&'ErVUn #UEi2_\aº9xaIh̥Hez WjB[h^Z׮0WWG{ S7,Hvj2yYǖ"/UMd_{>f(T% SIZlWM gڸ}kG6坖12ȭMsͬdتqO+2؂=iꅼ&ȍ=4lyyUT^ 饎dʣbXΰglT?Qz \>s0/}~e1rLeV;*:;i]7_6453Ur& [56`Tͫh2J^hȫyS(^@oF&&B/ kŦ+ ,Wsd{(t}N9vcIGԤb3yc sSEca5*9>Kr34}dã9K0 .}w~U9gOy=l/}]!ȄIj~5ȟ|D:A zikf| }9_ɖVlAoJŪGS~|3sxM}`0xÓMOgw.Y=IOqPesЉdkkoNw\k'z)t͏qϟ=w \e;,>f:iR^8 S|~[ϴ#c3& t:;w]y^#*,OoF(".1|% =Ɔ%۹[nh ̘L4_6q阠GtkfbTg[`\juE2zzz}oѫ Vi#C {F'ON^=+1V1I`\aoL/ fͦsH[hh!dBvb"Y,ZT,1>-~Gi2:y}4{ϜɰIS+M>=zut[=|u"y#Y)WȔrW+R;dN鯙-oufUӭ9t vVmkEX4 MhUCiRC3f&~z=,y)1c0jZrl/WV!e.".+il2(mR^ZoiMvW_9fix=Fav.C)0+G/*5,aQǕK/?cͭBTM>L>53X·UM|19trqqqq=>:layԲT5{ðɲ-sO<^)+$-E0~SS2hIQ g3O^}" iaM8m91S5[dWcAeYe4Vc ċ(rYvAėl˝9=zu3FN{}s^yXR}Vmjbκ)3C+X3YSf`tZVO1C},iU<{$1B|fe) oI}JOeWBWsuۯ< -`p}A}njْ3T^񇝃6_ߒ>ߣy5`I]=ǴsyEY̐l8~xӵe0le3v9WteYvV:ݺ۟t3Fݺ{tNLt <LCO'?<ɲlsks5N?{{CO۷nonmF 9<|jnߺm&LVX400$D0'09̉ `N`s"D IDATjIENDB`nvQwt,o\A^PNG  IHDR`)gAMA pHYs+ IDATxݿov8~p2p[TC(@v |C whtI:\ouH176S;$[{ l Xn u<(J(@Q(6EדL˭⏮k֭|, `A` "XD 0, `A` "X`4MtgR cx5|n7_ϸyR{ ~-\>XUi^OCG~li>ydt  aFF p~z/rTgoϖ}:S 9ý=9S4X'\>wǯ_d'ϞԖoqkDUov_^^E8b"_Jft:/*u:LO btxv:(?rϤű"@bD]) 'oN~|c$~=n'GG?н_qivt?Viztp_W|~ߝy@ʚ[i>Ow5P[ٟ_ .!^/{\dGF֩q ޞU3jәˡ ]{rt:hbii"dx5 ֋o_;?=m|$4M~^^CQ=ysholZ 4tgӝU-ΌΊgb׋o_t۳RKTOXUˎ`4BXh/t\ .bXٓ`#Iq^߯y{gdz:'cAbN'w١ r0c>F^n\ [𓳷gNan'ů?wtCu9taCr0e:+~qlgH6+F[{Χ;h87aw8͆?c4v4oh/:tNvi>0Y>^%bн S_b64^ ~:Ni7_ w^5jiVkC qTWϾ*7߇=84j@s17z(ۇVj=Z W;~ `x[#N/ Mb/V=`ك~wwQ_* 珕.1eTC5 ؍ix:I,MؿUǯ<{RGk`hXV}>ۻۗ=zƶwGQq\xӻۋGIɳ'Wwt+2|bpbpݦd)yIX90Eqx۳:_c;6FT{&xqN=_ovW?{{V{VX!"Vi6.6r.4m wՋëyػۻw^e߾Hrx9= =3qpzIL{V­[Këbf,qǏ/\6 6L~[2dq A iM (MmRux7L^( C ,0XsGGz?K5>},}ܜ?a['XWO|zC%_exurpdӝW{tj$9`fy$;}$?\/X0ğln?/MF8ys2vt{{B/e,eF 0+@`Y~dѭEAW+1EB" fBLUsF*4/b֙KWB=`*%r)a`;*"B(hxxNF1K5q0q{2G 2{UgWv> McUg󭯧 &~֒ &­:;jYVq7M n4sUгa{GXW0k1W-j>,) kAP#1 a6\`KUu#H06r#:ZFðCk ,-U Uhzqw,, xqVkIiq-[+ksr ~&`^Y êO`uJbV( 6$YzVq-!V.63?1l"c hՍ Z:ǀ|kqqZ1`a`,D\ЫaqEBid}t%Fq fZaXs 9؄p+w˪HGЀ &6*⊄^7að@0$͌"M[0,2RG@ qׂY`Jĕ%Z "c`KUJ+LTtlWqW;mB`C֙W˭qTu%X+"Vfa1X'0&jL赢69 tJ׌]A#h5׼Q` V ]D\s'Zo°qTv,놈601hnk3V1X"q- aشt Oĵ`.ra``s Za32Rn `j­6zQ9B̋ `2Wh@6_:Ǡ1@ W 7DLE$"vz1G°%`q7DF*B ""b1as D\HYc)t`q4% ["clD\ w*°`f^a"cq+' k!Ak X-°6+J,kCXi°9  %4B/ֆ9V`7Kĵ^%a60`D\N3"qu h0+Ћ" [`)`t[ X°sG0lƸQ0 ODB/(+%D\LA,cNHEB/O!,A0".wA3F$nc$$bvB/0l3 ƨ 5!b^0_° '#KJ܉F Hc`UQB/Xse $qB/X aE:6 B" aT9`4".Bbbu['0X%Q`l h a r`0O".ZEHFc:V f"⢝^t ⒃X$as=`PEBʈDN0\0(`bhړ͹9=\/rZ@$ k&d\MNg. f$*9V 4 9#bp#arH 0, `A` "XD 0,Oa u#Mպ5u4`'B-0YGGt?boROѲυ^ _|~>Z$$ /޾}_ݻu֋o_,>߿{~p~z~{Vizb~?;؆ޗ!?Z#!lOwr'c sF/^&I2eI;)dGtܻoy'UEB4/}˧'[9^ ;O nt}}{ ?:rg{{ꟽ=[x_:h4ZLOww1X0gi}wdç_>M$u+pcm w폾zw{>nʉ' `is~нZNաVE8X[?1|Xfh'mwv"}rϤ8VBX?O| _oW?:f%ىF1n+3i^ %cmŐf%JtZd%Y!w&{ `9 w %c=e@\~)|XVa|no%u0 ` J XO*%TlD rq%$9 byUqJmx_tO=G `ͤi/+WeY4Mٓ?{UxbҸë|Yn?ys4d:ck~kx5+=JOˆ x_Mǽ2p~i7_Wԣ$t>Tqoy$=d,Aim͉ SZ,tI(:yst4n$I}g_V5܌8g~v d_g}EnX1*^~5gtO;}b^:~}\ag~1( Ŕv}}|4_ .b={{Vz$T}x¥ qiŸ?YXD~Eٓ6'6(4g+XxwٟFͦ h4wY6 7dkVXzDzO4J[Ȗ{rgs:w\ u]N󡇭?|ux,VQ@LK[eSfVRU9 .D8P;ޣs!_1mgOr Y׶wMճg1=;{{?.6'6(4f,XěFc?=K6Jc\m4m:}4eA̐ۻ۹?fPnxm|6 WGvՎ"Y˸'C,KLᾄ-41CeٓhQ v,YKke(Ucc}:3`]+&ǡQb: )-<.b 6< 4NS9Ri=X>^ yb$y, zw{b^.c6ȉ ))DI(9i$/t2JNyV[O%u,$YO;\5􆏋&ØيuC|Zs.Њ'0Bzibך}rx)S/n{Wb{6Righ4*|Q11&6N@3{f,˒m-Yʍͦ}eQl=5 d+^O%u,$!(%1.^gsȈUԹVI %8?=0Ut:Q;ʭs~z>^|bx5,mS\LIP|/&I[Ax)S$[%2M0Tt$I?Siwl_ttp^7.wC[ wtWý/˚%I l_T9qBדb˿ÇQP7 U IDATiS(}Y!ԲD_"XV,}rxqs~a= \|NَeJ_ڻ[A%.3itq١Eգ']YR/p]ku8cLULDGտsIBӽt:ŝEAsG$u,$YsUa;?e܋sa\/_mn;]Rz_T&#FƊgJkO*0Kq͊u_qu8{q=e1rŦKkӹ'q/Yx>נJ AdѾ}$N'JͯSYJiiy_e{K_1x?C>NAv?+}} b|~`)4#*^oNQI_=qW#Q4=:8 KgT=JGgz R/2C?${WC4ʉ3TKi(CGSŖ\Plt%c8@|\ҁkYO X0Պ*DhI|G Aޣ\˶$ܳݝU3ݿZ?q!d `줬+OO|OÌ$I>PpCE6Kl=ysR&$=:9qB#bb!?6տsIB1d *ΧzZS[ Yϸ 6 ߗ|t~K| ?9ٷO>Vź4< )g\%T>ys+ѢYR//EUO|˧O=}%r⌅F0U1ZtP% f̸e{[7Z8IYͫɎ77'.C%c\7nCjk`n욹㶉˾掛ũՓ :){f'衵FQvlao[N=6'^h; YM={*m՟_# ǭTR. Q&>ǷV.*>qvU}n4Vj:s^L$ #CUpg{i?!% NNJ#_eqgI@V9~}|1߻V,S$s;DXR*}tpϳb)qdLwv ꩤe$,<ֈ3Qr׸ A,MƕPɠaHlXX($۸;mon6}͑Ml<|,,L_] f;Y$>gRv0>g[.Ɲ>>hzqfg)4i)(JgsLBloi! cwsSI>I\:Nll2vx Sp]AKlJ~kf7If'Ϟ};m'IR,qXhXnh\}RNQ\!f\K n\E1*7.[Q5K8y8Lg)4i)(}SٓuA=Աdͅ1[I*Jlh`\{WnlYWۄᠹ][xл۫ygcUW/pqmѹU4>.6qr,F0m15Cu{:$vTU(WUdU[nsiXwWZ0r{w*Rfw;q۽г|+\ݝg.4*/vt!1ho,r\uo(,uwOϟ~4q<~Nl\h )bx5AR# M{OgLBGG߫XI譪8I_E[Oݺ` ?(olK` º:ϣibfz&(y.yOKk{*^d*L-vM>.@t_fW;ȍK8f`IO${W=ɳ'1KqƐisa`9:8 }Yl}2qYp}ўkF0>\_O=$I$o_-D3tbGV$I: k<}L'č4=ys$}=` oĊ {w{ߗxVt߾2Mëaw1Ow>y7'!ﱈ}-y3B9 Ao?z[n~p~z7_>|uXX"nӝlXn >\1 ^ _e\1Ie]ݹЋn߾RQ{7+M0g0{ۻ}AMqivtk+ aXK9XlƥaIJ`c6jaU 5#c=Չnݺ]JYUg f./ 6*J*UrpnݺUJML5:B0VޭUlȆd!K80XE0VXE:qZXk`XICҟWZ(Jò1a~`T41qjQḎyXcUMl`Uz)76&ԊHv לUXgjkb!-T򜴸h֠**~EgJ{uҶ0 Z{X qCOXYmm}eYHKͥ8L*e1֙h#(Ph7q`qzXkƽ5N"03&bi6L Adn7@DfD8+'L7oԤG &e1^{{07K7= I7kw>k "7-Vea0w ipA97@s$-vTb0n % !-F M&1' t1w731&kI<-MȸH |wC@0Xb;lR"gH`y7z eQmD_:Vңv)H0ʵԶghVQKͲrSkXГeҪI&>צ8n9 h =`[oӶN9oYoZznsd"+Yz3B;#Cک kU "!mFXTeE̝ø|m\"MFX+}[js:iUF0֕!gBm֬U9O剤U1XTmmǴEXaNeiZW"[K ۂZ޿rJhg[ ":[J;[J#[gz+M֣Bլ6\YK-Oɫ U~`.֩Erڒ٬[n*')kᇭ:[=`+iUǪ0  Xn01{{kN^A>մ=~!kr)nY67s҉ab@$@ Vz-VZfͬA2X'#]T59`f֠ZtVW.?Db6= U!kiMk=n $%0V!VqS}ݳG5UK`kj%znfXy Xلц\?iM2XѱY%*zf3ʮ֯'M̂%26dWڴب?`d풴H -ӆkzcl^\2 `rlD 3a |X<=`7`:Jm^~``₨ȳֵVll]^Lt 'YZ&ش,ـ0`.`7Hm]M6uQ6nBW0#pklԱ!X59kΓjt>Wcm6*m AD&ic75ټ >جԻulZk>U!kN][&8H]ozf&oU`SSNKN͌͜(%ЫMn~էվ66|R^8բmf^PA = M` Ic\Sv_nbB"  I8iN[inDbȣ=MV~h[nUTjǚ*"XpY?soJ,`Byj=mxQQ6&A4dD_32mk[W,1`/oXWz͝ZHjL 6Y7>5|²#*hZ9`^/z0ղp:/r0, `A` "X4M} PB$kcC3{jS`V_>vGG>%4 eu_teȢ /}vf{=~O=ܓa*i^O16ٸ)Id .]iC$e3B~ч5؃0G?^?~Eٝ9yy2I/X'͐S2t']1Jdd,{rV>Zfv~z/r1eww1X鬒pd92[g>Χ;ýG{=EFY +L-sX;τaKA|t:Twތf9`;/^~ɓgOx&<|?`!lXy/:ΦbxO>iY `rρe۴ʍŋg^Ni ;kE䧟 fZ-٥_JՊeYiw\asS)$ԣq/Њ!i|J%cVYiϕN8ll⃏M{ x.%+̗YaӞ+7CMk.XlwJdmZ1{$+̗Y NL'\8nJ$S;f@+f?ӌ{b>p /rx5 |=x?_,~8{[Bq{Nޜp( Iw7x?W2ɏ~ wݝqp%?z\4=~sw^ ?z\g!0=MNw+LJD$=]e'MJ \OlR_ʷjs@"M .Py~zud?]Q (nwnIGGpI|IӉ@miN?ooJKoMcpm?ߏ?\Ė۳W. thܞgA&[uwp\Eu0qJbrxYq帗^F^ǯs'0УѨxNs1*M<\(Sh+*_W̜:{▇'.ߨBsBѸlFѸD5$\K?\ck;UVwkP4VQnGXm\/h4 ?/V9NΞ=.۲F~Nab(i\H3J>ydjYv'm,^&ZYVʴWU_f=V?9g9eb̚ʯ;&#+g˛&&Ț.ߨBM{|~.HVL2ۻaJi$] f\_zi!_?+]uXiWs_`}ImbBy{w;t: w>]\ttCݦM;ے g/"d/Q;î[};JЖ־NxnrߍvConw:ܯwUj'ϞT?ޚ:9Q+'M+z<_ PUH~'Ϟ?>!*7z|[ ][\>qwtpڐ/!q,&h|qrEtHxIY[4JP4QgGv#BjYJP=g_)npۓPNzFP;Wa:Pg.QP]ƪٶK1Gφ=qG<6YY7wgJ2bEx,X?Li*mqTɳ'mi^b÷z|^ ߖ>)?'FwuHEθa_/Npzw{ c$41+]oFXRGe X@+IG{aחl{rezm+[}}}h{gǮ,W_+>_/W)/Q#swGcRљ*?vLuZ+^qfNiW~\/ i/Bn/A*bbЍMo)4BI2.SrK8z*F?.@ܷf81ZVkdz)Hve*&ez#ܞ{w{&Ai^qpTח%<;/ZWxqM8:nbGJji/1YR{i4)y_9˸2ELk77>tvaf)3#K{x.^ZLR{x[>[_qarW'\Xfp嗉Yz3Y$uLlỽ])WGbq0:A_*zxFK37¤B6 DJ7UVqd*Nzx}*J|\]篘6L̃ͮʩ"WFvP,nP.ƌPw+V-3W,rq3<1̩/;7HER0wi:x7*B%I'u|~z$IqUvQ:ݤ}t:ii^ ͊EGafWzw<ݬy廽^ 'IIDATP|/&I3UjFo6L̃ͮʉ;E^ $IzU9ě\AIBIL1.wC=ow?q7x?ۄ{&57?_y9Wrq5O4̎.I|5ܯR1E kut$Ʃ,4UGN987bgutFFs gXW=ɪSfW~T_/BH(33ˡ1K)tYg[9HŻ[ѵˍ.oTkArq3Etur )Rf1@fPs騶쌂C[>!2컹rbۢb.gk]9Fp.7;L ںUj+pd5)G75欘f!~}rťg9tvaf)5nbPy(^%9ɩV1:ǝ[uVޘ"`F6k 9JȜ8t0Ik8t>Q:<=ʍ!ѽ޽8#+0yvGg W ,vǯ4=:8aC:FT*GLuO)`+Zf3^<1C7(ifR(^n¤x} /ϖEKO{5 Z掲UuVJ6HYeg,mǬG?Sh#nPq蕘tt_vj&I^1ะ$\\( f[0avA$y~87ngw竿}5UUj 9~ʯWPl"ę<՗:̮̕]AI0BD˧P1TzaC,Fd5M$nb@S_v 4%r>Y=mI0B]__=o+NM#[X|-hvf8׵<جt\kuVޘ"`FICbSҧiVodq}g˸X<:|hWr=>{E(x"YUj809~o0v^Y.Bpb\Э̟#4}ዥ ~4Eq|s#k$=HdQNޜn։Y)ٌ"&77BPsظͲ+.qxz'=iXjX;~GÇdjrܭcH̽4JWR3σjjxjǷKt Jڅo kY.Nn˃aŝTgdc0SlJuPKq3'OP]Kg8?-U'oN~kVck9㤗հ4^*Gё{NU3σj4_Ex틋wGO_lPLmӝ?|{w;\Ï_>=NӶ. 5ٸtTLU)RnLX,+}f AQXP!el5#؟*էܯb$bO${W|u%7~ᅳŖS츔?Gn'7zӝi|#mzM2m 4p^AhE8`~7_?߯nO{fwy1f)b1uI*GGՉŷ/p yHx_sƋ31 %I2nvu ץB}'goBu2nl'#Ź!xORi3E+}YU dT-MO{ī=5 oǽa)@Uj %] .zw{%sTy_-ťe.axUȳ\\ .:Nzڒvf)b.w8ףɳ']}/˰XdaL\%(|Ӊxs}}V^pkUu)sQs_O= Mqqeznw!?̝ha%֑-me왫DCe_)b6{XFJ!hFK- B)Vҏ~ >rLJ!hF~}l;J!hFzWð{$5}ES @c<'IҞC) VO|,RNnrLJ!hLzOϓ$t:~s6R˿9Iş5;wl@Q[[j{˽"> ;F{=p+ZKl0D"B@`! D0;-?5IENDB`n#kۡ灙ƪd.c)PNG  IHDR`)gAMA pHYs+ IDATxMh[2 pQ"ÅڌW!BmQHmmfqHMp,eƾpehf.@KN\`.@{rttt,CsJP9G8eΝWO[ *`"TE@P-B Z 0h*`"TE@p;w.uxxyQB)^:uK0 D Eb_T-B,roV5kUwaFc HCp:AwGC)h@_HH識Ԛ#o?quMK[d:~ypdRLߛpȨR [{`'lB~0RڣNW߿R#^:YJC" Y8gV~ST*ʻdmKhjMAST7eT&up~(?/b8SiPPJ]Jod?3 UWvJ^&̝QuC Bu>#i*eHq|yJCw3?fc 9iP]uT(])#i$mWJR=y^pqQQDdᜉ!2ߧvw0CD(}剋~mVA)ןn,3U&+do_;Z [4z6 CHR*;Uwa`_ͧ_%vy֋Du| [TՁ5Z5%:$/'0R,WICf=& @$J/K->z~5]?_am]V磤=mVS.$]综^Y M&hj`]/OL~"ρO9ipZ/_|(xֈ}:k;nvfVtDRJ__ Uk wl;0PXC #o<V5>)|̥/]Ի8[^|1.3wS@][5 sg6%Xxt\9F~O_Z̝檃 !r^V5ǿ_ɯ/tZռ+6*v]x3`6`A.R0 so U͙W_NbФI%"+7n婄ޢ "vҞ:*RI}PyWǾF Fs= 7־.c tP)_ۙ]+:JOw.;M.Uk ǑK{ׯzS|sVҴFA"/RjRj1~{\x^XMy~.+o|LW>~&`g{gƀhI4:?h4 #swltxP9~ [J)kg##ÃJR6mJK\LԪfN&~ ɩ[3'lèOh636|9Hoz1uaU-HޙɊi ;cu׼'Qc_Ci [#L@Y|j}6v/Z?g&R633^zR*'ZTJUW߿}hm4^ԟHEb8=H!ND Frg:ŘD-[K5oa gaog1ɯwݵ~Y o[=YOr`BjUSe{:curjR8Z&TIdH@_zRofj|_| (l\wu  ]\(_jXp[s+X.:{G^}!AbkT 9kWJ }68i+u Jxs,DLPJ{Ҷ"f&||Ŗ,Hst-|w{XaY80!ũt}5 ǀ 韽ikn []8c"tdS?!:x5wwG?Yx:[fZ; !x|QE>omIm_q!+855 }*cEб[Y5Ļ>YLP֨ r%>LM~:UA2 CZcemፍžs6TrB'f0:s!B>Sժ]y\l5ujV%/Hv1x'98&a?7l|gwGmip8*e{oޭ8u-/n\.nTI.P`_HH»ls~.kD: [Ne ] }4|Dr|_g%A4ԽNlC?~^Sˑ^qڗJKYyaPTuTiC9N{:7@٦YsQŲvV~5YTJZdV6⨲_.le[i!DRܼ5H:uzcV֓HnYg\W<6/垔RBjf.tJS% 5 =H)l?DABOy/`yN}4Ꟁm!>^QJm>tn(X ]";UkrZC&7t,ڬ\uX9Z!?YNyV5%8G=vRM[㩏 G+@aULӤPlI>X`[/hRY Q{o\aG<wרTL/-R]cKbZUkBaxM sݧDB))9cO"vKMnI[ - T#ij0O@_ȯU*7/eIdV57 ֞.\W/?EQw㝬d90=)sʭT5*̳rJ ÐF5-Mև[^3~4\S4Cs9 Iǭ2Ԥx(`h gLaի]IBnR kUӹa^l1^朤{Y3:L|64˒q f5dĎk,v]wG5=ZռRj{ '\cj0 i46'}}ʲh.[{-I=Y푡w!Qdgm(EYmCQٹT:"oS^{?%呗\z^Z_kv.;vwLީsp.0nΘΪ`A@5]ĩUUk#Ã޼&E6H4HY.?ΑMQ;)I/έsKֶOɀuܺ ]SRSd~ )z䕏{ɤ|.h2IWۙ?m+Zժ(-g.*PV%Rni%uk{KʬfL5 CeHbl Otg9샅]X~ZH"YLP[O@ "e`uKYa/ݼ1 6@,=^W+օR;+U/ǯ|۟湵0%(&Yl~yQ~KûAW_Kx% B@ny)pArA ma4s]Ǥb:FqI@cݹ奕+Icfj斗&OjzBBޠy'貝sk=V5gfʲ(^&D ܟ {!4.|28wm .:sKugr-@-_x_GF@f1Ab_iHC̮T$~QJU* ջRRVqwWcu[IP=LMZw(ѕydc߭]Lyn;i^CW3_+TN5u( vJ1hO:ͳrp%|e }}=4qx97k^ILߛiB ^ƏƕTꊼWGd>4pcCnwqi_x$(=X>'G_-:7Pr9'2owg&G?$ZxVXɯXH\7ЕɾtjMD^,ݱJ_H\L\I&b{õ(,&Hk4 i(i>Ud2IٕJ"ܓ\rRD.8JtooIRLM޼1'VdRWz%%gҥVT.}xI),ό9nKw\To L|1n*>V~;35cgNR>\PJ~;s&VJ},lJl}沶!o$㺔!!Dk+l|W~mCo1xcUp=Jts\<ϯm6RrܣEk<0׍/@$^OA6D-sow%'/'GGFM6;ԍ}!ckT !6XsNFZƾRTz?ʃ,Lu˵۟YޱdJ?52<;rݥfKa >?V5o}Q0 T,Hiybw|{}|CHeiRTڋ>AK8E*T_:_a8LM6MJ{[Ŏ S : [#L@2c^1OKY֬Ur\J}dAaV}CWJN}iNe~30|":8#H!8;k/8ˢE8pjRB'tz7SjP@{QtT<o8[->ZO|Z :i-V5g&et-uO|t,Qtl Ri/! 0--N>`AVO^*>M2Nn9(:v1y9|/$Z'TSit&f-B Zs9N $'g)L/!"z}%ExIFp"X"/*Lj:TjևSPDcfjrRSԪv1-/~>z%ճ_iMEfwX*蟶Ft86bD`Q4WOOI+J IDATPJ-<^UkJӲtjOxV0~4R)?̝"t0*`fLM~(u>{ oTL3$J&ht쏆Ӓ#1ДR~mcXB҉^}J)Ioo$z  10_3a}@G_^x]CI)kD\.?mބRjt<*`&fjU/+eL XgBbdx-R 3  ]?ht#iDnw((hnUpv ͭR*ݟ_{#O]M9i(lGGF}($~9V?mV57b Jr(Y-0y9ialRsf\`_կ?w;ORu]?uVm<+3  Z̯m(z=n'f*J'+_B}~5}yJ)cJb0lV5sYԌiJ=\76Yhaٹ7ܼɯgkF)u@RS pT_ dF-笵/J{'wȯmW8xTwV5gf,H%!q㋏cGՉn籣lW^Uiox<,=xU+ᅰ97 .Z sg65h,J{JąĻɤVTn@?CןcԾR+ [ąī^_ *NjO?[7>Nm>۔5ʥ]c;; sYfwq7:6\[&fϯ [7u| [ˮ|(,]R]IC@띙fq3۟bLqժfN&~k]=iLM9[΍|6"Mg{Ѳ,."Oxtxpw]jHJ' A! ]nJ%䢾TfflowMXuMF>Ο_Ϳ~oEkƳ }?20{92zp{X]LE<ϭ|ctg^_zRofj|rT pB?V!12TTG)'M1ڊ s.*[㩏 G[4On"_m˺&xuFN_N"o/nRm;*./D UiJ/Kʱ=,&ue0r_( 7nZ?5Y*Ml# ]&/']7?B?_)uz3FmxVPԋY0@R Rs@d__Cx|><u~^EKOr.u=N/ڗ]$WJܟ}.#ӽ.~8  HZruyQM1 *`0g)=h:_u\vdsΞ׉^hHsY޺RJժsؤ:{* "O9[LLS5n =,C+u@iݷV5kUSߵ+$wK[(B|{U0v붭_>sK7?m8R ue =ߺ=%k,rIR'/9`6d]'"0IG}9My@+2[){=e x꙾7aKo#^ G̗%>YM$ /WWg\XJJwr;T+ĕdZ.7#d]<%N/?jBRIe s+Ux<|rхKWff\CŻ30@H $Ej=A˹ւLs_-rt$/'7aqx|/O3wƜUfv>]Tn|ݱgz<UkFVq{gigC:Ns2PNh=K[ tN(*ÅK}}{;z;IsK0ZjժͿ2ͫhwԄa^cݮ5 #q[2 TǧkkVa/O2\/ߔO=.}M>^_>ZH_=(|斗f.~һw h}ukI'/QCCp!EAS_K_LߟnT}}J,HvD@x;cFEOKIj_WJ%s;C G ДJKc]*-FNZ\|'?}N7*`$쟳 VQO£%jsuWSel_|9s*K،kF~5{[jka8S"0}:q!_ D;Δ:pfQDCOX-~9 sE@Po̬N$WΪSp3.*Q-B Z HE8X2az}@!{+T 8N+]bS~Sn-_Mhfo$ziJbŽ W>I:)%vxq]D$&YY`P AlRei=4 ÁJT{bXL,>/ߔw)}W*)k']@Mycmɐ q10J_Of?Oܛ8 ߔ?y*>/vww yuV,0|I|N.w;%('u5Ʌ:i{yՙ4|hS{}:~]'R`d? 76$< H}1~W7řu X`tXO:880/%yopxZH]M.wN&Ľ ^i/}=mx{!Dxϯ˯%`xUĽ ŬO8`C:x??{{4}=m+@b1 `tvyT)iTMayGygO=S W§5[s:8X!l\S$=؂DQ>?TC$؄~{=ii*D6 WP@mFR`h .ibz7/\WC|+ u:B%ufubZJ-(CA/y!_LEX,vJVQfΓb"kPio^H{px+KKTb\8y<$ѦhnRjpxs~Dr^G.ʝ̩\N!M/7623!%q1),-<\hZ1Ѥ6fnWR}mLάR_׏iiNY; tWd:Z39gf贷tpxc nueiO~!E,߮`J]MuxadxD)˞J2 {$cc` p>@{J)NXLw-=Y{NY3;=2ܩ=ϋ>NJ/K oʹh6t4M : .4GHy֝[=sΝ;w's-MLX۸uֹs䓍 }?^I/<\tܹ? xs^59ĥ[wnyU缟4ݭ/z>RXfww?^[xQrߕϋ'Ҩy r'^[ "PT3Fo>`=a4Mu?ݛ5hJH¢kkA z~"zcw(J/Kp|}'% g;ե%[ ),=eLϏIvF.NUF6D]ɴ9][o*98+otM|QF6j#$";D329f[?'\F~im?ɉ2 eqpp FOZ(zc(Tvƺ@^iϖ m&`#8SX,f]/S)G{ 8rEfdՔ~z;9fWޡu56,upp`C4y-d{]Y 8^i5N7Z_y ^TEkMۂG{֟ä |J>KYguA(O^/&6Nߝ$`pxPe=жw^iSdc{V>88x |23}+I[ ])vDqD"͗KԫV7[F8f: ;D3Ҟ P\!#ϭɟB3@uΪd!0io3I$ ~$3/!GJwSG$GⲾ7fpxPNnM&dSKY71SUqF\#gwoy)@"~D3fʊVZ&}=-ZCqz?5hִX8078<(#O˯ɖ>F^i7/c Ӄ|"L@xk4 뛯lus+`K?|͋Ք޿+7xrxTޕޣLmޘk B?^5 a[+`Ҙͮy+_Q:8z%|>[VZ$:\ BCsfu9&x'b6jJζfܚ9ՇIV-N$Vb [Gw讗>{C3? d >:\ڴo+5][1%\:0}ń>p<$xEvU$@d;vpxM!`i 4 X !¤7V/_urS5UdݺI|y..Πwt>kҵ0P哆Qۭ\9ΣBd7my m4_r2d4WFd5Zi4)8W\XN|q-tS* =f~Nd\dscHf[ >DwU!n[Hߜ.ÍOCۡo@Y Ls[QT_rsРfB$d{INvƫ2fZytΫ:*Bo0nGm6m^ZΜۈ{@l/m+I+k0Jq33c wr2V5x \l4iK֑rI'^THlc}x G5tlW")u+` edH;\OؐF[BE3/OJ8lKw|R}!lrb6MkZs 6{]ldYdkOݞlkd%\B25w׍Ip-u5Uo]he;O%>.~*\W7kq=X'6Bo09qobV%Z@@i>|﻽[wn%?LھPwev<Ř,G (whxؑFwߖ-33 U~S.)VFFCo0)A{rOrSӺ䗝Jo@3H$XV7=颪s CyN黒wZk<-AbcmCϵycC>zts67adc?L&—(]+ $wA|OŤ{"vu's~~D;L(/)CFxnmPvfT0h:CD6OAؗ.TUu\GizcP)52<"4Z|yʭ;DCWZ֋ϋ?CtMܛпE?482*5zCIx ٖL֚] uk:}==}oz$?>h4ͅ J~}3dU1~Jφֽ_gNw-n}D#⒃i?;e=&]+[Q'DR௽%T0*)Kݻ\skم~%Ap#SP`80e&[tntczy&ڞU+v lg;czdkH..ң#ʨ<6&W+*f\=fugWKoModxDU~S.>/$Bd IDATv^N_O@\]L\Lp2,}={ub싱7卵Aid*)'>;b{R=iL!gf7s]񿋓'1%tC´-Mf:)? )}hooC>"ZsA$YJl2yR ^:fvn6\E]N 5+AR7!S^|BוcwdOޟ :gc2*äT["O&D_,,^znf.9VJula}8e:.?m(G5Chږ sOr=C Ge)sǥLvә/e],{T~f~0Vvp-N hWepxp뉋ҥĥw; h\gs; %.&]ȰCu4ӿ],/^SMoʮ~]:qn;'=dBnM&))AL_OKy)F^g}2*5zOP͟!ffdF,ӭź 04IF:L1b#͖>:hIOFC:/XpWLvә/%`s!uB'>:!w\ۺ9}of; ?d}~-q}8NMjElpx:vOCN}aYI츕ߔe}ϦkѶa^2I;h J/KkX,Bܺs'TTRCI=&DL 0M@s23]/k'VsfX)H'MC=*CNg@:88dO5Hb SĽA<+`k@\7F??[Z(kOB-cO ¥Gv%f_nZ?FQr /Z7|rW#Db+= [ } >&tFfM:d?mF-i$zjhlKا8;8<<|ԧWD7wpp5+aeh򶼚"Ra5~dI_u?q?ý&x0g K!6s;0$ +'*czA^kkЩE]wޒ^.,xnW xTjaNB4tńN_@l;\_-bw;F1ORl5CkD/1|=:>~G2|A^S3}C=``s-P_a%Z}A6_rPph֋ڊ4-7)V*6La>Ɍ HskDm38sFfX>9#w̹sAVWyQfA&.&֟+()@_nOA[0uRV-~1nf GMٺaQԵ?^+>/?w]U7|d Ƿ.y ټ"倿WW@sj+Rh" H$LӴmE&Hj*pi=ЖJhflh/)*܃NfN"LY즓_b[Jć -\E lNKT%fn`߇6ɰh[/TzYIk4Xk=b,LeeA6ކ{vtA EvPٹyQolc?Qٌγs9C 6\3SC̠=}"2[)Ձkltܓܭ;R)~tdaHNd=[jK7EpL0luJdnlm i,?+Y~5"a!E8AdExRk 0,;p ihfjE [RRR ^H'.&N {yQ>uS XI-_)}GmvN0eE+=oW01?`Tlq;@ۙRdPtWSV ./FݔN*-VIA.1]R , ?[ݳ ᐒF33g̜W*;6LEowҽν|f;gʄ-6! B Nч| 0xa=}d2{kWtX/ם4 \ 'IRr^|cH\w0p-(`U퀙%Kzr7*}7sdsIUiwZv-ŕnчt0LVQ? a9M&*n|;F$CKM3}uzA#Y. Wp ׹B[da˻_fշ4-K MaviySl~wp:~zkkԭΰeziqUI䦤km~88hp]|ga᯳g5U*57MdnS!i5F[jAVeYvo_ ܿ],#lloR,Æ? U5t><+ J4jkmT'C jRvwg٧ZbsZӗdWd,^%fLǺbL: `x`|a4/qeGx|շ:w;i󲟝|)v<-O-[q?Mx<wex<Ύb6?=ߟCn6^ߪmM+7U1_Q^ޔ{}m= ߽߭,[* e.P%Y]2B0@e€ Y/+lrj6*te 7.fxZ؋wwNmV떧*l<1Ίc<68Yjԭ_ծB5n_*kj|XS t.H3:}IVp~v/~pp:(|շs>}En'~a}i:G6 y3L?j'ݽ_{ l*8|?ljvVYve쇣bݟ+[Z퀥izP_ly+&QXu(X`p:Htt;LݧN!.Y7_/6їIut[eMZ?-,!q,laTp2|y#Amֽߍm`^~8!IC,3 frG fd2~‡_$< og,܏?|s8O9b{ccΝ;:vCL&{~0oj{{S?;|?r$I';ܹsΝ;Ov o"O&';w 99: ;ܫyFPMxa ܿyC~6n _0>Gr5dlxb%[@0 PHʗujؚټw w&p$ӟwvqBeL0v5ޞuvqFBvRکgo·{gS3 fh|S{0,w L&v1KF cbĆSsM?'Km<`' !62" ֏gWq)e3Lm%7u[6e1WXc$[gz=/ 6%ALݬ] x}{0?{"x,fϲY^*Mn~RܿV/.yf6P`R q W*թakf֪6XNޡT3#NMuXifcgA,[leFbb2{+,#T6Mu] ,_R8$֣6$*,BTRa0Bc]1[Slh˦i`4Za!痗g>"T4/[Kp1mb|Ilm nb,Y~w*̚bK)1qvo6fK?٬l7ۇƂ:&qЩ(4M*Nri91Tmxa5Gl WUV۩k|bূ7>\6Q1S 6f:+u&]$%u,#] ׅk̕UqNZ%qyvÕ 6Lw.Dc~= Ʌ9<۲uB_.gL$\Spg( ݦ"F]pђLkb,iVRZ?OQb+vyjY$DZQ5^s|bf8X& rxaUQf?"~YW[M|#n\v㼅nf%̆'{Y5r ߝ<Ϗsj8L}kBm **ݏDvăaՋ=P$?Om?mvcfMks q4Ǖbk=F/~Mv]0g>s!=z5ߒt+W,6ɂvd6^UmBbp:zurt20 fNaNK:7?G}Vihv,#l$ɗ TAߧ|͋?OI,}_؀3g\aqɤiap+;ΓNmr<8>:akq>k \yo=ڪng/te_=~=5 Y?.eY2EB瞋yyyZLfH\E%YR&2V޿O>iKpwN@|4}DuK$MQd}t>ěQ/;>86{o7ҍч֣D0P}E|jAᴪ?ӟbk2I7cI?VY sW!}={{3d85>TGkq,Eb;38k ߮Ckf)?zN +>߽aA0Z. BbXdzYCTblEf8b*ȧ|,7 L/읮)a$IA>ϒ. ɅѧӧK,If/prtcҹ /ܪjt0|?̎ĴRwG_EWE\٢-l !Ƀh3gM7/clL}0[Y3+M`|_JoGFa: &mo???mϚ엗cⅇ4 "ni ymnymvK_?iZ8: ?UB&k:`I>ۍ}~唘~uGIvad'L16{ɸ,*!Wݢ=-?n|8kG v<66<ܬ/y1_Ql%>VCHaac:\=g,/ǖJL7_˰5v', !fƛ23wM7ⷓɤ"S4~vpV%f0VLC7UO}{1RjBa]_bR^5(Y|ʱKVAْAxl7&CͩK7Mө՜ {^9Cpvq>߼3Y?~*fR?Fu[\LwRlT`^[Պq,~'[iZkdXhؕ]\{;Óq}ϰS+qsH(R6 xaUQf?h#kExe0whK_u)\,Y]n0 IDAT.l\Xke S/"/\.Bץ 3q!Ȳ=²?*M/ UZq,ANF)hk*El7˧vC/Eh<5")r9hŌc~ 5Y\ٱ:ו:ec;I!vvvbTϑb+CL,\Z<g_~2^ERf>M*?clbIjżz +,a>x|I8]-!m3 Wy5xaUr.\ul6^lBu_.g/48V[=>%[^č.uh0e/\c\l㲙1mn:IG/(0Iɲ-c2;w;S?^*ND6ʇك}2(Y3Ju:`eEO8q,{)p-u"ʶ{C+|jsب\V+\:7 .Fi9:w;1BHVvf,1\j|9>0U X 4_3Omi?٫pMvU8ڭbߛ)U԰5yk}SИ~N-+Bm Ua_/7NO>wlqèҚL&ߡPd29>:O)bFF*^ Ǫpx10VL2$öY!+ g =ª]:m4\o,no9PSCz:}I}a+, `zswk(7opkV3~duµVIՕѠ\hY/"/ZY”FRSaG[k[.wl=>MpG}2:)٬kvim.4yk"B!6ҍp|=7{{IW;9:bNJnU6|?|}ϾŬdؕL&a"[u/]6-K#FzgIlll<`['G':9'8da U>8|sE/vx2v4U$PrE5ˠI K_87yx 2m|KΓo\K*b]:}IƢB>`ngvp2<4bӮ^wuzaZPXx Zh@KtZ2$Id7I8̷)Pf@KtZ0D %:`-hp< XPIENDB`nEjQHMT/TUPNG  IHDR`)gAMA pHYs+ IDATx]H\Y΅9ip7f,!0']!m聣8J_ 8b-B Z 0h*`"TE@P-B Z 0h*`"TE?FtJR&{}ԉSJ:NJH@C`4DTx Z ^^H鉻d}vfxJٙN݄EЌ8irU\~]w-TXIi_Z{\J6הYEΩfL;YKsv0Eȩ UìT* jF_SOAWTgL{#?|i7fK|O~S> $Uì(?|I rX~ lp5#/`)wày^SJXr=5ˁd8˨VX0.)B 6l)#W՟CS_EM*"'Q(hey5 ?!x)N]O9@ `.j ,~_+ ]7X XB?/J_M項>nN7I[5OR?Yy hɯ&?I M~Jnaina=ǯPff'CyX++˷e̴?^>|뷷+A_;_Moxrg۷51ɯ&&۰{ ˓_Ov":7?ן6'';*JxԐOf=#OnjN'Z 'oo}D>z2? ۋ-VUI#ò;|}+W5ٙOR,m==qo}qkSc_NՑbT}z/K>]7[8p$Q*Y/K%y9rp|Zqxnqtnqn:;鉻ړ/'ׇ#|x}cK논Rɩ۾{-fRf`\*2w2ҤfԧoȖʯ7ocx8RjZ*ƾ|/-Hf:8{]{sڑVoFؗ_ ,\Y[j'Y%`}}O4@kz{FnIrlbl􋑵{#*dl;pGr-c.WYNo';&OnvjBfB)NIoo_ܹ+:xgeƧfFj_#|o_:|9?x Jk߭lN~>2`lзٗ[w;o;-"f@BN=n|Ð\zZ)5_'G=V{ K s}z<W5Cة*=ls:g>m1Pǚ[+o=98w϶ggfJ0YT|aHW#l璥sIW361LJؿ,]O=/Hk .wלEs9^>=qG'&+y{]s];^X[_?]tz:'k=m]R_˃{v}||LV'msG?;3+Z+:;3mjl ȓ]A ,4~B3I dg{̹@d}nq?}X)fUQJoQ@˦ڣ_(NOܲ[6usO?Ӭ+\8_t{U-Ucx?/YA׳h uWlR/vp֨0l?ίX5̤L:?Y7(UJ=i2j'nvfv'͇ 9~CRؗL](.%)s>uVR\?n"dU%KHb;`ڼb^fg?tH_g]'7O\5:|gMYhM 0hor";H)sɬ}%+x |,ndTWnKB!{1+{\ 9ӍYSKBho=S!Qgsij T]vY)ym'륿z.̆Z:k|2ہG» }*^Iedo?~ӁQ&3}iĚ*~&t`W,{pzak!/׻a2ړ +A&[>>^ YѥG 6sо,$isJ9Ys샬++'KVsS;YLpg=yr2Uq3kM;Z8!Sܖ*SܓXk3{^_kޢ!ߝJ0ŨOǯk ;cFBZb|;$ޟ4h{X`XKTKֽ?s'$t>i?9kt"t{݆!C<_RÞ@ lAa63͙cNO\{&AU2HEX&m4iHLzo%+=丷"lɓ[AjA^SdBvnH!ۯ֧E n_o=(+q] = *^{IOݙxbB+Oe۰G, y2bT(1/}}R"4xIƍ.͹ÆT Ԃu ݾkv/k֭$قu6 9$.)cMںb3Øgѯxʑɒ՛+k/u'F+\񃼦bdB'w!>e.s_͟n?Go5ƞ\[(9*OV `5JMɯ=q%+]( eYw!OnVjN'8Yh mzgfq%SW{.YJ?U%q"^O|9q6f8sRҵiWSxF &(D%̝Ln1sɒ7 u?[pTj&uRo$RJJɯ&a`ћ+X\ί,gѵ'qtY;J)SOz.Ycl_ 'ǯɯ&ٸsɯ&?ͬj1)ZW j@)5tFy+ie~v&pn՝ktt 930瞸aP%.]򌖙VJm>ÌT~'$/'񏽺]k {[ oX*90ͯמr\YWJ odng\szr{'%מepW^DK/}|_{FYzx?YwH@{J)s?[Z_a_]QȞ]>\ɋtn!?/cw< { %.l佯'RJt'p y<~}M7%$HV'4nr.7b~+Viey&K RR*󏖔Rcc?d`|ry${ʜoz|gk}}}[[#m\j[.U)ޮdMs9eY}*!4-߾-UAς"A@o=hiRϥڢs7]KfNfgf- :\23ٯsY ,U+67&dRZX:DWr<+ϊ_sw NNLfzaʶ~}mia3:evfyfw#>)\  [OONj^)u hn TSt8>>Y\qX?/z|'HVzGB~?-yr8Usrq2ǪU|z⮭ެRq+˿'BD#:̎_;a'M)cZy[fٶ,le, 6qth2+ x< UĎc5\zEw)*`ЕE/s Y|ϥٙvQ`kW9ĕ7LǯB @Wzyj*h5U ȁǯ#);3;1>:0JOϥ8q^@_KgMJٙis 6]R*+ARccÿz}uhjvڱ.Y)'jk}m'k饅!@f]Zo9PUG7G1Z*J-?.S`)yXzK DuF 0h*`"TE@PkDpa%>y/Y:Q]=`е$whJ#;`"TEQ#yz89r6Rv˅#`݇뺛??^ycA]\=@7}3ƃ3jqt )`bq2vkckǽNkj0e_o[j^)19`xJ9ZX+Fh鑛#㣭o; 8[o;mG3bJ g\וc,֛V|Q,?L ]veYo' t_{s]tF xۓRv&N |MnwUIR~Δdι\S@uHHV~8OFTKb]_/K2:>:91u#g{g[_[̵[eң%TU<^|rr3 -9Sw ;ߞp]vS(L_X1rsd0x,/o:~iFE-JL{JiΑ㺮͊/ԝͧ㣍:'_i%o̚/xLDΨ/l6n&ҫRvv46i3LvNA}aU7A@7=sr9r9bFwSKo[l|PaρzK'cev<ᝌ}ž8-ҏ' _ ;w]C|yA^D%M=`Α[}+Z 5)bvQ]V2+LGat+% ]uW86#gvfG93Zoh < \:_y;'뺙ilD-$lnaub&3YY2T3'ة-p^ D9Go Z~:ɓG _n!t z,.7|6T˷ < swE1s,үʤM_-S :YTR.GN6dt?"9koIjvfzJXݯkE~fNtnؒI.ʹ~F-t;`z܎eY Yu6Rv]u٤ꕃJwRK9v ;E˲G/c"ߦD뺲ydR=5OskbQ/ٶ3ͣ}} \ڜ#SHVjjȩF۶w-{=y(&\Ed_fUJщkm}M>c7͙92Va b/UB?i+76](ʑi߮`P!1x*ҥGK9R#AiFѩ;sVȡCyL{Cyq2R&Ӣ2YjRw\'+O+5bcMd^v[s꟝\.?^ylp$1'd GHb.{?["~70'|[̍&/ֳN`{S)-#\.{f[\%^4"h]OGKU-;ٯ1yCoa:I\Ek*/ xNL)5,lo' B}U_7s 'Itٯyzair"OG^Ĥ.˚Sҗe9Mj*ZSwtX+}3- )iix 1'(HI3nLbKZjDO9XX1SMtvTe_)%ѩrm3LRO7rf:0n,:tNb  1Yyġsqv*Sw%<,e6|˲j-֮,%H+M+Ege : nMQ;țjDjFA?Swat%'0vرE'~rV44W ;es[)ۆ<he s,_75a(:yv叕)5VtU]UT7J=T*~g)#=zJD:ӌ XDG,pkaďǤa&/ÄpSکNݕZżdiiU]< 00l|lbjEO/jn^': :eFE!:ÚtSaޠD+ qxXB+$uengs0G45X Q  D>hZZV Km)Mg;9-m:ύxR<ymIY$Y5TJ;ZR_[ۨ]_K6xQ'޷*I+`1 }]*ӾI͑MNL.qˁ|&-!^ocsx~!8~m]J W3~fBΒ!aJ\.~y_nԐ_g1Ͳ񳥐W2&_nKOQ-R碁"r19eN_.=$ ^[_ =_# q@2aO(ďfdQ#u\׽Kr9y.Jb^TkW9-A|š.1GFR|Q(%V'uWM?ٱ''R9SwLSCW ùDcӃrGKkkLN}^=y+.Fu_/)v қO7;whGӝ`2f){?+_T$ wFE6v@eRC蝜Lma01Yv?7?5GGsXTt7s;?9;۳3b_#.xr⋢Ia0`:fy4#1yWgii]J.P5л8#i3Rʯ]f\Lݙr5p]fYgOBtZޡ!}W]z2ؘlvvRٻ*WOFSR)ԝңGKv WwugLT,æ]וމltEPEzpRfGӼw\fD^GN74~M_e ^q' 򳼚RӾ괵%9ݯ&g9[弤ۥCSX 9uELCNż:3ҚtB9-s;87?ES[9V ;z`zvĄ?Z<+.2ZY"OY~`FU' A0[L;GÙ>Yƪ@3Y>`32n`~:#So^x 8IbdBQ#+b`Huf99r#Y2kq7rtS̲ϯ6Es@cDweY F85YCij#o"g9/&|急tEu]=fOZ?yaP;.5DQ|Q lп_wF 92wSVɶv+LehK9mPj(uSLd[/=Z 7eݩ_zN~%ߖpN&l4ugjkcKfjՁL>\׍X!l2:zfkc+lQ I5mX.~\%U_)DzڤeplՖUeb¼;Y}!NΝ\ \Αiba]#cJ;A@rTҍHuT99r"ϹF-4tSe)/:ML9 NSЇoX"]B3kű,˿ly_bz^eYi~gرI_~ֳ\jUmIkq̦+"LC.:$*A ufė  o˯%w kQwB6aocO.*I }8OݙrTn1"P'e|R|=7²#4]_/K2:>:91u#g{g[_[̵[eң%TU<^|rrteͳD \h;nۇa߰9`Z1sQ˲7ӞRs丮+ub~5?ugjhsD7}3=rs$z7?1kbRܿe3aQ_lLJW+cnhގnrL8ug4v d PJ<5}1+a,˹Ŝ4s<6]*}3cm `i/qǵ~E IDAT9(H̲\R:uxШcvMAM̍ΨۛwBR.{Cl,+: `G(tS5+ }pWC!i=(dg#"X-PPJ]!Nc! xF/״y~5ov6*f6ҟ/T\T)ezH5&}|\V8`:zr~{馎u^@uX%I!2F)%J̢|,=^y|5uò,9|90mNawcJ`C!;]t2v]voW" x20ݰs5ͧM YYb9'5۽P"fngH @:Xv9V[[Α3;3#q})pao#NbWInd};3vSޜq_1R+(.aaym{՟K_Xʑlgo_0uHL>^y ztRa`THXQΑz;ա~ZCyq2R&Ӣ%'snҨYK_NoZ.%b.U#rcs\̄ 9I%S8GrsY߻V*w3"ͧlxb= йCLr"r%}SY}g[aծ=KZP[س߈5,+J~6}3mƞ|X uMaw36q̗Q!(1#dD:\$PStm>ݔ{p2ցOVm> ]8º\B,d5a1QK넘?98z+ة2eYa5kWkudӢz%# nMz8r:TbU#JԨ5P3f +9QÎ-=['^)J6 'OM7, ˪_n'|*}ﴻGyvy*nkT*ii%z*0SXGD{$gu5(*` <_$~=&3y&J] K);ۨ]YK6V5/NaxґVQ*F^t2u@`{ASftH]Ԛ"c=J7ux Mža%2Mp㴰4<.rC;{8x DƌL"ŃUG~{_JOϚ2Kަ!Pi+%H}f+S_33m]_K6VSDD'+ɶjD 1 }]*3 I͑MNL.qˁ|E2-!^ocsx!8~m]J W3~fSF WLp߹Y56~j^&tdmas*sTs@9M~2/C_o_͏I\Ξ92e࿈GYuM?{By$~5#&HRz< |TM&uoңbN޲ᅒ #UNX"^yl.wҖs7mr\וKV+Os~ 3Xv˽&9,tJkۅ 5d8eX^]6'gyFj٣oGL`Xi6+.=Zc}|56&]`CAn4` ,Փ9O`J@8ugj(5hiDž]50˲iuewb)]j}=6Q4}swO拦-aِL@/ŲsdLY^Mi_uؒн=Lל#gkc3Utth ?!GY_WdK;X̫3#I'<33{?~b9lPf :[N~.ꩃ(chCH^j໼heiFv?egΞ ;w~fiy8SG:KXhvfV?˧Lr?] l_ׯSs$v ʹ+_[_V9IL4|uELC,b^i|;Gy$ Zs-FnnYռhhN@,+A~&#uzh=Ms%&Nb ˆwfL|急Eu%[Xg] /vǥSR-(nnlԿ_wF 92wSVY_WdK;RQ`zy2zɾhi(5ẩRǭ-۶-EWy˲/=D'o8̝L`hƖL=ΘM$uGẮhl^iWX&rtb4sTa~5izdE*η-=Z~0]G뺁K9r:mZ̜W#,u~LvBi'5:(Hטj^Qb^iz;GTDu9ר\.-6nJ滃 {Ѳͧ`ʲ,:rYi:){?x =K]rFs8e-k\6[~[}eYi~gرI_~ֳ\jUmIkWkv{T*O7#JNq n;/3K~v-COr23M岹ux=Smx`d~V/ԻK#aIV\.Dt>\U7oLJ~r.ZyZ[bR;tRDIXKOV-]ojK)%HTNK<'A֨Qq΢l{:qa@|2.QO0E8I>3h".ISVX9xJf3z50)sCImYmKF-ޯj Jd|0J8Zy#2#5Ά ͏({̞ )ylהTڦmЬNQ C,+1U]00ȣɇ75)))O &; x>VOzDdDYtuyO$.扚2&ӪE;ND$a: x{?Io\TL]zUqɩ/q!]һWNAYj6)2|usxn9oo++eJ)OG2}ﴻGdYB_7OX5|u؜>^=I?-:{*&19zN'tlR Kѯ$~uQLvBiGal|4=/ՙ'ң/N|'2U#JW]W;g̔4 5 ,Тa7fU|QK~˛G-=DT XMt5ʬ^ j~Δs{qaK U[ut @ h.3GTJegi:IյVC8Lx0917|vr}wi \WyJԾ"X읻o7EtbL.)]>ER}⤔"IR), \D0Dw)R ~$s6|BHrwvv58QBP^^jVڂHs.=  ?T|2% ˆǫ bZгZs3AA{8ӵݰk]}!.4+? y  Cf^Db|1b>8G;m1QPq!Py@lPD&PS"*MQLf^dr767c7vzmʍ1D H qjJD!(8|UVRAĀx٠'LDT`"[ AAADN   "'hFAA4#  ȉ,gH)cvyYjPbWT.8]^\"`X<.-rEMj(!$cT v` ʪUo+mEh1Odq|2ǏcqcF}1+ vxu{e ި4v{&]׷7˚(\!HȳƱQsaIɄ(+a1juucs?vv9Y[fkP$jӨE<䊺 j:hE0 3o~ -2zA9wϺs5 )ZBV,I+`@;9=ky8Ժ݁q|[dsc_}_//v`D5Ԕ>Ă?aq'V0Nc?QjĚ}~w;o렵UPr덺J8063Lm7zsU#/̒o8s5F'WKŦbud|s%pp_)Qr'V,Rcˤшuq1N=vϺm]iv Seݳn,ym|FQ?o!cQ;T1Xl3-3⺼qu*ccs 6\E]םXP qxX3\QДbuP6Xqփs.oȭC*E{b)I=Lrcf&Ys¡ ul}ԖlE1<[Tͻq8ͽf\N U1hm\r8xvĺ]hbVaU|2uue)5WeG"7Lw;Q[B(3㈫⁀CcdŶ \Q[ lqvy=0N7 qqrɐ 9Ծ5aYa Hň~k?Pj?Ueyf`vjoGh$6cdV>څW.SAkQE?x)qx/O]A0ZSûĚZG[+W2̒CZ:ʪ]I8NZNOY{"ӏtϺ4eFTVUcQJO?3׍͍2;*: U[ q6?g V2Ysʪzu!'u9/Mk'wSEݸEAe`ՂLtHCn9"FZ~r>$XW}p]2[*5e'# >j$vҖz}9p xT gB ƘRSfF[V db܍cq73L< < ><>8G Ҍjc#8Olyt/s97`:|(JX,~nYt`#걱9+4A㚇Cf!pQ ryJMI&XMHiQKnC{@qIO.<2޶mO- n떋X_FptC҆Er_^\z [3dI7J/[Z\Pxm*j9WcP%1muĚ` v6HugܗsO-~bqSF IDATK_//9P[ћ5?ߋ2g",~V_bŗsbQ%U҂,@t  Σ"bi0t~ 6G=0=?J褰w l $(ZڥXHoh'b,VC&aiΐ@bnW*AK@WF] -V7L 2_L%Y*c]ؙeUk" J_QZ[D8 8WUm(.$tEUL\ot( ()ÂB 39 ?=Ls0 ^\ù+E``Ήk\L VlDatpVU{S۶!<(Eԋۯ@{{Di(0/lki`!Wd@2KA&ALX;n톋%x眇9'P}uEla70`@'u ӤsVG)6GqLW,ؙ`/wV[F?IC . i#n'J$y_c6,0O-+\&386Õq#n7D,/0HLĉX[ 0,e3&]%{gф 8#*h+f[A*rjw!U㞂/\i5+Zn8|3kj߷ڢ[&{f.I[=,V #,pu wy$Y"|0kǍӺiAU,B8sSysn`X6fLI`pC[[J!;eo^xE3]/ViQo;Y3~m:nh=S)K%Ng0um۾|9e>@ }"ڧb|wW(np=g]u]\"9|{Bx6vv10?U|G'?QB: ^CyHC&PpȬu8v=)7.* TH5e* m/Z cLV oNgERBD,n#1L?[[=cBCJ8qձo_?kTXSkpp_]W767VזG9nju{q"ԋwqFq>~UrPʹoh?212'|4=P.[qwʭ >j;,XOI8wų!ix)-ڱY41zyJۿB[/ -1&Ƅ]kjET("qFw;ϳ! F<y:ǝ?WkiqE|~>b-׈Z4JzNcg9!f=̕?6./.݋.LQ\;9=J_^`!yXOA 5vڕ_V&GQ֎\Z?ܧ%U}L/~o>#C pajߧyqյ̟):ːAkwoWhO}d~yЛo~; b"t`6,j&Q׈Ztx;P7W{M∷kգO58Aڸ^`M-xûbQVҒJ=O&12:ǝf./[\0UE?0TU7ĪFz` +5%)eh.1Y01~\BGE? Q6݁CƐpJ|QRp?'^64&oD@8y xuES?+I%(5bIJkv@} p,FLI~;eler~euzU%2'+mU|od;2sۦǁ^VnuҤ9{# swF_L|Q͋G~}<fI('Q,p4%VZ)Am|ӫ+kj o./X:@dBt黼Jd]q9Z5&+3cgcdm&l-(R1Y^&LCv{罰H 53f%x% zKcM-a ΠN _v`jQGX@zVXxD'1#i*!Z;4cU_iE+zkq -1&4kѰX ow-R"Y '0#y5Y֚Z9D N%`ӏ1WzbQ=]8BSg}`7#crB0LV/ONO^/@I󿎿(D1.a(b۶ke~fKM9۶ŝHC IdbMDWvY;@ruQoԣWe,U_5^T䵙 FٌI7Dd޼X(;`=!L{Y{MI%@$є;>j0V r_x,30<,r E)y/R׵^߷U䢋?j۲%/5.)[xK8l׻X}% 3A\a (5l St ,q.P,Eg OZ@ ]^ pe2O47eqZJONp ;ù]~"ꓔɒ5n TRS%nس {|,s|2Ǐcq`U)kkJMQ7ՙ#4pWؗ/(}۰󽲪#_J5!VpؚZjI Wؖ9ʹfv`A3<*˃12VoUbsa @rb[O-dUDmJ ?f˫Lځ<ۃ")U_i>8\X6cE(  qVsx٠'LDT ZcYVd3$bN8  (~wĔ   5'S>RAA1  Z#  "*>NOĂV  ~D/D 4#  "Rh!떄*%fB[˅5Ə?Gލ =AAQ,?܇[-ZJ?={Ry qc޳gϞ={a  " ~7cs=^^\C%x٠'LDTĘOæYb/T ԔJCLdKmA$   AAA    r`AAA9A0   X@ԲYYYURhvʋ5CX]t^(`,x.&5Nŀ1*~x;|x|0FFQUeUܪ7꺚BhAKs1b=)a򉐎ˁWW]]W767cwosUe&E{M6@⩵@-f)2›REog@uZe[S1=*XF$k )[=)ɲ }Wvrzʥ| qu7YE;1ƾ~*/^4^?l`O}XuZ[]+0?ļk\)k 9 jQyQXirf擩 }Fo5@~7;-|Gb`xB&LKYziոؔ~zyqF:r;Qe*h{zir(U=JF#268=ڶvmݳ.LuϺyf@䵉F=BX[S_r qe',M9kQu' 8WUehJ:t܉5g=8 ܪj9b]hVL%YffQ='@P7`vlGmVym|1c˳M%V6DcrD"t {wl-Ԕ$*D!J[:k \oGe΀yNouSj̈7p _@clcѝdrη6aLiq=0ؿf)kk2SEw;^-۟ϕaο>࿷XkEЬoqG) $2yyqRyɂΔ{w*zH֭8[5o? mln,(C>=A~ĺ8OEǵ$Jr͏.f JXn1mԔY{š;mۗjDt뷢5uGmTR~wϺͽ&ܒ1za'Dl"PЊu>jc#8gˤnccs `a{nzwKVQ(ƱEccs,JHq]}ؠcZ4p IDT+ ryJM,&F/_ߍ]rCcsRE$'+L9.mxKnōߺb)WQ/0E!]Er_^\z 3d̏/`J/[Z\PxK۶Qu1xKkot۶:ddwbM0Q\^HugܗsO-~bqSK_//9P[IWquQިCcջ[ڌB5mM<*63e ("ln0#FAaM?߃5_D#0*4F!zϏ:):S+E. B~F;I`qU_dZ T, 7fvbh$/ส/>=Q0 D f$f~̔(3˪d'D٣<x#~s)*5q(0iq~U%pQ\Ks"H|PP>SAfOs"OViR T Baxƭf qlkbaA=ek67mxC"Q4K<WШ~v|Zxos7('4Y`7_". B!ɀd+LoX;Vȭ K93s&Nt}zD]zE On aJLb* }|,0僜@Œ)5%,oy=70P` ӜSIrpQuJ9A6P`5s̳ΪVy][oaS4D'xvڈ-D(a aIA,0O-+\&38h K0 'S}n>=er2s~V<–fF ͏"Uzgф 8#*h+fjqn003~+ ߷ڢ[&{f.I[=,V #,pu wy$ YXN߭Do]Z7[΃B8s)ysn6CX6Jh~̔(D5+V4|NcGrٛo87^<x#f8cDA˰=<>DyZ۟|aqnཎl@DTjRE$+d52ASm&s+@Tn }*vϺ꺚 Ds62Ņ>mb`@_%u;a=];Ǩ23ӾIEN#D`(0̇B=zXouq RSʭ >j;,XOI8wց!ix)PҭX߬ u @w^*/N_ULVTi <}GZh>NcsC[>*̕?6./.a.LQ\;9=J_^`!yXOA 7VYSk])ler~eϥ}XRWD1p,i>;82 }zk9Y[]]!YZ{@{ cd_̃ޅ'VSmkaK]WDi_#jpf<ڛoG5F_V}w`M mA / @ J+%!ۿ&X7v{[D&Dwȑ^UB& vh T}LfQ>## woK0akAD 2a|;{?P 1CNQbީ6#t;Ԓ* *>9m?oG u 7{nGt9šF.2YCc0Z6Q\Zܪ!Caȁ* 84,Vmk]HV*A9 H^ veV| TeƜ)J,3w͈ K.qP r<uݿ3ulYo5rECapJ*![;0Árd+ӏH>CBG`WKQv(J'Iēs.T~B+dKho)Z|`8|cml*GQbީ6Ӄ,c4qW6Т9i3s&+ADLww̻:X\5ʶmѯFx/evuulA`S)-U_9cZ{3fh3,Ua۶Ws=7{F9ot5QUι?\mۨs덺kv+`=麿|#F|\m⪚RS06_33^(jƘJQeM*7D=VQ(Ʊ?^]DO)~k<ض-gqFcs,f}nA k EX_bX=ض-.t4nBg^0RΦǶmq'Rh%BdX䕴݊ui]U-9 pb՗OOo1ym&²QBcDd޼X'v0)h+g]Xo5='Yqɓ,zzDSRTVX+”G Fݳ.4BsN_>"ҕmϕ~lDw|'+>I{,&L@*5E^m(X5 << ݰgϢ_XSkpmh+ 䆾,lٳKT;={=S{h P@@"-?ٵD[І`pLت' 27#eo H78}{,KjK@z9R>:_Ny - @Tv}^vSt3XRJT@U r^ l!f``I/(qRU (0Hd @N @9 rbQ1m i6 ;{A|dR,v n"O-aTU%Ki=;`9[PV^r^ըh`I82>-MQRt_/xU/!~ +elV<h8Ntf]5/P*~+J?utG Y4C=O#0!o.~;4mPWpM˭Jt0:Q*U{^v ovs9 v&|l]iJ+.PU T PRJ:=&(d)w۞fǔ-c>\0ɾ`%NLOVe:={'^eEvGpUt et?82 Ziǟ[G-ٹ^́P`ՄrĴ4L|d"˖ cƾH2K] 6tg{N|~D.ˏ"S}1^SgBWA.`h$|0n*." փ779GPJӒ Qݜ_TIGnbY([k̖,XQJXa(O2 q->^ں;ujascƾQo͎y:Psa*.zUZà#Vw]_]' 2rwSaeK6g 9yA c&s!Ϛ國. F3]JkAe2cHww]WGqΛͱ=eW^u݋w I"rW~ +r{裂,lQ,~BٍofED|'/Ŋ}8Rѳ8hZ9̜D{٥h?# n*U]>Ħq19K{yؤ7ig_TCuRx P -U}7W0_|P2qwȲeG90WBڦa6."|Z ?XA0I d"1iHØ `ga^R *U ʗ_DwD:ly{bu1L_=$isAaDs^(Nl2+/>(9Yd2cL΀6M1lV[VYڋ;O;lo)b5!DU'b0.Ah CU^P k-S23ƺ@Db;s7MU<|f\L CaTL,lQ}2_aQ+]׍K&ϦXF\*p}:yhPD#\h)= ofedy[%~ >v]QsBU&(BEiz^mCc\ץi~<0󱬓0%x~v:j~Ny81_wsN[/>("~nv/:xtpZK4֧5jb ka PHι=lV8n๢Ws>FwcϯWZǛMϻ"caR S+TH e4k(PA Tb2Ⱦo6jkZcqqιnG[:OTYkڧa'X$BΥBIUSir0B[80Tݛseee`F6.oWؽ<AY9?;)vYCj,L'nmouAXZ/-#3[K]5~5wuho 3﫲YA9n]ץ+g >r!0XQփe5wwAꜜƧ>t^(T:RI XBp\1< 67I,T C/0 +]۹29%p"]x6Ϟ_ ~sΜshɃt\dh޻{^]_{.*rԻ{eV5_Z_S0oŒ옧m> IDATCo[ ugc}#VNX)G62;_VwSITgZ.ΈR~/*ɲkwLD< tMuzR nWej5W˖P ($Y8FpvcQ0;|A˓kڿ|i|}cLq( 46yV@cV'.(1{ڧ)]̡l,Cn$cR 1g0NzWJ3޸;| ۑj7K&FTW|>2yu7aY:xbU|Mf$OmM|q7d,}? nyҪmS;4U/^_8W,lK0 T}YI'2m3Wh%?q#C0H2ʕ~Н{mta0:C%u6{뵨|!,v;qDZ#$+)NN +jDߪK$ 01υgTۭ6Kv,]v+(>gM`9|)|%ǩS)Sg`dDE%oZ7#&.Wʡ/i˃`'X*~HvZ;-4˭$_I&J,JOmyQ5ԨFi ~p8*O+5lEF.̡ O}d0!FR" S^g|Ny*:KZ;D{^ԛM~THЗ̦Яl7/i 'bXȎ:O`9|Yx-+ytJXNo3g`dDy3vlOӈgokk?sC{|pP|OjJW+K;H|[E]1 s` O?G‘7B`>uL`?iTȓM@fRI k:ȂȽLq"&cC$WʗXׂ1<&~NL62L^ѧyԻzes]旛/Ci'y\c$}ϋ΅O:c/;w]jѺY4z{o~I]g1B_W~]ݩvζu{׽Нʕ23U$?Ѹ'Nd {E`?y&#so/H쉯T͏=nAYy*~z^vS`XX^)GfqRMX73ϧi9_[K^=at[m}]"ug_J٪li=8ia bmEŨx~PTy?烏FLb+l{#XK1o;2ۍiX^)_J$L|&&/K M< b~ʿ^Qs׿{Q5Ƹnӽz+eō_sgD?>t?ypYڭڧOF-8#2QؽwdHasWrN,Vς/~X(Ru|a08Q,%Ɉl:-wBg<\BpI)iU|FF2R6SAVB#1]`K``````````````5=ocj`7<.mӳMRB AI"L[y+ͣS0+=J~lUw|m;SݩN'}KW{=1˼5eYpT*./i8Fvm[>{җ)~+`yYkA)1#>Q:rtݯ<Qrς;нwۓ/kuY%q)<}A|U}}5Ɣ+ׯ^W'޽z{:zm5ÚMO^]_WDI8?.:Yz2LjqS铧Qǟc[J9ۯV;uUyc}R &3rIm7VZk՝쒷d+Y;-ӗ{ϭ~C~nm0Dvrt.qzS"%K}eL%a ye%/!24~i|}X#+riRJz٥rQ[w_WOW* qs[}O,+;lٮՍ1'G'F}Nu]3y^Ei[߫XG}YG,³6K ~(ڭv_o1_0mi`RsM5۝ǏlGysy44I:+yih'{צphE"0Wy^}v8G,fYyԔǞUSͥ y|.Bӕ{_bՎ[Bt(=CҧڽfӨ#7}*B61JY0o7yg@B?^X,iWy|*7x'  {vp֙1FҊi)aft-ǃ|j/i>_vj錂I_i@zբ]xͣ9P߫V 1k&$\]_yW\->|5 C{?S'}#k/98(x79ZcyVO?%I?/:޻ZZ[_?T~o߿iž?{^,18t'Wu.:8F=s"&*vWPۿջλz[ʺqޕ`yW*& |S&/i2U啬S/=kN>o-:c)xou#Lk1_%\%YYνć< 4|;ϗo0vk,\Sb=_RVPX)HjuTq:O~\)a3޹w'CƵfIyƘjQVۭiNs `^',χ1ˎDгza*e8ŋ3(4= }SV1I%Wψ6_e:y׍;wdL%yoЅvC_FFT0ӅHCZ@&&%cq@h`0_YvI*m?CS%RE`0Т<*a}64՝/K f-)#ںmr `S8ݚo9Z9X:棓g('Zu8|,v;qDZ ϗ10褰R(ONڟھDye `yÉ,ǔ/xFuE`'ZR-m߻4meHh!Ƙr˜<%0 4^wD}1oF -4K~J&J,ur|-3XT-5`Qá; Sr o8ɵoG]: ȱpNω[vưKZ\|M~ߕ[Z "ò)g7+K`"4I,u8qe|ׂby#˺Nx FK耬qC+Wf[~_Q&i}ތDRv:j \k 1?z'4 w`0(Bp3ގЄ1cf“vqi)h3m<?yIY')} `"4I,u8+Klڐ;Wvg]:@Fla1v jdDy3UH5UEݨ8N{j5q|QYevO1wϒN5ꅒ.6wvQg|;̆[,@'Zu焝SOme)_OiAY) Sp䕕R7*Z'RܖZpdЃU5ƌ0w^BudD0 8/WG㌚֥ moqYf+;u>=;-|Sfu/c>AQy?烏FLb2yͶ1m+6K?BA&,\V3+X,?MZ7}R+\)K)޻NW-zLkk^LfToʦ-{J"M6Yդ-C77vѹu}_d{gyIp؄S/ޟ l^[_)%m`!1WDE$Wec]}ns!b1[a*w1nN`yE1^q(f`1p:+moLQcp,[ooRlu;^ݞYb٠%iu]՝ 3c.:޾,<+ۥ%)(uFNu}}M+\ܠ,–_uS-D.Bi'yл$_bչ8&Li?q-g,v5"y7. ӳS=oDB8V8tn0S6VL""'G'y<[*;,^>+C;kcݚ*Onk˷FKBdG~#_ nN`9^XVR: ]~C=mL0Lу)r6̏9,U]}Q'/v;6J|Gcuؑ;F>Dj5陛qs(" pԯoۇ|cGct;] Q3oȽwK/J:%@wosY ;v1IqyXW|,FYw;]E[މ]Xb>f0C 0crL%@.EpBLnC ?wݨ^{M!^]W>zapNԳ'zniɌ꙲y-cIh$oeiO6ϱ2lܤfTCq{jɖW:y~1`zQ鞷I@2}fČq/B-^)ɨ[^Q[6+;51G{22S3tK1c"m“;2G>nX:sj1L=1jJ,97,2(W  qڟ "ddp,/eVJc- {ec}IRp8ݡJȈ2 MfA+I|Rvk8 ^gD,Wʡ6q5rRvsNtTmI8/`.hKvkJRebp˫'Wc,&4qhO/N5X=J!cB뎃@?q5}3IDAT__o>Ӳ7 \)7ݚtiC.&J.YnU_mf/p勷\4,/eh %lKk%6c20JeS["y##$4ϛn)E`tK}Ђj1cb5INNa) }9iΔˡ;PK.-$_-YpsMl'¸'7 dDܒKfIIW1mijH1%Luʕ| Rm.EpWʗR%'?[=N;>/oq_Qhɺѣ]<ϳ|}oʼjqc}#=dUY ~bL}qed=kvj>y|H%Me7+^X)<y|1wo'0 ,ЉVUdeI o߿|jQ̐&;han;|:+xݜ0኿:I%^*WTogd [,##J+~{2R6|`J PdSAVB#1]`˼ "0ot_vFPD -{vma"xvo߿5[-{Yad" J73Lc?{$.O>|:>͐Hst\X)k1_o t|/Y_z]\-ʟ{y\ڻf k7#>yzu}bWx6K/7_昞 ]5?n*<}4ӳScy\)Gsj*ooV szd:xZ;;FJkS]vŕ6Kyer p]S{ܹJ1& :I[`0:D]DJϗ˘$eoi^xV `[k}4>u`4vkSwR}ւ-ữZ߫'+NW'Xٟ18f\)6Kz;b\:fW7Ɯ41;Uu%=+(Mwӽw{uO6KE>f)AՎ?1 #-XLV zyuy|$b;9:?IJ:x S$ѕ˼txyڴ\*<ϋonIZ̛N5ftWq8:_vj錂I_i@zբ]xͣ9P߫V 1k&$\]_yW\->|5 C{?S'}#k/9x#x79ZcyVO?%I?/:޻ZZ[_?T~o߿iž?{>J* -;1/7_{bsEAMU.V-{wݫwoEEz[ʺqޕRkk MX ugc}#vdX)|Z[_J֩B')O_o⌘/,uƬyID~CC? ՝K7 j5_ED )L,[B&Rf4u۟ڍFRgs--Ok͒1բ$[Ӝ6?ZYqw"#lhta0:Ca%*eBL/ΠV&U.7n,=9F<Zy& |Sd ѦuqZ'۟ $U=-Cn Ȉ fp RvHWQ7d,}X  7u.BSUvh_Jk Z_%8}/ؚ&Sec{%eX[T^ }` (WAw}҅ע\عsqǎƿ<̦;9:)œ}/4<1RRm[[.Q& S w z҃g\΃hɫn馦l]6Ȉ2 Mf$.Wʡ/i˃`*zjca_ [QBh -*͒|=R.9x:KEOmyjOmQۍp(?T蟲WkWS0v'uL`?iTȓQݜ:̤>u 0{DLKyǮI,/hCw@\Gڝe[nBht-e,*>ͣ{˼/7_+rlE3G 9{׷Zc3ޞ?ۇbgי+"o;tiRfF')ޕahL'cdd`}m7=X힃2(<ϓWO%g]E7X f('Rsz_&=j4ܖ8Nm=zD*4XSO}%klU\촰RQA~Z?(8Jhϟ>4Q3͏ZkV {?y,#Jٞ*vB,F\cլJCgeԴA%pePIXb)M1 @'RŢ'^^zkk̮~b 1WW ō7e/HYG_lUڭ,Bz͗nONq0UþlwDS[;>,aϋY޻R}9<>gX:-dXhG+g.N\\-vʧ{WzQs[sܻ{/Hݐt 748t$`hݭ}^eY/뺩"`z^6]iX{'7.l%_îFn1 ӳS=oDB8VhT|""'G'y<\ ]+i,{|<2Xq_zQۭNֿBD).fЏyusŢ7YiTgfZ=_Lf~,!eA2.f!iɋN uzuzv2X3b;2pǘǃZR='*& Q9֛[P}7H8.moasҋRa wޭI }e~nçӨ?an]]_㼮XW|,FYw;:/Bwݶ-^6>)ɨ[^[6"jqa/3U39 LwM7_Q^6Vtá(BMS|! )dߓs~U '!AYgZs|uG7.6 @; '%}m'j rWʗز^ B+12P\-Fz/)Wʾ;TiZ^P##$4ϛ vNȮGJ'KWۭ98/\z\)&CKؘƕ6B#tɝڒf9q+^\JϗR|S=-՚<;qÿwV 2IOSXۭQ" ,rKS UߓP)bBN ;q|12PuJߨd;NmL:\ݒdk삠%/Rǒ,mYYN`y|Y-@)a[Z+1ǧ)W'G'/۟Q&i}0vK)[BLW1S8N/urt Kop^] Ȗ_Os\؁ZR%yI^+zT& zӒ_s_,? j1w?VgYօ~*WR >+,ƍ7LeGWʗR%'?[=N:F|_QޣuzG]߻GQd~ ~V&WE9&z3'.#y^նSӨgD`/i*]]_xJvX_8ao8[/x)ľ}Eɶs2C:N sAY)6WO,L$Rztפ2`/?vFF2R6SAVB#1]`˼ "`````````GaW> y-<1S;` iR0 0 0 0 0 0 0 0 0 0 0 0 0 #N\3kIENDB`nM33 V;I_6PNG  IHDR`)gAMA pHYs+ IDATxOhW,\pAP,C 2 DX TMJ {؛!n.^5beh;P)y+ WP|}F?cHGI/Q p]^w.s).׿y0h Z-B!@E`"0h Zw^w wppuXH_` ˮ]@GܯX!@s ^wި-f.|9ix8ichƪ}}@3ۛ_*?_,7ͭJ"O3%fn}#[~-nǼt,3~; Rjڔn* o bQ)$uCHlV:zAtrX-t#CÑa}!;F? sWZ( 421Zl"#'k}_X@}TwO7[O+0h[9y主ʽB-u/=`OYϰڅEaևmJn?+`H/z "@\NQ?R<_x{xC0hNS*eKjߦsS څ䢁u1Vpx 4z s3-;`*Yq00_S+ '9r|s s幅Zc7\Z+VN:;6Uƪ1vsl 4}t#kN/sc iq0}wr?gp`7$R di&  t PhеJJ鱛c[ѥå>|ToloffJ@_ x%h1Ţ<WM9]NUC~}q>i3Q i7ߊצZ]3~?"ЧY9}/ndqIzWdq˘<{tt&xR2?dFZπqtrO *R+˩ӑ zd ,Bڡ-y&<uXRSɿ%'&vR*t$OmJcD;{cxحhF)BcH5a/$fZ|c.}ݙ|2 {@ZJي}3-K)E^w~ќ' ZDb6 6=>[ʹ`w reiSHr~Q?Pz{{On;Cje98ތ=S,٤'_)5XceRG_-[O~JJ9LﯗJFRW:M|9_EREͥo7fJsi`ॡ̒ o /TJyWb6!Sd}cUʖ,&&*J6(E;Q)[K-+SѪ6R~߾4\}?SY_41WJ餭K3[q\H*visƨ+Ž#t5i0Mx"- @Ǣ+SXҋ'ȟ\*i5+p$瓕reP)w& 8t\w3e=Qrۇ:«KĒͫRRž)*(&.Uʕu{r~?5\C @[{f SvrVʱZ U[+eK67WX5LwOwj%z(FV ]#޵8{4}XF`O_(+( бOmH6&'>.$ 縒 k&[<**a !I$7)\ZqptAu<3MS G_Gf Pگ*ppOcTRniSq;8{eVq6K>V =pUx]:QfNBT>@4Sߧq=;GI=-Gr'^ճFd8+TʖU\,\k(/fKpjC:%ׄk:4%+N>xauVah10?pXcL51҂kmwk:kܥ7Ď9v_3pE5SAAp 2vurnp#D7s s7ZhIªMc|%_N﮷W}W!ֵB_P u{SUJٚ[J&I=JFy`ї-%:t߬Rv#-dT7s)5 ^ >٠.X8dTAɖ-T/WW]$X,N|}Va]FJKCׇ2FZ_34bqvV4:~mӁJ!l×zzu媕lz܁Jjݩ_X6 ]97wdubjbq~Qnd:V}Zй`1حkx3mjr|;8԰TK/fjqL)ZIžItD-R,^9ut;^yz TԵ`ї=+A=ѩ=M-kRCׇu{l]^w.{]]]J_vY~#܂Uk%RۛòYY GvQ_W'UVHm4M3ɥ:U.UC)5~syMAl)tUVnskǽ? 5\ -hTƅ$hO|;ʉ BC; Z-B!@E`"0h Z-uzBWY45Xoop1-B!@E(0E=+`"hw|5'\@E`"*,GF"ɿ̧tYn'u_ښeY;?~DUx[ȬeF:_еs r맭ܳeY "#@_ x98>9 =_cc>|~<2opUx[Xv9)-؟"#ёqVkpK=NkO;Lt.2j Q CW== O/uʿ_5i7A^H=N}՗JеP%O[T ܆hYPJ=yNcl&p4:};Riތz:g >A]?|SRI>еnaynaWEF"53Mp_? e9) P@GȿGݎw}d$ՁwLMN/mgΗxY.OuH)uP3{?>sݝ 8%pYsDf۱'+OE^wXv,ۄy{K=N)>|>_Z(p N--LDe^yb#tDO_ZgሌDX:.c͐Cw:[ pF`.KzBy^B7\;j`7 EfYVr>)OPP^juAp1oYV NX0ΖYgޡkf"#gُۂ>ɗ(-X3t-4fɬeN\΋ZteY>Oy}f@=]{zՂ@koMD3 ڑelNeDK҇N~GRMN8}>¢˕JTUȝ3H^y Y/qna.2v;Z'gȂa̟S]_RD@_ʓf^t'TZ~c)-V&X}>__F|Tɯ*C Wu@t xx8i  |^ɬ7[sS9Vh'S22)J$E/] IwUSJ|dI0}3'8gҵ>J%~R)OhI )jf@)0ӨaSB c1}2L̥J:de 5XT=C Q5^C`Z J__Ȅ<=JUeQ媬̨P)~_R  z1nBɾ~n&~Uu8Xa2WA#w'+s|x9R~|\@8rnۑuxGi PBc$8zBӍAϟaNwIuz/<|]TS}Y] È#0"ʳ|5<,pu{e8W/ޞPh˧4.\dqT;<RSfZ-0$b`$ bu =ЦL>W@*UܬH`]󼸓(5o9oy3{#/!ۤ)/&**^־^&QcDq{JٯPT).usZ%CG5T?9t1v4zqV?z7-ѿ,߾:jڜ=u@uin$SeTMӼྞб0_\l8cX_:Y^sa"g2sQ#'nMþsNTgqxüqh7_L7|)ɟ=6bI[ww[~eX꤄锗ړv,įB7[yVYznuZݩ>yo^0_XzgGmEMMNQ^|k;= c̽|ЎUCSS [BnuxQ "'nVu|X\(v.` "~ɩGNWkl/[;#Gfr*Tk6}|A&.TzuzH9}Mq⒛۷nɧRGB2rO\%%K,M7D<WO:kkiͣ = @s_LC.嗗daLlc5m NeK.{5`}ni`_i&zoj_j.7GMUv*q,j&UgM8xysalof{Q}{G]}ۤ_#o[ @3 M^#׌0o˜%{Dwe~\MY(RTOثTOm{n8svCԎ\/W߯nsߍ{IK ]}ՕU܃iB]+NUR" " z& E9u9Ep>D枸*NHYyVbZ=~i>L}^(ָУBQ蛸5YWg;@Nسƭ{-]|OY9SGr9tn7s۷nˠ9tCG-K89z ^.X]Y-oI[SGp kbzfzjrʞe!'O'=iWUwy;k2 C[ĭ G=q !>~7j7s<ư&=ioozyPJ0srI&ⓛ.|BS}YtL.CۑRa({ pNyst mQSh)E~*.L^7vy$A{`Va yڸD-U29 GBkn !АhCc}_wOܣԄ1sԔa Uw/L-0ܺc[]K&(- }.=iw8yu*GŻ[ Uq/Լ)sdWM/K(?Lx˛WMmҦ+`DDOw- `.C{M . $!`!`!`!`!`!`W|ߗn !vwNY@X]Y3jw$vCOcM6`M=qư̑9jv8W7Q/6bF/u:֛\ zSCCCCC~@Œ\!ΡU߯7FA`'nuz_}?|=iͱLn0wЪםC'?7 CPt=d$XָEx 0X'+Od`1b9_Ww*(. rk%FB_nFuڥ(B4^60[A RƞmӥՕU!5nK zVZ. -^j]j7Jsg?7=#j1R؈$s؟2N#y2=ijr:Tʞqo|`̚,0M'm/)oo| ̛,?7GMe*'ї2I8I/2D}nueU妻l50A~&oM$ƭ^ )Yy̶7^6 [ʽԑZNីj˲pO\թrZĭ4!;L.,*|Kqy'okkEy;Uu+gR7D8enz/l p2NU0r)rUU- ''cX+ 9j6FdMYrI>92?ׯ 9`2ts\LsцP={kVy,ƭϕF&_>z#hE QZ.#k{c8zʭ IDAT5ٓv\#Q.UAiK/pVjK標mdPd,ǪWj[z4 I<=ZkܒozB0]@ 613 #G@ɒfrI!D~.|Q=G2@<lg2l+ Wem& fF\|Ȥ^088zBӍ=VmKθޭ>gzW۫jUkܒqW`Wa 2w^۫$E>v%T WZ.ָJp[S3ň x'cL. 0Ka2씟WAqeN#/4X4j{ʳQR`JDs :o=O_ NbGOh132 iT^αJ.aD^I\cpÒWWF B {)L|. ZlE1LIoW/[AiK"8zBӍM&,zc*UܬH}|#ŝyy3{#/!W)/&*s*c־^&QT޿@#*ťwȲż]ג zw:6^62t@Neo][=p U;U4?_:ӊnrzg権zʁG?}^\fpIn Ønrm%oؓvUlEGqfLIw[QzWZ.۟ڗw=QSsJܟՈAΚp %). \bqFVn+ʼ=AQK]uy}߿&g`kn7aW=NoB\MY(RTOTOm{n8̳;xQ>vS;rS}~]bw7%9T/rV\=;3l g@0\\ʳJi&y^<~.8@Fzy^4޶LxP۫.NbOeo5nK5nɌv( )o+37IUsʛ,ۮ>=i_J/WP1MӨA.C{FМn'd67lXdOڛqʆЃ4ɤp樹8WKPB@9jK?@`2 %ʐ> Ȑ E;0r39ysysL,Ӌ,*(mB;p{,(N~Ti5ayq/dԧΣ5nO\"P=6 C7 .QBȏܺ [\ӨR`JD(R\v:~)RfIIc R0G͸⋘%GUG9~Zi}Ya`a)(oL41íLue4llf~.իV"3ˮ¼5U/wإ2;΄5!Cp> ;U4?X겭8qmvF?]OIU}Bygw7ܺ#'Q̴ VN1Ρ|pKqQʫOܚdj^ӥs#i7_L0o O12BY]Tc#fBL\*.OHXŲ'\22o한"}reUݩ!Q1=zk_̄s9DKr S+*KOVWV'}߯T;'OTҁۡU m}\'^ċIcHH¡WXJ!_sX$Ԫt aO*GB**@LQG^T?XOި82zd$H [\^;%J|u( G)zYO?"ћ3ʚ0{oV>eָ,UwӎjL#8u+\^`ΡcjG&uPd)C*J{{VwvۗF?1 /e=!G`ΕN_eN6ȫ^p&cTy5{WHw v{ի: @{Ѧk .0/ !D}~'>KrKe8Z+"}+i}?.s ZaU=~5*- X͵V('4<ϫdyLN>&]GKWXm% u]ytsj0 {Ҷ-0N#*ȄDsi>]m N+?T~.~Wm2%Cm.yq%=vXJ`ړvre哜Qj NW3Iړỡ!|/nX p)1 EtcPR&yi>X\y'&G4}6G|A} Ð[K9jD2Q76Rv:L#躡nHw(CCC{=q<SuO\9S0;Or$잸ĭ@7^6.suz@Ŷƭ~{V=K!C/# I_|Hy=?vBotVa0\% F~p孮0`mc0_D_002*0 ^N 0X@fsXn@Y4C\{t>}{02Z'zk!xhoz1: : : : : : : : ^ΡS\(NX.R~@'nuxҞq+uЉ|)73GV EЩ׻]loi7}]Psy0>n!з|B4^6|ߗOn{ʷ.a&ݮB^>y0’+G7=qӿ1?o:+o?/j8N" Z}@ u@n744$Zk Z֥՝#7W'&&imu~\*?/ԜެLC5c @3 C:4H)7BLܚ<~vWΡoޛUA9jړvaP۫6}{3s6}@01 CF;ͱZ瞸8-IUp4\5 hF ʳz\\(v1߀֭4x* {\TbRځicW] `3?,Bٓ6W0PX`lo6^6 @?S[ីo8֊Fٞ[ܔ}uCָr\SJI*;3tX5n#!J 9.t'}M_|itaI;\kQss}3xyiŁ#c!Daw NCe=ճ7 \8f]Q/kj_W]ܷ(GOȤ1;BHI!.wmvcXKn%E3r\E¥w>268n]d9^jQ&Mdeh:P՟L.%gtY 4i SBĥPLqٲMMN*k_QrcnOVJ`E_O(ĭ Q*vfr#SJq\)so6w{BQx% zB&!n<=|MQgCVǤ6Q_/\JdtaT&7iި'p ζ9j|(Yz-ȡ95eLJ^o*klvЙ&CGH8R pUwipSJ3pӋ/.{8FO!8q0}:v¥җe>}uwۅ;8ֳG@ Ȟ5<ѣIŅb*dZ]YLHŅA>LO>^٩[AeoXO>NPHzg+n/EOȤ1ȀR)"eq5nE&<3grk{#rq ?^=ccdl-yY"$=ǃaVq'Ug"P&Mo<-h@bD>D}up)Мn'4<ϫdyLN>Oy>49P+0 {Ҷƭ:2!TMj{5U\>pZї\zvx!W <ฒȋ!ɞ IDAT* ^Yݦ|Mou@@ Pj]/\4_ M7=,exT_3a@fs}3C'@U~dxBx${ָ棝7(7+-d, ? i/n8 yQ0_C_0~YR~.oa4?v8 k9 ϣ꫉uYM S#]C.P!D{:/%y3N=qe90ܺNW>J5|{?&cx0o ܷW"j+Yw_߯'~ijr5۽Md75nx'}Y/h`DDOw-/t7Q/02 @@@@@@@@@@@@ u@n=ah/+R@Z@/c :g.\?{t }E `V(.` ;[߯g  Lzf !\Bvk|/o׾^;vqK>0o25х50@w8΄5!䒏4 Cd\i$tZu֝c 0@w|`Oڑ8|059ա2f`PUBW>0G 6#tGeC !d !u`>AxxhhhhhyP\]Y-.aސ4wueui5إ}_ !^! 7ZHW/&ՕUypIVWV鞸_L E^KDqE@ji >xyB{y67K|mV۫UUNC?F]?pzJ˥KI\*-[q+PʳaUucX=yRn&WZ. [[80@d<\?grIiUsԌ<<snoƍzjziz@N,|H0gۋ E `pIt 9t־^S9/-i钌R Èd(%"45! jAڅH&|LN&HJ%5:o  3C8.9xy Ƹ Ňs놇ČĆB^p :SgQ|ߗGgzAkRYjy{or7syU%{l䥿j[<ϓ/K5Gʳj۩a**標Gn%5n%(577y<\4G|!:/N n}N;cXaFdt~~.#{Hyryfkܒ#_ T{Ҏߝog]h#ր@>Oο1߼r}[wL>966֖Ro^{-Rx]__g~="@[@mT{1ͪZ|h:OS:(S} ໺|<FVNc[m]EDsO\!G4`},F*.Ӝ}/FF 32G.sg7o/Dk ӜwGa3wT$9NC>`t@#6qQ /<٩/sГ>d$LvP@m$㢏q1lq0_x5z<5+;ܹqƝO.,?trpE]}~c;_^_8RV*~y}mw𨼾->.g8;aOz vGx7> ˫|l}_+Wޓm߼r?>ݬ.vI8]ٖd5Uhm&"O]ڛ7o<|Z+W>~i?Y~"7By&0.͝-<^pE|W^2WU:l죱Nj[[{0dW8T( !bMߛ?ԓ*Hn 9̨\|\>j@;蟞՟wǾpu~3%wPЛbw{amĖr_~27 KOKgg[llL-=->OŻկ׎~4јa}ɳ_*0 c?qOc;苏eX=wǝNM(I;ғI*v%rR;Ȼ)2$>; 諼VF!F'ws_߼r~rީyTMG vMbl7[[kSOB/;oD ۑR#j帮gIc_le!ȈZ fߎ w>Ȑ緫T(1/?YY]Զ ylielS[ɩ=y¿~e Tw###r [kv00Ȃ"G-5*###q] O2p%rrSoSz9.~@MxlLᗄ2 +U3`j!95uLӜDpq? [;;,?|;=U5#EaM\꽲}4ҷ޼y]H طσe[C"sshߎ8QTI?LAԭeӜDN Ӻİիws:טuY"> __]6K>7tg2? +Eο;zL4&Ī 틿8"[응XN#`radd$YI޼rfue͛7ӿu~i 28ڢ-;5/,e,rdL +EF5GGGgg g@72c_o^js]0m!eM$)e4n4'!J-ԈqIq)rKyJ$ g(K[fDأ"c꟫10asC)P R}軄Okc(1F-d3!ϻ-~'~˅'QˊTj6\֛WVX 5Ww4Rsw٩_iFN- LiC0ZBiRՈS7/mmo鯚`Ffˈ#Ff^\]Krt- 0Ȟz2N`D-#}\[ɚgܔ+Vvv㢋O}.ŏOY: !N?[6'fK0AMJxvOv^v_d08 {jN7}j.3ֿ.u52#gIq&\S!R+R(Tw^յ({r`.*,wieuqSW_ܪK%'ToNspfH^*|:::=5{ovllLgY?*"8/צM/.I_*U{ӥK}׏fǿToeGFN'Cf k\Bi+w~|;z~qqwKOKo^r|).^둓>B(0N敻4W _und6 GGg~y}/b聢?{@?! "dOt죱6V޼yã3]x_ݮnonbL}/bwf?Q_QS?0cxOVVNwGFFV.8;o !Nu죱7[ wggNj3wiIȜ+B%0|7GQB_>KOK2ݥK_O7]τ}K166³Gx422x1.QbSK?ۿ0HB!Ą6rxW7rxxXqk4Iϻ]dlhhHqq ^gur(a$*I^|WO|W8>C߸qh%W٩{^䫗r[g=HmN}󨙍lLgw_o_8L敛f(w"ÛWnf_=27:$Ch=经h죱o\KzI8927-gNudd{-rY]<٩\>Z+4t٩C!D EfKr@" /}pWIط^Z#~E@XĵMv?]oGD_X@\X\X=ã ԡfa#ftҕ؈wu\vA 126bF/c "DC(LA!a,zsStDh! No``1BBBBFv`A=0EcЃY!ߴD71BB0_WI%BCgk{_o8n~FsONA}~{6Gͱc9jv]W߯;N~.o|q:zȊ*mE 4rlOV5s3c*r?TW0_(-2UQ(p_a[ՕU!˃NU>g?tdA*?ȁ M:Gɪf=+٬qWK8WSsK˥֯~0nTDVqQm $p8-GosH^eOڵƭgܛ'& *[EOXIA)z)X߯{<.\0j1։/zhšpn\+eFDC202 JVWVe%H?% 8T+]y=@\ IDAT\V&O>**n1C2F Q(mfgfq /j w#I;=qՖe)/ីSƭ[iTw܅]XUO|]+;uO\祣 H:#*}_0[)´&~]?C߫K}jiO\vkf@l p*©aR<ϫ<-؞c.dp:v77eTȹ~]mV/#q?/F)7G͔m8 Օ-uc)ϬW5n}4Z&ɤ ymC6ܾ{*N\?2I{I;e[D/҅oD뵏+H_^+59jf[*!ұ{rZRiR)n~5nNb<^py˞Ʌ_Uq},|c0 yʏ*Q~ȽʜF+$T{ "&ӨR`SMW #ڱCz+.t kf`q?T^n~50:RygEsT#D9,vueDW/oO(XKidMbF92"@EɭBI zKnDƄOM\3сKg @s5]m T/3a#:Tq"Zq'\=y^pwTj1'_I0^b]gMbq}i#g!Jɭ"rlS7@5"|V2}\Qa~.>(5kt(v1\W|"[zM>;F)R#~,.UKݥn5㖍uqW=ѐ-pD+E+ ՠ5VPĸh6^62t@N% o][=ĥWeTMӼྞjI_ΡSݩn=/,D G)TĬbvsNTgqxüq07_L7|JĕЄ51n¸kz=xUs*Ln&;@2AO~`XLfO|859WyVՎ **7_ݩpy8*X]Ya(.|A"kBCՕU{,X"{ԬBO 4Mpc4 juM#9 DžyU<$沄Y#õRי|Xq%lj.{Ϝ,sv'[eVV&+*SF\XSZ<:[0V:^ G9֥N~f*d?^Rue~]6T{j+NC_9tn7&^zxuݸ%m\%Bŕ`oVOd垸#\GJJl*fRtdJR@x t HPԷa帒edRK>N]j,jN:+Zúaj?y~R[ 7VaLu>{9j)ڛd3,n}rqNC`QSEN,[ɭNv5 Ci: |on%.f[A)s'lV:(>NfSZ50vZK} /W9\jI+-yKWyKߒ߇uyxs@v`:->)zڔadL>)Opdl]z6HϓhCvwGe7pl |TB$5oOmMY,IE!A.fd%ӃtH[O;Sv]&Rڹg~.-/[)Wꄁ /zV_uK1\sPq @įntj.)3)W'I sw{׳>x /gb{g\:">(C ܟsXZ1ׯj=5'̈&sv.]2LQ^ּkXSg狠ڨ7/1cΥ #%Nze:|T8}n_x'sœ>iMY7*N\0fnXSVl>ޔ1R帢gfS]]:( xȽ6@ ;y~GݞmNYJ $ `X;Lfuϫ֔Eסo Kge_~7.eѹchkN 6;5$[ܪWd$df2SwM/H`Tl}% +}"%tHLӁ$M } $F*llQJ~Nj} $F=]<(FohM)eMY] $&3xs5e$N!CqYtK)ux|tL%,0,ZS8SgA'r+\ VC_c)Ҩ1d9.g@S߸m|,4I_^oQBgN5pD1vHuNکo\DNk [00 qƷ(#C?vs$B7QFW1 .$L]Kx=jqZ,hWgۥqqٔ9aN^LϥGsqvZ.f p?[Nk?fX" k2|]r\Y.-NsLϥ'OvZ?JXZ^o9(-()%xS)utPgjFԽ.]`$ue͚G刍Ge=1o=3֛n(Oq^ɇHE$$O8%gZ5zWj6U>*KǗ5eu}]y`NLC7QY5~> r4M]n|cr[gNk:Gn4Ѽ AD?vs$k5_+%R&{F >WFC1 |)їR*~ߗAPy}_.O;I'ń 7†d4@j^h^}zX (2_s88UfMYq:]zKZLٔ?}n%b>ѻrӚoLǙ`S:(M7kZ]>8Ń8vyMqqEJh馧_9½(BOve/VtKrZtA;W4d VU(t0F>pF(R)y2Tl>BfNZ5TgL'{]̺V>*/-/Iꑰӏsl4J؜0wwcZV5e-uKٳB[SVyő7ə}濲rqFVoI35fSas߹Riܥ h &zseu0'dK%mSst743edKZՓJQ)ISҽ5eIsYӞO)eL~g5o}4 )yz.˩TJeM뎾avC;v"$|~## }q/P,(;D8Kqg?q]EEz.]ǿXq^G/hS kʞgb{" V0tsh売~՚$ ZZ^㕏:&0gBb֚vwuIsw1> 4si:p= ÐSNY_D9Uzeaeoɴ?wٹϽZ c/}ku:vR~_8ul)@kz|e n?Fc$qݥ lF;t?[Ho`F!.M{*b} 4%?aQhD.q@AFIᾲ oINϥݿ8.VXa:}/F_H^WCn%G6qH_uڲC{$""/?kzOm;#>JJ!ًշ: `p[kw@%,|zꄩՈ-{tQ?t̥i ܉SV:(m>޼ɭ6wqu<\)?Gk鹴?nLb Da"<[NߘI~0sc&}3f^-vRwW8BNym||s NT;Vra$>\F[s#Rv [_oe-gpIbϥ0aTT Gq-Vį휱k5OCi9 |on%.f[A)s'U:(>NfSZ5a>XǵZT|qũ"ZJRk|TW/8Ntc/=#I ^ⓢqfFv1ȗNT|T?g $dk4xQYr 1d(=;Iͦ ko5e0 17pZv1+'+)C]Ic'M0;U䊐֯J;Ϫ'S|eKq/b_MdMYџƥ.Vt_q)@kz%~ewwM.=WUADq͜0YuEo|9Lb-ϖtD#5 17pa}<<'_va@2s].ޔ1R帢fSqJ-##r }Nvgof"o ]qNh4-Oӗ^uA>Пk>4.8]\QF~FFWa8gs]^FR9z:0FrGSWtz@wH̝,cxsBj6Tw@L`пǑERLJz$R4mMVrq # ͱqEW6olP{{9aVTatԡaiԘs~ad^7 T77.R֔M8e,Č~FD_In2(#C?c"t t t t t t jJnښuAHu [j6eMYq^9Nk/ҬkTn%W;U+.HV970ٮ0 qRUqI0l6 s[ޮC0oL+RNz|~`FtL2Lt_~IL7 G_u1ޕug||\ךjJ;< =ۯobښ='\ݒD C0` pYNk ]7*Ǖ[ҽs&wF_\F TaH[S>ԫv3CBZ3ʵh *>)ǹ\C/ @L\F 0*5x2%t<оQE|F]kkҚ:W*JL;I^~ƿĉH Ю DDF݂o䛖!5ؠ|T =fSss ^mD>SJ--/QUymNa|+D}z?,ѷZxTݟ5eg;lSR$|'^>*_\\gx#5֪aE-/[?c^DNo7/|=\SH٭'j4: ۔7IXϽY>*z 0 -/U?_DN?$u15GWJ i5 iaUFwct%["0|r*l7y)M?0qN\>*C30 @7 /#BSn_R$aXV-ݣ^yOW;T"v-j~ƿĉH$u1" JDl`v֩B01m金3J^=۵BRaUC[S/m)M.xϰڔ7I Wt=yqKΉtjGF_H^"W6,xwΕ.;"zϞ85eV IDATQ/06ӧ1?KKH=,,G+anI`a_C``]ک-H$u1HC`|imB7n}%nFϨiaXݮmzeJ( ;K%=Nk9aFOtOB?mAqikSoOMVr%DaWA_DH~ƿė=NA04 09(L8-)$ 3Սcݖ3K2G%7'L>mvDڴ5-?nJi.[p5ԟg";6֔U.dd oL7mw$z+0]☹1#Xs[zRJNi-7ji휅8%Yk֢WynQ׻={[OC.6 OBt~#[Sjzh<\~2KKduZ+ Ð0\F-m}%iߏ4y}2Goe8SmG A,>)=Z|~qAtPZ^cz#t~K} pZZ^:y~"=Nd1SS$%Z&xPkZv1 v =iJ_XRm_);e19)siѹ/!s v=_wMZ0w^* ;qy)KYA4h*~Wu#bV'Я0a,-/IA`[xKK:J {aVqDQ9I,=г*y @<8a.f;aUH:93{^SV0E:C+h4Ge ;Iϥ3,HTfVTyo5eQUl4a֥sv売.@v1٭Tv1W$CF/ya%gҵ/Ņ\l*hG;$nOJWjZUewՒWg{;6 ֢8S;WNZ/p$+ l5 ...vwúb.mGDV"kʊsjZU7eaF^ -VkU siy!K7Ŭ9aJz؂vI"gسAZt]貵|"]b 1""*?sc.366zwes&#2\2p03tTž11qe-N .)5eE;D .q*>y~ݞmNւeb}?Ç&6ʸ $%`%`%`%`%`%`%`%`%`%`%`%`%`%`%`Kr+ikuv ;Ǜ. ~@,]:(yLͦ)++Ǖi-\ڜ0-߰˭jqNq .f_/jj`5VJYSVj6TVy>噙3q`8LJJna۶aMnvB1}cZ);>xf?0 #0~JuiNu3,wG>u58uX13scfZX|Т lpWkʺۋOJ)0F;Yu{_Q9~eޕ-ww>k`!omCo**xHs 0}V½oOϥRsr\-:%Lj6x-σ020 *Av C`OnU+u9WNH 2} FA% En% ;,783;.zXH!0R)=FI>. Pr_ֈN 9"F!:S9&``Ŭ8N3LBܑҳ)s;3;/ϸG$zHo-_0HC`nVW[;eeCaەDtkGaNq.T頤CqEq?qvaeMYH8%e;SJa4H^"WV" Fne6ʭJͦ"6( 3,TmD>SJ--/QU%nȇ/$џ?z?U'cMY-gc7S^V:5 #poҥ*? }~#FvŅ>Q/^#y\YOvn̠¤F!csi'RŬg]gerFlJ{ڜ0 #Q9W3.kʪ֪V.|=uoOz.)h5 Et(HHꛤZYZ*>)z6H;=v?yيwn~֔51XRW(v4/p$/+.m 6 -9}O鹒-W<]avFJe?HC`ȫimB7Ur)tB .0>=IںF^￰S]V}iMrG/*垄/48ta&˭ K4Wq/8Na`MY u2&P?iMrKgگxfN҇%tbF?G? '馰DS9af%_wo/0CD_J)zTzsԍ/vZ%ttFd½Y5+ArRC d帢OV;tś1#aE`XSVakB6nRVrk>ġ‡LJI.H(+A.{RG1-Z 8%mGktIQNym||NUkиl*l0@usi),+Vd#$[;[d&3~!>Nٶ1hmIqJAizR) 5%ZU-W֋H>֪:DYZ^ras4 ;M"R]vRxTj6U|~Z?AщAX D;t]Yܮ=$wg_dے,03tTž11qe-NHq)5eu@Ț'O۳e⎖-myKW93J)s´nX_صӚ|8`IJ'{[d_`  s>R7{]` !_K\yUл }u]DCNV+;kAFέ䮙dǛm6oxS|y[;Ǜ½Ǒr+9r+{ '[)ddƦǛ7Ca,[1Sɭ1)Rn%'gr7/-/j~h7愹ۻ=n\:'E0֔h4yO] ZZSVj67:"\J(5ҧެ>VTѓNws_!Yn%'+ǕlDCKkHTC2?P'J{ i:sfIB?[tWO`%{^N,I 4*ϫ֔ 'G:y~XBd*OvB;z kJ'#% 67)Q)kiy)0턇%Ih4 *$+'P^u_6x5Q%0q&U e(>)Fn' Y 5C &I@BtGIȇM|+yaB鶺g_sOӉ."fU!=tG;Gz.-adx_9X<=LA~Ji)[7gHͦGQwd"20N:e䁎7t Mh-C;^%Ih{Y#HP/a^Ӽ& ۅjRzbi`p~w s”cZ:a-ܝOn'O"R=Z+FH]u&xt'qǢ]N1!fJ`03JK~ _½Tv1+7x{s+F^0p.tn82z\ڴ5}֔JJA~O:.50d`K~bVzvr[F=*yؠC{ >eۻۻ-G Eem>ޜ1޿^Lv6PV;y:s;,i~Ӛ87J1܁|>zԥ|&FKͦ"Xjw{Wn">ww`NzfS'E';(,I.6'̰wIF^ (>)nRخO&l ^YߝD/sޕF$"0Rz * r EܯVkUODGQJj6w%##3=˳;3'̦ˑPSKͦxf~#[J_TVu*h?\E m5>u(|pasi8Wul*,)K掚ǩ֪oד) [g-2[bۆafS3s;qvZ dff.5D˨8E1_N50`J;k҃ HH%, IDATK?~@_  ㌏{t=`g!ӺY1F4YSMֹZZ^.`8QJyRv 愹`G`0.Z98N^)=Zm;0-;ИF8c8֔`0jO/}$g\aaZN&s'3y}Z}?qeqkuA03j',03 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Z466"]\\@>ona8u0]oUt7`]B ^+E:T-G-#ӳVLV^O`n/ [3,#^ٟ| a0=ӂRzw'~ZT)1D?yvbv7Z(gO+~whӳ??g D`;(.c|''+Ϟv Jp3a89nzヤg,kE:T-G>/_*_.0xAWӓ͌ȃt\yϸQJKh&rc#^z=WD(I&R)5eP!F^-W懓B̝|vY[?:T-J+]a:0``<򞑽<1:N^:oRwL7;fi#^et "00t\4Jv'{ԕ\ N۩@:T-G츣 2I?kJ*&'$UQ N^r$}ӁG/uELUQ?0u5`_73|h} sӝjUyf]6La{i5R;yʗCÙf–ؖ~gʳ_˲HQI_9_~?y .Evz`?kׯEWBY4kRc7 [;8|׮_ |c(;->6vіvW]N?[X5g] S|h}|c~$7oNC5^6'LzhMNĆmt>,o|r񻿹Im/J$R/_\{8u+|/Ky^g~w{ӋzGK{'z>b^V$0̳J)sœd˗/,kȆ+g<%|W;{ٟղ֮?ک<9vHUog~V^<=9sj|8zn%^ Sý=Wm[{gWdQJ K}4J4M?mNj2pekzR!6QJ{7"7_}ո1.՛Z3w3Ooyo굴<ի]`䁌JZXfo77o*:?(uݡz綰WUw^)˚Iy_܂|=Xm4Iuښmy!g8WD{هղJen/S*Ԯׯ_ݡt"Zn>ZӁWN&%vo@0jտw#aH~U\}3'wW3$ri_?R꣔g]y||ݳE74\~Mv_iE*I^'3`JW^ gS߿͏R?|2{/__i8Fꃜuɕ ?xa{Sxomt o]$V~I{HI+[?UPZQwZY-[m7o=?{Zvm~U>Ix'tlmNyI}zyX{Ɨ_m뱅z+.80(%~g5#V/ᯧ/W:s7UW>"I;zk ^/=X-Y~O^=#jꆗwD)5mM Fs ?͞猤ѹ _'o{< ׯo)zgIQ,|gBK OOJtIdҴ#~\3Z[]uu?]y(|˗3:zz<( ``[S˨^g9މh7ᦧRիIJ][x[y;:.ʳ7m۶|R+χlTFwH:!si4RV$V_~.-0N5?ek"իxA?V6ٕ0gN}zX2:! S2h6=_rdhgBA{W ۅ9c>DwoҎXH7SHC=PӫTaeڏI hJ鉧AZzZ&}р2 KҾL}4{N_[Ϋ׺oA)G[/O/ rjn܃ՕnkwRj7\k"!ִ5}ݡ}n{H4[/0sFB&ki_,Ǜ?c+gN\ZD?ЭFÔku{MޝKfw?Hϭ9aʠ={~w(Mx\e/=D2V޶E} ~{Gkf[n)_JF1>G[H7޻W;U{oh"@XǔG\8; vf;L/3i\\z_JwjfVKS`yuڨ)zg̞XbfУG_h 0d`IX f$_ӝ1TNpy),}"\am)XϷ)4}/m~+ьY ltЃ>;QJ߶GN_~U4+Y1ϞV9z^x{ܰ_u2ބ#ýZjyݺSu[Sϙ6WND:\~ׯ,ǯNd)'<|0b#M&|ft_of拓tgW޻\OxzP7iZִU÷cɼz88MZ\(l&bTN7=w>sh-~VmT?θӡ2~pz&j_ǯN0vwC)u+)%uQ>pn_wsW|D^{T{W^]}j{;SF2w?O{37N@ȫ-~-VG/QPURw]=9w0 wz?P5Өフ=LJ~>Ƚ|7# +}2wϥ%ɓR_9;>-6z9i@ս̝ަePwZwOo뗤+p=R 40ɨԳVnfue3_m .ȟ;߶*~f?=-htso=e-ojzH"mBv RHqDRCOWnYꑮ7e-,kvSzLĀ.)\n%w5F~/loVrogD Aڵ;Zk5e˻]WQmT[Úo緾ު|woIJ8p6)0dAZQJ&+m@zs_|ݗK|?p%D ͛p7Qի/_|g󿝟;?ޕ ӽ%zNZiߜG4^>yZ<=?-?~a k_WuК7 w+R}jW;֪-G_*]/ev1+MUTkׯMjR?oN|_'zs_X!Ns>-VhyUwROoK,>*aݹ@C(?(U>X K4@O$_z5Lz|ݹ|ߪkiU\z/'*lҎA2a[?]%S?x?7yjO׫ϪIwK/_dT_˺[\mxpW^N}iهղXvn wRGY[X{uo~hG:LJRR5x@ƔRg/κXxʱ2$8;y=6CsT;k7"V-/CJ~;0MBSeՇMYG;(T_9{{/?lDctIiS3Z*$ZMwzʑwcܚARE4FПk`ov W޻}^COĥa葄LF  5`H#9F@t`;5<`e#y `0 rf 'J+]aj&x0PW$Cf gO+J_M>uYQ3.]5}/j&D? @@ƨ @4@i3s0v ,T,P"1=`#ƊF?;5@}h0.!.!.ar\яSdPNk{{JVuY$ܶ_}"~DRK@vtr\qǿAj6eN'sis~ {r\ֲY0\W'yҜ0svxdqAg}nn#7AGsEaŬk綴oqy?~hٔ5ey{}$>kk}x|X}^evwcq̝<.;V7.C PJqe1'bv^;ןJ%w([Z^o{V^(-(ܿ~~`Ftt4I3KۡjFj6iUQ9VrLߘVvINA)eMY鹴^PAq ʅ *]6<5e? n7QhUamǹQ'*w,[pv '=wNAs6g]tEh4_2k*#6.FwC'sTWi4OQTp1pZ'Řriz]4[S֥^|RTJx3vh4]([9_ZU٘FjCF1' \yv -3̽l5 }/\*v]hÆEۡXSчN~LsHK eIJۓaDm>gܴoq$EMMo˾I߽ͦ;|íooqygB帒Kf I=X 79/{]bv WoU"-ąR;9)?ܵ?]n8:I}}4E΃6kʊE o` \0>eqbێiMY7c&F/Z^_k*T92;KZw>XiFvܟ(maMſpe$xE"v LY[?BZ^V/Hڣ5)½JqbėXtePH/dLXU/qLh4Oܪe?$5r8_vɜ0ggۻR0=;pev1\|T^Z^&Hq.].MiRfAnxrXWkUښɛN}sD)"ǝ{ܶ6p|5sTH'xE:Q3*]H -q)JEq!SSH伕]XC^B:_B] Rog\$.>Ů^,{ X9spxCѬvs?I[UoK2lK6\\ ̟^M9 r ' $l||霿PWv#87ORv.`g}"U1w5//Z$A{-UqUjV#W\8f.ϕKK([[{nR^SRb]?Ԭ"/aV$ @W$E܈.Yq?X/Ke$`ˡfswtM+++%=pzH,jXq~ s8IEQ13A5 V{8m"H2?/[Ɵ%`/샭kteieZ.ͦM3:M%9jdi$ )bK2.:lȒrTJ+q^DS׉-O{VZc`zȓBiןnif22a?4i{̖n)~+R{c.y!(xs[d#f1Cx\ =f@˝$`7'igUJ/鬼Y3TY²؏uf\`ٕM|.+'k*ޔ9D%<_t~%+"f,% EJg~.hm̎.K.UCIƼiإ^wm˧Z/55Y0}޲dDBDq lӬRK\-24t1πi3CYLz%OjIf)5t_Kg.3?wXEǶ W_⟻2]⤨YW3 =8`u5G0 _~%]F3n?,;pK-kjY͸d+6sI{5;szK 䉕ZUˢHߴF--`HN6JM?wD4`Q^4ސFHq*om)p-`9XZDd*Hd/xYD 妿H麔t1|\)V-`xzEeof7?J%N97/~z؉/jC?nȓ[Z#rb,m;F]b4[ԼNޜ4[$Sz -/:aXn!3oZƋH_zgΤd cuZtդA8LX7s#7>(7q31f9pi4e߂n2ٴ^ =Zr&҆~Hߥ4W ˓F␼ŕo Xa!j5uN1H7dm{Gb*&(ͽfw~{Y۴|Tje9X՗F7Mas5)c?{YZ-3 5',]~CZ{g0 ;z<38a0Ez=}}Զ,\$si~KZv0 0pJW۬a?ܻ{RVYO7w`6kfQ;g^$si.:`po-D83WW~s,Y2S$v^3muyqD2k 㙁,9Xл7\=m 0+UI]-πϑBkq]Jgw)͔bi X̝,^bH&*^|igLʚ xS|}hz8JniXfCէ֝iv2bu2L3M,yt_exIHc'~Diml,е5a8~7mֶfL78|( 8dImV4q'oNdq`t5Uj /#.66/}>^ς4v ׼ۂ-I#d?ko cez9j#Oz\bοkO3}")@)WRM6&+쾊$`.C!#Q%0{ C!@EH"$`P0 pa((..4Y p9Y[[[__]h}}}mmr1KV1'?-n#1#:H"7joն]؄a8?[JojN^'oNj[E7%Dz TͿȋFY˲&k2]xzVh0 ( ȻNc׬0޳/.*,zgc?^J;fm5 }?)7㽳G,V4f /n16ksWJ9Ab)?#qkx ͽjfmOJXD)js'$#5'f8'xՇC_|#uXAG()W$^7/f޸sܑ@OI<]7i_WxS|}$`/aJL,CZil5uJ_TJ[Ӯ:cADiQ 7`f[WmU|ۓe9y^3^Bl$ђ iJUvtmD)%Ebm?(ҼxZn!#\sĪ.qGRA]5-Z,G̘ČDE8iJyBL),OF XrAm5>Tٝ牙h iWhsOj.ğ8#wg<0Ͳ*į&H\RmT$3koq1GXijHuP+"KȥZ?^E+務7^r ⱔ+U*o ϢOЉ [֨Rj*x}{DM;N]D[Ǔ(Y+a쟙VB2^Y6nOldz%+M{Rm]RMX%omwxpAHY/Ɋx̘]vW/ާX*bětZ6ZL4% J޲y͘oY3oSG)^<7Ĭ$-%+Ǧ.@Z!$vJ 3+:\ k5Kfj{oHILBDzHSJ, E_RMY ڒuGҚjrS7ɘeX=&n_9iO Z3/!=6gz{CsaX|;wÍ?(nvVk5@ەi``{S\s{)TW(rm Yt={,Kry#w./ߥ]{D/ʤzJUX 3n_lOgh]kϲ+[ W3iNt#3>}>Z__}[DAd1,m? 뛏)SMUyŪY)NK E4f-X薄z;r8't d&8{۳VF{l0{#7Q` {0[Џ0 gϟ=rQΌ3;e1YI2-1\qG݃_eXu?Jg0 w;>pijF:HݷޗW.؋^Htғ&_&Sk|dM?{L}Wf}YlSJ~ۺYv;|`kH9I]yGms" ?#X5՟LrR;w㵏ږu?{~C.zg0 _JfMY*كAC,cjۥ=oniލqyL\u_! y߾:>waw ̒_VGΪ WghSӵZ)XZWP.0`6qz3t#3ҝS~}ks"1RJso{uV,9+2ğX{q?s6kix-9Faw1 Wk]U-X;S\)4X0aR2W|Xᙓe~IE]eN)Mڈ3Ǘ|8g9p%jGt; i3G9ϡx[Mfov9t'mV"Gd HkX?I߈ama򴤘2{2cW(Ro ϢOs%`//iiObflsHF/8}sɴ2@Z5=ˁ/"5{{weJ4#s)59RezzHMNwD;3kX5bELP+s%`2q1S$)% ~0@&>An)}#]%"rYWϳ+rV<3"sƍ?ѵ^3qi|rf.i`:zcNXn0QJHqFlwõbv8)P %VOqo;=GH<\XT1S$)% ~0@&8AA0 ^S^r담| 3Nse jy,;r7tjt0톗C]~+MFu^搏2Br)eɴȇJu"wr]9T#;3iW"*(h-Jܩ5<cUDf-m֤tGVYzZiUH'z."47{bf썇C3,: Rb)W(U*% E#WqS`Ni7m`%b.fϾ3f-W{c}YŤnR#O\r#'m2{px L:#Su;'|,em,Wa0b?w;IJxX|?KH2jsUލ7먛ۼgY/WJ,YzAJ7NMoxȈT @EH"$`P0 T *B!@EH"$`P,@!kkk.  +d:.3Z"$`P0 T *B!@EH"$`P0 T *B!2 pEH ƿOޜ]__%OޜIDATah3`Fh#|})l}Զ2:[ w]-y7ޯv+~lywލx޿wd_EL<]LdgNcY]dJq'^7'Gv]}6<:tzpx8rzVkoiq,t;Vd㌽|q'^ɻiTR>Z x$Eq7tou3b*JE!XD^w)bk8Nb*5N*݉z>F^ @Ȓ*)Sk0@ Tm&]CstX>j+~vvRa]XE#p<{l|=w"d=-"ޥ8˟_/`$ @(g$?'_? a>%Sf54r"`VseJ)Ƴ 9DVjed@s"(z7ޫׯ^2O\H K)o%6OEƂþϜK]̱~k{kO2Gm~t5J> ֏zʨ@\w] twc{N)niJɳ[x**RfM&]tJHm/=l;Qۻ^2A1Zj1p,{%'+CCo2N`| 4V縣KKOlm"EU @ڸt!B2J2,B|ʱ2=JGAwoAEs)_D_xQz?z7^oa`^(ns=p7,poМX Fӂɑ&Ϟc?Wtڜ, bڧNj+LOT,mGt˛nyD$~#mXFP]HQpu#REf7w]O&wÕ^ml1s`?.0$`('oN[v0w ar׳X_D}R* CI`fl <C9PNG  IHDR`)gAMA pHYs+ IDATxݿoG7u" ;QKw4"+A)]K)r.\ [[% \XDw)R ޻/\|p8Hr9vg3;$0w7 ___/ƍ2ןUM#̉0'`s"̉0'`s"̉0'`s"̉0'`s"̉0'`s"̉0'`s"̉0'`s"̉0'y$IR۪ls{'MӉ߮uJy-÷z iF3 I4ve(y$I&f*yv`Y\xs/\ }ټ̣E/O}ӗ{{ak[۪??«U^3{ѓ{U窼 ɋq}9vϏSPmv$\u慯o*0b `lU! 6a i1/\ >:n{(ܸ(lS`2d1'+UHW}^D~;+lˣP 鳝٫^wN^S;}u:zw$ѓ7o. YgȂyk%?yqn0pV^׻{/t{G/Ob=9*Lh#?QU~p`??/Owok7zÊjhw0r0I4MRk;+ӗ0QNaW#7eCXn7KYƗ‘1B͜,dvl૱(g'IR߮V>` ?XtzY"J4 wWGـ,%I2ުn0\uv/\[uIsپ 6+W~Zpcf}}}{OSEYRZe#YN_ff0*d)k O W1Ye`p\imm`Jɇj[n#K&a󱯘*\rVj[]bU~!_(dk[B&˦,C}^ +عp˷ϏP |g K)U{amղ'g4=y~'ۇW>]ea; Iͫ}8U߮? ` `l˷qI $W>y9p'_wnVHcYw?|w3Y>e1iv;w G"2ϰyɿ/n:|&twe0$yy v{00FQrFn%#qfLA`KiZfF.Gs׻{gv;'/NϏѓb$I}wk۝:w. ~9$0``l0]nj:}vO_N\۪e㑉gϞ>+y7%CUИNj X3 Y0lPG;-Mn[y!cPjb][c.p,'7#. Â_G 7D06Ha Ę}Eb:)&īo׳]Naanw {nX?փ G";?; s+gp%Iww4/aJ>3%eX W,? F}뼕k6#V8[緪(c_>K}>U߮?ȝdL`p'Mӱ+ )C 8\|atU="́kI4m5l&%zwӼbLXl55X}wϏKƵ@, #fw;_z;lIԷN$T]> IV)ItӬ9O7ƶ ,w|P5npX^gOwt`9 `lpd{^IR<,:ow޿m\/KfݿO%90K_ncا??|?lIG^4petʇ<|Z𛇇/ۗU-` 'նjGO.\\8|tiGObyչ*dviϏϋ7ᮺX0/I^_,,Iad]\ ȲV-{BUq¸P>ϰyo9{R> wI,o>NO2mղɖ?X}^>9|t?cwj}q$I~W^8zr3R7,`VF6{q%O45mic3vGOJ2^}>>nɬn#sU;؋B.ۗ{VWQ Xje?׷{:o:;i~q4+ٳ~lԨU4vcݪ:o攏Enk[{^[j6&m}/oɆloނudo=qče. p,,<lB "!l*!\B,F)! n޼`nƹ|aMs_,($I`bX _=T XV|0\}`0\m;u΢J2X6^t`4]0Ie}fo}$%ak>THbKE`ͅ+p,Ya7 T: Wmv[/Í70USF2kk~Uc1Ffj򽕏U+VjdҜsג`jc *g Q0/!Z2+jVN tYqB0JGu,IIqVYpgs|R f3"HKCI|'`1`2| W%@^DtCU|# `l(iaFK(!qD= "BOX z_6"XO:_XkE~{F`Mʯ.;`s`<b&XUr׺֘AZX%:X'+@0n7!06%X.:s+G`YL3GB0w$,? ]fW2X]df*0G"0:,#XRq@%0,3'(ӵeU8V,+ʡ ̍t^Yd`0&`0&!z,`AM%E7Mf^"P D/9) ` 8; `\B$' 0. &aN #Ty6.#Ti6>"̔S H,:0O `Br `p2Ճ%!};X NU@Zџ㴅"8XNdjc5㤆&*4XcNpXW-┇5# 0XNX  Q r%,#+`$" `QRo 0% ` R` ` ̎0ozEܨp``',0z?2P `3,!U,07YM%j* bZZ0O@5`u̔09`]`F0BuƠ/l&TE& `e6 <@ ! &zSO0"] xL_3/" `@eԨPN63"0 C} YtO 9 ~SC"kO{ll2 X[xef3 `Ѣ Ҳi0`}^KΆuXs֞04Ró0`%i6ڞ#+Fc i X Z_ Xv[BVam: `ca¡E 6-` `RӈP5 %b?iAXN Kd9/͟].V0Da@L$c `ыe "`s"̉0'`s" ]9i|yVuw]yQCYk?;yqo.8Sy 0R{ɋׯvZ`aXKFy|{a`Mi(*'sz^k@Un#M$s6l+,* V͕EGZX*!s.'U"K$JL`60`),T8L`F,CMc}^kv/iXgPƝo;1 U8qw$I"7:oM$I:;7ӛpa;R^;:.^N$Iƭx)OӘ$a{Hl:;^0G^tN_셧Umvx /\ś-÷(xde^3oN4=}yZG+poܯ??oMk['GnwN_f^^u.\=9:GO ?\ޱpi֪ ,s仇/mFn?PN6 Fu`_?xs1VUi>:<}yՙ̅*a$yQy7}kYAmV`/?_.s_jWmo Uma2@e2衐c2lVYd *l y %?lB_r1@ s&G^=`|'Sed3 tþxn[>?<&1sQI;ekYAۦXhm2Zt`C:guauӬJ-\ e2#ٞ/dYif*ʰRBt 5l!btݰL4..ƴ7o|:C;R%Wί|]uƽuqV)>lKvtvvԔUfy:&k򔘕07hNÈkŃUSMZa^Rx)1KGzX兩x*0/ Hiq$l 9is5pmȶJe LVn#ZF㯮 `Jyo{ͺYM[⊙ƃac_1wgyl_fs 'o` i:&k:Wi6va9OOTF粘fkM%]fqD+$+ck辰dbLSXqfZe1m 79YRnŃ0r$'o47_UG+[2(#o+G[^bn UpoUsؤ k8 `Rh%,(qI)fa5radBkUx 3Gn?*nAmS>]Yar.,0H/}>ɱ)½I Sy9lJJ6ltX ast%,(qCO1E~.T߮75?Ughƪmc0)8Ɇ\8J</ye~^uw4=|tJ\];u33o?^Q{Ȓ|I}4röIu ݹ3y1F?~j8z#7`0i/" /nQo[;owރO~%TIխUۦ4v"&Zt>eV{fVdULv/iXt Oؑ7h/< ǩb:ziȅ k +vma+9fqD+K $byed=]δ^AmSۨk#`0^^::}um<ǃncղJ,\r()W4O_\x/~2 1.qpr`_0# `\(JOw?|s{e>5٪oׯ:W'/N~~s},x٧|^d,?~p֬[v f6Xm_!L3—$I8_aNB|KX>I/^e?gWFA Y̸3-?}>*+9fqD勯~mIi=}vt|?/ $Iڝ: _?07ik,ڦpZt`\|T7O8D S'/NcJRްuP_f{}:yX^JZC%,(q#3Iu#`aW۪ x{GOI%{{7N_y)d=S#3jvƿT0Ca}ARqxVLO"+csɊaIʫOcʐ%mJ{7xTt0W,v[Ҭs{aObr{{R~ǩ`p;M !¶$fBkB9 #7f ĘV^ncX~ΓO2;{u?~VCmoֶjg/BY0# `\#OM& Tê^̒GnWXڦaséZ-cPyd@1WȪ7Zy_=17Wb{JVȍLiZ2QнN^['$1 8ȅ=N^:mij]ywƍgOŔ!6A)TA*Z%K1m r/| `0ʯJ'~ x:o?|tX2$f`->k^w3Lx})a7̈́3 0Jf$VoN^doV_x%76;TZ-C`M b*LN`pP~(!Fn\2{X:Vշ돿}YB/I%wKvֶjKߵm>:lk_$L&0}|,}??Ϋ"x|po謿0{ٝ/Z$UMcmnE? Zx*An(y*bX_/w_7Em4#x8rG[Ɣyʋ>s: Il7lװ],+9*?&P!G>:[c0Ma|o6f%çvݽc/‘Wo&WZeT67)͑[t`ƅ:ٕ:1+,TqᎬ?v,]Wa\^?^u]s5$yyui mѓn/ y32Vr0T~DLЕ/sչGa[ެ䑦 Wr䨿*5[[c[i:ʝ]kh3AmSVc[t`a.\d-Fp|W# \JWސ=2kH}G+RxչhS2a$ڰw뚹B [=`X=0d׭ZzduTiM~ Y8|tǿvdP5gŠYn7η) 6÷' TP0JUj|"Y+$'4n7Ϋͬb,4mnqb9lߑ,Z%T6L}(NZt`f Լ,τU~-JGJѦ)Lf`ѓ]$X3 LA6M4f QӈYʨZ^%SP^s`g0Y1scmx|9:Mӑrjy:UMa9*] ̇{`z7on`%iv: {\f8~0̚.[[6S|w?|$ImV8J`~yK>#_~? 6]z$~KRWgmz?|$ѓnc^6󾓍dfݽw:;݆ɇ|`o;wUj8ɗ3:{uvl4 6ZxXk`A^o:o57ֿ[k'F @\$I~g^gwS۪I_y3lɀ-0z?J4K٢#{ͣ'G0k1yQ.\Ur'Oz^ukb 6W󫟿XױWg_gpdtmVzVBaLB`s"̉ӺqFaj/! czN6"F@LCc a@Gg  2c8uG lbIO3 xC6 MR~렯X`^T(;lT!A/fD 0@b0d$܉a0p #hXbl %zl0Gba06۽X b+Ma#X+M u"D/ֆAcm݋#XCXob."z9F0<,!5!zJb0XB^l81 Vj391 ƪ` 1 `$1 *`,b,?-K\__;GnܸQrf3 `zF``,5 %b `,) fz)&Le$}7 fEy* X,s#x,1 =`,KŽa0SFX 0`%aP9`aP!1?.@%1a0%`a01Y`a01lXQ1 60$Q 6* ^@$ 1- WrodF3xb0#z qc)7 g(P!al,D/`F06P0b=` &}TR7 ub" XhB X81 &$d0֕. XbGh'N %zE `=`GV6۽5 Ma X3bH[0VD/`Ca lm 4bO[CM&"zd0&D/~#c9ց۽J0Ca̙ |DXت& X$(؊q@U0O[fA ` z̚|`KM'1 Y۽B `v07/*oKji(gls{,I{75^57yI}̹f&k6Դ٫[ߚr{b:o%IwFLӼp{yo}~_jN`cf$9zr4p0AMnChɋ_u49><|,2X4v,^߮Ǭ6K$i6:W{`Q޿{$ݯ_p]q`*J8K2ZdEXz0 :=<iw{`2X+3^Ji-&x ,04viι^/|b!qc &[Ǖd2 BӖD\w{`>^l `%97K`i.(|q!RmF^5w{`2d+o?"/MXZdA¥'7T=0Pl`^/c8YYx7M ?r5}egJ$MӒLtB,Uzx#˪EV. <-g ;ثm·%]c?yO^o..\, +K"ѓ'>rbn_IQ +9i>:<}yᅙiij?ԔI\ֶjٷ1,fN_Nf =WLl`%9vU.d5/G:Wce&xJ<۸\eyrď7y9(\,lPׁ&%c^BfQ1W˧L|tK'Ns5MQ O 1*9槬+? PT&_]/\vGjof5$Ib`D;Otݰ蟥0֝Y9K {{n-efI Nva/swYśp|bIsvrvW2%]wi\Xia"FM䘟9񇪪29}ymP>o|W3y 13*WA{,Iv0MZ筒u޿}i3m2N}ge2{Uc67Զjkٗcŧ%yO8l6Ν;35<4OSTJzif+IiUÎL%45,i>T%I}yWWOw贑pӤO<{77=ǃ/ĭxusglǬoɅbU\ȗ??.\ Tr5i%{ˋZR¥gCEWcQY#6]145SչFNYeMsO_W{@Vx"_OZ|F9°:ğxsQ*|p{HM\dL /ܪ^O񒵛©1Wvlw,|MZw-kT:WiikޑjFa}Ev.|"fѣlɇaZɁTa ?`SV&tt7:n6`r7#W< HY(MRnuh|a-A;bY_?|{s;O^Ys5AlMȻuǽ\7K `-;-_^yC!'^+6&*_5 }Ev.ed6>4Y1Ae]o,4 B# %?m#N 6K"^.L!eѓn@_7]v⷟ʼnp\XYϏcM;UHU8;ƭLs3FS52=z)H)L›܌|U8dX9rB/I?oSpB'wCimS?LCD8Fn_5gq"$΅ $I~>}0;dTt UXLv@2 [筓'y2Sd>LOLJ!fNy&Y>*l"kO$oO/ »Xi oDWo?!q.v}`apl kY7MZ޿m;:p'dlVA O?4UyY۪ k 3^j`䞧^yD KOVQؽo_yQ:; K>Tt UXÇ&> gqv[OtX~??{i|̪N[7xַU} MY^iL</oGهlׇ]BY [ȩ\_Wᴨ ALtߵھ!q.n#< +9*CV&Z8#C`cm鵭Zls̲VxG_yNطW5d'B\X57nxY̖_82Y2 3ƴ𛇇4/bSɩZ6W"Dz&{Iel9T~uFa,jSŘsaLV߽3q+!^kȖOɄ1}ݣ'GZvf&ˠV{X۪ M&{I&p0 b"k&**L2}ݚ~Ϟ>坒 ? i4wEM &]ʖ˫@J*: +PV&%oV?,l?Ska^3,, X8Vsz~.qW}Em9{uVu ;,o {(\LKN~sd¥Xa&<;;w;[%])auک&}'B\X512m{ђJ k2W}VV0M^S)P*@ތf[65~Uo.ufQxi֓فEIMn^mՆ[y5%?gU~=}y:lϾgOoEVaɄ_~ެ Kog[D+= ͞uݾڹj櫪s՞T&᷑yXHkhIT-, >lMEoS>D_cӼ$4%k[io.sU{Y߮ysu8kS\7j)V;Vn TL wg\e)T#n%,HR:.d$1ө'L&3).+?+v ̀R9X^=TknKe_N wP~:?=A_WEiVzώ I~J  TB} Ќ*3W{{~GQvMeUŬPd2s$dq^ ys<9Xv2)bΪvUleumĹpLtR9Wj'uTώ l# *OBje4o@/KqnZʟǹ7y;O*Leb v.97?s8t;忚;aZ~ԮX~޲qS'΅&-ntR_EBֵSfqbI+)1l7hC` mVw,e|=\ .̉i^Yv٣Ga´pDQeYzq-I+ew3,ǟVå~pmlpt*i%Ny>-Qn/7չpG]} G臫FCYKEjj몐uT$=K\i,_r$2Qݧj_/?݀,=|z^z}Vek볘.|Mg_J^y`ShI+WhL!aې/ݽ";j`:`yroBFtE)Uo1 Qo1+62? Ѐu .x)˲WAX' ^`#gixa XCk .!i#嫗Q%dnvXHNZI EOq~zmc8 _ȫB.\ !˲_EQ`=Wͽ+-Y>==ѭ/yzv$kk5ՇGgiz&$=Mk)lp\ N^woMXjt,N^>=oNXT/apt6+VdoϗNq(   Clip (MS_ClipArt_Gallery.20,Microsoft Clip Gallery/ 0DTimes New Romanxv 0( 0DHelveticaRomanxv 0( 0h " DMonotype Sortsxv 0( 00DWingdings 2tsxv 0( 0@DWingdings2tsxv 0( 0PDTahomags2tsxv 0( 0"`DMath Ext2tsxv 0( 0pDSymbolt2tsxv 0( 0DArialt2tsxv 0( 0"DCourier2tsxv 0( 0c .  @n?" dd@  @@``   F            ,  0  #&'()'+)*+,-./0123456789:;<=>?@ABCob$ 37Mh~b$wt,o\A^~Q~b$ۡ灙ƪd.c)+kb$EjQHMT/TU'>b$M33 V;I_6b$= )Z o>9RZ 0e0e     A@ A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||@8 g4KdKdv 0ppp@ <4BdBd` 0Ldg4#d#dv 0p p <4!d!d` 0Ldʚ;K8ʚ;<4dddd{ 0( ___PPT9/ 0 H?n? %O =޻kNeed for Complex Data TypesxTraditional database applications in data processing had conceptually simple data types Relatively few data types, first normal form holds Complex data types have grown more important in recent years E.g. Addresses can be viewed as a Single string, or Separate attributes for each part, or Composite attributes (which are not in first normal form) E.g. it is often convenient to store multivalued attributes as-is, without creating a separate relation to store the values in first normal form Applications computer-aided design, computer-aided software engineering multimedia and image databases, and document/hypertext databases.XZ3Z=Z$ZrZZ Z}ZX3=$r }  lObject-Oriented Data Model An object corresponds to an entity in the E-R model. The object-oriented paradigm is based on encapsulating code and data related to an object into single unit. All Interactions between an object and the rest of the system are via messages. The object-oriented data model is a logical data model (like the E-R model). An object has associated with it: A set of variables that contain the data for the object A set of messages to which the object responds. each message may have zero, one, or more parameters A set of methods, each of which is a body of code to implement a message; a method returns a value as the response to the message bZ ZZ0  0G  X nMessages and MethodsMethods are programs written in general-purpose language with the following features only variables in the object itself may be referenced directly data in other objects are referenced only by sending messages. Methods can be read-only or update methods Read-only methods do not change the value of the object Strictly speaking, every attribute of an entity must be represented by a variable and two methods, one to read and the other to update the attribute e.g., the attribute address is represented by a variable address and two messages get-address and set-address. For convenience, many object-oriented data models permit direct access to variables of other objects."U+8Uu  -        h oObject ClassesYSimilar objects are grouped into a class; each such object is called an instance of its class All objects in a class have the same Variables, with the same types message interface methods They differ in the values assigned to variables Example: Group objects for people into a person class Classes are analogous to entity sets in the E-R model:0m# 3:0*  = pClass Definition Example\ class employee { /*Variables */ string name; string address; date start-date; int salary; /* Messages */ int annual-salary(); string get-name(); string get-address(); int set-address(string new-address); int employment-length(); }; Methods to read and set the other variables are also needed with strict encapsulation Methods are defined separately E.g. int employment-length() { return today()  start-date;} int set-address(string new-address) { address = new-address;}h6Zu           u     tc " F # =;q InheritancesE.g., class of bank customers is similar to class of bank employees, although there are differences both share some variables and messages, e.g., name and address. But there are variables and messages specific to each class e.g., salary for employees and credit-rating for customers. Every employee is a person; thus employee is a specialization of person Similarly, customer is a specialization of person. Create classes person, employee and customer variables/messages applicable to all persons associated with class person. variables/messages specific to employees associated with class employee; similarly for customer ff.E ! C? rInheritance (Cont.)Place classes into a specialization hierarchy variables/messages belonging to class person are inherited by class employee as well as customer Result is a class hierarchy.a.&    s Class Hierarchy Definition  class person{ string name; string address: }; class customer C_S person { int credit-rating; }; class employee C_S person { date start-date; int salary; }; class officer C_S employee { int office-number, int expense-account-number, };  n       PUF.!t Class Hierarchy Example (Cont.)Full variable list for objects in the class officer: office-number, expense-account-number: defined locally start-date, salary: inherited from employee name, address: inherited from person Methods inherited similar to variables. Substitutability  any method of a class, say person, can be invoked equally well with any object belonging to any subclass, such as subclass officer of person. Class extent: set of all objects in the class. Two options: 1. Class extent of employee includes all officer, teller and secretary objects. Class extent of employee includes only employee objects that are not in a subclass such as officer, teller, or secretary This is the usual choice in OO systems Can access extents of subclasses to find all objects of subtypes of employee5nnnQnyHnuHn, '(Y 0      C         uu Example of Multiple InheritanceClass DAG for banking example.v Multiple Inheritance@With multiple inheritance a class may have more than one superclass. The class/subclass relationship is represented by a directed acyclic graph (DAG) Particularly useful when objects can be classified in more than one way, which are independent of each other E.g. temporary/permanent is independent of Officer/secretary/teller Create a subclass for each combination of subclasses Need not create subclasses for combinations that are not possible in the database being modeled A class inherits variables and methods from all its superclasses There is potential for ambiguity when a variable/message N with the same name is inherited from two superclasses A and B No problem if the variable/message is defined in a shared superclass Otherwise, do one of the following flag as an error, rename variables (A.N and B.N) choose one.EZZ{Z`ZZhZ?ZE4q{`  h?> e B c)%More Examples of Multiple InheritanceConceptually, an object can belong to each of several subclasses A person can play the roles of student, a teacher or footballPlayer, or any combination of the three E.g., student teaching assistant who also play football Can use multiple inheritance to model  roles of an object That is, allow an object to take on any one or more of a set of types But many systems insist an object should have a most-specific class That is, there must be one class that an object belongs to which is a subclass of all other classes that the object belongs to Create subclasses such as student-teacher and student-teacher-footballPlayer for each combination When many combinations are possible, creating subclasses for each combination can become cumbersome $Ae9;FDFA 9; F 0{,u|w Object Identity@An object retains its identity even if some or all of the values of variables or definitions of methods change over time. Object identity is a stronger notion of identity than in programming languages or data models not based on object orientation. Value  data value; e.g. primary key value used in relational systems. Name  supplied by user; used for variables in procedures. Built-in  identity built into data model or programming language. no user-supplied identifier is required. Is the form of identity used in object-oriented systems.xcB7;cxObject Identifiers2Object identifiers used to uniquely identify objects Object identifiers are unique: no two objects have the same identifier each object has only one object identifier E.g., the spouse field of a person object may be an identifier of another person object. can be stored as a field of an object, to refer to another object. Can be system generated (created by database) or external (such as social-security number) System generated identifiers: Are easier to use, but cannot be used across database systems May be redundant if unique identifier already exists5 TUs"T  (TU sTyObject ContainmentTEach component in a design may contain other components Can be modeled as containment of objects. Objects containing; other objects are called composite objects. Multiple levels of containment create a containment hierarchy links interpreted as is-part-of, not C/S. Allows data to be viewed at different granularities by different users.+H 1 HzObject-Oriented LanguagesObject-oriented concepts can be used in different ways Object-orientation can be used as a design tool, and be encoded into, for example, a relational database analogous to modeling data with E-R diagram and then converting to a set of relations) The concepts of object orientation can be incorporated into a programming language that is used to manipulate the database. Object-relational systems  add complex types and object-orientation to relational language. Persistent programming languages  extend object-oriented programming language to deal with databases by adding concepts such as persistence and collections. 7jXH|7jX|  D    { Persistent Programming Languages}Persistent Programming languages allow objects to be created and stored in a database, and used directly from a programming language allow data to be manipulated directly from the programming language No need to go through SQL. No need for explicit format (type) changes format changes are carried out transparently by system Without a persistent programming language, format changes becomes a burden on the programmer More code to be written More chance of bugs allow objects to be manipulated in-memory no need to explicitly load from or store to the database Saved code, and saved overhead of loading/storing large amounts of dataZEZZ,ZZ,Z+Z:ZHZE, ,+:H*"Persistent Prog. Languages (Cont.) .Drawbacks of persistent programming languages Due to power of most programming languages, it is easy to make programming errors that damage the database. Complexity of languages makes automatic high-level optimization more difficult. Do not support declarative querying as well as relational databases 6..+Object-Relational Data Models~Extend the relational data model by including object orientation and constructs to deal with added data types. Allow attributes of tuples to have complex types, including non-atomic values such as nested relations. Preserve relational foundations, in particular the declarative access to data, while extending modeling power. Upward compatibility with existing relational languages.,Nested RelationsMotivation: Permit non-atomic domains (atomic indivisible) Example of non-atomic domain: set of integers,or set of tuples Allows more intuitive modeling for applications with complex data Intuitive definition: allow relations whenever we allow atomic (scalar) values  relations within relations Retains mathematical foundation of relational model Violates first normal form.V  "-Example of a Nested RelationExample: library information system Each book has title, a set of authors, Publisher, and a set of keywords Non-1NF relation booksH4;4;.1NF Version of Nested Relation1NF version of books$/$4NF Decomposition of Nested RelationRemove awkwardness of flat-books by assuming that the following multivalued dependencies hold: title author title keyword title pub-name, pub-branch Decompose flat-doc into 4NF using the schemas: (title, author) (title, keyword) (title, pub-name, pub-branch)_H/? ?   ?,x0>4NF Decomposition of flat books6  1Problems with 4NF SchemaS4NF design requires users to include joins in their queries. 1NF relational view flat-books defined by join of 4NF relations: eliminates the need for users to perform joins, but loses the one-to-one correspondence between tuples and documents. And has a large amount of redundancy Nested relations representation is much more natural here.H~;Q #;2Complex Types and SQL:1999eExtensions to SQL to support complex types include: Collection and large object types Nested relations are an example of collection types Structured types Nested record structures like composite attributes Inheritance Object orientation Including object identifiers and references Our description is mainly based on the SQL:1999 standard Not fully implemented in any database system currently But some features are present in each of the major commercial database systems Read the manual of your database system to see what it supports We present some features that are not in SQL:1999 These are noted explicitly4Z"Z4ZZ4ZZ,Z9ZZ@Z2ZZ4"44 ,9@2 ZPL/SQL Object Types 10-13 SCREATE [OR REPLACE] TYPE type_name { {IS | AS} OBJECT | UNDER supertype_name } ( attribute_name datatype[, attribute_name datatype]... ) CREATE [OR REPLACE] TYPE BODY type_name {IS | AS} { {MAP | ORDER} MEMBER function_body; | {MEMBER | STATIC} {subprogram_body | call_spec};} [{MEMBER | STATIC} {subprogram_body | call_spec};]... END; 2SR P=   3Collection Types4Large Object TypesLarge object types clob: Character large objects book-review clob(10KB) blob: binary large objects image blob(10MB) movie blob (2GB) JDBC/ODBC provide special methods to access large objects in small pieces Similar to accessing operating system files Application retrieves a locator for the large object and then manipulates the large object from the host language  %RJ               JER,5`5Structured and Collection TypesStructured types can be declared and used in SQL create type Publisher as Object (name varchar(20), branch varchar(20)) create type Book as Object (title varchar(20), author-array varchar(20) array [10], pub-date date, publisher Publisher, keyword-set setof(varchar(20))) Note: setof declaration of keyword-set is not supported by SQL:1999 Using an array to store authors lets us record the order of the authors Structured types can be used to create tables create table books of Book Similar to the nested relation books, but with array of authors instead of set of author names\1L.'`!        .`  b13 \ iV7Structured Types (Cont.)8#Creation of Values of Complex Types#9#Creation of Values of Complex TypesNArray construction array [ Silberschatz ,`Korth ,`Sudarshan ] Set value attributes (not supported in SQL:1999) set( v1, v2, & , vn) To create a tuple of the books relation ( Compilers , array[`Smith ,`Jones ], Publisher(`McGraw-Hill ,`New York ), set(`parsing ,`analysis )) To insert the preceding tuple into the relation books insert into books values (`Compilers , array[`Smith ,`Jones ], Publisher( McGraw Hill ,`New York ), set(`parsing ,`analysis )) P6P1PPZ6PZP%1'% )H 3P `[: Inheritance ;Multiple Inheritance<Table InheritanceTable inheritance allows an object to have multiple types by allowing an entity to exist in more than one table at once. E.g. people table: create table people of Person We can then define the students and teachers tables as subtables of people create table students of Student under people create table teachers of Teacher under people Each tuple in a subtable (e.g. students and teachers) is implicitly present in its supertables (e.g. people) Multiple inheritance is possible with tables, just as it is possible with types. create table teaching-assistants of Teaching Assistant under students, teachers Multiple inheritance not supported in SQL:1999 mZ/Zy           " /P/P  : =Table Inheritance: RolesTable inheritance is useful for modeling roles permits a value to have multiple types, without having a most-specific type (unlike type inheritance). e.g., an object can be in the students and teachers subtables simultaneously, without having to be in a subtable student-teachers that is under both students and teachers object can gain/lose roles: corresponds to inserting/deleting object from a subtable NOTE: SQL:1999 requires values to have a most specific type so above discussion is not applicable to SQL:1999=2):  3 U92>-Table Inheritance: Consistency Requirements .. Consistency requirements on subtables and supertables. Each tuple of the supertable (e.g. people) can correspond to at most one tuple in each of the subtables (e.g. students and teachers) Additional constraint in SQL:1999: All tuples corresponding to each other (that is, with the same values for inherited attributes) must be derived from one tuple (inserted into one table). That is, each entity must have a most specific type We cannot have a tuple in people corresponding to a tuple each in students and teachers 77#D  #N  "     P c ?'Table Inheritance: Storage AlternativesStorage alternatives Store only local attributes and the primary key of the supertable in subtable Inherited attributes derived by means of a join with the supertable Each table stores all inherited and locally defined attributes Supertables implicitly contain (inherited attributes of) all tuples in their subtables Access to all attributes of a tuple is faster: no join required If entities must have most specific type, tuple is stored only in one table, where it was created Otherwise, there could be redundancy NHD?H%HND? %K  9 @ B FZ@Reference TypesA!Reference Declaration in SQL:1999E.g. define a type Department with a field name and a field head which is a reference to the type Person, with table people as scope create type Department( name varchar(20), head ref(Person) scope people) We can then create a table departments as follows create table departments of Department We can omit the declaration scope people from the type declaration and instead make an addition to the create table statement: create table departments of Department (head with options scope people) _24   !          ^     B#Initializing Reference Typed ValuesIn Oracle, to create a tuple with a reference value, we can first create the tuple with a null reference and then set the reference separately by using the function ref(p) applied to a tuple variable E.g. to create a department with name CS and head being the person named John, we use insert into departments values (`CS , null) update departments set head = (select ref(p) from people as p where name=`John ) where name = `CS  <Pv        P0gGC+Initializing Reference Typed Values (Cont.),,+DUser Generated IdentifiersSQL:1999 allows object identifiers to be user-generated The type of the object-identifier must be specified as part of the type definition of the referenced table, and The table definition must specify that the reference is user generated E.g. create type Person (name varchar(20) address varchar(20)) ref using varchar(20) create table people of Person ref is oid user generated When creating a tuple, we must provide a unique value for the identifier (assumed to be the first attribute): insert into people values ( 01284567 ,  John , `23 Coyote Run ) T8ZZZnZMZZZ8 n &<& |*E"User Generated Identifiers (Cont.)FPath ExpressionsGQuerying with Structured TypesHCollection-Value AttributesI$Collection Valued Attributes (Cont.)We can access individual elements of an array by using indices E.g. If we know that a particular book has three authors, we could write: select author-array[1], author-array[2], author-array[3] from books where title = `Database System Concepts ?ZJZqZ?J    J Unnesting KNesting Nesting is the opposite of unnesting, creating a collection-valued attribute NOTE: SQL:1999 does not support nesting Nesting can be done in a manner similar to aggregation, but using the function set() in place of an aggregation operation, to create a set To nest the flat-books relation on the attribute keyword: select title, author, Publisher(pub_name, pub_branch) as publisher, set(keyword) as keyword-list from flat-books groupby title, author, publisher To nest on both authors and keywords: select title, set(author) as author-list, Publisher(pub_name, pub_branch) as publisher, set(keyword) as keyword-list from flat-books groupby title, publisher :&PZ     &       P  0LNesting (Cont.)MFunctions and ProceduresLSQL:1999 supports functions and procedures Functions/procedures can be written in SQL itself, or in an external programming language Functions are particularly useful with specialized data types such as images and geometric objects E.g. functions to check if polygons overlap, or to compare images for similarity Some databases support table-valued functions, which can return a relation as a result SQL:1999 also supports a rich set of imperative constructs, including Loops, if-then-else, assignment Many databases have proprietary procedural extensions to SQL that differ from SQL:1999+QWF W+Q*F WN SQL FunctionsDefine a function that, given a book title, returns the count of the number of authors (on the 4NF schema with relations books4 and authors). create function author-count(name varchar(20)) returns integer begin declare a-count integer; select count(author) into a-count from authors where authors.title=name return a=count; end Find the titles of all books that have more than one author. select name from books4 where author-count(title)> 1~ZZ=Z9Zy   / ? O SQL Methods+Methods can be viewed as functions associated with structured types They have an implicit first parameter called self which is set to the structured-type value on which the method is invoked The method code can refer to attributes of the structured-type value using the self variable E.g. self.avDD- P$SQL Functions and Procedures (cont.)$Q&External Language Functions/Procedures''SQL:1999 permits the use of functions and procedures written in other languages such as C or C++ Declaring external language procedures and functions create procedure author-count-proc(in title varchar(20), out count integer) language C external name /usr/avi/bin/author-count-proc create function author-count(title varchar(20)) returns integer language C external name  /usr/avi/bin/author-count :`9B  #  P<tR"External Language Routines (Cont.)S(Security with External Language Routines))To deal with security problems Use sandbox techniques that is use a safe language like Java, which cannot be used to access/damage other parts of the database code Or, run external language functions/procedures in a separate process, with no access to the database process memory Parameters and results communicated via inter-process communication Both have performance overheads Many database systems support both above approaches as well as direct executing in database system address space ouD ouD  TProcedural ConstructsUProcedural Constructs (Cont.)>For loop Permits iteration over all results of a query E.g. find total of all balances at the Perryridge branch declare n integer default 0; for r as select balance from account where branch-name =  Perryridge do set n = n + r.balance end for t PP g                          >^ y $VProcedural Constructs (cont.)W#Comparison of O-O and O-R Databases Summary of strengths of various database systems: Relational systems simple data types, powerful query languages, high protection. Persistent-programming-language-based OODBs complex data types, integration with programming language, high performance. Object-relational systems complex data types, powerful query languages, high protection. Note: Many real systems blur these boundaries E.g. persistent programming language built as a wrapper on a relational database offers first two benefits, but may have poor performance.E>,M?.2>+M?. _X"Finding all employees of a managerY)Finding all employees of a manager(cont.)**/  ` 333WcL+᷷Ҫ` 333WcL+᷷Ҫ` 999>?" dd@ ?nZd#@if U d\ n?" dd@   @@``@n?" dd@  @@``PR      ` p>> (  +L(  Lf L 0"  L c $L p  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S L c $ ``  ^* 2 L c $ `   `*(2 (L 64F ^"Silberschatz, Korth and Sudarshan #(2#  )L 6 F   p8.* (2  *L s *   T Click to edit Master title style! ! +L N ?F RDatabase System Concepts 2 Z L Bd޽h @ ? 333WcL+᷷Ҫ db-book]   @P(  P P  B CE,F    : C  @   `8j  P s *J p J T Click to edit Master title style! ! P c $XJ  `   J W#Click to edit Master subtitle style$ $ P c $J `` J ^* 2Wc P c $G `  J `*(2Wc P c $tJ `  J `*(2WcZ P S  ??pp  Z P Bd޽h @ ? 333WcL+᷷Ҫx0 80PX(  X$ X # ly˼y˼ ?.  J p*  a00aa& X # lJy˼y˼ ?3 .  r*  a00aav X 6 ?  R X # ly˼y˼ ?9 f  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S* X 3 ry˼y˼ ?r   p*  a00aa, X 3 r%y˼y˼ ?r3   r*  a00aaH X 0ηo~ ? ̙33 x`\(  \, \ # l6y˼y˼ ?.   x* a00aa. \ # l@y˼y˼ ?3 .  z* a00aa2 \ 3 r@Jy˼y˼ ?r   x* a00aa4 \ 3 rlSy˼y˼ ?r3   z* a00aaH \ 0ηo~ ? ̙33  0$(   r  S {J*L  J r  S 0|JLB J H  0޽h ? ̙33  p$( + r  S \*L   r  S \L0  H  0޽h ? ̙33  (  r  S a*L   l  C aL  H  0޽h ? ̙33  $( Mn@Tn`% r  S pq*L   r  S ,rLp  H  0޽h ? ̙33  B( Pn$FQn  r  S y*L     S ԣLP  *aH  0޽h ? ̙33  $(  r  S *L   r  S TL@0p  H  0޽h ? ̙33  6.( H r  S *L   r  S XL    3 r<A 1 A )?@p H  0޽h ? ̙33  ( ̙33 r  S ̾*L     S L  &9Y  T ?t O. . ..2H  0޽h ? ̙33  :(  r  S t*L     S PL@  "H  0޽h ? ̙33  6.( Wnn r  S <*L   r  S L      3 r&&A )?pK H  0޽h ? ̙33  $( ``  r  S *L   r  S |L@P`  H  0޽h ? ̙33  $(  r  S (*L   r  S L  H  0޽h ? ff33   $(   r  S X*L   r  S  L   H  0޽h ? ̙33  0$(  r  S h*L   r  S $Lpp  H  0޽h ? ̙33  0(@(  r  S t*L   l  C LpPB    3 rtKZL A )?p0H  0޽h ? ̙33  P:(  r  S *L     S GLP p  "H  0޽h ? ̙33  `$( (x r  S 8$G*L  G r  S $GL0 G H  0޽h ? ̙33  $(  r  S +*L   r  S |,Lp  H  0޽h ? ff33  <(  ~  s *7*L   ~  s *7Lp  H  0޽h ? ̙33  <(  ~  s *4*L   ~  s *`:L^    H  0޽h ? ̙33  NF (   ~   s *4G*L  G ~   s *GL"  G    3 r:c5eA )? a H   0޽h ? ̙33t  $(  ~  s **L   ~  s *Ld     T|@ ? .   J flat-books$   3 rBCA )? H  0޽h ? ̙33"   b(  ~  s *G*L   ~  s *GLp@   ZF P    ~B  ND?P  ~B  ND?  ZF P    }~B  ND?P  ~B   ND?  ZF P     ~B   ND?P  ~B   ND?  H  0޽h ? ̙33\   (  ~  s *N*L     3 r#PSA )?   3 r 3]4A )? Q  3 r]LIPSA )? 8H  0޽h ? ̙33  <(  ~  s *HT*L   ~  s *TLp  H  0޽h ? ̙33   <(   ~   s *8Y*L   ~   s *YL`T  H   0޽h ? ̙33  $(  r  S x_*L   r  S 4`Lp  H  0޽h ? 333WcL+᷷Ҫ  2* $(  $x $ c $$G*Ly  G   $ c $LpjZ G Set type (not in SQL:1999) create table books ( & .. keyword-set setof(varchar(20)) & & ) Sets are an instance of collection types. Other instances include Arrays (are supported in SQL:1999) E.g. author-array varchar(20) array[10] Can access elements of array in usual fashion: E.g. author-array[1] Multisets (not supported in SQL:1999) I.e., unordered collections, where an element may occur multiple times Nested relations are sets of tuples SQL:1999 supports arrays of tuplesZBZBZ#ZYZZ'ZGZ$Z#Z   B#             5  'G$#H $ 0޽h ? ff33  0(6(  (~ ( s **L   x ( c $Lx`P  H ( 0޽h ? ff33  @,N(  ,~ , s **L    , s *8L   H , 0޽h ? ̙33  P40(  4~ 4 s *@*L   r 4 c $L  We can create tables without creating an intermediate type For example, the table books could also be defined as follows: create table books (title varchar(20), author-array varchar(20) array[10], pub-date date, publisher Publisher keyword-list setof(varchar(20))) Methods can be part of the type definition of a structured type: create type Employee as ( name varchar(20), salary integer) method giveraise (percent integer) We create the method body separately create method giveraise (percent integer) for Employee begin set self.salary = self.salary + (self.salary * percent) / 100; end *Self refers to the structure type instance in which method is invoked.<Z?Z<AP|Z%PZ<#  +A   '    G, I H 4 0޽h ? ff33   0 ( `8(  8~ 8 s *7*L    8 c $8L  Values of structured types are created using constructor functions E.g. Publisher( McGraw-Hill ,  New York ) Note: a value is not an object SQL:1999 constructor functions E.g. create function Publisher (n varchar(20), b varchar(20)) returns Publisher begin set name=n; set branch=b; end Every structured type has a default constructor with no arguments, others can be defined as required Values of row type can be constructed by listing values in parantheses E.g. given row type (name varchar(20), branch varchar(20)) We can assign (`McGraw-Hill ,`New York ) as a value of above type CZMZ!ZZGZZC - !   e :                    D   H 8 0޽h ? ff33  p<6(  <~ < s *.*L   x < c $X/L`   H < 0޽h ? ff33  C;@(  @~ @ s **L    @ c $$pLv  Suppose that we have the following type definition for people: create type Person (name varchar(20), address varchar(20)) Using inheritance to define the student and teacher types create type Student under Person (degree varchar(20), department varchar(20)) create type Teacher under Person (salary integer, department varchar(20))?P#?  G      , Y,H @ 0޽h ? ff33_  D(  D~ D s *Q*L    D c $XSLeh   uSQL:1999 does not support multiple inheritance If our type system supports multiple inheritance, we can define a type for teaching assistant as follows: create type Teaching Assistant under Student, Teacher To avoid a conflict between the two occurrences of department we can rename them create type Teaching Assistant under Student with (department as student-dept), Teacher with (department as teacher-dept) `/PRZZ 3       H D 0޽h ? ff33  HV(  H~ H s **L    H s *LB$  &~H H 0޽h ? ̙33  L<(  L~ L s **L   ~ L s *LH  H L 0޽h ? ̙33   PJ(  Px P c $о*L0@ P    P s *XLp   H P 0޽h ? ̙33  T<(  T~ T s **L   ~ T s *<Lp  H T 0޽h ? ff33  B:X(  X~ X s *Ԩ*L    X c $L  Object-oriented languages provide the ability to create and refer to objects. In SQL:1999 References are to tuples, and References must be scoped, I.e., can only point to tuples in one specified table We will study how to define references first, and later see how to use referencesN[:6R[:6R NH X 0޽h ? ff33  \6(  \~ \ s *ح*L   x \ c $tLhXh  H \ 0޽h ? ff33  `6(  `~ ` s *8H*L  H x ` c $HLpp H H ` 0޽h ? ff33  RJd(  d~ d s *\*L   $ d c $HL0,  SQL:1999 does not support the ref() function, and instead requires a special attribute to be declared to store the object identifier The self-referential attribute is declared by adding a ref is clause to the create table statement: create table people of Person ref is oid system generated Here, oid is an attribute name, not a keyword. To get the reference to a tuple, the subquery shown earlier would use select p.oid instead of select ref(p)(CZ0PFPC<( 'F  f(@ 7 H d 0޽h ? ff33   h6(  h~ h s **L   x h c $Lh  H h 0޽h ? ff33   0lX(  l~ l s **L    l c $(L g@  .We can then use the identifier value when inserting a tuple into departments Avoids need for a separate query to retrieve the identifier: E.g. insert into departments values(`CS , `02184567 ) It is even possible to use an existing primary key value as the identifier, by including the ref from clause, and declaring the reference to be derived create type Person (name varchar(20) primary key, address varchar(20)) ref from(name) create table people of Person ref is oid derived When inserting a tuple for departments, we can then use insert into departments values(`CS ,`John )MP=PEPZZ8Z1Z@ =p+           P6sCRH l 0޽h ? ff33B  @p(  p~ p s *hI*L    p s *]Lp  R Find the names and addresses of the heads of all departments: select head  >name, head  >address from departments An expression such as  head >name is called a path expression Path expressions help avoid explicit joins If department head were not a reference, a join of departments with people would be required to get at the address Makes expressing the query much easier for the user,>Z7ZjZZ> !! !+3 ]H p 0޽h ? ff33  :2Pt(  t~ t s *Y*L     t c $X[L   Find the title and the name of the publisher of each book. select title, publisher.name from books Note the use of the dot notation to access fields of the composite attribute (structured type) publisher << _ ;H t 0޽h ? ff33   `xN(  x~ x s *<9*L    x c $(&HLB\W  $Collection-valued attributes can be treated much like relations, using the keyword unnest The books relation has array-valued attribute author-array and set-valued attribute keyword-set To find all books that have the word  database as one of their keywords, select title from books where  database in (unnest(keyword-set)) Note: Above syntax is valid in SQL:1999, but the only collection type supported by SQL:1999 is the array type To get a relation containing pairs of the form  title, author-name for each book and each author of the book select B.title, A from books as B, unnest (B.author-array) as A ZZbZZpZnZUZS%  J  pn,SH x 0޽h ? ff33  p|6(  |~ | s **L   x | c $TLXxX  H | 0޽h ? ff33  z(  ~  s *p*L   T  c $Li   DThe transformation of a nested relation into a form with fewer (or no) relation-valued attributes us called unnesting. E.g. select title, A as author, publisher.name as pub_name, publisher.branch as pub_branch, K as keyword from books as B, unnest(B.author-array) as A, unnest (B.keyword-list) as K|l    H  0޽h ? ff33  6(  ~  s **L   x  c $DLxX x  H  0޽h ? ff33  -(  ~  s *L *L   o  c $L  Another approach to creating nested relations is to use subqueries in the select clause. select title, ( select author from flat-books as M where M.title=O.title) as author-set, Publisher(pub-name, pub-branch) as publisher, (select keyword from flat-books as N where N.title = O.title) as keyword-set from flat-books as O Can use orderby clause in nested query to get an ordered collection Can thus create arrays, unlike earlier approachZD0[       50,YdH  0޽h ? ff33  6(  ~  s **L   x  c $LpPp  H  0޽h ? ff33  V(  ~  s **L     s *HILp  &_3H  0޽h ? ̙33  6(  ~  s *!*L   x  c $h"L   H  0޽h ? ff33   H @ (  ~  s *&*L     c $(LEqCD  The author-count function could instead be written as procedure: create procedure author-count-proc (in title varchar(20), out a-count integer) begin select count(author) into a-count from authors where authors.title = title end Procedures can be invoked either from an SQL procedure or from embedded SQL, using the call statement. E.g. from an SQL procedure declare a-count integer; call author-count-proc(`Database systems Concepts , a-count); SQL:1999 allows more than one function/procedure of the same name (called name overloading), as long as the number of arguments differ, or at least the types of the arguments differAgZ 0 @"g R ]H  0޽h ? ff33  <(  ~  s *d=*L   ~  s * >L8lr  H  0޽h ? ̙33  (  ~  s *9*L   `  c $xBLp  XBenefits of external language functions/procedures: more efficient for many operations, and more expressive power Drawbacks Code to implement function may need to be loaded into database system and executed in the database system s address space risk of accidental corruption of database structures security risk, allowing users access to unauthorized data There are alternatives, which give good security at the cost of potentially worse performance Direct execution in the database system s space is used when efficiency is more important than security6> zo6> zoH  0޽h ? ff33  6(  ~  s *PQ*L   x  c $TLpp  H  0޽h ? ff33V   (  ~  s *X*L     c $PZL$K8  lSQL:1999 supports a rich variety of procedural constructs Compound statement is of the form begin & end, may contain multiple SQL statements between begin and end. Local variables can be declared within a compound statements While and repeat statements declare n integer default 0; while n < 10 do set n = n+1 end while repeat set n = n  1 until n = 0 end repeat8N1FFFFFN /?  H  0޽h ? ff33  0<(  ~  s *}*L   ~  s *~Lp  H  0޽h ? ff33     @8 (  ~  s *Ї*L   z  c $TLSM  @Conditional statements (if-then-else) E.g. To find sum of balances for each of three categories of accounts (with balance <1000, >=1000 and <5000, >= 5000) if r.balance < 1000 then set l = l + r.balance elseif r.balance < 5000 then set m = m + r.balance else set h = h + r.balance end if SQL:1999 also supports a case statement similar to C case statement Signaling of exception conditions, and declaring handlers for exceptions declare out_of_stock condition declare exit handler for out_of_stock begin & .. signal out-of-stock end The handler here is exit -- causes enclosing begin..end to be exited Other actions possible on exceptionZZZxZiZ        p  $PH  0޽h ? ff33  P<(  ~  s **L   ~  s *HLxx  H  0޽h ? ̙338  `x(  ~  s **L     c $(L`  NProcedure to find all employees who work directly or indirectly for mgr Relation manager(empname, mgrname)specifies who directly works for whom Result is stored in empl(name) create procedure findEmp(in mgr char(10)) begin create temporary table newemp(name char(10)); create temporary table temp(name char(10)); insert into newemp -- store all direct employees of mgr in newemp select empname from manager where mgrname = mgr  D <    /P (BH  0޽h ? ff33   (  x  c $0H*LxZ\  H e  c $JLL^ H  repeat insert into empl -- add all new employees found to empl select name from newemp; insert into temp -- find all employees of people already found (select manager.empname from newemp, manager where newemp.empname = manager.mgrname; ) except ( -- but remove those who were found earlier select empname from empl ); delete from newemp; -- replace contents of newemp by contents of temp insert into newemp select * from temp; delete from temp; until not exists(select* from newemp) -- stop when no new employees are found end repeat; endrZ"ZZ" ( . +    2    ' b" "Z3H  0޽h ? ff330 pd(   dX d C X    d S 'X9 f    H d 0ηo~ ? ̙33Kxp^RЀ3ÿ lHbP  LPÄ!?(f+4>GA @X ʐ*ы@ b`fʃ BL`i7d n`dY`e3\$,!`)bU@i&9 @23!@TDҀmcH@&CO," 60w*ف9 yUhY1#0 iW(@L./O+Qp,p,*QpOI-dC T--M >ѩ99 Ή%EŚ V1>A!1iiɩ19I%Fzi g?lc8&܃3/1ysc#B$@ݓr<9 FMA^In-Υ %E@uΨ&2HBM,\ Qg n*y kP͛b uhGj%h}gn%PuNh֡#XKԥLC hԡ^49Ms+T{r@k nyeo[Z2  PF Flpt$$((*.57@9B6L4NS6YT[X]j_naeginpyCG-+,, tOh+'0|- px  , L X d p|'Chapter 7: Relational Database DesignsMarilyn Turnamianon=C:\apps\Microsoft Office\Templates\Presentations\db-book.potP Ali Obaidir141Microsoft PowerPointice@P~8@SD@ 44/~@@{qG+g  g& &&#TNPP2OMi & TNPP &&TNPP    &&--- $ $   $## $##..- $..:: $::FF $FFQQ- $QQ]] $]]ii- $iitt $tt- $- $ $- $- $- $- $- $- $- $- $- $  - $  - $""- $""..- $..::- $::EE- $EEQQ- $QQ\\- $\\hh- $hhtt- $tt- $- $- $- $- $- $- $- $- $- $- $- $  - $  - $""- $""--- $--99- $99EE- $EEPP $PP\\- $\\gg- $ggss- $ss $- $ $ $- $ $ $---&&&z&--- $zz---&&&G&qw@ OLSwUSw0- ---- @"Helvetica JLSwUSw0- L+.:2 "Silberschatz, Korth and Sudarshan   .---- L+ L+. 2 8.. L+. 2 1..---- L+ L+.+2  Database System Concepts    .--AH-- L+@"Helvetica LSwUSw0- .02 2Need for Complex Data Types  &   . L+.02 1Need for Complex Data Types  &   .--ypH-- L+@Monotype SortsOLSwUSw0- L+. 2 Rn..@"Helvetica LSwUSw0- 333.]2 v9Traditional database applications in data processing had A    . 333.42 vconceptually simple data types.@Wingdings 2 TLSwUSw0- f. 2 ..@"Helvetica LSwUSw0- 333.R2 2Relatively few data types, first normal form holds               .@Monotype SortsXLSwUSw0- L+. 2 Rn..@"Helvetica LSwUSw0- 333.a2 v<Complex data types have grown more important in recent years     .@Wingdings 2 \LSwUSw0- f. 2 ..@"Helvetica LSwUSw0- 333.<2 #E.g. Addresses can be viewed as a         .@Wingdings LSwUSw0- . 2 >..@"Helvetica LSwUSw0- 333.!2 >Single string, orN     .@Wingdings aLSwUSw0- . 2 b..@"Helvetica LSwUSw0- 333.?2 b%Separate attributes for each part, or           .@Wingdings LSwUSw0- . 2 ..@"Helvetica LSwUSw0- 333.]2 9Composite attributes (which are not in first normal form)A             .@Wingdings 2 fLSwUSw0- f. 2 ..@"Helvetica LSwUSw0- 333.?2 %E.g. it is often convenient to store           . 333.2   multivalued   . 333.2  attributes as    . 333. 2  -.. 333. 2 is,  . 333.g2 @without creating a separate relation to store the values in firs                    . 333. 2 !t . 333.2  normal forma   .@Monotype SortsqLSwUSw0- L+. 2 Rn .@"Helvetica LSwUSw0- 333.2 v Applications.@Wingdings 2 uLSwUSw0- f. 2 + .@"Helvetica LSwUSw0- 333.2 +computer  . 333. 2 +- . 333.(2 + aided design, computer       . 333. 2 +- . 333..2 +aided software engineering       .@Wingdings 2 LSwUSw0- f. 2 O .@"Helvetica LSwUSw0- 333.Z2 O7multimedia and image databases, and document/hypertext                . 333.2 i databases.   .--"System 0-&TNPP &՜.+,0H      On-screen ShowLucent TechnologiesC5A MTimes New Roman HelveticaMonotype Sorts Wingdings 2 WingdingsTahoma Math ExtSymbolArialCourierdb-bookMicrosoft Clip GalleryNeed for Complex Data TypesObject-Oriented Data ModelMessages and MethodsObject ClassesClass Definition Example InheritanceInheritance (Cont.)Class Hierarchy Definition Class Hierarchy Example (Cont.) Example of Multiple InheritanceMultiple Inheritance&More Examples of Multiple InheritanceObject IdentityObject IdentifiersObject ContainmentObject-Oriented Languages!Persistent Programming Languages#Persistent Prog. Languages (Cont.)Object-Relational Data ModelsNested RelationsExample of a Nested Relation1NF Version of Nested Relation%4NF Decomposition of Nested Relation 4NF Decomposition of flatbooksProblems with 4NF SchemaComplex Types and SQL:1999PL/SQL Object Types 10-13Collection TypesLarge Object Types Structured and Collection TypesStructured Types (Cont.)$Creation of Values of Complex Types$Creation of Values of Complex Types InheritanceMultiple InheritanceTable InheritanceTable Inheritance: Roles.Table Inheritance: Consistency Requirements (Table Inheritance: Storage AlternativesReference Types"Reference Declaration in SQL:1999$Initializing Reference Typed Values,Initializing Reference Typed Values (Cont.)User Generated Identifiers#User Generated Identifiers (Cont.)Path ExpressionsQuerying with Structured TypesCollection-Value Attributes%Collection Valued Attributes (Cont.) Unnesting Nesting Nesting (Cont.)Functions and ProceduresSQL Functions SQL Methods%SQL Functions and Procedures (cont.)'External Language Functions/Procedures#External Language Routines (Cont.))Security with External Language RoutinesProcedural ConstructsProcedural Constructs (Cont.)Procedural Constructs (cont.)$Comparison of O-O and O-R Databases#Finding all employees of a manager*Finding all employees of a manager(cont.)  Fonts Used Design TemplateEmbedded OLE Servers Slide TitlesA"_% JAli ObaidiAli Obaidi  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntrydO)PicturesUCurrent UserSummaryInformation(-PowerPoint Document(IDocumentSummaryInformation8