ࡱ> `!XJ_MϘN @3Xx |d7! n6'ȍdlH!@B*֣G7^Gն֣JZw}}=h>lwgyfw7,Kܗ,tKki, ,',ZpҔi )Sϝiӕ ucc:B[:7[']Jt{,6)5p߯j^! ;XS:XfzVx}%wvJũLw-Z,6; ]V2²Aصe5嵕jTigvD:d[l")e߷ǥI#nWHmASʫ_V]q]*RoTWzʽJsXR]]W R_Iԋz}5%K4W^j,"lr)"͠RjRxK+KDqCW)T%%U()J3ɲ&XR'k+c4V.@[uY-O Ic1$-J\H؏5kRT_Ĉvo[cwPG5%%E R{\ ~_тT|5BT 5oIMƽ̨&%_7Nʬ#^|(%?'B!{z[)*RO]}qP۰Ք+Q/WyEg~N^(xΉ+fⷂ1fj543R_Y4 n-S+%^m.KjkjV@cKc#{EK$иnIh^ۮחOtS2h}ի. KT'L1ԝ u1ҮM͎좮FvDL=x֢zV>O]A%7@QoFJJiVx#Qp & w闛%+Wˀ:W=fȼv4Fed!׮(U#oPǷ ͥc12Qw5K;:^^հDmB{quG8 C<ՙLj1y@:#v)|,66upyDUS}ő F"cҀFnd%N %Fe MqJY\BqI$Pl̪#Kq{Y݈qv@uʒڀX}W83mX\yhv+XٞJtɶWlVV}c/ 0 !Nq6u(z?6+PZњԞܘoWch=F졦=TMwC3G SN7@lXEZިhNԋBBqUO U/ϸEȕN\QELM+MvN{&Cɫx=ՋVsK5%zNwI/5}"hE||;*fb E4FA;6f|N+Mu W402ӶX}bޓ{;ɨF_DPo)]NS~XR ӓ)bn)é.a$0k#͞,n,[dD^V0{jUߓH?al. ;4J\0L&]qri.T?)5 YQc#jt΍1r Fy.,0#jc3*M˃.\O/2f굻T-2ݻͭ;߱dQSRrMOOԖ+q書Dة5zRSl"=YP`Q?yJQpOO/Y (΄}Tqyר8Ԗc.*..WypǒRTf-)gKMb|`dw\a8"`zfT-1Q*15SO^AԼXK޳FMd!-1ڊBk|Iى+mRW0gnG[vǎrG_Mܸz顒.or[ynz"v|4SJgƂxAX &qy T/_f0w  b EQ&C>6Pu:RciCYcC<`ODr>-R2޾lh(LL%.s^<%(JQ]nLE^o$鰥BwMMh) }u(xjn%~0[3gS.āV4MEN~tY݉הHiuS+c8q_{/s,$;#xʭ\wj>G[5"mk#Ogr'UiԳˍ7#< CTֽ-:k0ٍ4HM=SgJ_)Rw}'nr5ӭViRoxedF~[Y#hUƨЍj>>%9p薶qvRUWvTiTxmsEm}/FRyZ5gz#>^-g`꽸1 ZcƘ#E?#Kc[LpDy([)Fw Ƅ$Ń"A#=& @;O!?j}}$nrr8u-\EfuV3!֫VwTެ _I9U乧|6U^qH@0D s&=r[q 6 ȬWۊvj ή`mCϑ*zUJ̙!RO (1/3YcI+ثKhfOto|>$/D A/Yi^F䓛*k̓;ȧڽ4(w}Q!;$^_(Qy,͓J?#w;jgF*ڇX|.n5E[uO(tS6!nuW{']:!+/3>0tE^ne^hF=.T^`گgh'㜀ՠFr )OYIFߎˣ1UZ]dE}#+,D>}01#-lYߨ|R)s8S- ?_90!:ofc*gOMS`<6w#aO؍Y0DD52=O̚;X|h<^;Xi/=4.ˑoZ}eCau^wѬqMj|}TbkNn*fW[1V?qmWH~8mݎS!-DdN3z_9D_$S\¡ٔa2`1Ѭ߸Sz=ڛv3"r4] ;yH=6Lgd,хzloY1'@\FIɩ-$H\սa47/i:L\]vIm-ׇn2j؎F֪hGSoGB0$+) k剖RVwX"5c`űm☮8>VmyP$38cq]9SjDrJ\aR:JsADBS 9Ϥ!|☻T|G.|#y)i:le!ʦՔJXRvi7&oWwD,]EWnZted#{d>9b_:5m s5sͨ,u㱎sۘ%ra"FA?xj/~5 Eh-TyFժ"Kk-(ĎɵX"[!Z9k*U3}W;O'<-5b xbQw6^!ݡG6ƙFS+VŴ7LQ:{?୾7Dh~ d̬RP{?Ts 5q?azDf* R'=.v,o{ fqѹEɥ>/3`TRZ-n)i:JqRGUHkO:j}4^ʚvW5UFT>UgEtjyïU]I]iPUTChz˽uR::JܠE["t,e;j=u/5=5KRN:JW6Ī+vrش093وWj %qT7Ċqz_WZa$՞@I1E<ȵ֗7zs:X<2ɔxUwP{U޲z#z[Buj8&kM;Ls6:V˃8Y3U3䪐'HmIyԘ NI쯜/˜4iw8mmкx[/DFܘmK=o2j}! rL6 idu|LtpY|yΊ(RJMsjjd6sZT*j0=%ubyU5OVQPSk435eiSXOt$"pa>ݑHՑOSZy-Uj'Eb_yagar}J]8%Tk䕢b%/@)r2?fv*B[dysF)ٳENVũFV1RSNPN?jn#{*ۋr\ŴS`̵/Ursd(Ȭ](~e%&%~+ݦ.1U()2iȬؕkC;^eCfMyyKLJEQ'/Bw4Ja?SKڠ'ޠƕ+]J882)9Dn~LCU5?Β).uuFX͆T~+1&&1Wɏ5Zpw#NN s0deD~/馟;S5@#+WER'W||r䎎PL ] iw\&98>?C vk@t0jMh3ޤ}vc>7}w_Oh56cMp04=r1fBh c~ r-Yy[F%7?_Ԟ-U(en qSLpT\"tsB.(YSU6:~ Q0Hԡ־x}('7W:gq":2nİnB"eq.^%KYϵ q)vOʂ\Qdm8-b[Y\!L-U"-|lk]u,nTg)}C]VpKw.?מ/ :s̵ bae;1R,wA1F].!ʕ"WZXP(JǎY>~6 ᘗS\XlpM"Uns\yBG3tfq4j:JX;\̘s^%LUۧCPmb̓8('?yIDc縜Ey?zgO.-9}Y5yL&q8+?j0jDdƼ+tU捈M4͛:ovG-yn.uڂjKQne&7k9&̋^>"LׅR+/_įC8G?~i@ m<']_U.LU#(== 8Xunw[t帢ds톻 s#^ MykHy~^md֢bd,yy%q ?v‡>tv= %wﴹX~B{hgǝ?B#nw=8҆jhI /ʗR#_K΅ꬃ_j uؿ·s1D\['kdI]J5lU4[S#i;tYWʺښCl΁)-诖dP'c26Z%{ e[ꇧ$2mzC=%>:hX#8J#%^~]Y양b2 H\Pv.!*iD:k\ l;u!GL9{#%-WaQ!?Iy?!R9D%Ye}%<ȇBdx6qs̕ꭁ l3k;YW&2v{hЧ06]a\as/SC"}xUݡ+iQzT(cmβvNw)˒WW4?<Xh1#8 Ð ~З|L{Qp ^ʄNaDplf6#L@}g!Ϥ<ۙgQ'כc9_OįxIJc#w7tO7t<\@슠8cIO )H'Kma b`ls0!e {1q8x gQ^(^ 9 ')p*Ӱ'\HNFEY&zgR/R' &^/fdoJx OW*/C2D %Dl)3f)a^}QX ,!‚R(#Jˠ jtW)ɢ<3ͤN&dR? zkARFPIA5_5jΣ Fc 2ek%RdPs7#WH~DDDm9Q\ND:F@ 7jtZm*IYn&u2i'Y[2Vчfh?-k }\Cc5#d)[z` xRɠexr< "5r H\?'*K(n %3匎+Jp :ע{-dQEfR'v25 Svp-~]Gk9kW32_0J.sd(𓏒c5܅a܍ww8ބn7MW6}_݃J͒ ߊp;AN6o&wIz#ˢ< Y:AA7m,&rtr|(/2_`d>ߌߞf?1dR#FO0fo</?xO0ҟ,l&DaT?Qw3v𤴟ER'z%^wWz}EH$ ^g_ïMGoq37 :Y'*^װ:߄?iODU wN_IoH 3'iA;C6I&i lB6zx=4"O|*5 ֆ/X#|%ıw|Ǻ/Fg1o-+De#/Io!!aaôV|_9!}+apM0䳐gR^&Y#'Wī=m]=mY Ce>l76Q960"wiQ'g{2C{9~,K6%%C B)ZS^ }2/??MC,cT-l/jw櫔 / Cgیs{AO2'I,{F t;S_Ci;>Yʟ uJ}t;@֓1K"lʠ]lU_H!LmF9 '׿[~t+0'~IK}(˾(|?$n G>/i6jv hd;Z<(ߌ޳ I{|4M$r$φ(i' Ws)wS=s{^aXSS-uBޔн)_-Sav*| sBzʮ]!Qvղ{'4ɶxK׻׻!ǺZOGrT)Bwݙ2 tPŜ /?+)\'SRvcW&9#Ƨ0/֭fHL>J|Zֺ#xdWG/a\֝K)Ժ'%O`즎`w/zis7^ԑ9|;f_X_%kzfϷ[^ϑ3xuz_e:5p5eWKAG>G t7 ؼ 7 㗴wk_\OO' 6Mx~{p܉"rwۭrFOp'm >g;>$&Bg3xix 'q8y0 -؎VA}.҂sl}:xОZZ%C"\i4nK = }X~8kK8=U;#E0:),?[ܷIub_oѯZ?W0dSfү_0䎼HoKOi_~[A8m[NuڎVK.§> t]>QK*}%e0mz^v"A轏}/m$_i.Z;jO5HېY)KM>#)ۚ!:UlF مn>؍]ډ#tvЇAZKv@=Ӄ6zЇ'}I{n}\ҿ!:tg%g@'L t+z]+l%0a}"ПH7^M$3%6]~!KΉWg0 !#D <>1Ѯ0ڇ008F2FI>d3 #p8 C(D` !ޡhfȆQ䏁єAg c36Ї1i }Kc`iq.Ht0JC8 d_PO'-V`~L:[5."90r"qo'{O W1򈩛2Hq*@^0xR>56i ܝ\]k\|:"3 8TdS(L&)o d*~=u`L0ϕ|.tv:vckv"avPyљ|̧a>}Z@ɾVq.sltf NI>-礿LĜ\7s1t^Wix4"p*#8~F$ɾŔ/ƫBG >`iꜪqZzrJ=^J˙xgKv.^V 1|+W̫J%vJdݭ89yl::k|%#`(w5O𛴾/9~D/EG>xwP.uA`oȔ6 ]A'AdS#hF~( I Y 2%vt 2H zAF6UFhk]x/ ^#e^v0W" .Ƽrrȏt.>UU|q籆|^ÿStpe?< N̜"bSWŔ 0$(Dismb("_\Oc1x~z%8K"}!>Kg N9QDz?þtl0`|(b;xػN@o"8( {}L+f;f1u r;;(w@I\Y?Z%^72'XvؙN B ,'2BK:$Vl w 3 !;KDkAV}d<՛dA&"z=VcI F;R_ -(q㱩[C\yG]X, Iw,{ֱWWf3F2Fhb8@b:Q6OG"Kމ܁-z]˕|%""!=h>&n:$Nt]+mSO|"O"h7|')De2Oˮw<ݯ`,i(tGX 0N2:S4&vAw1gJ1 ksG~"/wp+4VibӈtVDk&̂٬sG~?z$Nʝw렎Nl\TfGÉg!ZH߅}!q"k>le84{5ݶummk FoO [gz~ku\(䫐/lhhX g>KК mZ/$"-Md>څ Z7ŌԋkZXcu5w<8Z5c]z.^>/紮Go |8";suG~!wu.?ɵ`Rs)\ " Up5\Cjʮ+5~!u[` 炰\w[wϦe^߮Çd&܈ox;;(};#{#V+Gv#Zt_ o@vu~E-o#F7my 7\='Lj#DAwݍ'ƣ{}Du}?NE!0<>lG{M m< ~٣uu<ďOϧd31xXeWyo_ǿ%/YxSItg$P9{}{>nj\ƓxBpU6}8-7rwB]F҂56i<]"F̂!0.eV]x 1סs3Z| ~x]I쮀Ka{I_2\A"5)6+p\JE{{DWp+qrOx tpow rFd)ۈv; l=\Y\y3`.dwRv'NF\Gb$ ~{>7A|opd{ndw;%c6lJ٭܂-և? PAQ  {^*i({hzS>nUWW>̝#A>*ywqGX _< !tNq~?Ea,lIEҿ<ã<|cj~ "{ل&u?N#HF6;]bBl%o߷Mxk_çǷ7럈#ttސ܇n>&TomdSH)C| &|AgZ9kYMRKsxDמ1F3V1Vްպ%.hkN3tAw=(aKxSglp'Ȑ6a{;|~Ae"Jwa0 !?08 ?mq'FqX~OBG!KY_i ;l7:{(q0ylAc ~B.k 爑 ,fS>ώr Ǡ?r). ;`K8O"=-I$5 oL p,qD@P'b1cPt߆-l%-at>ƾhH^'ixi:;`69P.3:;S L1Ue2Wɬ0Vt4"3f,lo=z%(ߊnVn6am ڞ s g}Gy}q#hi6̄i0dO?Ol!- desx KDw8P&JZ 8W=iQ)(;咭 O%\ UPMeP > Ds9P/의j kA Z֙\Mj|ׂZX+VN4N4&4Pՠ#-lwc+96_|h6WPu#_~JﰬŻk :"s!`\B/2W k_:z|a*ʯ_6؎a/mއ-|1:zX' ӿ`>k;Yd["҂`+qg~?<(~78'IFS?{)>.އ[5(<,mnvD{{>.yxEV෬/+_E*WX_߲|y<}}>l}~>N_<^*~ /s6s~N]<.yކ?['|3, xO{I{`7B11^?bo쀝:aOc?𩴻`'-/$#{Gdu=ޱ{07xk<15 wo}waA+o)[f+ 0mw=2џ#y1 pGH4$vp҂w}P_`=*#ye2%tlsD{a y^?sាýl™~0` +ۇndSIx>!Y/z#eIvR;ܗڏ|hs mg|Л|rQ?y'D#[5<&=rA ."<\r>a[x,z1p Ccivm[wXںZ&>zB/=)ݡFWkHibM[]ێubhCkAfmeZ - _ Cſ#v`g "=hQ営\-nmݡG10ڳm 䀃2':.c`1I~>N\Fw$qE!cAڅE:Oҹ͍=7sLlf~&{agW6j#r;6rAމEvC|h8(~rߤm"k0<^"҂mEdDx7Q=Yboˆ 3`&gQ>SyGKNZqI2Yq&2"'12'1cFL)x}*a&Y0ΡLA0H:Vd$2i=fяg}C9}1<πi0C6矼z'᩟ᙓ`1,aR`i'>@/IK"IءSŴ!8IH^{|U^|T%pNdFɌS 2s`-K9/cfs$3;gR%D1sJ$);y8N'~=A%ѨK[ rl9Ԃ_ :Uj"XZU-mumKu޽0Z[t\|y\?7]~ w#"fz|x [CY :ZIGm1/|= _b/ is=1΃sɯE.+ٱ^Nd?N]W᳇#7Ixo&~y|ی/!O'1xÔ=#e?"gi|= cEڙM|:xoK%|">{ ߽K^&~ux[ak26^֫{ o"ob lNUxwte;#}_=.ewۻ=bWb}q̹E {߰ ;"m'>o_g'h3K|m]W̐h$L:/L`iZ"|= >D]B_N>W- tujdҖaږ`unϬ7+ÿYI3-Tۿi;bKFZ l۬MN:d#mvY9 RwhhgA\+=D-ΔtEۻ CYCIЏQ>p?FF  !ȇ2a[Jm5awlNyGHT[(gARe7m6ͩB7պ&3p/w~㯡_,7ֶ^c;rE~ߵnYն72EmW]v}0K#kMb2\ႩfK vuvН|/䙔ggٺiˢz}K,n*NY/tMQWh3G;tDF]-:_ՖEWXأxy(Bz0 Y?Џ~̞~D뇇JCOA :Cͬ0(Mn`t. cJ{I:iA* =I zA&dAFrML&k,b+f]G~)8h kfd~D&0Y!e ݡ'LʳMDO|'1t^Y?l\xs`6̂fOәAt"z,b?{>o/ԏ A0$9B[ 1` rr;ݏQ"ƹD+Xb6x=hffђz4 n!ˡ"/6%WCX)Ῑ0N#&Sq08SLYQ_L0 V,c3 #m48cw 8lM8E>>RZˤs"1ORZw"E~'#;S$UP 5:Ije[FB8|I5kAה\Y7ʙPs ̭ȟ<8A$g@TJ_e蕑[KIl 6`k M{Kk%2%\NDu7T4T+iAT4|rm:TJIeѼjh5p+j&~*,FH7JW2Wkӡ|q]ڪEiCХ/ˑ_N VX.!}*XM.:bx\H,/&ep+8^94( zk)bӧF&b[ؕӖ~3}OՇ}3纞9K Uc[ǧ>q>6Hjw0w{]:=fzȼ^87]=ά_V$g։) |gW5'}˕``CKF/?=!>1~OV>.>¯+~Ҟ:,P1SiJF9Sz;]wү\RYV)gd{xSx9ZB^Z} A}ə|I 'hL`59+yy_^ƚ& p5] 6,^tΗIߨ\aV'5\}a֘ :Vv;Uaqlء5ZæƓ|RToJ#++`aq 6 WWWY+ɳ͵| yڟ07]KwG{=;քA瑝.egd Wza߿ߝXo( UUUUzag\Oy Ek( DD`!VAJ݌ K (e02ax U3L+>QX%@!$!@Y Lf:$e,["{D@Vsɢ .<-.%1=[=I@> KW{ssoݪ1 D?1+1i܉g5YfN9Sqcoc&I#+ft?LJ3%JvD!8? ^5w8Dci$N(w*@3ַ~:2M?DL4iZ_T%"7>|˟TrGhNFw*Õ}OX F>,x8lzmVosqGZԽZk̜_*ӳeURXeݫ{ZuOߢnu~w$R-^hme3ֶd%f|.[ɛ|]Z[:ʋI@oZW,jh&M?*i]K~Mxg^_-"/SnR^gV jP]MPTQf%ODYoU^mz{5߱`?xf 3M~ut)tv_-Ko >aU^)w˔OCй_jik:2엲gXlGt־B*Eb2;^ bMT_n@/܊Qa~!Z@ޖrXV Bbֺ/e(w헒JZ9ī1NcƢuNaMbHkTkjG@C<}o4EFMjy5YSGCmn(CҘ7څсМ7K 䰝0LjkZ:{Xp(ߘ')U4NQ򍙒-v-Jƒzutgv&uwt&vВtwCiWО_:fbw0YI?ٮenh/`@/Ōz(YnQGyU#hԼec⌒g_ӽgݲi>3rhJ{GotC Y;j5'!3ȨYf4Ϝ1ٲ%k c睤1H) 6;{mz*LFeřScY.k<ȉUc-]}˼ joL0LYPz9޹]l8e)[u_;0fsKrxc@ZXf tNkY[efOdژb$YeE%۱r(Oj) A{iph^A֨9):у34leɌ9}J^uv&]r轪tm_QF[vXcJ?px\5='ttXs$SEʽmS\)]UGV=^@jO5{嶖ޖee&TúTCC(cVx-4sR϶I\o-nRdڒn Zz{Z[mȤdETU0c0QTvA+Xe(rog{v)%W4uH)ѡU`Ko\B L~2u<*kQf+K64ސQ^! qj+x䗲DG@iUJ.w-nmZWI\n]o֎rK/* i=SX8*zXZfִ YF 50;5/ahW_*EE}+{-!"ٞSǧT-]KT{u&bi9lR_xݦz0=UF+Z'W%J]굦~K d3!eHyABޞ^+HFےA$ȝ"K ([iԥA>zr J50EQr ub64kW BF=2*4T 4+Wu?lKZ4V(Ucc_)OGFX[VSF-i7 [Ӌ4vh.:,ՠL;I wa a"ӆŞ"iEFxJA{R VZ h5 :Shvh&R*,ṈB6FH$ٸG6z'c m |DzlmϲrЏ\ i`Y np?imE-TUԵS(Jf1ɔu`/ŚoBM[$D;S5<r8:sO 3ĉQ4K)a2{ͩ0~O',^,dbǮIvÆOSYEZzBϢ. NzQϒsD.xR,myCPEM37no\^=Au yp B[Ia˃B#"`Y〠=i[Gk؆lDxE{>}j+b5537DfaTfWNsđ#;CZzղ9ϬhݽRVi[<\z|Y @^'Uڄj) Kۥ0Vhi뷐P_=XQ"9U+.(qO|hZq; XzԺ>>4G_{_ -0:DÔU;g*),5$^U@c[abu,^?VooշjMvSj5 Z^臿6ٴ7Z. oc6k6*Փz :H TTXm D]xntH?3&v60b=b bZǧjw:̞UUe׋3z-j"dWLsΏfg-s#IIU&:.!bm[k#uÂ,ESGC@Z' U0ۆW ̶!|iqJFL teQEñJ]~?4m-h+k)TQ96zmdR%P F٣MjS1rŸobHJm^Sۭ&g}g>qmk Mnvv >`;-@hO O 'TjR:]rJ>LńYrȗW2=VIrzRkhKzrK@9=s-Knimm\Q^nx-Jxk re/kYZ{=v=RSnxCnOucXS遐ero t+mRrL/f+{Zz[lj[܁ziuܖn lU[Y"CX\#A !=arzf_Ɇ|51k]΁Jr/m[B"HΖB~+d 4PGKKt!̵U\](/\A#$lϜC.ٌ#VhYetb;egiB-|'GNڢ0LhusNT8n#%Jθg)í]i 9J` m,frEء\b )[U;˨g*e3L $&R.k86ed$tddxIAi5MK-NaYeabjnEC؈I0Spo풭&[㥩5j֤:py.3#bƦߩʺR6 B 2O%QLfb6V)Lf hɺ5lQfQS{f9&7f 41%4ݻv%y:RA%U/ТԨr_ L^NP#ЬYU 2%{^`c/dZfNV  ʡy!˪x 0lɏ^͉(!H(_+hz^de0Ȫr 4 yV;2JPd5Z>G<ТSM6Y+$U.XQy|}b鈉"JT\D zWծR:SSZ.?Y9Eh3eKRpdK#QED\'&M1XQ4*qt6x$E]F Ոr 5hT_n\6/R 6$۷W[!>M*lێGȰ)(fh)v1k[$Y HY%mX"VF tW2J@yfu.Rq܌6(-^MLgR ]Z5TꨨvJDy e҄좶AV={gФs@mDyhҙ A%gf/uRFET8y]Ј1[Erd/yWnնm1FI8єĈM2yy6׈>RB1iDi*¬5a g[ԈB*EYIZkJ#4)Y0i>$oVdmR|aE+3FtE5iDxJXc&iV59 H🴶 2U c]Z=*/wE]QQ@DNMXPԉ*4|)x"^ jc^6ⳍnImDy!2$֔NtdEQtiY:Z*7SCN/R#b]$-CU]UQmA{vš+j;9CYԉ^]{3c՛YN0򂈢Ҹ~/e]E rnގ $/IT>DB+#ZV@rzDidE#nmPS+{fߡ'LgW)Ͻ征=rN!-]=,f€iԖ_ʃ({ǹda[({([ NcVv`^WHcmX}`hK$\=׏ثEC L.^Ă8au%qh]3:kSE=8ZG3TK`b9AGN|ihDQl 椕lA9:j=&)+{!CQJ )AyRS Bh$]Mu+:A%"!/fRSlk'`7|ߩpe ֆEocz 7m-(]\$u$y™wG#%`,{v#>i\05bLXyMu=8B"RPؤZPsZ$*Gcdjg6xesPZD J҈R4"sƦQ("5"uJ7=FKr.jIW{%HȑRJQ+;fd& Dk#_Xb@Ŝq92ʉPRH iVH*3B!9WkꑃDnQs~jŞ.d61u&99GشSgڎUNV_Dm+#c[v9yY,{vQҢR}Rl.6Bi)*U#i:Tյb.:7/d'iDyt-3R!F 5`"ФĂ$X*1倨ȆGq4}4iQ*ɾ!EjD>#OuZǯdMx]\2^XIS7BK匌˼Z!'$EEPPRwE:Ya+[NQ`3FHV\]1z˒'?J(@l:5Z&׾yhԢgkE׎OQwg1#sl~rC[)Rl~ y'Ð1N֡<ӏC'+ZLobU-&W-&Wbr5ZLnoZLfxHǔ-cԾDX;{R #Mq0L$.Z. Ϫ/WĜ\oX(1J& ;-È-Mb [Q vэ6v2cDOHZU5Χߑ3SXp*x 5b GYm˃7>m~ͲvԬI5߸PӈUVqFXixR<i\EsdS$eMDU/-yG+eU5~ِS=Ȧ`eY{1K.Jw/^iXA]uʉ ./UF'L;HɄD5NNQdȷ_J$o_W49X="!< zO4Ixs"GMn(0%(8̣x\N5˕qQ)#Z&׾6GmU$QF95)Ev鬺` j\)ZUU"VjD ڙȾ@}g"7Kn0nJ5z{>_`bgC)Y|'̕"y }OV޳PFJՈvUu홫5߅T~gB?(ro%5xYb{^v#" Wt]=crké1bHs%,v䜐{{PYUhve7ޜTUCZ";<%څs%|ɇ<%P"oh:(]J:FQ=oS^ވ/oL9 `xi%A_ yĪyH *L] EUhVh!-3ҢFv]Tp p¢(WrrB)P(ZTdA}(&WC`h/xF@PL}e D%)hEDaT1;B3޶"5]A&l'P _u@sת2KoT,Un,'KV%`FNϔswp P< )޴2ɪX.dcQy{X7Z#.?J(Qy-*j^U?P _Ef[f,-7w{S[?z+'˽]HMiPF/M`:3$āR==?_U 3a$>] ߕ݄1^A_},ԥ{ՉD&1 cTs78")]O4kɳI3͜s)I"| KT'-Cd .L--1ӓP4cF|3bf듈Sۥ!J 7{uvw?ԏ)oWܪ'~~oTb -\Z8sd铕Tbf1"eNs؈L~;a_ h;ƈư#v#FȨ ȷL 3 q]72w'Mro黐U 0zRF-)a[҉wwvw/x?? ? ,pB?ti,K! 0? ]V2AA_>ρ=Jyiÿ?-d~Cc`E{%7Xj 8  髣R`e/F.#R G)q97ߗxw"C+mZv04chG 1{v=]AZ>BI#zLH/{41ҏ̣)/ 9h=^#w%&aI#L0~G ^;Nh s6vf2rŸ|q22,3> |) R~&I _('x a&LSC# #˴ዥ` }L_kg|v? [-s~ BF<g g1h )B.tp иZ{\]Wx9bpG\ zA? 3OC+A~9Xϖؾvn|q=m5 0 o5Wx2D|/2${nkހ^)xRЩ|`0O@Ey(w}'tVBFZۣm=ƗҺEɺ)`~`~ܿ%?pR= zʿ(3`#pT'Gc\[%?B'f@E xf;<N(T߂G{8G0M#I ,g'# #z{kJme㉜d~fJ`,}=`2O' kB3hJg#m,"ȘZ?Ziv_͗NJSPV߂2.+@'&eץ}N.G2~2;{\⽉uXւ`~lޏ}n߬WZp&XdΆ>l!o5Y }<3afF炍lw#y7"#:llD2S>oC _s\."|r!v^@^//¯Kfp9\ *Үb^Dދq . ~W rfd\%_ ]멺'4zO aǨQo~ n ichdz>MaC2FbA?3xh|AOB>H?i|#w$8yP>#a!"D n݌ShqC<҈g9] \ Ɓ X<|,)< Sxd~hlLx_ +a 7\/:u,>ᡥJC Jq9V _` ' 6\{oyowc^;=u氻Ă- FoFo$- .Ɔİ[mvp'LzBr9i<8ND0{<^6'* kdNSФ̉;Iж՜JVxF#N줙lVH&&%O$@_HBǷp|2_wl|14ӷS|B~)ftdF9 )_٤^MmF\|~2N@_HʝOs2so HyߟxO 1&w.V2>136J>^/WO:<#+]/y}Cf{)c%cq7uQnXsh,d,ȏ&$bճYgcsFp8`#<l gKց3ƙ3Eg3Y`8 v|!Ûzgv<}l<9`#埏 "/B i]iY`g&k+UXJp lƂK_%/S+<ϵ s}V;k>v*\Jo3#gmwưyƌa}^2;?2zͪ8M/#N\̚Td17|l<81yy{ ۃ]NvB4l벋ׯk׮*JF]em_Nj~9Yc\(:=.壷JDv<,+9W-k ~| ڔ)q%8$&SS&2K<=KoUR'~,i"iOQS ;^pO'`܁E? n7%hܐω6)[,׿??5& ߓ] v;U7~7 A_~ρ;E7{vkvk \M6voVA෦cl6ctzV=o<0ڣ: x,sדq`2Sz<86ͤ 6s99l s"8V<󀔷-d׊`ɜe\lsKf~炓L`q! Iw9NӰ4,< KOt6ċB;ϩJ g#<@  p.im$F䝇u9"lsX (֙#،uc˰Xf%łbsii1/O{Kn˸~m}3|w)M"pI;YSx"D{) MٗGh̿\>W%DZDZ wXG~Mb} ȤiciVQkf{fu/!WoWDル^~ #mvp'#p/3{hw ߁ o[LM- ,mv.?2;h߷ς[]dx+\ ||S"[Xx&76s?m~y6)oߎs/ZoDYFV97ڹ |ndeu֍n`utq BO~q+6Ŝoܢ0td%VT[m^Vc[ʻrofw3:܌.-n4$6>ODZnLwv-n"FxnFD-mL%]R#g9ن?:@ 仅-g_碞֏7jY*F̳zp6@?\ \%/ŋ"km` - .dBl57( P-{ *nA-6p;ݧJ=\NW᧫5:|iYpOOcG^ W+]Aǹ']א~-q=I2k5j?]#arֽ olQXF۸,H|ܦg |{b4i|h D_ p7xD{ҟ6 G[~s无<9_Ky|R΃/;Yq xG#Q qҞ4 gx3Ƈqx iO~fw8ީ e><{!'?!a= *PtE{G44~mƦCei㋃GmŶc Tj(rG(~G#I# O@{ 8P<hl8KlhM߱8[1|c| }< =ǐ(:k*lev|f&)O&80DŻ l'_2鵹hbD?̥e6gc$0{fOƾ'DF]D';`4)Df&?CFV¿|H:/'Nb BwV<U[] Z.X1G'yXs^eayXz>[ `h6xɷXa[)+[)B Ivdn%򽄼 edb,A%ԥJkgh_ KXt^tA/^ v'V_v<юWR;^k{ -]@?<Wa[)+[)C#l{|/!/{YqBҏJ: ho[Ncwt{*0:OyF;}X8\0\c|\:ll=럏/ E`^\6ˠ]`W{%.S8 H$HdQh.Pep9}B* WK#;M45Q蜟44\`)'I$$Z` p0# BV1 PrV Iay3}Cp [F?-'8<@dۣ[t,m>\ >w@69#`48ؼKa G(1?>K RnzY:b2_Ò_Ŋ_z_e<*k ߠ 6.޿G[7 m/#M e~2|&#O4?U/< ~ )4?R#(̵#pHG4AG}#~1CcTkA̽ 1D?izg ~,v-02^ޗǼD7iޗ-#oiv/x ϋy+6JE>|~_~~V >2f;2fo:QT0LXI8Ǒ &)yH2Ya.1`ׂ _VG,4_hU_&inH{4.&ߺ/_zkz| b\crLCJ%x0'02 ׉weԚw*89M`h悓I?dV'3jL&m[lxgJ̽K@K }J=ǜ|8"5 rߦ*xL|/ |?o|,o-Tx3Z@+h# gi{ 83boC2X^Ko):/E%ԣl$}| p:X|ҤC_]Xc%ݠ tb }Z7ZQ /r-xLJ7U*yrُ*5\gu,"x ϋ iWԓMXb"\6s?M>ih96`s^16BHy *&7ow*zry=VgƧuXSXj~J,xm hW>%?hV/)Iq>SՔIt \% V16rlM ;I݈u?ׂ?0m /r-x0(VcT3h|ޥ ׂ9y\'J?^}^_F3|MxI߯Ҏ _>hv<"~W} 2*_5ҿƨUdr/CC8Y+W<]CG!0G^0~7Lއ÷ E ^0~dm% %5վ3pƑT+ 6|GN-5:޽vyGUznBIЉ ED@z % E*Aw $^HB/: H wf߽m⽻͜9Ec\~ k̭̱[̵;&@~ݸ Uq ĸM!O& 4.t3Ntfxv5҇oTL}MQ<e 1 w r] 1Ëq(Zċo!O4!pR7uEMQXsS7 dQ_L4-K61ъ~{.h4 gu577SŌ{jR~y |ZC#QބzzuZ:jU}U|׉{iF4熡Gdc`OL[Y2G~}1U㟩NeTBZECM5׍47[ lFc]UObbYbv;FG3.}W b+C8TV\JpXXߠ;>4zB/e-"}(J+oB~BCth,""xk?]=9K}mEN۴@_O?ޅ7>:bүU3Pӱc CCLA( EJVC4(+a;XBYbig՞1cdnf1{c0F"S}~ ֿT3{c$HH˹W_ߏ1&1'PVW?׿ĿJxW"> S| uLE4`%__d|QO쟎4dk!Of2 3@}:ܝ\={`u!EŬ 4aȗ )D6 b͠7Q`>tX1*UFu(Xb,,Xb eEDKV>5<#X*+bAN"V]=tl{jmduusowlvpogmcn!GֿUZtqبxH#Y"ss#l-Է"ߊ~+boݍ5z Xbs)ab]8>K0N\3iRV(]tXY1F*W8\cndbfa `>y iԯ"R""lw#@Atb36s'kƮy>\}vc[2GEvcF <CFBFB,< }vaF6dG.:0b>baT Đr&ADQ!naX!|g_F>f,m]B19(NKȅaJix3*ËXtXEơx'v^(bFr%#_ |?8Fa2tlךd2Ӭ2Jr)(H'^ Y`F2[@iꥐB_R3`K31#*r}zeW&VebVaUaҌriPJ͹O)djio` u_"˵)٧U FCZfel8%oQw'-QEޛܿ| Q G͋}DY&;ƟM˟ZZ!{r>:H1Y2Ka2SVY"ol3!2JV/_#WqFeK9!J gvvj06߄F7Ѳ CǸkuH|#EhZ͟`;ȷߌ]?sZӿذ|&w;L}#㵁&DrH6Ísc1a'BngM L v6GlvqN}+-7c]?u}Uk~9R( e40* F?'~ʊplB(ʊu 2y(Jp)7*dErXIʊ A]Aםy M*U2ϪFjBm P>6120kÚjȪW]]ܬ 6:D_6knMک5Ց+SzkH2M4#ԜrKhAYtm5`l(-9妚՞ssr?cin=YGjeof H[sW0`|| w{( !ԇIn(sqsm0s1>0l,C ]vr|aԇc>a1UCm(O=VwiI~e$I>DSV, &ar">\r c3a2DN'ۯ1a<|_b|Lo"c5DĜXN ra pÉkVQ^c~g; STr8M#W,sa>߅_Ba!c|c0nMF1]֢lIxڊ ȗ_]8[Dxn}ef X*Wh}?}7e-ߓd7EOOZ,IK'\W?>$+l3 Qʬc6߄zP"k ~fSٌzs#li%F)(iBkfo(E4v\aF5¿!1߂P!M⽉k'hs\';15uQlkT'UTDVlmg3iE^W!չ֠^l "^!f%|+Aض1Auʯ!Sm2i#o!v o_#k;w1,nmQzPd 1uEl0MF\߂z&ڌGmƬ6c\ܿel3oA#M&k@{qw+]dZ"oM l Ok ͡ Fo]CD>v-Vmv$p'V`=7Ct`BXMCXMv܍\ZQL(Y %cjCw0ꊏc1`m)@jZUVtݵ$}Xݿ"S_9q1>c;VS>6/\93 ac2&$d YI&cOfXL:,VY<M+Z26S=L<jV45B7įƙZq\7~-i+ K* #?kp~S=LVES!F)cW?r6/_W{$ܛ Ee&z!oI]Cw ;DQ*LK^ Wc7vӔt),6ѫ_sWmoV~j֒#̜)יNso͡[^4%&/#"NXg̓b& G#~v}__gFwgҎj~5M_Y|QV5_U`e aZeMS cyjaUSh7D[f!@_) [! 2= fqd%K<_ 7e=a_o@[ Ml M\[1^i?HEvʼnUؖ͠Zb^y!S}.N+vbn-ͭt]tcIgC#0G2W1'rL{lA_D>”dcx˜?an=a~>fng3!<<}ܣ~99 .S-n/A(H0r=[Qd~i˟x-IRFg~w#]<|45%O9[ olHV_v AxK% ܩې7V&eAꅑF_X B-HobMoҙ=M4+V߅- 6lGtNYQBvEUC z?/> }d{|꘾P: wʞ%ɷEy@_Ǧ?6(4+%{"Jkz1oCxAb~\R{k/?%ѕ%ǟx+ERr@DW.@|WEY^+T߅//0>0LPd+@MYQ[_CYQAyCyc27BSBEy4)dU1\Gi|*sny>P~<@kϑg^G?y::cBS `_ɯS| uLE9◅2P nS,y\)/df.̄dpٛ|=>L΅"b/r9b?Ld31`dtfam8ʓw˕B pF& } #K4ޔEo>e V>52{hrQeE xSW3!2{-,;~=9[` ;ݽ9ynZtqبx22Y"ss#l-Է"ߊ~+mnaeDi'kxg]@##񑿰^'S `?@v D bqv?~?aً"=:/ T{}Ui֑ "2eUuu$̙b:s29yuYE5VS$5^Mj/#qFbb|Z!I!@)/v2;7 nf#2kJ:/t>ؕ9!KH)}, ,ĭ(-2ʇGs8V@Y5@Q)Q*N҇*! r+02 #7P8/lE+&K~C]P bㅽ~^!W֔\Rvu*߲IȨw' O TBWV&b*^b]{ d +rPV~+/cU?UvJ2\KS/zϙW]|MSCTuU+l/~Ts?$ʻ=2TjPkju_uO;Q,~g?K lCPrRC0>};/y " &6dnAmn#6gk5!_GxlTi~qbG!D]$Qhg^K~rG#4HD]w+6՟j։Ϙqy%4`-8qb5W9wg\"N~g^!s?mN6id{ QV^LA?0QFAYR_IY5iT{μf=C,a0r\/"@7=>aCs7-⺔zwG86vֈٚŋyX aŠڜM%hdQ#)Q裵PPFَD(֯h1*b*1GiaĂ(\T::L`&FD]&l6oDw}l?`b s08>n'؎2ZF❂$9myy9V\KSg[>,8| ca4D>hlGs2)Γyr'@/2~pLzu4#a |9h|L5 >B^폠_ B>Pwg Ȑ}EFѺW#fc'FOd9}t{G?B? l4p 0|}}'5n L1 bO(Cdvrh)s(JaG1Ghbw4}E_G ]1NTA2T /_Ќ5>PN[(+Ŷ|"ygps5+@ɉ!ɿWOdfv6OE|ᢈcFb(%/6O3 ^~q2](KkBE֯WPUB BE d٬ZUAkOwOryg<,c'sw6gws]941N19 wi<ׄ Նi]"3U.qʜ&nP 7Ll\`+ ޹Nf6kTYө+tu氿sXpNdC4Ka ,f:ew0t|3(+bK4;p9s"xK8-0N᜔8%/d5 ᪘|&~'gig^QBm)d9$wCr8(wb_^K_'g6ǣ_Z[ [[E2R6 z㱋>D+xհxZ$o4cu NPqt6 [mL 6bsF|6A$:X 8'+N?wʿ#1>Xb9"6%ڸD.ѧK}LO굜9 I8`lל4y;0OߘEn[̎pQO 9)RVr&*)+v;47r+j;4\dyτ C.0c22kәܕ>d#lML@OxlMGH@xbC8l-'!:vxH66vvqQdӿG%BkY7*T^ Eb]pEiiȯY%W b=!c'ϡw=:NIcLȀtw( B޳>d#&vlEr )C~]G9e#&K<,Ȇ'9`osC=OcM~^K6Gf}q +esƝ;yo70u,3e> l`70m!襍tٞCŹKəd|'Vbx;PIw-B=09//Ë_ O/lnM%@/d! 'x,rȁ'{Qm皂M )&S@LGbnwk~&߱ϐC7]u,u1YBBXaYG硟G1Rs4bR9q)RV܅tE;p5C~s$^ +`# #OKRfl36ݹ sW; W_%lb{4FUb]!edؤ҇TRO}c*u ak*}C+[`9W,I.v3h7 Nĸu,/_& \jdt3248^D~yG8(2 3gzbYN`5ˋyf1 J*誉fu^a:5Bb̅Yf-5 ?551iaFYkUlb_*TJP ^^}z_K*6Hr|S,FXLΗ6(˘2V)4o`W[,'nHB #^UW}5m:k>{Slb|62.a-8GNyZPs$@"lN5 U[El &hWXՈU^%Ve䕰m%|*-6ͫb;Nc;cm;VBYq$b ^rP꠫]ڭk_mkPSr=?{'9HHw]msc㴛1Lb<@2}z~PbX5 3~=۬ xS W}Uk3g^b">3{G(Ac:B{mѷ# gơg6_hTl3cߝ!b mvG ]#ۡo];Qg=8S0& f7Ⱥ@g)$&÷0W;=1!o'#SNo~ l /Qg6mBwza Biq*| h. ' z?pZ%BXaYG硟G1Rs4A-oA(+AwE;p=?{'^*{q%A80\.eƆ1cØܝ`9w (vlM;l:GюXmY6A! 8atFf5]Mc5ck*MO^K }حp\L[t.vCh7݈ ]u,g^ɃwhEK I![4=cq^*v2#~dTf$F0lM%痖Z`ӒsmK[C1ђ͑7æ8L LyGh g`uï;TB Ir$(*Ì\f.CDRFc5r k ukCFk46GELE$qWB˰[2z} dqE&"3rq )cv!Hk5g5밋7$E\ 62W41ȢG3 (h׹־k>$}%Bv$7nr"5Ym%p0DC(]M4~1Ċ!VDk%l"/Cx< }veMlXgl>ky@2!t w违u!]vi7&:X q:j>sL0DF $-z)!o9,qzʘYH+>°z>M,5^Ԩ*Xk30iˍ6f<VQF> ([]d]bIHd#EI^ >ث)}pTwv#Xؽ~qqN9-i=upB؃. $l໗<p='6\S )蓱K>j*>]9! &UTpSIN'csqN+/q@ϓyO{q=^4:[_w8w ilNc{?E_0Ras c(~죞<}2vاO~W*.[ʊD]q\]h]#G'̸wc=^}aꇑBۃ8*q^{ryՈL4l'uښ$?2bi9ǿ3j$yk p ˛܁te\Pm6 xvyD<զ!yQ8&3 wܦ~7wFs̹>sEӋpȧ<=Gɳ=ӍsM}b<=#烧<+`sCy1 bf`=oӟ3gϸd@:܁[nכ&M[q \A ]=>2 Xww! l&v6fw6}|L_C<]:܅;cO ]vOi7ǐ Y:<5D>3E(|\dRSI:O>wyJ!.XF=&qW*#yyST>OWm>6A&{3g`=2 : `+.){a쇃`SxSXswF}Y8#)/Np ˒қx#0BĶ8M =3QI_+q'$2YkQEv{mWß3ZGiqIѤʲ 5]:v|1W(_z'vqLe @ȮS) ;g9)mbǿq {A 2m]4F:5Mc|eD"r}g%Ԩ" RW_ 3ÙI+0rbd >Pz %oby,|ĊNx Oz<,H4 Aa P=_bx:(yB[xJ,J[X5%|$r;O_z3ZR$;ex ^Ȟ"?!?Yk RVm~(ƒ|x(I|;=wF}D#?rCދx 3 ^ƒē;Nj;ț|@IA<;_QʼnS"SmAރ{牾qwFDY]^!*0)+P *#N BE'E kOS1'74PRbfaG"s b#zc2,/#I4zP0 o`Sz֧O 4y3͈ՔiJo\o+|Ao)0 r-+&3sTĈ{fk,uτ%N(ZP4xnZ.V!KuFԀ"V1+@\TDURؽ}UZ>wdSF/'e0~fe?/v[8%W\N2ɉfQOꅑ; WWHF?9x0)=xQ/J{ӏ'N bʹm.}KfY+}y'F9Uxm*/x\H26K4(^uݙפƄ MEaʕi"*cY,s.Iyec̿pl8Q8xz;\GB ")bX6Oez8:{ y)UZF "E}vhg%++g^1:VL?zFl=ߨ)&71B)ov"ۥ)šͨwP6؊جczjSJy+ǛrJ~fc`$͖#tFꢫMlSKl4)v(⎁O3L 8G_ثomy5K [bD&ݯ$BƦow\> L d[FbeÙל20\MKN6-#tVgkjb[௨GY kT{4cgl؂kkv쪭RrbfbffRփpr"!*i,4Mk.݂x-m[`߂Tm/ZY}Y{ƙכ]y-#l'hc))oͰ"ۦ y[!4>c]MY {}_i-1{rWPIfVb"wnr#9Hbl@2^dc:QUFTL_Rt7F롯Kzǯ^ET'V>{_YKVuSlμ羯TmSp!^w[`# 3nEexz @ؽ}ery{B^_ӧOo}?1U>*SwK#ŭ@ubuJpz?hq<6 [ndq+9:pFqq|=~2\qVG_;Z[m@?cm"AJP􁷭o^Z&¯9{fHbFZ;STMChķdiD/awA}l{6{" zBtnȃ++]~ٕ8],b~aTpMm你P=^Лߡ}O/f]of_/ݨSߙ¦oNVdk04ѿOV'kPMoxB?_|Ctba7}Q:Y1 ndb={B+?cD6& d^~yC_IHѕ#'_EwʊA 7ԭe=X/ nbM/ȎxTQ֟]8Bٗq'PkIV’YQ\Y R)EA牍E_MI7.q}Hy 2f_kqbȊ{a煽~E6_2Sdx0( cA7FH)}1bq(b)d)voG~N؝Clg;YxgŻSO!;%Cm;Qʇ}؋^Wp"_8 hd(r;܎"mo&>q_U|i;#/lx >(0"A9| On"~Hc"}H'Ikz-_ҿ/?hWqId4vi~'?:3'd<TNsF|9'ఘ9@Y"taʊpN4PLw-\," |amyɌɌŌUΜsawBXݓbA~X,y0 Ý6SsXuAl`{b C" 0 #vO;>%3Bo!6a̅9 ;$BwӴ{ S}c9JqVYdkmV.;NRF;d=7`5m^=!Dwî]4Edu¦#tOdCP}Hߏڟٲ9esz)g a-G].9~\`,2n\S~3އh{,B;8PÐ6gw}7 F&]D3* P_.VASdsP,ҙ׮٬2fʵA<$ؤ! h֐uNd.o``{$ ߀o"qmnYc#vlRN+.[ۊ4Ƞ|nZi8[5 AiMVj6-mA_ZxH@^ ZD|i#>$ҧDH7구CVC,}^1N:C芮+v]i+}_;C'GzD9^3lcF?a~5}l,Qm#>0߅b7HPY*Xl'^8 QC|0A Ch:l_WFߍaþ5}k,b9oP>B>pacƞ9}R1|1a3| !`b | 6@?PD _ Dbo$mD҇HIߢcЌ구@ ` }V,|B[0(thwg$m+FGnnP<'`-2Z3opaLY1F:EL;\ ߡ;v Ͱr"i=\ό],Odn37ΝC30 bnC|k "Ha >*3a(|#`fX|Zv[`3}`#lQ؍h{$~#8;OZs,;(O'7Zzuoh54ī\ 2;_jwQU]?gι8" 8FEe'F%8 Ƞc4$qh]Y{m^ӗD U۷޳>{}>\.W1r^@QEћz/"Ax.b$Yx2?,/Ax0~ŌH/\=kQ~叢 < P$@vePҮ^MYfV>\yp=V{HtCxmLGai?'N%_}NzfO֝+xQR5+{cɺ>FOPWn W21\ o2 7KyC롸WČH>Vc\ގ/PW(y %?_gp ?EOQW_W!P~JTl@B-BMPҞ= %~yPn e>*#2!"(A"'6Rn]yG>w_{OHC-3/eEܬ+bY-VgXPmBԊ"+2ߡ>*֛ȻF5>ߧwc|5:ȧq8qsğ'E՟>p:L߇RPFH2Fntb%zE7h\~s|@e_C^͏} Ua1e l%t{I,\XmQ8.VYXb\$"髖>Y!X8+xErib_)qK?qro1.2^&yG8PCf-qi(\D{)UlfK(r(B4-3TQĺ+D"T܈RYoEiI!z@>Hzȇf }pHa㬅̈D[$N7`%;w ʗd)J2 (Xj%([I>{,}( *(Q(u!(,A`_֩dL,փh)BDK~v~ok@D)dʥux/6'[$EL>t/AC lP_A 9Ŋd ORU*ITdQ.RD-v90C*aO#&T/R1 fLfc&D陨> df/f\/ 3KevR)Ӟ}.̆uf903~ב\W&ח5grt⪈"uߟ,?(C,B'!gV6@-v깊b ],GgC(V*U%_639nK,Sgu(*3(4< [n ɝuv54:5:; Y5 hx^*SN#;(gemPC{-Zvv{qR}̷?Žo1*+?p c DMTI5F| +*>UsNzh8oZQ(>Wۨ~Ds x@;hOl{y^̕7sM_̟&HLE_H?VvշO}7J+6P̔/6?퉚d3[QeTJ($^ʅB` Cpԋ@(7Ta?M=MEi(.)1Ļ=R+~ۈjZCo$ɏ3LV# wA+[`>]R6I{`oߝ8M`r)h'a?O$/$I\7--\yrC^!CarG7؆qS&Gw6ۘ^]ߍ?akG)o}%fQi4ԟc'.e$)c3vQ.s49Q0VWgҘ:?S6*BqI%4zјlj(&A9x /(Xk&)5g!4;x389ݸĿAy %|L?8KQh.16FsQd06+*#rXi.x`2֘ZXof&YM=>b_`c[k!|kk 1Z_ƒcFߍ/Vt-FmC)QNY޻=Fh[i2(m_"2c;R(r{% ,2(k(. ^fE{Af@Ela?xOB6,- ?xU}.lXr^wBOy\_eW8cQGˊ ΅ %Y%Ka?p9=|s~N AjEdrgps5_Z| pіTsTsTs/TVڻ٥0/oe4~ߧ}5br2\ej;9)vEbd/ϥGe6سgEU=|s~&4(d}pNw@B b` ={JE`Oן`d+TF[`Vn]KC+.C/y2ߕod;@(ZBsM7A)wkrMQ9JlM-v![*d^7@ f5pv5D>H\߷xݯZk\QmI'WxqDZW?I̷n]q-^|'4s$Ow[MkInha2߾vm9[CKhN)&M8rf7nIٚv[BwuM>NwwYs>_1BO5Gi(=݌3z,lO"|9c= PCgB9~"o> a0GG/H_- 7`b &7C` 1LC\/k]5/sx-(⢈5Fk4!VʻI[:+Պp=סz>P߀؋P/P 񯃵*?\_m5jVj5FʻZOoauoAK` mIj\;Qb'jb uIC^ƾR vC..` >v+©KQWPc?<i.b4pT . "? $_N]2 " \yop77\2Pmnι}!B >r`o&1I`cR!>039$LI2t9f9r.ِ?dK!'nX2KI%3 yWWȃy^H/IOL]"X(w덬׍QP|?0˜pA*J@rB 03C 1B"y! aA? {͟ݫrØ!HfbD c v10"ab(`8՟>|u~{*3n$1ᱬhX73 I0Ҟ,Lgb%n 0 &lxƛ11'1d)M^+_hqӎ[<G{.YOq%'nwU_3TӚ(|oFO){Psk"gOοrG9w+T4SĈ iҟ(pM@/飈(h" zRw.;aۊHEL4#>FtXcE/bz+lxlNևBcusw:k6R&OϝuZ]SNVzS}u2Ì@#43EfJmuo5!% ͌œ c]q?Mr{B[,tw;_uH1¸` 5j0!؃p>'y2ߕT[byY 0k(~ i }!v/{H|_dT)ODVLYOjA<a?Uuj&) KRs:YOrnn KRjsMBsnVYN:ES|n+YW\u"iLN' di;rq(&<2qIs di;u*QDsܹz[>w:l|ǹs[Ⱥ^7pޚ/j9 INjӜ')>(c'$y2߾w̨,;Nq(^9m^~A^:1QST+eLI~FWNQ$u"N&#D>w:2PdSʄ0ԯO,sn<"X'Rs9zD>wΝC(*T搰?PSh'6ђmwB;ׅxd N m%4!}iq}"Of)y N </ac?RQ=QecO`?%d}w)9ŢQn FpB;{8JX8ENI{ h!TK->Oy[3R37jF4:y<bmdNV+e>3N̟ȿϴ?~u~??p?!q׈A̷8yWiq Kw\ 4b/M׉ǁ,wNwROS|?ɝnW/n ">A:kwɓuhԯkR_#T2`!q+׃cՆD]8cC_x x\ŕ/Ų%f_pY#BHmlp-8N[j˲%x|3f k`!̛7od&& 0!`0–[IxsE -SNU:uj3Y_7Iuo:pģ_hً[s#PY7RC>R/S<&6ԓ4zj? 7༉'4]YȀH̉t3hN93lf{mrݹu_$uo㿧t\ԙ_/7 r4ah멺sr_տ^%ELqcf.KMN/ge 3HWgƦDO~@vEvM}cblWwIB 7X Y1meؾ#%Q%m-ґ.\]NCYce'Urwtf46nX%}C.#Xߙ6&sN/7dRzCBWnGT S9P\M0Q6TQPJ٨JZ515e=PP'Zm)D݋ 6߶\ksMa[:>"Xme9uqc77h בgzr =5Z\ s5hWuwLy􋳽Z%C=N/74d.0\>;('.c/13,T2Y726ʦ tdQWAPm9˹K.0Y,H*.}نEƬK2jnmHa`{Z.WcWr 2p0LKj+;c~o0_%JCukQ(&C=ف}Tv8'ŽEk)gTu=CB/0BS-ꝗ٘%X?מ4g P54bZxYcfؕj9+KS''ץT;C3R]F(ịȆm̆H5,.`ytӖSn]:kaEa0݊"GsF==b7Pl؋JW̶5/ݪTK=6ۙl4֯bSjٔjiex%3挨(gg7+Ĩ6%s=L140ZS6L؂$WidzrP<$ihݙ4rQ*EɲOfzwG&ę]+5#3/r IJ: tP}z%;z7x=T]#{V;5?#(CQh""@ŧ(2Bt‹ *i6[vl6'/|Tg>4Ga7uًͅ`Ȇx_ έ (|aBQ~"-*TK;$f`9Xӗ[GDfGf=ƭhTo*j@!w%'0AlhM-eKhdI2fʁArP^t8j< 4"m+s#HPq6;d4w2~䞭*Qv& rePe6V5͐kIUȸos2e~Fu$ſZCmd" (Tpfr`h]Y2jI#W 䆺V q:?=nq;r|`ic/7j$epl,9W,F &3(DJkdlT2Jwl]dV5– f.2F+bޘɭw.2F+dժ%ݝ'% Q8*m)){}IAFyw*@fوyqVI{MVSTYQ8ϭt8iצ PMQDæ`xJH6!1YB䟑1^i v+ĐT֠\gʍQ 4&Y娘~d"t (_jEi L-VTwJwM/}ެ6ƉQFώ .%r}i-;-QȔrҕfCeBi}6ik ,_fSiа=tBHuֽ. B9| igluID5 04bW =di&2=HHR9+zЎ‡훫$5 %bܥF XOϙ{1ZʜAq,M: b Ҍmt7tL2G(M.KhX\͆W2Dz/"^H%(1( = -V/xԤܚHGaQg >J]$ Ҁ\Nu(5i.=b*S.#בDqt&UyC:B5?:wp.Rf Fԡԝ P^L2 zgZy-Bklz[~ֻk$t-ѬX=hVHgTsm%ajuCkr"]iډIZy6}>Gؿ*g`xP@Wϋ~Zm,+ވj6we։W˗l]Y.u햷յSn\(& )I'Q2+Whudd%7}eF ܘ]չgjI>5WR,lx >jNMc wgXA[#6++{ۇN:H[Q`}|*˿|]f ofu=r}b'eRs\^ʃV.d<<37׎@#YW TZ)SWgntY @,Q8:*"ɖƏǎڑPEAywTF2楖i+9N* gc]qTOUHjyK[fǧS yI_2mXJBz,Th=g*F^].LdWKBRf V˔Q՜zALv@6ư2B\,hMȚ)F;z^]x_kN-_62Xɵ~~Xn *jD`m,*elgƫr =6)RhI!jYi?m'L䜂dȯLݝPTG;;6AqU"ɑ(_Mc[o-2kƲ]1 lDfKbS&W㑹%Q eK:--T-*]NqȎ`PIt |~YѦ-PwnM|0^iK<^/~%rOClR',W&m[(p<5]/Պ1bh-!LC J)-+"UD bW֪^ы$LlO \_yv'rTdEMg:WÚ$jFzx*^EYIk?M1Uͱ?C,:r|7t^-B/PȢ cle1*JbWP| thn5XekK3d]-QVOiLܴKro7T\vhSvbCꪐRz iew>e(DZN'*&]q.9mf8BeEj+4uDB9yRˊQ|uȇ qT=!_Q5 F쓬,yK⽚ʾL?_QwP$Z=5?PJSAn'W2 #[ƠX|3j!YLP|(ŧOrYc'WyDD\OdH[=d'@oܛU"E$a9BJCPs s&\eSxgAFeL*;.S)|B5EئkǶjWU+gr֩JiTRb6NL{ǕTmd"Q>Vs.JeDc&^v<\?',rO[g7W\kV͌mxMz%#, |Xu!&jnlIY꫰ıTZZ4&S PjjPЀ\ʺ2%aJ׷.;hlK9InڏgP7h+eq>\cbWjS%-Fz,zXVi=bIjeKn3=s!(=sfU`: "jqV\tB𫫿&ɂ/%B|#TD}LN*ЮxS.ݡmP+ۭ&g{Z暍ZwK2QyTs x}MYv̒':ھmB4ڇGZ@U]Tv kkQ';8MjK_1kίWqb*[T%]@]ԽRw|3[#,炯_;E\KP{ZMcg8)i0Z,F=wP|Te,en_GPg颚XΚK 'SJO BxmޫSN^;* |43:yJgud;1ͤgg:=BŖJ/cdK3C+{ҙGϰ%<1S鬈բfB|xc>JoN4\̛YCu(aMbLWWv ݉ fALPig;|fz]v0ݟp}7׹Z@t:F]ufH<ɵiAgHϘ^5٘ԏ:Jl_wSΕh}p7")fȀ.S_;Bvb"#TwGX+ѵ5{+7l yYEu̐MN| Jg{2bՋo ]a_ji@Fԩ089_LWvز u:-םf5|6$upUn(O3:[{!8z \΍ i&O}X*8bN|;ћV?lc~J ds}5iTlq;cuNcy #\0_Ś]\+~HcA|,fB־P"kEc^?{)I.e ]`~o;0hҟx76׍"mρRZw|_'S4 *)V7\cq2+B rq*l"%zRKmCRZ厖ơ(gs6<] rڼRwM02zRN)ڒԐ;Gmi::R|Ag^0E\_Rl?ؖzr*KSEOis(1[%:!6bF\&r`>va.WXcF>vQ+Eԯ:Q ͏*JUyfJNώ%4n ЙEi4A*+w~ICKBhL RRyE+w&Zӎ'*AEBR/$TmPbHPYyh.lzælݲyiFI#3&nB2rFA%m[OPXOjMF 8)շht˦sH\CҦFu;TQ>5 .%m@iêm;VʏFe%$3IqDj\Uq!'@4s)uc4x챶!wR2֜o)4+)B>Ew _Kσό9˩B xYrfJ\>cly H=oh.c"ykC䦷O.5h`ZÕF}J L!IEs9IsdXQD-t$5Vk1ib \QmyT :)}Zjۼ|_VmkZٰHiCQ$YzzM0[Ғ2^j-v*=;9ߴOwHn1o ˅2Mn{E[g:V(# )xh>L .01=#%P tU+K+?F&1 # 0u{dOB{IRJth$xːI*1A#rZYد*75G830ϫ?L,wmS~5$R?dߺ:.JJ1%Hi*eY'@BI6|gCe#^ ERqYLI*6gGluj:Txw\jȜH#miҒIgQ0 C;åO0 Zռ3Z&';Z"q4]/)-T{.\p`Q>:#frmlN.rQ+X-esEGu\7Lϕ ̰kC""g(R8-<`xYj& Q"!/=OׯdC 2A3vUFQݡ,02Bm*-K %H236Ju@-HhAxb24/ >rcU픨ZǔjKy56Gqh1lgD{D+"d6 ¼O1#鍅G )5*m"M#)qr.E8O!E%4 G..j}PL+:R-Gԩxĕ0 Vq )4kZ{Ma<<'LsYu1 $} ÑNdlZex>- hWuF)vik$\͡X~ yVdC#CҬ (jݧ=ai U4_,9&z|¡+JE*Zhxhp&]%)R9gƔgVJ䤕MrBBsieӻG*e(OٓT@`B0ZΪoe ij$tkuXdc4 whkYULGʚL^HhnM;ҩ3WmuBh񶢢9YS8=ڑ4eFʴ>"Le< "@"ųOQTZ._)]nժJ"+ yuhE"] h4!€Rwať+tqc z3$jr*IFN}I\'Lðʽ!tv<_Gx\'S?J(Jz׋Hm7=ޏQ51j' F;гjjl9 CȆMQA166FlJ DiU4zc&ixp/(`it4u5cלh6ՈKËMacNGӂEyOFRxG 9A\LCyJTy^} ՆÓe l Y[bG0fLm[^pXl6Ӓm>GL v#ܱ:nkۑ1-"D68X1I+CVJtJf7,3y)( {eTw89t3;0 eꊁnAcˈϻTSn3vf3I^OD}j%pq66eM.jXcK7<t~YƖ=U:tLVOTOJRҫBO}jvWذ-x sD{ɶ=}p9 TnuuEҦ]Y4 }ɮ^0&;mq8&?u^ItۼѪ;wj9ƈPsx1i<mlޣelڛ{YB8 cY.iqFF}IWr twf+hIT]TsW|R+B[6(𖳣e'eMj2}25gt~;󝌖I[xwp%փW9Z(QFA8 :C;N~MA^Z:Qec3lI0чDI}:`y#J5+`Gm\G1So uB.H, jXRS/,ZoiF]RdS8WI.ՆFҴڈOCM"J{l>Z~c@ Yľ_bl/yصϥ!S.B@3F:^ږ9iS?hg󦺠о'рc$N:xфG_:vHrO,ۢoo=BPSLёFuđD^Mѧ r)qfU o[,ںp߼^jA~Gos!5叵|b;1-xTbXojF-Ī16Jrɡ1J2$k9Y5*G؄6ZuI&_ hб7 p:CFwns}T\RܬtY/QpEs$fvxە$>k'Ht A9#OQE[5R'b⥝=7<3W^U:*.)Jha틋j\o( c=՞$L}.mlw;l{TXC4Yw;PLAiS?ٍ!;0A+芙5QygG3`@wr;W~C6wp٘*8 Xf+=MITETD1 ޡ 0ENzQ]B{CfhtԌز:V-i͌E;Rt%(RXs+T]!]xKi"Zu%8\I ]Zd"%ZrQ?%fDsvKr%IZVir!XEҘHHuWzR|![U^YbZ8l@WU+3b߅Mf)@~Y1ЎSS3;~$drDRuQyTz~R? <ۏUŃMK>a+-n+ ΘfFW ɈlɎna + /mҒ+oy3Lojx,hAʸDJ6;.VNܠq<זZj$ p!c*8,SIIFx{6y@SƇ.[Њi1!:<%C>< XވJ{>-mR/LLnI&F(w5;l'+_੾FIu3VuFɷt 5[\Efݦ%i 3iV0ڌNy&; KMTL_Py)C܎+=7]Y /U.qCyݎ$ǭ*?}2l]EQZtQ // -'5rP'L}7ͱQuNLh[c 4@ 2@%Yʘ>t`y8s3_܈@R"V[*ﺶ͊HnL찄嫖iSa[)NLWޖ]>Kb:,OXjS/K,(X>}gYқϘbFbEIu䝋]M"iVYe"E6 Dŧ Ry-n8A:p"aEK`WpVE=p]z^R$Cl N %Y$: hIP-}"sog?X#Y . _M5nzሇ0M0b],fVŨo%c0;GKw% Cu_(NИ~9D]W9!-N,U֥ZD 8I̽8]kMԇϟؾ/5e;2=ٹ ԧZ N&(V9ޖMsx[&|G{OD/~D&OS]KRyȡO6|P~jY>,!׸㲣$h| JH{AZ/h׉"EDfifQ}&܊fUr(8KNg-{I])6(v(4kRh.ih}?:8eLH%.9< ϢBEUzt n qU4gHtʃ[2w:_ӑh(X@RSKpy!43!}7wi 4H\}ߗiEd-tߞ]m|;R4V E绩  ASSGyY jd%pL<:j qh'\D[^BMGeNՏ^+h O)H7d Ui90iј>} b]FybIʖSrCԞ-*)=I ˍYy ɶ0)][@g@5hA@cam͢wv( Pnet!}1ɫyy'2Lҋt*w:Q%*檾t|8۬uevFg@6EP<>ߢmT'w! |^Ѥ5ϛ;#3[WX@]tҝzXF 3uy[ 5dES8nxAa?0! vtE)?̈́6~4yߞ 1|jO?hvP(16<6POM$1o"Y豙P7Q }W{1 4<$ڡXOR@T+'.+^9 -tE5rq-K9nކ"r51.eaD+GIP~s'X^+#ԙ5i Q}}9 UĠ&VM>iWCݱБVzxq-E rx&w C|Z<60 r(*"W<6&7'7.Na3a;a6dqu0Tvvtw"p<=>I1o,{c=7 k,ȩ쩨k~AEع޹޹ &<08/`0 7 d~Xal,zfì:nu\~Lٯ~-nn(><1 upnn -H@yxa=k촺uoykqwmoG<;߁y݊׃~¿=݀7xq n->///@C]blA]-70lے5~^g]W_M-Bx%w 7#_[ل i_lA>(?}=1_p=<~؂xOixDíݎ;;"idom q(-x-|[Og˗tZ8q=+qjxϱU8==&dqX۫R;a+<޻ |H/8Ni$SІ?aG@7Sa0p7dle|8zXۛdgUxO3_eWy*f;k;5tw%:A,xx x-^^ 1g~[ 5'!Ӑ)ilq/  {Ww3) CA?M <Dgek{5p\ + *<+\k ,E /1I\>\]*_߫*⿂|CuJ྆ ap9Xb jFQAB{q4w2"p9xUaqWCs/ߝ %*R/S x1nΫ @;4r0 B{hafj̆ `If6 aO`I" ' #\OV%`ACmX7p4A{omТxh~mDX< > m_4adHH\fX>Tiy]Bjp>LhEaxŘq8[%}ggGù!lp.~.I8g:Xy 3O~>p*~O@? DNBtw2p p* Q|q:xOG&ONNɠ ']S49P cc{4jH)Mfʘe ާ>)#Hcw ǽgzߙygz'z0RaҌ+ |!;ӛ|K|hr=5 tLqfi'y17Ez~4B/]W{n&V}|NН?s\pp /<\? xpJUS<J?y[ި?&0">]x xz[S (pNW}gJkjp M N ^oCw 76`:}§0rg&1H.jLF ~ 64Oqp>?s>~G6 }@> S Q1cQO3H.jLOinmx?i^J<|8ۨd̝ܴ8n)lmt҉M-ܯ\ū)l~G9c@ԏz$"=ϵH+[*niZy|%2җ'yVvL|+R~|Rě퐳 P1W~W*|Yޟ2ξVv5,E?)}A;K'0h="hK3Ofwvc9%x&\ KsOv I`;(]̲f36|38 ))4--% hn`RY`Gi%JXr73jְgK 4KR?yX[&hh3k :`yh1~h˃hCz`<a7o~F`w0!Bz w=l6JԊ`{3x L!l?LJ~ O?Aτx'ن觠^}z7@?72| 6oGmٷ݊{ %&z_0 ;J7M | ﷀ~ o%MHFl[ wBwbmRSS6JsK`"f`iF[.]FiNkK_>`oi6p10Wd㫐 nF=Hk/ jRȻr/aΛYHw&]`Pgkr_=]̓C υb` R}>ϟR^m6}1jp ~  w56x/ c,mo![{mqX&94_M>|$3Зf@ÄM ؿ3B>'@>.qḽ^꫟ۚ?1 Л<:x@7Mԋ ]['zs!cmB.m96\7B#?n#k:;3O,|; ԡ3۳6 ~6 p.J灗02BZg8 y988[w9q,qWC''TPONOOOA]~"\LJ!Èw d  EJ߃߭ݠݍw7Fq[:-]'_k>#_oN1<8ͨfGnSx? q4hh(Q#)#Z3~ My!w"ҘT&?C7X$ҚL{ oFHt 6׶_h:aO& p#tg #A;<8@ ڶ8MNZq 0v!O].E7 T,#ƃHK`sNA_eY@^hjk«}+<~ ›7Qo"IlC\½Xֶ+>>Nt{鯛Bä ^oaR@[ߏ5Qv 55 56~&݃ >Wxx.1u}q_+P~qm{1Yk0雅 ,Ld[hF Lp0)0}6[h&0a3qWJm˦Lk6}6QC8|iEI`0wn6 [&ɿ yƭdm+\t3.k<`> &mxax?K~ %Px^"w mdC-h[_3A}ڎ0^vr? ;_/sn` // F߀=GێڶFY+~m>Ux{Zhπ1q ^^E}2vOK?U1j'π8O mcx9h?CO??G!cSH1yَ|mG^#O O,uG#%}[==x\3x< <9=+;OF =Ͳ-H4YGދ mu/eh%6_ùם+=S7W2pc#O;T8T_&[M=};2'\d;o7/l)_y ~}[jm}GDE}vbɏ WN-\9qcZCe}m\?+mug׵z I+O6TzqkK~T'Y2&^6aWətJMVnfwގX ak]zJcWͥ]ˍCoG.^"ʩ[QmP@m̗7cm4?;>j]ؑMRT@fWs<JGH BK!!;6: Q =y I^Ͻ7kmkךLGg1|ES3T6z#gr}\%WG0~P8@>S^| 0#ʹA`%n° / c?}@X%|5[A0v!mC>a)%_w KU%isSzl}m9c`)s 10xя7/KjkC燍mXh:h/v>>kL~M~q8bʋ/Ƴo"}>F07!μwN/Ef&)Bϑdy8QNVgeOI= Fa:1 #$xdFl 7 fL^Ƚ{ˋ35O)v 'X[SzT_ 0fQH9Wڿd`!V`VS <10H>bb,&bb._D=Xs9~f(D;H`,?fYOlg,oʂÂj8pU闿d3ӈ% ) 0μ.$$dY*A:9亜 <+˙gYL, IQ!7ҐC?s >Ƚ{c'7WV/9DcDR^+́^ s k]b >ĝ@r}M_I36*G)ѥ9QM`E1f 4,"ѩ{m)Ӳi;sN9Yǂ! y$H"/ 9iGq2+BЅ .pbsRDŹ5zD%aq 3GfyD~'*") 9 r: 1ؘEg3gy)bǣOD}"~47sz<ţF#f,>(paM!L!B4hۙרߧ6!s\61~?ׅ@-fy^L㷘qXĘ0 =3\dsFژ] DA8"A]+g^k`􃵟(7&Fw~@ĩw߸w5;vE{-R{d>xwЙzEZMˀ,ِnvz'Ḱl]ڸO.G;rD3;ӏδQKA] )+sZChUwho]B}omdE,VZ { ^s_}N.ZW Zj r`k>EW[;Ek=\(ߥڜRkFlk $C`d6\11x7TRZ+ f4is͙ _3&qd}4Y|!vy;vطVDdpOFZ}[#lkn&Ϭ?wA3`NgntwcRf  m1mM ڭn`6(nFw+ICbߐ;V|o`~r7nعa~&kPQk;`>YOv|ɶ0C6Y&BSysҪMULURvu7=[ks3aeo-N)~35k_Ιω j춈\-҂ k!V?<<-:W[ a{?X[Ę,QH\O V Rls svBPμHI¹2N!L9Y \F>eU "K a"E2N bX b/mb/,f1X|I !@(OKrByl PHYŚ*Ͱia~3εF^r{sw坰6d۴֭\o˺<=*`%s>>H[<0 z/켰lZcu|%wGC#W+sG0.CpP? O||||͇y0ar/^I`w5Z5U?]jiIYȂB]Ct9HXqNb]Zu=k:rx*+Xk6-$s.uGo' (kźru H[J-aC >PÔ3T5`+ cdX]-(#\+1)eJQ f!.$vB!L` &v013_e?؄bO(BX-%Ji*G%l_oo f\91A!zyyt7MFvrNq [`nV@4 b(|vxv B DF$M^/k>x+ )9*U{cıW|*b1F,,v)/Rb Ҟ3 5 4MfLSt);2jI[I1&AʷubWwILs"S^dZoMo PG.RLQͦh};1&S,bE+**CBL>'fPA. 샔3W)eOL>_LLt;.r/+}`fP<Wcm8> Tu.mЏsp~<9n; ^~g^!kN0E)'\,|8p#E(e!@_,BEp@l\#_e$pWQ:PSGfJN3BU e1d'fo2 u r lcPD6k#dFGE( /P/L7+! n3q~yh?9 (EG5g[9 '@kn'Пi wM5'a)WfZ\gS>tio%wZX<⬆U*f[35BF+6FP eP̕/j6c6X{zݩje}w/pACc2}{E}riu Zw]9vyvUYFACyt*(>X]~==pQ.ka;DCD*>Kp>( a{/|HYR51\}"\b{/K3v|DB!'|ly5:Oi<݌<&~ԟ3+pgUuc={*ĕX?S5`jGlԯ#vװUg^ɲc702otSa|~FgTu9yUī"uFȮ߫썮 :O*?O3 ?0>?\O+9Q[_Ψ 2L RϺ2Z +={3eO™Wwh &Q;" B !vl EweΉ :kJas 0!J9ywa8D0~Q 1-ס `Gb(>"!>;SGd?)" EC l%N?=q~~>x:B'stԻo]BOl{]0?$CA{mf?ݰ}7|%~WEGsLtDwP>]}Wۏ|? gm~Hɵ;n1'9 }?N/7v}^Л}}K{=~߾E^*~7ݕkc7+#!G_=U=+MWlnv'Vwt.Ի Mg; ] ( Ћh1{⯊A&Ŧ/}i~ƒμ>&(##ø'=Aޞ gO0'`CB?ԛp'Wb= ð쥭G? ǩA>`l3W׾˘v-{%9mIN[“ȟD/<6%7hOۓv@kGLA"@l7a<Ca8}Fa7JΓ;XC9CiC`F`3gzmVNN7A #a Hǰ}/ , w0P9jZ}>A ;yweoxB?`䃉;gb0q@d@0z?O?}OGC~/6Bo w0F| `BadI?a#3X1ߑ?o(a_}OƳ$gJ8+X8gpVV( Xtq<{ⱋ,$`*5 y2DH ϳN{mfXlbB<;1M9 "Eb}qoYY]RYX-X9YXSy$CQ Fj8Hp'$a*m*1|RtiۗCKŏEl\Tζis8sM<'D*$C$"'pFⱏ73 bZ`+G8X z hl/h1bA"$C*kgb TB"1i7NRU M*L$Gpo8grN㌝3*uϬT_) -c>y4B q,_+OO*>)اO܂ނX┿_93v)RإK9ϗp/B빮b}.\|s9G/H\ /¾{i"Q_| 泇YWM{ܞ| ֊%Xysbm.~e?#ZXPPާR];iX, vm+Ʀb|iA!q T,9~/fTN %P EKY6rPWӵ=9q/a'YN3o)Rv"KkB(2 B_SZX| qY|*z('rbm.~<^m|?OӷDяAAbtn1>BB!XμOpܡFdyD1L "SdIFg#5 3U]r`~v'Y66g㻒*˅),&KaD_DNRgj f|o*nǮO̅tiϗ[Y ~ ߬l\{Z3E0IB0! DH^kMVܪ@(A7CNhp3n&V ;2wO}|(FoO cG }o11F)Dҿ.B]o15]Ɂܦb^SSSq*9J@őXrKb8+qg !1Mʩ g($nSlvhOc|n-i$wRt՚'S)Os0f ajG-2;So} ;):7uYKn|`S{Xc`4F!~$#(vv0S4 0I Dҿ.B7D1D&Ү@xT,;vn:=D=k$B9GGbY,e8-1L$4k "3 q'a;xa>&a,< cA?1 O+^JB^^<0KJy0 7LUxcs`.H瑩~%ԗ>Sk>,3y4곑{ \Rbn[v+)=/b7^{Q6_UJhO`i1;E"Y_}urS0ZNO_d>H6(6vVdl7Cͽdzi&uO. ;`;lRڴiE/b"^Pq%\X7?`ߘ=aJ_*=tճz^.G7zRϔmjŪTIsWC~2%nf!ٸɜb3Ba ;x@t i$IK'/`hB>0Yeb u bGcm>Qď_ Xq㰍'8 H$HTHC> 3 F}JoiOCQWϲoֻEn#߷1>R2B]PڟEԜiܩ22/W4p"h%9kɜk9 w0?ro5a6e6eܾ<͠D֒=44ZydcO6+ܰ+ RO4lS*~) ǡ.x35'V["θ:B'E]gg'2 )pp{KUme8T 0L iqwȾEkc; ס #3s}vKB3wG̥Əd͜m9~FcSsx!1\k5+mn[P옄|l _PPI_rZc_kZp79iA;)4F]#fp#fucrԼ}>OWi5MUdĶk%q+0&%-9͹SNC/D_ly;Z3x[EюK>B(b؈^("}{ګx-{]73]YgfsgsB1"/@|Ћ]oV> +J ;1{@O^r(b `W}!~~^kh_5Xg{wsS5Z j;nNإݩFWWPQ|/{;(?:<ȑ6nz/C{ &K.;+Ne$70zuxNsR zP8opӺ35v];j9ɏ) =?={]ͧe]b8PNZ}B5CO*nE^*p]c> KkkIjp#{n=BnӶ31oYg{5-]?o߅w$$AY YhO4(3_pw;GΑ%]+Qgd" EF'C75|_ji?s?KE$a )ا+𭊕_Ew;i_y^{A ]~*M^/owL[ɳ]rkwvG2%8vJֲ( ] y k) J^?W~}{ff1F=jH^}/˹qQ1*҇/hsyNa=}&&. y{a~ngfefot^ JÊ:Uv.+\gsyY ^04SOn*>^ռ7Fl}X}ui͓0tӱtlvjd]}j ħiz.)O/+SlLΧdS26$\z(]ԭݗk{\{W_E=3{o7p/}N|ܛX>`냏7'g ^ڜy_q7cv^a2~1~3u{#CFVmhe4D~;];0M ܁ri]4&JSE3;) wA3hͨ۹ -Ab3\#3BB;N]&{-6ZC3ŝ&6;QZCZ%n Ҟ[n䪇ѝ|w#5rۑCA_xzAOb@įw}ӏ~nsƭ;2wrZ'}A2Bolzc6n#5{;6=큏Г8BNnȺa ۮtc_dz1iL1}jLvmчx}hNE_*u*y ;-rshw9S0`o&t,tƾ#t_AY_܁Uڞ Vnx73nflKfЊ;h m'6aSMOb$NNnȺaӍ>tŧؕtIA  < oaAb>C-[ChGr:;_t_tOa8➬HяB:dPB\?WP^uφqb WJlBq~/+j"f<Y.'Vq2!ztl҉O:'pdrX ҷO@;XI+B`sp>ȁ*a짟+_\"Erv|]d.2V x~Z~E!q%V6藉9|_VρlXN= y&L2ow}}Q;xFg6u[a3l P}ϱRKyV[F  Y+6{>` ˱ ߵwmބSN;INOӓ)&龑gFl7 <oP8CϐpJbUʉU RPO)eYx vo[a.; ?t5[h[oC mk w٬b^d1|yv`6<Մ2BPPNY[a~\8kC 3?]@w<^ d rW^tp .s|QMsˌgp .R>EwAQAre˰)žRx < 6av;ٮ aw .:ȶ).gpYa+l!Yr敼3MeG2z%lدo8u+(^ABqݍ==>зqal8؀nޅ腳،[U,f4iS{5ٻ|L/S,~_ɯKu]|5HYb8P޻ edCˡ#O/X(r)F }_|LVO3vcnQ=ʼJO5gRo*leYo*=g+)]5_iYo־6[i'-QA>zamȜd=kα6Y4ȿ@UџE1Wޟڟme3c6̧<|dcL,zO-ٚŘ@u&uѹޑOϽE?2Pf)Da{QđDELRx22 aBчb}(~DH#}$Q E>;iϵv11*Mʌgr0&jFc,< cJc4Z)S/)m񌖏]>ǿ B8l34"Ӵ 8O}̵<>G'S4aיԽJrJV 7bddϡ8+ʑWSOʧ/Z `'W]>d݇Q(01ZEO6H^VJ@Z~=^A 2`,%/v* E|l PPE{0EԣE!vB[kkS%LM$c$2Lig uwK&3GlȂ iS)Ygmocw35$t޼bcVfļz>p >Sl^2g ̛dy#x+z\εJ/"~Exn.~g2bbSm >%/_(r@VA_+݀bm$&l-v;n';i}F?Z%μZ13Z}Mffd(*ߒ*\Ȯ*2^EƫJwo WB6vZyUImnRvB9ua;U3CݴV7Y(,AbMZ SB#*) N^j^EEnl Áb>6$B9eb(_,ls@s}˚7oo=iUW}f>S<~iy~^cԏ"?0vG91x';؃^8i>6*C*^⿊q%d|8LY8yP}o;AٹR!8N8JY6N[]j%UpUśʄSpe0e0Q 8 K~X~fϮ֟›pIv"'M5x^ʳ(C!?3 ^8B8Hc<+!8 G(2{kؽN$ };eu#"l_o___犯u-<-6P@^ oO]mϮ7]Q|YޅLX_4 P0o=palކ֣?ᜃ!|put/`ncutx~??i} Nԏ#?Uaś#pWM'#{*DP؇nv߇~~5kC A8a/3/3rcr:~=Bޏ0Cp>d/s^EH'L/֓؜$>'CI"! ~`? ѿL/+>D~H{a7Afw\q7nC6 Еb[ PJt#+\7Q߄|UpM#ZZ5< y0W1_00lfCrȵM9[]k8_5)! !2USw3VXNv,2n0NH6_#Ak]vi12|E31 z2VVVd B=yz;I<K$fA,X 1 _xB$@"$eZ~ԑyF{+XF EHAmM9ZozA9]kWks\ VR^l9,r=ztiإa_+ [n*X 9㻜rd.{>KٸV__;nD"(btz)A9 E&d[`+mȶm٢XY،~?ӨD_ɈWb_XN;YImz"- sK7گ "OX^}'Cq= z&,r܅X9 G/^Vx5L3̙{ӏ}2QdVc=X7YOʞ$oqʯ";(t1}'篓pi9ح2^ 8' 1" Y& bf`/3g)׊ }z1{x["oq o36o3Vgg{"A&1 bf`o ӑcF4|O3!;ȀLȂ ۇCz>,߇w,}~EUȄجv5mo9R\ke~\)\ cr11c czq3d|+V$֧ļT{@6,<}vg\`r~Ū U߯z|jg̕U+&CzQbUwVڄLL^UM\WPDJU6!~+ڑ;7?8G~}'XEj?s.në#n7GUfl!*wШU&sdU=C 2K/n[TՐ $V eȗV݂m5a" }4vGq"gŸc_[kB;qsr}7VA=ڊm8 .YStNE$fEshwSo%ܹwcٜ6q1;Cےн>u:):Y;!Bb~+Beq.֌Joyo2 zB1 Q\UHYX"_,D9W-=[%AUqV,E0`dA B pX +T__ݣ1;\:G8OǙC;ׁ0"+:( ۿQY? ꃑF?1D܁f0!]ׯ_5zJև WHRXbD=Y `,bD,$-JO4-LOB XOL]tuݺzY!zBduyۺz#6m([X} Yڬ%R%C)ZX  Q rl*\7!یn3v>bO?F8UQH9GeܸM RW󾧼fFE!Q6'Rd yLci$؍~H8&rN&ϓLgɒ0Q1 ߰}+ , #W3T2=MW O ^fAtHT)ߵ Cvs\ [׵a=%+ {du|0?ȶFD0i˹5oiaXۣGޔͱ~UJ~UqmbmY@`db"eG?Wx9#{ 7M,ٓӹ''iON38YOi0'd'b$M@v$c74fP6{aLxڤOμ ̪~dsg˳~b2ea,'rBiqm&py&0tt*gb煽~^K\/螔=yFM)<<"~bmN0Y16M1۵FL)&rr|峜2'q&Rx8]-P8U02YNzrOH]я9sID<;h7'asmZUB uӫ?jH|~7[V[*)լ93շ!Oz{"e\2> lRnUcvГz&!Kp};ʯcmc-|*|LqjR [U =S VM| Wm3ǫS߅|l7Qݰ| I8I8UsoJPq>44߾QP̟S5!lZg^TU%VHbU 7+,l-U)W*'8<>i˳s}UޙGEu mM1#.A6(8DQc2d(Qq˸" " ˜d\&of^2yǸ pHL4qɨ5v,WW9CN͜?~n}UuF5;rW.!V==w軋|kO(tn]k~{Q}dDm".]DBkGCII!#{,ZR;'pv줿] yblwЍ!vqMn D w[D ZE9Xn?b\i-'dufmf <5JNBޚD&;xۿvSlm~gWڻ}vmʞOm+0Ö )H̴-d|$Y?ɬEZI)S!> 6u3 ߹bryIϿ>/!RK*H56[#z"ΖGH=y,/TRK4eՐ$ts#V2|Xb'1F#l[BƓ\;[f\IOtuIH2#dݷՒ1$'8Mg":+dL\e.Ru^eL_,XR80| Y>qs pA\5{J |X>TS؟T' #ML M¼%G0Y]fX$<2aSOqRHeȒOF#S Fv '({@keabWSKee!< h-K\%lD_#QdAMFS2D1՘m >Ox}Ѐ8 4VJuq>Y@S3BR]-^+CxTjH(@0k$Cɔ$ ؜l -|+6(E}{ړ鶊am> J|H< Ir0>t0 혝mm5y[v|>k>{ց)Tn$3(;C'"qbX$B ȾvޟyӦ3FlDBo ]xW J4o ] ]h! n]W"׌ ={*_iZiJW ??}*_O, ȄjW6Xʵ~ W\yk×Ly^Wp dB_%| O_f,b<>l|VFj6Qԥ^\"1$B1iȗ)%( Q{{UDbz]%15E/Xti+;DQ˅]yr3?#bxS%PCX՞hڞ!~m_$#tX#kahM-EhHE]3ZD#ъV bXI]DfV1D"~̻X_,PiB>D!+Rg`!zQ3ﯪS̓Di W~Oh*јJԦLOZ})eȗ_A} a Ec ˠ_x0f~,%i>TGxY:fqي5V[JW7.a\0l|=re|j`a[ e/5'(/g i"*ݷ>OW{">3WpZB+ 7EM/_f&aEb4Q(QDDBWF"AQd@\" tf_;4%zŗXK  ob,Q%) 손Bϻh]Ʀ+f7\W]߸>gdߠu~l7_/*+a`#qM#H>ܔ7cwTO.?WDYh`]OY)-L{;h߹'+~t1A„,d>c%VfFlllh`(00&+ ?œ5{v  ׾- kbsB5ܣ/#(|'k7==9E"&9Z8Ϻ9Os%'%yy8ll-;HY,9̕T*-9Mj ~4Q+'R{vJ1&@#+9ñ(G'Dɻ(W_r*#W y(%'0Ev'A'eÔi"/aW9msH#p>ZeDǠ 2v29ȏ)/w.2K<=MzUcgmn^-P_ۦkPOߡU& 2u:d◥t#AƦ&ĮEoL+hVج7 `΁賰>Ko &Z6?ʾ6A }5:Fz&ȥ<}6vy7;WgkbL ZB "WAijlF DN `h51nM*d۰-kmA `Blec_={jwMUdx! l=tC~ d_zǺҝ؃كٝEl"!:vs7'1L#s$DA4{M>6YJ TuyI+r.[e;RcǚbX/Mz>~CoSǰbl ؈>KcA,lAvll'ޡ<ƵA,آLeǠ7By΄Dbb8O;x c&}"OHVdmb#,0'wlAIڒ'` b`6l0 d3= 2B| -!(P'rDƐH["cLdu$ s`6cu3[$~ī*'`+󧛽/.&BDy1,X8'+ʠB꒝B|%E%%PJ_;, I^*bVNCF,Ә%%ʥ`9f%VϽȋ"l%{-b E /ĦB /ӑQ^(}B1e鰚[V_+`9c^fTQbPLRMe\?I }P K;}⧵jiRvFs0 |$Q` E68,T# ZT*`ԟG<؍~,TA%׬ڕAERŸ$c'iA8]R͹3e,K%}m1||M"oS`*L'Dy.rV%AȹHr9JYBW]%UR6{Wt21hTTr8 4'Ӝ Nsz8͉4'3P4#Os;B5298 U'+ p[rTA%׬fT)fb?Y0Sگǡ {ؔFL҈RrՐN{-ײbְ:Y-*X*\FYFTqOE|.{>WĮ{y?@U "A6(**uk:Jk,| jޯb2+ze [EsCrpa2s)h# yK9?b#d]wP"s/0}!,.):`NO5? mS:#~Wn`rr ;N')C!y{k};=hO?`5W±wzPsJ;;!*uU>'v(sU6F"3xfLIFr  `}B+;KyzNBi ww`>P{gg"?_(%5A݁__(tWDyxlܭ$.;`;ʿ3cBq{ؿCE{7=aM88.տSw;!C;s`Olyo%ŔDq'(KNpd0a؅QQD4X{l];E1(Ŧ2[>|obgkQ eq12_R %̸WLYz> "w(9lj r $ }vauT&!2uyh(>r8Il+;q6l8MAq}I`\1W0 PNOqfQ#'N;+ӶɗM+$#Ev:s/;(` .H/ 0|DTimes New RomanTT ܖ 0ܖDTahomaew RomanTT ܖ 0ܖ" DWingdingsRomanTT ܖ 0ܖ0De0}fԚingsRomanTT ܖ 0ܖ@DArialngsRomanTT ܖ 0ܖ" A.  @n?" dd@  @@`` ( PU & 5-3 DH     !"#$%&'(),-_2$J_MXr$߿ߝXoifXr$g\Oy EkifY2$VAJ݌ KY2$q+׃cՆj <AA ̙ff@8,-g4CdCd  0ppp@  <4BdBd x 0Tʚ;ʚ;<4!d!d  x 0 <4dddd  x 0 20___PPT10 ___PPT9nu=!BWk@~PNG  IHDRF} PLTE3:tRNS@f cmPPJCmp0712Om9IDATc``b $<&40(Zжj˂AtM iIENDB`/ 0)&J *'*14?l+ X\course\cpeg323-04F\Final-Review-323-04F.pptO =. Final Review  a   8"Objectives of CPEG 323`  %Acquire solid knowledge in the analysis, design, implementation and evaluation of computer system organization with emphasis on instruction-set architecture and optimization Acquire basic knowledge of the interaction between system software (e.g. compilers) and hardware (architecture) design $%&b & 9#ABET 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  ?)Areas of Importancec(  Basics of computer organization Instruction set architectures Computer arithmetic Computer performance Data path and control Pipelining Memory Hierarchy  " b&   z 2Basics of Computer Organization c$  (Chapter 1 of text + slides Topic0, 1, 1a) General knowledge of computing history Historical perspectives Impacts of technological changes Market forces How architecture is affected by software and applications Basic structure of general purpose computer +? " i -- " +c?cic-c  4Instruction Set Architecturesc(  (Chapter 2 of book + Slides 2, 2a, 2b, 2c. 2d) What is ISA ? Role of ISA w.r.t. hardware and software MIPS instruction set architecture Basic Steps of MIPS instruction executionB/ " /cc  :$ More about ISA & `  ~ 4 style of ISAs: memory-to-memory accumulator machines stack machines register based ISA General vs. special purpose regsFL!`L`!`N    j   ;% More about ISA & `  * MIPS memory model data types and sizes little vs. big endings Register conventions MIPS operations (3 types) instruction format and fields addressing mode assembly vs. machine representation RISC vs. CISC Calling conventions and stack frames caller save vs. callee save parameter passing P.P1PUP3P0PPb.b1bU b 3b0bb4     <& More about ISA & `   System software and ISA role of system software tool chain: compiler, assembler, linker, etc. memory layout for C compilers runtime stack layout Interaction between ISA and OS Privileged mode, traps, etc Static vs. dynamic libraries `5  -`b5bbc a aa  6 Computer Arithmeticc(  (Chapter 3 of book + Topics 3, 3a, 3b, 3c, 3d, 3e) Number representations un/signed integers BCDs Two s complementf3 " ) " 3cc)c&]   ='8Computer Arithmetic  cont d`  Y Basic ALU design Integer adders (ripple carry, look ahead techniques) Integer multiply |F "  " `c(Fc$c(`( X  >(: Computer Arithmetic  cont d`  3 Real numbers IEEE-754 Representation FP Addition44` 3 @1Performance Evaluationa  w(Chapter 2 of book + Slides 4, 4a) Why performance evaluation ? Performance matrices Performance measurement BenchmarksB#U " #cUc x A2Performance matrices  P Time-based matrices CPI MIPS and MFLOPS Hardware based matrics and weakness PQ4 :   B3(Performance measurement and benchmarking))( ) H Sustained and peak performance Relative performance Benchmark classes H C4Processor Datapath and Controlc(&     (Chapter 5 of book + Slides 5, 5a, 5b, 5c) Datapath building blocks Single-cycle datapath and control Multi-cycle datapath and control And comparsion between themB+x " +cxct+          D+Data Path and Control`  E*Data Path and Control`  1-cycle implementation Multi-cycle implementation Finite-state machine Microcode0RG` ` R F, Pipelining `   Chapter 6, slides 6, 6a, 6b, 6c Pipelined data path and control Hazards What are harzards How many types of hazards? Related concept: data dependence and its representation Hazards resolutionLKZeZZK`e``&T  h G-A Pipelined Datapath`&    K5Hazards   Three types of hazards (data, control, structural) Concept of data dependence and dependence graphs Three types of data dependences that cause data hazards   L6 Hazards Detection and Resolution!!( ! w Hazards detection Hazards resolution architecture vs. software methods forwarding (bypassing) stalls and interlock&'Q'Q w M7Memory Hierarchy`  k Chapter 7, slides 7, 7a, 7b, 7c, 7d, 7e Memory hierarchy overview Cache and cache design Virtual memoryll` l H. Q1: Where can a block be placed in the upper level? (Block placement) Q2: How is a block found if it is in the upper level? (Block identification) Q3: Which block should be replaced on a miss? (Block replacement) Q4: What happens on a write? (Write strategy) bf.bf;bf3bf bfb  N8Cache Architecture  P The basics of cache Cache organization Cache replacement policy Cache design P O9 Cache Basics   What is cache ? Is it architecture visible ? Locality: temporal and spacial Cache hit/miss ratio How to compute effective cache access time ? Integration Cache in datapath designN E  [   P:Cache Organization`  Cache line and directory Cache organization Fully associative: an element can be in any block Direct mapping : an element can be in only one block Set-associative : an element can be in a group of blockf,,bbb bb  I/Memory Address`  ` R; Cache Design `   Cache parameters ( depending on organization and placement) Cache replacement policy  LRU, OPT, etc. Cache performance evaluation methodlb$1b f; b f;>b  T<Virtual Memory   Motivation of VM Virtual to physical address mapping: page and page table Page placement and size selection Page fault and replacement policy TLB: motivation and design issues Protection  U= VM vs. Cache   4 Technology factors Hardware vs. software tradeoffs 4 /TJQS-  0` @EoOV` @Eff؂o` MMMwww` 33f3Ƨgzf` 3ffE` JH3f̙ff` 33̙fRP` =bf>?" dd@,?wnd@ n< w_@nA``< n?" dd@   @@``PP   @ ` ` p>> F(>(CC'(  !T   "b  # " \   "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 "z\   "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 " 9 # t?A?60%"@`tB : 6D"tb `  ;# "|i4 tB <B 6D"`  tB = 6D"PP 2 >B  BCENGGHʲI[TQ zR(VzR(V[T`TzR(V[T`T" ? 6x "  X Click to edit Master title style!!  @  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  A 6 "``  j* c    B 6T6 "`n   l*  c    C 61 "`   l*  c   H  0޽h ?> @Eff؂o___PPT92p22 Blueprint*  0 **@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 AB 6D"442 B  ZBCENGGHʲI[TQ zR(VzR(V[T`TzR(V[T`T"   C 6XC  "Pp   X Click to edit Master title style!!  D `(C  Rectangle: Click to edit Master text styles Second level Third level Fourth level Fifth level"%p0u  C  [#Click to edit Master subtitle style$$  E 6,C  "`` C  j* c    F 61C  "`d'  C  l*  c    G 6C  "`  C  l*  c   H  0޽h ?/ >B @Eff؂oV 0  f( @@c@    0t<  18  <  f*b     0<  g 8 <  h*b   d  c $ ?4d  <   0,<   6b <  RClick to edit Master text styles Second level Third level Fourth level Fifth level!    S   6<  (1`  <  f*b     6<  (g ` <  h*b   H  0bf@ ? ̙3380___PPT10.G0~N XP(    0x,<  18  <  j* c     01<  g 8 <  l*  c     6+<  (1`  <  j* c     67<  (g ` <  l*  c   H  0bf@ ? ̙3380___PPT10.GPN 0 7/0(  x  c $dC C,#C C    6DC  c"B3  7Introduction to Computer Systems Engineering (CPEG 323)&8 8g 8 H  0޽h ? 333gggy___PPT10Y+D='  = @B +m  0 $(  r  S C ?  C  r  S UX  0 X(  x  c $L8 ?      `A @f0630  H  0޽h ? @Eff؂o80___PPT10.? $  0  $(   r   S 4ow?  w r   S Ww@0 w H   0޽h ? @Eff؂o80___PPT10.y'G$  0  $$(  $r $ S  PB ?  w r $ S VB @0 w H $ 0޽h ? @Eff؂o80___PPT10.r|0  0 0(0(  (x ( c $̕O ?  O  x ( c $LO @0 O  H ( 0޽h ? @Eff؂o80___PPT10.>U  0 XP(    C xG-gֳgֳ ?@D 4    Ngֳgֳ?Rn  ^Memory Hierarchiesc$  H  0޽h ? 333ggg$  0 @,$(  ,r , S mw?  w r , S `w@0 w H , 0޽h ? @Eff؂o80___PPT10.@w|F$  0 P0$(  0r 0 S F ?    r 0 S I @0   H 0 0޽h ? @Eff؂o80___PPT10.I   0 B:`4(  4 4 3 rc gֳgֳ ??xH     4 C x`i gֳgֳ ?@    H 4 0޽h ? 333gggy___PPT10Y+D='  = @B +   0  [(  x  c $?   x  c $U'@0    0"`j/? STAG ( 2a    0"`. ? UINDEX ( 2a    0"` ? fOffset within a block  ( 2a  z  BG3H ' Example 1: the basic memory accesses unit is  word , and one block has 4 words. Then this offset has 2 bits, pointing to a word in the block. Example 2: the basic memory accesses unit is  byte , and one block has 4 words, 1 word has 4 bytes. Then this offset has 4 bits, 2 bits pointing to a word in the block, another 2 bits to a byte in the word.^ ^c ^ ^r  6=    0 "`<y[ \ ] Block address ( 2a  H  0޽h ? @Eff؂o___PPT10i.?Qk+D='  = @B +  0 B:<(  < < 3 r{ gֳgֳ ??!    < C x8b gֳgֳ ?@fD    H < 0޽h ? 333ggg$  0 L$(  Lr L S ?   r L S @@0  H L 0޽h ? @Eff؂o80___PPT10.Ci}  0 P$(  Pr P S =?   r P S P @0  H P 0޽h ? @Eff؂o___PPT10i.+D='  = @B +. 0 bZ(     T1 ? :^   -  C x;'gֳgֳ ?  6a  - ^` H""DDffH  0bf@ ? a(: 0 D<p8(  8 8  T1 ? :^     8 C x,Y gֳgֳ ?  6a    @` H 8 0bf@ ? a(; 0 D<@(  @ @  T1 ? :^    @ C xp gֳgֳ ?  6a   @` H @ 0bf@ ? a(r ,0;h2468ws}FǾ%Q}e5Nz)Uw;(` .H/ 0|Oh+'0h< px$ <H h t  8Part I: Fundamentals for Hardware/Software Co-Design Guang R GaoPC:\Program Files\Microsoft Office\Templates\Presentation Designs\Blueprint.potGuang R. Gao67Microsoft PowerPoint@E@ ޡս@@ ZJ6@&G:g  X9  y--$xx--'--$:::--'-B( DD--$ --'-B( DD--$ --'-B( DD--$ --'-B( DD--$ --'-B( DD--$ --'-B( DD--$  --'-B( DD--$ $$%%%%%%%%$$--'-B( DD--$ ****++++****--'-B( DD--$ ///00000///--'-B( DD--$ 445555555544--'-B( DD--$ ::::;;;;::::--'-B( DD--$ ???@@@@@???--'-B( DD--$ DDEEEEEEEEDD--'-B( DD--$ JJJJKKKKJJJJ--'-B( DD--$ OOOPPPPPOOO--'-B( DD--$ TTUUUUUUUUTT--'-B( DD--$ ZZZZ[[[[ZZZZ--'-B( DD--$ ___`````___--'-B( DD--$ ddeeeeeeeedd--'-B( DD--$ jjjjkkkkjjjj--'-B( DD--$ ooopppppooo--'-B( DD--$ ttuuuuuuuutt--'-B( DD--$ xxxxx--'-B( DD--$ x x x x x --'-B( DD--$ xxxx--'-B( DD--$ xxxxx--'-B( DD--$ xxxxx--'-B( DD--$ x xxx --'-B( DD--$ %%x%x%x%x$x$%%%%%--'-B( DD--$ ++x+x*x*x*x***+++--'-B( DD--$ 00x0x/x/x//0000--'-B( DD--$ 55x5x5x5x4x455555--'-B( DD--$ ;;x;x:x:x:x:::;;;--'-B( DD--$ @@x@x?x?x??@@@@--'-B( DD--$ EExExExExDxDEEEEE--'-B( DD--$ KKxKxJxJxJxJJJKKK--'-B( DD--$ PPxPxOxOxOOPPPP--'-B( DD--$ UUxUxUxUxTxTUUUUU--'-B( DD--$ [[x[xZxZxZxZZZ[[[--'-B( DD--$ ``x`x_x_x__````--'-B( DD--$ eexexexexdxdeeeee--'-B( DD--$ kkxkxjxjxjxjjjkkk--'-B( DD--$ ppxpxoxoxoopppp--'-B( DD--$ uuxuxuxuxtxtuuuuu--'-B( DD--$ {{x{xzxzxzxzzz{{{--'-B( DD--$ xxxx--'-B( DD--$ xxxxx--'-B( DD--$ xxxxx--'-B( DD--$ xxxx--'-B( DD--$ xxxxx--'-B( DD--$ xxxxx--'o--%)--'o--%A--'o--%Y55--'o--%t --'o-- %     --'o--%)__--'o--%6h--'o-- %__``aaa``_^]]]--'@"Tahoma-. @E2 u 2005/12/5."System9-@"Tahoma-. @E 2 u9\.-@"Tahoma-. @E2 u:course.-@"Tahoma-. @E 2 u@\.-@"Tahoma-. @E2 uAcpeg323.-@"Tahoma-. @E 2 uH-.-@"Tahoma-. @E 2 uI05F.-@"Tahoma-. @E 2 uM\.-@"Tahoma-. @E2 uNFinal2.-@"Tahoma-. @E 2 uR-.-@"Tahoma-. @E2 uTReview.-@"Tahoma-. @E 2 uZ-.-@"Tahoma-. @E 2 u[323.-@"Tahoma-. @E 2 u_-.-@"Tahoma-. @E2 u`05F.ppt.-@"Tahoma-. @E 2 u1.-@Arial-. ff2 /5 Final Review.-@Arial-. ff92 ?!!Introduction to Computer Systems .-@Arial-. ff2 FA Engineeringw.-@Arial-. ff2 NC (CPEG 323).--. ff2 NC (CPEG 323).-(` .H/ 0|DTimes New RomanTT ܖ 0ܖDTahomaew RomanTT ܖ 0ܖ" DWingdingsRomanTT ܖ 0ܖ0De0}fԚingsRomanTT ܖ 0ܖ@DArialngsRomanTT ܖ 0ܖ" A.  @n?" dd@  @@`` ( PU & 5-3 DH     !"#$%&'(),-_2$J_MXr$߿ߝXoifXr$g\Oy EkifY2$VAJ݌ KY2$q+׃cՆj <AA ̙ff@8,-g4CdCd  0ppp@  <4BdBd x 0Tʚ;ʚ;<4!d!d  x 0 <4dddd  x 0 20___PPT10 ___PPT9nu=!BWk@~PNG  IHDRF} PLTE3:tRNS@f cmPPJCmp0712Om9IDATc``b $<&40(Zжj˂AtM iIENDB`/ 0)&J *'*14?l+ X\course\cpeg323-04F\Final-Review-323-04F.pptO =. Final Review  a   8"Objectives of CPEG 323`  %Acquire solid knowledge in the analysis, design, implementation and evaluation of computer system organization with emphasis on instruction-set architecture and optimization Acquire basic knowledge of the interaction between system software (e.g. compilers) and hardware (architecture) design $%&b & 9#ABET 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  ?)Areas of Importancec(  Basics of computer organization Instruction set architectures Computer arithmetic Computer performance Data path and control Pipelining Memory Hierarchy  " b  2Basics of Computer Organization c$  (Chapter 1 of text + slides Topic0, 1, 1a) General knowledge of computing history Historical perspectives Impacts of technological changes Market forces How architecture is affected by software and applications Basic structure of general purpose computer +? " i -- " +c?cic-c  4Instruction Set Architecturesc(  (Chapter 2 of book + Slides 2, 2a, 2b, 2c. 2d) What is ISA ? Role of ISA w.r.t. hardware and software MIPS instruction set architecture Basic Steps of MIPS instruction executionB/ " /cc  :$ More about ISA & `  ~ 4 style of ISAs: memory-to-memory accumulator machines stack machines register based ISA General vs. special purpose regsFL!`L`!`N    j   ;% More about ISA & `  * MIPS memory model data types and sizes little vs. big endings Register conventions MIPS operations (3 types) instruction format and fields addressing mode assembly vs. machine representation RISC vs. CISC Calling conventions and stack frames caller save vs. callee save parameter passing P.P1PUP3P0PPb.b1bU b 3b0bb4     <& More about ISA & `   System software and ISA role of system software tool chain: compiler, assembler, linker, etc. memory layout for C compilers runtime stack layout Interaction between ISA and OS Privileged mode, traps, etc Static vs. dynamic libraries `5  -`b5bbc a aa  6 Computer Arithmeticc(  (Chapter 3 of book + Topics 3, 3a, 3b, 3c, 3d, 3e) Number representations un/signed integers BCDs Two s complementf3 " ) " 3cc)c&]   ='8Computer Arithmetic  cont d`  Y Basic ALU  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoqrstuvwxyz{|}~Root EntrydO)^PicturesCurrent UserJSummaryInformation(p<PowerPoint Document(KDocumentSummaryInformation8DTimes New RomanTT ܖ 0ܖDTahomaew RomanTT ܖ 0ܖ" DWingdingsRomanTT ܖ 0ܖ0De0}fԚingsRomanTT ܖ 0ܖ@DArialngsRomanTT ܖ 0ܖ" A.  @n?" dd@  @@`` ( PU & 5-3 DH     !"#$%&'(),-_2$J_MXr$߿ߝXoifXr$g\Oy EkifY2$VAJ݌ KY2$q+׃cՆj <AA ̙ff@8,-g4CdCd  0ppp@  <4BdBd x 0Tʚ;ʚ;<4!d!d  x 0 <4dddd  x 0 20___PPT10 ___PPT9nu=!BWk@~PNG  IHDRF} PLTE3:tRNS@f cmPPJCmp0712Om9IDATc``b $<&40(Zжj˂AtM iIENDB`/ 0)&J *'*14?l+ X\course\cpeg323-04F\Final-Review-323-04F.pptO =. Final Review  a   8"Objectives of CPEG 323`  %Acquire solid knowledge in the analysis, design, implementation and evaluation of computer system organization with emphasis on instruction-set architecture and optimization Acquire basic knowledge of the interaction between system software (e.g. compilers) and hardware (architecture) design $%&b & 9#ABET 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  ?)Areas of Importancec(  Basics of computer organization Instruction set architectures Computer arithmetic Computer performance Data path and control Pipelining Memory Hierarchy  " b  2Basics of Computer Organization c$  (Chapter 1 of text + slides Topic0, 1, 1a) General knowledge of computing history Historical perspectives Impacts of technological changes Market forces How architecture is affected by software and applications Basic structure of general purpose computer +? " i -- " +c?cic-c  4Instruction Set Architecturesc(  (Chapter 2 of book + Slides 2, 2a, 2b, 2c. 2d) What is ISA ? Role of ISA w.r.t. hardware and software MIPS instruction set architecture Basic Steps of MIPS instruction executionB/ " /cc  :$ More about ISA & `  ~ 4 style of ISAs: memory-to-memory accumulator machines stack machines register based ISA General vs. special purpose regsFL!`L`!`N    j   ;% More about ISA & `  * MIPS memory model data types and sizes little vs. big endings Register conventions MIPS operations (3 types) instruction format and fields addressing mode assembly vs. machine representation RISC vs. CISC Calling conventions and stack frames caller save vs. callee save parameter passing P.P1PUP3P0PPb.b1bU b 3b0bb4     <& More about ISA & `   System software and ISA role of system software tool chain: compiler, assembler, linker, etc. memory layout for C compilers runtime stack layout Interaction between ISA and OS Privileged mode, traps, etc Static vs. dynamic libraries `5  -`b5bbc a aa  6 Computer Arithmeticc(  (Chapter 3 of book + Topics 3, 3a, 3b, 3c, 3d, 3e) Number representations un/signed integers BCDs Two s complementf3 " ) " 3cc)c&]   ='8Computer Arithmetic  cont d`  Y Basic ALU design Integer adders (ripple carry, look ahead techniques) Integer multiply |F "  " `c(Fc$c(`( X  >(: Computer Arithmetic  cont d`  3 Real numbers IEEE-754 Representation FP Addition44` 3 @1Performance Evaluationa  w(Chapter 4 of book + Slides 4, 4a) Why performance evaluation ? Performance matrices Performance measurement BenchmarksB#U " #cUc&   n A2Performance matrices  P Time-based matrices CPI MIPS and MFLOPS Hardware based matrics and weakness PQ4 :   B3(Performance measurement and benchmarking))( ) H Sustained and peak performance Relative performance Benchmark classes H C4Processor Datapath and Controlc(&     (Chapter 5 of book + Slides 5, 5a, 5b, 5c) Datapath building blocks Single-cycle datapath and control Multi-cycle datapath and control And comparsion between themB+x " +cxct+          D+Data Path and Control`  E*Data Path and Control`  1-cycle implementation Multi-cycle implementation Finite-state machine Microcode0RG` ` R F, Pipelining `   Chapter 6, slides 6, 6a, 6b, 6c Pipelined data path and control Hazards What are harzards How many types of hazards? Related concept: data dependence and its representation Hazards resolutionLKZeZZK`e``&T  h G-A Pipelined Datapath`&    K5Hazards   Three types of hazards (data, control, structural) Concept of data dependence and dependence graphs Three types of data dependences that cause data hazards   L6 Hazards Detection and Resolution!!( ! w Hazards detection Hazards resolution architecture vs. software methods forwarding (bypassing) stalls and interlock&'Q'Q w M7Memory Hierarchy`  k Chapter 7, slides 7, 7a, 7b, 7c, 7d, 7e Memory hierarchy overview Cache and cache design Virtual memoryll` l H. Q1: Where can a block be placed in the upper level? (Block placement) Q2: How is a block found if it is in the upper level? (Block identification) Q3: Which block should be replaced on a miss? (Block replacement) Q4: What happens on a write? (Write strategy) bf.bf;bf3bf bfb  N8Cache Architecture  P The basics of cache Cache organization Cache replacement policy Cache design P O9 Cache Basics   What is cache ? Is it architecture visible ? Locality: temporal and spacial Cache hit/miss ratio How to compute effective cache access time ? Integration Cache in datapath designN E  [   P:Cache Organization`  Cache line and directory Cache organization Fully associative: an element can be in any block Direct mapping : an element can be in only one block Set-associative : an element can be in a group of blockf,,bbb bb  I/Memory Address`  ` R; Cache Design `   Cache parameters ( depending on organization and placement) Cache replacement policy  LRU, OPT, etc. Cache performance evaluation methodlb$1b f; b f;>b  T<Virtual Memory   Motivation of VM Virtual to physical address mapping: page and page table Page placement and size selection Page fault and replacement policy TLB: motivation and design issues Protection  U= VM vs. Cache   4 Technology factors Hardware vs. software tradeoffs 4 /TJQSy  0 0(  x  c $2?   x  c $W@j   H  0޽h ? @Eff؂oy___PPT10Y+D='  = @B +r@8719Uw;      !"#$%&'()*+,-./0123456789:;<=>?@A՜.+,0    kOn-screen ShowEECE of UdelK %Times New RomanTahoma Wingdings ¼wArial Blueprint Final ReviewObjectives of CPEG 323ABET Outcomes Areas of Importance Basics of Computer OrganizationInstruction Set ArchitecturesMore about ISA More about ISA More about ISA Computer ArithmeticComputer Arithmetic C contd Computer Arithmetic C contdPerformance EvaluationPerformance matrices)Performance measurement and benchmarkingProcessor Datapath and ControlData Path and ControlData Path and Control PipeliningA Pipelined DatapathHazards!Hazards Detection and ResolutionMemory Hier  design Integer adders (ripple carry, look ahead techniques) Integer multiply |F "  " `c(Fc$c(`( X  >(: Computer Arithmetic  cont d`  3 Real numbers IEEE-754 Representation FP Addition44` 3 @1Performance Evaluationa  w(Chapter 4 of book + Slides 4, 4a) Why performance evaluation ? Performance matrices Performance measurement BenchmarksB#U " #cUc x A2Performance matrices  P Time-based matrices CPI MIPS and MFLOPS Hardware based matrics and weakness PQ4 :   B3(Performance measurement and benchmarking))( ) H Sustained and peak performance Relative performance Benchmark classes H C4Processor Datapath and Controlc(&     (Chapter 5 of book + Slides 5, 5a, 5b) Datapath building blocks Single-cycle datapath and control Multi-cycle datapath and control And comparsion between themB'x " 'cxc#            D+Data Path and Control`  E*Data Path and Control`  1-cycle implementation Multi-cycle implementation Finite-state machine Microcode0RG` ` R F, Pipelining `   Chapter 6, slides 6, 6a, 6b, 6c Pipelined data path and control Hazards What are harzards How many types of hazards? Related concept: data dependence and its representation Hazards resolutionLKZeZZK`e``&T  h G-A Pipelined Datapath`&    K5Hazards   Three types of hazards (data, control, structural) Concept of data dependence and dependence graphs Three types of data dependences that cause data hazards   L6 Hazards Detection and Resolution!!( ! w Hazards detection Hazards resolution architecture vs. software methods forwarding (bypassing) stalls and interlock&'Q'Q w M7Memory Hierarchy`  k Chapter 7, slides 7, 7a, 7b, 7c, 7d, 7e Memory hierarchy overview Cache and cache design Virtual memoryll` l H. Q1: Where can a block be placed in the upper level? (Block placement) Q2: How is a block found if it is in the upper level? (Block identification) Q3: Which block should be replaced on a miss? (Block replacement) Q4: What happens on a write? (Write strategy) bf.bf;bf3bf bfb  N8Cache Architecture  P The basics of cache Cache organization Cache replacement policy Cache design P O9 Cache Basics   What is cache ? Is it architecture visible ? Locality: temporal and spacial Cache hit/miss ratio How to compute effective cache access time ? Integration Cache in datapath designN E  [   P:Cache Organization`  Cache line and directory Cache organization Fully associative: an element can be in any block Direct mapping : an element can be in only one block Set-associative : an element can be in a group of blockf,,bbb bb  I/Memory Address`  ` R; Cache Design `   Cache parameters ( depending on organization and placement) Cache replacement policy  LRU, OPT, etc. Cache performance evaluation methodlb$1b f; b f;>b  T<Virtual Memory   Motivation of VM Virtual to physical address mapping: page and page table Page placement and size selection Page fault and replacement policy TLB: motivation and design issues Protection  U= VM vs. Cache   4 Technology factors Hardware vs. software tradeoffs 4 /TJQSy  0 0(  x  c $\Cw?  w x  c $Hw@j  w H  0޽h ? @Eff؂oy___PPT10Y+D=' 1 = @B +r9Cu49xUw;(` .H/ 0|DTimes New RomanTT ܖ 0ܖDTahomaew RomanTT ܖ 0ܖ" DWingdingsRomanTT ܖ 0ܖ0De0}fԚingsRomanTT ܖ 0ܖ@DArialngsRomanTT ܖ 0ܖ" A.  @n?" dd@  @@`` ( PU & 5-3 DH     !"#$%&'(),-_2$J_MXr$߿ߝXoifXr$g\Oy EkifY2$VAJ݌ KY2$q+׃cՆj <AA ̙ff@8,-g4CdCd  0ppp@  <4BdBd x 0Tʚ;ʚ;<4!d!d  x 0 <4dddd  x 0 20___PPT10 ___PPT9nu=!BWk@~PNG  IHDRF} PLTE3:tRNS@f cmPPJCmp0712Om9IDATc``b $<&40(Zжj˂AtM iIENDB`/ 0)&J *'*14?l+ X\course\cpeg323-04F\Final-Review-323-04F.pptO =. Final Review  a   8"Objectives of CPEG 323`  %Acquire solid knowledge in the analysis, design, implementation and evaluation of computer system organization with emphasis on instruction-set architecture and optimization Acquire basic knowledge of the interaction between system software (e.g. compilers) and hardware (architecture) design $%&b & 9#ABET 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  ?)Areas of Importancec(  Basics of computer organization Instruction set architectures Computer arithmetic Computer performance Data path and control Pipelining Memory Hierarchy  " b  2Basics of Computer Organization c$  (Chapter 1 of text + slides Topic0, 1, 1a) General knowledge of computing history Historical perspectives Impacts of technological changes Market forces How architecture is affected by software and applications Basic structure of general purpose computer +? " i -- " +c?cic-c  4Instruction Set Architecturesc(  (Chapter 2 of book + Slides 2, 2a, 2b, 2c. 2d) What is ISA ? Role of ISA w.r.t. hardware and software MIPS instruction set architecture Basic Steps of MIPS instruction executionB/ " /cc  :$ More about ISA & `  ~ 4 style of ISAs: memory-to-memory accumulator machines stack machines register based ISA General vs. special purpose regsFL!`L`!`N    j   ;% More about ISA & `  * MIPS memory model data types and sizes little vs. big endings Register conventions MIPS operations (3 types) instruction format and fields addressing mode assembly vs. machine representation RISC vs. CISC Calling conventions and stack frames caller save vs. callee save parameter passing P.P1PUP3P0PPb.b1bU b 3b0bb4     <& More about ISA & `   System software and ISA role of system software tool chain: compiler, assembler, linker, etc. memory layout for C compilers runtime stack layout Interaction between ISA and OS Privileged mode, traps, etc Static vs. dynamic libraries `5  -`b5bbc a aa  6 Computer Arithmeticc(  (Chapter 3 of book + Topics 3, 3a, 3b, 3c, 3d, 3e) Number representations un/signed integers BCDs Two s complementf3 " ) " 3cc)c&]   ='8Computer Arithmetic  cont d`  Y Basic ALU design Integer adders (ripple carry, look ahead techniques) Integer multiply |F "  " `c(Fc$c(`( X  >(: Computer Arithmetic  cont d`  3 Real numbers IEEE-754 Representation FP Addition44` 3 @1Performance Evaluationa  w(Chapter 4 of book + Slides 4, 4a) Why performance evaluation ? Performance matrices Performance measurement BenchmarksB#U " #cUc x A2Performance matrices  P Time-based matrices CPI MIPS and MFLOPS Hardware based matrics and weakness PQ4 :   B3(Performance measurement and benchmarking))( ) H Sustained and peak performance Relative performance Benchmark classes H C4Processor Datapath and Controlc(&     (Chapter 5 of book + Slides 5, 5a, 5b) Datapath building blocks Single-cycle datapath and control Multi-cycle datapath and control And comparsion between themB'x " 'cxc#            D+Data Path and Control`  E*Data Path and Control`  1-cycle implementation Multi-cycle implementation Finite-state machine Microcode0RG` ` R F, Pipelining `   Chapter 6, slides 6, 6a, 6b, 6c Pipelined data path and control Hazards What are harzards How many types of hazards? Related concept: data dependence and its representation Hazards resolutionLKZeZZK`e``&T  h G-A Pipelined Datapath`&    K5Hazards   Three types of hazards (data, control, structural) Concept of data dependence and dependence graphs Three types of data dependences that cause data hazards   L6 Hazards Detection and Resolution!!( ! w Hazards detection Hazards resolution architecture vs. software methods forwarding (bypassing) stalls and interlock&'Q'Q w M7Memory Hierarchy`  k Chapter 7, slides 7, 7a, 7b, 7c, 7d, 7e Memory hierarchy overview Cache and cache design Virtual memoryll` l H. Q1: Where can a block be placed in the upper level? (Block placement) Q2: How is a block found if it is in the upper level? (Block identification) Q3: Which block should be replaced on a miss? (Block replacement) Q4: What happens on a write? (Write strategy) bf.bf;bf3bf bfb  N8Cache Architecture  P The basics of cache Cache organization Cache replacement policy Cache design P O9 Cache Basics   What is cache ? Is it architecture visible ? Locality: temporal and spacial Cache hit/miss ratio How to compute effective cache access time ? Integration Cache in datapath designN E  [   P:Cache Organization`  Cache line and directory Cache organization Fully associative: an element can be in any block Direct mapping : an element can be in only one block Set-associative : an element can be in a group of blockf,,bbb bb  I/Memory Address`  ` R; Cache Design `   Cache parameters ( depending on organization and placement) Cache replacement policy  LRU, OPT, etc. Cache performance evaluation methodlb$1b f; b f;>b  T<Virtual Memory   Motivation of VM Virtual to physical address mapping: page and page table Page placement and size selection Page fault and replacement policy TLB: motivation and design issues Protection  U= VM vs. Cache   4 Technology factors Hardware vs. software tradeoffs 4 /TJQSrAx4xгUw<(` .H/ 0|DTimes New RomanTTd/ܖ 0ܖDTahomaew RomanTTd/ܖ 0ܖ" DWingdingsRomanTTd/ܖ 0ܖ0De0}fԚingsRomanTTd/ܖ 0ܖ@DArialngsRomanTTd/ܖ 0ܖ A.  @n?" dd@  @@`` ( PU & 5-3 DH     !"#$%&'(),-_2$J_MXr$߿ߝXoifXr$g\Oy EkifY2$VAJ݌ KY2$q+׃cՆj <AA ̙ff@8,-g4HdHd< 0Dppp@  <4BdBd x 0Tʚ;ʚ;<4!d!d  x 0 <4dddd  x 0 20___PPT10 ___PPT9nu=!BWk@~PNG  IHDRF} PLTE3:tRNS@f cmPPJCmp0712Om9IDATc``b $<&40(Zжj˂AtM iIENDB`/ 0)&J *'*14?l+ X\course\cpeg323-05F\Final-Review-323-05F.pptO =G0 Final Review  a   8"Objectives of CPEG 323`  %Acquire solid knowledge in the analysis, design, implementation and evaluation of computer system organization with emphasis on instruction-set architecture and optimization Acquire basic knowledge of the interaction between system software (e.g. compilers) and hardware (architecture) design $%&b & 9#ABET 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  ?)Areas of Importancec(  Basics of computer organization Instruction set architectures Computer arithmetic Comparchy Slide 24Cache Architecture Cache BasicsCache OrganizationMemory Address Cache DesignVirtual Memory VM vs. Cache  Fonts UsedDesign Template Slide Titles&_yKDavid L. MillsDavid L. Millsuter performance Data path and control Pipelining Memory Hierarchy  " b  2Basics of Computer Organization c$  (Chapter 1 of text + slides Topic0, 1, 1a) General knowledge of computing history Historical perspectives Impacts of technological changes Market forces How architecture is affected by software and applications Basic structure of general purpose computer +? " i -- " +c?cic-c  4Instruction Set Architecturesc(  (Chapter 2 of book + Slides 2, 2a, 2b, 2c. 2d) What is ISA ? Role of ISA w.r.t. hardware and software MIPS instruction set architecture Basic Steps of MIPS instruction executionB/ " /cc  :$ More about ISA & `  ~ 4 style of ISAs: memory-to-memory accumulator machines stack machines register based ISA General vs. special purpose regsFL!`L`!`N    j   ;% More about ISA & `  * MIPS memory model data types and sizes little vs. big endings Register conventions MIPS operations (3 types) instruction format and fields addressing mode assembly vs. machine representation RISC vs. CISC Calling conventions and stack frames caller save vs. callee save parameter passing P.P1PUP3P0PPb.b1bU b 3b0bb4     <& More about ISA & `   System software and ISA role of system software tool chain: compiler, assembler, linker, etc. memory layout for C compilers runtime stack layout Interaction between ISA and OS Privileged mode, traps, etc Static vs. dynamic libraries `5  -`b5bbc a aa  6 Computer Arithmeticc(  (Chapter 3 of book + Topics 3, 3a, 3b, 3c, 3d, 3e) Number representations un/signed integers BCDs Two s complementf3 " ) " 3cc)c&]   ='8Computer Arithmetic  cont d`  Y Basic ALU design Integer adders (ripple carry, look ahead techniques) Integer multiply |F "  " `c(Fc$c(`( X  >(: Computer Arithmetic  cont d`  3 Real numbers IEEE-754 Representation FP Addition44` 3 @1Performance Evaluationa  w(Chapter 4 of book + Slides 4, 4a) Why performance evaluation ? Performance matrices Performance measurement BenchmarksB#U " #cUc x A2Performance matrices`  P Time-based matrices CPI MIPS and MFLOPS Hardware based matrics and weakness "PQ`4 :   B3(Performance measurement and benchmarking))b( ) H Sustained and peak performance Relative performance Benchmark classesII` H C4Processor Datapath and Controlc(&     (Chapter 5 of book + Slides 5, 5a, 5b) Datapath building blocks Single-cycle datapath and control Multi-cycle datapath and control And comparsion between themB'x " 'cxct'          D+Data Path and Control`  E*Data Path and Control`  1-cycle implementation Multi-cycle implementation Finite-state machine Microcode0RG` ` R F, Pipelining `   Chapter 6, slides 6, 6a, 6b, 6c Pipelined data path and control Hazards What are hazards How many types of hazards? Related concept: data dependence and its representation Hazards resolutionLKZdZZK`d``&T  h G-A Pipelined Datapath`&    K5Hazards`   Three types of hazards (data, control, structural) Concept of data dependence and dependence graphs Three types of data dependences that cause data hazards `  L6 Hazards Detection and Resolution!!b( ! w Hazards detection Hazards resolution architecture vs. software methods forwarding (bypassing) stalls and interlock.'Q'`Q` w M7Memory Hierarchy`  k Chapter 7, slides 7, 7a, 7b, 7c, 7d, 7e Memory hierarchy overview Cache and cache design Virtual memoryll` l H. Q1: Where can a block be placed in the upper level? (Block placement) Q2: How is a block found if it is in the upper level? (Block identification) Q3: Which block should be replaced on a miss? (Block replacement) Q4: What happens on a write? (Write strategy) bf.bf;bf3bf bfb  N8Cache Architecture`  P The basics of cache Cache organization Cache replacement policy Cache designQQ` P O9 Cache Basics `   What is cache ? Is it architecture visible ? Locality: temporal and spacial Cache hit/miss ratio How to compute effective cache access time ? Integration Cache in datapath design`N E  [   P:Cache Organization`  Cache line and directory Cache organization Fully associative: an element can be in any block Direct mapping : an element can be in only one block Set-associative : an element can be in a group of blockf,,bbb bb  I/Memory Address`  ` R; Cache Design `   Cache parameters ( depending on organization and placement) Cache replacement policy  LRU, OPT, etc. Cache performance evaluation methodlb$1b f; b f;>b  T<Virtual Memory`   Motivation of VM Virtual to physical address mapping: page and page table Page placement and size selection Page fault and replacement policy TLB: motivation and design issues Protection`  U= VM vs. Cache`   4 Technology factors Hardware vs. software tradeoffs55` 4 /TJQS-  0` @EoOV` @Eff؂o` MMMwww` 33f3Ƨgzf` 3ffE` JH3f̙ff` 33̙fRP` =bf>?" dd@,?wnd@ n< w_@nA``< n?" dd@   @@``PP   @ ` ` p>> F(>(CC'(  !T   "b  # " \   "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 "z\   "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 " 9 # t?A?60%"@`tB : 6D"tb `  ;# "|i4 tB <B 6D"`  tB = 6D"PP 2 >B  BCENGGHʲI[TQ zR(VzR(V[T`TzR(V[T`T" ? 6 "  X Click to edit Master title style!!  @  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  A 6, "``  j* c    B 6  "`n   l*  c    C 6p "`   l*  c   H  0޽h ?> @Eff؂o___PPT92p22 Blueprint*  0 **@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 AB 6D"442 B  ZBCENGGHʲI[TQ zR(VzR(V[T`TzR(V[T`T"   C 607 "Pp   X Click to edit Master title style!!  D 9 Rectangle: Click to edit Master text styles Second level Third level Fourth level Fifth level"%p0u   [#Click to edit Master subtitle style$$  E 6> "``  j* c    F 6 = "`d'   l*  c    G 6H "`   l*  c   H  0޽h ?/ >B @Eff؂o0  0 p0(  x  c $t?  t x  c $`t@0 t H  0޽h ? @Eff؂o80___PPT10.>Ur, FI,UKU1