ࡱ> dabc`!94`*(p*wx= tչwf6ǘ%@K `ƒ@"" 0P!Ip=!>QOAD-bP}U`s-}ƲQT0ܛ3;;&d7ffs}H*!+ MH˗H$p>BήҀAyPRܤB΅o02737B}ۢk#9H 7Q@A`ok{ xR_B^t҄!zGm-\c8+D{!I2 ejFX7W/LF 㥳}W%C/Gwײ6umW/~n}i*[؞҆oxXvn΀ ٘ܐ/ Bz,3:63]qv p (v6<(yqlˏځ&4.v,q1n6sVڲKc(alJ.8 WM'U>2UWA/^tr𫀿wΞioy\r5U:yqmdagxC{[y8 %> *2W}nw߷=}䶦/nq;d]8K7]}mI,.H}* vx&z;wSt3-A;_1Dul290q|Xe?w+q4!Ϧa8 lrq-ҺHyuw`~<};^oZ,(*>%c\cLFMdK :u1•+pοqy/~)9ۡނLj0 8 *(C\zdTw{Oye@B^FRЪN4>9qBhPw 5p2KNn"Q(`s%<ⴠĜM&˼skzLu0N=L OQc!8-I4(۲a -::$ ]v~#^kOzЎ uJP9 }D}&gV1O3C{!; `9cr}fB@q/`u:_e}F_:LFXل<rx7QZh?=m6N/OЇ똞?;|2Y͆]l~r` j1=<O?l ;rBEu,wo<jIT__0+7[u5`jxI;[Mֆ N.TS(^0>z[mf <,w$~ciY<a:Fg,";;::O3!\1L?|/ y'c?΃>3xy}[n{(h֭W+c?(Vcʩڜxm`Ejgkrsoo]W?ӺqԴvhV/嬎ǒ!wnt4 >>0!ⷲ#x N-9la:箦%ԳAhLn]H%߿՜?{:w;t9_w9_wPYc0ڜ/unkUVtF(/C掯ш|:tԶ+ك5*F/F8xIQ1wϑU:r }:ʬu7mQGnYR@+E8z>-ۆg7:sF:ܥksP$)ܵټlձ5j[]0h]#zʑSΡZt6w͌N쮿JtTO f:~|ZQ:Os]7{s ͝-Hsb<]i%9^i;@vѦxLC6Dk#}m(֍1w-:z0يܵs2f'w-^u>Oz&cb!^o1$~9w F<|)o}v~ Ϝc: H:gUZa Fk~tg-ʓ0ftQӉNZu񮥁Z]:n)F4"k]d܊NaeBS؀>[h-lWC}"LW0)fkqN]k|>CSAwx{vqb[<aykZ͚bmO -O0{ V*hhScfy}6ѝ`W{KW" ijK-د_Hxc..2->za1ϼ^zj{~Âl3׺<38ioZao=qk8{g|GF9д<>([O'8-y߬09tvv5 nl=18u>zaXw %;lGBXCuƲZQw]ֳY+0LHeo 3uf1=v|G%(7V忘d XoљycXovn3>9w&Q{"P48}"߫^n$@sc#PX(2bk@X5AY1v|=BۈOnql׿H>` ^-V}c v_P/ZQxhIw3y_vh OdӅ'zd>٥O)kuڵW̳4J|2+4ZRs\G| k#v+lN[vj iuZ;M<]Ns6U;mN[ cvNñ촇:`%sƯzÂ;Asa\-8g|' Qs.4[wtbgݝI9*0'pon/">ptprdw?W 5PNLK&ѾT1&`\!#qcKA(_+ t P<aY&Txjk {lݚXqɟݥ7ݥy׽#Z|wiq.W1&.һK72¥~pYZE,z;Ha;HXwNn1R|#7@}sf3y\O˙lEr grюZQ?mG7bsfȋ6|#/`fQGQĤvo(+>EQw]k7vst}f}W\w8~rlrPjPvtsx;TmxօEcu%wYzw^u%{%.E(W?Jǫc.ΘX!,օݵ.,"{jw]Bc+<}(B{ >"l.o<ܳ.;wr0U?(iml< zYb+pul TŰ`* -2JL|.Mϯ8o|3:]qD:8n61|n& a{lY[]JxJ@Ze aWОչ7< k3J/= D?t! 18x`(k[,o,ˡ$*s,~C7,gݺdK2^ Re&5qpЭԻ'm[ˠs+^ưQ Pn6Hk'~C`uӺ~^{}ֆD:5IaܦҮ^UZT[TUU7Wg'jkS$h%QJSj*7.^/s;7 XKkѸF/ݵz1<{44xx緥SO"n:_kta:ӓ3j!]^XDޓɗ$Oݹ<MFJo-)ZwKɽJk<4f.xRbTXTOpr ՏeU+}7r^3vo^UEeEuIofyMiMiIHA:v|=$.VnJꟛAKс5#ZZ,${1)r"d\Ϝ] juI Pr•q++HeކB!#(+谬VpQIURh+)+.AY!Hƈ/ohI>R7cEMLb{(KHB?fjfz=|#]3I.4^{}(4ӑs zڜI%@vHɕR'Hb;H(J'?ߒVcqՊ[hswȷq TM}PMٞ JVV֔Vr?Z$gHr;%dΐXW:WR#[b{_7/u\i]?/u}Civ,mÕJfZ={/v?S^ )<Sx$ȖB]")Th{Is}ߐkģ3_A jUbV_HI}\vʔ`]LZdV$/gt/;6찜KX0Y[jV ?lvzIWdArZ`OBflGs@EX 󡈰srLiha#3d u\N&Chv`i$m$d? yJw@hx"A9_Xth&xqgR ؾFhWB:I*k3]sifS#4|Hsơj䓃-'ji,Y߉u&>봳C!:޽B '_ 2|~W@9w;>O%xKu{a=-űƳ&X.!9i\- 5c\? ;}/GlU,%3?dT>2k$~w31h')~',,*{2Iz2>GM40µFÃu$}}`X}\D.ksq\eb.^T`SRqs4 sRo:>`qy޳WudhjZ #ψSO t@ ʯ{·߭Auȇ}:7[BSm-c*Cس@ UdiL d\7@*tWcNĒ<]E5ӊ~]:=iXqg:Ezb: W4N+'u*/"Cj1ehȸ9p.?4ӂ&k+|cEwhdnQ>ݢoPf`]Άw}rZV 80Vc 1SOl^G -@; W*w&>⽎XTʼp9¹ ~ooLxxXT;<xċpˋ&]ʤ/ r/ΛTH08g{^a{hk,7u'Qzb9o5dH1S׻8 ͉&]nz?*@K\ulAK& "- ^.0c<r#1)ďuÀnLm+咱m[y~qxAh OvwGݑe 2 QnTszf hHhkaBQ{/ŀ0 K0`>K…AMEcm/"ňE}̜a@UUH0|*yB%qpzB_t1aJxh }p9.Uq`JA&lU1A,~BS%.Gj.~.V. ~l}Ȍ !-ú7M}z\l[CZ9-XPs]buJ[laTx)  m`Dύ?kr1M'->,Ц[,u >OE.,w51~scFEP<})j۰mXb6\YH0xݕM'Ӿ>&,9ӞvRẛpM(0nd@'gx+v@'X-ë N_uXWkԿG 㣘1 OpȯalWC]uø$jlpa6 ;]=5UJaڑ{VsrA<(*б+ |U  [|uq!q24L%YٸA]}þ?wFϓ'E+z3_Sؽ[Y:@n'9F6j%ma'V'nM<[ywNBW]fr^/洭 k F^xa]Tۀ 8΃űEuZonQmm݉/ޭ| /6*{/'1(Z8GY5߸hvӧ'D]T_r*Z)x357 !Cs<-nl/ }2|bd/>ѧK؎ }tfMl7F~l~ xM>q-+;;hz[TwcG5"fqJ@Շ%aj>d>,^}H,TJ0Ew1dYÒ)i2}XO2ƇΥH?ow.MY !A 3Òm0}XĆbLKὛ,Mnh8>⽛3K{xZԢu?ч /Nad)`R͇׉>,nh)WZròRA5G ϏJXHp]>,ALdF:uu,pݲeXN.0 _JXut_^/-/eȋG﯎.~)aщ~)n'_M/eQRA=K e/%۰\6ݬ+ln S+\:X, D7|;K[pK>a>V]Nxwn|X-%D:{XWK.S>,A;?lÆsWz 84sW׬sWn:m>5I.k ޮCY95$Hg5o.-wq`gCr\^h\n`}<h\n}pz 3]f3l4YP^de4yo̱YOoI&˅Q7_ c„+o޿2a+L{ zc7]huh7 *%D [Jij{g8VKՀVB~L쬏taѻ<Ɖmmmr ;`iip0zwBnwx. u;7^vG#'y _N[oBF<=7:"RyPxQs!`7f;l4]gVۭd#o /)̫nYMX+޴RAMKvϛ$0wݞ츭|v~W<՚ώ{1j<;q~w]7gKJע @ӡwz Vu1Pw<{pCfJ =:$Jnrz>bjauG]F5樵><~yhVk >vccÕ N+[*V St[ݹyhA'c)Wx >K ߁AgM-g$Y\JzwG~'WŐ8(Ko ZRE.Wjl:'tv5ɪy!Ա~y-FYu c鸷.6ɪ%ꎜStQVݴ6(ltvvU.GUK& Z.!c8{?DWMPemt/WTڽi8.fw˦st< |'ƺEJ R0b}][|g%a,PHB7Q1z q?'Ӄ+mm&}}Za|Řmr0KxUd.\dzϋ*1ψqjG2Z RE-.☍38fnm>/DcW[=r#6j(P[R|7:6nNл5IpOƹVcuBisݕ2=~OzWFz1E*gJQn|72G{qwa 1.WsWs^ "Ȣ/'I N>JN/,_ 9g;%̲C,UnvY/|vW2*lW8:}o^L+$U Ε'kT);i e۹z>t'Mx1KO y99)1nE'˩0d0.t2 c&uE٢-mXk@'m$Z_J0tBv66QϞv#wďs{(|P7OP}![ xK\7-8>[$uJoJKҥr͸}6p߸#AӲB;ku=>U59=oz-A_mO_\͍%{y;ϟ74qO&|5Oa0O`FpϪ̞V[^ *a]zYφH?JFɲ1r~ˁnq=dbʇuE44SP87;KYl&b7j˹&so*Aӱ \&!owGC<-tQc_3!Ou usfR'?du[])[Ц[#vffӽxovfLAFtD n#y.3&D&efLGBt#ah#>s-(YlP:lyo> 3J#n3[ "Y^O $zم>g8FHŖ3( [lƀhb V\`p[ ߄6\xLZ΁z`z$!oCg,R!0VC)\!t~mi2exnwX w˯,ߑBD7t t7Ez-V0t^t"9`l}A8G1[Ӌ2(3$/sw95ZX bI175}zX(]bڞ:yk;c o/ys |[-w|mbye s:*GLJZb_76Z]}<.d3@ $&iowS"Iu8ٹzϝg}pCdNaLR˧},|Y`0:lDy*~73I' b8;3,4r@#M>z|bA#F.V04`/*./z o=WݐP7=$u:a֥LJǐNc73t~$M Mk]գ8:Zbo{ԁwRm_r@R67)B>dk[FK7y'2Ώ|gFY6 yޙ=8 ݠl~J7t۱g|Pgcdrm{v_ʪnn$=^!F٬B̀WF F5~T |-ehH`p7SSsƐwE]k߱/`ڒsf[>|hޤPJ',oʞGjG{qo.ۮQ =܅!oƯ搷+f7,X~N| @X/M:ZlJM˼=ג%d4\X#d%J$d@i{ZL i=ѣiЃh9ݤ=ݩǹOc1ţTyJ;Z׮~Z]e%ySE4NJj>HZo*6zZuH KϋVNZ~PLgL37KN!޴sLCxY> <Ow l.Tg.r.g1G8Mͷ"FP3aAӫks b,G6sn'}gU_Cr(ͤݨ^BձT/_LK^~03EM-9FCK^tַhڕu4օ:СL,LNc>;B;wg֜88{|HSuYMmMCMu};>[5+Ź}F6;>_Gr+{K:if"5,1wk ~M.f{Ʌ+2 ~s,F/c!ׯC! pK;wv~Lf[YwZ=tuƄC?3bgj;0vGZѕ2>7Wk"Wz˭jos+dk$ j\_u-tHItkm*Q_Ojy#f1Udk٬Uk:>k[t1EvmU/j{b$ԼQ^e &+}U[oLr魴Aj}΃ wUך#fo T4KexC) v[Fwz]GAHhLKC_B> ~ g?XfFcRz^Muca6l_ѿf> M5CZ:PR߼Ư1홴hZط4qį14c"1QDM>ee&Ĥ 6|'R^/{њ|&puQIuWUj(i]2nj2J뮪UPWTOk(D(לJ>5Dz<i1x$'8ɸ"S9!|YVlUz%N/#Ћ~:Dy+ONA0vcE2K_r˕a&{>g7ZƤY,WuƲi, ]!Iov9{mouJHjaf.U1fVuIŬ5*⚎6;E9.hO׋tmc ^tv&sw,χpT4Mpy/=//3٧wb᳧`os*y`l g3rUJ;uUY[uUO'ǯibaW/aQ/]Gv+esWK.bg8]'752,zVh)mG >{v3oS! w^V%\S]"`jMUϬW3.lIo.BL{4-MS3W 9^DH<I_0)gk@ڸ g( } ;It|ͧtSLh¡pҗ54k*253%Qfb+Q& J \MUg.QfjfJ\ RLn9 26UҟYD.K\oevٗ.Q׾o.{O4$1&EU)] Sקxl_mUpo?xB|6vBbw>f=aBE"q}ll6׊>ݯ9U]{w^}-߻wO"jsz%_Zot-߻ߡ{r\aU]w^u]VvX[0w-]o޿S[w6weޗUR[r`!g'|Ytw/ħRRTop G5'x] |Źs=9I$AP F6h Ԧ*Ej>4Hx}KтP7V V"lAik+ƪm-yݳs!a|Y9IBd!%CK5'c UxߠcT'͋}S~Vi"ԡR(_HGôU`%6b]L4U^# sr̥2`تZrM8wZip>74F9!lz,RR !Is}^c7+?A[eqq& &O@]n?2$Cn_y﷐cXR B@:uhX(oӉ Q78]%ڈ2|@4dZܤ`_^e6;eoM$lv_ ttҟDOx}NU'KH2F}J֥Iw`1p[]FDBq?M@Vn'F; YO/|UyGĠ?Mq?IFi( Bџ4'48O@! j$?us*wXu5w!qmP]TB0“[ ]:Ν,CYxn Uа`G|l_ԕ|N(T\vƞ׫|wy/=L^?f NS]csﲏ(|IneHuIsLN1rˮ9yqpJ˓{>RDYKtrȿ0oۏ[|Av3ۇ~[@ R7o}gKkx^kVsL::O eAee1Si/\霑<X Hc/XHmO \\#O!q5K~g}d{/7߭.Hk-P:J&ypk6淙k fK`[E9t'1ka!65&{l0<'TR-N6_%#V׷}wzNyٗFv73 N?w40r&l⅃yIq02c곊:m{f/~½>$|'ԗd..q;U^wZBqH3>Vq)]q$~|Y $c2g|ȏ5qVDl;YC\ iz ;:LfnAڪPprU\]ck^Gm̦Ѯ4rfXrv ծ p:A:M7W)1b H/DaV¹9Q~b+eFKC`c8GN6k;ŋFwB4ǁ2'c#6Z{Q2}|SviXtrcí$ǡ>h9PbeW} .oy)ʓP`_/]7p7/U TO+aΞM/n ^: 9*}6R9ۿ8-A ƦQA3yY ],HGgJp8=ߗib_F[v~,zF˓7WN- k#H7=͞HƟoG>U4+tDΎ A^l}se^enHX%sDߎ9rzrG*/Gl#; D[Q~yŭKx|'7kv[YB]Ad]ާÕyj2๕ckx8~qZ ifu[:,s[Qȍ1;U/t(- GG|X{pibOq2Æ{3OR;Cy2eM-_ Wӧ0doOј'cHx} cFX1POa9VCXv4ro!(ZcHrFRJr+'r'}yM>IB8^1.#;ȇ߄~/;N!#ǹ!Q}i6mKxe-A~Cxfw֙[;js﨟^yF;|๻C,BX*Va+x$icqj]_%6g%"PjKhXlR37//c@UY,1OWuҹO-9?:61#')nƿEޭ}c@'q=f,2鯁 bRg'l8/unC~'/yNj%*R:XlUHm#.a組cE8W,Ţ/"n6*?6Qe,_7$^Sa߉;QZ#^0 ~1igUWbq*sGYwߊGlfs#k|3} bƴ={mn #dŵo@ymtR^ae[ږYۖ^Ђ~(romYS-$[fȚq(ol"QTQ;nlv>_,FF}q}ٵNN$'(*('lɕQڮ7ˀ>S^^^׫g7śC1[ eC@Pg8q|̢lno(~M#%GGa|vw-_m9d#+[ L2Lh]0F K3] tj:Nt)5.xkFAipJ>~! ^[ay_+86F1H>{.5ȸFmFNb4ӭD?~5&J<1Ǭ[-Kk.K9lVIY*BonU)Bݪ:j';I8<[[Q9PNGo:V0V(ose7Iݪ'u+c)@z IU}JGH̟ w/xxYZ>%_m؂;o10awɭO%"U@+X] Ɔ.wZ WOA|XؼNCkf+d4=Q7Cr d|/a{_í!ߛNMVduǭfWBu %|Ŷrk_tcIײFg|Mu24%&j #TИڥߛ}E1&ݥm{* _?#a䳩'e8e$_ _(<8_x>wcW^WT^B89u7I5^$%.퐗c[۲oZ L2ޮ o}6opϵKjm7vu^gd {=("Q"n0Wq= fuhţꗓ[8b օ~d=[GH79.T T\$eup8ۆe2GՕ=q'2%=QQ>Jn=ڞ8G˹K'Ub̭`Q8n˚fvܪ$cm" ,ĬivvXO 2xīӚf2N],fyXw=19,v \9".BY?/*Dߨ鳭}#ӥwk!we[,KqؖYC}#[oo10xL\E1*b0bnbE^2f}=bwEc9UP90bn&f=a2p/]~yiW1c=,Oh\~,?n#Dߨ@kRP,ĂHJU R`HIƞW99bzj-XB˜4H0&ww}IJ]\4~dG$9": >7a,kB붉?[3q,دבk~q; %\*b.9DIKzrw.޴[,>w$=d>͜0]zipra57]O${G'IZHkjqt )۲6sSIƻ7e"Cr+0 E"[Y˨w'ZF pNT2wraݢZF aOoLƞ^;_՘nUZFgPy*kLjs]ka[PQLId2w\,sf}=Rv}fE>B~߳ɉCԏ'6~MY]9!U߀UcFn0 6iOlg`[>ж[ L2.}>KM,N-F]gho 9ҽӱt })dϊX:| Wcög_n10ɸL,]/ZWh]WhGD -v^WhCOK>IoO2em;޷tgɴLl]3Hߏ+[9ETŽ,غDsT`O8nKl$cϱݙغg 170&譱u$֍u~%[2nEl$֡fPnH˜%OxߏUdS7@;ɘ:WY@w7Kaezw a[>o&oOKh&\$6_}|nMU 4F/ !m]ݚ^û5_Rۦ|only_fĶXk[ L2N'rzշ%n6{ZSl_=n}>iχ '?mC-N\ .qW" j`2Dm|zχ>F;zs,ߒH4KU;|onp񈼲 sy\|< }N =EP@ӛpX"I w[+Ay2oMY-ƾ&Ӻ;[{Z j/4У8lqkwPNlWZ k%:} V(z5~3` ﯾI%Gpu[+nk"PUfb_ۦ|[5Pvd\5)嚶P\VkҚ2*xrurj1 wuQ DhIw;D?<)CCCO;D:@$5Z;D5C9nmSXSw &IRy2J_:k<(]"`**Jesgq1g qlo摻0pޫH2/Ku.|~4&[ƃle|ւ~YQeiFބ5%ksQq1;U/&\Sh/aXJ#С츕د+e{<`G/Vxfr7cvzb-]kQw;5^46b]cFwXe˱ҋ&>ʛ_K\,^2HrF/RJ/r+'NzxƠ xm eq`xo@m[;a&j<1scx1;ϭݺ{v@z>Qg/]w1p9`rr%0C3a3OTBc0m1Q|9vZ:P8_f _fZKLHC:[5k3Ǿ:XEj[xC@jeϼ O>O;z*GO|Ft>[n}7K>+>Ցle|d᳝$SWr֧(Z'9#psqokVM4V}9ąܠVs^nD>q]1쿩ٟa4^*"=܈|,?]?l^rB60GF},AY%7on=oD>qb?-|%{"Sr8?h>ʍsi<;=h:;ǜpK`5j 9iG m;qnU+,ïc"h^2冦 ].Gn_|an>M:+ժtz?GI7,n\PU_9q $e-֗ ɀ,c}z\':xH㱎ZNILG~v׮qnW2wsoȦR τh*WSNē'QsWihZۈQ}\a1Z+Ɣくㅟn9JslP1o}6h 6vy a]'Q>L>U|`:c+3D+ڭsH_݇ )_2P5 W;y[_A(uklmkeUߦ6O<2Oe&h)+ٔx&qJkw߽Y6$}|?^]~gñpcl'V#z$~Jki6X x\b`/ǵ R0BGU5M͍U h)yC?d F kuVXGZFl:!I 91ټ}^߿P#|:~<;dM.1i>]2+5_p HgF%_!ǃe8!Mqܾ}qzvʾ?>xC|i A͒:g]kdQG$H9l'm=Sjk*'44os[P;q^qf[õpek-dW7,^0Q?o->pmR?LvkXm%kq`rmK48vbd e~#~S "eŚ[&KjM yqdz}qΡC#)J+NQF3*ut_3vXz&=Xpz NU2TfejF&]rOFwǼLr2XwҖƗʣ7ܓ.7F/g" L<}.ayIik66.hnq̦Uk|^${6l݋65ںٟac2C8;2y0nZ >IQdd4Բ&h&Mq L9EP~+ZKHgӴu"t񓿢eћ cz gH9w WHgBƆYkjĻ)8T;LIZ#јǫjKt7"3ޒfI9^Lp ΥW>cɭUFWǖ{Yf>)ͼAj_$gҼOmKa9ɼۋg)#./R![Kuotv\q<=I~kFgckBMi+<7ak%v>LѬ۹ܘВΉY[C}_cO3<=aɾ|y `!L v@'ZiXn6.C,p6(! x[ lݽ=ۀ/wccl !8$'5$U;aqXӖ(HiՀ"H.MRҴ֕HݟT"ZN}6ugെ}ޛfv x r ŅOnZV&`w?[HK MG#6S;qʺMi4ͩ~?Xm냏'-jԝǦ;u>-p}[. k(=t_#.CZmk lB{P!z|ng!fg劣9\l!iKʔ4ח<+aWM3M;< ^@?^P< myK~Oz@ dt{[mYt|?Ń;Xdž?#Wp>LSG!}tl]P]Q%7C5;W1iw * lRMޮ7|SwWX}S[}^|2D{;07=4$R}Sxfzdؒy1N_w ~/mq/9dK絊Yٶ DWy"YB@$2V. hP$z5!" 6_ }Vܠ=Z͐k|q&v.[&8OX`ο֛S,nN@ߞ\u(;?iL2Z輹6s}Vp+mH6~?]a>䫈_yyC_zZ>1fXr<9NλXaS.j|"C#M=㓊l *E6rW Fw =Ϯ(~ag鋵n_'K<$56/G'X)뢔^)Ըɹ+LGdɚXmu]#ձX#06&i^iOcA|OT>vׅ4l86UC6HF[ݛ::>s,v2m߱_mO.z3mz˰o1]-ҙgso_=7іf1[N2)/_Pagtg[}h_dO~+*{t$sL8 "H}!w>L_R[5U='A@LР\р2|`7Iʵ:"xVnl?B 3`$zQJLPbDᡄ.Ɋ2 Yn횭/28Ԉ|ebLHb4mëH,}Iڐ4ؚv`! \@(t="="pxX}LG('?rTA<+~Q1DLjj AHW*ŔSm[RISmJRZkDDwfg=@PԽoޛ7oGe  hbn@6VNg,VR i ' t&2 uUj> %3(S8h@'Z`ɹx; c92 (,oR HӲ.y]n#RAqMR:oT.,W *0{9m_͝)Y~߯rbf\65 .^,l%*op/ ^jjj=uxf{@N1u>Rgz[Q/ʹ:sP?zXWgv2da4G Îشkoz.;?q`5p3͛i~Z/\d%^Nl| '"j#@p[N^4Mg{s3*Ӿ* 5ڪN__BR$AڧlUn:|ճߣl >e&ϖ:׭д qCx%VJi.nUzWd|pd[P u=q} d1flxdɈ?[,Ȇ4DŽOMJ,w/zU.Do? -y(6 t^iDWIn {_%yj{b%-ܓ%R'ڐЇ. u}-5xک#mɖI9e~-^mq(FO$0Ğ/)W凟/h Uf' 3R̙5k 'cӞ/f~/N,J 1`Wß"1Àԉ>d~C/.xdH[mHP1}h,Z%Db>mӫO 㹌:Q&{g}JVqB/e߸eQSQnٺ`KB?`m8閇*\ hg>[ށq*9BB7iQ<{#GX>t{.ìK3{~%tCci>44O;N$i[_$puOʡ%vu]cia|{Ѐy+wR7+MAVϳBYjj#W#/ ù6V8W)6Eij""ȏoŶ멯<\_ٰF(pgx05~yn\g<.0Jd*Rݟ6;#Ɏ%qtȕ:xNaz$e}q{I#F[w`LkVsB^Kj!)b-):*lG8G`! d.m3U: N.v xZ}l{LAĶEqQqQ0ia+\M͹ sD"&?*hq(M$,T$6$R+ф*VB)>.gpw3;o>ޛ߼ IoEOCf!I1 =XH,s Y""2!<4(b}8|T9pwhًloгY'a%Ұ"_ACw6%v<߂mڷV.<aKȧ`J:;zBɗ'&ƕ#936y[> fZR /ɹF> U݇.NcrZoN"1L]pzaN2X9D{K8bͲ}yƥF^?DD|idO!RJQq mHuc3BfcZZ` ~)9XϴlN=_;!0]__u07}a.w qf"$xYWU'g&,Ӥq:Of{G9ٷZ\Z\ ?f'>яMbj# }ΥsT!~zx~@6ω&dWЄ>*}P7oO9R|.t\H\};0Jʛ({Q޲_‡T~׻t7QEI8FF]@.w.ac`=v(wcO;&7J~}m2R2Qm}h.jŭ鶔F"mwF`Ft*PG#vrgqhgvY}cvFKG}uaoľ(Z'xNʃ6컉onطǁo@$L 4ORw2ŎV/nOđX̥A?\;`)DcOOB'1?'4xǟ҂?emOn~r?Oc:uSʁ?]$>abf4cjgJ#c+_ldPziLV,HbQ.=N͏w/M3&ᬾ8KQ!8T lGʡw\a1fWb9Fl1F[9yL>!X+,#ޣ 7x#a']pV#Q.?pA:pb=~1 )qmh0L 5Jm7" ma_$ ZܯdykHqx>o0R_s+(^PZsB oۛHdm;=\|-2>k.xTa[ J:WpĵCSս>.e\vtv8qILt\g2/m((;TCwginsrs {x)6rauraR5wZ~U7r[U^lzmʆ"k7vu&*[;{{{>aYj# 痯[K,Uq>6|5۰!֞'{%zQKP4ؓvF˭L~VqMw"#er gW^^TW ̜=ny.l^cܛȳE56ƻ]Ƀ7Uy_},_Yqev@£@sta;EՋsp,rB6; s QTW~:?'fհm6aU[ibK2؏Y.,pf'|8J6oW{|Xߊ3ۅif{1 `!,r.]ڗw"Ιop GO,x} |Ivs E׆6E+E_>V m !KKj*^ x) hbѢ҈ۗj {ݙsf잳~N8'3ygf$CNB~~䴒WL$%"extB: %1Z"xx@ج~ Fm#_1sgvoB6!\p ;{dF!'i+ӃyCT#]>E.;EH˙p#j$|ڹ Le$/7B܄뮐|gM$d!6.!W±j8U|ݟsKx=S Kjorxv+SLJ< <=[_B>ei;^jV n ϕ\><i0Nj Pc\Ћw{ln) 3\՟z[vȦn]@Z!^WW7ꮻȼk{;3ڹ㽳h?Z?o9j8>a!pG2] 9p ǩB=W W*G%d*H#9[L@.~w@Mue}4;}_,e[U< _}[>z൏nzvo~$}Z]뛼FKj(dڧƹlpi.#ڻ >8bG8!kϑm4y*$V3B.7C'mu7YP^:API65Waqw)lE(97M63bl1\z)i9-fb VrgOӨcLqP|R> hJ!_N8>跞gGK/0˨?#C*jv|~Tszܭj"e"Ao&=2x]"6sp\*.o6ßh !cta_@Ju;,ړT,iE=D,:Ri-7(Hk¢|XcJz3XyNܼl` fd(>LN^.~/ [_T@-?oNo/]y'14H_P.jKz&ܺw1{0鿣|t5:5aP>)B=h(w#Ґssid(8;Y8+2·̺AG 6A7ܬ\. qFnV12y3ptOAtM 69 ωnN7?+'nʋf<3V7hOO 69 D}؋p-4 2[27-na d:?k'4CgD {6/txU)澁$L_K:5h[B&KȓδIdR)PX{X6k,Z[hvsǢ,:=W[ɌN/:Htzls,/%H^xo04AvjFkDki[ f;]ߪ:T<60~ Y$$bPh{wզ,+K RpNdB,u(nv [~ 7X 8}F w&}PfpҿsTǰ#޳3>qc8d֯@;t>ɖ- MWKu8ٸ^7w++{~n+ȱGԑΐ ?p\.ȏ6|7\AǫTwd !^c!{W~5??d2A ]_6<ivp#ϩJ5TwZ;S2c6 .Tڷxp)ăɆn㶑 U\/nrl+Gk1cvvd9 Jav'u?l1/(Lol BKgn>cC&<ǴK]=kN>Gs9#ߝ=b2QK>nqGwcIWp|lʺS>S v pj l̎1n@ihX{L=f" "bNn ,v4l|Ξ/ۋCݵvڭ6n4<6n]n`]^k+٢b񆝱FQ6:R oW[tSY'2!kk|([;5 (P.>ߏryvF,m2FVrk=66Q>7_^lv݋Q68B[JmM^g6uq14z͸bI9'pHt`J?,b =ܙO\ :3>x埡knd?uPkbmrJ_.Ͼ64zwkݧkLk^ 1(;^6-˃_:G:%:O+Z)@2a̍O7> 1G]Ft l4|9?T:Ďf"bkLTAX֠n{[̻c6B_]p}jX:,~0ٓU&je'AUVPFp=缞f^ˮQOi􉺏sD_K WX o&V^gfy!Z}]?!\?qO>i?T^/^5 W/nҷ3/;<ȻCpQPu6VulOze)N~3} W/I׹q\7MF"wC>o!Γ}^cF~!~>̘f<#včϚ ㌹?Oa٣b(C 䱎gqW9;^OeY<Ɨn* ~&2?˼ŠY#aO~oa,Fo/m*rZͥftJAd} a9y˜4xx)J2` @HlP߷bmUg67H^b c((O`]%>P7 ;`{]} +X?t &!UCrrc"L_ϘOd=-]dk=~1 z&fLBZ?ļd J>cC6 +kQڏ[n~L[Y1cڶJ1a]c*E[WMk w@qwXa]:ǴOmkK#Z]?B.YzpT~ qMco15E D^ k;Ƚb ZeOvo1Axϫ$~c?50L_u8~+OwY'z"n]' =|x?cᠠ|*!2\6 &?"s5y}{vkq=#N$Cq?g.,dnn3[&qoImgNhMƟV7W>`c:GDl4nv=2hdM:¦ʼn>zAB)8A#eݷ6/YG8]ߑ&:B OannI: Y;N5OS :æO9\gs:C˚NiVwJ 0t`$:'9Uz0:Í3\7vqlx~d43Lΐ@UZiǫvҧ;pNcSnqnkfl{m}g3|bIAsP לetDEzB"pXthYOt-bO`]ZMEg qo==aWGJ׌P&GrXwLG#ZMdNj[__k\:k r+o`5v1pڷ\%d"="kfZSzM]q3K7.+_q.G}4VxgYqkʯ+ ';?.{!iP.W-FV~-a#7%k;lҸ e WW? ti5nzYqg4p b_w5q1p2xW910go 8=iqx[%5̱.x9U[{p,Lr ~|WHt6gl4U }!/+p];}ڡp /ڡr9Npؚef0?3ȼUeD!k&Kj}rݜeq)O Ys*v[}LB[gO#6mUcM"8qĞg:olJ6̵T_'[w'P 9,UÜ`Q(9,䰩**JcE W,RH|JX3/M?@3V#~k 7&;|Yۈ̙m+˪ we?od2o~-3Vw3>a^pk>[0oxu$>E aDk te%pL ȫ[[?b^6rQql>mTU?=ߘV'_u_Rd.W V%d kM I~0e =m8ep;L?`tZ*V)Ugm\b?_% |~Vq2 gIt+p]xp>/ܞ,E;u9"~14}^}궵`7EǼǙ`{gYIj⁡^G-0e-O\ .bߢE.ooS1%odx1Om 'o1#H^eT+W&ߞwm*ϦޖK`Ӻۜ0-OI7鷗Y*U7'J{d]iS1|vB%k?(u1v9˜?9ev%r~Px/+nr@̆?R"u@|Ο>=a'v P]/qn%P|(m* [b:W>Ee'[_~;ݖ'jnZ'|œ_B\W91#zdN[u u鶐{M29"NBp缩??LY{ΓX?93mFBx8dth .uGvFgX??nS1w+0~z[eyӁgfm?Oِ 1Ud JFf޴86C>؂d ZXgodۂ-*{Ba؂ xYyg[Ę:˜]i12lA--؂AlAmAZ؂M-">}K,DUBoe m@tpCx"؀־ X_m*lW Ax N)a, Ut6 q뷺3bгom ɰoD5!uoݜ6,{(vYԮCm*fl>|D\5zϺݻ7JNY+]m>7&%~8ZŅwz'.q;\,Stu!GT <.Ev!^&,;nv'юT8Rvmݜ{CyQm#nS1x;cI8(4|{_I;ɶ[JU N);ZjW185O\m<cSڝ`̻i1fl-k &okqi-kήwqG-¾ k,mX.Pg޷ װ.׷9[׮bq<=o|=~6 c߆=޷Wpmx۷J_iY~obt6B"޷aOp&>9@oȫX#N|ۀu)(/߮byUct}tm>i>zt :Jvl[+2zy>S[v >{Ŝ@po?-;d~ߏryvF,m2FV2k=6:P>78q:{ zKC-;dMоd/@6='f!])sk)| ?rֻꐘ-KSXͽ: r?y&{d{+Qػ5۳XK=?nl<֌O#'хjZcDwl1mnW@`+~MdDj.Rq_~7\l&ZZUK gwǔO}zH(MctnHE 㛽֬C @k*8κhl n07;ƍa&l~ah. c e'iAGv>Չ# `q=_ˮ0 q0OQGcuIJ.2~ZƎ￙X/!ߟ:'>XH~0}9g[Q od`7ݣ<\ẋV*pċ/0})ݺJ>8uth7"|w :O2Qi68H|{<ψ>q(r"+b6P~E-;+Rߴ8ԋc+_@ml@ϹeoXll^+̿E6k%_ٿ>u^ m>]97x*X?ԿHg3_'6?@dg@aeh=C7Y]8?(7 ylm6/ѵdB:!~>).붑0'2uq|!7,@ 8Myd+0OoX:f{%C<_N~s(qw8Ε e?ggWjn/ oX:ZϲM_j 4B*+ƹzY n9(__d9̺dRU>"FrJtSKS4tL9;̡RfNEm}H㳉'ƹؾN \!ߛa1Dfok }Jrw~%]/_)=#OFj;\szJM+kfUT5̭_X׸v1P(b d1EŌcuϱת@zlƈlW3v&iTs*8nQsZDH K\%$r K(D}AD?#H+-r"wΑ:\\UXR|(cSo^C=R2I>.@d&9:; ~t\Nܨ 804|SsD%.E ll58Õ,—<ӗKx.1ZfilPݸ]BʹڸI6l[?(ɂ#N;eu=u-ZxaCc}ecm c¾DzEE*%2MrdP#){Y#݃@ ,ДΜ(jTRf@ 22Nx2ς2yDgSނg92MU $B%c=gӚg4V۔tJ|rLZ B ^/C}G_)YROO7u6b.! 11J^#rF>Tly3bQFPVOFd8 Ň~{Mg{+{r٤v}<~g@2ǚP3w%,QB黋}EL|_AKwP2~|Fm.]"#Hd_\BR =+^_ozL_Tz^Cߛΰ5О ɥi ?;̡RX:Tj+/S{y@֗bX'*WvGURq'py[26Th B 'HYN2 8a{z{<~-jGK [My1ex?B]/+ԢЋs-킝4]9Իl &c9./%z?R҆EnYuՄc-MWHyTK;lQ&=rUXei:HUTBUr(EV2TW=Nʕ*3Vq.n!R v &c:m*Iy{!{/*3_Ox6'dtoΠ{C\ԟC5]ZAGVcKnSKI YG2rCjee{kŇ,߬kJ'p4Mbvפ:_?H]zGi"3TK_PT32Cx|QY!~=#+^V(ЩI#%|y7ͭj`k0[XoC1|*RЃ֐ 7}h4E@2蔵Gk6[+G- ]K1n i]ٙ4|ԛ|!i!E4QfD q^Gk\!]\[Fo޲kw9379379:w]N8/aMon)E},T&'뫣g'\hӸ.ZYC޷ly54ƵGHGGšY/`SJU~$z>Jd]ϻ%#51OvK0beb=!]tM2Lc\{YϣZSlt'1NMp=%? Ƹyz_`!8 10u #Wn0(7(x[}pT&!b2dE@1 )n$j@K hHeܥbbю3V[g-j3L:SFCg"?"%{۽{;lw?Ͻݳo)qbW &>3,l^wYjBB|B!Co> y\zm, e䔝Ğ\"]#W$a,)t "B\ m@Y)_ctoq5 &Rk V!x5#ek#k꩜KLOCx!=GK?#7Fzox!g?HDP|gT}bވ8KN8ƹآ>x~maZ{rcTqL(SYLj3s˟N켛Krmҽ%kt'DzIvS$Q͛{Rg{;Xjwp*GBj c p_Mv]`-ڡG#D17Ğ)JT=˲j6p3Ӻ,}^6>+y]RV_m03hsrEu-ϧi0,M~SxBuc5HNW.ibPA.طriTC7q.㕵Q'##e\$ļFuZثĖV@z ]~rEm&lm,) -K$[.ijڜ3]|:v&)@Y>1GUL]]?]6R~326]n>ԤE[*ՑqLp[g;AW0s r>xF\z?`pqL=PA?>GNTO0Q1Owͧ0o>ͅ P'&-%8FW5jdıd+it{^.x2ڂbcV5hxS~s7B\"1 @_r^BFo'#)ftjDJP26n\WRY8}WY7^<b _e*@ソK ,[ܕ䑔OpMCFS$ Qk}He שG2BťlGks. J([sP^;7A,] Z ttSi';ۀ4AyE&|V ĵ@\7vxL;:NW9З;|劑 ywK<ewY: ldS9sc39!8N8#8?o_|8{7߬Ǜr+;!39*7n4eP›L@5,ROCj 5a?1/3 ._4W_,)ImC`SIטbFLʭ4Ǥ)LZZ)c_FI-hwY5sWlF_#AYTcҁǶ13NL̀p;s8ȼr~WOX'qeA8=❈MP?y SWg_©Hc;N1z qPk 컌yhdp0ݻV/g}863Oxݹ$8$ܙ;z5ÝT~M%#/ة%y"'x{Cq='#V%w\gC /jܑD =u{ G>Sig%BZ9(gQ2/y*9[[ 8h?2N'NCw81ܡܔ;ha/sv<=wErspPW, mPsƨIƙjqʾI ߗ+?w(W FlA9*dן!KMivY[3pb(C9T_]\v2cT!gCjR;K&/Qeū wj0dI,u# J8i .X[#*̱tTc;c ]Gw(CXld,yⰄKd*:3V~Alhb{CgJj_t;&36j?:=6z*656IFw4 *BgcڈIOc2)6z||c(ˋ EUL2& L2FNtldFG׉άK>F^pF"Fӛ2d^Tưll㲶FНmByDFQ7ӹC*&;pfqب"FبΏ&Y!;wBE.4wjvu7ybT,#O￞K{0xWT1tf٧~a>].90a:nGh1H,ޟ'wd{}<BA?{їZ O+ii-e+7.ksDW${俫}x/Wv V{]MAmKe @ xBLtHmd߻&U*l|F_l{Au3\{n@}]YU ٵ@܂WZ<6FkC}=5b,4k\N''p<"N4E(q 'ʿoJouõ߫by@C6G8KWAg72 ns w~Z*Ig5x-˵NG=f8 DxcNlD0>4N 8q0q91~8IƉq⯄++W̦<"&e) ԤO ~m~@%tuy(76 y$;+_;u=@J }" (c<2gO{ȟk+_+ vPS}s`}}(jyx{h8PEYqO{a.~dRusugVՇ[C<л6\A\Fjr&s&kUnF>n >񬀮5[t//YfGEXmE18V6zޚ rѤ1XhE3ܧMm ώ!vBf%Ϣk[ 7oihjj 7 \bI%h|Dط ®U^:Nׯ:N;n1n&Q˙n+ X]p]m-ख@KgԬWer]"f3qFd\~wfVX0{Vv?~oԮ4ЃVVZԐϽhrX\گO+.uxN>2 g? Y"fIx!j)tťиD]xῇ`O)\1\&qPlfqidT@fq)S\K|jK;XLT:.Lɷ~ͤlŊNf4CuZlyj6,V-d3;:vb1JslnMcCu5XwZX `aWz 1,>-s kyp:aޫ`!ٽͳ}|@gBPz'x] xս?3M `!򐇤)*pe !$oBT[QZiWrTmP̙3'3ww8s9g%"]t$]s|_G'RTFCD"oo+$q+xr(={eBOX(=)7\dKf9i' `3J&g/^]l;b [ ڂ }Qp?'#@(P< elܖ-<7J% n _,'0ƅF RG<~W2ᜯ.gZ2.gNj?:}g\rkiS]Ӳ:5pVԕ@="|u. ;Jn?ECH>_A3۾k{ ]$Li O[\_Zi%=%irzwPr񏽍.= CiH.G76Nl_(#,3Y]yjwI%` I=.b؞E(E,"|r-EY f\_;}hṣ4oz-cBAzIJ+_1K $&&HWCHnZAW$9߃ >c:#xa1*g\e7*sv6BWAzQ#X93R'C9s~[T0]D(Z^<1mƳ*czdqeL2[sė<` =A._]>!Nt](^Pw%k5N9Fk}>/ ;z0Wxj}3BP?p0ӝ >az[z#uଳ8٭eWmjf8 #CoM KL0ԕ =sU^*zߖ~ku;9 ž̆6E -YZ`18V@c֨c[ Lgo]:ls۠ A\9 ~Pd0L]K1^8cT95+">hߵw#L9L \T|lѧ]Q~ޒ|*'Goer4o<0K)t`g3SdP٬`Cg :Ok iyb_n6e CGfg&u[dX $cqdKk|+l OF\lFOF^Z]=[ b gYptPzvæeFu\P;LK܀&2)p8Y&r?$XM  O4*<-`rh?QpJ/H'hcŶx-L0!xX!9rCP+Oؗ1!GW<`O$S3x_\@m)8rN(Ʉ'4|yc7Y86܏Wl2kOɡcgRDyFD d(X!GIŷqW>O3 yy]X>'u>/T|D3M[BW #Bo7AGHhjKk"YʬJFyLWpR0oIVkBٌ͗ӷ,O1|WcttE\טt=!ިO#G+p{0."nɟiKcXDZc?0wvp'fCds ]ved}1E^Ǜεn' 3=ز`h k?Hu-DZ#^&*:2a7hx&榄 #o4 g_Ux6*o::Հ=;{d="M%aDVZJV "3YXǞcV<SRl c r7^ 8V~$'du,Bn_Y`s'zAn8V%Z?ً)ƖVT}ʌVҹ\Lj"WbGoR>6VӶ&S} omԱ,ME+ۏ_g^_/F~j;~]x}u^7 9 v͊Mr\52$HΟUx3%i_G= ڏ_buޣJזβ_D;SVn[mǶS\ .iy"=Ӽ ҾvyfH_XjЖO_MdφzX|5V J&Ķj& ݘ$ȯwods6סZJV͊}. ]kgy,د190ƓIؚٚY_'/ڲf~At*V|&1_h\uH~N~T\;W/)}=<}`_F mk~ yat2/#oм=r'uS):ȹszm[ }Ǡ /z9Fzː'a{͜MWAm 5 &yz'du '߰=7÷؞Fװ\ùO&S[Dgf5V9=񸧭 ЉM5qϽf[.{~̈́ 9_3S(LdyWcE O|<Lƚ c-k&Tv$}ia}Dÿ́Z3!~s Qpr7|Oy5gzi:+a'<@YeBr =SIyN%!(D`6 )) 8~B+f '_U|]WŞ?s j|!8mhA+ܜ o9؁͙F2]Wq՝#·"ml:Khw@WOldIڳZᣜ{9.Wk0e^UX3M';Mp81 :LٙE7Ekͫ[AE3XtK%EwĢ1\Vu\,zWοnC,:b"%α豖+$9c$ͷlU+d]]%<$@|Q>ƵU+r ʓ?-\&-dF8~YM*agq F},,n~#J֛Ho2Jp*jVϟ\VjyeUl6̶3fmLco 6܎4gIUɥ5 K XYYlȐ!t&U?ήf8N]$}&Ige*͓E+M6sWđ2Vo~͟=ߒӒy|2zGP F._ۖc)'RyA:MMt5`BI YQi:7 үЛgRm3N4M@>w2SEE(hdcdZH3%x_Ym<~"E ]KnXG=T;iK=);􎏏PR 0p(ܯr6^J¸cE}4a6X'\NZ[>Txٻ>Bhzx@ƿO}5iIW߯''@ۻƩq!/qoq#Ϗ{h[?cCO3lQjO_k=qmk*͒dEa;5pPM+)6m%OMȓ/=ξ/1ec\\uYD<*ZB cx{^)].k&KpiFRZ_:5׆$ʝ=' n/ 6Ͽm~#JݕhvE<N.bƺԩStu0>m u3Sw*d$K+Gv1۸FD$:߄%ݰJҝn KnPO.e)U6]Rg]ؽ}/{~h2٩ggv֖1/D[YA>S0V=17{}nkh/QP,3vC)@}2X2fXY'訰2M_bV;o}vr?^N& ' G?3V Sq2}'~s}_gs'aq+2D-l4#";wW\3Ct+X]볝$?tߴ^"|@oi }C #=j#^=͏xB6BMC4A >!K([OWbSF\#?OtI %=s ӢĮbC|=?qH'N.ba'ה X~hm'm~8Uo r}cۧ77m6o9?ў_ٗA#Xo+L*SG펫.gz'MGp|Z=ЧOSs+Cx՛\ϰ,z3̗^ß&Qf;lBa.m}oNo#֘D?NOl$؟v%'3)b1l'ϧ;b`bdE/>hRL-TBaa¬#1{Vr)>Q',Ҹv?Df?Mgϩ9a|?1nBR.P^&$K~3qHsgnM7!5I<|ML7Mp6^osf7Ɇpr3n0& }oY1%n2kDM;nrCف Zl~G+2Qܤ>qsDO\>߸ sqH'݌3n+zoE2 Ac/X=G 먰&C +7,Wwc|+ѷㄙ>!he_ l6c7f#}u%f~~Szr%\;|.{^i]XΑt a8'PF>SlGb9$?&^5"~gq^yz?ލBf(D} :XnMiKud=oUfWW/25挠K_DQյw򥟻Zfse'J^3Ʀ/FCڽ-QBvwI}gZjrYŵ5\kyâp4gն1|ذ:~y&HrMR}82+*#MMm۞qr#ܘs@y;Fr'ɩfZAl}Z8=Ekmon1mp ][Yn ĢXs1{YTR*9X L[/IɂlͦYH,dӝYrpr޹52㶳f̟\r,i2WӶ[TZXΏ9E9?,OJtTt³k cl0Aa9Cl?CiP.>a94-PJSTDH";Gj?PJRb*n9 {3{s[0gpo޾idLB kQh]u\ôܘ 0c:Y#^_CVoXCi̋8(?^OitSx@D~Bb#FL󑿹13?v?ۀn᜿98x -ˤKR\9]!vs되_RӘQ9UE=a#^Cm0$)a-  wv45+bΝ>k1|;\XϤ;3`999w= po}ohOv+iX>EѰVآYdp_U2hK4P(Nwn3}X>Ec|fҧk %\6 uc&iސP_rН[ض "iчs%,yRx=gq^?Ӭ~{*t!3Fc0 C Bvxj:1GO?,i*( 4G. '|% j[T, P;XKp4m[cOH4;y OCmd`hBg؟h6es1:[.|_Ǜ|MpkEn¹kJo4 9 k]6j*I+8~k뗵/i>xs$/*r=FP֙CSwÓw7,#d"|BW_-mD? +ިHur}QQ:CѤ>Ġ6Q XWN^fz˧V( !ocpǒf{,OCbtL6P#}k@^ۮ/#ż3Q$Ǚd~ _< wz,O (.8"km|GiIK! 5~40~|O'̞%v]8>K§H(!^ڑ?*#&%9~?M)džT/cFMsv-ٛ)ݒ]/ cl<>M _pqk6ōUqo@IH #[q>eN/#0bocOP}RGcteJF(~h8ØfS\1b_ԗI^=V?/&zx=V}<އ߇ݑnJt\ЕZPӍC[K~ \7Uz&?QpC s%|w/?1u3w%\G^}ﲈIIR]}:z:Ue3ktx{N.ޗ) //$#&%.Z>p=Y d Xr ,RZԹ@7 ;{t>Ӣ6 S'M~UHxkl\@B_ KjWj˕{+ 3 z١L*یe?m[s4U);hH= l$6:UЌ zjMO| C€>` $ ]{W_&vxW'6bR}jԞ r@Pg='k1v!] x5BQ]Il`v!ߙZ´L=_Eojք,BWSW7*l@W-%Ph&D?Cy[g@l@\aNs{Hedr|U6?‚a樑XתlypnDq9&v JgK>݈~bOt6,wn7ֿ'w_9.bI&"s깈0>c5!#[n-QE.O?)\79i,Z0sVPbPCmп6jJ&p9.>On_cߕ\kbxBo/ղ5큐i/z[zDZ?x{T͑exY,*˷o(vzWvrcv[Y_a}O3$UQ$eXAt} JF4tJ7t9ؼGiIz(DfK9'J1gbJy(Og_Man µ?$V.fK2O)<$ʓOkg dũ! '|U,03n@oھ1ڶw99k+:͎`K;-L+44ZZ[1[5V4"kw4 kꠘ[S.ryz[sŘkB!]lVb+cX᧡5g[Mb fk؜kXnم^S~Y+qHS[{{wjq|aJ>|BG>||Nc>[F7;yG-Oyp4*`!&0{Y>X,O6D(pxXLUU~  K`ee[ӍML_=ЫsZ&ᬍ%3]nr)%m^+!)Iw=DD˾{ss>{ O$iCYkWK^b]v%J3D_E\viӘxmV,`Y`M 4W'j/2e $zN[QZPq[66|m !/G}iF96J|Bl6/ mon 1펳y5л)nM@ȈMRS>LXj@?3oZ,t(dWBK8Zՠ4FN^#NeJp鿆.x<4݉ҼVP{|$ekMql4͈>gCn?"A @%hJ/?K噐 ;YXykl{PYMӻz8ЙٛU؈mXc1ŸX_ۡQ X6A–2ߙ |>b_*Ǵ8W{Q7èaV/A4 N.ǃ~ۨ'oIRSGԫV->_-t^ uL:C&èOAqyTrb-?(5({M̹('a}cQ|98qef{!p\Gq&;&phs>gWFY eܦ #[YG zz(B~7Q^Mbk|}''=23'. D'D 5^"0O$i ki'':Zp}3=,`3|a:+@Pn)vCy|omѼf]:K%=1yi޷{3I[NB l{%)\W=[۫9ȝETX3Ug8g 9ÌIk^UAG>1o|)[Iewp%-aX5i>)鿤ސ# Kl\(vpמj=%<62B;gqMzs|+3ו|516o߲B +#[o yokgM<%&EjmuukwUѺJG5\^ؖq;.Azh +GIEYMw yulm.F5E[ G7~<,հ*|;8&9n 9%ĉb[/8qS& O8qƬcf7)R&n⚪ښBr1dߌaSӣ(E<,^`!`g 3x=bZ(3 Ux\pwsww940h)D@< QA+"#PC :VDR4Ufc:5Riu uc3rHo߻{ٽ$wGBs7v޾޷oO7@Ν|NuAi;nYP(P|3msk:Pa<71b >_Ljxɲ;ntۘJ@;fPzLrŠq=Uy n~rH/eˏ7x^<<` Hgh:VQq{_bݝa3lv)mo!ҙHпcѹHpuH[\tUTp^']Jz tf?}Y/x#T9Q[PG5|AE{H]?ņ--`׽rbQŷ?1`ۦ(n[LpDK_^_p'F<~c| ט)cByĨcΐFe#<R;3T^Ǔ^'51|<l^H>yPFQlm Vr۞D̚  ,pa*Q0/|Oz=oT S^] ^TUn͏K>:miTC-(r U16zs3}b]#lg[R^&xٓy\>Vʸ[ : E: DPH :Ƿ1|{렌oK5=)nT3늫|v1CJM ?4 'Ődk2? u0sTp}hv}]nSS8?Nq9c_i//{c_%?tƓcv-T/QG!ߝ0{xHi(F9a`b8z>_GnB@$|l^T0ǒ/60Z}/l;?zb>ad|Om㯡l S idP| #N1cy:9tat-AL69m59;>_qpE~ ?N+U.S&UL]ΗAϐ3sט_Q,{hy|=z2<_mr;6H;NCOXqLa\+| hSmLLi"4&2*5#LA<C5G4+ޱg+z;zWx}oxl1AA_eK&R5CjZM@+p /33 Lb8|Ú㐳xM$P9P!CߒF"#Je[(ic 5# 4F&rd(EȻ[ҮI0?DF&E>P`X0>ѵc\; k/~r O'aL?m`E-~ ե@n1[H s 1ROfȼ~ROVf;.eDRf,r&ȋ]E`yx8elrIei $ҳGIiDCݟmmÉd[C݄Oe6\"O<_1q.UNrJXgJ<.j6eiRYe. wn h{0;E1|.."n֍<Emkw$~NYk<|tgl6i~ \$yK1ÑW3+tvgnO{GN{M'KsG$'ߟkqr='wB'[BI3SI;i2O,s|j֚ bbO3]l p {ŃSFƛCi('G7*>MTcQXFT+nS!OF7zicV)xL's8fTX6bbбF*uTp+c(ȸUǣW ?C=%saSOs*9L9㽥)eWL11ܶb6Y>n^ ><-oXݮG6C㏰{rԄΦAMJWWf'͈ɳO8BCiXNKB5ËAE \w%XoZVÒ>XTnj9\1`1C׭<(cCQ?,_? 9(:/Ywc/!?S)ijlT16WOhJVnhllt!z_uQTtՏ5[}͸>'\ywd[kdQ's<ԟ,P__1иp!.LU1`.ᵃ+z=h{`:qFO**%u)+߆qp8!nՊJV7on.YUӸqa.2k;^CTG4|[ڵgm\ٰ'6Izߩt}iخ 6,\qt!@<*-+#7"vĎHHmp a$چ(qT_} pxx x&-p#bGh$u:hAý69x>Mo 6[I{M<x+z67zLO:0YYzpFqmcfMwq YѮZFA\=ELI f4y7-:_sf()& ]Q 9zgFffߓ/GansM}y2ݓ'3oT՘(i lGBd&)J`}DICzR>l[}β`!4 0?t?<|A /I\C@((  xml[Wg;Nγ4Y?vp ilZgI;U!VԮK&J|e&D*- j!nQD+":m7A$&ݕ-Y8~/%N& Y{={=Z ~WeC^QhoTr!A ERkE ߶k;aӘ?`O$  Dࠥ.@]c|}^qrwǪy6&-teSB+FxijpKr]J}>Kms[dBgp}2}N|kC=:=D-);j#\R{??x^UB{}j/=٫+[}N=^G};Vh};E},绽TF<]NO[W+J/yHpR(ZR͏Љsh(C #g`۷.aZi8GKՙ}+W&/h.ҭ왓luz{fz#NWd:dd߲) (z;[~2l.N'ׯ'WvNU.̬)]r&N4>Y[:KWBy Ix؟qMֈ)$?%y$"}PفYԸ$ _Rb_|]w?(O9Jw MolOQ>w@A DPp Orx⒖',]c4OSuGs:xy&3xw܈'d;(8BSbWJ\pp[Kj/7w_6I,_XBy31~cw4ؙ>=kW qa1~]֊'e%Ⱦ0G`m{x iHc5(v\2gʟlwt#3-S~lD9SD)HO|t{wi2ٖqC̟e?ѓI$ytʟ˟uEޚt_1IO@ѓIO2͟d&|׽wb7+A?MhegIL~AA0</w%]&fB=>gϑ{i9#>[9Fc59}]!|gӆ%bdωέ@K{E Q|6s*=i݃8ًy̆^3sNJ0).gmu_$?$o**=z:GkP}de ATIQJ4ί̖\?s;BqGgczA>~n=t[s[;! aҸaEk9dLZ_;ڑ@ʯΎ~ע Z|xw_|Yq6 ҷ%p7V6nojiV6Gۅ6盇@HO}qߥ\xq.ot[3ԛw^wf| M3_q4oӼߥ͍GjZl9+@~tmհN^R?.1J:umk7i4 v&^% >&EcZ™AzEz>QzgLr;o@fAɭdȟk͍͡;׸,K!dfvto:fCӲci?|̴[lfh wx0)}b'_kbXX{p)qDe6^ojem%h QMk |>4~mg;m0׽  (x0b>'#[y=8r%81R;_ ;#$l+6( (2v ǎG?Xϖt#)ٛs b=@`{L,Dr{$lGx(:BMҕt#U7Xm4gD7yIa@qtb:M+-cuC!AE 9C ogWlv8[W+*$aC $8J6Ds/%2;EAEμmRƐmK+qoώKvd+ mphSvݽ)wo񽮪0wc;|2RIX#o7ZI:w˻8o.Ηz$SSEߩ|gǩ>)W3cX#clMȠ"sʑ_*JA|;_W>>~>s4Pd#5ggHD8}*5&W/?8tI8߼83 -KX?ExyY/eDV_sb*^l}>UWʽ{BpG տ-Gm|c̽}&׏uGOc]z^NUOKqH9zb ǥ`Fuh? d]}F ]k("yCx?p W&=FLap۵|AaS _o7ϯַ $F+6Mڣ="/ nKw,Q.y?N]N1S/>lWmta9q0lGpI^MC/@u$CBN1Agtf~*I8-P}ӣ\PL43[LjchVBW987(t:9PbuhDe>r*H6P]Uͬ.eB\mPtQ.ZYfEmth>P 3[(1ؖltQD!'*>ufc1=f'r >s3gz;|_U>+}:l>ӫx3ٹ(yL/BF>'yO[w__"0s}ʴ w_ $pfɗ3yUCrs̞W| ŗva#~=X3\}@%|I6ٽJ;PuER{dnKck4/%Ģl#-5=*ؖ)AE-SKv:K8jg[ITдx)_%T R~g>8'^ ښ/-V*|xoH=/J#d4FࢎRKgc,/͛4Pd^3K?j.T1Ǩc[wi4dA rMMٺ67mz ho|ŖhX^iZd}]6{ $枪+O^ߩrF{O6Esrޑ{q~< $_ۂ!#ɐW_)T櫞̜ڂ=bg?_(>irE{t )$p5*Vh0OŒ*gM  :I֝DS#_^/v>_|̭-\š˴ZfWnYd*mc'=d#v"_ZCëpEyVy)e`p8 N20;4,0c>gaKv-i׃3k)gHSxDy4h MH~n2ӥ(Wxş3-m$5\-:{gvo)̘lfD5/ ,Ip+-ůdzoZI5 ejSҶt>8Tf ϊ?ibV80cءc(f5/*UT/kcl 39!9Z!x ,'kcKkcIaLo"ia6e-dzjQ*H0v5-DNUu- SuK@7NG1~gmKc4ZNDeԁě`k x8gol;AەS;Icܷ7SYxL=x-K3 9  \ 62Kb$G!=Agqde`;LYOMYouUޅzZ欈6z)ܵ]TP\ZT9}aѴ%8vUz:vumq%8l{>M@hcu_WsF?zF%{EYOCkb?c`! 4m+T2h>.\pd:(( xmlqޞ MK@ć⣘T!JL1_9,46m%hUM*KEN(H1UJHi?R)XmZpμ=Ɔ6{{͛7ofv>9 /^ šomyx#.`жZBzS?@BB5쨆ru&Nٴa¦9~WЋ"81Ҡ7 o3@G'χ"&59؉m\m!־ xW0wc*u2&Ec! 066o(.QZqbO3XU׫r$f]n~5Z:/9d5wBڰ[ 1ޱj r:D\d~^Z N #ګ׭Υ# >P7xAZW!}jplu@3]O?Ab}o+.{v2i^5;n{RvK\zg:VJ|.?E><0ڋ(j]hdiPYrMZ; l͓}We[nAnO1߁q|$)SBJN/fmg/ȖzRe/E},@KX}=Wh[d3%#G2FG9wNս_g޿4ͅG`MLv̧1k>/6 F}Iէٕa%.damn؅>i82nsw}[Z~_3Jrk C}ϟdR}-H ?1|?Ƃ@> C{_Ȳ:q :𰰟a᳎J(%WuDT|hԿG%ӭSAl zbeDQbɉEK-f'}F =9j#Nf'7o'7:U8?6Kvp+~fLucLK^.(n&hӳWʧ:!?oB?x$"{}c(!zjNO6-U9E>21>QNQFh&%G6(ΑmPnY'VJF|bw{>.=WIC9cpۛsl|TiI'J|Bcj4 8i.v˰^'}zqmh=3 |N#C"8vs8nk261z)!^…Cv-e(+a.ߧupnl?~?<cMwk;{\j;~R2pwM_ߝnOOFJV?Qm xk.k7 twF'-)Ou~>RxLV?ijŊbS2;)Dxyx۫V9bE5xɤ{fQ7j0wlA'"t[2=.8y&9j̩t9JΘ32/5漥Ŝ [Us*PL[@DCd"Mg\n1g`cߞg ^Up~:SA(gDDMh9q!Ο{C?~u؅^%+w-ę4q \v°DG^|1>NyϜ,1jv^>O=zwoeITuߦiOu<+jԁs7sư<sM<~vi:j9i'$ 24ȨF s\!O I~O 6ËQ4 z#,mmF]_X1#{F[b~Z_b b^o +:+cez,-UF>].OE!M?b)ܼ$Ng%4$|P A\2voh!7m!NMOfX,(呺bcscKsS]SQڒ_iaCwL}EY,E?#'lblsVwhӟ6\ 8s.z.Jҹ0t@dO=sVZMHMs3yF3'*4շI%.OS?d@P0`qEi?zԬNxtynޟX,O62$`g 3x=2$0?t?<|A<  2$W'UL)Eԅ2$4m+T2h> ' 0AA0 3@8 CW ʚ;tPk8ʚ;g4xdxd@ 0pps<4ddddl 0\! <4!d!dl 0}u___PPT10U 3s3s.4Edward Colbert.6?`+ LSystem Analysis III, CS577a, Fall 2001O  =n%System Analysis III CS577a Fall 2001 &...Ed Colbert USC Center for Software EngineeringGoal of PresentationUnderstand how to perform System Analysis Using MBASE Object-oriented techniques RUP Rational Rose Understand how to document analysis Presentation is part 3 of 3 on System AnalysisX+ZZ3ZS0Z2+3S  Outlinex Quiz When Last We Met& Process Overview Process by Example =68.Outlinez Quiz When Last We Met & Process Overview Process by Example(>$90QuizWhat are key features of Analysis & Design approach? Architecture-centric Use-case Driven Iterative/Increment/Evolutionary Risk Driven Why is it important to define a stable architecture early? Makes it possible to evolve the system Easier to maintain May help portability What are key features of a software architecture? Computation components Interfaces of components Interactions among components What s the answer to life, the universe, & everything? 425PRP;POP2PNP7PP5R;O2N7  :/Outlinex Quiz When Last We Met& Process Overview Process by Example(= System Analysis Process Overview!!( Outlinex Quiz When Last We Met& Process Overview Process by Example =*" System Analysis Process Overview!!(KSub-activities not order i.e. can start anywhere Why not? Iterative ProcessP d d +%8Define Analyze Classes  LCOPurpose: Developing understanding of key concepts in this build Inputs: Proposed System Revised? Proposed Entity Model Artifacts: Component Model (part) Enterprise Classification Model Draft Logical Classification Model Z7ZZZ ZZ ZZZ 7     Z  /)tDefine Analyze Classes  LCO Guide to Creating Class Model;;(Create draft Enterprise Classification Model Create diagram(s) that shows prelimary Classes Relations Associations Dependencies? Generalizations Create Tracing Diagram (recommended) Shows relation of Analysis actors to Proposed actors e.g. if use different names Analysis classes to entities in proposed system Warning: don t get carried away defining class-Z(ZZ+Z%ZZ#ZZ0Z/0Zd-(+  %#0.    ,4  -'tDefine Analyze Classes  LCO Guide to Creating Class Model;;(TFirst-cut class identification Define how entity in Proposed Entity Model will be represented Often 1 class per entity Stereotype <<entity>> Define attributes for class based on attributes of entities If state of some instances need to be maintained between execution Set Persistence property to True For each actor in context Create a class that either Manages Monitors Acts for Represents Is Interface We ll stereotype laterP?PP!PPP2PP?!  2.(Define Analyze Classes  LCO Guide to Creating Class Model (cont.) C(&(/First-cut class identification (cont.) For each window/screen/form in user interface Create a class Stereotype <> Review use-case description for nouns Determine whether describes class or object If object determine its class If classes found that are not in model Add it Determine stereotype'.'&,''.'&,  ',&Define Analyze Classes  LCO Guide to Creating Class Model (cont.) C(&(First-cut class identification (cont.) Create class to coordinate work of use-case If logic is not particularly related to user interface issues (boundary objects) data engineering issues (entity objects) Stereotype <>p',)R','R3,Define Analyze Classes  LCO Guide to Creating Class Model (cont.) C(&(Identify preliminary relations Associations Relations between concepts that indicates some Meaningful connection Interesting connection Associations worth noting & including on Conceptual Model Imply knowledge of relationship that needs to be preserved Derived from Common Associations list Compelling or useful in context of requirements High priority associations Invariably useful in conceptual model A is physically or logical part of B A is physically or logically contained in/on B A is recorded in B Named based on Matching the pattern  Class Name  Verb Phrase  Class Name Creating readable & meaningful sequence in model context P P/P-P:PPP&PgPPwP /-:    &gw=2Define Analyze Classes  LCO Guide to Creating Class Model (cont.) C(&(*Identify preliminary relations (cont.) Dependencies Knowledge of other class required, but no permanent association Hint: think of classes of parameters or temporary objects need in an operation Generalizations From special class to general class Repeat: don t get carried away' @O$ d' @O $0*Define Analyze Classes  LCO Enterprise Classification Model for Full-Text Title Database System*a $D <1Define Analyze Classes  LCO Business-Analysis Class Mapping for Full-Text Title Database System6a $C (>32Refine Architecture  LCObPurpose: Define candidate architecture for system Based on experience gained from similar systems or in similar problem domains Identify Components Understand Hardware execution environment Allocation of components to hardware Inputs: Proposed System Proposed Entity Model Behavior Model Architectural Patterns L.O.S Requirements Evolution Requirements P)POP PDPPvP )O D  v@5FRefine Architecture  LCO Artifacts$$(.Component Model Identify component classes Assign classes to components Identify dependencies between components System Topology Identify layers Assign components to layers System Deployment Model Identify node classes & connections Describe configuration of nodes Allocate component instances to nodesPaPP,PPjPa,j  ?4~Refine Architecture  LCO Considerations for E-Business Systems @(&(Existing network logical & physical design Existing databases & database design Existing Web environment Servers, firewalls etc. Existing server environment Configuration, software versions, planned upgrades Existing standards Network, naming, protocols etc.kZZZ3ZZ Zk3 B7RRefine Architecture  LCO Component Model**(Start with Proposed System Block Diagram Did you identify parts of the system? Likely components Common components Clients Servers Databases Filters Identify dependencies)Z&ZZZ"ZZ)& "  C8bRefine Architecture  LCO Component Model (cont.)22(Look for Components Loci of computation & state Modular, deployable, & replaceable part of system i.e. can be independently Ordered, configured, or delivered Developed, as long as the interfaces remain unchanged Deployed across a set of distributed computational nodes Changed without breaking other parts of the systems Units which can provide restricted security over key resources Existing products or external systems in designlNpN  pI>bRefine Architecture  LCO Component Model (cont.)22(Hints from Enterprise Classification Model Look for optional groups i.e. group of classes that represent optional behavior Enclose in subsystem Features which may be removed, upgraded, or replaced with alternatives should be considered independenth+7 2 2h 2+7hJ?bRefine Architecture  LCO Component Model (cont.)22(Hints from Enterprise Classification Model (cont.) Look to user interface If relatively independent of entity classes i.e. interfaces & entities can & will change independently Create components which are horizontally integrated Component(s) for related user interface boundary classes Component(s) for related entity classes If tightly coupled with entity classes i.e. change in one triggers a change in other Create components which are vertically integrated Component(s) for related boundary & entity classes3P0P2,0P2;0P240P2b0P2'0P2.0P220P230P23,;  4  b'.23> /  (H=bRefine Architecture  LCO Component Model (cont.)22(Hints from Enterprise Classification Model (cont.) Look to Actors Separate functionality used by two different actors Each actor may independently change their requirements Look for coupling & cohesion between classes i.e. highly coupled or cohesive classes collaborate to provide some set of services Organize highly coupled classes into component Separating classes along lines of weak coupling May be able to eliminate weak coupling by splitting classes into smaller classes with more cohesive responsibilities3Z0Z2k0Z2-0Z2T0Z2_0Z2u0Z23k-T  _  u  LAbRefine Architecture  LCO Component Model (cont.)22(QHints from Enterprise Classification Model (cont.) Look at substitution If there are several levels of service specified for a particular capability i.e. high, medium and low availability Represent each service level as separate subsystem Each of which will realize the same set of interfaces Subsystems are substitutable for one another3Z0Z2M0Z2'0Z2i0Z2-0Z23M'  i-K@bRefine Architecture  LCO Component Model (cont.)22(Hints from Enterprise Classification Model (cont.) Look at distribution Multiple instances of particular component can execut on different nodes Single instance of component can t be split across nodes If component behavior must be split across nodes Decompose component into smaller components with more restricted functionality Create component for functionality that must reside on each nodel3OA3O  AwA6bRefine Architecture  LCO Component Model (cont.)22( Base on past experiences General Buschman, F., R. Meunier, et al. (1996). A System of Patterns: Pattern-oriented System Architecture. John Wiley & Sons, Inc. Fowler, M. (1997). Analysis Patterns: Reusable Object Models. Addison Wesley Longman, Inc. Shaw, M. and D. Garlan (1996). Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall Inc. Szyperski, C. (1997). Component Software: Beyond Object-Oriented Programming. ACM Press Books. Domain-specific books & Papers Technology-specific During designPP}P+0PF30PFP):  )  >  =  +  6    3    P! [ D9Refine Architecture  LCO Component Model For Full-text Title Database SystemN4 Database component from System Block Diagram Decisions Client-Server Model Use DBMS Note: Database & DBMS are often deferred until later in developmentB7PPDP7DF<lRefine Architecture  LCO Assign Classes To Components77(Create preliminary Logical Class Model for each component Allocate each class in Enterprise Model to component Consider hints for identifying components from classes&o7o7MBRefine Architecture  LCO Logical Class Model For Library_User Component I(/$2  NDRefine Architecture  LCO Logical Class Model For System_Administrator Component Q(7$2 OERefine Architecture  LCO Logical Class Model For Server::Database Component M(3(2 PFRefine Architecture  LCO Enterprise Classification Model for Full-Text Title Database System  Updated:h(D C  UKRRefine Architecture  LCO System Topology**(Goal Easier maintenance How it works Layering represents an ordered grouping of components Number & composition of layers depends on complexity of Problem domain Solution space Communication typically restricted Component in layer can only request services in same or immediate lower layer Some approaches allow Component to call services in any lower layer Harder to maintain Call-backs  n #d.  n #  d. QG~Refine Architecture  LCO System Topology  Layering Guidelines @(&('Number of layers Small systems ~3 Large systems 5-7 Visibility Who can call whom Volatility Components implementing Most volatile requirements at top Typically user/application-specific requirements Least volatile requirements at bottom Typically platform-specific Hardware Language OS Database#  "1&  #    "1 &  <Generality By functionality Higher-level functionality at top By concept More abstract model toward bottom More implementation specific toward top Interface-to-Entity Interface-oriented at top Representation-oriented at bottom Application-to-Hardware Application software at top Hardware-specific software at bottom  " J<AP " J  <  ARHzRefine Architecture  LCO System Topology  Common Topologies >($(d3-layer Application Business Software System 4-layer Application Business Middleware Software SystemT%0%0 5-layer Application Business Services Business Objects Middleware Software System Model-View-Controller Interface Controller Model Persistence (optional) jJ2J2SIRefine Architecture  LCO System Topology for Full-Text Title Database System N(4 Currently only have few classes But We ve just started Planning for evolution.$P*P$*G;Refine Architecture  LCO System Topology for Full-Text Title Database System N(4 8Nothing in other layers yet& &TJbRefine Architecture  LCO System Deployment Model22(Goal Understand Execution environment Distribution of software components across environment Model describes Classification of hardware  node classes Classification of connections Configuration(s) of node instances Allocation of component instances to nodes Ml M  l?XMRefine Architecture  LCO Node Classes for Full-Text Title Database System K(1 YNRefine Architecture  LCO Node Configuration for Full-Text Title Database System Q(7 ZORefine Architecture  LCO Component Configuration for /Administrator : Workstation S(9 [PRefine Architecture  LCO Component Configuration for / User Station : Workstation S(9 \Q"System Analysis What Have We Done?##(aDeveloped a preliminary Architecture model for our system Behavior Model of system Classes model&II^S%System Analysis What Have Left To Do?&&(dIntegrate models Will set of classes & components implement behavior? I ll cover the techniques when we cover system design Demonstrate the feasibility of our architecture ReviewN567567 ]RSystem Analysis ConclusionsWe now have seen How to perform System Analysis Using MBASE Object-oriented techniques RUP Rational Rose How to document analysis Time for you to trying on your problem Then you ll really understand! 3 2' 2 2 3  '/8;VD ` fff33` 3KI3ff` 33ff` /p` 3%*3|` Jy3fff3f` 3ff3̙` 33ff33` DDyq3f` ̙3n` w3ff` }ff>?" dd@,?nKd@ P nA@F`d n?" dd@   @@``PR"   @ ` `2p>> h ` PL (  L L 6[ #" `  c   \*  L 6_ #" `6v  Z*  L 60e #" ` 3   X* T X L "X L N\id#" `P D0  L 6md#" `U B0  L S Hp"UY <  L c $s"YW <   L c $v"YU <   L c $@z" <   L S x}#" `SV B0   L S ؀"Y <   L c $"X <  L 6p #" `  `  T Click to edit Master title style! !$ L 0 "  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     SH L 0޽h ? }ff80___PPT10. 07  Pixel#    `P# (  P: T  P " P Td #"   D0  P c $e| "9)e  B0 6b e  P# "e  P S |"ie  B0  P S H|"9) B0  P S  |"0 B0   P S |"?e  B0   P S |") B0   P S h|"?G B0   P S |"oG B0   P S  |"9G B0  P S |"iA B0  P S "A? B0  P 6 #" `m  Z*  P 6  #" ` m  \*  P 0D "P    T Click to edit Master title style! ! P 0 " P   W#Click to edit Master subtitle style$ $H P 0޽h ? }ff80___PPT10. 070 @*(    0(֥ P    X*   0(ڥ     Z* d  c $ ?    0֥  0  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  6T̥ _P   X*   6 _   Z* H  0޽h ? 3380___PPT10.P0펯   0(  x  c $PP    x  c $$P P   H  0޽h ? 33___PPT10i.P`X+D=' = @B +  p0(  x  c $0kL  `   x  c $lL  H  0޽h ? ___f3̙;/f9___PPT10i.PP'+D=' = @B +  0(  x  c $TJL  `   x  c $RL  H  0޽h ? }ff___PPT10i.QPm+D=' = @B +  P0(  x  c $$TL  `   x  c $ pRL R H  0޽h ? }ff___PPT10i.QPm+D=' = @B +)  pP(  r  S wRL  `  R   S dxRL<$0 R H  0޽h ? }ff''___PPT10}'..Q𪙙+[W_D '' = @B D&' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*5%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*5J%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*JZ%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*Z{%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*{%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*C%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*CZ%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*Zs%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*s%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(+8+0+R +  `0(  x  c $LSL  `  S x  c $MSL S H  0޽h ? }ff___PPT10i.QPm+D=' = @B +   X(  r  S $tL  `      fA L` H  0޽h ? }ff___PPT10i. Q+D=' = @B +  0(  x  c $zL  `   x  c $t{L  H  0޽h ? }ff___PPT10i.QPm+D=' = @B +  86(  8x 8 c $L  `    8 S L<$0   8 # lA L"`4| XB 8 0DԔV   8 < 6r   Jwe re here  H 8 0޽h ? }ff___PPT10f.. Q+s_ (D' = @B D' = @BA?%,( < +O%,( < +D' =%(D' =%(D8' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<*8:L%(D' =-g6B fade*<3<*8:L+8+0+8 +0  |0(  |x | c $DL  `   x | c $L  H | 0޽h ? }ff80___PPT10.~Q)Y$  `$(  r  S ܡL  `   r  S L  H  0޽h ? }ff80___PPT10.Qpq0  @0(  x  c $ L  `   x  c $ಆL  H  0޽h ? }ff80___PPT10.QZ0  P0(  x  c $HÆL  `   x  c $ĆL  H  0޽h ? }ff80___PPT10.QZ$  0$(  r  S ͆L  `   r  S ΆL  H  0޽h ? }ff80___PPT10.QZ$  $(  r  S (׆L  `   r  S ׆L  H  0޽h ? }ff80___PPT10.QCf0  0(  x  c $L  `   x  c $L  H  0޽h ? }ff80___PPT10.QCfr   r(  r  S L  `      3 r A ?L"`7 H  0޽h ? }ff80___PPT10.Qnr  r(  r  S L  `     3 rA ?L"`  H  0޽h ? }ff80___PPT10.R 0  0(  x  c $\L  `   x  c $u{L  H  0޽h ? }ff80___PPT10.~Q)Y$  $(  r  S  L  `   r  S pL  H  0޽h ? }ff80___PPT10.SD$  $(  r  S `L  `   r  S 4L  H  0޽h ? }ff80___PPT10.RPbP$   $(  r  S l,L  `   r  S -L  H  0޽h ? }ff80___PPT10.Spl0  00(  x  c $;L  `   x  c $<L  H  0޽h ? }ff80___PPT10.Spl0   80(  8x 8 c $DLL  `   x 8 c $LL  H 8 0޽h ? }ff80___PPT10./S0   <0(  <x < c $xUL  `   x < c $UL  H < 0޽h ? }ff80___PPT10./S$  ,$(  ,r , S eL  `   r , S eL  H , 0޽h ? }ff80___PPT10./S0  0 D0(  Dx D c $xrL  `   x D c $DvL  H D 0޽h ? }ff80___PPT10./S0   @0(  @x @ c $pL  `   x @ c $L  H @ 0޽h ? }ff80___PPT10./S$  $(  r  S @L  `   r  S L  H  0޽h ? }ff80___PPT10.SЅ  NF@(    ZA ?L"`'  r  S 0L  `   r   S ئL}   LB  c $D} }    `A ?L"`   H  0޽h ? }ff80___PPT10.&S&$  ($(  (r ( S L  `   r ( S ܵL  H ( 0޽h ? }ff80___PPT10.-Sࠔ`  @ H`(  Hr H S |L  `    H  `A  ?L"`X H H 0޽h ? }ff80___PPT10.3S`Lm`  p T`(  Tx T c $ěL  `    T ZA L"`-V+ H T 0޽h ? }ff80___PPT10.3S`Lmf   `f(  `x ` c $ʛL  `    `  `A ?L"`j `  H ` 0޽h ? }ff80___PPT10.3S`Lmx   dx(  dx d c $$ћL  `    d 3 r x x A ?L"`JO1h H d 0޽h ? }ff80___PPT10.3S`Lm$   $(  r  S כL  `   r  S T؛L  H  0޽h ? }ff80___PPT10.Spl    h(  hx h c $L  `   ~ h s *L   r h S Lz   H h 0޽h ? }ff80___PPT10.Spl    p(  px p c $| L  `   ~ p s *P L   r p S $ Lp   H p 0޽h ? }ff80___PPT10.Spl  PH` (  x  c $L"L  `      `A  ?L"` k r  S #L -  H  0޽h ? }ff80___PPT10.3S`Lm  TL $(  $r $ S 1L  `   r $ S 2LF     $  `A  ?L"`-    $  `A  ?L"`k)  LB  $ c $D} } H $ 0޽h ? }ff80___PPT10.-S1$   $(  r  S ;L  `   r  S T<L  H  0޽h ? }ff80___PPT10.Splf   f(  x  c $KL  `      `A  ?L"`3e  H  0޽h ? }ff80___PPT10.3S`LmZ   Z(  x  c $7s#@wS['?.7+n1ڗP=taۂ~  K/{?ml3~\` "Muə;l2AO84;Grf>?ٍK|19Ɵ (~@@@ 1A80D̷%$0 0ۣq $pmdG~$v>LxzYQ1q < |i`G y`XS 0 @@ 0K yz+M < bZ"P"Ńr G EÚy >d';^҇zh)>oI=WbeF)[ KŴAu' *ˬ@|PT㉠I ȑUeSPOh$԰6KAyP$H!>qP2䊩3!ymRFj"PH QE3ђV bz^Q2}DHOy|{ n{;o.sn+EUH[y |I>*)62R ^f'N2ݣ~W2e3b_Kr6銟/sJ7_mgmwd؎:_Eay5OXXVadhp;6=>J<};(OomAPը;Wyݒe*Ŋ۬W*m'1+hcV|ðӞbW>|C+R* &c?>ۺ~^!ݦ'ҽ Q ;n1)6si@UY~n"7:ۍp?9yyy➧E a}W덯xxć޻H0%3Sw=2 Tfv~{Z˲*^;N^qKC~W{eKS+%S_Քk^7s4;9bdpgg۞KL:3?p-{/ՄHBhR@9 PM(΂A%i$KܧBNYy2ŴgĔkXSK¹L.y'_&V_%i,;g+p絿h5Tyn(s!k=A;zaH_-БN/cIMPkbRhӺOm4D7Њyzŵs(>kJmS'n67V? >*.5?:^J)#A/8 w1 [8'8g+n{t0%yb ^ps8hHKlJ ?)i /*1U-F݂($wj`L7jzҰ0,=h RN/;kcڝKVY pފM"8ʤRPk uޙT@MsԬ)..ehdFəIH}?sV#VtfVKMOg1&9 LQ6U58Ls^|-OZ#Ku]Ob`4VkhkĬі 9 דvjG;nojۭ Ϋl4t{yP jm0olŢ>N{ЃfEJV=bcJNn;bA?0v1gy{'pG9oI*0 uc͛'W'?fJ<T;>On7ʅO7(ޏtΏkQWîYwO]P>Oe;j0-M}{=/9HK%M.~ԩE=0E}:_пV)}1K?ZUߨ7ud,@#Nf0_iG8cL/Qk+Ksܽ87Yhs?9Pg uຝ2XvQ"Y'VcR}Ød![]a{Z '5MX"G.n1ΗKC+h1[*3^{Hmb%qj8XfT 8{ycmoZUx$4m0P,UhWFDb *AY hh FcĠKDlG⃱d(B1@+ߊZV}S+ߊ+ߊQ+kVsԊm;lIiȉ>ö=ix99Gc[^Vߡj}}՜\ͅH5wkqƧ@`?`gXiS#w {2rǮ}"cZuxU.ԍ )6vS\Olm,^`>U믱=Yl{eufo"5b>\QDzP~nwSWu&9 sցhrHSTb8;ggVup#K+T]]A^J)toSϪ 7ke<ϢS<6U[y=sx;,=J}q6LvȦs6/nm%RŷIF-GQ>bmiu\n$P_uk^Q?5RC},ye_u /Q42m~2CR|@bN`;Cs,}a-b?]^7EӃv7&Q%9$Gh+7G I *rTAONrtBR:Gbk rA>Qțs|޲WX=g?g}9{TײyKY\c4cMDH'&e<6x>ɛg$z/=r$Xkƶ(.9 `6'i6W#*4@{_Xy7s'Mk?PZiBI>o<\.R-R+D/+nzA /lg_s73dPEv~bu^)WRSӓ'cWT|r||r 2!d?16.ruLEw6_Z_k-sr-#}醵eE4b 睄&)X"f? ړ֮wh+vru%7En{;y9#9}fm.t.tj2'@)Ncňl=u_ըP4xMv--'-- @ !# \|--'-- @ !" >--'}-- @ !" --'-- @ !" ]--'-- @ !#--'-- @ !# >--'@Arial-. 2 i 10/16/2001."Systemi-@"Arial Black-.  2 i1.-@Arial-. $2 System Analysis IIIw      .-@Arial-. 2 CS577a.-@Arial-. 2 Fall 2001 .-@Arial-. 2  Ed Colbert   .-@Arial-. +2 %USC Center for Software       .-@Arial-. 2 A Engineering   .-՜.+,0     % On-screen ShowUSCz0; 6ArialTimes New Roman Wingdings Arial Black Arial NarrowPixel&System Analysis III CS577a Fall 2001Goal of PresentationOutlineOutlineQuizOutline!System Analysis Process OverviewOutline!System Analysis Process OverviewDefine Analyze Classes LCO;Define Analyze Classes LCO Guide to Creating Class Model;Define Analyze Classes LCO Guide to Creating Class ModelCDefine Analyze Classes LCO Guide to Creating Class Model (cont.)CDefine Analyze Classes LCO Guide to Creating Class Model (cont.)CDefine Analyze Classes LCO Guide to Creating Class Model (cont.)CDefine Analyze Classes LCO Guide to Creating Class Model (cont.)aDefine Analyze Classes LCO Enterprise Classification Model for Full-Text Title Database SystemaDefine Analyze Classes LCO Business-Analysis Class Mapping for Full-Text Title Database SystemRefine Architecture LCO$Refine Architecture LCO Artifacts@Refine Architecture LCO Considerations for E-Business Systems*Refine Architecture LCO Component Model2Refine Architecture LCO Component Model (cont.)2Refine Architecture LCO Component Model (cont.)2Refine Architecture LCO Component Model (cont.)2Refine Architecture LCO Component Model (cont.)2Refine Architecture LCO Component Model (cont.)2Refine Architecture LCO Component Model (cont.)2Refine Architecture LCO Component Model (cont.)NRefine Architecture LCO Component Model For Full-text Title Database System7Refine Architecture LCO Assign Classes To ComponentsIRefine Architecture LCO Logical Class Model For Library_User ComponentQRefine Architecture LCO Logical Class Model For System_Administrator ComponentMRefine Architecture LCO Logical Class Model For Server::Database ComponenthRefine Architecture LCO Enterprise Classification Model for Full-Text Title Database System Updated*Refine Architecture LCO System Topology@Refine Architecture LCO System Topology Layering Guidelines>Refine Architecture LCO System Topology Common TopologiesNRefine Architecture LCO System Topology for Full-Text Title Database SystemNRefine Architecture LCO System Topology for Full-Text Title Database System2Refine Architecture LCO System Deployment ModelKRefine Architecture LCO Node Classes for Full-Text Title Database SystemQRefine Architecture LCO Node Configuration for Full-Text Title Database SystemSRefine Architecture LCO Component Configuration for /Administrator : WorkstationSRefine Architecture LCO Component Configuration for / User Station : Workstation#System Analysis What Have We Done?&System Analysis What Have Left To Do?System Analysis Conclusions  Fonts UsedDesign Template Slide Titles0&_|[Edward ColbertEdward Colbert  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFHIJKLMNOPRSTUVWXZ[\]^_`eRoot EntrydO)Pictures1Current UserYSummaryInformation(GPowerPoint Document([DocumentSummaryInformation8Q