ࡱ> nl,f 1DPNG  IHDR^g&#ibKGD cmPPJCmp0712`lyIDATx^] \Tu?1SN5֤(ԨDEE6m*IkزKi[料wȬ45дEgAF~( 1p;3<ݹ;ُs9s{3Kc݅e]*Z֥+*z:8PC{ZyK7J  ^ ~ڶfbcȨG4 > 9;#G!u#^A[41n >xRL55z Fukfѩl۹ߢ;&dfmvV.wN@׍ꭄ^[7fRNYd,Rׄ,<NҀi*1-tSs:ge&Tu2U> 1׍.B\>m.?T%7tsT 5/HxmׁMADb8 PD*^<(H7 P@x52oCR9:H@C_ACNYs55{r3+HA^bS'>0vx~БPHRBWE $s(rt0 wvlU7BZU0oeqw/Zt"= K!?΍zRo|Oh|U !D:WoGp a9B(ThΦLRl(xmJ&O w2H!HAՁjΥISw[w jTή"YhV4&'xV(rʉ,o@Z/VTQItվ D Z~[rQl⠟"9e7 eG@L:W\Jp9lۍڈ)eap1By=(o/U7."sU[tm)-]u$rW̶;zrUum>?Qw8ڙ' ١ by#^┏&5FuT"wyqu}9Up(LfBUSPOQM5'ύrZde(}T#yڊCV.+oy맪[1>5hZ~_;4;.{t}|i64skM!b^K\~aVy;FN v+6$ӵn!#VBK7EQUo,aj2\*U,ߍuj͏DK]pF/ oo̹=b5M"t~|M7g#ݼ!GzA=?s7:on: KR>aUm&.BeiʮkΰoL`8Ar ])~6@݀K&ы2 mʗЭG>69`j/$\_ +JYY^s׋6큃'c<UV%*}Ho݈^03Zw$ܼk/ &mU3>]4܌D;9<ϧ 98ӡ! (׽[|xm H?sjIW. ^ps0KMzbRN5Obw'-CD nA8NT%o`S`Jʩ\Mq&Qɻօ:M!Q7/*~vd fj.ҎW)HV/ŀ$/GXV~)I[ 0eӖ<,-LSv)ʿNKR,#bNhƈLo\ӇyWPIC[}^6n4 nM3>PN{͞ nYb(>\ _kM]ϣRQњlݰ=-jl͍ixKvqj>CHS*^7eV'GMERQ1osF*S"|&KCVu=fd/kpG0JW'=.B<3QF<3ڝq$A5xy]ˣR_j˳" _Վ_*" _G:BYǏk!%"]Kx.#|rJBc)ߏۏ9T*t3+/ry|.u/EGxy—WKț 櫑{AϨd~ЈgǗנK%?]^3*d7Ki|yhzcR^.%%3 ]J/C^3ڣReo /oDR c|9儗wK|y)^ޗwt ^.%]//F ^ތ.{F ^ލ.y㗗KN|/oGztɈ/y_>.% |]r'%)Ti @4ly*G5 Rꖒؼ%l«6_r<㌰>uF$ JOPJA5~8Ŵ?Kut;}́슱j87O˗;oMum~Ȓ> m]8_ؕν+(XGf Ylׁ+KPѦ&k"==aXGJbj??\c[Gl{MvfVl@PҸ؅_~ 8r4r0ޮ#⡥X.l2fk`"S+vh͠ƕ|\n ^] 5'4(ƴ B"Ű1nF4ֿX:b$H: `Y`.o%oBW!4 T0%>:!uJN+,PNhRFa:z Arc 9)2~!b`d3u?ʚX)Lhh\/bIu%I`2iB4ؕ3ʀ_e:eΆyRE)d'^w 5E"Ҫ#*\oP:e6 (3 2C.P/WPŏ|5r;ƊL7*c{6uy|,LSq7).6̑\9OR"2EIX)m t,E\Ut{1 s(q^ebƜf{E/37q^7XD&,V\"X &mRS E&hp7NNt$ 7 &fJDZ$E Bb]d.ODד[2A.@zxcHj%\JsQE1N#Ôc _hI뮬z|ER~QʗNm]?xӺ3=!?Obkt=$iaf4Jϥp!` bN&cOpd *AGњK](`:{]D6IBǃSuhu$JQo&LCFSnPg3\\鐺}%3,mGW}o/'#^?΍'~x95i~ҨVA{-BRׄ}s&G+5"qN[X~_wRFk't`ݷ"ƢRIb>|xHI ~& O;4$\5jmm"% _g-rY IE1{w)~7[Kͮ|㙟=0`ʥ7p$ÉaEooKt^xC|4.syNrx ~8gs!`˜<4APA.oѯ{@+ HyBdgx; PCK\j,.@&,9 8) 0jIؒtWu9bOz K*g{O m(vW$[713%4,Ac ~伖evGr { ː{'8Lkb}`7|˴r-nW4C5,0ţ]L@"wi?8 7G{Y> E_lSd7#zjhƪ -M5|7;@Xe ^LQ'A|?)ﶨYx; n$)2LW6#v]APa#^~jwV}@3&)rJ1SMc3maӆi[,'7ײ#jZ!O],;mu~%Ya)wAd`,\q~<}_#1RMxǵ苿,4ERC@7M#xEP { xm!MQE;ʠ\ݰ}M >QVK(M̳)';pdu cM;pVʶh*>jG3,e8MUAiS?qэi5CK7CRAB@ }7;_ZZ7XmUS_)w6#|s8gs[X='.t_>f[%r;æx>/ͳ/aƖቶP)亳u\ϯM;|B YKרN,r(z|p2qX&iA~@g|c$pƪI* xUw{]vMsr nC%4~7e➇'L̺)%Ƈ6b@&zuGR/ 2Xp**!9if~T>T39V ;&r@ _͋!ҧG"L6 ]0QNFW^) >ry~s7˪\.rb.zW+;?p2 w"`E@hB|dWerQHUPId0LY`_f? ƼXsOIq?RԨT&08QT* e\Qjs<,^5FK&#YaO-眵#¥[!TYkRV YR^>mO0AO0߭ӫu6?dʢK FTz!J 6-^Yc^#W 2Mpa>PhBփA)YcvcF+_{ %,=!eシ*іٲUNDaڤ16x We5 Ҽѧf] $xxpo`wbh/G1Ly/l0dӳ|_]tNErjhp].\aE/_ȿpy~u7YX[paޏ/Ѕ>_^8&g"VRqBJMA55xK]4͕{|?By>oa 6wy 'Ն򮔖BW~jD ǡҫ/OiT$MyJzeį8:d/pm걽1,wQrsvB;5lTHXhiˌzdOGY`=V>Z!4WZ ,f]^ ,7[k)=g*X;]~t%Bcl}^G4E/h_mi^J '%x^)xmK^xa 2M  p+Q]J54{^U&c]ft / ΣNTfǕX {jbp;uʸpB_K赫6B |.yjQ%*]Z@Ŵ$4 vfrŏʡ "^= ♋L"t ^r ?/2KSeq.=b5~G#^g)&y6B}P 3}tsR2ve&z^)r9Zkdj]!hĝ;#E @b{Ք۔FڍV k) iz[G/W| W*%[Y 6zcS枏߶ jG ,j@ϨZQx]6چU]*j mDEѠNZPe^yTdf7)`O֬uOu&ћ~- b ε ?8L~ӂ:^+ҀZAt W]S'FlI@w|\ge@P)_ql]7c{_}?Z*PGAxCBݠsPR&bToLs<7ǴvX}P=tOx83@c q@DjoS1j 3%/8ʳg&(fRh$ua'C<[Jo{-v+|+4q Sk]7>Y9dU]hO э tْp}Kmk~g?tu/P=~JBd6L0<*es?Tx@!Oۼ\oF27(V0CͼTE+w){/?,K[{.RŽj]-:_`$WbJvG)t] L80Tu9t/cos@ɻ]*(|y]/c"_FQR] 9{RΏV~ wN&h^u8rl _$Bޥj+I_ (NADRgD>P%z0~GХ<>?DUCjp~T~+p:RmbŗzK>>GQ|hcE/HFRsTy|lty]ߏKU|y]j=R</ R _Ag ]*CTȿ]_B8]*cƗ7Kq|y]wK˃ ėKQ|y]b>t)?z]BFt)/Ϣ˳B'bz'—ax)]_F%;] 8dƗ7Kv|y]ntɌ/Ed]t/_]K<[Fj<d "vѴމ#V'|w_65Or?đ~,wl ЬvB\׋_^.ϖY5{~Wk4m҅^ӹJML:z -!|~6v[!l0}z57CƯrBd[tŠw}Lb ]ePRzv1K+.CGAJk~ŘÁ㝘wO *~U?!=ܜǃ1m;,X_Fh/շ_A;z*5?H'"iSJlﲎ0;;U񎋠}]X,hg_pn zkBJHWLݖSNbش,C/ůe"HώP̽*WJsӵm};_C #g20U*<4ā/kl!o擇. _tu2|]1*+/1F}FW@M )L"`MaTˡ40LY0'TBڬ| M<.q CaыLOlQ ]L}j‹. *]3&DuiIyKʁp%e^EZWi 4p*z W0xyA*%.~2^3^DH ,ڸ/ef&tVx\ 23W =].??uOJ`-++}bۊgWćN M5;S>huPDMKA<Fڽ^Mgk bT#G)2ޞ벟J$hڇORRsoR%%z4$ɨ?_$ YVb!poiI\&Z MWKOBYu#FӲ{6~qĪ7e<loqa#XBUc0{W2˝]a[ޏQ?BxӐpFBp3v#",\޸E-ϛzF>^=Ȅ EsB6?#`;|eQNӹn~CvNp@ '*=E[⍣_;YsoaN'dXr%2ƽ[n؋dT$f9מWq#dw^gt.{L{h(q8~ߒagb;jo6 \pBHt>x:Wt/ϘCh:W=io~⡩L$d}dkj__XHVfg:DTk r +iqsڟU0gXXO9TCY//&~f P-ҽ(LWM+?9Rbhn =^dx _>pv?Ra= Yqv,Pic=IӾ̟k.E>zA>˵V䯃2D8RamgO. /y(w旭< !cRY̗'Cl3Pdxg Hm K9p]݄G"q'K˚·_/6eȂ=RYGGd"ôFoޝNlՓ{!B2x|D Ap$ʌJ;ýLMȚQd $ g8Sx7?R.Clf\wqR|T-CxSDdb'J̓1tY/]c] Ai\yuR8UYUEYΩY`Hc6|iJAT;3-ˌHG /zLKzQ8yHʪTI M5,2/. }EeF(h=v\uaL#hl]+%7Q9]y :!M#lX嵟gn鎖ᓢWV̓gaMJ5y_Cc{ h|59D ;y`x7nȱeLum ;7()PPFYǬ  m+Z-zX↺ڛO4E/|[AC9zj C$QUJz\5@>VHvuWh !UC[Ewp/Ǜԯ(6(?ËԖ f$?Hm/hFRËԖ f$?Hm/hFRËԖ f$?Hm/hFRËԖ f$?Hm/hFRËԖ f$?Hm/hFRËԖ f$?Hm/hFRËԖ f$o9crcw &5]n'u(:Rnaz5:70luw^'LDGcOY@33P]TY /ʁh:A7tz+0xo_Sq[82ĺUs50cT~yxݦr-/ӕ\H=X3~s=BFR]%ʎ_|eQDd4P""=tQkھ0UTʉ*!V-De]LȄW",&G&(fF&m x>E)|nml$«lWpŦS@j<Y󠕏PDpul46W|PX+'8%f3:U>T>uZ:HV$tv ۗ.'@Tl_H.,"yLFj*KqZ][A]2sMc歟T$WFM"D%./U_33T$d"-~4pY *-f+6br7l.޺?9xxn~D-"?J!}fn(>MZq_IV; Ei5WV{1(xSnGi+TYo~_㠚ýs~Tp]'%Q$8?nv9YIkr%m/{޻Ge[rFRN<:-I|d|+Hv7,O=Jk7b4;d3"xhgISIb>#MvRNU8  'M+lyf}I!HR~?ִrx"UAC\Uc#^F?Ǐ\e˜!sBp}K[ 92r# 2Wō>j~N={rS,d>=a23!\vm\$^A0ߎugC!a'*d ht2; P2|+C8LJ |уsFG_?֩aPu1E0b5VוFdw5e/NYf%6rK>EjYkӚV ~eɩ%DXJ86_\_}دvgJW 5{vk[^Nna^ʽz{jҧol7JMy d׳+cISV !ɀMg3ǠSwO?:xJt+ xt;MS-b=c8 si~t/>_8 O3r~6!w 5uFto_?{pۇO]8~:xRNm@^Ő-~l ,T + uE?V%ާh]~y㫾`'BFh~ ˹H{k,?_Ó?ru8+xnP/-?WQ t*R!qyO8ϡ?u]U6 ɇT;AoJ+ڵ>7|s f3sYOZiTs@4Dbk_N~o!uOH)iv9YI^uv2Xo*txSNt XR)6 ^($ Q7iq[שbU0`xb9ݼF ! d|Wœ#^}&f]k;%:r}uM  &k-6|<~b<*"XOG,|f.Rށ0pkJ:;YMHaڳ_8(Lk(႙ȉ^R9ggM%x^:w2Lt[[6D9w?ԾcQ̓bjYbؔ!s^])'Kܮ̫If=(T4$pJVFbaS{*Y¯5ZzE ^3&׋h@3,ơ45Yu®: uJS`AS! ^oz0 (:zb0إƟGiJE6R] Fj-_z[BxlB]4M3&̯ Vz񕡁[ޯzy/ baw~fsOkgráz sNA hzvGAfFfhS9nZf|P"EDn~KLNaSMQOe8yLxtZ}V@AvEWA"p~ymP)\S#^e`l3;^οhdt3\ I&uS{3ִr7 7SV8 .Sxkb<(# Z4ws^pW*пƑs; Z-hUG1ߏ>//BN+e-Fn}" /m8qgBNjrbn]V W{"h#WRr%^M/b@_CW2{X$W_pG&k=Srя// 1 2B2b/2<~MibSN_S)c}^ p|v[e}^~|#|^dZgŌ{OwŌOa|0ߏޗ!o򼷯9 |^+9vm;[bG/??z]_ ARZc{?z9_U_\ ,4+-|ne]3zͷ:04j(;!)N#mY_44] nVJֻܹEe)o*^5'W؃VXbC1&Y9{ٜQu!wyFmQH"`z8#, /rc=hVZ4<K|5Rn+9w.PEJ%t'(o:t;Ģyocڥ$j0#^ue_!1ͻ} xlI@F1ېq0w}*¹z0:5V^Eጯ#v?3^e0oeO!pF~p"2]v =]ڱ|JDX{k8Ivē*9RɴB&Y8Uc/u^G~W3$n GTڊaW#!(G@PGLaB9|𠓋d&JsV_ixGWaJ V`Y{x-4Kx@$!YhO@ǚź UW @Qi^ DA 5{50^)RxN eZy|\"A,1G`NS^ 3nW"X=71^Y0̪v i`(dhO J@bA!:AD@ar ^Au]:Mk baqet&*Lۑ? -(Zy KR9Jek%«1w)oWe$F\QG/p$X*(Kl1]pږ )b؄™)sPxOpeA0 ^Ix*-(:j"\J Ry%E5D[)ۼ4ž4UEs|J_K6+L1l򬅩b˰k $`]!V3X;2U~X^"BSM)nCC yQ}8.U}%V2$~{4@,Ih ,1o%LqɒꪂWH% C-M:44 t.LJҼIUk`+R=ş Og&Hl*!Jِ÷ecBm5|RxIa' HП3!~)L?)bxg?ZK`i D;T*Hڷ-{hTXjHѶ2Ŭ)K%xVJf+M9ܿN)@:kB^ep2N](+7l s%N+LjZZ\v[X t%jzwܝ\E66YV+WMtWUOud ;[_ tUqCաᬄ`Δ瘜98C [Zy*HyM)` x+!=sOpxAŖ~(-;o9\v&;s% 2.6煘zrIHb-= '.i9'U?,K8 C=5jqxWOJk<&<5{ hNKCa zus[lRlmo)$x,MnARF*7A[uMM]047j?=`waWm- 7~*%1*UsY;f]Ly8+m[Σ;Zz`KR*|t 9'|7`~%g3'f B7^GhnxwFKˣOf>*Y7^38l35g^Z7kC>T]]lyzɾFvx?Y$e -MZ59̢NBATX"3Cvsٗy^s 7iE7`ٗǿt/Ƕ}w[:S-Wqi࿘R\9T fsGڞm,s,]xg {ږ waWîsW)5:X4s$P9Ė-N|#xh7l37B֗ŤX |];fu擎GԸo S{XMhx 3])x7A,/u?Œ$~kISwl --~85?_;="V3Q>Բ̀?t[̀_ϑ,ïfyO,A[EyPǬe<9M˞.^>3.(|}{uϬ&Zb}ݿ#mӵ|J뺆SO\χh\jx|K8toWZ͹VtTSQ؃7XyA>Xʩd@Ŧg- 9}SЮYXtVLi&cp=%倡iP a0ְ` ~Qx9$^yZ 2堀mD䱓X^w§Y |tl<߾W>6>UG3ǑD}2; u2낍tH&u}:E ])̃U>ǮEoGΞF FA1Kn^ìYJ N /sL-/׭&%TRK'g&s2|$^o^bfP"a?mAކP/K#g2AӄWmX3cSݰ.Lγ,l Q9^\ ڌD8@:ﶵ g=>R/43?#VIM8Q iʝ bI6x]5<Ǡa%&ΗDZ{&Tv [W'ColtyVSiwf/y8=DD^rT\jP_i5*\Y5>vp/Вy7 BD#Z (y*qߛP~)tLziIzڋshtZ"!UtuD3fR!)Xk-70w`#W1T/(X1ex&HWm<$vcFHO|UvĿnj:*Rv%- .+nߩ6ScܡBe,0hzy /qu^.BN;q*pJmf5FX1#*C*R%L\CFqo k.]at=h\[Hӵ He r /$lBG@ s/af] ]*]TQ^L2k_:ˁ.tnhR7a:ËwGqM )= a4B&7We5mC-{Zхܶ%Li1q,#hb9O;,I}6{?l@svc =9{mRҩv/8v'Ues9p3َu?a܋;¡v;G%s"]WE" ^_d;&h@wEцs}4m-G~BE<*g4\9c1Q&\˭_is5g#u5C׌t ƜمL}}sSh͈ɧGXeÖ={@70|D &.uq\$ytE!沌l^f@Q.~ e]M]3YWҐ>w 9"6)0~צUMRYr8Ӽ\kG R"2eyLzU{+HcR\WB(v9OqۛX9BADfE Dlrl }RYWE!v̥`wRL AAW]"藸t|944!{TwZU!Y\*FAvo]w0*aL+xFҴ 0[6q9𕮇l9B{$)b#^5_^NHeZ6% `,xk.QDIyfp0&LXM_0/8Ts]9 FEhWA_Ay|/]QEx0*QlUaߛ tQ̩ b/HJKƾ(vyO,Բ$rU(ɂ׮Q `84;RQu72lش1(NL.M.$i"\kN}uZx$ ^s l$AU1[39B' ^_OaӋDaQ1z?n*>,M1U4Ɉ~=~$npW<6cۇb!^%,mqɸ_{:U-z5Fg?P+Px(<Ƒ̢^SU^LpLUEQ6r omA۳N߸Tt/5ϑ啝x_mm݋H4FRCC[x'^_` uoGXf5IWg(< >:x A5Vt6tJa!^!L"w_~xsy=?rT_)rrkT{)# NV]zJ9E1#~='`*\JM\J{~szE@x0X!szwx>;k$t﫶G]ӄCy!#ikQxZ!;#33Oid&^;?MǗPLR\*mXV3,ܩ_OݗG!j{1l{ł \ixk5'a&k~)yd@Cr١X`UWt(Z@W/q\"Wi0Cn:o*ru-'dޑ xGBq=>ȥo)^@`D_(p 2MgV2uI(AN2v=P>{A$XQ<™>:okgGeݷ%EmB(WJ X OI̭}E!T1 3%g滥HQfxUt%;V^9R'łN 2oXXLӥ34D-k şzۜyzx0'5{g^N[LX|rzXW#ۉ#`'{cNMxXG4ڴ_Qi4BL"$g Iq35m@ުB*L`͛~8BȨ)&Tk˽hyq%XGS)6Y8^W68p۳ƥF;R!#zPX kzΦ O`R|*Q؁0JQX zJNr-L O{V-BL.!*4{h`?Ģ9 KXS62ф~v #:<  )C}H3Ku=q! 04- M>E`;dzS-XM'!^rcubuJ06YrbXh-OqrC@erΒN:=ڣU,T6^| ^TtSW'y؅OBp9[׺̑lD?ـ-V^ R+U~zIZ}y*QZ\6n ɯ$&1\1Xo(P׬ j4o![f5Cnkj}W>3jF*^>=I(hIz#G&qы t7S$:[qAGL07G p9<(4[*8,mL@D-nPpm0\5{IMw=d.|'?="2 b *"^u s >iOG^k >a ifW*@BEhKLjq׶vL z<{3uILSt@%/\KZ{9WeX!td?ױe IF_BǥFFy}?{mr5?72Q`xcbFkFK<9[fͅ5MAXˈ~.TM]ٙhwGN\>DYB[yK7_G?skc^IENDB`nC }LyPNG  IHDR}cm,gbKGDH5Y& cmPPJCmp0712`C#IDATx^}{@T:SӔ[SQME^*DJFJQQFiT\3o%/]|Zvɋ^"PT|5R2&T |!/a0ps{0k9kDk+p$xiZ64oc9O1jkS-XR ژ?}GWR駍?(gsƒSpog߸ bD4 E{7ՀgБ{uzA4|[Yc$Uģcs ˿gm= sPKdۊ7Q/z~>!2MvR c)FJiw!87o.QrLrs0Tk]AljhhPpR3C@t"ZKr"\{ڑsN"ϳm\"-}Q9o#"g>'}࿓o! jBCpԅ1Q^-D!c)@*:g<=n\C= ֤sV-4b%p+JܘCŏפ[W,]9Ew,V'4?|8B.Kϫڥ }nfM.5Zz}I}hT",nK 01{$|/?˻f%E/]?UIAt=PVKi7etR;&%M?h纵:H* $J%{Z8*2Om+R8* /Kf S kyG%ZeoKviq|¦;+QlלI!/;׸}.?5;e(1Z;TA l]yxMǦHvVde@d }pu;y[<L岺 a̮H%ŏ (Zb{^b>ɍ.pt P~% }g` ں5U;{Lf= dر<(:fק6l+Dh&bɋ΀:[M>J:~S4k"hTfz7q`Q ul=2Q>ʇ{`#%m]帞5 DoÃ7C-Ӝ~az_ԇ}r2ELb^}{p>Co&ulzltq,( }Q $vWU]W?e~nvj ':>X@z$S6m5q>B,o+3x2y>{ͼ"TQE􇦃cὪfG,+ 5 j̉ZQʘb;, j-{0 puIjxvچkCj\} ^M/wZK軤5a DX8:rCyEhz?Lsr[ Q'f:_.ǵb{ۂyi5;[x#]Qu~AVJ0R@i©K'N n1-&rSd%yط~>ffgolդ=t(sðBuA&H+O\>=')d1{j hnk ^ߡsV XNv+Qo/r>M++G$oWTѽVvjofgpYpG=¹V#ޖ]kyӺ 'of/ tefT,& }0~L=8WL0ep,ax/N.53`Vdow + VzA_-Ț% }wQ$/d^|)RH34ew z$s+K X0c4q裖qfqi.ߜQ=aQ~8 Q8ms`sa^!7y-}o K7A#l%7 2Fcm{"L ".^,`)mAoA"$_\s>a9q~3BB2vy,^<qŘMi~<Ē[eܭޏte[v!Jca?U"tJKRaM&!r飜KQRv< 0׏uluECHJelNlC8 oJ4Aϫ8"j4" _pb 2G穙NĂ7ELt{GӥQly[e# }[34 f9vrU$C:7|484|Pe # }EaFoje%OqpsS-v >dhBM0]d5D$]z`^7lLIk;s7~GX ŽD0,*VJ=h'@pu۹{W_+ /v;⸡Ͻ(_8ޒc-#}]}W2Xkuh{і޿vgGkG}H~nj>bՠ I=hxj bWO<%?D&Ï ۋ^OA{7tؿRy^sbtvd̚*. 2Ѵr-Pl?;4!eP؊^5祿JH#G%N<¡{5(q-U0ORJ ԏ#kޏDAx/jfu0f_ĸYC/}y_sGFI0@kx Qяg|P.]tvqoٶ 7_@Ψ >+h+ ~21賀OF|dkpq4Ww-?D=u(cm/#q[+h9)NL>)5"vXդʧ-8tA8vRz9#SK@}@Xa,9T\]d?$Y \q?q[hԳ۳K~ -!}? ˖Lg?elV4 NE2X;"ч2sOw}EI*yz[6V)'|L ᗱXӍkBTUu@YC_&Rƾ|J_\i ͷn%* 5lk[[0\+Ćq1E>"ht+諱f5| ~Zrn*ԗD`? SEIgng)?d㕴OHF)Nh˱ߐv{լOöBHhb=WBߏ ~͌tye#~f%O$P~]t/eAIƄfD>+XvW!ʂo5,bw vw@[ٛ]E#S%_uT?>5R`kI7ؓnBF[ľiY3Q|fM"~!ɑ}.3䯓ِ3~{&QT6a^-gAAj7ڭ?@M $3OT([7m/:9cKjZfƚ4008b_ǎ.9ٓt#wp)OlgXExDEU3s$>XѶ_δBb :˜61E>~яG7kz:DYF'2lA8bߐ;;֫/:} |8"S~MYoP"( *r *m9mS~žjd(|"-*Ub4|lHṽ#P:`08#1f$M 4w| 0#u=+|cF׳΋"_c0T0|.XjuTIw$[e6 FE4ݮz8LeCejZ3d c_+kI8x4bS~y1(-iy2.%8?ǹ'j}VG~{5V{ QUC&l8ƋUF/} kkժ.fҰΦo[N#[x]m)YU6=]vlH# ͮ ~ցF.fJuly8 |¯9 |f}nGn~" C+>'D/s*;pϩd9~ѷOsfcෂBP/H"}P>'D?#|DN>Nc6Ii c6dň>'v{0>| A ?l# |D(!\>.8ޥD?~GX#%|8}NdߘO%&JBF5<ł>"?"GӸ} >3=Ki W:{msr#|<|_ ~Z˜",wm-g14J@#|44>?GxcŽGV~ϥGE?>>W)~KU)0g~JO!$AAPh\, k AKKsI)?%?bS}jAŚGe+,sa)\| Ov4KOɍ"mv-2VyShਈ,Bʌ>bsy)EO!+ҸhwKTO*\ /S܍sѴs?wH9CTd;-~ PQWNܚ(|4-+|4-+dC[EJG(V?[g,r}]cof&w3tYլIwT;r+0tM7VA%/3/~#ǵU_9yzvCXj#O\=.~핬LpY_N{&n89| #L{ò]F 0y |^_16?a4$8AICB$BP31)#m(Piy3.vM{^xc?й!%6GQ;r v2L LJ>"?\ؿk̠s Vhy5x0+d(輞D@71KF] q d}(FN*~}< v0@/uv,HhxӋ=y&3duq( 8rEzr. Ɋ*[N *c3:\ S`F : jᯘ`fʮW7H:2p勲xQƼճ;9=NFGDv<ԙMYe ͢fJ}NGyâ45D:SyCU}~3`gN_e `i|) Sx҂>G+ muQa8ػy_p}9صIE8"d|qluܜhgz=Zg.jkb8#PÕi ИV JO&EG̃a͢&u2%Y>".@>oyFx }3Gp =1 DьChzy =̣iۉMɚ^4@H(lɢ 00YjHǔN!n X#)*ER40],e8T8,esovV!AFIBΗ5Ekyi5jK  Q$Aܥޕx#!߇QH Lr뭓񠮗C _FքvƁVK ]BI-H%"b茁H >dPf"OV 2+c˭GOJ/KzW",k<  "GbL5K:Q=Mha._`@gVHPNz_ R٤9omm("@H <^W9$$+6\()gGn:g,+Q{I6p8™m W;l)HX!\޴a@DmDj"-D]6 V*r%&( ,kfY2E6wc,U1FuQzAa9zt8gyBG,No^dפ׋lw *NJY,*D;"yٷ%j!32JL ,oՈ4+PDʶ6_SZ'EU#PU!3(5Dwmyujlm EI'-8e] ZֳRzld B_s/z~v7]aBZcmYq|'V553m4=9p:Iv~5*s$ [$rFN%\᳸%޾B֥ s|iIyF ̰+OW(:tx1Y["+CS)D%Q#7r+uv,9Xf=.GHFll ̶$7IA pdc?kmvJ<7Iɺ]~rxFGn9 ˃Hl׌`Q+[4dJyVuΒ٧O/otl꙲vF0P-*DLcIּ6 TwEw{XuE]f}7; i{c-Wǯw<4z3 0ǂ7s혇x#\;amf ul0_ֽ:^زe8C!hfX4cW|ʘ[`7;Z=`@ o|닮0WjWѮ%10fXB5g-j , KXx }j=<ؒ^d \(ϗؚG׍'typ_h^xэ\s枥!(tWڝ4%C'Ly+55rJ 7wmiJL2v3^#.v=?兛1l"Bn {ޗ#7ȱQ=g ze$Y뻛s %e?𘒖Uo%M*JPw(z;#{7s(4sldg O]`#^x(2)8Q=c=9=w 4GZj8QDz5}:q!j`&X m}~c#U.\ju cl<Z>vw++صkzfq+gyo/w_;%=6o&W(JT/9y3x-_J۶ހc=&I5wGf_Lo^+b_ܥvݾ &͆jr~_ s3!C=N7o?\\}`9v} \`#;FQ<m|>,!*~;V> EK+l#U\60#[wRwEt3C_7|̱y_.KKA 09Rg7iA' yd ЗQZڗGGWB+h}!M?CڥO]/3=ߌh;NqRkE%=ЕN4}*,Q \AoswYGǃykΦ;>doI#,Ӂ199 `\W^ vc%vG>cn#:/gu?'/|g|lx,ΖPԡ[M2 Qfv!¯/kx<.cѸ+_3} g|RYAiN t bŠ ԼA?#~[?~>9^]Ĉb~XT5Ӽ-YBv/5IK~YF>5/ Ϩ9gP 'rv9ƨ vb-Éc|V]w ? w ߵ/35maVuǿw.fMYnuj#ULtze٥˘Y $U4`w0e(t1k|UTUث\F1%ΡF4xQL%{s[}irhvrՉ'ۀ\裋' 2ܬ !7k`D+;P>YGEbf\Y"j͙Xmgsm6qy%ׅͨϷ!U@HD5 ,y&1$Slrb}Ȉ}Y>SfٕEgtE(RՀQvW%Jᷝ*C@_b٨,'wy,K3yCr8e޿MYïV@_#/I"S}AƷ2'N`&X;#|](5Q74@桻wSF=yV(>E?3mI I }қ)>u W4B >e?z9!Z(?Zn` jQjKd˔(d_WKHY0gQtM4 vdFo|- %&EJ4 Nsf[K@iJ+lswEK`e"DAi^p>Ch$S] vƒe]o*S:Pˋ `_ڪ9Ϛ:x8>Ӵs0:xX65>"-ZG3ܦSGfa Ul)f %}<+oe ILAdv fZmUcs#V3}o(/{Q9%G[iw,Xg"gDˆEW֖WmM\jRq s/1?d1_).|Mw"Ƽ.X%3`vٔBIuM4 m:"&CCmBh>Ч0} s?пW?(bպj 3~Qjf\/b)`tK<揓4~rÒ%b_;\%OGsC7\%`rWo T:=f9{_BAwO帗`pXҷ隆$+u&~_8(Ņ| M(0r9.D4GbY a@s.h\a ?g\1_adfbo -Vf6w@$H>L#1>~ӾBl p>t i/)#~+?rG0Ȋ~'JB eKU)U!È>Ght3<) >#~V1wVjK!)QͮŀX#݊mk| "4D?Ì>#|$;p>ÙT9~9搈~-/#|Ά=9~$Ϲs>gFeB}L>gy#|Ls>XCe.pYLHA,/QYQ2>>5 9 |B]Vm|q6f`~9*u!.㜖)~>&׉sZ ?W^9|NDaLkq hmkvq(6Ϲsf378 >碏>~@v{7 8_xxZ6~ >sr3/Wo9]Rń(S~d)?R#|d>7eGg10jr%}6{~rÏ rG?w#|Ġuƀ@)cs-%E^g_ i隻 @૓&$n %ꔲ @+(G>vrg~]!P.ɺt[w|7Kݩ)?j1V@AԱ}ur#gxC+CR E<4{9@\tQG.(1q@5#Q+2wzr?a6AȊ}ƍrw4Y r-\#D=ToM cm{V GWG}lg^ڙ;st~O ӱvؿ {e=VudH%+eY`:$I|OeQ.*Os/6a>UM)PGwMٌ:0amJ}k3 4}Z gqa q DJ@kr$eAUz{lz$>#bzJv e\bjA~XAyjmN_.Z  BݒDA\^?z%U:nLCɍ/t}^xm)wV,= vjU4@@e*8ׯ TIw>.}R;/3-?+ ,{%Y7`FP`KCXDK.P-D*hdM,~rfǖm:CVnL=G&(-{'bL bz!"@G\bIBdcXA7ω:Wc"M!P\c`M^(1%F]r;/Dġ+Q!@mM[;#4u^NBsT^RxKۥ b̓@.i'8" 5g4/1^%@@0lFH4a֡^yv'FMP 5Z-LIp }PKR^fj#V"wZ8; L郾C+M}oبz^,[ڕR},;\92FKUL^*Ş_s>=?8]_t+S|qJr7GMkqL{ǧU8W-mǦg,Yh%o?!Y)Fзf26f~?%ٚ ~Quu~#Epw)$l[FίX+W)>З[hJ\O|UaKOL8QiK$`4BvBeH }^;[ 3z}E?l( .b (MJ|Y3`=&FA|KKAtwEdy ^+TtJV,\&OMB_W$O9"aTuK+Kȏ\"Uc~qzp2|$d c37f~<&>oe`pA'{g3^mxqEc1F gڭl}WSz^^ٱo \9ԿSE^f&6d ;BÁ:Yo5>HW說zǯxbv˵O~E2 3(e)Qӽ \FS?{WdhQ9׼f:!doГ{Gָ@&KN?;vf|LWܞ̷ǖcD=i>Uk)gGǺG1%|A4 I 83XiKM,I;rbz'n:n\ KRkث}/qG3׼Q~f%nvY\QQ=$pP5>nE9m4jw= $S.78t󍌈4xY2W+ ľU3eց~~ꗸAaxڇ*)X0x & t01p-m6$SqMܱd`L }$'PE ZiFbOp(=;FsL;`㷀QW9X dfJb>K!go鮷?*+M[_x)'᛫a؇'VZ3nq lKTK`~sWN8L!l7& o5%;9X9!#&c\z[G>^VXq"4/}~Q뢔)~wTni"zI -!n&K&'HT˫ ɯw?񀇵pU % 2(yӖMjׅ䌶SpQ.ңQ롊;+y̐a }v2]Zą\7pBN yibwAܩXŪ'x+&ky_d8MPCT滙~k?%`'Ue+ճY}S.oFb?UOd[M4Gbym8EF@360g'!O9yf»(u 7CN붆# QheHczkeW)>ڲ9g%ĺ%ͿIrMg:\ CD)i7^Ftq;AM)ﱿH=.~fw['7J=X&SZ"nɑ4,RM4JMC,p=vqlwġOwGbbfśҟ3,pޖSYd6E6\'+|{9̾( yT)*b!.<<gw*UA6D}cÆvvYgtf HW9 nܼM%(DKyN^X,jܻ2;[˫tZ+S+V͈7 y>{ܨi֧;?#iA'f*ސHHb1먧u֧un>x&qz`Mؿ=smrD8\+&r2hXYf2Qgz9'ۄjrл0m 9l !̈́K*\c-܄b.roaDL*hbG4B9Un\ 732!0ݜB.賓WkэDzW)!<4A.ĜrdPPswr/N6Go0B-#Z<'}tD_,*ιncz:rBFMo *vGϥ5:;=oIRaiRfTnkg:,+߰ ׮ԗ? a̋XKmڪ*Mےs0fz7J۩DgW!bRW NWk*s4F5HHC.j:~:oFM#÷B-?ynLk69(AIENDB`zakW7{y3T( F%( F/ 0|DArialr NeP\%,v0,0$DVerdanaNeP\%,v0,0$" DTimes New Roman,v0,0$0DWingdingsRoman,v0,0$@DCourier Newman,v0,0$1 A .  @n?" dd@  @@`` .       + ,-                b$,f 1Dl$$$$$$$$$$$b$ }LyCl$$r$kW7{y3Ti 0AA f@f8Iʚ;ʚ;g4KdKdD0ppp@ <4ddddph0(\% <4KdKdp̨0 0___PPT10 ___PPT9TTTH?  %#EECS 311: Chapter 9 Notes Chris Riesbeck EECS Northwestern Unless otherwise noted, all tables, graphs and code from Mark Allen Weiss' Data Structures and Algorithm Analysis in C++, 3rd ed, copyright 2006 by Pearson Education, Inc.6K-1FCheapest Path ExampleHDijkstra's Algorithm  &To find cheapest path from vertex s to vertex e: For all v cost[v] = "; known[v] = false; path[v] = - cost[s] = 0 Push s onto a priority queue pq that percolates vertices with lowest cost[] to the top. While pq not empty Pop v from pq If v = e, done. If not known[v] known[v] = true For all unknown successors w of v cvw = cost[v] + weight[v, w] If cvw < cost[w] cost[w] = cvw path[w] = v push w onto pq;P+oPwP.oP2P.oP)oP1 +w.2  .)L; #?+KCalculating All Cheapest PathsDijkstra's algorithm is |V|2 to find all cheapest paths between 2 vertices. To use it find all cheapest paths would be |V|4. Floyd's algorithm can do it in |V|3. Floyd's algorithm is simple. Complexity easy to determine. Why it works is not so obvious.H^$] IFloyd's AlgorithmTo find cheapest paths for all {u, v} in G: For all u, v in G cost[u, v] = weight[u, v]; path[u, v] = - For every vertex k For every vertex u For every vertex v ck = cost[u, k] + cost[k, v] If ck < cost[u, v] cost[u, v] = ck path[u, v] = k>*oo0oo,*  0>G   GMinimum Spanning Tree Example"JPrim's Algorithm To find the Minimum Spanning Tree: For all v cost[v] = "; known[v] = false; path[v] = - cost[s] = 0 Push s onto a priority queue pq that percolates vertices with lowest cost[] to the top. While pq not empty Pop v from pq If not known[v] known[v] = true For all unknown successors w of v If weight[v, w] < cost[w] cost[w] = weight[v, w] path[w] = v push w onto pq-P+oPwPoP2PoP2oP# +w2  2- #?.MKruskal's Algorithm  To find the Minimum Spanning Tree: Set MST to an empty list of edges. Put all edges <u, v, weight> in priority queue pq that percolates cheapest edges to the top. Set ds to the set of singleton sets of all vertices. While pq not empty Pop edge <u, v, weight> from pq. If find(u) `" find(v) union(u, v) in ds. Add edge to MST.P6oP$P#,#  $u05(  ` !3̙` Q.<ffff3` 3333fff` 3K=̙fff` 3fffff` ff3ff3` aNR>ff` 3fY33` 3f3f>?" dd@&?oAd(@n<)o<6=nA+7%Z', n?" dd@   @@``PR   = 7 ,`(p>> D<(    <P% #" `j % T Click to edit Master title style! !$  0R% "Pe % RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S^B  # ,J%BCE6FGIIQU*VWX @`@$ G"  00`B  s *Dg "00  0ܪ "^` % B*   0` "^  % D*   0L "^   D*   dA"޽h ?Light horizontal"` 3f3f___PPT10i. "+D=' = @B + Profile~  (    <L. #" `p  T Click to edit Master title style! !  0L? "p`   W#Click to edit Master subtitle style$ $  0, "``  B*   0t "`   D*   0 "`   D* ^B  # BCE6FGjIQU*VWX @`@$ G") 00  dA"޽h ?Light horizontal"` 3f3f___PPT10i. "+D=' = @B +  0(  x  c $p  x  c $Xp`   H  0޽h ? 33___PPT10i.Eo +D=' = @B +  (  r  S dEPe  H  0޽h ? 3f3f___PPT10i.o .+D=' = @B +  ` L(  r  S  6j     ZA fig09_20g  H  0޽h ? 3f3f___PPT10i.ܓ%,+D=' = @B +   6(  r  S 0Wj     S `]Pe   8haQH  0޽h ? 3f3f___PPT10i.ݓr$+D=' = @B +$   $(  r  S ܺj   r  S  Pe  H  0޽h ? 3f3f80___PPT10.pnU   B(  x  c $ j     c $"Pe   8haQH  0޽h ? 3f3f___PPT10i.ݓr$+D=' = @B +     e(  r  S j     ZAfig09_48P    <hPGyHNf  ,$D0 ~JGraphs can have more than one MST but in this case, there's just this one.K K   <G&wHxf @,$D0 KNote: Undirected graph. H  0޽h ?/    3f3f\T___PPT104.ܓP.|X+G\,D' = @B DS' = @BA?%,( < +O%,( < +DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* %(DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* %(+p+0+  ++0+  +$   i(  x  c $lRj   x  c $@SPe  1  <BG~Hz f  ,$D0 ;Same as Dijkstra's algorithm except for what goes in cost[]< < *H  0޽h ? 3f3f___PPT10.ݓr$+ksDO' = @B D ' = @BA?%,( < +O%,( < +DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(+8+0+ +p   P U(  x  c $Pj     c $Pe  (89  <xGHf  ,$@0 W#Cheap check to avoid cycles in MST.$ $  <GH[f P  ,$D0 n:Edges need not be connected. A forest of trees is created.; ;H  0޽h ?/  3f3f+#___PPT10.ݓr$+`#pD/' = @B D' = @BA?%,( < +O%,( < +DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =A@BBBB0B%(D' =1:Bhidden*o3>+B#style.visibility<*%(++0+ ++0+ ++0+ +rD80N%E1\;F`g=zG@D3RBM_YeMl Oh+'0T hp   EECS 311Chris RiesbeckProfileChris Riesbeck91Microsoft PowerPoint@`@hq@+Eo@QG.g  -  -B( --$--'--$KKXXK----%K--'@"Verdana-. -2 UEECS 311: Chapter 9 Notes##'&##$'""#!#)"!."System-@"Verdana-. 2 Chris Riesbeck  .-@"Verdana-. !2 EECS Northwestern .-՜.+,0    aOn-screen ShowNorthwestern University<E  ArialVerdanaTimes New Roman Wingdings Courier NewProfileEECS 311: Chapter 9 NotesSlide 2Cheapest Path ExampleDijkstra's AlgorithmCalculating All Cheapest PathsFloyd's AlgorithmMinimum Spanning Tree ExamplePrim's AlgorithmKruskal's Algorithm  Fonts UsedDesign Template Slide Titles &_#fChris RiesbeckChris Riesbeck  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntrydO)PicturesCurrent UserSummaryInformation(PowerPoint Document(YGfDocumentSummaryInformation8