ࡱ> `!` K(]+ 3s$xWkG;#weUXv@܄Bq P>h>א@Nj()ġ Hi.=CCJ{0-İ7!eBƻo~<~: 0U !(gēDLYئl@>c<Îz 0cvx[fށ[z15 ;G}oo"Z0*Ū ]8ܵOI@$Gܱ PNY,l5g(JeW^C'uQ߄ 8_@3Wn;gKH=u3TLJϯLsy._fN'~ g@ fՓkRb.z퍖ׄE0Yv8?8|cβE.]_`Q޼*ﯫ'Ƅ仴>f[V]٘NFw}s<]Z u̫lP}+53/|kޑkK,O-˾zՁj5uFz"ՠt>ZMHYQΈȖZ>+~PᴊbĘh[KM+s+'xMXb)2_T"(;clM6BLjep&B7uBL5get _ժŻS{r_95l=g۝前^__)ӓ;;w25; a_gG߸x7߁Ѓq *uȍgcq2Xy*+kֽic΅PTY,]˲Q.W;Eqy5/srkQvYNJ"TW+;oQ@HP,ǩ~FMѺpMEX`=gQsi.US֒ڶhNhC[pۥUk;ˍB̊1AtZPt M([ptT΍_zUc2"wS+˰O+4 ngzd7swkSq4 Eҽ{EGFJƾ%*7ZtTotohQQp&B=B _DsB=-493`!*NOs'N4Qٚ/ka xOhUMԤՋ6' lLA")@NB=dISCN&ĄXb^`$DQ$f,OL·BdI_fdm'ɾ퉽_g?sSQͼEF}3/\H=+(Tt|m_ǘy+K(z?KIۑLf[)stSP|,3&nGڔ&s8WYX5}Sz #vu59. H%HD$R7&#%G{|>ͷK\׮/ґ*8O:so֍zگ:t=ueYٌ5x|.M WVn|N̛\6fҭ[kosgCdf;<~TWVLq31OƊ)*L_l+j`YR|.](>Oc+$b1[[*ޭ$f1v,69W-<.3Yų8~VK]񍈻,qmdHGV3D^/?HSq#Lf񳨔1:Uս~׺Odzk5[lYql=Yؒgmlv˲- g6k̭жYf풬ueٖ|1kHV_$vfݮrYC\xE]hBą&.4q3袋P]⢋.C]Y. uf.b0E袋Pi뢋.C]Y. uf.b0EuR."81 \ \ \ \ \ \ \ RMthE.]ԁs!"$.BtQEH\E8!q:p.B"Du\''.|'.|\qG_`GƅͺPP`]Y \ 6BBuf](p](,΅ׅͺPPY  EuѸxPS~X;=v|R;>NԎgǞL=3qwOX[=֖OlX=}R>{wԻc_%>p8$ĿCza߿ߝXo( UUUUn\|4 lY#PNG  IHDR>gAMAPLTE_paP a#$ рG2 IDATx읉(ELWb  {d |h }W:0ɂŬaH@#ҬHzh@IV ȰZ$ VX=2 jGdXX틫˕_Qo]QTb `X|2O`V ,@>vZ'Xkl6Xkl6Xk2O`V , #b 2, #;b `X|l6X[T Q@>6ڢ# d`X-:AF6ڢ#d`X-:BAF6bTCA~jn`A?wX[ {X-F~ `6$d`X-Wlʼn¨ `xqX2,?CF6aMdX[8, kK!#bm :d`X-blE `$09Bd`X-8L kK:3cDF6ڒ( `d0-Ld`X-8̊kM&El6SBEF6r"#;b}Q B>6R"#bm)x `apX[J06dd`X-q32,֖8 kKMƅl.FF6RA##bmØБ `aDX[0 xd`X--q>2,֖8؀.ւǍqf`'^X >ơo_xb-x1|mFvbb׏e~AD>6`bm[ˎzbb=Q[q-}fx=n 1~(XK;-^Oq_g>峓~R/35  eb=Q ]6EL lZzh db=Sq-x=1~$FRs{/H.te3 \^.qQR/py| E|xˋS(geJ.OV6;O^ ike VO^ ine VO^ iae !VV;O^ ice QVO^ ifeUA>-㬬 >x1ȧe1'^/ 8 9q(?^/, Vbp2ʒH/|Z&X|ia% pȧe'  A>-'|ZO( PiA>ӢK>G@>-S^ ib$ pȧ'|ZthCȧBO ]?^/L18 A>->ӢK>[ ]   A>-S^ iA>ӂ|@!ȧe' 3 -ϡV3O@>=ƛ|3Vπ(1`p3d' cE>Nj/ pȧĭ 5 pȧȍi8S&or% 6#/L1: $iM' i[LA/q83CpF*%WqI E 9d]%fI; = Y$ӿ%_+X<]x g|/"ԃ|/u| yGd},J5|l yK` '@>Tx-!oF=O7||yGdsWXQG>"׹0y9t=Mn%7x׶S0\X-?b}f0 vi3S!.'CA>frUwA;FB01O>u0QFo @>eټ_( [q @>%Y$@jVm;D>΀E5wP@3`F85@>}ek|zuP@er 3 $L1tP@6^{1-"7  'z+A>-'|ZO( PbA>v aiA>ӂ|@!ȧe٧'ӂ|@!ȧBO  C A>-'|ZO(̰rP@ӂ|@!ȧ[( Pi A>-'bE( Op+܀|ZF[M BGPii6AO8+|ZYO 2m AVn?|ZXP ٫V"Gr|vk}' ~C=D<Ndzo+QOc^>kY|!9@>?*8ӴʧLO+O\>mVg|~hx2i˧d/+OZ>ǰOu1 8j|:<xȧ'+X>m/MP鴩E>O|W x ɧݻϧ9>3w@<' &O |&'8S>˞ z`% .-qQk'x| EMV")7 >N4Y{b6@OOK]A>-VZcRg>~@wOKA>-5VnTXO0Rl6 OK8@>-eV Y;0Rb6HO˽CA>-V Y#0Ӓr?`8ȧ%k6^OKm S@>-I+q|ZRVnVc?LVnc=LHVnc<Vc;LDVnc9LVnc8ni)$eDOnT5nA>-=%$y\zXsBDZ:0|%ZG#k:}0|%g6OCG<hs +4ݧ%?On<ϋ;8y[ PO ♂C)I;P 3 Qip(6·Cv {X" Pϋ-\i i5?;C.n|_3}CA>8o8vPkp('C!v-C!v|B>px v pk PO2jA70Q?Sd^~j B>M7] ,k((uOfu1Ou Nk%VƸNF/m1{;3yGЗ0R2,QҘU3NO0|/Ib6aQb_8Z)a3ڊ48kű' @> ˧4=w#,ʬZdAJA%{FJXɥܔ#Σ)G8A>q|*ń\DE{&M_|M @> k|lS( |$(QVyʧ>0OžJFeWh)fh`-%6Ws>2I-X{=?|(og/#^E7)F&n}?O, 2A%/6;&~)7>!MOE]xx >olheFwuc>Ip+5X\V(931%uT vFQGJQ%}#S+w%I+SP9gė@ZsZQ?iN0F|(obH~eY duxW%Q67sGg2AQEՠھnN?VEo D1DѸq;MߥBtk׭ >i\0F|( ?9S\bu%<о. 8J>3h_ڢ:q1xK]Ou(ryA>Gq|04(e.v=7pxyy7,o#ڬ<%7orNƞ=4#iyù[PL#q76tJG9b__5R_{|j^[3' rͭ͐#>RO[Y-k8i, O}yg[67y8˩H>ƭ?|Bˠ8FeNE_ FfϤ/>e*'<єgC=4 v*U>k}Z} aF|3um˸| $x5fNr7$2\̴8ʘSK9S.OGPV~>3W$m}΀`ّ#U)9snrx:㣸 Y`[$-еTrj k_Sz떜1ot YޱYHJ#b[#-TO%;rh_r8a젒u o|Tk?S'XJo']!s-܃%Q<b7o';{ɱqx{.c=R:KNMQ,gSG`&V%G\w`tTTy)ϖF{@>Z*$Iz-?&?[e ևኳ:!v%䗠yfLi [>4Z Į̿@a QΞ Lv:kO8Fh}(h%{"^7db_aEF>=" [o&9_?m I\vw (g_~lY˃[m+''ԃ|[[mY MF? _+#4N롗y=Ƿ^!e$vr&_PA⺤ s?_ZZ-st+"{xk/v5#[Ep˄'1Kd>;\iT!G0G>exyȎzz[Vs3IH^>MX ԭuMjT禚h&Z)7&T~D{U k_M#/ʦW;SgwD>G|9#zSq~-rl[&| |J.JH.{]eNes Zrԫ"t2vV6SH7ҁ)˄Xa 4+iF—kʘ=A>Gq|[^Ųi=6UƯeӌO%{ ^nꉧ m*EF>U}FW! ǿ< xEs-_ϖ QA3ӌp%w\;|g,Ν4#q-1^\}q'`^>7 Dn ;LP,Ƈ9kn9 ɧ]3ҫ|g[r2=3ޅ.o}Ϲ|by{NK!9|kR܅ GrKi ZA{`kwklO|,iOY>EmNT8/pόDw$&)[l&r3۝Z$>OQFs8M>W~~Z)4'hN*3]7w8K)YlD'^֝ݧ?2<߉#4Z^S 8Ǿ|v: ~W0{~6֥rL;J>p SN0UnbͨfC%e+ `M>MY>p2ڴzBMvA}8u]OA_hϸ'#+yFA~FX{figk4;g5ވ%8M>˫^=3ޅx7L좗m/pf#]xZ .!D0 2ᝐ\7y͡H>[-!/"j%>viײg ~qqo79hOq\w':QYyȿaH~- e MxMB|,)3\mZ=uFo=#o5|˘=p#̽/$ڰZo]rRNxW<&< WTRG\}4=uH@ǼxMY>Bᙇ_gX|6-V‹cwzTʧp?\>>S"KyĞVͱ+q=>y̛G;^kϏ˧N>-F+aόw =#o2zf|]K-##MgKؕn2kI+S*k%ikvZ7ǮrxΛG" #HgwqRK3>ߢ +8R|6a[x\fG:t6j0OW"uqqMך3bϯ$2jni8 F+űul;A,Otq33UEPfh oFMȖd&:s6waFB^U:.M6al(fL q mіFag+],ۏׅաUC)^1/5}:~w1)IӶiK0۵& &%F|.k?/~A\ a8J>m;G]ɳY4Ŗܪ,P@iڄYD ^@Y<3R(pӭ&:9|FOs ,5 y^N̰j<[F>W=n"q/.[^Nc,r#7Sݷ)urdl[ ~lit|kl;rI=3ޅK=6 IDAT履[;3r#Ui>0H>m6[wբ:zt*gF< Ӹ/m:iv[݆96^n` ^x|ɧt^IŴ%#+yƞV7!o&~{u۬-\@Da Ujh>Ho~?>ip7>qF][K2}゛}kl ( >;7DCI3}4,]䳠q s!ɧs#>Ô Jc[Â|6"s ɗFX4 A7B5)0u{ik1/ :/ez86&Z>w]J?g0ug:Zlf ԘF/tF"W~rOuUizC:b]w+I>цԺUPu&} ~Ǝl!5ۨDz)*rPPu^zxy:u[Peh!~5*'[ȧ{3sxH"2j[yoPpM)UA3M\Oc|F"ZW- g zr|F%]oJ:y*DbLRPd&bZGieLTxdž磒J*ʶ_:9FwtOe1DaXIXMa\Vk[wN~^ϛp:ubҽozt3C<}5ֱC3alg| /L׊Z .:#hW"1K@Xc Gs}rtwcj4"%(,W~2&ݓP=L ;)-IT-sh9~`o(LZ[0,RLpem̳}iՃ8 ]b d{|R2NUq>AR^6C!$*J H\p}&3Lbbe+[m+J/$_+iI F~fk*v ,V$4=QMZ$6E4 +<a\?Ei&|r"%(nٮ>{}Qv[oa^t}[-kL5 =CI}fr ^ Z^?[v|M%^;|jD8z½,pyL6.Hf×>?أ=u !ho?~8c "4۴ /M/Zq1MSn!^ЭzxTXE_gRwFjwݧpzk"f^Hw5ٮ#OW'Djz.>QCY 4objS9hewڧXha|ymWG{?s}T=ٮ" 5|Ś*{;V>M|9hK~&Js樎tB{1ik{]G",©j6|kNdFȧ \DtZaމju%)/G1 3~O$bߗӝ#Z25^[4 G"CK/{\3_QvysV>"R0k;.ݯ6nWENENH39?x)49i/Ra1e&&hՃ5zx_IXIxz t&j-B'CA@݌nvÄ+|x+(Z z \%&dR%JΩޚ6AqAVO-ovL<(k sB Vqi*)|2}@"&E[[=ru|t}9|y!ˠsg@cd2UJh~?߿:na:F'稦wFoXF !|W3xwhx46ݠ_vbo)96X|6%ظ{N7$ iEQ˫!H>. q嵨8ӐF2%yp)PJOe_bj)0]NgNk]:lDi[l5v(j MJlަn{Y˓yiXFN}ߠ}1qkU?\]}Jιmϛv7u׻=p6]|6r|nzYuwp8OeOqZ>cs|aA>ޮ0ƘHW| y@> el[wvHT>G{#al=lg$®,Qo$+kvHJ}Zֻ>?Ic:h]>2tSr䳑3*4Xㆅ.bmMYuk WF22,C|6"~JO{JBUUN;OqԎY9&&Il~{g#iϔ|Odvq;aznɩf>Dgg|U gt]D{'j#K gN=3>5s/|ϚGϷ kdṃu}ΕO`}_p|<| ӹ%Ux뚗B zHG˧1!Qo40g2tSr䳑3UOOhuɘO;~S]wr gp3xE ͉y|Y>3q6)WT3!:gƖJ w3]/ b,2o>||Vv凷%ǰV>TI\)N?mCx&+}uOsȑFNdT"6rv C{<\λw-xYϞ{jk8 3Zf%gvoJҶuOqkeE"c;7j >F»}y+ n:׎ʖE,5A?pްEk&r:â95êu]k\kj|SQ5'[7<`p vi`m99J=[-O,:f/:%|Bi6Es~go!O&sdzCg;+ߙA}݇椱7M| {/}@|f&'e9ڙ^6?&$_vN x ZSTe |:_*y2֯'$ ژh&iGة' Ec7ރ5!&ƘH|{-d^rpʓϽ^ga>>,sc'"`˺Yӥ|!z)(!oҹM Ub8Y (6 |b^E/gni(|툚trρ*q'Ӡcs7{5OgY@ /sJut UbA:>M>W-nf#c||Ţ'ɧWԟ'V*bЍ0u-Qc J-!'l!n2}e(x{țՠEBs Qǘ`G>20,oy|vHzɧgs+{Qhf.`axY>O; m:M|B%nTwLoy|&wNH9f&ݸa#ca9Ϡd| c\OQfr?14`gp) U:YC5g ,Ǽ }G?-PF!oTvy#Q-IcTZ>]qTY}b7zj=Mn74s0gy4n5s\|A>]̎6+aЍOhRD5ȧ8?)D ꉯngrN*'Y)(3Ed7OaȧPfUBNm-Mؖ}b7zl&(X|e`Xa"E@ve-lit#=(tS3A~keFILFfV7;xW3T1z&ns4Mu!?s 0Ml8Mj߯$}XVZwF;12,/C.F{9wuQ挤6gO|WȨN|Fvn7wI\Fmf ݧaoCA5u?41#{ K>y Z>Oe}Rނ#?M>W a-= iS8i#|WvH-=Goڍ#ݗY>E+O:Ǚ6^Sϑ5î:=vV{K1 =bC9}Hriau'^k[|Le(>soԼ$IĻ՞"qF/cWC.4_"eQ>=('tWw3Cr~^QǑ|xsiGw IL0CΑKNmhs:bluTnhzmFMƸ<RQǥ _TAU.|JF{/9k}3Ͽ7W컭w+A.BYT~Z} Qؠ߽|&# 3oKHg~Ū{9VT_ˑN&K) O:0EI KRu'v0~heLۑ: ҝvDQ1޼6" 6ߐ#]6&PdL%zveӂ硿v ?ѢWi:ahczI ;P x:3DX,5s{v#Q<_|4aDSX⏿[uu5aԗ G/Yվ6-.(Y?ouˎ]v4 ^:MZ ԫ*]ypY4{شz)˧paGwڑK,)m3{]&SsmV69v52;]| hup((OI?m_WET%`IgB#E;?wL7]VVp*?5#˧TZ$_"!2r(v̰yg!M1z &"dMh>Rk||T,Mi^o˪M"5  Gsao&U13XCUOTzwU.y` tmHgyib#]Ŭ>F>mmDl`,Q,~jRw!㼻0FowlR>M*,ije#}=}/>0ۅé9z`b4뤓y*m̢] K׍$x-eb5Uy$8׳3>#}+nKƎ q,<ܲ) nD7EnMg*4` ǚ/q. }䛓Sp6qS;g2{Sz]}E|j۸<6?GPPt -.to|==[3G*)Xx˭4I93- mжpЃӹve̪$^[1+Hed-QU]uk_ҭDU88kR;~y<Y2F׬ FJtleG Ke m6pYv a.>֪*:Y]/}߃'8 {a&Pq({gww3$J>0~n-@p*5uk %/嫫y.wgUc𤅂>.m_OX?Ǫ#'|νODTsф%-$E>ګ>#NB%)5: ;rw><|~*mVDZ~|t%^'0̈́KB}[l0pb惹F*z<*FSXc_?qHl:WS o.%? 덈|pa׃#gY\x_S ~>~y7ݡ{d`L,DD#^wx 1a`MܹG6Sotqy_DqVOVj ><.a$>o?X&Kg؉6%`tFmҟ ͣ=f `u".|x~x{]u_f)Bѽr?8hΪ@n/zKsgqMNkN ,D} N9]XS"Vrsnc$|V}CZjN>'2h7ޭX|>*-ۅY*G`tf9VCTUqܝMrxe_i7 bKK|3ЇS"X& ]Q4}9ȩhm"Q:'ҳ4&UV>o[ TMx a 2G)X";΋ #?F>rJSIk+N|~%-Qhv[Ka px+8DN%~PuKO=$uH'&h%{W[i'A`iC^,i{:u,0.ߟaCҋ#݌J>w}-֋J|;AuU4%gT確 9rsMv-|v%/A`Wy(mސ^V^#6 L~FܪZMCo1zܢ(>$ZbnsA5HjL%iKfZ1j2D*. rx{;&9v73#Ky#3Ҥ&K mw<干&MH,$qϷ9r!%͎h<'Ru 3ι>7}oőn$V>'=s|>[+kmQ~wh.㓮OB g4͌WpqO\r`o5(sL׹g|7א=w ȧRrgg}r#2B! IDATU@;R* *O;҇Q&?s~gD?&OW1V6]k9͓SZ]K/InG'NVM~;*XY/7{i50dY{iyܖ/$k-u՟-%im+$7M>3;cNmy,}ʿ :/{4λ)fA6tK,aR@s$3x,Tg[ ]46'q=(ds&@3fk*tD7}VK8W{Ϳ[I(!B-dEmJId3֙^-L65z8,LM g:Ql))7%ӽa_nJoW)53I>qTэ]㧥|)z7 ߀txLp+gjz8SxC^ډ;p* 8kLUߵdHc| ˅k¸|o \i5mOAQ=Я?-m˞;#LǞ'"ɉn%շirL%[KV+Aڬ%Q`|^E~>-L/{cދL0];ql))7%ݧdT7Q">;R}ơx|_izs|Vp09kBLgS݉JһO)Ϡbz/5V"[ڐ}\.Az?5w}RMjNt(K FXw*E3Q> kGx %&V*S:UUT[ehI+f9-%冣3$wg,DfOց{Ɩ[C\Ex }ZL*H>vHC)||!k8?X?S?g-ljRgX|o2ס feLS7USH>ȍoE# uX\xs0T sWByjO3x۹~fkwOe %5џ^ڙ \}x뿙InEWԓF6E\{aA!]ú&qؐ[34# 3NuUo XRca`8Z{&V>%rGgwN ם8Z cJb&,ӆq$WiU-OQY|I˧Pt6Ĵm1хww|~[~NroϏ1ZTg=8< yzDEO+rqGg2Фmjrx[5:[ƱB0je58q=J>bیoCr=Oeà.>{1F>퟿.&q{|…gewz"tx~ZvZ[͉n%[-s4AӰ1g*7x>/Fj !|?*v˾y[Plx:^}_2[y9q%o#P)[ a=WL]'`ղsӵ4Z 9QZLv~~}g>(|@{y{Ő6\F'߼=R>EwZM[>.+KTBtvsӵZk?]lFU6ۺaqfĘݧqA>ߒ-q*w3t_Am7g/ȧSlo>sC>*SUpZ5ng7>bo懣ӣsKPbx 6 )ًϰ[O G 3^jVg|V<7 Ni SEd|zGp4# V[Ǎ@| uO5E:F>'*|:)tT h%.M:}ݫg}}RX5P)&lm/1[)zNcϒԏ6 y@Jti7(|:ƀۂʯEv$/to__ĝMmA^]=-VBA ipJWz^v۽gzp}2SKRQk$GTajeӵB7pe28 3S0C26,1[-tku)5{]LCO~*[yI*jfw%J 6ϸ^>㳞=VAI8:-SFjd hO0OܝYϷ Ol,Ʋƭ=xzFC3qV@X>?G;ڐZ vLF+ v ƅ؛`FKzENI#٘ )"}3V4IUU'n婒R>+{k5mOs"˞{<}ϨMjggG|7ds7qU$| c| f@Zq~O5Uj!enJy6 J2>_?zS%զo)&ȧxx[̀_^DLgz+?Q>7L[J>]o~q7Tgeou$<9%*YwY:BOY(nq|ql|WU06,1kg _0.hBof{-8'i*]^j9/bo_{sR[u}2(v\Er|~$>ȧgji伬ۄ&|b|:ˏtxnD(/cW]I!}yF|&:3#V|4q]I8?ƭxxlD(v&SOq0h%x IXT1NZ,x˸c.|9g:KF>jJ>کvJSפȸ򙫞nGi8QDS2cdo_NJPim>iwT>2̞vm!tiJWĒ|w(J )>GZ/zwzRw3S՜%#Ky$Nz2y"J2>}:':K1M>KHhROlAOoy'WZRȸ=mRgܛw 9jMk熹G0*ގOOaӹsw0 EB%wZW] E\nܸ4L=99X2Ğ:3'IzP,vve˺HhSOEX?\$t |!;|_^{^;D ȧ zn5͍9׍r2OAN x‡[s-CwδΉxn\/d//4&(xTqJ[#xb{< j=),N}nl[[IKZN_'ӹG $[IKoArj}ҪNVoMIƧOZM+FJ`R_<7-zG [1߷}uEHj$vc\T?S?yt/bsTF Og^ @T'Z+hX{̓㰱_"[-ۉR}`[S#^zg%y8-V*:ugo5\+Ɠ}1 yJʸ?*r=69>iuq7g"3,J2>}:WjK4`RE0.,n/?VmϽFO<0WIw4DRz't܄Uj))MK7*;k5fEbJFEeBԀg_MK7F73<$OAK*)pSVjkfn cf详d2ZЅT+e9C1#OI WvGU0RF22Q#Vۂz该d.5۩t]>O\HZnGiyI,$~W[[XlZ~&1%>+;k5͟d-W v+utu3+'˞T>=Icu]/zc[*{9p/s4!bnNOE7v@Jl$ U$ NIԦbsKWGB>9x8%@>RZ %^/ ݮh~_g2ޣ2`| fS8%%~x?.k6nF|3gcSb|FX/;7u_;_վ8G'젮f6OyKZx}R;' . Spzz" j@̷TN<#<񏃜M|4CPlQm-ݨa(T*<6-r@sx=!OwܽNk(w}}8ļ5T7 K]+롉Rn?K -->_anD=$P=wɐDwÇ*OZ3d,o j*M;P3V7px;GgWcƫnSܸJv:nmY9KM% yi3m1czOR鵞xP -mʉ|В~`%&ԙ)^qc|4ҵ<"}&Fչp$ yymnPux{Z'瑇Fp}n,LGUw s9g!xE>$m|:b􄴲) =UD> hI[cu LQcOޅ=my{Hxˠ\aJ+DC^^T*X'&f 8ׯ>*䳩bڶhal̊g#x 8 iq,&pO}vSi孱%,Lƚcu'{Y<EN liu@UgKӶ|i򴞭D%u>$Qx␑oMg!c\ٌ.8MUi}W3^>O xt qGApJAzɧvynDMk( <ϲOe@>oZpxbEvtIY <7/9cSp)jy@?v.!k'ˊS*KLjZGXH낛~%M%Q~bZ vx*|͹oHh5хoKe?W_XeXvRZt qGc+kĄVoMI=5e+ipO@2ɕ_XlX2ĭtWі^Jb' GDٵּxKISѳkbb~ *ɮZaewz-Zbw`X]p3M6r_F\>F 7kOËj6^ƿnz91$۠rn]Or~!j$ NIQj^>^_~ɵ@"LmrR>S4вYЊj`9jC liـ?z.!|2VKz+%kd斴W*B֩V!XF jĮy\tOXa:˧s~ƨw#\}X1F1fz"oFAҐĮq`P&덴XMvOH$A[bEyln(FZYFAZ-`5Sցe@IBxg%~w|:k@|U[vxp+*aZ v˧/ (ޞ6_zmEx렼yjǏ ҊT[IF<(H9=HKOK$Bts u vW=gawv jYNaUOZߧ"_?Ss@<ɧLA>4uU9hd|=U]\M YF µ=n я&]ߏF k[rEҶWwjMW~NbYdv k6O8X5P 0 7D)fiJY2-eawvWk"gG'Ղ2R<4఺ ItgK(rkUmyzL Yܵ[`㿼 s쏝9ٞQYi~hoX*Ogx:T'6\y|5͆(H^GdgFnB~%¸L{qͥVASa})^@ 듶ނ򩓆 iнT1*3>m揥6.7mYRﶎBaׯ֬MɧPp'Yyy(AA0jL@K|ݧǛmhzWMC`:S)mh+fi8;>k-Ǿ~!JiOک>; 45W!&Ά(H_ȧJߒv(zRj/ ao/}39a `&Ά(Hz Ʊc>rn^>'w ݜ·DŽ7ae4uKYc_-0+kNL>.~ k6wP4& ccƭ0+GFnp5$j3$mر);bpȐvcH~z Ʊ_uᤑLIS`06kβcRx4i&,^XC6CA[03_0/~FOR?^_= ^ 7]fQ8 o!볶ނqVq:w Ĕs_4 RP"nF) w(Hq_iNΦW "*sRoz qcI 0Y I:nVgX2ڪQ$S; i LbB4pA>! cEEwu86 lK>d8z $ϯA4t(H.zůyh扴ė| I[o$K86 ln:UB!뗻82W5}w IDAT ']PڭȎFq슠 *Pg0ۮ : _Yflx! 6ĂF֭8,i\RlS~y5%C>iyTIto,u6 %)3D;$m w[ā qvr `@MK|FXFwYӯrTޠ VyQn˂2e\ LO-m־;+'i ǍI\%Ls^/M>%NQPկ4V5>! -h ͱv I[o׎dyV0ΦM> q?*Wo!듦dܬ?ϳ!శ!mj(H4BL6ߨa R>']Pڭ@;4- o#l{._[x1nnY1&iϸ+QUK'ҪryTGANљd9 i-PM u6g78O&GL 3LCIOx)0A/]C3#ds,-%"*sRoz 92"`@ ً['q{`GlM>GY3*wdj'$M ZssZK>DTޠ VheD\FZ:C'q`LTǚl!CDL턂)0A'26ds,-%"'MTOe}712}9Feΰ(H1<禰 Yc|@@:ǂ|[x1n"&ܓFeΰ(H1# ca 97肂nʘA(PG|v&*>IcLX0G|2ggT>N(HT1-C!ca >i-Pƴ` 7aA>IS`&ḿ ` Q4&hb&P)z._[3vDs򩂏swa<$jEm=grwЅIcܸLĀͱķHH?`rwIS`&Gods,-&>9taQi&&Gws,-(?;ta}7н?9 5΅qJ̓iG? | =LD !X#z.-P# Oe}7 0jٵM`;$mjXv[qP|-ܡ`6@ g _n;$M JXޝ͡4[| B^Xr7Oc}[ЉȅZE!խT~o1TAU O!&TkSȊ)!TAU w(HcBH>^l**wc|N ~6 ۰ҎDcۧS1W>IYt:/*ZY$MZjll*w;'ͬ7!|R>=#8(@>I[oA'|Y+̶uD:rP||-vʸk U<^8g:ĭD>C3rmM_n p)0 |c)YsWksRoЅq3ӷ d3)D>WqP|nYSM e=q_Q尛)%͘9k)AU w(Hz~싪&+~2YMtZυ_nIAtBPt'M-C:5zL:rP|nYSc j c޸klj*w;$M ]!~:J2mlj*wc|N ~6i,HRN ;,ht**wc|jDO)&,F>mU_+.K3vlj*w;$m]\SHIW+Z{Ql@x\+\Zy[8(X#z.-DR>|3ݴ-b_t**wc|j(H}&>\| #_YXR9(@>I3MB肕5}toW_j!TAUtal\oSOX\DmO#gZyOnr7ȧ@ O? |*,03tUV'ܡ i-XN-Y*]R`@MC|B0Y#z._[Bj?WL(te|~7JOTnMQ>L} Z.oO!zjOd|N ~[ozOg,&Zy=N>9ta}7 Ii4nhdc@:mk]Zq=LOCA[ z0=hm;oOH[?liB0Y#z._[{Ϸ|AFVWs~_ot]XcM ϗk1;&J OUh `;$m}hw|ZjU#ҩn7kⷩ|IA֯v-BM-NtϪG 9-دrx;^tpz&䳺-VT8n]5țtXb|5M0淡EO&n&ksRoЅz z ٲPϡtﵑ4eTwUcA%Ä'ܲi-F:OgTIJ>듶ނ~4:}S#Io5v=X4ބ~匴?9)oFh4| p'->yV:%S{IA֯v-I':ܗ@>1F>Kz/Q>L}[յx\Ƴ,~IkHX^;YS.S [v x1gvZ#p=O,>Y0<7" ' kOءfܡ0(s#dr&nhB-4'׃_nLA}M6=)>-AUHẅ́f=W#}Pb_DEjV'&܍ɑ>(/ U\)H}y}ո_qu~|6Ϡ;W#}N^a"+nefV:Wzךּ#:ֺ pR (PAUHXǁ nޝ;1[Lqh/an M~:|^77*בltqtQA%Q|/MpϻUSQ܍59"#MV>+zU%?J -@>A?iZU\KF܆I4]F>'pzRRJ>M j8ii9ڑr7ȧ戀>6#3T)LV|`v s谩)!ˠHbIވ 0r7Z<*gPdB> .` 9vtO{T>#O?UptQ 9wTp$hi/.X#zC8h=(w*4zz_^{(IdX$$gi/.X## aؤR% RmA>?Β Ze|~6$'~{OstQAA3zc-E|nIE>A? ڥ(2 ðQ] L.z@ V0]fð(@ LY GoPeނ~X> kPe>A? Znt a|rkǹ|>s&Ahq 1.>Kǫ."x1K_#&vRwp X # rLN 68$`ۙI!LJY LN 66$`fLN 6X M&R, ߆r&'vRwp , w6_K?ׯmTn~funwp  mɈ떭# ×`z?ƀ,u`|Aha ^XuA a6_O: 0l X 4|~YAhax+ǚ(| B2+B %a a6';a7+@: 0l,@4: 0l(eZ`8 u`8ϩ 4q Ahq27@c|N B  J`O J`6>ssROu` QP  Aha2'@&bJ89XMČpsEB  `61A2-0nbhu`P 4 Ahq#22&@Ff\L76X̸me B B: 0lR  4I1$,@,&ɀjB 4CT: 0l2  74@'&GgB ,C2-0na 4Ox2bX=D2-0ny"B AhaSaB (eZ`% AhaSJ[.~XM1ա"[T7TƊl`T`Lq zl 4P@e|7s#w@LYhaSA",4iܱ@(i -0n@=΁ 0l1&VAhaS,f0: 0lB x9, 4: 0l B'Ahaou`a6vF@ x;^ : 0lB x9, 4: 0l B x; 42-0nB x;^ : 0lB x9, 4`*H/?~ǿ?#]ܟ2 OdTۏ+gλV:P25}:_v 7*E<TԴaQ9eJ3s.)XruTU^6 pe}.Nnj.azmi1ζ+,mPN^`E*L2N3&3CS-f'Ymt_":s),1\N": zOsc.;i"*SPޫ)y_ybǦo}B^9 vjRlt7fIENDB`n89oJ A#PPNG  IHDRykHgAMAPLTE_taP aP W> IDATx *D7_m4Tw٘AA2p?w78ş$:~vM̊[@ o&p}(_ZM܀7~`, NcK>, NcK>, 0f40f4P#XcK``i-#ݸ N,H=0f`EG1K#^.R>pNR><ğXߒß @sINKR`n~^;͑jMU%@cvs{FnV*rZ;C-z>% 5G1"OjlhP3^S- -0C犕5r`O d/RGZ`[ hswoz0{9yL0f7 N G`@J@F\hAZq)XF|h jdz0f@=_jWOhb3ʿ @5Dڻ#ʡ1 yԢܽW_T+`0f!'CJB ~)ʾils-&PEs6DTԆ`n^ď$/U|Wϭc 0f7_^&Z "0f^0f7 ^Z& 8 ?C|o쀽`nwl>C/%G1{H<0f7^Vpezڂ1|0kh ! p`6RS&1i+Vz~L$,֩tV=zo`<2'5V{!rXcvS0躝c_C0>U+z`ʼ|/X1.‘L#sX1S\!8 "eZO]W1Sz]#=Bڒԕe3^8х)$.7Pݰ0fP' &qt yf<,Y5MAhF0fY籢M:L,+YXq68DYO2VXVk`arM:#n!r֘H^k`acETZb"˜ mR] hs ,kֱ0fT;Eo.B͖-NŸ4P,tNr}KcHX0flPletwKhJ6{sZ X6( `? xpt0 c6f(0%d, Y`cppy!6F`a,pk~\4B0mB˜Yj Z\8 ? cfZk-y*/Y`̂ WۓٝU^ƃ68,{ r}:?Ϩ}ޱSʧ ca,pPk8# E\,'l֠=Ps0fl]ZJ j}(̂ W'Ɵr 4j}.̂ WZ@˜Y굷>5h\,j@b́Z1`$|v`}'Ց@˜Y꺷 'ƩRsba,pVky@@˜Yhg`$*_m&@˜Y꾷Ʃq@?>ۚZ1`5@> ̶g}ba,pw71`Ш[-̀Z1`5bo= `(ԫF@˜YZ@Z@[> cfk?``'zba,pao Zij^j}.̂  X3 6\8 *j}.̂ 004)8 إ@˜YI8h )A-vOPs0flpZ9<X3&آ `ї@Z1`}k :X3 6\8 <: '6<\|̂ ֠5PSv:jp=pZX3 6\PkHPa:X3 6\8 e<: E{  cf : h 'oRAv^ cfA*':;v끟˜YI8h '?5ĵ eZ)z=`ǀZ1`&Aèj j/̂ NAk 9Ӑj곃Zo1`Å@oj&ZEWkGBy=ZX3 6\8 ԽC~rkaa,p1M3@kj냝HZ1`cF66 iz ]P0flx a`&IkMPm0fl m_V~Zo1`Ïޖ%)xPm0flxk^@_&A  cf&ԥqcX3 6t4P/Aw -_O׺Z{BuO%0fl R/AoNa > cfF/{uthUKZu0fl`||*C rP%v cfA̤PkrzcNX3 6H"F)BuP=37Ps0flPjrZ7A7NFޟjo킅1`FȬ:nk#0qR"{ڻ^eX3 6vE%{s9LG_V5zba,BL]5XK-C:ba,$dH fQ~Hq5\,"(E?p Zo-w.T}|/ '!;H-sCw˜Y!5w'>?26]*Zǖʲ%f|!sPC0flBْiZ.FwX;"և`a,7_cor=+NKvA˜Ydx {kp<)dRkSʱ0fl133HRh5U6CvA˜YB%=L$ů?fF.9!X3 6|XZh?a8!X3 6|ا\Ў,w/LcM 8!X3 6Md Po|G*pp&zVX_ 6d7腩X3>ܱ (ׂ =K:bm^תO;c!t-ؠ&{#zg kAu j}.ւ ^&}1 5\,Ĭ(1Kzck^{xzmPslhn^CBZ1 @lz > j%#3,Pslxkn0~ 6\,ĩ:b`_J+}iXR 6m^0# O/G{Rl B0:^k'ұl&X)kռi{rlFqaZo`5fa1MƱ\Yƅ`9 (LHݾ<,(1{ @ l,,FabA)-pao @sV x QXPJ 6\Ժwb&OmaA)-p R` u60Uw7ǂRZI8Y1-,FaB Ji '4b&̶ƂRZZ: Q&{rUlp@sV x QŸ'E}d/  Jiی +(ȇZ;n_@zvP`~/y(Cn_@҂ 4gŀ3v_@҂ 0Ps1lI810Z`Å5Y1-,FabA)-pAhΊoa1 > Ji '4bj}.҂ 4gŀZ`ÅyXX@ńRZ'4bj}.ڂ NhΊoa1 > Jiی +(\ 젂XИ#bj}.҂ ׈D7܈m+ Y > Jiی&Z;5!TMN0S6-̀Zlz0s kcA)-puVk=`8&7oj ƂRZRgw0LO'ODsdZ`SMtIx(Vk.¢ZlZ`QMi$̀2P֞ +j}.҂ W79&2 [űluzX)@Zrzx% > JiZ Z[Z^!PsY_&y#3TVi%4Wڳh;ty[Q)PsUF>jcEZf;TkEԚ_kX[Ps :z_bVl`u?i1V; .#Zծ-^6BeyPWJ!\ UWZL^7%|xW $mjsZk*~"A5 uyN lC#a9Iom azW2%kNY.فi8Xφ}3PTovFzbR9)[mkkOdd(Xцw5&OPU?.LSBG#=mL^_z9 &{-@9 ] sL'xJ5+w >>'*3fAZ$y2o|j)VMwVJ$m@"Pe4GU ?ġPJ+ nAg%tK6@XʆӊN^TT1B'T&/L5 0o]N&m l0m<aej}][tЀAD0h,7b?4BqC@:.֓ (cj,u\ɒJCuneu^ŲϢ&bKy555*R [BrJPn؆CZRG%UkKosQ,Z%6Œ!՝~{u [SkZkns%Bw⪬C`3('VMN#*b!8-1 *)5LN+ͨPo0`Å0T7O 1IBtZZ ư5Ȍ NR c"@MqM7JHZ_!On*h>B<>DfkzqZ,b!H-4 5=uR D0E0A/h5X @ Rfց:i +a!X1chAd?`-L #X:~&u۝jDVZpmtZCXY 63.ِ9jKs}C 2a(Dn>6ٵ>osj*11L }2ioeso401,J}2K{uzL$ 60hLUS&@ ofus.SVMl%`>vZl8KjIouӏ pL #@o&uí-f(Y Z1PF퓉'W; `6r`о֍d@AOۜ[az0Kj=PFVZYZKɅ ,5փ}3wo}U-&'&Z 0jLW:ڀ 'O½ĂZC.33&McYf_S CX[41{!haa$0 KƒZcYXكE`D3z;&@ GmMsl%4?nC̼ZL&461m,VWrz|D|fļ4a(`E]̴&%RXl޵?l(tz8οTFlabj00{Ђ*"JX>#[ͧTfh511;-J=hK쁖OJmGA'{R jl%57GTbo5ZU>=H;t!,9jPQePB&MMIݘXL`(aB/$;D^T>=Ʋv4`6PkPQ:t; fx*/tXR&"f~)m/]ZV7Q'cI-Qv<;- :@AG-=&UUdl^5ڀ ٣ZO)yp5IRl S0K@ M5``qE2/$M1cَƄZK2{_iAN?qVs_&6lO&cB-J=hZcLEMLi]J1trZ fXZZoժdQtÁZ f+h-WhW_EЭ|A}`cz#}hTȨ}ƫ+¿`@C֠EF  j}Z 4ֳ.AeN)Зeպviϵ{ :ZLisD#';w5^]):L;EPc tev Ĩa ә Tbwj\*3tyg+ʒeCKuۍaֳ?ƶ[#NZwjmu%+(窵ITku4xN[ ;qpGZ7aD_jm6SORkJBZBZ?=Z>XRkSZ^ι-8-hjT/5(e!F)Wk Poేދ=oHҚg~*aZG2Wbi󢻵eZZVkj ֱIx1Pk@PT>5ëuk遲)^*`z9A0]_@sPkMg5/@Ajf2LWkmy'YupW]8qkд֫}*+,g%+{kj]j^C !GY&+}T*Y_w6{)#[$UVpHj6:~ZkEZgz$+~;I f <-y+S",S=|VQSV\̩5_j0m!rZ߿cOh $Ў&ChZ+GulN1b[ GmZo\׊8E`o6Ԛ"GwPCSqp:ǂR2~JpŝZ9쭝k9#OKL3wZA@{4&Pv$ѽ9I/Zc`ul7MC`Ro:?b%N<Sk>ٿx&jxfZj3owj6ZZKinvj[WRkJe2e:DjZ?sjMUWA+rY0´y='}Z$ޢyUz [Ƕ[cQ{(ZסyWkzLnv lcZjHk9r$<ܾ]Wj=ƲZ޲ :Rz G$ܗ &W;Hj9VQ͆j]ٽ%Cۯ ~n%kSkU,"y:'ٽ$doj^O5N»Z'iֵ:2Z^|Hj˃0P1^Gٻ?jVV|vԗirEo0bP HT6K·OƜZ3~6Onԏ [ S(Uk:YLqRϰuZco= jG ˟5 ܶP뵁ZgZb!%uUkZ6pF$jmv{ҢxeP)Ґ഍zm晫r-k@3\mzm晪֗vHxjٔX*p.ۈjӁZ[͋nY-?"Il))cw-fq>aLTkl^, /׳v+ڈuպx{U4KV֭78Tk~ fX]@36"UFu^W]nī8KZ_j-4?$-`r{Ca_aIM&q;V`ꥦV#GA~J^w n#ulMAYJBO@P,O/%i6V.x!O/r?IUY?ຍpɒeD\"uv8.98xRo7iGW_mw#wt)ge,Sl_=kO4Yr*/4bqy}Q j ?x i{gM2Hj} L}?07mD|Y$\bb2S>VdWF)Bc}7a6Eb4UCӜNŸ矽ZWmBj9 W7-,~,jeXuZ1iBޚO4ۈR ~5H# 'rg9&uyޥr NԺ~,SkM)YaM"nWg%@ۈ-H2Â@3NjjM< 9af~=we'ƏM#ݞeVgHeZV[Jz~uBgS[Z3*TuQhlxPe jTJ +qcؤXnwP ຍhN!`D~@bEAߟ_x]|X\LL@ˢGQ~M-zDM+. U\ eebS_i#X_Ղ]b-.Ad,*dP WuJ!V &ۓiA+6"Cq}'|aOt}+ВUaVb_z({uI ~egȠZIl:Gf,\EgSwQj,IpF|uNKk7 bP Mz^)ZGzה#mqHd]PCyؠZkmgx),J4=\nn>R[Ӣ7\!%%*Hq|AW4W@ bPc/j 1=~tL{ȯ#PaEUPjຍ\vE:Z֣ j-HRؑVKC$fckM!?hТenu-pFAKցg*?c% VuYC7}V ,ZV\mT^E<^riKtsNV+`VnII'>/4WEmklY~ۈD$cHh$js/ֿ:jx> _A_- rɗv84YASV_^n |8^*jݡVvaN l#Ւy`|̧uV-傥)־:ܖ]G5gR(weqX6 8l# EZ^ ʥu,0NS]'0uh'B=OQ_ۨ?x\ ݏ Zc׷"ѯ%Smbxu jl8,w\ѰCv|ш̕`u\C ^% yLU) V3fYcQ~\Qpt6-۔z0{h$ѧĻAo2,SbxU þՌp9KCKY_{ѫUt;C GFWk N_Z͘ r^hGIb}^boԺƒ.~a?oڸ!.y}ncxU֭:"ֿK -Zk/-Mj Ԛ?6@[C H.ց*{XglaܼY- gJ,~P{k_N|Tn\M7!V"KkkkPuk=Sn({r̢!ԣvkæ^J%g^hZ"JjS9 V]oMYeZ++Z Ժ5Z_$L+QE˨O Qft޻s)Pքe=R:J-ZEɘqnrhֻFԺ9O,Ϲ7Ni? zm"-]pHֱ̼kt@ڝ6̱ҕzV֠g>ot?P>-aj]ìf:WkSnJwkGѯߵ\,3u XS5 jUì .ζ=_+ޭYjLq^P(tNh(zafk-b1{) VKݖ+~^QCE#K5Uě,#nmٲʭPkYLGF)wt UXVB]{QZW ѩoB?uuV1]7Rut6e%M&rⷌV7Qk *Qw:DŽ`+n[g}|FsZ6n Viѱw]e SNER9y9ZmU #h.cD Ke3U "j;.:l&!BPk޵HpO:ﭣ}4o5Z==)֪KORkqxSL7WlTojY; O9uCXβZsμKסjyZhÈZM'Sj}o?a?UIFzՋV>Cne&L~ޕPlZ+> մ#zhr]cԺ nEC\}`*^߄Ga/E_mԝ@zQt{\O+$Sh~n!싖=V\}CJxNqW!j}MlSçZ_ޭTb~'}C| hTwqdeMH!uB9 ˓=VjyjJ.G}FE .A1\ IDAT 9j,"EYjը d5^my#b9 [$,=fy:։wt{mXS+Zjͦ"jM?ī~-ꃮZ;7{яB@g%žZOX[E4OUAؗXruto-m.XR]UiU話xU됕Ζn(Ʉ i4Z+`Yf`aozbYrj3_j e=ވN1zmS5yMX>+KS-;rPkUkOx3N!=+iU#Hp7;Tku!U6У[7ꍯaic1joSh"ʷPPNt_,jMӆ#6[a厥 q+ 'PkQiuXҠ.MDG~n^KdXY4V4Yrfߔ:~A9Y޾ZECUu jݗ]RISkmjk~S,5cq?+ige֭ZTi3?Z4OZL'<^*=[W%Ԛ=~/xwS\,;co^)ѯ{ktr2K-_"]zݱ; a{b[NFB䩵w_1Z%ě+2W/Yuo Ժ ??rV@+H6j=~^|-޺P:?P&'h{30(Рcp:ZղM6kf'ᖇw&PZϚ˯zyNG1(oj=n@ +y[hcN@c-U{5Vk;y֣hj=n!4iH1Myŷeinۿϕh*Z[5:Qo:N{ZTZe'Q?d_J3HBteIUk} )PPqvy6Ӌokhҗ'`#QOYW5R#un 5K Ct'6)WI ]+[qs CMOcP-]IMJZosv>K z(X?By"zM pn:FnhD_=od21uޫ: ZyJ6 w j-p%5`HT&uc>6l}$2L~{ uֹ/=*[AG:WuWf5DZ;GHU.&Pu&k-.-p%`HT ƥH+h>g,$9"1aQb$)C5ʦ-{:&{9nM7-y+Rt͓eɧOtz^NIt8#7]*i}CT:)--u_&)rK#֚}?&5moM?ncƲJſK7[Uߕj}3vN!GT6r'Y{k!R#պu#RRĬrX-)mX ] o25Ug6-# ,BF:p[LԆ:T9U^6RF $β*99@ph^2N03д-#j=A@bA[e'FWǂG] m.?zfȅZj=uWRؿ|րF}ىj<'+>!:RԐgn+PZ8P!@cbN\;=qq@S7:ڡZwU& G{Q1wMZuE)4n^yo\CX[U1ֱ`mloȞhC}j]gCzo0&*ֱ9]k{!QYG{ Vj=`LTQkږJr zo0&*K ~XB.t%P!@#Zֶ8 x{!QYLOZ/^+ zP@$|i^{!QZ'oj=6Ou#{ ?܄ ӳ^iP1@f ._Bp`Ϫ{땁Zͬ!a+&k}b%U&ASZkx/E.j7'+ar oWn]߈Cͳifȧ2C3:ށhI{c@8jşuxߡ>L!)4S뾞vM$Zj7Dw<'ʂa8ˢl 7g n(c|Lۘi_#oV?]րZ|I DExe9Qup'0SQʪMp|7JX"oGssOµzޛYCHQv.;ڛBBS{\?^h$l;T փZͬ1#N 5'Zr)ThXGui7('jCP뽱 _FZ 4:^󨷄皩uIZ6; & zof I$N/Y >juT믊Ǽ%)& r֢ܾQZͬ1*1q~/C ~~6Ozg :^$XZ)zP뽱![/ІWXk3˷`|cXj2T I0M &BU,^6qVp?%McߚZF? KuRPkyTyԴSk8UUUpMcEJuӺXwFlz' 9Pk+F7nSkm9ܯx /'.T&XoŴZ̗jD!Z]O{.{bU8Лس[XHyux>@-PZ>b4i|Xw7AֈiܯbMCΣ^c#ꪑԚ~0 jD(^BcxۗW1.6օ6ޮWV "楏hpNatzwUP\OW1of:(F-֯d?#F}{.s_\[uJ(AXSgOjmh [T$ˬPkO e%W'N enO}jM7dmTͽu uYC:FِWBsQCix_e &k#5(Rk.g*MZ\Z:Gu2وtVôjRm|bPL_DWVU]ʿ%_5Ixfu5OFu(wgZzX>jцNW1֗}2韺&˵rZX^ye.Fu۸psz0-v߫Skݓ߾g4,^Ȟ@yɅfD jn[Pk*n4WYBՍ4 WZ]l%>TZgwX.jDLjZv?dH"VceozufuuШ{(RWk*v8O #RX]ګ]_V@-›\ ^^żZKZܲZ[7)ؗ?ஈ>iY cɑyDyO//**nӠa^soBSQ%i%Fߓqa5/g^Cr#}*nam{Ny[7;)bTjn0_ PD#֍N[\jQ]} S|MU π5VPk}صd]O?7S27\T/cZ6W(IUˆ7~ilF[ԅU~"[E<%>Eb 4Ѐ>~yJ[nRJV6":6p^zoPEjdtݺzmՒv_(j͌w.cV]^ Ro~?)̇ottQmf={jQW'Wόrc2^x^-5+7vpwC^{jJ}]+W:(Sݫ7MQNS24ߩpco"n)Z%/#+<^qޅs AMur[s00%_OE^9NU2O`>"`*hߍnVdmx*vDȥٛ> OpǾ\ꖼr;8N[ES7>.<%:.";$<-w%֙`_[g㰯-Mt7oG1iq :bj->hAk'+5ǫd;یwz@:Īj}J͒Pi쭋 v,1ڄZMJVkRjHg(-ȥ]: ǿ Oxg(vdW)tK/&pٗ3'g%OZ[ο91mg(K \p>-4 [7bZ6oa~t7N(@N>/z&֪5[سEԚXZ y9k 32Ė%[wrB*c:yE/>9r?sh`Uxѯ8^^Qo+F.22IR[!Tk!1$Y,n ^h#ю{\(hfic՚vSkt6u.hԳYط&컩sٖ5 A>D-cj+ jI(* l ǫXTky%1YyiBY?=ڝR,?={q;Q$TZR EU9J0ZYE,]5UkE~/I+U9 1;owx^#Z4.۰Zce? |s-YUk$/ 6B#Ou(?{26ήjWWRDwm+qv䏗7S<\3AkȓR-8ZZ۠lXXVkoOJ gfr+agyZn'W1[ SJ;Aa7E |A*tTk_D^1p;Ko@UyP4ju5-;wH1ֱܤdmո7 'MzW o%j5r+usA+Z joZצ7YjZO D{jz"e^M֚y䳤Jf&shXZԙ]P$32H5 Zʛ+.m/P;u-n /+Z,6 Us&RJOuLZ9wt=\wAZM~1٠D|~N ]p4Ųޕ־j^ WIxZUgh9}:fJ[xpő;kQkfQXS-DkcҮ(75a 3p?}4Jmt|xtQY Ѐ 9JGaZi9{Y0nT~aOVcj^.eB_˩ Eǣ0&dq,#m$ Rꖼrp,cX/Fʥ,,M;$V 7).k5ZND/ ~[IӒE)uK^98'IeRޝbB< IDAT/ZIۍJY 4̇oR|.^" 4; kCi9ڲ$nZ~aBpҙEC-dRu&3oR|.G^ hsSi9{[ n+ϢϼRuui֗&K6XY kha>|xt!Y_,,C!L'xCKߞ(uuV@-&^;,$\9VhUje|&GC:Z'Urϱi9۳Z.auNj)5IeD+P\Xzf: =ӨALfjy"TdZP믗pPHqpmMԺ`!G=ޛj>ole#li>ޕZ"GZ ,1R}LLfjMFZz" d9(:]I ГfȈEo8ULfjRd;ܷT_7ES\_=&FG,,"\ߤ(:][ 1ATJ"SIrߒ|*E9r@mHeD+"EǣڒW]qd悛6&J[Dw*"=3v¹xzio]B 䙔ee]QjZjݞ nzۘ *'FsUIqpάϖZO_mQi8 7 |N{k K-ԺfjR%zpJ[Z7: Z$p <).띄[Yf֕4SWKC VǘZk=a[RV׵ߤߢ\j*nֱ5uN%-ڿr-Z٩fj}R[Y$֥oofm$2ƘTkGZsv^kQRgT F;wdn~Z$N7G#YS_i)͈gt{*8Eyf* ބ1:4[ط`9zE򵖝]pCZz%.Ow G;i&jMntӥr-F(֡p5FGf;IL"ʔ'I l?~+)vB&w-S f:nj溹Zsm&s2g+@-'ʚaύTkƺ2+i-(,VPT d_=VUj)nGR4/{f-I7h|߮?ZOf ."E#Y5$j[o~O⦫u+@)p+k}#IR1)W(:fK2"G( /GuVn˯0Me*rwEWWZR΅mϣsi<$erhfeFaձp39)>..ܪ܍ԚϪh?D%z7j۔#%|si< f2kiOFȧ⣨/x:YM&FK}x{UZ,KQ#Qhƾ}NJ\| ]\IxeGJr\f#S(zrr7Pk* %_l/}Y?5br=#=h\Jܪ]"CE]5Eˇ>-*/wZi0٢)u /V]}߭WHcD)p~e5, +kD_>t.]T.fL.=nL[ZENhƾoo,o =e8 ]kJi2S:/wZosdZtds5Y{uYjejdZCoQko>^u, H4.,jK(j7cWPZ >IqR"7eWZj]ԺD(RZ|ZXCQf [u%j5Rkug\B Qk{ҶV=A Tz}|:i'™Qk>rCתTko)GێpJԺ bacd\ʍpNMK$/GZއ XSk".rZ-5b1z뜏^礊tjzuKzU 8W-p e-=qOw]$|N F=Fu]T~ﴶ ɸ;U$EʰL^!T8/ӄGGToưB7;5IQ]mYҧd=Ϳvv)L/v tY(GpF:3} *L[Q(qNhIȘ"sXKR7h5k&y\V,~(u' w8XXi7siyK?}1 YڧI"4Ce*d_u/Q&=RXX֑c?޽ y.X2B}mqF\ uP诐G'+j*"Tw^k֜HF⣸--_cIS'Pkuҥ&NrK&-J?{F!@Lut ҡkZ?$\fN; HWm)_vXȊO-!Š@-h͉6Z=U1$>Y#sR? u\hĢ5+Um \nDPDOq$oU[#k/_mZlPox$9E; :Q.@FќIj=$&( "YRk$/}M:`^sjm$^ց7ɿK@toJ}aBZjwyRR^}ߣRB_|V-Ѐ%hֿkrO7obRO ~yvvtCx٠12` bњbu`@<<A,\sB9 \QxLcvpDe04`bњ$WΗ<+f,>K貇`Wad:Ģ5#U"Wo֟wR6?[^ k gwv(3X}u 0g`'ǖEQchĢ5#i_i2^:=ﱴxoVk}W`k@0V7'>cUkr-C`o= eZbki穏2Ԛ7qC՟gL M},-gKx;cWk iɕw]>cTu\yp{끭cBUzamtz#9j2IVfHNcuA6{kd~HMp DoEzlm~}XkDvBK')lj[l~/}n ,jEoѭ5"6soBEγ ao @r^$Z۹Wݼ܀lO.Juxj akP$gu^j`ٝ XhSo91쵷Nc@:5,KlȜ Z <^Mdaj'M#yLzn#.{k.hfYtưao @zXujA1[! @,Zq=Ж#4P:B{c`!ĦsERk޾dm{k5T롍mmYu%12` (aӝƖ ,`,LTe_&=<;GٚyK³5AZt9{:BZjW{óm֤uRz,agqTJcnnFVW[R.ybg;'txW{Cw,3!;l}=uLǎ2VMkѨK+!fdO)azjr2z r[qfM^3ْ/g9#{_H9+RؔewLFw }:zp2{䁔gۅ B*d($_}6UC# imF6V?#W>'==wbONc u{ߔ\HåvJb̳5\ZzRq|'|uo5\ZDi]9=yOtF6(n\re$ScVG~avs9#{ٺ7eZ<[hĎd/]ҌlnQ|(n0i dIkMܪȦ֜ &e:~Zz}Ux9vFT}S`X4>˧Mʻץ9NȦ4#yLZjU\Ouyuw1ǚ3sæ}ΧudznRIE\ΣtFT}S`=zv7~]o{霐])G 72I맛T^gv_[sF7xx.9}6itØgp3l d,ֹkua͓: &e:ֵۯ3}}^9ڊgdSkΈ%2ևlh\<Ϧkg|=يD4 n7gk cʹ~GsUjXϺ][,*'d[z &Rk۝ojM>gN}mjvqT9#[[sF7xx9ӚT;||㈐n7gk I| ug10!y(n0i dc?RuH+3bǚ3sÞ6IcaA6˴vWFt(tÞ6H.:{~FV͸l#oy(n0i dQq3!=[>^ROkmi}gdCG1 *S,F//B97{v fC/\%:m)JkXQl Y~x*B3q:uZj˨3ƹn A~3!\Ks ?Obi=rj}㷾y?}~?]eE:Mqڊ:~/AI8 F OcHk {H"WJkM@TմNK_a|9qkrBbE9-r.xO"ܥ1lH%':d=:'r6 wdIZU*9ZuIMZMkQ&C yO 倧,RrUzq)+6<".?dZ_զ7,<[W,SɥFs_tiOMYbUb4Vqߖ0Z倇,SɥVJƷfXs%igЛVmZGu] x2\h&i|'/Np vYuw‰TuH\JCn%:>[㤵YHx&Roˤ|{\|Ҩkl,T:ssފ*7Ik+)bYsFmZOK@*9_~#8&r|UCFUZ:ֹSgIF߄DP,Uמe^h3cr_!!GR'}<Ɖ=G ZDP[5B%';V2? ǐ{XsW`haip34NC i^qIkJ~uai5 &*9օv :ْ>]K5(n0i 4QɉH;<,E,>ּG7ب洎7<>|QlC a{Dq&*9у[oo>㿯f[^[C"7gkJΥu`Hiխy(n0i 4Qɵi-.uzϯv`yk#LZ-LTr.׆͙==C6j4n%?/&x` ˕dǬ)7rCLWs=;fF6ߠO1]OuAb<.\|6E:rO}L8ڏ763?Z1qܱ 0f5;آ{uqb.}c[HkI%w&#BZÆ]*~7']8M%&XCZÈ}*NO$}8ם}ika^r U[[X0lد~X] #6亼vuPFY?96Zɮv{Fl\$5`3ؼj6h@%Ğp_*a5FZ*eq0J`i #d`kFZ*a5lX#d0J`i d*a5FZ*eq0R`KdJ؉Ýq{?2rPǝ ߲Z% " qP>pJN*wݿ#_K^[}q Y̾`K-p[̾`k-p[7;`K-p;Ԗ^zG}_0V&"J_?r<Og8VhYl扵[.riN-ܯ翑q|,fm/鼗^pAI pkM[W5֝;pјj%|w`| Vz`K#mF}|Khƒ9X<P bHk@Bi@U:CO7 IENDB`n.]4Ƒ PNG  IHDRIgAMAPLTE Fqkkkؿz_l 8((H IDATx흉zT_UH rA 9XSq{2f1f%ֻz1&-6da̓ěu{XqD&齱tvsHX/Rؙ@m? REl"KrwdZ/*z;jx^xi/oȇґ +#i Y EgHHcD[ 1YJXޱ?9-4LzAnњ_hI+e͈wRO r~`%솫̓U7@3~bܚ mߒ8Xw8 z<9900 #6{tY00P2Gׅ@=#&{t]1ٿgDuoV;LMzP $D)Hah6@5"ͦ`=YD0HB4·Y&IfST$" l jD$!MIfST" lA{P S$D)Xa h6Š=DCHIJg:n dg:nA{ʡ_` &Qya6n%<&zcx1lܔ{GuBZ(%l嚌ZU?GvDZ% L'3@R Njg=B:&y +B:&,딟^ 0g`le]oU?L@zƙo=;'X/oe\ѴZPh}O{8}3%g?]}m:& e=*dc +G|XO;tL@zO)WvZ3ޠ^z.Lo\A5C/)9`SΓLt\vDqԌֻQbAi'޷;9bo̝c`BΠ5Sk/uptA+{` .y boF!qB{zI[8λ֝o|4au2zOrTx6^A$& rO-3ql^P8][Α=¼d[LT yh=?_g1-hy/a8n.X,4lXw/oA[ty i X°ʠ2XLa yzt71mLsO+ ?k͉;*`1izuZ,wo `#cH—˓v[h@2g ,y;Ab71 Iͭi5{_0f ,7ozawqwZ`lF^ S,AwĂh=XCr4;s?yoBnӿ|c,/ r )zr):(%+CyG7)L ^̛dОޭ'A`j;E,)D5ݬZ+;c"zs^z^?1 ,ħgE^{ֳ{ae\>zz"57bo{V`HtKrO}F2^'1ԁ:[<7rs>O, u^'b_N[l4aLN4BXv8ǃ(ƴ{!P֛[{;s8+ 8f=%ؔA\V :ܞV 9Ǔ1OaL 5鯍McJ_ ut5%Y.+T˝/Iou1x4rWrK]%_”c}KwY PC0 V.!=v^Ⱥ;}˚yo__`_Rtiq=IZ˥mh(V&trÝȽi^Z:dHʂ<c׉]XM2Dkó.x_&\ܜlKBdg]<^j`օ-BcVpk:tJlB`q您#ֻ?BXZov`3&v8~գ4V{J5)Q+z&%zAY yx;ZoD^%zc{:k5+>Xĭ07&`DgoSNzhViӴ8=YwJ-=nݰ^Lh=sS) XUhjh:>sǃo8+SɆZ&Id*UhJiĭw/a+uGz7HVzYzEׄ b{j39Ƶ}0^JNzIg kٖUeKvjMh{_'^JzOQU f=&Ms\n MbH.i֫dX MPS%H)ȟb0-a&(^n321MyOI5 ".t?[tgdsԪ)g\W.Xg+C?;r払HE%!j=g: G녳I,yȾa׏˿jҼfh3J ^"L3_کcv^5Wg8 wy,V*7K5>V= ba3hV}̸3Aj`h &kGb=$Zo[ϗݥ;ǹ{2TT򊨍]7 ՄicZo4sO)}>ֻXavkôz@41 3Xmvx6zos:Zb2 R8`Ck-wT$ [ֳ~[ϿMNZvuPNr:vL;s:[EWܕ3npMl_5`C{7^Q?=vvLdCAδ-TG#9~o?uD u3no~{7@4Ցy\B,xkvn>Z o֋Uh!%%iU0Bj|]?Ovߓ&m %^~_a=GhITߚoZo"=||)2V_=ut[%a Ӟm]v4?o_a1YLFWZ~Fť8zK:@gI UhxU4bHWpbZ/x~F= N''[byk=ut[[Qz9+L1M:WWx;ZҨ^DZO}zj7h=F>ZG&8q+ }+,}}NOF kkZiF76^ 0z9WbήuaC{Oӹ9!ƨ>\ ]FA`勞,xxnd^x]?z #RhbC&*<)9f+Wk[i0 XoL+ FYܺX?/K=KLJ=7 ZyH*czSoYI ԱM5 $\UHztx'mw [ ɪ TMDZ7Xz5㲵AiJ(YN4փXcu奄F XOYϚ>$JݯZY-XqXot *tR)Qr2ۮp/wrveI)弮- K jVѤ 5 4<΋MjgtݭD$7{AaVf 0]`=U8SM^($k%.}p8ӔfI)ڳz4zvZ27E|)U0uh_:k܈jkƸY\]ߦ ,8Ű8z9i˼>7D6ZES['͢i}P*0{Tzo. B{@YzGh뤤Y48 roܭmǍ7YW8P`{f栅j?ݢ]p8[/^U_"L!h_צs:ӊ rpNnSm5V9Aȉ+gy'cXoZES]'Bh_צ"rܭvxm{cr}g]JPjt`ʨz[*:Hx4>Zݦ_~#&h)?v>F8ӛ{is=)a|@*4! o$yF2lLkz7Ts=Ef\%k˫;8sMPZLѸgg˴݇Xo7Zϭ ^>cyrXlTd2V눰ܱn4 !_̢ X.Zw"ܥ|uA:+}8?sg2qnu홷ޅ{j`/9 &pA%X=.+&oqXDLk"|bosֵND0k7. $eO )Zģi-jUgoxBP  IDATLeEs&rU0iz3*;QҬ^6Xo37b=YiBȞ˝oEٻMxom~n]MwI-̫ZH/b=g6F^g1h~;;Z/tB[ ~?Ɉfg;>RKXxֻIL~;RNB{iweajBm_ R&Xo$=ǭaz TcNh ;D_[OMXo$~?<[KD36lMG~M#z%V%ZhfX"Ղp^G?ɪF3m} IcQ sոAʫ ;[ש?ﴇ + 5KG|" ThVh^i 1Jw"2Xo"L:NG 3ur!ɩk<_ ml,zBizVH֙`'&HiK"&QGVyhIsF`v͓꣙ɌCSRf!~p `!k7~uxӗu1\k:2>3MW02%EWA;AqiKUMoVzxb"Ke'QL2'E8oC>;nϋd,_jh#S\zѣ T?Ĭ A^sa/o(3> y[ Wfi & C&C5P:u&,eW)}р1;Wvle?b9 g)a}a8zy=sXʣgq[?ӶVБQ?1zq6)H=Ҝ*_ #p&j,%+>DĎsvx~Vs/) 0XZٛ{sդ*K EQx@ѕY4z6֫_!/O;׮w>ȗ_XO%ֻG}s-*KRytSgXcXqek[s=xro(N,>cuUGXٲDoֳ7Gw»2 :[Y#6"kƕ彩>TNuo(N,>A;bhUxG{yNJZF`,AqLs V!i{ᓯw&lV2ܷEWfFrjh̼Z6RZ鏯%Kf ~m_H`3Eь aDy;a][- (2y4u'V1cZ;b_:yGz*eo, Ι0B3ƯV0K+!PnONΔzgAZ}\ 4Q:WjF܇Չ;1^#'ï݊dž=G"*"VZ jNk_ #xE?Y/Y^r) ZJނʻ9_w7&tI1?/y2Lz!8z=Z]WŅz$KpSݼ&֋`>SۂKs.׭򔱳[@=2]C|15b7̳vm]1ROeUcxK+!PniаAoev!{ _.=#PtRu!2iw@J+!Pw /"X/ڼ*::HϗU2Rk=s ] x"V w 㝉Q^ 'JiQbzd\ze$z-JqWM'MiK͌h O`|m8D^tXO#g\%;{dUMeՓ?ZDDZ^Sk:΋O焝\-r/MVLQ;[^zY;~"+BVaV8l=ùE9Џ)Yϸ&a}H~WgPx:,kzkrM_ŵf=NX/:<\.Q_t$;^j[/1vT:cՎ?vG.~V]wM[Uzij=EՕ*íw ۷+aa)X:XO5XOcY99ɬ 79wmhĜUdڞ3Yi>)y KYzcE˛5B &<z̢!;jZ`̋qߟ9JtZz+Z}N,3әX^z%Jisv:z,E#YK.+!lFY/>WeZ/nU. ]Eyvf"yzc6'= EJ0;pz0z9Lz,뛅8ceK# N2b$Xz`#zueZ+"&̷+^g:,lnZxz9(tz`zowdA;a5X):*]E/IF4<|F⸻8[}7_٥Hf'`=}֛zOK}:_ʝEÖGz ֛kf;mKrբyobCf>tdDK~GpKl~ұb>tD j~ײb>t`=]0S GۓKQ~M7d-S GK͝TrC;pM|{ڇeݗOmFJN*/zzӑˎt=߬WRuU~`=`=}`ozY2yT ֛ŬBfQՌf7Yj֓k1Bc9K(2o 4SnUz17XySMm_ۜ`Xz)Ld!4XO1ڭcWcXz-.5!,GoF`Y[oNyHG0CbY[NegW6ڄ`Ye im4@X/XYecd'2s3QzU%+ b=eȕ:ֻ*pMɹYc ֳ?R;ߨ|:LEyT ӇYL6&ug -2_$OQ}{Bmj=oiqy]i۲.(: SZk_HpHYLa%nB{ykYN`=} ioĎdHMj>X/&7_F,>}@ɯCK>FZdZmufgҵ>M;cn tV='ܣc7 d|co>ZmaE϶*Aֳpy*>9`=IZzYz/S&]󷒧U4ic.m=onܲ\^˲\zX&e=\k>PfqWŪ;xéVtk[v۱g`,vk=4[U-0>;SU X/?S  opމ2@A0dc̭}ܻt2Pvphu>XO1 fOmlBG 1z3X/CWv#!ֳv> Kܳ{ba=Ա֫B?zKK fׅפ2 zzb[z0N,FZ"}vI:Xݕ"k=SIvk a>XOֻD\9sYk XO1XOC|߷_|l+AޓHO_]3ΔX/ 鋰K1zyW>Z|DNwX)XO1XOc̥}ׇvOPvn]S]? =Sڹo;\"4 "mz>gDpk\؆`ef"^[.h4y{vL| ,.kS 8A!֫-z~YW5MqݎyK'S֛IdRVtU`'WS/|FϸW Y\˺+4Xo:7 g$/h|NEbVҮXX"=}gݣ.x霯ٗ Բ]nYX/ ֛]-5M]YyV?OdY]q/^+c ,W|[#']o2vYzџNŧ^n[%n:{yߎ;/w×ֆ^h۱ k_>70x?kb7Of^[.Yȋ@d]"@jO+(tޣwߩd/ zQ^[./8y"6%dY0ΑyB/r8Dsy1TY^$&#X.y=VֻIyxmDhD'Ep꾫">p̈Bafc%Uy/`[[f^)-4XOJY/2{a?Vm^'!E>A Ft>\͆XgN^+xgޛ)1.yҫ^AuXU[X{ 8G$y߅<IGrcw^7id =֣C$=c*^{A{뙻tX/S{R{a?Vma}'plm+B Bc}}߻j ;mc< Cugl9Z)q^zB :qnk?#@rn)i{޵i'WxGbcW]{YǪ-d =}g' w֦HYOӺ}omǪ-z; GafXǏ@xb[3bt7gכֿXGM^,'uާy팍X$|3>۲{4^x(z_6Gz/V|zB=z¯pnEt֩Ǽ+1=XU[X{{Y˸spOg*zܼSI%& >IDATj tKZ:Ð!l=3Ӏ*17X!-bh`-{^I6+.;mj;~*KP1X ӡl5Ikj{LBzWavZw;K];_bfUÎ<<7ck_MHDSƬ3zG~uΏ+z;PGձ w#o ^l#itjs֘>/vJE%0zn1.pg,}"%N|Xodw$MwJ A|i[y mL eYo{#G965#L;PQ!]hLBFA=i]wKmOdH|ᗅ53rOu&!N HTTb-o}E8玹ׁX;¼b}|?A9hJ Bzat7#b=?#ر8(kApnN,*Cxmy8U`õ]Dr~] ͌r–졨^[.4Vw'zNv~Ne-<%\FlB,NGCxmyn8$YϿ){8<+LVE-8!T<4ާ C,nCxmyмo4)R1*#bH{kCg_=QqWZϽ1')oGca+AL !1 kv'3*Ci hf1zJcH37XOJgSN}Tmoy`=hʘH[!kD4 moyh`=o? }U k=uh9HDMè֘k=rJ+.6o{kC?]w}p*D/qE6B" OXsOk=Y5FÛk=jέ`ǘzz"z휵]1c JE% ѧzۿkcԁ ѧ~w` SkdFփRRÃCz-Xibzz 3ZO3XOX`q+XO3T֓G<`X fX#@f:% :XZO3mCM0a=4ZOazi7zbtփXO1ԁc=S S bxé16փXO1ZO.QUO dFTǜn*k˷ M^zB[-r0--"TTb-%4n#5:].&8R^`^Rskm~ D*RVJ 廄iMT!Ɩ]Hq{ f",cE^[츥h|lzJq^lz jEύtu*w5teXFX۟#ظvm TTb-7;yeb ێhvTTb- 6Ʒ^A{YjW?=uTqSޅcuX/F}F3UtJkv[QLcz'rg^!z('Qۦ'f>Z*:LE%ƀNrsALx=b65کRQ!|8_zvt]^u7a>Z*:LE%.:K}7a>Z*:LE%ƀNWjm|oLF}F3UtJ ZoX4 >^)D9֓6?1Ta**1wQ֓QFI&@߶٨hSQ1dEBݶ1 f>Z*:LE%Z$Zw8T)QRz۔m^l0o8/_}uWơ-^l0#C0[϶͆SQ!`#efQXo#6#47̵u{%TTbXG;FsglS0;LE%}cAu _?'jDŨ[1||g:35ȡbԌ[ol2x qߡ~VqyIqn:N Q3cxmƱ[Q^νA P1jVb -86yP0ٹ7 *FJ3 y, 4*FJ3:w1<#ĝ{Oٹ99+V–v}c'-'݇ E0zIτ쳎 _`_bl|gc=^-e#)z=މ:E0z*O1t,|^z-zi9`(kZωm+qsS'CQlG]?E tPc;H{?CQlF_hϵ]`/,l0 E16ޏ;@:ֳ[i6ۥa bl|gcV~2nXX濫OWZыX/^B563Pc;]7B ej>Pc;]]R7Vz0x(w6ֻ`=;}z5Fa(, -w*{gz0z_[yxA4ǵs( 8کA= E16W빩yz- E16wcg"g=iT0z6ߚj<TWu(h8 E16G?U{;NΝT`,b5$Www)t!^@P Gh=Y>']6{Μ+zul@P h-͵Y: I|(CxZIbTuY$`Y2<\3wYEZ?<}\;=Ŗ'>}i?>d/s|aVza /CGi\?$!F=ېXξ`螌[΍'306ߴW4[Gyr&{af쓑,S4wކ3gv$Squ@zGz}k8[G$Y$wގ3WM^@g+)4b ?Y/qة lm+xa|b07wgY/zW-=c@TXz[q56aXoMV3N>^c|6ֻOE\xG_͞376MNuZo>Sf=X/EzKilz%o8YuߥΡy'b='lֳ6JY:^eg>1Bt̞|L0!6`S̞|L0!6_z0iz/`= f4 BD_i'L3{bR, 3{b^1+@f4`fOCl>Z&= D 3{b ̞|<0!6$z$`fOCl`ot ="0!6z0 iGzD`=f4#DG = Y`fOCl>L̞|,0!6_i&`fOCl>:NH̞}Zf̞|q= I`fO`ٓ`4 b$;ͭ,s $&SZ/ ɠa!44r`4&@f$X/3Z/ ɢU!4Y`=d(V̞e(XtH̞@?iM&-E(|dz0'!40'!440'z`=PS{Bx?HԞd@9|3 F8^ziM># KChyړ膩= )@0bDԞД k=NړBFLIMR1#$zhS{BS0'!4eD@ړBFLIM)a# $whS{BSLe;4= )2pԞДS9`jOBh*Q0'!45ǎ@;*JG%LIMe#$rh S{BSIA80'!4Ə@kړj2H9LIM=Y$$F1$>KCh$D ziߢH X/ 5BMB#K 4' / SNB#1q< NB#g#`IBh1)FW 6y' h{< OB c`jOBh= X$`9ړ`jOBh= X$`9ړ`jOBh= X$`9ړ`jOBh= X$`9ړ`jOBh= X$`9ړ`jOBh= X$`5 S{BPo<>wc;֒aQ tftkx74b!40mn ߻=' exeИv(~^3\̛P:?Z10'Њц>c]kSPhտkE`}*| duplicate it! Sharing a resource by 2 or more instructions are done through multiplexing. f  " b -L "  "  bM   The symbol commonly used to represent an ALU. This symbol is also used to represent an adder, so it is normally labeled either with ALU or Adder. The control lines labeled ALUOperation . Their values and the ALU operation are found in the next figure. Z E Q The values of the three ALU Control lines and the corresponding ALU operations.RR Instructions using ALU Load/store: address calculation - add Branch eq: subtract add/subtract R-type: and/or set-on-less-than need function code&6Z(&  8    GV#Features of MIPS Instruction Format$P$( #Features of MIPS Instruction Format$P$(The op field, also called the opcode, is always contained in bits 31-26. We will refer to this field as Op[5-0]. The two registers to be read are always specified by the rs and rt fields, at positions 25-21 and 20-16. This is true for the R-type instructions, branch equal, and for store. The base register for load and store instructions is always in bit positions 25-21 (rs). The 16-bit offset for branch equal, load, and store is always in positions 15-0. The destination register is in one of two places. For a load it is in bit positions 20-16 (rt), while for an R-type instruction it is in bit positions 15-11 (rd). Thus, we will need to add a multiplex or to select which field of the instruction is used to indicate the register number to be written. " cT@b,  0` @EoOV` @Eff؂o` MMMwww` 33f3Ƨgzf` 3ffE` JH3f̙ff` 33̙fRP` =bf>?" dd@,?wnd@ n< w_@nA``< n?" ddH ""DDffPP   @ ` ` p>> ''CCxD'(  x!T  x "b  x# " \  x "B x HDA "B x HDA "B x HDA "@@B x HDA "B  x HDA "B  x HDA "B  x HDA "@@B  x HDA "B  x HDA "B x HDA "B x HDA "@@B x HDA "  B x HDA "  B x HDA "  B x HDA "@ @ B x HDA "  B x HDA "  B x HDA "  B x HDA "@@B x HDA "B x HDA "B x HDA "z\  x "B x HDA "B x HDA "B x HDA "@@B x HDA "B  x HDA "B !x HDA "B "x HDA "@@B #x HDA "B $x HDA "B %x HDA "B &x HDA "@@B 'x HDA " B (x HDA " B )x HDA " B *x HDA "@ @ B +x HDA " B ,x HDA " B -x HDA " B .x HDA "@@B /x HDA "B 0x HDA "B 1x HDA "B 2x HDA "@@B 3x HDA "B 4x HDA "B 5x HDA "B 6x HDA "@@B 7x HDA "B 8x HDA " 9x # t?A?60%"@`tB :x 6D"tb `  ;x# "|i4 tB xB  BCENGGHʲI[TQ zR(VzR(V[T`TzR(V[T`T" ?x 6 "  T Click to edit Master title style! ! @x | Rectangle: Click to edit Master text styles Second level Third level Fourth level Fifth level"0  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S Ax 6 "``  D*   Bx 6 "`   F*   Cx 6N "`   F*  H x 0޽h ?>x @Eff؂o___PPT92p22 Blueprint*  0 5*-*@GG|)(  |B$T  | "6b  |# " | T??"@`\  | "B | HDA "B | HDA "B | HDA "@@B  | HDA "B  | HDA "B  | HDA "B  | HDA "@@B  | HDA "B | HDA "B | HDA "B | HDA "@@B | HDA "  B | HDA "  B | HDA "  B | HDA "@ @ B | HDA "  B | HDA "  B | HDA "  B | HDA "@@B | HDA "B | HDA "B | HDA "B | HDA "B | HDA "B | HDA "@@B | HDA "B  | HDA "B !| HDA "B "| HDA "@@B #| HDA "B $| HDA "B %| HDA "B &| HDA "@@B '| HDA " B (| HDA " B )| HDA " B *| HDA "@ @ B +| HDA " B ,| HDA " B -| HDA " B .| HDA "@@B /| HDA "B 0| HDA "B 1| HDA "B 2| HDA "@@B 3| HDA "B 4| HDA "B 5| HDA "B 6| HDA "@@B 7| HDA "B 8| HDA "tB 9| 6D"$\ /c3  :| "/c3 B ;| 6D"/3 ,$D  0tB <| 6D" tB =| 6D"c2 >|B  ZBCENGGHʲI[TQ zR(VzR(V[T`TzR(V[T`T"]Ft\  ?| "tB @| 6D"r r tB A|B 6D"442 B|  ZBCENGGHʲI[TQ zR(VzR(V[T`TzR(V[T`T"   C| 6N "Pp  N T Click to edit Master title style! ! D| N Rectangle: Click to edit Master text styles Second level Third level Fourth level Fifth level"%p0u  N W#Click to edit Master subtitle style$ $ E| 6N "`` N D*   F| 6N "`  N F*   G| 6N "`  N F*  H | 0޽h ?/ >|B| @Eff؂o; 0 K(     TXڿ jJjJ ?08    p*  H""DDff  T jJjJ ?g 8   r*  H""DDff  Z jJjJ ?(0`    p*  H""DDff  Z jJjJ ?(g `   r*  H""DDffp  01 ?:^   ;  T gֳgֳ ? 6a   SClick to edit Master notes styles Second Level Third Level Fourth Level Fifth Level"     TH  0bf@? ? a(80___PPT10.\( @ H(     T jJjJ ?08    ^* H""DDff  T jJjJ ?g 8   `* H""DDff  Z0 jJjJ ?(0`    ^* H""DDff  Z3 jJjJ ?(g `   `* H""DDffH  0bf@? ? a(80___PPT10.\`=A 0 h`0(    # lNgֳgֳ ?C|X  N H  0޽h ? 333gggy___PPT10Y+D='  = @B +  0 0t6(  tx t c $JT?x  T ~ t s *hKT@x,L\  T H t 0޽h ? 333gggy___PPT10Y+D='  = @B +  0 0(P( Dtg   # lH[Tgֳgֳ ??x\,  T   # l \Tgֳgֳ ?@x4  T H  0޽h ? 333ggg  0 0(`( ֳ   # lHiTgֳgֳ ??x h  T   # l jTgֳgֳ ?@x  T H  0޽h ? 333ggg> 0 P~(  8 7  7 l  <7c? l  <7c?+l  <7c?4  l  <7c?4Rb x  HG7c? MNmrR  BZG/*7c? i0`  0? j ?   T`Tgֳgֳ?xL 4PCrB   B7c?rB   B7c?6*   T̋Tgֳgֳ?e79 ; Instruction    T|Ngֳgֳ?u HInstruction memoryP   BBCDEF7c?AA @5Bw rB  B7c?`%rB  B7c?  rB  B7c?  rB  B7c?2I& IrB  B7c?2a& a  TTgֳgֳ?/ _  j8Data Register # Registers Register # Register #9Z9  TTgֳgֳ?;z: 5ALU  T Tgֳgֳ?Yb  r*Address Data Memory Data,+P   B/CDE F7c?.@ -    B CTDEF 7c? S S @47rB  B7c?rB  B7c??>  TܞTgֳgֳ? 9< An abstract view of the implementation of the MIPS subset showing the major functional units and the major connections between them.PH  0޽h ? 333ggg  0 6.p (     # lTgֳgֳ ??xP  T   3 rxTgֳgֳ ?@x\P| T H  0޽h ? 333gggy 0 )!`$ (  $H 8    $  l $ <7c?qrB $ B7c? zz $ TlTgֳgֳ?}c ; Instruction  $ TȿTgֳgֳ? HInstruction memoryP $ TTgֳgֳ?'W GInstruction addressPrB $ B7c?w<x $ HG7c?HrR  $ BZG/*7c?9b`  $ 0?<q  $ TTgֳgֳ? l E ALU Sum rB  $ B7c?rB  $ B7c?~CrB $ B7c?El $ <7c? x  $ TpTgֳgֳ?w U ) 4PCrB $ B7c?~ C rB $ B7c?  xB $ H7c?   $ TTgֳgֳ? <  5Write $ TTgֳgֳ?A   d4a. Instruction memory b. Program counter c. Adder551 $ N Tgֳgֳ? 2 Two state elements are needed to store and access instructions, and an adder is needed to compute the next instruction address.PH $ 0޽h ? 333ggg  0   p(D (  ( 8 K>  (K> l ( <7c?   ( TTgֳgֳ?m   ; Instruction  ( TTgֳgֳ?r W J  HInstruction memoryP ( TTgֳgֳ?   > Read address P rB ( B7c? z l ( <7c?9  ( TTgֳgֳ?x 4PCrB  ( B7c? v x  ( HG7c? FrR  ( BZG/*7c? a`  ( 0?    ( TTgֳgֳ?3t 5Add (  B CDEF 7c? @ @ @K>  (  BCCDE F7c?B@R rB ( B7c?~ q q ( TTgֳgֳ?   149 ( T0Tgֳgֳ? d _A portion of the datapath used for fetching instructions and incrementing the program counter.`P`GH ( 0޽h ? 333ggg 0 ;3&&,( @H , , Ttgֳgֳ?   ]The two elements needed to implement R-format ALU operation are the register file and the ALU^P^v8 'B  &,'B @ B  ,Bx , HG7c?r rR , BZG/*7c?c ` , 0?(f , Ttgֳgֳ? 5ALUrB , B7c?iirB , B7c?\m\rB  , B7c?`o`  , TL tgֳgֳ?> < ALU result F xB  , H7c?==  , T4tgֳgֳ?%B = ALU operationY @ |'!  ,|'! l , <7c?'  , Ttgֳgֳ?-u I ; Registers  , Tptgֳgֳ? I][ ARead register 1FrB , B7c? 0! 0rB , B7c?| , Tttgֳgֳ?Y   = Read data 1 F  , TT!tgֳgֳ? ] ARead register 2F , Ttgֳgֳ?  BWrite register F , T(tgֳgֳ? u < Write Data F  , T'tgֳgֳ?R   = Read data 2 F rB , B7c? i irB , B7c?rB , B7c?rB , B7c? , T/tgֳgֳ?   X( a. Registers b. ALU)) , T3tgֳgֳ?| BRegister numbersP ,  BFCDEF7c?EE @|xB  , H7c? !, T8tgֳgֳ?K{; 4Data ",  BFCzDEF7c?EyEy @xB #, H7c?xB $, H7c?K  %, T(=tgֳgֳ?u p  5WriteH , 0޽h ? 333ggg 0 tl0( k>s0$ 08 .^A  0^.A l 0 <7c?k^  0 TBtgֳgֳ?  ; Registers  0 TpGtgֳgֳ?y  ARead register 1FrB 0 B7c?  0 T(Ktgֳgֳ? L  = Read data 1 F  0 TOtgֳgֳ?y  ARead register 2F 0 TTtgֳgֳ?yU  BWrite register F  0 TCDEF7c?== @)g 0 Tktgֳgֳ?cK ; Instruction  0 Tptgֳgֳ?] EJ}  w#The datapath for R-type instruction$$H 0 0޽h ? 333gggb 0  4(  4 L .7  4# .7 l 4 <7c?y P 4 Tvtgֳgֳ?x A Data memory P  4 Ttztgֳgֳ?{" > Read address F rB 4 B7c?  rB 4 B7c?lwn 4 Ttgֳgֳ?#1  ; Read data F  4 T0tgֳgֳ?nb ? Write addressF  4 Ttgֳgֳ? < Write Data F rB  4 B7c?zCCrB  4 B7c? CCrB  4 B7c?;;rB  4 B7c?xB 4 H7c?^  4 THtgֳgֳ?w7  4Readl2 4 <7c?ih^ 4 Ttgֳgֳ?\ A Sign extend P xB 4 H7c?  xB 4 H7c??xB 4 H7c?. 4 Txtgֳgֳ?7 5Write 4 Ztgֳgֳ? K)  \,a. Data memory unit b. Sign-extension unit--I 4 T0tgֳgֳ? ^ The two units needed to implement loads and stores are the data memory unit and the sign-extension unit, in addition to the register file and ALUP 4 Zhtgֳgֳ?+  216 4 Z@tgֳgֳ?QE 232H 4 0޽h ? 333ggg5 0 **8u( u>s0`T  8!8  g3  )8g 3  8  B}CDDEF 7c?7CC| @@ 7 rB 8 B7c?7 7 rB 8 B7c?0zxB 8 H7c? Y{ xB 8 H7c? \ { l 8 <7c?bz 8 Ttgֳgֳ? A Data memory P   8 Txtgֳgֳ? > Read address F xB  8 H7c?,C  8 TԲtgֳgֳ?@| ; Read data F   8 Ttgֳgֳ?]o ? Write addressF  8 T tgֳgֳ?K  < Write Data F rB 8 B7c?X @   8 x 8 HG7c? C rR 8 BZG/*7c? 3 ` 8 0?   8 Ttgֳgֳ? g  5ALUrB 8 B7c?U  8 Ttgֳgֳ?0 m c < ALU result F  8 Ttgֳgֳ?:  , 6ZeroFl 8 <7c?}g 8 TLtgֳgֳ?i ; Registers  8 Ttgֳgֳ? ARead register 1F 8 Ttgֳgֳ?7  = Read data 1 F  8 Ttgֳgֳ? ARead register 2F 8 Ttgֳgֳ?5 BWrite register F 8 Tltgֳgֳ?z! < Write Data F  8 T(tgֳgֳ?0  = Read data 2 F rB 8 B7c?@).rB  8 B7c?M M !8  BCDEF7c? @ "8  BgCDEF 7c?ff_ @3  #8 Ttgֳgֳ?  216 $8 Ttgֳgֳ?  232f2 %8 67c?V  &8 T tgֳgֳ?   A Sign extend P  '8  BCDEF7c? @pm (8 Ttgֳgֳ? Oe ; Instruction  *8 TDtgֳgֳ? [ <The datapath for a load or store that does a register access==1H 8 0޽h ? 333gggA 0 ++<(  <X8 7p   *<p7  l < <7c?| l < T gֳgֳ? | ; Registers  < T4 gֳgֳ? ARead register 1F < T gֳgֳ?O   = Read data 1 F  < T gֳgֳ? ARead register 2F < TT gֳgֳ?@ BWrite register F < Tl gֳgֳ?t < Write Data F   < T gֳgֳ?a   = Read data 2 F x  < HG7c?$u~ArR  < BZG/*7c?#`  < 0?t3  < T gֳgֳ?H 7AdderrB < B7c?A < Th! gֳgֳ?RF 5SumFx < HG7c?$~hrR < BZG/*7c?K` < 0?Z < T% gֳgֳ?ai 5ALUrB < B7c?K < T) gֳgֳ?|[ 6ZeroFrB < B7c? xB < H7c?! gq xB < H7c? B q  < T- gֳgֳ?   216 < T1 gֳgֳ?  232l2 < <7c?   < T gֳgֳ? A 7 B Shift left 2 F  <  BCVDEF 7c?qqUU @  f2 < 67c?@ |  < T9 gֳgֳ?  A Sign extend P rB  < B7c?   !< T\> gֳgֳ?pE0 r PC + 4 from instruction datapath!!rB "< B7c? 1 #< TA gֳgֳ?8 \ = Branch target $< TE gֳgֳ?Yx ITo branch control logicFrB %< B7c? rB &< B7c? %rB '< B7c?=y?xB (< H7c?7 )< TJ gֳgֳ?a ; Instruction  +< TO gֳgֳ? S e The datapath for a branch uses an ALU for evaluation of the branch condition and a separate adder for computing the branch target as the sum of the incremented PC and the sign-extended, lower 16 bits of the I instruction (the branch displacement) shifted left 2 bits.PH < 0޽h ? 333ggg   0 0(@(  @ @ # lW gֳgֳ ??x    @ # llX gֳgֳ ?@x5    H @ 0޽h ? 333gggy___PPT10Y+D='  = @B + 0 .&D( ֳ D4 D  `N1))?% I+ PCombining the datapaths for the memory instructions and the R-type instructionsQQ :J D C "A 5-11 l H D 0޽h ? 333gggy___PPT10Y+D='  = @B +D 0 kcH(  HJ H C "A 5-12 q H  fg 1))? X sThe instruction fetch portion of the datapath is appended to the datapath that handles memory and ALU instructions.tZt,%+H H 0޽h ? 333gggy___PPT10Y+D='  = @B +- 0 TLL(  LJ L C "A 5-13 Z L  f0p 1))?  nThe simple datapath for the MIPS architecture combines the elements required by different instruction classes.oZo \H L 0޽h ? 333gggy___PPT10Y+D='  = @B +   0   P> (  P P # lv gֳgֳ ?@x'    o 8 Ow  POw A@ Ow  POw x P HG7c?[  rR P BZG/*7c?L  ` P 0? O rB P B7c? z rB P B7c? Q rB P B7c? 9T :  P Tz gֳgֳ?   5ALUrB  P B7c?    P T$ gֳgֳ?  v = ALU operationrB  P B7c? S SrB  P B7c? |  P T| gֳgֳ?V {w2 FZero Result Overflow_rB P B7c?   P T gֳgֳ?O 9a b] P T gֳgֳ? # 9  RCarryOut  P TD gֳgֳ?y  C ALU Control (H P 0޽h ? 333gggy___PPT10Y+D='  = @B +  0  TZ(  T T # l gֳgֳ ?@x i   d T <7c?a  T T( gֳgֳ? S  ALU Control lines Function 000 And 001 Or 010 Add 110 Subtract 111 Set-on-less-than ,pB T H7c?pB T H1?| | pB T H1?pB T H1?pB  T H1?pB  T H1?@ @ a   T T gֳgֳ?:! @ cont d  T T gֳgֳ?y  C ALU Control (H T 0޽h ? 333gggy___PPT10Y+D='  = @B +; 0 bZX(  X X NA ?? X $ 0 0h X N侳 gֳgֳ?@ e-  This table shows how the ALU control bits are set depending on the ALUOp control bits and the different function codes for the R-type instruction. CMl X Tij gֳgֳ?  `The opcode, listed in the first column, determines the setting of the ALUOp bits. All the encoding are shown in binary. Notice that when the ALUOp code is 00 or 01, the output fields do not depend on the function code field; in this case, we say that we  don t care about the value of the function code, and the function field is shown as XXXXXX. When the ALUOp value is 10, the function code is used to set the ALU control input.P<BFH X 0޽h ? 333gggy___PPT10Y+D='  = @B +=  0 d\\(  \ \ # lϳ gֳgֳ ?@x+K     \  B_CbDEF1?^"aVa @n g H \ 0޽h ? 333gggy___PPT10Y+D='  = @B + 0 `t(  ` ` NA ??yX $ 0 0: ` N gֳgֳ?L $  fThe truth table for the three ALU control bits as a function of the ALUOp and function code field. gZgDL ` T\ gֳgֳ? J RSome don t care entries have been added. For example, the ALUOp does not use the encoding 11, so the truth table can contain entries 1X, and X1 rather than 10 and 01..8Z:k ` T gֳgֳ? DALU Control Design H ` 0޽h ? 333gggy___PPT10Y+D='  = @B +  0  88dB( 35, dj d BG@87c? ^2 d 67c?] FX d 0?, +j d BG7c?s l 0X d 0?" IpB d H7c? 5j d BG@87c?= ^2  d 67c? TX  d 0? j  d BG@87c? d ^2  d 67c?w  X  d 0?: 9 j d BG7c?q ~ w X d 0?Y = pB d H7c?t pB d H7c? < d  B*CDEF7c?)) @8v  pB d H7c?pB d H7c?I  J  d  B@CwDEF 7c??oov/v @5  d  B CIDEF7c? HH @CM d  BCDEF7c? @ d d <7c?9k  d  BC<DEF7c?;X;X @ jB d B7c? d  BCDEF7c? @?;pB d H7c?A ApB d H7c?jB d B7c?% d TH gֳgֳ? QALUOp  d TA gֳgֳ? A 8ALUOp0 !d T D gֳgֳ?P  8ALUOp1 "d TH gֳgֳ?P = Operation 2  #d TdL gֳgֳ?_   = Operation 0  $d Tl gֳgֳ? = Operation 1 jB %d B7c? &d TP gֳgֳ?Y < Operation  pB 'd@ H7c? C^2 (d 67c?^2 )d 67c?^2 *d 67c?2  M^2 +d 67c?,G^2 ,d 67c?^2 -d 67c?r ^2 .d 67c?:U^2 /d 67c?Z u ^2 0d 67c?^2 1d 67c?^2 2d 67c?t5^2 3d 67c??#>Z 4d T|X gֳgֳ? 9F (5-0) 5d Tt\ gֳgֳ?~  EF3 F2 F1 F0rpB 6d H7c?    7d T`a gֳgֳ?^  CALU control block? 8d Te gֳgֳ?  gThe ALU control block generates the three ALU control bits, based on the function code and ALUOp bits.hh\H d 0޽h ? 333gggy___PPT10Y+D='  = @B +0  0 WOch( `쎈 h h # li gֳgֳ ??xv    Oh  `1))? Qh l gֳgֳ ?Rectangle: Click to edit Master text styles Second level Third level Fourth level Fifth levely8 Field 0 rs rt rd shamt funct Bit positions 31-26 25-21 20-16 15-11 10-6 5-0 a. R-type instructionx wn0 wn$ wnP  d Rh <7c?{vB Sh N7c?llvB Th N7c? vB Uh N7c?\\vB Vh N7c?88vB Wh N7c?   Xh N gֳgֳ?Yr  QField 35 or 43 rs rt address Bit positions 31-26 25-21 20-16 10-6 b. Load or store instructionHx 0+ ,d Yh <7c?St vB Zh N7c?Kee vB [h N7c?O  vB \h N7c?S !  ]h Nt gֳgֳ? |L =Field 4 rs rt address Bit positions 31-26 25-21 20-16 15-0 c. branch instructionHk 0$ , d ^h <7c? ~ vB _h N7c? oo vB `h N7c? vB ah N7c?   H h 0޽h ? 333gggy___PPT10Y+D='  = @B +n  0 l(  l l 3 r gֳgֳ ?@x\h    l T gֳgֳ?U > cont d l s  gֳgֳ ??xv   H l 0޽h ? 333gggG 0 FF kkpUF(  ppB p H1?iC8   ip  p  B~CtDEF7c?ss} @m W x p HG7c?;?rR p BZG/*7c?2L\` p 0?7/rB p B7c?0 p TH gֳgֳ?)d5 5ALU xB  p H7c? C@  57 p 57x  p HG7c?+ 5rR  p BZG/*7c? B `  p 0? -   p TĹ gֳgֳ? [ 5Add  p TLȹ gֳgֳ?#=7 < ALU result F  @ d pdr p BG7c?X p Tй gֳgֳ?d  0 M u x 1bFFF   rB p B7c?n p  BZCDE F7c?Y@Y Y@ b?w  pb?w l p <7c??-  p T(ӹ gֳgֳ?bu > Read address F   p Tѹ gֳgֳ?i; _Instructin memoryF   p Tɹ gֳgֳ?ow! DInstruction (31-0)F @ 0 p0l p <7c?0 p Th gֳgֳ? 2PC  p  B'CmDEF 7c?Sll&& @)rB p B7c?(( p  B"CDE F7c?!@ /)  p TD gֳgֳ?Cw 14 l !p <7c??m   "p T gֳgֳ?a, /  n<Read register 1 Read register 2 Write register Write data=F=  #p T gֳgֳ?v  F KRead data 1 Read data 2F @ s+  &ps+ r $p BG7c?~  %p TD gֳgֳ?s+   0 M u x 1bFFF   f2 'p 67c? {  (p T gֳgֳ?k U ;  ? Sign extend   @    +p  l2 )p <7c?   *p T4 gֳgֳ?  = ALU control   l ,p <7c?juD  -p T gֳgֳ?Fy  ]+Read address Write address Write data,F,  .p T gֳgֳ?C K ; Read data F   /p T gֳgֳ?=/   A Data memory F  x 0p HG7c?^ P* rR 1p BZG/*7c?J ] ` 2p 0? IP  3p Tp$ gֳgֳ? v  5Add  4p TL! gֳgֳ?R fw CZero ALU resultF @ 2 i  7p2 i r 5p BG7c?= i  6p T , gֳgֳ?2    0 M u x 1bFFF   rB 8p B7c? g  9p  BWC.DEF7c?V-V- @KxB :pB H7c?3$$rB ;p B7c?+@ FI  >pFI r ]'v֏؎'8a׏<4΋2IP9]A6*Bڦ*AU%M+mD+ZU PP(ٞs3w;(Ν}P{ĩ(},Ta$N1S^_* .̤o:نx!Q"HQ*YHj.Rs! ͗|3ӕvB RxSeS#7b2>)oy^ۮ%GԜF!yE6T3]y^h#C/y6C0buW?{@/v3u5㟚掩VH\HmHH ]i)2H!u"u!@)@FAECZ i5nDM@kd~7"mit |, =NS!XCVc}P&Mȹ%G==كd{?q]Tb5|N>٥ѯڔe :z aO SORQS YmT4L.m6YEBM8߆U-men&pLq|㘸)Z f)nV*lxfԟv QS5m}7ޱL]ѱ^=tVwgrAU+AxMU6ˤIuqi>Ic2]*(RN7膄WA[fnZ_A/ Ϡ.-;&]1B 3T9M >C a#߅ Q,-/EK0G]Fح~WaQh[ca b-P*0]V+|";|k@]1城=,lq\7cy@ڼ纼||p\&vv}$T"># >(N#taX5$AȚ& &dq!#}Ѣ!+R,B1^qPxi0dR95gӶk1AFH"]˷5xH#݀ d\d  ޕt ||{ˀu0ܚ̹7@I {S0\!~RHm۵{iM]^ 60oaZu6`7Dk|pM8kkǪk ku/1:c13a #0֫G9L3?'b?l!,adn?9 g0v漨dhVGs6;iٺG\4iB3:&%[!e+!,A轉=| {؋^ e,GgqLST'}!\y(DE̵/ J8}&Ι8g✉s&Ι8g✉s&Ι8g )_ scc+Hӑ!K5"]0'! yBr0et-+O> F0>$y̕c=CƔlNWj_Oi^LWwL K9iu9GPJN$!gahx$Z EEȱhĊy:E/mei/^cuYg/xa 5Yam撇 %XW1#[RSH |NQ[/#]=d.CӃ=4{eɖQܓ1}&3R9+Q-#ڭ"JZ&LҢ&r+h Ƶݘ*ziaCLBLF[FVN xFA 6˫d)kIKxS=Vr[DI }M{%6a^6fDSe:u^:1/wYZ=u7R\s{%>4O/|Z$ WPխk'[Wڷ8W}VB^IFswJEuFu1Ɛصgl}~v]gW5 rOhn-ߣ{|_ _ʐ-YnXIϤO~Lx{lg^~$~}H9( DH6$΅$vvCREjJ)d RKPڢ4GUUnZ 4!( Pﲷ3ߙ~3;~[{3|gQ],FQHѰs!/E!O> 5\ J8ਆc@pQA&H/c!X 8± ñf8ZmZlDp[%&1-z?Gӧx&Oۑ8r  \Ou@]sN{o66<- : ]>'}ѹnL :is|~6 ĺYΥ@~}=2:o,́G{Fg2clIVn-Yׅ޹g_E)B_m_w#k$h㴜i߻C|-;zvg-fQvfoãc#36—(e58,'<8Io?3vp/|u|@|Cv"p|c4=Q{+4zz>7aD~}=eWߊZV%I /C1P8}爮C~bY/h^Ғܵ3w;WǬ0K;nJ a]ik`u|-9;Զk§sRkYi.0lE]T+MuxT^_,(]O@CaN9пq4糙jk,5)0UFVZKhkJhQMwxDךVZɢeJnjB _2U+UOZ}TrmǖkYxx}šlHϵ;e-vφ*sC6X</?ClJQX+Q:Wh]A Id+&W /,G_#p <$U]()_(mT9DQکrhtPtR7(#_XjR cX,QY!] Osz۞]L_#LɲoװG",ƋV,$qs#T ;O}5 [3c-[Y!%堩V?5lj+m۱s .!N Vqh'DWٓ4(hZs?VM|-J E{Ј OS =0N5̴Cϐ3\ 杋"*q ªڽǕpv/,d {|F<>#ψ3}>#gx|;"3 > 7tJ*gҫGOhĐF+zӡx7yye2e)_Lym2eʔ7)o*SL2ʔ/DQ7z&B8GÓ4~쟅<)ߔ-+pߖoPyw/]{-Nsep  m~ms\?9Ϲ~ssi??q~ՇlEI~[. 7ll軭t@AwߞmAh4U /*OOB0bȰ_]^<]oez\~[:;]Ѳ( ܫ( kY)Q"RP W3T_#GYvGId+gQYtA"ֹ"'NFx vܵ0/J#FF/kзMˤ-rx8!]>]"ƴcm얅V(e_s;q;g1VGЊH5)Gy,}H?&zHeCe =wZv}=)3ҍʸLkJ!ME course.-@"Tahoma-. @E 2 uD\7.-@"Tahoma-. @E2 uEcpeg323:.-@"Tahoma-. @E 2 uL-7.-@"Tahoma-. @E 2 uM05F.-@"Tahoma-. @E 2 uQ\7.-@"Tahoma-. @E2 uRTopic5.-@"Tahoma-. @E 2 uX-7.-@"Tahoma-. @E2 uY323.ppt:.-@"Tahoma-. @E 2 u17.-@Arial-. ff2 =Topic 5:.-@Arial-. ff*2 3Processor Architecture .-@Arial-. ff2 A,Implementation   .-@Arial-. ff2 O2 Methodologyi .-Root EntrydO)R>PictureswCurrent User)SummaryInformation(:=      !"#$%&'()*+,-./012345678? Embedded OLE Servers Slide Titles_㪦oNEoNEGuang R. Gao4 $, heet Excel.Sheet.802Microsoft Excel WorksheetWorksheet Excel.Sheet.802Microsoft Excel Worksheetn/ 0|DTimes New RomanTTyܖ 0ܖDTahomaew RomanTTyܖ 0ܖ" DWingdingsRomanTTyܖ 0ܖ0DArialngsRomanTTyܖ 0ܖ@De0}fԚngsRomanTTyܖ 0ܖ A.@  @@``  @n?" dd@  @@`` D<"'  + ,  9dlDH 42$` K(]+2$*NOs'N4Qr$߿ߝXoif b$4 lY#d|e b$9oJ A#P@ɇb$4Ƒ 6] r$g\Oy Eki?w AA1))?@8!"/g4KdKdą 0ppp@  <4BdBd l 0Tʚ;ʚ;<4!d!d l 0 <4dddd l 0 0___PPT10 l___PPT9Nnu=!BWk@~PNG  IHDRF} PLTE3:tRNS@f cmPPJCmp0712Om9IDATc``b $<&40(Zжj˂AtM iIENDB`/ 0X4.N ?X+ D\course\cpeg323-05F\Topic5-323.pptO =;Topic 5: Processor Architecture Implementation Methodology<x<  4 Reading List (WSlides: Topic5x Henn & Patt: Chapter 5 Other papers as assigned in class or homework 6W " W,<#5ABET Outcomes `   Ability to apply knowledge of science (e.g., computer architecture and system organization, and related computer science issues), and engineering (e.g., performance analysis and benchmarking, ISA simulation and verification) Ability to use the techniques, skills and modern engineering tools necessary for engineering practice Knowledge of related topics in computer science disciplinePb  Outline(zAn overview Datapath building blocks Implementation of a simple (single-cycle) datapath A multiple cycle implementation{ " {, <" Overview (The basic instruction execution flow Some conventions 32 bit datapath clocking strategy (edge-triggered) We focus on a subset of MIPS Memory-reference instructions: lw, sw ALU ops: add, sub, and, or Branch equal instructions (beq) and the jump instruction (J)|6 " 3 - " ~ -63~P=`7  Datapath Components( YCommon to all instructions: Instruction memory PC and its update Datapath of R-R type instructions ALU Register set Datapath of memory-reference instructions ALU (for address calculation) Register set Sign extension unit data memory Datapath for a branch inst. (e.g. beq $1, $2, offset) Sign extension + 2bit shifter Reg Adder ALU (zero output) " F% -F" " F -F* " FK -F6  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ " F: -F%"*K6  :bB+m/ 3     ,A Simple (one-cycle) Datapath Implementation-P-(One-cycle: No resource can be used more than once by an instruction If used more than once ==> duplicate it! Sharing a resource by 2 or more instructions are done through multiplexing. f  " b -L "  "  bM PowerPoint Document(ΦDocumentSummaryInformation80Worksheet Excel.Sheet.802Microsoft Excel WorksheetWorksheet Excel.Sheet.802Microsoft Excel Worksheet"/ 00DTimes New RomanTTyܖ 0ܖDTahomaew RomanTTyܖ 0ܖ" DWingdingsRomanTTyܖ 0ܖ0DArialngsRomanTTyܖ 0ܖ A.@  @@``  @n?" dd@  @@`` <4!'  + ,  9dlDH42$` K(]+2$*NOs'N4Qr$߿ߝXoif b$4 lY#d|e b$9oJ A#P@ɇb$4Ƒ 6] r$g\Oy Eki?w AA1))?@8!"/g4KdKd 0ppp@  <4BdBd x 0Tʚ;ʚ;<4!d!d  x 0 <4dddd  x 0 0___PPT10 l___PPT9Nnu=!BWk@~PNG  IHDRF} PLTE3:tRNS@f cmPPJCmp0712Om9IDATc``b $<&40(Zжj˂AtM iIENDB`/ 0X4.N ?X+ D\course\cpeg323-04F\Topic5-323.pptO =;Topic 5: Processor Architecture Implementation Methodology<x<  4 Reading List (WSlides: Topic5x Henn & Patt: Chapter 5 Other papers as assigned in class or homework 6W " W,<Outline(zAn overview Datapath building blocks Implementation of a simple (single-cycle) datapath A multiple cycle implementation{ " {, <" Overview (The basic instruction execution flow Some conventions 32 bit datapath clocking strategy (edge-triggered) We focus on a subset of MIPS Memory-reference instructions: lw, sw ALU ops: add, sub, and, or Branch equal   The symbol commonly used to represent an ALU. This symbol is also used to represent an adder, so it is normally labeled either with ALU or Adder. The control lines labeled ALUOperation . Their values and the ALU operation are found in the next figure. Z E Q The values of the three ALU Control lines and the correspinstructions (beq) and the jump instruction (J)|6 " 3 - " ~ -63~P=`7  Datapath Components( YCommon to all instructions: Instruction memory PC and its update Datapath of R-R type instructions ALU Register set Datapath of memory-reference instructions ALU (for address calculation) Register set Sign extension unit data memory Datapath for a branch inst. (e.g. beq $1, $2, offset) Sign extension + 2bit shifter Reg Adder ALU (zero output) " F% -F" " F -F* " FK -F6 " F: -F%"*K6  :bB+m/ 3     ,A Simple (one-cycle) Datapath Implementation-P-(One-cycle: No resource can be used more than once by an instruction If used more than once ==> duplicate it! Sharing a resource by 2 or more instructions are done through multiplexing. f  " b -L "  "  bM   The symbol commonly used to represent an ALU. This symbol is also used to represent an adder, so it is normally labeled either with ALU or Adder. The control lines labeled ALUOperation . Their values and the ALU operation are found in the next figure. Z E Q The values of the three ALU Control lines and the corresponding ALU operations.RR Instructions using ALU Load/store: address calculation - add Branch eq: subtract add/subtract R-type: and/or set-on-less-than need function code&6Z(&  8    GV#Features of MIPS Instruction Format$P$( #Features of MIPS Instruction Format$P$(The op field, also called the opcode, is always contained in bits 31-26. We will refer to this field as Op[5-0]. The two registers to be read are always specified by the rs and rt fields, at positions 25-21 and 20-16. This is true for the R-type instructions, branch equal, and for store. The base register for load and store instructions is always in bit positions 25-21 (rs). The 16-bit offset for branch equal, load, and store is always in positions 15-0. The destination register is in one of two places. For a load it is in bit positions 20-16 (rt), while for an R-type instruction it is in bit positions 15-11 (rd). Thus, we will need to add a multiplex or to select which field of the instruction is used to indicate the register number to be written. " cT@brr6#"w6$(`  h "Worksonding ALU operations.RR Instructions using ALU Load/store: address calculation - add Branch eq: subtract add/subtract R-type: and/or set-on-less-than need function code&6Z(&  8    G՜.+,0    yLetter Paper (8.5x11 in)Φ "Times New RomanTahoma WingdingsArial ¼w BlueprintMicrosoft Excel Worksheet<Topic 5: Processor Architecture Implementation Methodology Reading ListABET Outcomes Outline OverviewSlide 6Datapath ComponentsSlide 8Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14-A Simple (one-cycle) Datapath Implementation Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24$Features of MIPS Instruction Format$Features of MIPS Instruction Format Slide 27  Fonts UsedDesign TemplateEmbedded OLEV#Features of MIPS Instruction Format$P$( #Features of MIPS Instruction Format$P$(The op field, also called the opcode, is always contained in bits 31-26. We will refer to this field as Op[5-0]. The two registers to be read are always specified by the rs and rt fields, at positions 25-21 and 20-16. This is true for the R-type instructions, branch equal, and for store. The base register for load and store instructions is always in bit positions 25-21 (rs). The 16-bit offset for branch equal, load, and store is always in positions 15-0. The destination register is in one of two places. For a load it is in bit positions 20-16 (rt), while for an R-type instruction it is in bit positions 15-11 (rd). Thus, we will need to add a multiplex or to select which field of the instruction is used to indicate the register number to be written. " cT@b,  0` @EoOV` @Eff؂o` MMMwww` 33f3Ƨgzf` 3ffE` JH3f̙ff` 33̙fRP` =bf>?" dd@,?wnd@ n< w_@nA``< n?" ddH ""DDffPP   @ ` ` p>> ''CCxD'(  x!T  x "b  x# " \  x "B x HDA "B x HDA "B x HDA "@@B x HDA "B  x HDA "B  x HDA "B  x HDA "@@B  x HDA "B  x HDA "B x HDA "B x HDA "@@B x HDA "  B x HDA "  B x HDA "  B x HDA "@ @ B x HDA "  B x HDA "  B x HDA "  B x HDA "@@B x HDA "B x HDA "B x HDA "z\  x "B x HDA "B x HDA "B x HDA "@@B x HDA "B  x HDA "B !x HDA "B "x HDA "@@B #x HDA "B $x HDA "B %x HDA "B &x HDA "@@B 'x HDA " B (x HDA " B )x HDA " B *x HDA "@ @ B +x HDA " B ,x HDA " B -x HDA " B .x HDA "@@B /x HDA "B 0x HDA "B 1x HDA "B 2x HDA "@@B 3x HDA "B 4x HDA "B 5x HDA "B 6x HDA "@@B 7x HDA "B 8x HDA " 9x # t?A?60%"@`tB :x 6D"tb `  ;x# "|i4 tB xB  BCENGGHʲI[TQ zR(VzR(V[T`TzR(V[T`T" ?x 6D "  T Click to edit Master title style! ! @x 0 Rectangle: Click to edit Master text styles Second level Third level Fourth level Fifth level"0  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S Ax 6 "``  D*   Bx 6( "`   F*   Cx 6\ "`   F*  H x 0޽h ?>x @Eff؂o___PPT92p22 Blueprint*  0 5*-*@GG|)(  |B$T  | "6b  |# " | T??"@`\  | "B | HDA "B | HDA "B | HDA "@@B  | HDA "B  | HDA "B  | HDA "B  | HDA "@@B  | HDA "B | HDA "B | HDA "B | HDA "@@B | HDA "  B | HDA "  B | HDA "  B | HDA "@ @ B | HDA "  B | HDA "  B | HDA "  B | HDA "@@B | HDA "B | HDA "B | HDA "B | HDA "B | HDA "B | HDA "@@B | HDA "B  | HDA "B !| HDA "B "| HDA "@@B #| HDA "B $| HDA "B %| HDA "B &| HDA "@@B '| HDA " B (| HDA " B )| HDA " B *| HDA "@ @ B +| HDA " B ,| HDA " B -| HDA " B .| HDA "@@B /| HDA "B 0| HDA "B 1| HDA "B 2| HDA "@@B 3| HDA "B 4| HDA "B 5| HDA "B 6| HDA "@@B 7| HDA "B 8| HDA "tB 9| 6D"$\ /c3  :| "/c3 B ;| 6D"/3 ,$D  0tB <| 6D" tB =| 6D"c2 >|B  ZBCENGGHʲI[TQ zR(VzR(V[T`TzR(V[T`T"]Ft\  ?| "tB @| 6D"r r tB A|B 6D"442 B|  ZBCENGGHʲI[TQ zR(VzR(V[T`TzR(V[T`T"   C| 6< "Pp   T Click to edit Master title style! ! D|  Rectangle: Click to edit Master text styles Second level Third level Fourth level Fifth level"%p0u   W#Click to edit Master subtitle style$ $ E| 6 "``  D*   F| 6 "`   F*   G| 6 "`   F*  H | 0޽h ?/ >|B| @Eff؂o  0 0(  x  c $L ?x   x  c $ @x0   H  0޽h ? @Eff؂o___PPT10i.1Ԑ+D='  = @B +  0 0(P( Dtg   # lgֳgֳ ??x\,     # lgֳgֳ ?@x4   H  0޽h ? 333ggg  0 0(`( ֳ   # l,+gֳgֳ ??x h     # l+gֳgֳ ?@x   H  0޽h ? 333gggr$j# n!0GPtݞF#~#1Root EntrydO)O>PictureswCurrent UserDSummaryInformation(:      !"#$%&'()*+,-./012345678=?@ PowerPoint Document(ΦDocumentSummaryInformation8x՜.+,D՜.+,D    yLetter Paper (8.5x11 in)Φ "Times New RomanTahoma WingdingsArial ¼w BlueprintMicrosoft Excel Worksheet<Topic 5: Processor Architecture Implementation Methodology Reading ListABET Outcomes Outline OverviewSlide 6Datapath ComponentsSlide 8Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14-A Simple (one-cycle) Datapath Implementation Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24$Features of MIPS Instruction Format$Features of MIPS Instruction Format Slide 27  Fonts UsedDesign Template