ࡱ> `!><  `C8^23&"x~Tx xE;_#ɽ^$@V2!ϠW7*G D 1 A8 #%" HXw!2aO]~99Uu)8Cן{c ӄ~6 .c_\?n H?x^͛!q\4wر~?qi'p=)bg`1{o}[Ǡ|' 0N?`-Nh`-#~_Ga-/yK(TGaшxhx -3lV)y0?+K<zjIV( q'H:^ӴcCͪEQz4#J6rHBq%e(tI)DUjzNA)e[yI[$EJu@[ȳFem]YNO-qV wlSjYIY|凓$P%PMF UZ*Th#{0Z,Hqt&Eu3ɱ'm։%ʼnWBWȠOB9-tl{A6 r0S B9y8@>%Sb@g1ѹ<ˏArw|Pn[Cޅ?;i m`+BC-t0Et+i5S Owwt=hiȞ3`3IL@9@zЉ۳_]njZ 1!q>!}O .<@NsqOsY"=I73DyStNDf1>mFXb > ?l3?<%!3%XV!.+dcns*̴a fjXzՆ^Z[Kl؞Af5("xG)N)-.ͽ[LqosX$г4tw'NwE"c9*.XؾkkqXl kzȻ3D"[vZdqjm\X!QPX?[^=A`h-Ηg{,yѣZc^IIJ)œ*9Goj*"Y$ twkuG=To߻MZ^~Ow\j6/}t?ry gқzHME^۾V~υF hG(;Mt^x*lǒyz#i]C'$5w$u7 .%ViU]zѷMkX~̡e N{0^,A^G qb4,pڀᢣ @;PD푨ւ{+ʶѥ #A`$EYeP!oSfQ&nvع{ڱ9)"LrdGrBl1N r,2GV:l8fWV\ţ~:xS_up:ON]a1Dn9Čr:)nqdY|c`_sJ\tY|\ȚIF8k}d -34q#i5|N- #mG7P0tT: z2"ܧᑍٯ>ASGc%E\}z)~,W[Q*m]r7p!I{r^t{GwqcSsΧDʈ`2$0ll9wD2"7D6+#>oy&c^ƼcLZU³,UwEV-{ 6c{`N訙c =mnC/˥JstDq:6enyLT uOX'q#p69SW|'){H KE>@}**ֶ(~/_\@`yUG4@=R!? T8VD9!3ݱS^Ë$.9O%_㄁_x6W;*DizNjCv&퀘hpԋOJ#V%ЫB%b;ěM:LCx'CPu?[̒gr.(U8C=q-w셛wg_.~ŗ_SwHW_xY~i~\{5APC;uݡSOjP9.Y崫 4ZlзIўu3@gwP7Ufn}`l#XӜ0_9٣rʕ U]es(os\Ak:ʹrWߍǃj<|+/+{Mrev`RȀQ`l!8rܨ~{~4RV_3z 0(J> _D_;{Uh[d/<ƋU9 g"<< 2#3q%IAL@W$+p PI1I҄᫇S2"iiỵ;pCuR]wE7DܥUFgȆ߁_ ɦ+o 7hucPhq}7(7K~6}Ss}#X/X+]:g:.eL0lTF1I2֑7oeId6)7Iik) -ZܧzRQ~.Ws/VzӔTczǺzzHE9Mֆ~=Y5cѾ?ܧuiB/i'Cю2@s CN>yHK96=n/3Ԟ>\IpqĞm(]"_O&1RծNds"(ڭP'MԜIA+Tq#!||vA=nw5شW@ ^? f`>f:)voW#; ,Ct1ꜥ,.v?푵}~@mdQyjx)<^ݞfc8l26#s{Y{/rM1HnRD}>(6$ӌ iē-@vC ^m @BV9I^'<=2>y\a6vq7otB㸟7_z?q?Eu: )c`!D;ZکŊB\%H>pcxZ tU~]}oU:IwE", r0 "0r<3 ]sfeFG # _F$Nwj[IWUمsuWޭO_j!`V?2"Uz,:Y=[},>On81OMxѹsy|~9?܉s=?5:ۊQJڎo7$k>'g?K{5u2b4ƕ: ek>Sr+c=h#ψ/y[ueſ+c'kɎ֒͝-pCㅲF OGVZGAC?MkZbg@3P*3`k-f6.ᙍ b/$wЭ\`lA%<4Eb799jA졞GsoK es>_ŋhyn-QDhAis#αI^i?ڼteg398n .4] Ft"'1ʹ3|(-J죜fz1&+%[P7MbRsJM ROB-{07QsN bzξ㺯l.+ߡ_XSYsT|b^gl{RS̓wǭyYD6w⃌S9VDp#t=3bk&fF @loM:w&kSݵӠǽڼ[;9Mm] ƙEQ:֜γYfZ Z'(LK]*2~g/3Si)~c_,U_m>36',49)c,~z:W[|&. vgupΙ+iRh%]_ͅa7 1AX]j* ^^ʇO /osN%~ZiVڐ c75_^ Z2ETKίA&n|mwnf9ѹڂSfj. ɡ-[boMoMXlߒ;ΡW;i_ v f=b~昮tmQ|rYbp۹N{4A\^ b'a&K\khsR;=!;+r&>nAl|ɱ66UV~ bI*GE;9'؎Zۮ&?&)6sQ,J{7OK\c}h>$׬;am9&@ gIf9p9Uy bت{,{\JuDga⫮+oKǾ8oGΛh2ߗm1-US-mJxV;V.-zw6; e'3QTy_k>A_cbkNG:< DK v"寀.f/˳Z9LVfj;C7'{]_+b{;^җӓ,x_)Փi2, r:΂Z"-ux*\kyB ='-,a'c~1g[XO?ӓ[ɵ%gh` G,!]0# L YXN,b#\vau3~mXHК,\lYz~m-wiYi6o]q5BԡJ5Zw- =.r\lqZ;yZaDwľf]jt6#z X{psWJmj^9W=qQ/h96 /{(/{X8f);:vV/9>F?&+:+NnX,IR(C[ڤWџѾ~ Krv g>Gnpv݉vw]*'; BL5b98G?T8q 4(QƷ(8.NQIyt7NPpr* 7@⒜~.oA@ 4S?Kꍶ/=$gh;aZy} "H\6*r|-T#71ũ}!Fl%8 T85!En}'C;INSo98G?|a'ӌrj+Nd/SC;wqr2hg m:ىv*m68G;록Rh lNʠfh)%s)E~JnvB'eVhg3S 픒9YB;h7C;[2~+)vJiS |GC9Jp>C?T85W!{V*]ks5F{j5. v9>0\9g 9{. {.+===g`,qN|k6 {.+===g`,qN|sW[)CT>Qb @?_.N-s5u9ZpN=~5gZXc`YX>`K%;{ʱX/WWu;d+meLFF0>(Hy&lѐχZ=JFIFHHDPhotoshop 3.08BIMHH8BIM x8BIM8BIM 8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIM@@8BIM8BIM pmPJFIFHH&File written by Adobe Photoshop 5.2Adobed            mp"?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?TA3Smpiw=q)2H.cc`c68@M؜ec:I8nퟡbJJc$nHJ2q Wk]C\ ,?Q%ʺߓvCVtәN@Ye.,cjvƱYwlw 7SXVa$sWeW5ē9'8Ae"4${:WE1W-i1s}k?rc&l$^n%e@d .-voRx7O򚒒ke:JUS;_H.ĐXO1-VIO1ԺoC`:۱3E6^Ӵ}vZߴ-_KGD馇zc=~?}oZȘ_A>N)ѯ_?vH[$q?Z*ˡcX`{ =k}/օW[Kpc.q}s_XctioS\Q뗾$4YׇzsKTGu?r =,OX}?y}"ʜv+{ϷXu5q4g yŽvsJS]G=\}?:~mG3Ŭs_Kv9]+/veVzѩ~:7Q8}uR;+"̋/U-ϲzaޛmk}j. ?S5ϳ~6c6]Te=xdW}xbSihT\go]n(LZ0:I;u&TY.÷1s[uߧz_h}Y׶|@X׸me[XX?5M/7ípj4oYXHP^.:G:wJ錹5z#&d]sxh:=VI5sTL~2XӕSXwZnUcvgз5X \In&;zJJsˆ D~_]k[w`.?{#][+ϺśޖF6Ez~bhyjLskr]1s.hk[W;Y]oڭ_zoAhpNwl iq`ihs+6Y۽}_:}uV0mky+,pC\G4œ}<76 GWf#pm\Y[{l~>_#lO֯4&y=6V\M=.Ž;X5{K\ݱugDjNmcdbLqr9~_Ջb\斻}Wb=$u>=k~(S;]({N{^o7{?IObȥ*9p?MnWMn6e6&8^6\܆Y:ffYV&)d=wvksqmx;mg?+Ks|l].c,gZ,=)ZVt:fe~h)%Lu~]kNK\,; .c?6kS.A2Y߾݉3:'lc~N)}4;@-0ײG{:z&oD8YUyoup:4ukm#~{_[iZ&nmEUW{.oԷ' iu=-7(4VTXY-m%_d}~eY*GfWSaI'a94un==o_=0Π2v[SmNǯ Z止_S#;oCқ75ury8L4錈yeLnO?mmC}lhoTe;luxfs쌊>ӟ_#}ѦG mnjF=Ed֜T~l5NRoƝC}9dk={&[ҷ 6 LޏڿYuH[SoSoNq?>nQ'?l 2˪l8{ٵi[+SDc뺮vM3'y ?GNX'cvUQu^^F^:N[ml2=GF=bFF@burQ2Sw;OS;}2oW{e;E~ٷI.[~psKZpsk/}u4o-GIVw2xO=2~WFn#*C\ nƷfw­،Jᠵ"Z;gEڿn {MﭳDK[ ҟTI%,@"&yNk >nd}bb{oh3ilkKmv};J7eA>(?OvwU>2pNVZؖӟ3zuc\n!ߛWWzޕ_hmu_f5W+oI$exAl{Y m zտ^(ӏ~:i8͑Xs[9_o5*??灓!+؞_2;g2NLaG3ŪPݒKͱc\]~B˽kGYd[{:~mMNZ=}jr2odMi4s=69M9}<o}K)T -p6[eޗkKN6^z*$Sc۾~=T[:/J6KvcNev_}~Oz>sf_Xu+a9k}3Xe`UVnmVٓoelJyc ~V &Y=kk?ץ4rl?FWպEx19Pn(p@5$H2?TYO??'ا&E 7~l>UWf?Ӯ[C\`.e_?Fei?%޿UeAK캇n2ƊgM#>]52-s [hx۵+sv{r=_~ܚ;p&DDX8=^^@-?36>t/8yvUko,.s{]z;g跳>U?Usb̺n9XM=gӱo{=F-Ą[,QOg[B} ikf7~ww~Í^qUI%v5˧?чm?i?5{5`Uuy>/2쾧a~˃KK~TQCqT7W螟P]Cw7-`nWڪkQ qڞ>nn7C~FKpHAsiWfݵT}?_6״=9PA}iw_Ikm/cƈ{ɋ_3z_)b}bǯ[1ƹWhǫ!MxͶOgcA{z@z1mc3hcnsWW?TI%)$IJI$S~-å ٛC-&o oA| Ţ=,6oۯ1Kzn6zo}OEduEsG?[_mN'lN@{q$M\I%)$IO8BIM XICC_PROFILE HLinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ,bXYZ@dmndTpdmddvuedLview$lumimeas $tech0 rTRC< gTRC< bTRC< textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km&File written by Adobe Photoshop 5.2Adobed@9C)     u!"1A2# QBa$3Rqb%C&4r 5'S6DTsEF7Gc(UVWdte)8fu*9:HIJXYZghijvwxyzm!1"AQ2aqB#Rb3 $Cr4%ScD&5T6Ed' sFtUeuV7)(GWf8vgwHXhx9IYiy*:JZjz ?ߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺZt'>p2|=\W[_qGL&|x/M|bY[6 b<>7>x+q׺d8_|tߒ{onߍs7${ó:|=o=cva)*L0Ad":jʪ=׺a#wflnQu/=>mp믎[뺶l>[doo}]+4tG;~!S'C[/r=O;k{ouYeڸoDɄ;mgzfw,~7&fQ28*׺Gg ?7aoO_]ߑnݛ┻* );J3A_V*kgD+uqwRMo ܷnj['hbFw@vNnnOKHO)W{ul>׺u{{^׺u{{^׺u{{^׺u{{^׺uߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺIvћrTMFܕ[xTm3 6f&unIqϝܕ-4FZ)!H{/k U]]NV;kd1{ jczn;rxٽsΏ .~ayGoʦKflu-ËC$sJ!$;21\߾;vl>SsW2"LVnvAI–EcU,Zcn:^+~f6޸誨7ZaZY|1-KQ,&pcǹɴs5^sFb\$бGqM2qMjD urc+y2ZT:xtp5!z6H{ߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺ^׽uߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺ^׽tVA5K a{r$_xںV?i`{F'{^׺u{{^׺u{{^׺u{{^׺u{{^׺u{ߺ^׽u~Pco#6/,.Ki5f ]zu_04{!]ջSd2Up6(u?{E_||Mll>xsc_.O_{õmQfFަ󊢆\~wr2ʵuf S:{tt?}3gQpg2>vW?Q]Sy`3U\6t6jxis9T"$g:f7fmݙϞb3{}>Kq=./ntM 獢v>o03c{rolɞߨ_#~"~ݝiύ(v۔ !KO&g%$k+e5ԴZ˲mo twIoo0[cm0ϻAVt:bo7wo5U]DTմxt\>8m03lܟ?mf)6~{x^ՇpU\f\"C[UP)īuf۰z+:`f.-NcIfn{sw!/ן%n-5N6E{tv4x[϶%7WZn h|=׻rn}xM7`WTՊ8%_u+#{ ]xh7]沝{S:;cjm=+;r,L[ANZou{{^׺u/?iww?/cnTWQ97,ݏy u~{ߺ^׽u~#+_7rx}3~? [WG?9BDdkY׺T|Q{{7w7OwsT/&3Ի|i~+l$xǫg)7<e)颚cTK6w7_%gu|ٽsԕGp}ԝﹷ-ͫoz;?n.9=͒jhZVi$^KC̆h?$i=SGwv{GNݿ-jӣNMV!1k.7=OY4>Z{@sdq={_;p?dt~կ7]Ŷ^ؽhr1RI"A{/S_'`|VP~^*\^?)lc0UeR$< nН OgvwVv>Ku/vw}udq<|u*S+W4+z\t3E)^`…:|țg>'cOt_/`|~xh{[{;CiDtne 5 ښZPٻ%_7VsOLO|]W{vP^mzvܛۦ:sxSϵrJjIrTQу(^u= 7N躟kILG g[.ۙm{w_%ׇYS¦e Rc^u~{ߺ^׽uߺ^׽u~U˿kww.o!? Ǎźfn͹?hhvmL/'W. \5Wej!j&'u;4tOr=GS# >@&몞U=a;Cdl_d>WnlTarQQZ<$(׺_ɧTtq=m|ݻO~V/cyn~ݛw&?#UF`:snIYO穠r55K/R/A6B39& ǭ]6^߽]s>;*}9[jς-*,Q3_gAݶL՝wWa:û~GtkbSz7 ;3/Y4ᣦJI׺/!Nm .x[Y}cw^Elt;gpn*بsXܒ⫪#Z/u+M=r7pc[_\~3Z ??p|KۍJܑfZ?uY^OURTV}Ŋhoj|۝vjl,W-= xOي:Zz#%Ul~s#GH{~T`v_͑fw\v,V,Vt_G]wZ?_yj2*)C^׺u{{^׺+_ lť0SH^Ғ/m]G+Mv=Kԁ׽u~{ߺ^׽tϸpەTEC0<%duQRhxR!.ǿu#?=]+m-ܶ[9 To~MT Щc|u|޻Gpk_߯6c6}7ub=ÑXנazz(禚2=׺hOm|Nȟ=i?evWtvS vuf?#0/lwtݙ`u'z޵TA0m+R ~AI[[/rwbwMyUկ3l͓=MiK dux1O*'FSq/N#~ϔIڑQ|^ω{oh&Ssڹ{.ny%{-OlLuAnnoN뭷jRnsSeVme)0ly`#ҫw؟ ]&w~}t>꾟31~ޮ|nfxywN9>:XJUՓ^׺u{{^ߺ^׽u~{ߺ^׽uO-7];#/F?YZw]_c%pj,EN*US6RD2l9\' ˴B|+nw.VUTF n6{G+n>qڋ \BCG٥#Q Հ| o_vzd'#xvPW4TnMf_%NghGE~qks}sU܀4[]*G#Ӈ1TJv۷>Mܭ7G!|X ͛&X/LqoxOu~{ߺ^׽u~{ߺ^׽uIc7i(RK#q(gv!U@m`hz2vGpE7ة_ dKvOR:S@ ^S,ӲV85y~2~R l?Ah >]GyhI[]bhˁx9>e5mjQU:pbw H`V_Hz"0ʮԟu޽{{^׺u{{^׺uϖCnm۹z{xNջxlovcd(cG!C®A9Bȗ =o@F"xҟPh=mۭW6zN`H~LIQup8?4;7n|GO⋱~;aa1Rjȯ7cVW"yˆMIITkl{mw\!ݥiݥ[E,|;pH&iC(ze{cɼb[xM .YA/[wZbs'W,xUVg7&Fѝinlēϼ n`޷=$K #R{#@#M(Uro;Ѱ[Lk9&IXd$dHf'#?G{ߺ^׽u~{ߺ^׽uߺ^׽u~{ߺ^׽u]?$1&ovͩ>-zӁ*ͽT ut "B*KV߲s߹^LWd 4IA_  =B~ns60 V62hiA4e u?>_q힥Re{]e{p5]uEjݵQ\.?wIj}ۋ7٣Ӑ:wNhtZܱ 0L|/ z` 4h lʠ= V{DrZ|o;ٶ.[ 6kQf-lNc*r8WEttbeygw[<7GGYMYNA-qۮx2:0*A#iW׽u~{ߺX*ji櫬6Xূ$Y8@.Y{ګ1 >CI,p"J*X$vG؏SAnЍ*1I*rTX `O"G+nzZD|ߏNcÒ6#$W/.4ۀc1d|2}pO^o*-MKl> .ڻJX$8W %M}5=%C !6 YiZWuTP^sV;,S+C\($nS*ԏN}}lWx)vܕ{v 1fe.s'=<40,(ј?6ce {|%R/ƋS$Ϳy2)Hi%f { jHO~JlOug|v.&nTK_ ĻW,߅sڟ2;(zWc}9YvQG+ViST/j;vTvr~/j3| בY\n`IUT E1Ya@h] TL >%|ƍ||7g})Y-bfAQލ+3";v|{޿zU[ܽݛsvjOIk|v{oE۸=ٹ0; hYNPBC[*MŜCF[>}ڽ=y[[@,#]@US"4%hI p*3Rޟ~HS?!Gfrb=[2;=yz[)T 1L'||øKmu45cT*t8-,}Cx[peLII;6`42 =sٛw:ym}&sq[{CmQGnZ^*Tnl&>Qz+,v`?[ lcޤj\ge*r p;:IG €jq,In_^Om.i1 t3! %T@|vo]1snd{-֗%e]6{ 3]e.孫R3Y -(| *i;I-7kIlڊU$R1#54asϕ׹1)eRSnbmme2*:ʘ`zk -s$b2Rf;R0а7 ,.Ov{{{ߩ Hx* {j]ihSf:sf__8=]?O?{z溷A0uwD[?qfvU04PSNu QN&)o&7EI9:$ԭh4(i=.Ǘ墴TxI-CJ|}.SNe_+Wn}sI('[cm=vlQ#H_EZW<08Ӡ[FqmKa<αb,fVZ)гʃ_C^=@:r=Ō-6gm`;-v%J"϶65-IW26i׹.hI"$:8"֘y]Ɩy WBa]$ԫNJ I*_'~ Y> CAa詢RRQ5UM݊U4Ťhi^l%䃈 ڢOusmvKebNi*|;'m|qSٺ1ZC\ 1,ap"&'c_f}P-2<>T} ?2ʹc1:x|u.9I=,_+q KKk#}趠qeǕv|(p<3OǸ Ź7iOq㎟=~\a&RNz1;[; i(b૕QgIcc ׳>ݮ9Ry?$_pUZV:E wvv.>!L5~&V*j(jph]?"@[v]l5ԳF>ui5Gzm~u +KHVOH?Z!p:Td:/ve7Jc&C.;$!lz|v&EjkG9,Nұ_qIoIUC=O? W9w%3 IZAj%iJp+{z/*FmzyAX=`%; W.;5yl~FWhiPk|}v ӗ翷-J69| 8bdv[?6_I.^VQ17. JM ύ|kǭ{R_sƎEs=Ʈb7fPʭ[j׵rYOUQS,Kc gk V[zniˣ]uar qs$# BJd+Tw4}ߍ117l^O]]}S;gVߦr;lxJ/ " mZ+k|UP$p*ǀb8WxHu];Hֶt,+h2tfƫoϦ&fZwuy)2mK[0AVtx+iΚ х_f;cD glʿĿ/Gܥ6d$)5LR⚀ W/Wԝ{kź6f@̈R "Gg^XI|2$"32ѻmnu9(|Xz󣂞ki쿺2$&4s&G"CC\/}cۭđH $`H H`C80@{}wNb.7nSDBߨ J n)TKTa< 3Nm{3 v<&G?=EmuuumDls-]-FO=:k2 fIvb7~n7My!4U@ *FG* -k彮gDV1ARij#-$1/$Yvgv,Iu쳣~{{^׺u{{^׺u{{^ߺ^׽u~{ߺ^׽u~{ߺ^fk5ۘw;a4W54tdin$ {r(D$-#8[Mb ;RIWZn,uU&ktkvj#6B٭Ɋ,4mvH5teBy%EMTK%ܶtIx xGѯdֈbp=sxMgɲQjaO3HĒFmO.}c~7UT+HW|]]5^=[FFtYlcaF KO ӽT s.>]"'h4rDq4ifʛH섍{sj8?>QGuާi L%ڤ]>#cn}~[ltKR&7hBi)K6W j dƔE5*is-m2} w$q4FlI#~kÝm&j5akYj1H*)Oi4^۟o}M%,psݪ>8 ${_].c  )O T;C;?pn̂>:xTr^ J|FMJǒ ʼʖCTVcQQWr<䑪~nĎb̛2}fKq6hVH>}^x狀f:wPb|{oiwL݃p+@Wɠ=D_(S&FcV73TVӳZf 5E4SHDL 9aö[\<;R宧ym^oӐiq }:Bv~\ś˲z-?՝28+h7ܞ-qBpiKE/-^nۺ\E0۩42G?Q+Q#S_Hsl䭞od6[s g M̥xC( ]HKzb͙w-|GSw[k`uqne.HR[+1K~|UPmp-vh6; տܿ4qGCFSd-.ɹKo?'CUq`GV{ʽ?+zvɜv;n3[;oqQg騤YG髠X`\bjie'lNA&F=Pp8`^(.f{-dT0h f%cQ>b~n=ɼe`;=v;k䝍ӿ<ﻻs [~Utnbf{IQRUK<0A5F+oY>7VV!dH P'"GuWE1l$x.&0RHo?_7[7JvBxmrvC,OJm]n;`o Nfzovf\mZy&1ӳ<eX] vV@B~3B<ۍ&+o3Ij:3CS@a.̖O`d9 -FWoItty*YiXS'CŵmI%E,OR B=Qlݣ؊,HE6;:7*)6^bX&"mav_ߛ9vq`p>?!Q& EniUhxB>ޔ]qKYveOas𸝡[/(F¥tT;#pm&Wm]\B^Iw_m9 y{y!pyXA3-4r:H+|̛wvؒPX$7cQ' &x岙AMdkk6MH+*eoM ~tC5Ёjx*~g3.n.<0#iMVot^8Xqf9t|T\SѲ QWJvZVRE\t upGUC-5J,O=[{LQs52~?5eO)6{Y&wvwK# 4̖*|G,"΋yvGoj=ڽ][6.2vv'5X[;U-%=#`CX&5/n}nQBu)^T A4wNenqvۘ%mK<^wVjF1O/qلRքq>WCۓj1?iMLifZ) opwkiq ʷGLr4n\üUlV,Uʟ ⍩U>7v~&ɐg!cW9E ZehQJ}ė6O-IPЏ||Ynem,n#x{{^׺u{{^׺u{{^ߺ^׽u~{ߺ^׽u~{ߺD{I=|zH&M^ l̫'QKkidOPҶ~LCǨO޾z~Xؗe'Ӿ T{zo3R̦<`v4 {'XYP/o΅e=MLSTO"C$K4ccRK1T>GXRM$~],42HBpI'Z|]Bq/ي)Xxp1YtS 9pfW SQ_F/ǟ郤]Lyn1㺟f˼SVG̎j)vk>>ysymtf}SLJteSdk"htȪVu .[-"A}<Фw2E' ^18`&*#:1S@N.i;5vh'KHƈ>(Ms(֥CY=,ST-=MCz ui]51%&Wg$Ͷ03P` vUl0$V"؜c -)Z ?51oL`$ۼG9Е -zW_J1:in1URb6gfm {qg+2TUUTJwkݷE<e~6-JS58><:۲Rl"mGQ5dz=|_`Gn^egn;'#7vUy*lmfIC8XֲjjHI|3qHkB  }d[$8fP5LQV[Oy>?u|6EW  Γ=$4NA!9wgF5ޱ-~LɁӠnɶww6"HOOׅJTdۙUۙkrbȲ14 D_xݢAsoƈ|1ϟqP0{X]C)zXm;Q x*L50ܪc!i(4nA 4I 2wevbqٯ{FS?hXPy\5G0<a:H7^Ճ|[u&Օ55Z79YυwN*]йe)HM k,jĩ,%w]%^jCx3.>*+^Ik$f嫇*wV'TO72hb5 IPBǐUêhofCxB0GϣYmu&55@68QZrEem>>l8_K&q[Bv?e6CY" +@2UrS۴5rx<┃VMj ycا(m\0␟{Kk؊w.Pۼʂg]($WӪj2̭Ujֿ~_ww'݅Csc~'8]zv'mu6&;̴9LV$O*P,gEͻv~˺KeoJvtFG`x0@#K;ѿso<;4IdZ(.o,O9eRB޳I9܆7FݍHrUO)r9 ZD+ܒ#ϼ͛l$tEmn*Ԛ*T^ݶܱ%0F,'J"?>ha% >_5W5Z$U@X!VxΛ6oet q(RjJ[y6kHm 1cto0[9@Oڹ!_o漭hzvWzt|mޝ'6/WvNǭOjݫ׸ᕯd>_ulZ#Q4CT1=d;}?E(qKsϲE(3EbiU}?9Ӯp=!yr{vfCv` vOuʪݻ4܋Q EL❕\6U5Mj0 ͵Zl߻V97BEѪ 1$:11?-QV'7[.=ӟj{ejܻ?.|z} &!JG[S#id@-\F#48i} yk㙙uPW˴~/#uc>oIݻ?~Dnޮ'`cfcxoMۙ {1[CwvRʜtIIy`X+o+#*2Miyytm (naYVy%\$UM%E USVa"Ę _?T# u^^}ݚ=OOm-o8znv_awgAlw㭧hk SV56zI#UP4ʌ\;*n e$e9IdZч=E<{ )S~|_=Ve[#4w< Rd2 , `&Y7^|ڹm3M 5d'  0#]]j|1c{ߺW>NKsp>kmPTe:ʾS$fe6I'ہjK$`$t}}]9i [ v(S/HOY]g<6hLMZىD>(ĜL,`uh}ymopIөqNf`QT('YbV PA ЎkܽQƒ&n# sb<(H"A}0Ԡ<'v[_|Y6'9rۼ1Z8h y+쯡^׽u~{ߺ^׽u~{ߺ^ߺ^׽u~{ߺ^׽u~&yG191}3Gn)iR:)Ebܩd.1;ۂ:K-1ɏ[ɦr 5L~´Ru/ʞsz4;ק8lO}՛w{wuVmHb7 и T똢KIQUrV zX .̦1 **2.MT'(<@ jQW$lIlktn6qEëkEge'C0!d@K՟|~띫T~u'ٙ,L+r`{3bc|m]1ՑMQa=|ޤ`.o,R=dt@;TwEUA:G̛ϱ]I7$ %BlSVFMƽ{vVAvlg嫔m}nn)₪L~/njJĩ N=-MyK˱:[#PxlH Icz7=Ϙqaq{ݺV*,2IA76uį>>6uGmah=E;y}]czxr:R/</L2Vo߻ncdru=a1L@6sl+yӗ9eٯdwEDg%oqM$X"vnwϮYo<#kaj헵04‹YmrGfyK-DW*CKf\vv4ҹs5$(®179}=T}DHtC Q,iR5r5vf7W}#hbvݥ="ƫYL{%STȷ"8BUyqxܤG4U4~K^}qpX㩯jڀ _x=sH#U,Ԯsm *_(6-Z?}sЖm^dX^?cݽ3o?_K_9z)Fh: {dYoo l3jmV s7smeS@A#~٥R*q uځK{ۥvgm,ܔBZJGNF e5tN@t/ GV7jLI:dCFX~F`P7i=vL}csdH|y5QgEaM hrLܽ%}3,$YՀW.oϳX[seaFA*=bN\m7KIPaF=!tʷ ;n-]`fR MÂ%>R y2w3 V; bKM:$,j2r< ]lWk4Ӂ( $qIqBIg̾5 '߭ ߈Y#I8:8 Ac&7_mvB~C.6+;S3o{{3͡R\xfiiblnO,ȩ.`n};qn^!@@v {zdW}67,i%M1bPNI@Mι>Ԕͳa.>>>pn'pnm[c;D1c"zJW;O\]x"AD Z_/#_^vؽq\N#*F1+> JkT'_sYNWqD]ɷ"TY!C@,Ɩ1k g|&JjS={l}ǖgZ"t Oj-t/W80zu{{^׺u{{^׺u{EF<]#gt~vWz۝C_1X{9;~|evm6߮[S AA3 u[kvSo]s-IX.F*~c#OE%@K+AK}mz*$sUYHcbYXbˣY6o%MMYFD W"UDVe 5g Le׺W=9Az΋bn`7^K9I)ڇ&ʦ'X1C3x$[]uf;{YI7l7n,1Pkrpd䬅ıE _o_i_ϽJ?/cW{г?~hut|io_%v/ܟ6rmP5]9~E`ŀm,EWܶLIYQNW7χ }:?/Tza|}ۯ7XMFT3e`;0s _|إcyWd{>|ˣݡn쎉7O{l.|ώYo9oͲw;w-[.o aZPuw 'vߝ}]&g1 ]%] tfG<3%3Wy_}U8 euۏ>2uSe=Gۦ3#zdz:oNW}Ev\[%>O+O\6%r2TO{t;{^׺ui/|o]%1;Snm&-;+ @*L_o րMh\Pjz rsTY/&3*%N%A8SZtI~&yv}K|6sTۇۿսQ"kkp<CB,7%tg,QM3YJu,;m*,2Cx25]ϞߑYhO6OdvlUrh2zZZ\g9̰UR-?i6K]m{{zG*FuӺ uٹs_8K`K L­pMVF+COF7v3?^t}¦#[{nFv۳QAM4p#WGxw:mc͞b曛c 5̥bN)GׇY]{~o~%HVz3$7otv]$5Ւe3=Oy}ٿݵNcD%g ZƐH}qbϒRǖm7&i(Uu{?kC滹Z; >RuQδu[ST*?L5le-DX/U$Q3,vk[-EJԃuGd}Ke>'=ݽ);֝Mk|mF?oߚʝŶvFjz|k3!3CMQUD-OO0/!t*= I7|2xӥG7oݭ?Cۻwxkji2tm_C5(G @ JOGii?DZ)ן&z|돍XڝNsk{^{'qPn 72Mj&HWsԷFS-߀C Xt.mu;J?;o>g1©֮9|L#:CZ>8!G} !'כ[`?fvvLv~ԥ}br[g+4{RS`k{͑b* `qlu|voQ^_;ujn˿_v#-y, 49<-e JSTmeugEw@<.ՈtD~6g=71п{~l.7=ڭ5/-đNިUeYiuI4#e@T0!I 7 K*JS||y='swvܦ=IWVb8W)zhUUZxy֤o[rPfr-v-en6+M66 t R-wLo[Cogm=_wQmV1COKVdoY-ɸru$R/0|l˝W˸B {;?Eu$N0..E N;x#F+'Lpy_v7՚lۧgѫkܰ>,72̯mX S;F{<ĕ4Y9n-W5UyL,ZK)osgpY즊u'J~KN?m[B)!aZ5Q[W~3ʏ]3 daml^u]_zKۉ#cS_Š۴SE+R';xh- `8kZn1>14ڑcf"(a{t)\Ԋm]*%덑k;~#7>NMK%+u, r2c:cdf>ۙb_D#QPI@ S~8Vݽy$O&cTոW_ܒ-qoqVA>nGwNUf4c C_C_Ά{ߺ^ַ1>|ߎ̟jm-/r5aF{rY?ר~ a#3mĤۻ(j"C]^cwC:õ>;Vv۸z5׹]:v;ouGvhSCA[IfBZqj4^?Jݤ7f?Osa7[C޿;#k|g:nW:=Tv/]`6ݎxB턛""uK|?o?%jUf=!Gٿ7-^}ruOf6]d{3JT{gl$'޹5Qg:?H;L=~ܱfbx`VOS&-we>8^I0L:3!t'L᰿wO~[s|?Cߺ_ߺMxLmb1na{a1F+J*jn6(hP*"u=t`6csNrA<65'K__USvbZi9 Q#;YA>a}qmuyoe,duFd1 Q$OmַVv7WG{pH6uW,4$3PXp:PI޽{{^3\N#+r1샗Wd EK-KXGӟw G45o( /,m眃~uscli{c3R{GlZ͙ٝu&3ה{+;(MQ?zz)R)gܷHVM*=H \l|irMc4 ;'$URf2,^?XĐbg%KKA'!LyF6_owI%>Ǒ5ul.ynR*YT5NW8߿<>\O^ے=;𣦻3w#,>BQ슜Pv^eo&y* Sska;=/ F&!WIgxݬH[Zu+?Ə/vݻ>O|{׻s[;IԵ;N|ns;_9M-E]@/uSZ 6j^ߎ5:}vF`>]J;ZX4DgixҠ3>w|?&vGW_ʟq|W7/~VmYfRn V8ќ >dMki~јxr%W?{%)>Vuag;_ |Kp{s5VOOڛGj5tы٭WT4O=KE < `;T]ǺYDhBMpN|+@K7`okװzx)=of]7cK:w#؝Iӻqm<]LV4 *j&IkTT7hd]ELtBj8~^nW0Gs˶xI*^ʺ\L[ʀP`os>B =ם#Y]-^*y:'WvvRzJmٺVItwt$h{enC y_:Ǩio9kݛ[ArgMJF t8neL6c;߸/tm;?sK9rX m}ٰ=TVH6}=)xBHG*׵s{%I)IGf Myx-9睪:Y[m/ 2)뷬w$] :ЁA7[ۮqy_}W4OM?Om݅c)l]ؘlF{)ˁ:!>ۆndN{rnA>ꮂ 5-$?hķx4I&-Nus(^UQ 6Kv=[ve3~R`we?™RnۅVXq5?jǛ _׏#*}Y˴n%|pvFܛo3;_vF7 Imk3xi3x]>VmW"PM=x˅A+ǩ mկm5UkL'40i՛m4{Y7{pdXy['жˠo?5v>_ݩ;ۯ;l<~XmN]5V?4E%3-J\*Sw=GgR|o}q]ѽC?~v&g_t$V&b6%o|\2-O WETV?ɲ0=W7]=E^ݘ7%-%uV2~SPO#H=MLC :O 7o]Cvw~pm-حӴF'cssqFBH*iPV \|GDBgs?/)= gn-/%޽[Gd)۴[nch2SLuU1TԚ&mf5n3~g~T5!I@GZ0OPᑄݮʋ'K)'VC4W<_Vߚ:S9|O~QXwdTߕ6w^XE+pKzKyh155,TL{n>c>bzBEL,#:g]ք/ʼ6QnLۼ&ݣؤUd5^73(ɹ;ov?a(vv#Tx441᠁i&YbhٕH'1[Yv*!k}EHUԠ@ X%V<%r[QbnVSCIZkUԁ'{)yr|˻UՇKsk&1/HA&6gkG{qM^r_/~S_zů,.V߼7syzxkK ={Uz/u?އ_S|8*^uuYͯI[R4u&x 22n|u A6p9nnO]]#;]I#oRR7/Qw*:˺ips);[ x2E"b SxV4 xDsֹ~X5L'fwO$/{᫻>ug<-6w,M}Ǻ\ls\& |b7顔%{O; }NGu>Ȓ¿n86.5kLΦ3 "\sÚy^wPݮ6q<"xPdH*zל}[-~(iҔI5j4+Π|SZoW^׽uߺ^׽tlctϿ#ln3L: 6ߗ뢊x %s3lRTB@+BT26xyxRH(1HΙ0WPU5Я{^׺OnI+框jݽTjaK jqz݂\@u?xZjOQ`?֓8vn?s3}7n)Gݑ٪vةTԽTd!J;jq((w Bʃ" qtӏX-7ܯY-f0-gF25SNNO߹~u.,glu>4e획Ov&Jwa'* %|=7Qf4"~#LJR27. {&EQuXО5Ck|zj))+]Ǿ1ut<50*Mm<$JVGG4nrȪIۆUEu 5s+"Ýy"vYܧ(AfFdP2VK/c2]VΪ|ܒfw|dw96Fpn9y 1GF?~mWD;.Y%&Sn՛7 ڤtKK]IR#V^+IyZֆ|\YU[_<2K=&W#Q##> ||>hNW)_k3[?_6lퟻnM; d8\H)5˦24d4Fl~ޭo@OdSÉJ?,_1h?{S7͞s~|6vG4wU=uۥܸx}O&z=ECH抃a6HV/MQR |?X/?U9f;ul'K7dmjZ^[^vbQV,'eR"kW_/-*ߕ4shV4ۻW6-'_vnx_wK].S$FGjI$o"5OkPGT;i׮϶;{OAovm{0]v>ͯGlN8WeROȜt<{tuLtxD7?;y|}rU'Xn.= x.dwwN׋fJ<p5E%~$VXtES}Y]#-;bjΩ9؛78Y-fп0~(m?ٙjzх,>Jl. =Դ)D)#SuQ\s)[ΒZ>GH`0=gEWO}ל"'NUC?Ib(>8tҷvJ\unj]uG"pWm|?TT_oOwwnnTv 6g;u`ऐE)S s<1p 9|5О;8*XaǍ ]{5:̱7Rr[l&$3X|rWUc[n,uC#ʼc%h1I.CRBGn&cҝt9ӷ@;I_4`\ ٟ۹ ۛ-٭Y;lb;S|mݯ2{?j{KjuzTMLMA-2)bjbĀSN W?;ʋ1+4H̡4&jJnw筆hbxqnG>GGOzȏ- K}O:;M{ߺ^KmٴpmGsvfn j÷ 裫K$a'Ȩ}s6ַc2Q(BA"9/4hʱBAs')r8[ZYs6֗%X,bgPB" P$ էP;n[X \+Me_35$+XTOe7Www\5Ӛv>I'OG6vV{u6[}PY(ƪU@P>@}W^׽u~ߺ^׽u~{ߺ^׽u~i#v̯Suone:ômܽï0Ymߟ7 EY̛I:$x\oQw c HJUEW &No6.-R9s i,B*HT$@#Uiwǽ/r8ޤ櫺mW}+T]x\uin`RդXVpx%DBnP =J ZS6t;aqyhKZ@T4tvNipyi!qxeSUWT,e[_Xňn9#Qױ[nm01 5#]AJD^{NUHB0rX?WYSwk<߈5pۯm.lda~;ܛ#6T9l댥^ T꩗CTDއ^Zܻ(H'-=Mq1TCBB%Nְ(m5Ŷ78Sm-$c!\}#OT1ݛ#?/Nڙ[ݳVT 6GkVnF:%\Nwgei^IA8F>5ݧ[M pZ3SZ}txa9l|>Ķ7] ,e5Tx]JI'W'_~:|Cen|Ob$zDb5ɷDkOZji:D|vđTQB8dP|g,Z F% ujT j;ouburtu}u&߻)\Ŗt<~šCO4ҴѹhT1yk|TSQ(.^Z,U%Z6c~=ߏ5.K]8*]WLX;|'ت,ԙR&[4XH,DWP >ʚAſ>)&:/E>JmۯjsT*.;eM=DtQOG AJ@"Z"W= '@KQt4`ޠ_ )~:2w_n|voZi`1Kޮf%h:7阆f:08𞛾gGv!/+]&+f`u{%$JSәY*GKjWA{?í:Opvc~/dvi˺af?%[BJe)qq¢zyys [<,~mo >8vvRpv.e7{=>7N+t'/+;)7&tx%]ӣ'jdt?ľ;g~G1>6^GUm{;0aKO *cUT_AkpI"nV=ZNƬC\ ԟ~$|ꍛ8ΖFQq4Zc;R7*_v_g" H8qǨ~d{/ su) H*|EqNSfϭ]zdb:jV-Hs[sn\[?Q^EBF0 v}8|;{H20*KI<B|$U] (UPh3JGcvޛ_6fp=2AvslmGn%hH} ySbn [jkeԪJ2v\{?0XYmnq\]\OU;;)M{qo|l]W; wK'RWEh3XvK)}Q!P寲>% *ڵPh]Txbd˩Iתϼn;ŧ8.}<4fs"̲U N4E.ZK޹pXJы@Ӹͭ~9:uW I|8HtMw/pBV[xF!N#z3MQvC?##/q__Gcd1B:&ܙ^x}OM%.֣TO-JtG~$p%C@TcuM~ uKW\WJa#ScQ&*4q\P8MQ+,AӤmT 558TcƖT5~&?#^E9j^~ƺ%p?Sm`*0z?h,,D$M)<YGFS'RW^׽u~{ߺ^׽u~{ߺ_ߺ^׽u~{ߺ^׽u~k{z:yWLt z_{uX~ڧkfdD0!T$ <܃O<` 3dG){ͣ{k2}9?9:Wm[n|PqLE]>@3voja5{JJѳi))0jbRk}!8a@̻UhE)FF2z<۷nPwY+;SRl% +BNh8t%6|⠦gl%u~s"e˫6Բ[+27S%\kpH v~`s+%ȷ1'*њqL\kJE' ?߾[O9Gw{\l|ꮦpz~lᱦz7Vұ:( T2Gu^xd-w K]n3nE0@|7M]ĻSI#f9}ϑvU6y.M;KE\@k%c}H*æ;av^wvW]}顮ox&'a./=90&>ZءÌ(tx^s˺l{>epJ_:H+;N!)\kpdh[1?76mݒn`$-I}De¶#=cG.h0U;< ݬ@X(jAnCQo mLSn+(#~II4.6b܅A:ͥcGu;EUiMl!o@4ͫ$>>gzg=-Yeqy=s0>OsA˓ThZ,}keY1DKy~^8u6Aa{0wp#ЊiCB+B+J 2q<AQyKGFwWХ -{nx{Fס`ّ`u{>ӘϧFIs=O2-p}??'|3ӿSWNelN鷹f~yxQBGNgfbǛ8O"SȢo/ OZ3//׽R'/M|]9ڭAt+q39lL.7%=6jzWZ,Jƙ=iPҾy1;)@w-as A9V,`b;kSA:~Ov?ȞxJ\%Ey}рZlzO;=_l2)%(ZtUi!iKPGCUېq-΢mxmuUY"`hRQM:*JBE{rGz% mWhq2 Wa&4ځfB/ȏdMk*}&sdS5c#uۥOO?&"Ӫ}c^(_M+ރ6C)W3e5[]4Ee!ou b'oVIs!]J= V(0/O{'WQM> #S޻|mq<#tBgH&Y H~; A`8|Y7͢gA܌5$Œ yPz]G[px؍FK1PSꨮGK Mm#y,Q3"IS]{V˪i4GO[%.[{lЀ( R()VHSǸ^yZy'r&tslkv-%Ktu~{ߺ^׽u~{ߺ^׽uߺ^׽u~{ߺ^׽u~VVmQ&O3 ^t ]\q >&݅u/ڸ#zϼN4@Ҙ%#ԯ(ћK{02GXT.;A"7fz\uTǏIGn#x3tQGSKnaqhګ*yefАz<߶hy]bBBdѷز'厵y/?)un[egsU6j;7Kz`'q,ubC!Iy˫mŶXh P]f$T0{q̓suYΘ✒)z0HSBy>a|pc^=GôHo:-vB4jy{-=Fab>TѝrAM =7s=򅪑e*H$A6Uɀ>{_$6Ӻ{sbuu WD(E,L۹^LFqۋ1U.kO>N~M;H$6u\Onqlm[6WpJmFc=PxL.+U4,s:f( *z,\Ƥā|>f2 m=iG|W/FqoS|>mm6׃5]{1ڹFS>՚g 5Dᔁ3J +LtV Qd$ĭj8$.q |onc6Ot7o]#+*!ErTx?MvF|~n:MAM,ZyieX&H 'S8ɔr+),_h'M FT$F W ݣڝ_W7omUoM]Q; Jq=eCCH #sug햅ep8pd*Ā {xYY'& }:k;'ݽbz|Lwmd̥*yeze#4fI^oݐbo!%V=8r+JJ0;EHOXq[5pE>J+<[ioc>r2{/ahfsy*F'Jky*(\US$h?,WVVraT@YO[Oyqoik{]QqfbT| 莕=YFKSPrZ,H-ɑFeI^ \wdTKGds2M׽sO1X%.`O] 孊.S卣`D5ҷtBB<˟< q>ʡZn8:zF p5 ^.)K3\ 9S B ) ZָIwBgv tuy+ MVvܿ>++P+9u{{^׺u{{^׺uߺ^׽u~{ߺ^׽u~!/cc/`!)76'&!datяj?yTtG3lti ,㥸8V1ֻڹӽgdd]zj$Rᗑ13Gq w?"*:1]mW{]e/mhO!nEA x*B n?eC}瀯T6IS| ^ pRGqې*Ra4Fc蔵YUki*sYțp{ROx]FOX ,}cϾ`6fҗ ~8$R +S׼uşY^̦:V +P4[z}ə=RTꮸ([s,pe?DѻMTm?.fbkG%ľ|Fx}ܸ|f{at(<2 j=JAGVсIX`^mw;~jDYP?*H=eN̰]C N& q½,Wo i>QlW1%s].`TY{JSTʜ"5!^G vQl'H=ᄋٟH|m꾀훼{`bpX~+/2\dSTb jY'I_JJ4$\} S6M^4ѬHҨeK+*hzkfe0x:_qOc1Sn 58)$aqev)-+pz#]YkA+*kA ??N=:{?}@S{ۏN˺9?/~s}?7^mѺ{wsu`j>Ë{6 VT$hںH$t-/3fϸG.tAvL|^F=eh/嚂ϐ3s,OUK9[_խicL|}<$g:]'ʼn|APu*OЃXz3IM.: PR>G#R%H`+v !Gմ]_Acڼr~@gO8AA \8<N>I>U|wvHx,G(zz] y:>4rV9.NchH§!cԾ+s8M3{r˶rjkt`H++׹^ڝpmٵ3Ee)%ڹTO4U(XG/N7Gd@ܳnRT*&E$QQFk]%[= 6=y/,Û}$0>` 7 ֔#\J|Î.'sIjZF+4osjz?j妖hM2%K=^߽iۿc}u~lܟ.ᤚHWכ \x涄uR$"AQ TSF=/s]凴vױ<1M3TYCyP`Q{oәxܽ K[ Z[L$bR+Qݣ]ш˶ e&Xh2xBG=%ulGRvW -ѫ +)*Qo.ᾂFHtt%YNC+9S K=g*1; 0m$IHfO$TڤVdž)Y@}I\t2C\ &T(:Ar#_0jmq51yFX{mu} 6.\5"]r1i**f&BO;f$t^npc(@:නٶ]nEcoDQxrI$_qxsأw (?u-_z'oIj$92do(++hҀ& JA#/+v]O&cf*fC~PH|5*J<0Zz)^&+Hzhq݈Xp'@)Z!ooɶGc:$w!5R˞ۛ Erum;J`׎r&m|VQӫi#w>M,7|nnpBLaVxiG2,ԥ05=?ܽ=82Av/4 $V$juz;f=cԝU6/Ϗ7ݻ/lU`{ox*GTfjGTSE%Hj)qpR|[h݊ASHd:O55vQGmۭoa^k=CM49t Dg1! #FK|>7: f6Y|뿍;t)w4]ѕVgr,VJ$x+gZYgQ,Ϻ&m{ϸMtZ8/EV.`Wg?h6ݧqϓU,9l$ŰݤfIA@]Z5 8~(]v31}CSh{" =a_7~n*Mϲ[/J1KRTE U={ek}@ΰ`SȨUԴ 1>cDy(6օnYiZ$2eeR^w.5#C5V/)CV/fՋQI?[W,Z讌ٿ_+d0X2ND\T$&b 0]]PznY8n;e&QMգߖCUPÀ: lC c#l$, t ro73Aҿ+E?@umwYjoY͵7n'Aujb١U >{r}%BǸq}xS\YHHbK:,%d'ћmwo۳4=%/u`6 6c؄뀞%L"l;m쭮ۋxUik} W|7ĊSRU`_i9:-w{O!Q,j=3sB(~ /Ai\Wg_nL^j3ZqһK;mcg`OULE].JH1fAV ${g5Kg'>^{.Yn2=y*"K+H Lji# |0Ǐ{nN1Dwe:dvvdHa4%+!ɯOt{|f`;?|y((zITA /P~2#sg9rܻklZEf0?``s_Sr,sgy}qw,K.ɉ`jOa#R1Aڂb]k/MVcq'_wܵX89ꟶY51y$bS@J"75^;܃)8"8=YbI>Z孻vN^F0+$@;c ( P)ܽaU|=!zge.bvbd>,wiTvfS1 Эt;_!մ1epZRs 1hк j4`Rm{mGG3n!(@O,.x0 jZ†<|ִ??SLr<ɹD8& ѥDte:(k]A]{O Vʹ9m閊ε9SXԲWl^'1@ [)G{T[zSn']eǶ"vMyȒAOU}N.GF?R^׽u~{ߺ^׽u~{ߺ^׽uߺ^׽u~{ߺ^׽u~{ߺ^#]!{dTmi5N2aЎT% ȑm;UО gYKdePߐ_%y|{oϧ_;Kxwnݔ=a{WZZ\ioNd7Ym `dq1VgwyZzH?a"镜jfZjf-(EKTHTfjytݿ{#JC D-_JBcVdV5zSߝxN[>4쭑}_ӛ1XN+3SyhgL"L>JsNgSݛ{۷6+ "iy2hA 36w2X%|5 pEASCPҷL,MߴoW62Oj{`,LSǐTXT1{s[=\$> 2kYNc͸k&c?yI8jV{RV汹Ug(ivJLlcWBVM< 'ͷi6Y"ܣȁl) C+P5Phz6x7=)eKKndP+a2**bnC٩QM$\UZ-58:7M׸JM<4YFr 3@4 ۬ʻnW) syrxpcDebCZťβ]ѯ9n\2ZX,Bݦ1,mB%& qeSNg-ѻ7`%oٝ;w7BܦKIL|ϛO>m \oV ZMo # G5ORcs߷o\uq%ww,,i^F]Oz&y~, jkT_X׽u~{ߺBgUn)]=m-ԏgnYlaO6FleZ==:ƦVEeVBmv d3eb Ɂ/L9ͼgiC;-$G|CH/s;7۰DF!S窲qW ],?_u%`pU5l6GpWc+.ؼEMOR[hjoxsn}so\_ji( *( Q@efϴY[윿`٥Q{UjBv<*jڤTA)>}|5K>?Lgl]wB&{6~s%tSn90Y~荙_[xWQ$7 M<,yK { G*hY4wcs&k D /%]K 鶠Z#OXum|~;7 ô7IM帺Ζ/Vb/Hvg_㡖<ΉGC5O(f?ۘj]%r([QW0sdR7 TDdԭ<9I*Qٵ㭑Ϋ;g݇dU}Y;;?&C~!|JfP,9[{~;VHZd  l.?g%}+}2 p,$#UHAJu{{^׺u{{^׺u{{^ߺ^׽u~{ߺ^׽u~{ߺ^A}??fdWa$Ύ z*f{3ʄDl̙; pgnjE &Ȓ#ƚ2Y#p K,Qź]ro&Pl>d$R y&f{_p"inJ_6G9OK_<|7e^%^^J^Iጞʛx. F4UҠ*"*jFE:K>r6gl-$ `j+,+11y^G&Bή{%rom:1 &4,{o7OgҢ#, JZ CzW.@p;+hٖKuFE|9D)D6b*+j4m$pX{sBϨ(6wac겹^({~)?=O5]թ1[HdzpCF؍'H[aqU%Rl;goIw7^He4 mfHY_ {tmܻ_6& ׹w6=E:{?s3pvSs*\m8SQ5eTHsC[9]d'bkS,c1SK!OcMCC2R=jmՍ(kF?k:Im0vAd.TAr-xB]b:Smeyx,%~@0)ȯQlzAU |_zJο1 .Ϸ[*Gq^X5G!Pԧ_nXD4D CYTS8|GfzzNߢԯ.fDnwj_&Es[|J,IrDh2xRyr>1n G ~ĐufmП.`w[sl.:;;ƾ7K :& iex~s9;ʵSZd~1M!v<ܨcev'jE0}:7WޚޛB|jξ~6> x -m,#I}5ۧکR=DUk[].>զD,0G o__eoXTDN"Bꏧͦ=? :ϛ#sٹ /bK#rr4YZRS2$2-#DW= ^5&:%D֖p\vi%w~M{U6zr ĺI 3EԚC7.k Npw'M)9ndgzst$H{jR!j2e1qL=Z[lC͐KK!VTQ-.0[k=sxrB}}c{?%#I{e{WcK(֤$ݢuHܻym.yf;Egdq9NF㫩^Jz:yъ` ;ὅ:8*hr8 %YnvVuƯхUAR A=MҾ{{^׺u{{^׺u{{^ߺ^׽u~{ߺ^׽u~{ߺE{'y~ ] >:8)hzn*^1c*Jzyj=G2dr(45g۶=ߚI+"Hkjdf=à $,Fsuɼtb"@eVTpH*2Z au[lΣ٘mp69y+kj%g3jj2yǞKYVK5eudM4#n;qnK UDUR4P8DTgl[_-v>j" ff%Ii%y$r#;bOKe.}jvfsxLW<*-SX$l RU#2Vw6,~=G.a彗6'lᑸr0A V#wWnmmۆmھ,Oru_vMىJ U$h(U1UR$0<6$o0*j SgV3s {Dz6f=cZ`6פ9|rJB3STEP$~uYD,JqH2 qâM+7x5?/&%6#YtT 0l^綇ɻQݵ};gwN9۞pOۯwIK R5$UV3%^,r8t[\z/-aPWCU@EP]$j* uO묖뜿qݡYi:vv͛q,m1SR!Ǯ=UI5*+?p>qᤩ$ a9p#&'m.|П*0WǪNSoSdamɨڕ%U+)(vv>|E *_R*n2iq٠3音v`׊Pn@PT.|:J_ wNWd{ucnF*lNmgoNj8B87ކxz{UR)dC HfVp+O_w l.7 aMXPt+FlLco/ߵD钧>wăc%{y`>!r?WϪPo[Zc:|}gh}Tn,ǺmܳcF ǠF.1Uk5$uжZU( GCÅz.˻<]\^'H Txц~ 5C\|vラ5Ϛ=#uNu~F=Er{7z 3s<:yL ӿomVr RiEҧՁOV^rǍ>ֱm7:V[w*$S$FJ]V-eg0t`4FgM8נ͜EF[ 3ReJ|H6"D v]-&K^)t.A 1"k_q{c4pP"F2FԨJ&8ކ7绻?&~1Rd0 nwմ=CwV=;,UEQw䢚DlΙ; skI&vI-l!YC%n3"Xu._+ooy( qʋ"AI7 #`UHdF 01nٝG0`m$s VWWVK]g2dۏ=!jɤiGf xwt. S@Th$qbض[v}Ec4,K<;K#HGfwbĞ^:7׺u{۟#6j^0bLA"L qٍOmm<->%Ov$r~i=FO'yn><G' I.9O)rlɲe˴7F޻Ӧ{sleJ|&3smٴw-631M kYEG baL|~!hf^A^ :Q>`z]{UW%}c;-5R-LK !f_TznK{/E`vս{k޿gzNN;JdUcZÒQ109WPZa:},rBI$g鹧vM|捺owvBehY T@ FC 8tOY|c^Nv F9S#=dZOlX?7)C[XWHV1P= ZVřsI8KDMtKQ,4XF  2|v,&ޛcvu迆6 ;;;&Tu/Ykry\tӴye,D ~%32i TRxVo]l纼!E3id`Ujŀr#]O%޽u6'uCƦkvʽQ':i>4s=0dO LkFZJw<^Ѷ;>w53 Q dfj}z%m.띍֛hn|7ð>xޖ!p;1[GVjRs4A#ĪAE4kҠF|Gז ɳx6GxJfB;Jij%*H/??tbQnCRn*u_>1WOS_[R*zZ8eY\sTR0 <~U6v4 'o|)>`w_]b;NY~נf9JR c@5ZF҉ uu!w[IF Dӳ@TZp:@?:Ο}w2m?)PÇ8ȩ*jZ=HGSMIx:eh'}w bQ<1lSz;DZʗ;ui1>IsZfVPM%%-4T4Tt$OMMJ8`H5UPOavfv,K$䞦袊!@0ӝ{ߺ^׽tH.k Npw'M)9ndgzst$H{jR!j2e1qLgyiV6rd(UUKK8 n ^77^o \4Qgv:jJK _Ď/ֿ<>oo_,3۵zs)wVG0MŻ)23Sb۟nW_M])f]:Wo?o;K.-#pTĩ8RR&Ѯ jb{f==[a]Jeg$8$00Km$`~"_qOS/^׽u~{ߺ^׽u~{ߺ_ߺ^׽u~{ߺ^׽u}wn`t u{AΒ]x6ԔTkS_WM=u]lC/9|mtmթ @+#krY6=s7}~{c"7l % ’d4X(u #ʆu`_}ӂېˌʊ?n=߃M]30biMt:1$#II񳬮׺u{{^׺uq$l}Rai4EXd?>xܫ0hh鋛[kZ9`n*Og@t439wmrXvn6y Ѳ_``K#To'/{f{ts x(~Y AO|t=sQv  #JQ@.t)句&99vAܰڧ}aJsapzG2}.N|͎>ufL^~.܊5.IJf2L/Ce.w-/'1.߷}ejUIӢJAsnck s{gDM2FKD\T˻)=NܗCEU01BX,(,Xlit? 0/حW= LdwLpib3~¿&I?jP5`t= dŹLohmZҿUΕ} ,=īr+1т['f .ڛskӲxYE7S@ffarZ${?bzv͓fc1mMg4n+?:4׺u{{^׺uʮkϔn褊nڻ3r7GzxsîŴR H1YzE$va|˻.xb0M/x&$cpWk[PK$֞:P43 -4ߟ~-S.9ػ=?qAUS;]YOEGUɖǣ[N~g}6;Z=ͯX1Lrl"w#H,\u۽vKK;^['U%s4q'nlv_U`mlurTaw6+j59ZjYc)C#z|ݏuܶm-R/'uMvX9dn;7G LH"{^À ڙ>۟;krkp(2Xl31ST$3"3+}׺x6n|wÕwR.2Kpgk$g3Vfs5{^,U3VRTf#ODRAQ54[nR-Ls*VhVK}׺O :[x]6{r=qgv۷9VQc;gkbrUGKCO:'>׺QRUWPWGYI4u4t14=zH MeLIdf7f$sus{3\I-RYē@8֖vick6]) ,hbI$Ҟ{{^׺u{{^׺ߺ^׽u~QldQrfzo W$ ^ʫkbw[UbemQ>Jw42zϿus/GvTl4D[=Wocw^WFvNz̥"QCKw&|%6i{ _?̏ߐ8O ]n<_5CyͰq%]; l6C<&+DMқ)3ozdѱ0}Ӊ1]a7d~ΚQwF淾o*;K>J SNW}nwTt6{Oq Ev1cAT7&M cVKѵwb۽ 7wyڽvObݳ1ҝi;_!3tA;7-4T,4{? on`}/g|w>a~áwrt[c]ӊ9zF" ^U]НGS>Wlol_:>gv5W\nn Ѱv5ohlPej%1݅ڸf6/IՂ]?>#to͉i׺ 7@CC՟'6׽Vshe1 Ee /Odn'rexl~,RLJ,f,6kSQRrȲ{u~{ߺ^׽tVA5K a{r$_xںV?i`{F'{^׺u{{^׺ѫ/ @}-u?N5yEK~5k~n||ПF9{ofYؑwtcbέ_+6kmn5>/xUƳNSδү?/'cֻ& [',jJm{՝M~kn|2t;cllC<*u;CGڛ7:ͧ#yj7 2۱tnE[Ms(i?@~:| WwGI?-4|uew~3w?ȮnvܧfezVZLrD&ou/-wwosytU|_ vcl}魷3]ۻ{ydؑ*MQL1$=׺"7EVUam돛}s_D͂YfWRvd잟ٻ/ݻt6ޘSAKKW_Q3VIM~l͞lzgh|eWw6{3]ެGrS6毥;Gkb[1,zCV6O|_]cP?Q_}RvL^zv7m6sgeTI\i72)))ur^׺u{{^׺ߺ^׽u~{ߺQjh(kcHkh*#&GXIbYC){^׺OvqR)xy$׫G 1WǐDf y+ ȊߺAOmgRck1}ԛlu\g\ha08O㙧BEMlYN>yudvm^h^'P$E@yk/ .vKZp] ґzwm[l>ih홁K)m]6*j GQyg3Xxno{꽻g>Zb Q]tw`,yoc9mM6VtƁ4XҬ|ؓgF{ߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺ^׽uߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺ^׽t_mߺpymԛ%Fo.7ڹݝ_Q26pMpUj#ai!z=飴bGD%Q2? em`wkr,KݶvݏxH8r e]~{ߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺ^׽uߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺT (]>GJY++VQnp5UkPUR^u(]E׺lɾA voMٸw7+e# Nf/y\[ i> ~w?&~Dt~~`,6pgzh`Q؝7/`mDu}ɒN.3sc!+Q5ԏ{|a\Vޗ.?6gE=Ѽ7Eq廻XΑM)mMş[_Qxع<z[5}8>l35s݁I$5LQD2^Uvaۏkg0oe^'=tY6RjqLt45@xݔyǿu{{^׺u{{^׺u{{^׺u{{^׺u{ߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺUݡ #׿uG{ۿ~k.T7׿u oN$GtwQ׺nm^1{^u~{ߺ^׽u~{ߺ^׽u~{ߺ^׽u~{ߺ^׽u~n#_뉉bOPNG  IHDRr]sRGB pHYsj^IDATx^lyiouKVE, 95E+ $&q5 ؒDA.l@j* $D-L*H(%Jx JKBk+{ze׈4܏'c3s=9s93sZן!" " " '2Gi4D@D@D@@@&6Hh 䁀4MzQmi< " " " M1 " " "4yEAD@D@D@Fc@D@D@D iЋj4ƀ@Hi<C/ " " " - " "PLKE C@Ɵ'" @ O_#>bRܰwzz:kgjsU:D 7irӕj@?W y3M۷A0ܹųgG~}n+o= d+ʩ2/.^sN@4" ",mafjϞ{/..w3LL-6huuA˼IļU1d~Ӳ5RR 4)@Ih=M=[ZCєtwf1r|k=M=;Zu!8MJ#$Ғl7{$eﷵu9tVV.䀀4M:QM._`bC χꍦ4ı UČ<9m-3j\bi46D ߿i&KKKyȶJ6^;ޚ ‚e,RAde6!O[HUgܹͥs'&I@&M- p7nڴ޽{g~x7999tSSSkkkjoo~Y춟Ç8qG) `s4)y#폍$0uR,E$ M@> l޼y߾}ׯ_y LOO[k\rxboϝ;gytY:ny4.f⏗~]-K7~e3Z! Hg" f~ \ &C\6l鱏(E͛-ҧۦv=աe]HR޽ 2UgܓR| IG6C3Fz6꾧]4Ms{&[-MnˋӺ)ړ)/;?S~R-f& M̽@~H/hf4j䇀4M~R-f& M̽@~H/hf4j䇀4M~R-f& M̽@~H/hf4j䇀4M~R-f& M̽@~H/hf4j䇀4M~R-f& M̽@~H/hf-~=CfZW2\+'FC_IF|pi42C@&3]%GE@D4SD@D@D i4I=Fiu)" " "4iʞ@#H4H4MDeOD@D@DiA]u$M@&i'" {REJ4US1HxrFD@D@DJ4US1HxrFD@D@DJ4US1HxrFD@D@DJ4US1HxrFD@D@DJ4US1HxrFD@D@DJ4US1HxrFD@D@DJ-UU1/v\_oM'~T߅*54Y&W;?MaC&;ONg枲oZD@D@Di4"D@D@D@@@&6Hh 䁀4MzQmi< " " " M1 " " "4yEAD@ pW=}t:::._\QUJCEd~~噙mٖ|YU[ 7'vdO9)F[B]ZZO^>;;sssvr6šSrTXY(M@qO9D@D ?~-ZGƍܹP'\upny˫߻wR8 ֊I0'DA{*䱏p2sn*<ꂝKΎrq&{k^lC'L)VQZ|Aq$}6!׿yOO[#B2s|I(qD_###l޼W3b9;;;@?vɓ'-:uÜ?|} ~Xl1ƍQE 2kC@&;>|ǖ^yJiR+" "5.?>>ڿ}v7lֆġ ׮]۳g'($[d˖-',fLa؁"hwn*BXTBVիDPH qQW2Zr޼ym7Tx=\[EGZNsɫuqVDU|7|O&Utv//MOwv{HfǎO/,lϞ躊xwm<",8'W;+Z4UЀL<>F{d+=\Z,kkKCio%rL MMn%G_ݾrTM'_… k$i&^'u%2#e뫴 O;76o~*R"叟R4##gg/Y$N<s⋟X>-.x'2y7|^*;cxxըW|zOu F &6 tԇ*Y!a ϡ!g8i&{ د3l8-{?c&ai[';w킽:&葠 %Y7Z޻3 >M {#ۂ_bSWpTSM)ƒ-Bm JW~?wϞ=Gj4ߝ.] E3sUDcǣ t;wWG%~Nq\c0K4=2oN f>v옙 ?iA ѱA ڗ쬍y1YFFu_m"&ۘ"JK)?h~O4*ؿhZoMU}B9'P|_7njvO-`&JkhqlbEO%$Xf+2ZůH4xUVӄ,\B3~4g(R/|tsFnxx?LFG#yJ~R03kh0k xb{M4xA'el!M oSZՅJEGu}ƛoZmID+X`W-"P;kcRQBr!bZ D]uG!7o:bʃq w_ҡ"wCqh B}Uj95Mv~jI{VrO kmIK3b~"BH!nO8p:qw ի'O zBى,RVe2V̄`dNs; -tsF\B6}Z0>?(Y!8MA))Q`06ro9oł9멪?sЃ=۞]0CȬt.p`{̩{`5=t{=i۳m,NSbRsb69iaHKL*½\)$qaجa?A+|KKA mذ[1o=Jٝ>l ά="vOn6[CMW$=m`=# QaV{^ ʩp,VZ:ps=[$`v 3ZȨi{B! ="TV!ns:I0N9O&j6iBN41=i͎M᜘pM_4iu|1. 4U@Ha,4T `U%4Mp YfOym\IkIb9xoS__+l6Etuo?op)rǧ%4apv{J*e  Qd=M;!4DȞm6xL(K߈{7r׎4MZAdfBӔت"YYp)i_;1cef4f n_Vp_dx4MF'Kx#cN#kA# j !i)0E/S LoEdGӄna4.4 ~eJ}aÆ08Wxc& 32dP[[he)`p߾Y掎[߼ PvrZDT$_@A|*"9@&I Pq?w^:5)^m" J ܲ(t,bќP]5M FsrUzUp҂ɹ,K")\Bi :-:5Cd||8SqElv[~{;[H֤i0+f$\FY.YU!8*-eNGGMmz},̂qC=Wl_ #h1SSFArKaP?,#V._~<=a^Ia M̺4ۂQ.,e(. 6DIF/ECi2nn~~?7goxUHiքh{%&sO,޽יl[*`[(X=Z+`{n=QpoԒ[MG6D [PlEuDhf&֪44U449\4MsO~cǎ5gggI>{tww8t{|ti;A72Yy掎ߵke[[[p>]ZZڷo {:tN E#'fpttڻXe6Ǎe2...NOO S':xl*iҨ.U<&h_j&UY4^% NqgryyM6q7ACƍIA(8qr~sA^]DTy&UXPJH ;w$0AP{(%R<ǚ hCAM *H@iJlM(cc?oVҬ ;l˶ҽxJ&h`] +\76MSp[ ύ^W4)ƮRMS2h3559flm-5O?4s@b$+Kń壹9[JAmVH̼꫸T<B/V Pş5=1V'*Z򊉜"\T4 wFѱt،{}5MٱXe zRq>]'i< w)+AEd@._*>`LD=CgW$T*PW9xc̓&ˍ $nlA@.^*>5{b<4kMJpJ9H @HU>7@.^ZƶDnݹ6J|4Y)gt Hl:KK_=sf΂.  ֧;eJJϵ|ijHYaʽKKDJ]}O MTūNEé!RUH*"C /yMS\O1uD+NSZO @J5f@.G]5Mi5_'Q^*#mGr92iTP1Op 45Tq? 𓭼j\<<9tި }? mfP=*x`q<̥3i+Nl/̬m611qJ+b0 lq!v`+9!+C-lK/V N8/..pRF׊iUTKWlnrUiyDlgh)/^|4 bϰ6.ǎcJI^-W`N8wm)ơQFЭlVK=׳;Ts@ -sOnl'r0ބ쒔b;nݢ^ 7ndΝ\m;wpNW1.;NN^?l̘5R,bl!2PvRl;soݺ >F;{ޚ?ǩ_|lhjUѝ qRrt|e./(P( yWW7kT~=4@N-!vH('e ~L-̈ WR[<kY~#k -OT2[) 5ٹ_ΎMwAbPtNb EH)[טMr5Yl4 [EԳgRUQPZu Blذ85K5~!j ER\N'@Nk}89Baaat2( 4n= hbf(PZ>r効6*[c4MCT=4{gd7ۗB]fwխs ~r}۹?CXexx]g0zRl-[pq+aTP`4V d'vX xe*W !z*R8P`n3! elsM2DnJX-2k#khPcS#yrnW@CH4{+B15c\֚%޳ŋy b: qxu焻{ɄZ.N<2LalC[\k˼t&h'h&NsLh)Ctb ȈiY6j'NA?|U5uD'Z^)Z]3Y]*ƠI{a+j[BTq{{[+ H@j0SOr'L|KP-F Jq7ٔ ;b!2&HtV,?lL[mO>)`rEl sDž|TZ[ P` 4ZɨlrUi<;C@|z5};q:|!CU_'\޽-0߄$b] y0JclM\1=sTkL"pQOw!ךޖb}Gr)NSӘptͯ'%F~l6|p`e*DQ#-V kd@iKf2>.vuw84 Z(찺-1%ePIw= ҘuyA HdcDC2i#KzAƷ#D@4ם%'✔MoWiOiT<ޭڥljب^M<5 L^nɤCRLmf0gKvһ?~嗩Cok[CJ7ji^"@.VƓnș~L_w]dM MC_oC9s&NlPjlUٷ[' "q &]JdZ'K/eT.0cl" "iԵ6*+_u":ip1OK,6:/){DR&'ʀ_pBiHM6ݝz4l^5@8Mhj`4pmC21.[__BR!&tZ[[{+ZmQI[ĴȦ`ٴGTRfϤ+;i*iק&d5˗v~~%6P8*ZBhJ)JgK{Xpv%>%e3Y3Nr94T~ܿ\̖\;wX[Hlm=?x 2X]]uoI>vpnXhJo͸*EY '+vbX 8-0ǂ)(.9!"w=e4vdߺء3A@q2eܹssss{aZr[7Y "fÆ 7xٳݻgIY[[C%-//̞8qb픝y%͛"3L(RطRwElܸcǎԎ؃9L k 㛵fR Li4$<٤ iZ-oߛ"NT4ef> s/@pbWHD X5bOɏ-Q4SBxkfǰk.d NOO!SV'Crr0l*fo\ĈyQP1:c.יHӔ"Z_ZEݻwId w؄>۷oo++Keee tcF` RAtRyNN:]TItmSkAK.%N-O7R6đ`p!)qL?c}}Sڵk+KK7 ý+\5z|FC]?" *DYxLثs޺t+Ą}@4%X!0fY6,[!o&P+J'ҭTȼn5҉֝сQs:ݬ\T4/{^_^t{]]I sl{bJP2674222>>NFOO IO(򴷷9N>v,rc )R'Oz*E0jݎ;Hy]{6ߢA#1vt>jW&Vԇ@*k[Z֖6o~ڀq6ϦGtw#Z[t4T"z/woîZRMB+Eu; r845K ;FFѳ'N|zs 2 IuasQM#mr^vDlBD@D 4M;vvA)*]81+2NEB@[+BiXdAr@ Mӝ;9:=1T뷘{8$kL[(`u2%i" ]TW{[K @*ftGX"/^Y#|@] =SS߶5ŝ_N d4ai)_5: iX@òAЅ rfoA"y4 4GR񇀔?}!OD@N *sJ{"IOU"pƨ)s(s l\T4hV?NHb61ꁼY)d@5MP&CT' er@ju#AR6y9'\X]]%{šqQ6'd کȍЖ`Ϯ0t>6ٵ=}t~&#333=NEe*CR4V&숀H@ʦLO?]v]Sؘؒ`K)ejjv-{u֭埣AnR@"70"pug9[JL!_GML͹=aRv>~OO0BOVR\)gDGurlZ(j=SC"4lFk !H3<<5sN\6B",¿`flCqL)츊52X2[Nٹ\% g\uG|J N/F,nbbe0AkQghnǬ/leU48͡C7??8vVKa&ȩ,&'ϟGGиR8g;L%{**"6Cɟ<wƍw >3•[fg:;?}WOO[§L\9Đ>00pI[lyZȊpyf+:7>-XÇÇhNQ{/\i; GX棜݋YBݾ}B2ίkQ]AkQg\b5A3Ŭȟ ԪiPnn&6obm>ׂٳ#O=:3Sg=/1}öPik:xpfcI@FC7oDRJ<>g~2noذ]MK8\kbt3/1S-[K{LvwsBUe]&",aqaG%ҖA9Fs8 UaIẘ*JD\\"5޳z/^3 695LƩ(XS'Pzzc-ښMU~f-Rxe E,BαDӰBᕕ:fV8;U5,b~1gEԭwh/vDṱa`om4I9b*VhkP8w n!hܒNlJp uvθQoXz* 3JN.5АnkzWG{٠c3ek4kYQ_ؤ z;kigLE 4&/._a>=ZGl*ĥ؊`ZYۢ`+byLDratv>ʪ[SGS6͉V{RA=DJCTf%14?M_bo^ZX8'JTT*d8'{͹iCR~ l۶fg<})[Ӗ-b^ͷ ܿgLbW6bFcR~F%;4Sd I݊)NSdo ?7Uƫq3~NyU;\4sl]TM@jt*(MAIfMݹ_5A!zA,i| IL5"1D޽Kfj,t0`R 0^6ݽk׮_N6o7oR]M*f6Kڹs'ڂ^{:S97 ǂ+iQR-"o4_.u@=֭[2Re)\ !>" jNxk/]I:A)nk!rm lnrbРib_YXW[Da Mirӕji|h@|N"YޮN܅57ȔVp%)̄7@H9,spB'O9s H(΋a.\zN.Vy֢|,[\(K8LmMujktO+a#U4+Vfnr &)k&;a䆁,@uioO 5?~Æ )Ud8t[_Hy$M L@2: P ܓtH\Ni)>e:1lnYs^4`r/H.AOևdi@ur9IW26zؑ#Gxh#R =̭'1eO~m< <[ck-jTD̽Rf-Dd?h-ߡW8"K CQqHy.EE6ͅ^HGMjW6nONdp.k`f@vY4rUDSU+W^yG\eQ"P6 J!i&^~&iQ#EAi^Պ$D"eoKek)= COI DuyΆ4McCE@<"M">ܹs˖-fJDʈԁ4M :Ha6NTorkNݩjR PNMJ$TE@H~Jr@4MƧ"")n5U]942M1Jd@)w#zR,bP1\>shouhtZXzk;M:,V}qqKӤ5 iT6bLP=iHW3FE>5^Ȳwۻ!hn4j4%nnJjxD@ƣΐ+" u#ƨGV]ӳ\?*iCΈԕ=??-U0 u(u(UHd@2b.mii8`_UωhuăǍrΝӧO&u떫?qA9X CNj- 9῝+[0+ĠbipLy㼊 IL--}lڮwur[ok٥Likkcr366f FFF\Kggg߿|'NXH!Rx<.{;vs̢fȀw}7DuhhcR> ZZA[h__s+;v<!?夢*JQD& )"s}߆+>`.h`˷m{~%߹Ж(k .qqqqexboo/oϝ;guppRxr<imm"zq#>l2["9Ox[&B2DYx=}M .ȫ-袌W`ъث+q~o\ƶ"J=wby <%4)Y<`i׮¹Smm]ID׮=zT+;:]"gϞ%jrݍ7GP_mSEv*F2DWϜ9CHR!ZA[hM+"dx؟J׾HP")kkKI޾ϮtB:qDÇ.^Ƨ{]EQHKߛ b$-Vt@L?#CլxɯUe:PQ3L<}OFtY"+iXK Zt[sՓ'O<쌂B. i,XS9)El+tLMYC%?6NOϧϞ!r/6nFeW4D[6obVZ6F(H"ꏼx, _ {cY^a̙9kB=G;@Uh:)cõ&6o~Jٽ{KKU*EpgJhr WB#_qJ9E@D L`zz C9XF/={"v"P%ս*'&ž/y„))̩۹mJ*̯y̫ޑ3m|ޢbj4u,BW*nhC 0*|𡡝E4>" Y'`?~w[ZZX/k@?~r$5F<# MY .mM6]62 Hh<@MJ7~K/ũiaawYZZYyD@i Ν;lOF@@& $E@|%ݩtF/ it!" " MN@ϧieoRk(wj|BTx4A |6:zRG6C9CV@HdӍӚgZi|4 @!DQ4(WD  Z)kχʝ_z`; h}}%fNe"i,Z6|޷kׯ׏>oq|@o?dV?D_Rւ: ).N,defa$r1" Mqʮ][WV.tu%ZqR5yk{~s?"- 8qRFG,b_ %zDNIi] 43E 1OvAX hvxs ԩ?ccN 9 W$#7~#4=T:_ f):XХpbӂ97=&:y0>PԪB|&8ϽIzt Aܻ:#ت^ OOkmr)leu)'6luYd4M&)N?l/JСl?y3s!5WޠVpnT[[KaLLOO'l"IE)ȷӤݘi׈}dU!" 1 (NxM@q4qnv x[-FQN? H/y%MSD N{ׅrHD@N@&=P*+$Tg6Hd@iNN(N8 HWE@D@D@F@nU矯ٳg+-O[VVVpcnn̙3ZXXX__,𱱱[`*-[cdA! MO_h"Ǐu &q Nv+ x" &)֥q1SBd:tD`W5'r)C;vpO?4ׯ_wdrr_t5#GBD+X56рSS4MsZ)@Iy%2q<opu7sIޞ:u J-lX49-(7objmmLv ڵ>|H-ݣ {$رc/^$KKKTm>p3E[foqo``ڂWmmmh n~|XfkDwBθ)XcJ͠#"  [ѽźXrW:ݺ 6`i @$PD;I'•LA[B/vظq# FLLpns@v` ,+eyP3* D]fo= 2D"E&&&=jH)p2`X94 ̔1Zi+; HxA{ {b`۷ '?A "&m۶{n.DYzK.3R!C01aOd1^s)C~V=V2;ql%"&}O8AP o-ÉE2Itz޽{]X`~",̄vPB-%D5YN2옝X&y*e+-X# VZ/5 H4w"P_4SO=%u*HNp9|xxG%1R16C[brc+"BYlZ;LZh} !$_LvUYcҪSNb6%EysMf^ƂƬD ]{Jonk`Wj)\ݻwWhJ+h&DuӤ,44 9 "PozbM48EJXcWDI(N$]k3Q1" "2iR," " " u! MS̪DD@D@D e4)y fU"" " "2i˼@]H*H4Mʀe^D@D@D.iYL@&e2/" " "P4uJD@D@D@R& M2` i`V%" " " )I̋ԅ4M]0 \LK{BWR*" "  xH@sOv\4MT@D@D@DC4v\4MT@D@D@DC4v\4MT@D@D@DC4v\4MT@D@D@DC4v\QjqHPIENDB``!ƭ9\"2;U3 N31xڭ{PU={{>J(( f* /t$c-!`Ri6$q281iL՘X*m;&F呤X{q|`t{9=>˳,,m%O[.e l1gDK=]]]QI>oYmYOPn]?YNU+#OQ]X6o'}C9Nc fĔp{neS^Fɬn<ߑ+2Nq[=p좵FE_ZL:̌]0=ݚw=,f}=fѺB+<_\/{Cg3Iq_2;p]Ҳ’⢂yVO+e+V,+_[Zp?LyҮ ޹=熺;N Q1;=gz C{k{Ǟh߾͌E}Lp =_ZRGIkCekqujuϩV6ӜsZԄu8n_op}ӎ`GXgGZҺyo:G2"}<v V)WM:NR݈F1yB'ulSpC*Z+`z B/jtV HlK'db&":jSo1֣q6b |+$vcTO}J&8 'h7boF}K]BK]"JTǰ D *ѫB JŐ-\|r%&|1B;\ >vA4.C;nlۅN|wQC i=;M:;IyH86! w1C":q^$|F>.@=]'_-j/(E-(Fj8$PomlK^ Bl}]~ F0WLTkwUX UQ%P 0GLU5KLTD{zD$t0:-}N} ~Ϩ/a:Z,S`OQ>Ͱ%JPÝ5MP Nè_ b:/z% ,6V0:tg*vJ5ο,SE09f8ࠚ|W$vFǰiW> | A3XwT*\~YUaSgwgw÷ۣ:}LP 3Hҟ{If:t[EPkt[W*X'4w1,-Wps,0:*Y}>Nr?bWeb+\pwa^8y&?Ա< {G[ ¶Ssw`t 3'zR]:$-/$m*z+a,iMO- sz:C->9 RO6#Ӽek Pl`TD'srWl^7tߟd= 03'f`dCLgZ{o>K0:<@6dĞA~*tbF5|IU0:T 䋷yb @6d ɐ^zSKC/ ɐ ys hgbgnBJC!C Z0 ^2zMDoZP l{A60:f]X剕ˁlȢA3@+6>ŧ VbZB'u7h9 Y3gП_ћCM@o<  `C82$;ZکŊB\%HLR$>(Hy&lѐχZ=0"%b$뉉bO+_U2$ƭ9\"2;UC x1?@87 g4CdCdv 0$"ppp@ uʚ;2Nʚ;<4!d!dP{ 0<<4ddddP{ 0<? %:(bT[aoN] z hQ^!jUML $   Ng [ N WSN'Yf[{:gyf[Nb/g|AA AtbT[aoN] zbT[a  bT[a /fNyƋ[‰NLuvNLu‰ ُyNLu‰\[‰NLu wb/f gY N Ty{|v[agbv k*N[a g]vQ萶r`TЏRĉ_ N T[aKNvvNT|0vN\O(u1\gbN[tev[‰NLu0(^^cy"bT[aoN] zbT[a  bT[a /fN~g~~v҉^S!jb[‰NLuvNyel ُyelvW,g@we(W~bB\!kvfؚMOn0 T7h Yg ^gXRe{| SN[~bُ7hN*N{| []~cON(uN勰e{|vgNd\OTOo`~g06qT e{|~bُ*N{| SXR勰e{|@br gvNQ[06qT Oُ*N{|N(uS0@ Z ^z[a!jW<Identifying classes and objects Ƌ+R[aT{| Specifying attributes f[a^\'` Defining operations [IN[ad\O Finalizing the object definition g~nx[[a[IN    !# "h$& bT[avǏ z!jW  x!bT[aoN] z* bT[a^!j bT[a``k6q0W!jbNN{|Ƌ[‰NLuve_ bT[avRgT^N^!j_Y0g !jW8^QNN NQ*Nv0W (W@wKb㉳QN*N YBgKNMR [㉳QeHhۏLhKm (uN T[7bbvQNvsQNXTۏLNAm R:_ƉɉHeg [ YBgۏL{S0>X> <= vbT[aoN] zbT[a^!j !jW/f[NirvNyba NN8^8^(Wck_^ [irKNMR HQ^zN*N{Sv!jW NOf{_0WN㉃[v,g( bOOv[ (W!jW-N NN;`/fTRdNNesQv0^,g(vN N O!jWNw[v[SOvkfR{US0fNbc pwuw bT[aoN] zbT[a^!j (W^ N*N YBg|~e _S_{NYy N Tv҉^egba|~ O(uQnxv&{Segg !jW 6qThgُN!jW/f&T&{T|~vBl v^ekmR~ N \ُN!jWlSb[seHh0 ^!j/fbT[a^!j-NvN*N^8^sQ.vV }0mtsqhQ^!jUMLUMLvvh Џ(ubT[ai_egg |~!jW ^zwNi_!jWvSgbLSOKNf>fv[^sQ| @wf:yv/f{|vSNSُNSKNvOVsQ|0 Yg$N*NS-NvNa$N*N{|KNX[(WOVsQ| Rُ$N*NSKNX[(WOVsQ|0 SvOV/f N Ov0NghQ^!jUML SV $ hhQ^!jUML SV $UOeO(uSV (W'Yyv-N SV/fNy͑]wQ gN[^ S`O N\te*N|~v{|VS)0RN _A4~ N `O1\^O(uSV  OVNu&T ^=\ϑ\OV'`Q\0RgNO z^ Svi_[KmՋ_N/fyr+R g(uv00`_$051hQ^!jUML r`V $r`V r`V/f[{|vNyeEQc [U\:yNdk{|[a@bwQ gvSvr`NSgNNNSuevQr`vly`Q0 (Wr`V-N r`1uW҉wb_h:y0r`v9eSy\Oly r`ly1u{4Yh:y {4YeSNhQlySuvagN0r`lySN4O gg*NR\O [hfS_lySue|~ZPNHN0 4  2hQ^!jUML r`V $ ihQ^!jUML z^V $`z^V z^VcN[aKNR`vNNsQ| @w͑SOs[amo` Ovez^0 z^V1uN~[agb k*N[aR+R&^ gNagz~ y\O[avu}T~ [Nhet elz~T N^8O0z^VcNُN[a@wevcyvNKNNbcmo`vǏ z0mo`(uNNagWvv[au}T~cTSN*N[avu}T~v4ls^{4Yh:y0V-N؏SN9hncXR gsQevfTvQNlʑ0* 7hQ^!jUML z^V $ hQ^!jUML z^V $ hQ^!jUML z^V $z^V-NvNNz^ Vg'`Causality  [ TNmo` SNNHQNc6eNN0 Sc'`Controlability) [ TNmo` NNpQs(WSNNqv Ne RpHQNq0 R'`FIFO) [ TNmo` c6eNNpQs(Wc6eNNqv Ne v^N[NR+R[^vSNN_NMON TN*Nۏ z RpHQNq0 ZZ!ZZ*Z ZBZ  !+ B     hQ^!jUML z^V $ jhQ^!jUML T\OV $T\OV Nz^V\O(uv T T\OV_N/f(uegc|~-N[aKNvR`OS\OsQ|0T\OVO͑NcT*N[aKNX[(Wvmo`6eSsQ|NNsQ| NN蕁zQُNmo`Svez^0 (WT\OV-N [a T7h/f(uN*N[aV&{egh:y {4Yh:ymo`SveT mo`gbLvz^R1umo`vSeghf0 4  8hQ^!jUML T\OV $ 6hQ^!jUML T\OV $T\OVv^@\elfnZi0Wh:yQ[aKNY`vޏcsQ|0 z^VzQgbLve^ feO0W wQN`Suv!k^0 Ygc(WN*N(uO-NvQ*N[aOS T]\OvL:N NNV/fNy gRv]wQ0NNVd>f:y[aKNvT\OsQ| =\{[v^ N[ُN[avL:NۏL|nxv[IN0 Yg`c荊Y*N(uOvUS*N[avL:N ^S_O(ur`VYg`c荊Y*N(uObY*N~ zvY*N[av YBgL:N RQO(u;mRV0 lhQ^!jUML ;mRV $L;mRV ;mRVc|~-NTy;mRvgbLz^ 8^(uNcN*Nd\O-N@bۏLvTy;mRvgbLAm z0 Te [_N8^(uegcN*N(uOvYtAm z bgyNNAm z0 ;mRV1uNN;mR~b V-N TeSbN[ُN;mRvf0S_N*N;mRgbL[kKNT c6R\l@wc6Rly{4YlT NN*N;mR0;mRV-N؏SNeO0Wcc6RlyvagNNSv^LgbLI{Bl04  3hQ^!jUML ;mRV $ 5hQ^!jUML ;mRV $|;mRVgT/eccv^LL:N ُOKNb:N/ec]\OAm^!jvg}Y]wQ0 ;mRVg'Yv:p/f_nZi0WcR\ON[aKNvsQ|0>4hQ^!jUML ;mRV $[NN N`QSNO(u;mRV 1 Rg(uO 2 turmY*N(uOv]\OAm 3 YtY~ z^(u0 (W NR`Q N N, NO(u;mRV 1 >f:y[aT\O 2 >f:y[a(WvQu}ThTgQvЏl`Q0^&! &  gmhQ^!jUML gNV $gNV gNVcoNgNNS[NKNvOVsQ| N ONNNRgTSsS_O9eg*NgNeS[NgNNuq_T NO[[NZPv^vO9ebfe0gNSN/fnNxgN0Nۏ6RvhxgN0SgbLgNbechgN0(ccf9hQ^!jUML gNV $ nhQ^!jUML MnV $&MnV MnVc|~-NlxNToNvirtMn`QT|~SO|~g0 (WMnV-N (u~ph:y[EvirtY Y{:gTTyY萾YI{ v^9hnc[NKNvޏcsQ| \v^v~pޏcweg v^fvQޏce_0(W~p̑b fRM~~p NЏLvSgbLgNb[a N fTNoNUSCQRM(WTN~p NЏL04  <hQ^!jUML MnV $ =UML/edsXRational Rose WNUMLv!jWqRvoN_SsX hQb/ecVteSOT\Ov_Sb__ ƖbNgeoN_Sb/gT`` 0434.A UMLvibU\[e!jW UML-RT SgbL!jW ON{ Enterprise Distributed Object Computing (EDOC) Enterprise Application Integration (EAI) oNǏ z Rational Unified Process (RUP) vQN Standard for Data Warehousing CORBA maps to UML XMI format for the exchange of UML models in text format rcP c$ t ^ "Q@UMLFhg NvoN] z(^bN]~ gN~Nv^!jUML bNck(Wb g~NoNǏ zRUP?) NNek/fNHN A Software Component Marketplace Quality from the Beginning Give Soul to Software Process A Complete UML Based Software Platform Ivar Jacobson2,,H  x C UMLeh:1997 ---- UML version 1.0, version 1.1 1998 ---- UML version 1.3 2000 ---- UML version 1.4 ? 2002 ---- UML version 2.0 ? 2004 ---- N*N3z[[UvUML version  , }FUMLvVEO+<> 98 ---- The First International Workshop on The Unified Modeling Language, 3 - 4 June, 1998, Mulhouse, France <> 99 ---- The Second International Conference on The Unified Modeling Language, 28 - 30 October, 1999, Fort Collins, Colorado, USA <> 2000 ---- The Third International Conference on the Unified Modeling Language, 2 - 6 October, 2000, York, UK <> 2001 ---- The Fourth International Conference on the Unified Modeling Language, 1 - 5 October, 2001, Toronto, Canada Lecture Notes in Computer Science, Springer R2+ "c KUMLS_MRvxvzpp\S_MRV~UMLvxvz]\OƖ-N(W$N*Neb O_UMLfR|nx :NUMLcO gHev]wQ/ec/H LT!jWqRvSO|~g Model Driven Architecture (MDA) +)) !NOMG (Object Management Group)\ OMG/fNLu Ng'Yv{:g]NTv N1989t^4g g8*NlQSSw vMR g800Y[bXT0&*O Who Are OMG?P_g--eY N(WProgramming languages ~3 million COBOL programmers ~1.6 million VB programmers ~1.1 million C/C++ programmers Operating systems Unix, MVS, VMS, MacOS, Windows (all 8!), PalmOS& Windows 3.1: it s still out there! Embedded devices (mobile, set-top, etc.) Networks Ethernet, ATM, IP, SS7, Firewire, USB Bluetooth, 802.11b, HomeRF ZXZZ}Z ZAZZX} A bn   QOMGvb/gvhR^_gP6RNNd\O TNR(uYy(WYysX N͑ Y[s0 vhO_WN[avoN(WR^_gsX NwQ go}YvS͑(u'`0Sy i'`TNd\O'` N Y(W1uYy;NAmlxNs^S NЏLYyd\O|~gbv_gR^sX-N eO0W^z_gR^^(u|~04}" W"|R YUOƖb NX[(W~NvlxNs^S NX[(W~Nvd\O|~ NX[(W~NvQ~OS NX[(W~Nv^(u!j_ _{ǏcSTNd\O0RƖb0P-- AS OMGvNRThe OMG s mission is to help computer users solve integration problems by supplying open, vendor-neutral interoperability specifications. $T OMGvNT4Common Object Request Broker Architecture CORBA remains the only language- and platform-neutral interoperability standard Unified Modeling Language UMLTM remains the world s only standardized modeling language Common Warehouse Metamodel CWMTM, the integration of the last two data warehousing initiatives Meta-Object Facility MOFTM, the repository standard XML Metadata Interchange XMITM, the XML-UML standard*ZQZZ>ZZDZZZZZ)Q 9 ?           U-NN -NN/foNWяASt^egSU\wegvNyeb/g vQlcMONd\O|~N^(uoNKN0YO\=d\O|~TQ~OSv]_0:N_g|~KNcO gRvoN0 4\ [ gV-NN W-NNn -NNO\=N^B\|~oNSbd\O|~0Q~0penc^{t|~I{ v_g'`T YBg'` ǏN*N{US ~Nv_SsX Q\ z^v YBg'`v^cؚ z^vSy i'` O__SNXT\laRƖ-N(W]vNR N 'Y'YQ\Nb/g Nvb0-NN&^~^(u|~v NS/f_Sv{OT_ShTgv)w _NQ\N|~v~b0ЏLT{tv]\Oϑ N Q\N|~;`SO9(uvbeQ0"" X-NNlvMRv;NAm-NNSNR:NN{| penc-NN ܏ zǏ z(u-NN NR-NN mo`-NN bT[a-NN2&% 6YbT[a-NN bT[av-NN/f[ab/gTR^_{SU\vNir [cONy:g6R f0W(W_gvR^{sX-N O[aBl0 OMGvCORBA _ovCOM SunlQSWNEJBvJ2EE(E!E!VEZbT[a-NNz bT[a-NNv_g'`T_>e'`T g N T (uN_gsX0_>evCORBA/fInternetNON^(uN[ Nv]NhQ yr[NWindowss^S0N gvCOMR/fLhb|~v  WNEJBvJ2EER|QwQNKNOR J2EE/fNy)R(uJava2s^Seg{SON㉳QeHhv_S0rT{tvsQ YBgvSO|~g ]~YNN5uP[FURv-NNSFU@bǑ~06!! ",  5[-NNl gmd_g 1uNN*N-NN Nn@b g(u7bvBl [Yy-NNv^X[Sel~N N/f:N㉳Q_gcQv-NN,gNu_g0 -NN?" dd@,|?" dd@   " @ `"  n?" dd@   @@``@n?" dd@  @@``PR    @ ` ` p>> % n f   (   F J   Jn   s *?PP  N +    + n2   s *(?+ U  n2   s *?   n2   s *?+T n2   s *? n2   s *`?+U n2   s *H? n2   s *(?+U n2   s *? n   s *? n2   s *Ƚ?J%t n2   s *?% n2   s *?j%   Ngֳgֳ ?P  LUSQdkYkHrh7h_    Hgֳgֳ ?  8USQdkYkHre,g7h_ ,{N~ ,{ N~ ,{V~ ,{N~    Z1 ?``  Z* 2  Z1 ?`   \*(2  Z1 ?`   \*(2N  6޽h? ? f33  eNW!jg#   L#D#@ "(  F J  Jn  s * )?P  n  s *D &? n2  s *&?+JUt n2  s *%?+U n2  s *`W?+jU n2  s *ۿ?+U n2   s *x?+UD n2   s *d!?+U n2   s *t>?+:Uc n2   s * D?+U n2   s *F?+[U N + j  + jn2  s *H?+ jU  n2  s *K? j  n2  s *N?+jT n2  s *lQ?j n2  s *LT?+jU n2  s *,W?j n2  s * Z?+jU n2  s *\?j n2  s *?+U# N       6  C BC DEF?pp"-<HbutP}@w,riiiigglu{rke\ApbSF=843k"S-:4!4 *&3: {q"h(a(a*^*^*^-\/V3S4S=OCMHMNJQJSHYCY?Q2Q2Q/Q/Q+Q+Q)N)N&HA= <)^X2!n`-J3ro@Z c    C v B8CDExF?#'(,.#pbW UW#`,g3t7k7b7]7U3%.'nEw k^RG>!7#-!*$#(3>GLLw8i(\QF:/&-8?JXi{}u}lgccaaglnnnlllH8*yl ^SE84443 !* 8888:HWcnnnnr   !!$$$/8CPWY^bbbglnr!t#w&w*t,t1r5g1\&PC:!4&+,(1*5+6+:/:8:=<?ACJCJ?N=S=SGNSY[denune^SH;1&&+16:?HJJJJ?O,M7D>;G6U6`?kJvXer|{{* 4>?]Nv^n}}l\N?3$'2;BFKQV_l|zjXDXj|?bufV/FL2e}rbN>-#}#|#xxvj#_#W$M-37CYepw#=@@{  n  C >B?CIDE\Fd?*A:H>H>C:A:>,8%-"   -8*A/0@ Q[   N`gֳgֳ ?p  ZUSQdkYkHrh7h_    Hlcgֳgֳ ? p  NUSQdkYkHroRh7h_   Zg1 ?``  ^* 2  Z,k1 ?`   `*(2   Zn1 ?`   `*(2N  6޽h? ? f33   (   l  C ' P  ' l  C h'  ' H  0޽h ? f33  `(   l  C   P   l  C     H  0޽h ? f33  p(  l  C { P  { l  C x{  { H  0޽h ? f33  ( @ l  C 9 P   l  C (:   H  0޽h ? f33  (  l  C p> P   l  C ,?   H  0޽h ? f33  (  l  C C P   l  C C   H  0޽h ? f33  $( 080 r  S Y P   r  S Z   H  0޽h ? f33  [S (  r  S E P   |   TB Cp DEpF01?HPHx xxhxP(X@X@0@(X8 xX0xP8   ( x  x0800XxX8 P8@PHh   (( `h    p  @   ( @h(hHp8hH@ph  8 8 p  H 0 x    x p0  h(  PXx X@0`(` h X x  h H  8 h p X  0 p `  Pp@XppHH0X @Xh88Px`00 X  H    X    @  x P ` pp 0 H0 0 h (` X `  hxxP(`@8 8X8P@                                                                         X B   fDԔ? B   fDԔ?pP P B   fDԔ?p   f1?PP    3 ra1?b 8Planning    3 rk1?) )  A Risk Analysis   3 r|1?YV  J Customer Communication   3 rV1?I D Customer Evaluation   3 rxp1?pZ * Z* Engineering, Construction & Release++   # lr1?0 LIdentify candidate classes  # l,t1? P@ i!Construct nth iteration of system,"   # l||1?@ LLook up classes in library  # l1? PP  MPut new classes in library  # ll1?P  NExtract classes if available  # l1?   QEngineer classes if unavailable    # l1? PP [) analysis design programming testing **B  # lD1?@PPB  # lD1?@B   fD1?@P@B  # lD1?@PPB   fD1?P PP B @ # lD1? P B @  fD1?  B  # lD1?P     BC0DE(FԔ? 0@h(x< @   p B  # lDԔ?@ p,   BCDE4FԔ? $  0`pXHH P @    h  B @ # lDԔ?  B    `D1?` ` H  0޽h ? f33  (  l  C  P   l  C t   H  0޽h ? f33  (   l  C  P   l  C x   H  0޽h ? f33  (  l  C D P   l  C    H  0޽h ? f33  ( u@C@ l  C  P   l  C ,   H  0޽h ? f33  (  l  C  P   l  C d   H  0޽h ? f33   (   l  C  P   l  C h   H  0޽h ? f33  0( () l  C  P   l  C X   H  0޽h ? f33  @x(  xl x C  P   l x C H   H x 0޽h ? f33  P( x__ l  C  P   l  C     H  0޽h ? f33  `(  l  C  P   l  C    H  0޽h ? f33  p(   l  C l P   l  C (   H  0޽h ? f33  |(   |l | C  P   l | C    H | 0޽h ? f33  (  l  C  P   l  C    H  0޽h ? f33  80 (  l  C  P   l  C    2   f1?`2   f1? @B   fD1?p`PpB   fD1?@B  @  fD1?B    fD1?p     f1?  B   fD1?  H  0޽h ? f33   b Z (  l  C  P   l  C "   B  # lD1?  3 r)1?[ RO(uB  # lD1?  3 r1?  RibU\B   fD1?  B    fD1? p` B    fD1?` pp B    fD1?  B    fD1? p B    fD1? ` B   fD1?` p` B   `D1? p H  0޽h ? f33   v n 0.E (   l  C -) P  ) 2  # l/)1?  ^nLu  2  # l3)1?   TΘiRg2  # l7)1?`    TNf0O2  # l ;)1?p   TۏLNf2  # lX>)1?  TLu2  # lA)1?p @  Tfe^v2  # l*)1?` `  ZċN  B  # lD1?  B  # lD1?P `P 2   f1?0 P 2   f1?@2   f1?02   f1? P B   fD1?  B @  fD1? ` B   fD1? P B    fD1?  B !  fD1?P PP B "@  fD1? P@ B #  fD1? P@ B $  fD1?  B %  fD1?0B &@  fD1?00B '  fD1?0B (  fD1?0B )  fD1?`B *@  fD1?`B +  fD1?`@B ,  fD1?@B .  fD1?@ B /  fD1?  B 0  fD1? 0 B 1  fD1?B 2  fD1?@B 3  fD1?P  B 4  fD1?0  B 5 # lD1?  6 3 r'1? R8f~t 7 3 r1?p j  R%NXT 8 3 r1?VJ R^|~ 9 3 ra)1? fZ R.UNXT C 3 re)1?F  RO(u D 3 ri)1?9 3  RO(u E 3 rl)1?)  # RibU\H  0޽h ? f33  @(  l  C ) P  ) l  C )  ) H  0޽h ? f33  P(  l  C 8w) P  ) l  C w)  ) H  0޽h ? f33  `(  l  C <|) P  ) l  C |)  ) H  0޽h ? f33  p(  l  C D) P  ) l  C  )  ) H  0޽h ? f33|  ,$ (  l  C ) P  ) l  C )  )   # l)1?p < Operations    # l)1?p < Attributes    # lH)1?`p 7Class  # l̢)1? 0  9Package   f1?  B    fD1?  H  0޽h ? f33  2* (  l  C ) P  ) l  C )  )    f1?p`    `1?p B   fD1?`B   fD1?  B   fD1? p B   fD1?` pp B   fD1? p B   fD1?` p H  0޽h ? f33  ph (   l   C r) P  ) l   C ts)  ) B    fD1?   # lX)1?   :Values   # l)1?   :ObjectB    fD1?  H   0޽h ? f33v!  &!!(D (  l  C ) P  )   # l<)1?  PUS)  # ld)1?P /DateReceived isPrepaid number:String prce:Money00$  # l\%1?P DDispatch() close()  # l\%1?   RUSy   # l)1? ` 0Quantity:Integer price:Money isSatisfied:Boolean11      f1?` B   fD1?   3 r)1?k  11  3 r)1?   1*  3 r)1?   2y  # l1?   P[7b  # l1? ` > Name address    # ll1?`   aCreditRating():String    # l 1?`    TVSO[7b   # l1?    p$ContactName creditRating creditLimit%%$   # l1?  P  Remind() billforMonth(Intrger) ,   # l1?`  PǖXT  # l1?p  PNTB @  fD1?ppp   # l1?` P  T*NN[7b ! # lx"1?P @  W CreditCard#     " # l&1?@   0{creditRating() = poor }  B #  fD1?P P ` B $  fD1?P B %  fD1?` B &  fD1?B '  fD1?B (  fD1? B )  fD1? B *  fD1?P  1 3 r,1?6 c R.UNh 2 3 r/1? { 11 3 3 r31? J{ 1* 4 3 r61?v  N0..1B 5  fD1?  6 3 r:1? :  11 7 3 r>1?J 1* A 3 r=1?G v * 1*H  0޽h ? f33  (  l  C e P   l  C f   H  0޽h ? f33  80($( !B!B $l $ C L P    $ # lN1?`P P\O $ # lpR1? R{:g2 $ # l4V1? & TW[String QX[Ineger6" $ # l\1?`P ( TW[String t^Integer$B  $  fD1?pPp $ 3 ra1?/F ( $ 3 rxX1?gFz; N0..1 $ 3 rm1? { 4Uses $ 3 rp1?g ; N1..* $ # lLv1?   b \s\O" $ # l䀗1?   \sv]\OPC {:g"  $  $ # l1? 0  p$ TW[ =  s\q_ t^ = 32 $ # lЉ1?`  x\sv]\OPC {:g  $( $ # lo)1?  . TW[ =  Compaq X QX[ = 32$ & $ # l,%1? @  , TW[ =  Dell486 QX[ = 64$  $ 3 r|1?  2{|V $ 3 r|1?&  4[aVB $  fD1?  B $  fD1?p H $ 0޽h ? f33   ( ~@  l   C <) P  ) l   C )  ) H   0޽h ? f33  ( ~@K@ l  C T P   l  C    H  0޽h ? f33  um)(  l  C | P     # l1? ZUSS Lub   `01? p  dUSS ^(u  B    fD1?PP     `1?p P ?AWT      `1?pP ^NS nUSLub      `1? p  ^NS nUS^(u      `(1? P  ZUS     `—1? 0  P~[   f1?   f1?    f1? p   f1?pp   f1?     f1? 0    f1?p B   fD1? B   fD1?` `B   fD1?P`` B @  fD1?p 0 B   fD1?p PpB   fD1?  B   fD1?P 0 H  0޽h ? f33  (  l  C \) P  ) l  C T )  ) H  0޽h ? f33   (( t (l ( C ϗ P   l ( C hЗ   H ( 0޽h ? f332  0$.,r(  ,l , C P P    , # l1?  `  V NMr`  , # l@1?  V (W,{NB\  , # lx1?@p V NGSr`  , # l1?  ZT,{NB\ NM  , # l1? @p`  V zzr` B  , # lD1? @B  , # lD1? B  , # lD1? @ B  ,  fD1?p pPp B  ,  fD1?PPp B ,@ # lD1?pPB ,  fD1?` PPB ,@  fD1?0PB , # lD1? 00B ,  fD1?` `` B ,@  fD1? @` B , # lD1?` @@ 2 ,  f1?pB , # lD1?@p@B ,  fD1?00B , # lD1?0 , 3 rd%1?6  N NGS , 3 r$1? f  N0R  , 3 r1?z N0R !, 3 r1?F N NGS ", 3 rH1?&  Ne #, 3 r1? 6  N NMB %,  fD1? B &,  fD1?@pB ',  fD1?  B *,  fD1?  B +,  fD1? @p B -, # lD1?@@  ., 3 rh1?fZ T 0R,{NB\H , 0޽h ? f33  @(  l  C  & P   l  C &   H  0޽h ? f33F  P @(   @l @ C  P    @ # l81? ^{:g @ # l!1?  dSbpS gR z^ @ # l*1? ` SbpSR @ # l21?  ^SbpS:gB  @  `D1?00B  @  `D1?B  @  `D1?@@B  @  `D1?    @  f1?P`  @  f1?P `  @  f1?@p@  @  f1? P B @ # lD1?P`PB @ # lD1?@ @B @@  fD1?` `` B @@  fD1?@ @ B @ # lD1?  B @@  fD1? p B @  fD1?@  @ 3 r?1?JS RSbpSeN @ 3 rDC1?w& pK `SbpSeN[SbpS:gzz]    @ 3 rG1?7f0  ^OX[eN[SbpS:g_]  H @ 0޽h ? f33   `K(  r  S ݗ P      `1?P`   `1?P `   `1?P`   `1? P@   `1? P @   `1? P@B    fD1?`pp B    fD1?`p p B    fD1?`pp B  @ # lD1?pp B  @ # lD1?p pB  # lD1?P ppP B @ # lD1? p p B  # lD1? pp   # l$1? P1  # l՗1?   P2  # l8%1? P3  # l\`1?  e1  # lc1?? e2  # lf1?*J  e3  # lj1?*F o J  e4  # lm1? Fo  e5  # lp1?   e6  # lt1?   e7  # lw1? F o   e8  # l0{1?J ?j  e9  # l~1?J  j  e10H  0޽h ? f33  p$(  r  S I P   r  S T~   H  0޽h ? f33p+   ++??*(  r  S  P      `1?   `1?    `1?B   fDԔ?   Z1? 0   Z1?  0    Z1? 0 B    fDԔ? B    fDԔ? B    `D1?00B    `D1?  B   `D1?@@B @  `D1?0 0 B @  `D1?  B @  `D1?p p   # l\1? 2e1  # l싘1? 2e2  # lH1? 2e3  # l1?@  2e4  # lܙ1? 2e5  # l1?@  2e6  # lĨ1?  2e8  # lԠ1?@  2e7  # l1?   2e9  # ll1?   3e10  # l1?   3e12  # lL1? @V  3e11  # l1?vq 2P1  # l1?{ 2P2   # l&1?{ 2P3B !  `D1?P PB "  `D1?PPB #  `D1?PppPB $  `D1?P P % # l1? E  P1 & # lĘ1? P2 ' # lǘ1?0o P32 (  fɘ1? 0 0 4e12 )  fΘ1?p 4e22 *  fϘ1?Pp 4e32 +  f<Ԙ1?0P  4e42 ,  f֘1? 0P  4e62 -  f<ژ1?0 P  4e52 .  fݘ1? 0P  4e72 /  f1?   4e82 0  f1?  4e92 1  fX1?0P 5e112 2  f1? 0 5e102 3  ft1?  5e12B 4  `D1?0 B 5  `D1?00PB 6  `D1?p000 B 7  `D1?0pB 8  `D1? 0P B 9  `D1?  B :  `D1?  B ;  `D1? B <@  `D1?0 0` B =  `D1? 00 B >@  `D1?@ B ?@  `D1? 0PH  0޽h ? f33  ( }@u@ l  C [ P   l  C ^   H  0޽h ? f33@     D (  Dl D C  P    D # l 1?0` ^{:g D # l1?` X SbpSR  D # l1?  nSbpS gR z^" D # l1?  hSbpS:g"B  D  fD1?  B  D  fD1?` B  D  fD1?0 B D # lD1?@  D 3 r%1?  X1. SbpSeNB D # lD1?@ @  D 3 rp(1?'   n 3. OX[eN[SbpS:g_] B D # lD1?  D 3 r31?v @ f2. SbpSeN[SbpS:gzz]H D 0޽h ? f33  <(  <l < C t P   l < C    H < 0޽h ? f33  ( }@u@ l  C h@ P   l  C    H  0޽h ? f33 &  %%5M0J%(  0l 0 C (G P     0 # lL1? X R4l0R[hV-N 0 # lO1? `\TaU>e0R ǏnhV-N    0 # l\1?   V pqTaUp 0 # lP1?  V SQTaUog 0 # l-&1?p  bbǏnhV>e 0RTaUp N    0 # l&1?`   TQTaU 0 # la1?0p  RPTaU 0 # le1?@ R~bne 0 # li1?  \SN,T SSSPN   0 # ln1?0  RUneB 0  fD>?0p` 0B 0 # lD1?@  B 0  fD1?000`B 0@  fD1?`00`B 0 # lD1?`00B 0  fD1?0@@`B 0  fD1?`@@ `B  0 # lD1?`@ @ B !0 # lD1?00pB "0 # lD1? @@` B #0  fD>?  B $0 # lD1? 00 B %0 # lD1?`` B &0 # lD1? @@ B '0  fD>?p pB (0  fD1? @@ B )0  fD1? @ B *0 # lD1? pB +0 # lD1?@ @ pB ,0 # lD1?p 0B -0 # lD1? B .0 # lD1?02 /0  f1?P@B 00 # lD1?@B 10 # lD1?pB 20  fD1?pB 30  fD1?pB 40  fD1?0B 50  fD1?0B 60  fD1?0@B 70 # lD1?2 80  `1?0 2 90  f1?`B :0 # lD1?B ;0 # lD1?@@0 <0 3 rD}1?vj 2N B0 3 r1? Z[~b0RSSSPN]  C0 3 r䃙1? b[l gSSSPN]  D0 3 r|1?  V [l gTaU] E0 3 r1?g ; V [~b0RTaU] G0 3 r\1?   T qmpTaUpH 0 0޽h ? f33  8( ~@K@ 8l 8 C   P   l 8 C ܧ   H 8 0޽h ? f33  4(  4l 4 C 엙 P   l 4 C    H 4 0޽h ? f33  (  ,* l  C 0 P   l  C 잙   H  0޽h ? f33H  $-H(   Hl H C  P   h H # l;1?` @ Whnd.cpp zSYthV!!R     D H # lO1?@` 4 Graphic.dll Vb_^:   T H # l1? `  : Comhnd.cpp }TNYthVD  8 H # lÙ1? ` , Main.cpp ;N{|6 ^ H # lə1?  6 Whnd.obj zSYthVR    d  H # l;&1?   < Comhnd.obj }TNYthVR    6  H # lϙ1?  * Main.obj ;N{|6 D  H # lՙ1? @`  < client.exe [7b z^2      H  f1?`   H  f1?@ H  f1?` H  f1?@  H  f1?  ` H  f1?@   H  f1?   H  f1?   H  f1?`   H  f1?@ H  f1?  H  f1?@  H  f1?   !H  f1?`   "H  f1?   #H  f1?`B $H@  fD1? B %H@  fD1?  B &H@  fD1? B 'H@  fD1? @ B (H  fD1?PP B )H@  fD1? @ B *H  fD1?@0 B +H  `D1?0 `P B ,H  `D1?0 B -H  fD1?`H H 0޽h ? f33   (  l  C  P   l  C P   H  0޽h ? f33   | t 0T (   Tl T C  P     T  f1?  v[7bA *NN5uPC  $  T  f@1?0 P  v[7bB *NN5uPC  $ T  f01?0  dpenc^ gRhV VAX   T  f(1?  d gRhV02"B T  fD1?0 0B  T  fD1?P PB  T  fD1?P B  T@  fD1? B  T  fD1?  0   T 3 r1?g Z ; nTCP/IPOS " T 3 r1?  nTCP/IPOS " T 3 r1?W +  tDecNetOS (H T 0޽h ? f33  PX$(  Xr X S 8 P   r X S    H X 0޽h ? f33  `h$(  { hr h S  P   r h S p9   H h 0޽h ? f33  pd$( \6xA(J4q dr d S  P   r d S    H d 0޽h ? f33  p$(  pr p S  P   r p S    H p 0޽h ? f33  |$( Dݠ` |r | S  P   r | S ̸   H | 0޽h ? f33  $(  r  S ( P   r  S (   H  0޽h ? f33   L(  x  c $˜ P     c $ќ 0@   (H  0޽h ? ̙33  $(  r  S  P   r  S    H  0޽h ? f33   q i  (  Z   fUDJ,b0,AL (\??p ___f~  s *j& P  & j  BA? `q  Nz&6D6D?k,$ 0 AAT&T BEA Borland Boeing CA Citigroup Compaq Ericsson Ford Fujitsu B@3BG "0?  Nx 6D6D?k@& ,$ 0 gGlaxo SmithKline Hewlett Packard Hitachi Hyperion IBM IONA io Software Kabira Kennedy Carter John Deere h@3hGH$  "0?  N:6D6D?p p,$ 0 GMicrosoft MITRE MSC.Software NASA NEC NetGenics NTT OASIS Oracle Pfizer,@3+@2HG& "0?  N86D6D?p,$ 0 PRational SAGA Software SAP SAS Institute Secant Siemens Sprint Sun Unisys Vertel,8@2@3QG,/"0?H  0޽h ? f33  $(  r  S $р P   r  S р   H  0޽h ? f33  $(  r  S ۀ P   r  S    H  0޽h ? f33  $( 0]+i+{++ r  S  P   r  S \   H  0޽h ? f33  $( 0]+i+{++ r  S ʀ P   r  S dۀ   H  0޽h ? f33   $( 0]+i+{++ r  S 4 P   r  S    H  0޽h ? f33  0$( 0]+i+{++ r  S   P   r  S h    H  0޽h ? f33:     @ b ( 0]+i+{++ ~  s *|) P      fK̙?  ? ` \lxNs^S&(2g$    fLN?  ?   \|~oN&(2g$    f?  ?  \/edoN&(2g    fx,3f?  ?  :&(2g   f&̙?  ? @0] \lxNs^S&(2g$    f@&?  ? @0  \|~oN&(2g$     fp&?  ?@0  \/edoN&(2g     f&3f?  ?00  :&(2g$    fؘ&?  ?0 ,$D 0 Z-NN&(2g     f&3f?  ?` \^(uoN&(2g$     f&3f?  ?]@0 \^(uoN&(2g$ H  0޽h ? 3333  P$( @+( r  S 8> P   r  S >   H  0޽h ? f33  `$( ' 'Ԯ'`' r  S `5 P   r  S 6   H  0޽h ? f33  p$( 0]+i+{++ r  S < P   r  S 0I   H  0޽h ? f33  $( 0]+i+{++ r  S x P   r  S N   H  0޽h ? f33  $(  r  S t] P   r  S 0^   H  0޽h ? f33  $(  r  S  $ P   r  S $   H  0޽h ? f33  $( 0]+i+{++ r  S s P   r  S z   H  0޽h ? f33  $( 0R$I] r  S ' P  ' r  S '  ' H  0޽h ? f33  $( 0]+i+{++ r  S  P   r  S t   H  0޽h ? f33z  *"(  r  S   P      fT1?  3PIM2   fl1? `  8Mappings     f}1? @ d"PSM CORBA specific platform models&#   fX1? @ b PSM EJB specific platform models&!   fئ&1? ` @ b PSM XML specific platform models&!   f&1? p@ c!PSM .NET specific platform models&"    fH1? @ b PSM WEB specific platform models&!    fp1?` C CORBA/CCM      fث1?` :J2EE/EJB      ft1?``  :SOAP/XML      f谄1?` p ; DCOM/.NET     f1?` :WEB/WSDL  B @  fD1?0 @ B @  fD1? @ B @  fD1? @ B   fD1?@ p PB   fD1?@ 0 B   fD1?@ B @  `D1? B @  `D1? ` B   `D1? @ @ B   `D1?  B   `D1?  B   `D1?@ppB   `D1?@B   `D1?@@ @ B   `D1?@B   `D1?@H  0޽h ? f33  ((  ~  s *q P     # l΄1?0  Start with a Platform-Independent Model (PIM) representing business functionality and behavior, undistorted by technology details.J0Z2 GG\G  TԄfԔ?@   *2  C xք?jJ?Q WPlatform- Independent Model G!  T`ۄ1? _A Detailed Model, stating Pre- and Post- Conditions in OCL, and Semantics in Action Language"`(2`GH  0޽h ? f33  um ( ' 'Ԯ'`' ~  s *DŽ P     T߄fԔ?@   *2  C xx?jJ?Q WPlatform- Independent Model G   T@1?B GMap a PIM to Specific Middleware Technologies via OMG Standard Mappings"H(2HG  # lD1?0  MDA tool applies a standard mapping to generate Platform-Specific Model (PSM) from the PIM. Code is partially automatic, partially hand-written.J0Z20GGJGz `  T   @O ,$D 0  ZjJ?`  T  H CORBA Model  GrB  B BDo? R H  0޽h ? f33w   '   ( ' 'Ԯ'`' ~  s *H P     T<fԔ?@   *2  C x?jJ?Q WPlatform- Independent Model Gz `  T   @O ,$D 0  Z{jJ?`  T  H CORBA Model  GrB B BDo? R   # ld{1?0  MDA tool applies an standard mapping to generate Platform-Specific Model (PSM) from the PIM. Code is partially automatic, partially hand-written.J0Z21GGJGz q s$P    pSM ,$D 0   Zh {jJ?q $P  JJava/EJB Model GrB   BDo? s z  QM    0 C ,$D 0   Z {jJ?QM  JXML/SOAP Model GrB  BDo? z $ ]J   ^@ ,$D 0  Z{jJ?]J  G Other Model  GrB  BDo?$   T{1?B CMap a PIM to Many Middleware Technologies via OMG Standard Mappings"D(2DGH  0޽h ? f33  e] ( ' 'Ԯ'`' ~  s *t  P  {   TfԔ?@   *2  C xd?jJ?Q WPlatform- Independent Model Gz `  T   @O ,$D 0  ZjJ?`  T  H CORBA Model  GrB B BDo? R H  # l1{1?0  nMDA Tool generates all or most of the implementation code for deployment technology selected by the developer."o0Z2oGz q s$P    pSM ,$D 0   Z3{jJ?q $P  JJava/EJB Model GrB   BDo? s z ` P  T    @ 9D,$D 0   Z7{jJ?` p  T  ACORBA GrB  BDo? P p z  QM   0 C ,$D 0  Z;{jJ?QM  JXML/SOAP Model GrB  BDo? z q P $P   @ J@,$D 0  Z>{jJ?q m $P  DJava/EJB  GrB  BDo? P p z P QM   @ w =,$D 0  Z B{jJ?j QM  DXML/SOAP  GrB  BDo?P p z P ]J   @ :,$D 0  ZF{jJ?f ]J  AOther GrB  BDo?P p z $ ]J   ^@ ,$D 0  Z4{jJ?]J  G Other Model  GrB  BDo?$    T,N{1?B KMap PSM to application interfaces, code, GUI descriptors, SQL queries, etc."L(2LGH  0޽h ? f33     0I (  ~  s * a{ P  {   Td{fԔ?@   *2  C x|f{?jJ?Q WPlatform- Independent Model G  Zi{jJ? @O  F Legacy App  GpB @ HwDo?2 =  # l1?0;  cMDA Tools for reverse engineering automate discovery of models for re-integration on new platforms."d0Z2dG  Z\m{jJ? SM  DCOTS App  GpB   HJDo?p z P ]J    @ :,$D 0   Zp{jJ?f ]J  AOther GrB   BDo?P p z $ ]J    ^@ ,$D 0  Zs{jJ?]J  G Other Model  GrB  BDo?$ '  Tw{1?B CReverse-engineering existing application into a model and redeploy."D(2DG:H  0޽h ? f33  ^V@ ( ' 'Ԯ'`'  ~   s *@S{ P  {    TDfԔ?@   .   Z{jJ? kt  H CORBA Model  GjB  @ BDo?     Z0{jJ? F m  JXML/SOAP Model GjB   BDo?P | 2   C x{?jJ?p ? WPlatform- Independent Model Gz ` P  T    p kt,$D 0   Z`{jJ?` p  T  I CORBA System GrB   BDo? P p    Z{jJ? F m KXML/SOAP System GjB   BDo?p tz  S ZX   s  x,$D 0   Z{jJ? X dInterop Bridge GrB  B BDo?S Z rB   BDo? Z m z >      p9 ,$D 0    BCDEF8c?S @>     BCDEF8c?S @      T̘{1?p F  HMDA Tools combine application and platform knowledge to generate bridges"I(2IGk   # l{1?0  Bridge generation is simplified by common application models, simplifying creation of integrated applications both within and across enterprises."0Z2GH   0޽h ? f33  P$( ' 'Ԯ'`' r  S |{ P  { r  S  {  { H  0޽h ? f33  TL`(  r  S  Y{ P  { 2   Y{gֳgֳAN ? C:\eudora\attach\model_drive2 copy.jpgy { H  0޽h ? f33  p$( 0]+i+{++ r  S ]{ P  { r  S ]{  { H  0޽h ? f33  $( @+( r  S ܣ{ P  { r  S H{  { H  0޽h ? f33   $( @+(  r   S { P  { r   S \{  { H   0޽h ? f33  $$( @+( $r $ S 8{ P  { r $ S {  { H $ 0޽h ? f33  ($( 0]+i+{++ (r ( S <{ P  { r ( S @{  { H ( 0޽h ? f33  ,$( 0R$I] ,r , S ${ P  { r , S  {  { H , 0޽h ? f33  0<( @+( 0~ 0 s *<{ P  { ~ 0 s *{  { H 0 0޽h ? f33  4<(  4~ 4 s * P   ~ 4 s *   H 4 0޽h ? f33  8$( 0R$I] 8r 8 S t{ P  { r 8 S {  { H 8 0޽h ? f33  @$(  'Ԯ'`'8+ @r @ S Ա{ P   r @ S <{  { H @ 0޽h ? f33J  D( 0]+i+{++ Dr D S H  P    D c t'gֳgֳA ?   H D 0޽h ? f33   H$( 0]+i+{++ Hr H S t' P  ' r H S z'  ' H H 0޽h ? f33  0LF( @+( L~ L s *&{ P    L0 <A ? p  {H L 0޽h ? 3333  @$( ''D' ' r  S { P  { r  S {  { H  0޽h ? f33  P(  l  C ! P   l  C H"   H  0޽h ? f33%4x \TU/>  IO co Ka&Zo.iJK*(*=- f;3$B {9s{g9vQw,AKdJ%mÑvdjKVj0XnbX'\ dP ؂؃ ˵Z8c[ pWpwݡ^A7xB ?x7/? 0 0#sߦ`0  qa Qh q ;'0 4L0BL0f, zH$0@2́H4HgYxWŵOղjnm~ЖxUXc "gNI1iLi*Eθ1ctRws)4w0uMsVϝ?ʓnoHoG@d4ҖBux&wqBdL$s:Gd&ci5}-&E^9rl{"dFߖnhǔ曏g$ S9}-m]OG=a#ucudl\Mn߹}^!9)ҒƜBl@z' rNZsLk~2\cGbI- 4RE%%?s,Ֆ[-7g}{ =Ş)RF_v[=mɫQZ|&֓GѺG'|%fXltbv3tnؑ)rRr2amJݯ^ ץB-T(Xw],-imm]9^}j5ZOLg;)($iOܵArBEf A=mv-4k1&iZʤԴt^jo_xD$=, 4T6͐v53v j Q?_ҖގnoX[aqD(ğut5ÐkJޛe ɞڝGaRus ֦"ĕ]mxn9xӱԬ(+ަ v8ֵJ݌y3ukiR||Hs>W2(-q\dKo0y)??7ȨW׻{7yo6wsH8T _35!gl"`. +gʅ1!9 pۇް.`]Ğ؋unX!`{^;aa*Pɴ ULP55H"簏SX Hl8 c|->zA@+ ~vx'd Gڋ>6S %Ns0If')1e VZղY;Nz>qD7n W+ lx̓\g#-Kb5@An}+&spXi$lr{D}=(;B$(l}-؁8J_qNR =5Yeq X7(yܪ%%7~A0G"m?*9O^A,c- u0 q\>SW*WK{}iJ|ei)fA6Z]7JTrsF8)1߫ gҏ6`}6J y qYB4[0Izưf(v8ð? &hF컂NI{/۽&(q2c&N6ijP\1Xpk4qFPDws5MkH덤a՗a6k2Bphl8{݇kV1r8ز^FW5ӟl-zTo9l.fiL&T47 ;b\]Û-yk[Uq_ U7WAh4tU\R]Tz}2=ڻ3Þ%j0Cise\,8`e櫽W`}fh24l8fh24 ǩ_A4t3DnQtAh*Pi_գ B‚PPuA % Ե dtZSR~x #?ᲪoJutst;o?OrSkvskjc5 InAud<msyt%/&KO'x\"Wo򅻴qWT^~urّl7͇{-6~hYL <{Ѷ"/C)﹀}U &N^6Jt'uU:{V'Mf)SvRM!_O ;~_UVۤU~Kˡ)ٕSs6qӕy/U9eLĊjzZ.^\U[ʥ*7jtt럡鞡4s;ְ{,R58uǑ؜>"nkҝ xwk]TR_RQҦfmM{w:2kgžW_uj>x[g ,)i?h?|ti:%%M :k tTv3{(rU ǩ7M8^ϩ7Olyf%ٷ|A9u-.dj2}^zr,kiskIEuY ѕ.k;%n~0>hW}8eGFkjk{9p"8Nu1z0AI %eKs;ݤ͟kckvWȀTqռL43IeJ Tڗwx`6sp1J 852:;GE[6Sn?h+ڭG' oK_wjqӑKٛso;w6.?E8 IjM H4)ii&-)֥,7>Mp%by@U*:L_Zj#[uwUg\@@g-mȴn[h'[n^5P80|[`m+SM~~>I d.i/kQ|jj K&p$Y&/DE4%?DKN$MHRxQZ ѰCL4)t9:i&7p I!k;y^2C#2.߰!5sY-'k.v│+$6^ݭ8Ӎ.zɒMsYmɩj#/9vI:=ՕW׽/7a/ %ᡏYͼ7W 썑_fek{8֎FL:+cc?Ta_*9Iq'y[o_x,U52zt6)V\kr'[\ȒZ9܆󽃛+;;,$ d]v+JZ)L>yH[kA@dD(b5~S̊` +tg䯊'TeKC\ MMyQ Ǝ-F ̡v(rW?2E幻q mdH_itT& ,)GVI̷ cZ!rYmT?t٢1?ȾAEⱗerdw#k5 KC-R`j)0JwasTC,e75b!X.b+YBj"lYe8JO"b B'ΈyYVVElДhp``~6Wc](LOM/*f]}W7^'r=YR.~ZDM)7 oJoT?Do\jf uU .\Vl&@W[X]' ڟXP-TcT!$4FؤDhIuF'ho0^> QVbR5YB:GP`0t`TY2F9Oqih-vc(ZZXE7J7k05 hw1PB`+.R\pT\`샲%e(3 0QE (ol8`Tz6 \Sq͔&}W "%4b} ]0t;pG:մUS[Н91QC%f6C梕pT|g "Vي'u(`d)$ Y)9AF&eZaYFĚ,A-g:e)LFXt@Q A80VMt , ԥ~u?`fk} C\>w=U=wwk04i&an=gS]&'շ٬ggq[_Iԟy双]$t-**WITn/GqtA0?o 1KCl‘&ewo?` }U| Ja yi+eH<ڤ lQ)ȧ1 v@-T((9t!_/xB AܩRo/PusT MAat][RBKAėP*/[O,t tvP ^(\{iP1SdeD0dbW-6M4g<-w۝$tMWkC`\skkLO^=YF7k|5-ZYч*3ݺ: }̄^/CLw={~Us.@_gtګC1ǂޢ/԰[Dˠ[$ot_#".ˌ?Qn!2vpMU )C2A^(U(;t&0zę5ىf(;_o$Bas]#a3 n,= vhLM,?fx2f Iv ksx k?޳6p">NҬfQd{N/Z0v-Ӕ#W؁+:gV"W^[c2ʵvt.B:΍SBo7Kҁ%U c3~Q@2cl$3Q,H*YN+TZL: ŧRH*9#DJ?ER)eN` cΉө`”Y˟Mu=)g496APS.]G]ϩR3ܡ8l4v`wS^(6};d4FZGNzTeI0ݯ!^㞭̍ZކoKt_mIg✛[0L^*켾t\֮PQTM]3ٻ<"ۼ\GO?GoGO}(vu >>)2K+Xqk v/TӽH1|-Kmd,[xLIBɒgG(NX\T澍KnGByA7JpϾs(v#G]{%*}ňh} h& ' %a.5_}vDtdd8եhӷ62!8sKʘGs mZ(o/p~/kUYs$o]M:ktN2gvxo[#oX7'fwkz/flGO/C,_#<еѩhَ90rc?nΆ~EÁs?tח/Cb%v[%gٿPƫ`h[`q8hLnDL4z߲Qp1#×\OhZ}itf 0z/&{[zu1խ|Mt>);Txjc0}1gg[EَGx^vwZ^:[hhMp}#Ez;<\̔{<,羋rtBR_Gٯ)o&:۳ŀ&^[tK~.j5<Ԣh}iϦ&rVjx'.+<7/72d6?FM_MS?Bv2޲mvыDYT{3s/> ͞:׉sw?y%@3.%&f3sHv5#7~]Fnr"#@ɋ5U:ٽꔴ ͅKn]W__#fiV|p¡(1vfȳ,rejlš|١N'F/z %'G%ߜ35~x/O'U!+Of/)JT]n>#?Mi'N6ѻuH&KR!n_q2ߓ@>M~,Z}s<{ʨ({rˀD5&@fpi6>2n:ph'0ur—=g[ɜt>r,Ÿpa)zX)fV`M\I.qɹC%r7.8q%z /+( @ !&F!+XS&'j|5zg)D  $;5-&^r c 8~uXb8AGfAR :(kArYNQͲ$L~wѻtˎ !4F{Ѥ+!x$VCC&'[,)_FE6I"y,U;6@ܠKz1yyw[#XzQIrXrdɚ;J_7iC!(w8S3͋!E]vθ{S-eF3; >Ag z[֚OemgYkZXSfN|,cSE6sg[uxBwÓI^vv&t XcbmN:FYCQ lk|ktǠ- [=j5():t-n u\е '>a|yz[[W(NR5YC LSsHp=0YSql"jYZv,T"d,f3=alEG > %7=}#C 43Q;⸬RՆF~^{CVER<  < r֫!?_WGEE-BAq&ϹB}פGU>z1 #2KGU%K #/Cm\[V`IU;ax@z)d]V'Ef-@ɒ/Z`KRV&PY,k R2>w(HKK..ոBnT\lUkKa2[PbSEvy/./z..ቬ=jm8uxxqwmy IF@7U|w$nRBy[w_Zq%[CQg#p)1D8&?~[!/ kಛMhjꆄI]$(>)+rp o=5j8 A< MˢO;?_EE^ $ڢ]g&ݧ3jR^'~o a_{?;;(" -"Fme~]DRm85f-T  R4pr  7ԖdW~Y[-/#{"E:N_%u$ymA໛oJq~`pgs, H6Bn@1Gð1Ն\x2=<64g`. 'JSTnd*ރI %ܐEۘJSɋqF RK0(7$! (32gYf'Tda/k*GYÔ0Ò *,Vyz&7D 9[9@VŞbMl'Qij,b Rzl'Tĸ۽@h-Eh2`i~;H}i^5=> V4К}X 9qO2K@Wt?xSVNȥ ꁠdtQ 6!ѤZ[2b TDJ!XKTK9-^E@8|Z_]?Pn?.899'Y ''kq$g"@JruIe9(ìVd =Q]`;F^zZzY6eٙCff2qwW6p~%vT72Xn/Vd3n^LOD2I_A؆}o"{I (X_No}u JP"{^7Yv!`2^QBI4"_ /論"&1'4ѵ p ,k6=O^r,qaǜXc,d:X^EUqxdJ x|fQvPr{$GBf2R | k7k~k~k>takoho(ml7#iҾsuCyֳL嵧aO)10B';W8c3^!]5M^\]lrNz}-EkeuHNT ݯ V'TMYy;m$AOhOkxYqƠ;s;uЀ.c!J kȉ%?D(Z@WVzT+ Hs/h+  ˜*xqq,~H^zh|_\?5\#_ ;e9补=n0NJiv4zy?vreT<yM9 1ЉKe|\4mn3}y%mQ+ m{+Čodxj'6;ĕ_TC!Wx[o fg" N:dvI3WA*\@$kJW¸z7Hq\D(!j: mX~rYkܢVwHc vcEަ$nwU#S*vZqRX_75#-H%d\右t#b->r $դ9E]U(j,a 0^yN$:7w3$BB]ꃆl%Ktοxx M$#x;[ݡyM,87)%GFO8F(O>xѝ9±y!bs /sʌ :1Di^% l*Z|Ki$H 0؅WajNu$3.˝-E,;vR9gr6JL+[*T3" |H3V1[2&rar,kgM_dc}U( T1y&.橘c#&#D$M"Dv;INyNkC '\UZ C1xxz$./pC8&Fl銹nh1K8*8 tSy&XLEԾ߷ Ex{,rSJ2rg$\ڤ r,>jR1:lvw3؛Vdif8,w-ߛR8ClUN徨ݻc"7oqav D^5y?Hג{@Ԍ`ܲD5jPr$w-!'SvX!:gdc6:lDDٻՕH6?'kX>•7t1r >dy4i7*Ǟ sJ}T-FnV( T`0hJ Yu^^ hpV;/FyfmIF#1vֶ\2 Wi7Ǿ'v Cr6=W>_^8_6M Go#{`Iq in7p sJR-^)y8CjDΟ[eƢ?=f [{,,NsdmMU;&$i.8ERgSR5;inr;S[-QZ0Ü0 tJ*ZO\1'kiSw&gz2@3d)Gr>Sڛh qwFqnKhBp*"5p2ʅZUB@VHM԰QKUx*/\Z<<׾c??CeP4 [Oe8/QcXZA X۵qyê@$ro\tpſˮ/ 7)L}.GL*˱>8hRmO_zD " U2?!\ZijY x.taМԽ'/T-+W3Z|9f2 z PUV,*Nv?[Ӿ%S^[2噶RR])2m_-ط,wcҸ "iu#iK1k;xmᇧ~0><8VO|&`P0V\CҺ&f$rҚyˤ_Fr((1}fsʦ7F EQGI,XjE꺼)|%eƈi^\[NT99HJsr$92INN=iԡ<~qP? #J!Lo?^J{D"~5p7l MC&w`qG:0v|Gs>Bb+K' <@˲Bt-mM꿋 FG,;хVߺS"oȉiu} Il} /y>@_Ehzop5j2V 9`{h`E%`y J4XDk5e$;CT=ґooN~_CU=b[O{=7#*O/l MDo~\UM]HwA(r \bˇ;ڄꔸIk54u!)BR9/B$u?0z}6EgwѝʺQ07 Fjko0N=g6h=0 uj0ds |'ֱf| * g9"JZGؙ^{6-m n"m pRQ,;Pv-\H, F[mA  ;tBSvA )* է;H ;HOOus:H$ 1/:Hporu 4 ^oA}@o YNu.?a8.:bEvB]{YMw1VƑ)~N3ko9vƭ&P[9fD1Y6ǓӤ:6\ĻrT7 ws1 ιݢ3ꪊܦ97JSY+%kX+%O`cku@Zy^3[sk AwZќw[* {uKSs{@[7޹n 09t83 ֍wnEF# h5nWhk7nM3fq;ϝ l$6nJlvrMsM%mE 2j;rEr[sw:[D4 @ goMp䛈Ь* rĬ"k$ R[ ZJ~9Xl䰏3qFΘe|murRVr?lRrjhg?J FyLO٦!Սl<^Qוƹ9+[離m qm)o[7Z]7P`W&y޷z8lx-ܾ(M$O]48gI=ȿ'# غŪoi1_no=l>b+μMS M  ,[ռg{56nz86sn>?ii;X=S>S>W-_qEs=+.:RWw@qq&i {KMK}5h,ތ?h,'Dx˂W7o[E{&<ѳ! Ӿ33[вyu.lM~mzc:4ljjsɸmHs*h[Xdq-a:Ypβ=Z`g>bͪДl ͪQ\^<@{n5֮֫?j C)hHQtJ-LLK|9տ] -:[t\[c۸>RjŶ坾ZbOe?~ قk.Z.3/C.~Q9mU5:񀭪,z~[WUC졭FӐ/ WMEȓjj&!w&)omkaS6®槭Ymykj]yIasN&Ux6>MEws!۠-6ac0 9*zl-P=ZS`>+͞x$p ѬeiLwFkM+2,ǯVUCi34GPWU^``MA]zI"R,KxBplv C{Y&t@" UQvzCD (y+ '/H !Ned6Q@TeY )PA(94,d(ɄΈ/hZO>s jYP>0` X8`7sq") Fm(jzj.C>K9$QlKEryܚ|[c$w>x>ţ%BK[<>%.lxQpm'ָv=L&_zϨJ_|7F]k+ K(j$gp7Y^}UD.SO[aa II>kA`lo FqlІJW"%ojS_8%'7+Q?mV-mpbRY;Q"ΥqHOM6E@{fU`:'壦5-d\*l6 Aؿo!<*G@-v4R$shCVR+@2)].|>6yͧv's7 Cdbt.`ݣmRW?xK2sO MfP}Ib}\a{3i=#ϑ[gߖ92E+Bvy2]߅@؛6o;/I7 `O:8_sEizF7m%Ch0>y@+?/ ýRM{޻EońuVb.3^@&l>[>}#' 7Ke˒K=].qDm %~ I;5[a}Elį+gk'O-g^R_|7.RE#+؊8b-LPIb ˩t bwE_-F %gJ F*DvEfUhB!U 'tXjVK=A^.D =+1>=#.]GlZefTah٘I2c /^Ee%$99PX 1%R" lԲS׉^5'S]O12"&S띵f!Leb A+/v45!ȇuhf f+I [*u!cIŅ$߭$k59LbHbyR=存!Y9he*K,Cv9B:E:Oj-1mmpg.1u˚]Nva=AoVCe魀SZ.q"I;Dd] fNWKSOKN <^t{`fC[3L޾ p n,k\{((]Q*5J0J, Fu6DJP9?Ѭ3qLOM##?͟UE%Fſ ƿȒ Z2JHXCj~j'YX'$Ik[*C:Vи%zc (`u+g?yY_]G^ O8뎒fZe* ݥn7CPsgo:>a(zD۠<AR\ RMd >^IANSw, C$%D&Հ0Xܗ(Ž(r0o ʅ 8, ,cq:B.NNɊn(=mP[Tf:+DX›_ gP'JfAp KB\o ťב LA-kuoFNsBȟ}&>p/깅0:P$lcL؟/ .@"{5}"(`[OXV\&U%%ܤTVRŚ=/Ja,ܤٖI )6;7 DX5wn^@}fs[ )pZ-ԋEIUEP.vE{Ы'@aIE;-&R=͋8`ä  o1W[W>9A6r C4R{$Hm2ATD$AxT)d-tj~E2*ŒQ YqiHP&h bQD\&ؓMhT"t]=h"Q$e"% cC;C5=r+.|':Ak;zjZzh a'nc $bBaLo/JoO_'Mo$]]$HRwCok& "Α Wic&1{3U^~k\"zb(k `L&3>BXV=OüzPԩDTc8w̡SX d sr2IѲ-@,]#K0bcT!l܄&}П85D&tn ;~|dxk#{KG|Z {, Y}E--aTo=0tKZWڵoR줄IH#0~@O`z3Z.":; 7xJ dHyMpȾ`VMHF6flVu^@(?(` BKQqٳƀ!Δެ9,wR#`RRQ\Jd.:6v;RHtEO-JXիBRGY5FtRau4CB fcscK~8`DJP`D4~%B`$Gb:KtO x*6sE#_n0HBD?emЊm١ЬWu_R}>Ek6>hk~Q3Zt}E;:E{?F>.:#k%5;մnMZ'uج5zh9? O4k>h5? fA{fVl]r~nMx.Kt/o]j5.{/̪=hwBS‹>ЧE g5K_U%;[< fU/nMj}s_L]V`U?^h_̪'^-}V}AFV'~W`E5h*Ckީ_s/(l@`Qi_̦hid$%lYn9Z 2 ش@I2ʁ=JK=o/XyCG,s#)/X'hc02 1 F$!pCHqoD? Vuyh\AߵKXk h_Y̪HsA~MRqa MO--' j{EgRb0E@) nC AQ@]C0*b(&TDE "E:hȾ|s]?:|=ϳM#` Qc+Cj(aF0!TL*'=$! FTKEI 843-ƹ66'8 q} W{MP+$2 7_ōz+L4?kn J ZP縘?9L'V Ċ}b>rx''!_b'V}b>&'''''& A:Hy>^xnx'6}}b> b'ȊEزOl'F~Mx%I@T-2-dj{UHXbŎPYPg|U9fD T@ fݮnJuQE^1qq3`50@& Vj&s"f]QNdJfжUL\Ĥ)e1;'f)dBXsXf,{*fntuUje}a3dcr v{OcZwUU蝋 (å9q'"t`_ɥN𸷮 LzTSҭ޺w@{j$-Jo[0^: b$ aH ;tzs;xf 䙯Hy?ixdOd"'G7$.ھoYؐYxxSN\c ]g*(5]']OYrVHZ4Bl?2c& [Jsᮈ_f8Mw1( /,H|~v9wk~&D7z^\н1=gئ\LiJԡMM=\kݰI-:qQq1 n=Nr!6PmM1ͷ ։,4-\GT{L<<1-',=QzSQGȈE{ u ?i3Rγ Cf׋6]HO$]vShw{F4?;ߚvhQW#ڭi^*uX+q]I8[ϟܽW7эp.))J…oA}]/hFcִ}cS3/rN.8*9^!(\\?jT4aܨMX:;$v`f^ǡo(1D6?/`mz`G6Sr^3߅=H\Q!ɦn>y{ )y,H^ƾ{2} KڟwAux{\Ff9KR v[tSԎ{55ݎEfnjl+;3H4ZǾS@m]b;#tÑ>v뗓[}L%Zg''C0PWe4=pW_© rWv/TOV .[{A+ ?\q?;z9A-{r^FtceF:;e]ZqC}V&ߌaq>+*Ari Ξ r7. w{8y{%0߷%hPnQq+8l䛆&,QrFҕGȎ7*]o KM,+63/ƒ-kco;Rs? 8xPi/7 QmY58ߝFc/7 Pȸ|Rŏ':Ԯ}>$yɶk ˫BwW"8pmy6 q$ "JhG9a ƫ<^ t>g8E=kN1mCm|)I=jVktM6(^]<97qDC/#Q6'FU7Z3e]s܆[I/䜺ε`gF-e`z2j%Zj[m\#v.>f`,Rn~$:BP̎kFdO-*ʁ}Ý Qlu$&}u6[VX~Bj!Md؏|ǔ04yGUGZORb~zN-qlPwo9 {3?h3 W=o tCDffa+kK޹*8 3>gh8}0!^r]U)J$eJswo)%o;`Hbn0)Y`iÃiJ9.ڸ/hlzn;5 ,!CocGXCbᇍ 6[Av%_t'K*YEƧ 6ŰփC9n7 ׯslᑚk@?5|^,s<C4nCm>"BgqfW#hwH11 FNxm4,XV;4ZV?mUΎ'784'Hs,HAȝtҦh=|XN5nLG=1a%9\Km*xu[;"fl@"_b>#Easထ^4˄7HkaMԷUWs +ʍ#BM )5RnKdOwȕ5xkQozҐȽi>V)|S+@t,ė9:C>DVNƒ7# <%@dft>L• 򀕿MEխݑŃ,!>qr8֙s=Tܭ(i[ڜko=yۢ]@m͌=z$Hžs@Ml܄ͧ'] 6`G1ECZހ "-A H/u~qsk'}`S7&ZKGN\*;oH_<"T*^ov*H$sX:~Y%j=$uB3NM²{,g q!9/[ tȭqWr Ek!-:}qZWL|3\SpMEAZdt-%m%Eû+$FΞΠ2wen[ZE*8  m\š( 4"{BQɾ< yOQ41-2t&zF]WG;[O`_Awx w##u`Z_x>-mXr=K YPxGat7PH&pj #=sb8㑏d?YNMl;ol*fT8\i>_ oۗJɕ"ϻ꾸eS4茻 $+imʓծ(B^<*|',߉ 7Iw,YVw}&t"+=ρr u%ʑ?@G~ɢ^Ǩ{բQy< 2/Z%r&Wޢ߽0ȞV7-lqW`iR_x1]jrƷ FPoӼ@OgT@# f?$'?wMEAo_.7q2?M1}>knXA FǨd~n]TiŀtpKQ]ikk; Њ ꪙ8V{4uw:\ũ>@-:q+:G~muƧOr-֓ELh_.Ӓ a}4tWP+x:m5ӿqI>ڧThbH@9@.#2ُQ.=pLi\ujE϶k)j^[\".?Z/a#{mњ(w$ILM5:@ D~TP>BMhX6/` j<=O]w4%|ӸtpH6QƷrm_x|`2^zAtE.W~?Q|< ;=܉'/2~:˿c>s5ҚXšhyǪ촿7Q=4lRo7`\{_RyרEÊșȆ/C%kThPxkf+Ui$YPj.:VF67n_yF2vzKoVzNuheɶM#q0q^zM*9_sْUGA[m&n!A.lled!Y]c_v>J@D[jno Θ]TqFGo0Α^a<ۼ/uȕeh=8 Vp xm0m9K4 jdx3f꬝ByWR"轅7 㚤r'Q+G ,#!zr tT]Qxkn57Kp,RT;U򉽺e`.nPѮ|1Ӄs].}ZAEnC~YLkn_RW}6n{'źӚ6}#;vs&p~ wໍBEXB'G:CmLq=*evJ@_,yh[ܪ.>(YZZK;mn{ ٷ_8Mlz%3㌍rih۫s~&O]нo˼jC3J٘3~h:^B6ZYx¥_G-]Oe9vY?.Ҟ_oj'r<>:E4 N:-z=z-"9@ƾ *_ȽةJp`;_Z=_]Pk;0@ ޽I+\Ee3.㱲QT[YvB pY$ؚ9w@O,2V<8_mWޙCnx,2@]u?g O&w{x' &og<:GeȊU-߹]ݨCĺO!NӥW(?=[`1>l)mv Q|x3wܲyucVǎ eB$3宀¾QZ~YC3/W+ROt~+_br_귂v OqNHLYdEۏ@guKO hV`k\IGz9̪ff}`M=ucTb<ۢQv;7=uF$1;u(ͭsf kxɊu3;N]At]`k~V\^w^rSl35K6'#$Y_ gg UCȜ1EwC+?:xT`ll~y\mhw$&^ݔG^Vj eza;fwڑpC}ѣV37o{ˁ]Ezvo(Q^ƥQo FJYqT]#=!|xzIC3:x2gvQ,[HI/Kmi5 {}Ixd|5-- UPqAcP">JWyuД<c BQ>F M1*xрQǴ5KރW-.lۨ},qЫ)jîx$FC%JKâ#cBhF8ŽK?N׹ٯs @حv~!&}{j\<5T* ,Z ]**Z|iAhd~t̨LMTN )]W1G?!=CDdG` 9xA*~P۠2V#&a+oL'DKЪVqޘr=-]3ǁW Y0AK*kث"B)X8m6.d80&Ί\ъ= Ϟ?+A8&N"1(L\>3XݩTj:i{,;|S@/#_? L:'(o]ٙh5gaI^MY5gE^-E<'GAZ ` CN*|Z唎d{5ӣzWQEun_:FP콚gQ6>F,Ə} H~zKqݢ @A_k Rr(l:M{U.8XV8z F-f^feK j@m  A )Of.ؤp'~{/U*ի)qt3!j|8~p7W5Z}=aUW K, !6q%M~zhp'.lRΘ>ܳ1?YϠ`.w|&Y࿸]U6'^MT&]?am&mY/ }3+`ȑ͏f̝:W 0i҅s< lIuƠ̈́&UH2gP_+Y X1=^_ y[>j”Df{|Dggzexd^I0^"ry3.E]QoX'0վC|F螎[fvEh4\ƀ>Фެv+uEcȈ*Hu[ђdx5.򚅹/Jɨ[lAX+.j Ti^WR)џn p.\<H/߷|\s#Xք{ [nbgAC)#^22¹qb5\+  9oKT0Xpe;bp -$1)sytc0ܿY~~>%W+n9OGgNsm(zm,yE\TJp`ZD1^n?KpBh#gw,_QvqȮ.&-narW3@ #7T,ʠ" Z|Z}hi,_*x- } W2&D,|K!G߆{YJpt>_jA2}IB`,S<+49lFI3Ѐ"o&dV .P:d=T&]Tj0Ho"6@u+r!RN#b;B#a\W}0< o0`̞AYL5XdBW3_2~0,#k%]o+V/u3(]ڲ_BhqfB yel1lc%æ?CpWqgpb;{7qp_š?F@g\ln ۚ@KD0>@Bހ`G$y]3ls@:})ɼ<xzSz8Ӊ4>5|zc§E߅@& ,#RW !; p^`N_g0op!'Bz '8U"W L(D(,Y"p]D߀ 7V@!WD/E=C": :"A"k=xQ0{nWpt_.!xkv3xcOsBT;`.p*k.yg4v"7`J1= = dMqQQP8"JEJS/5F-6*$KȘ0aPތM (8ɸ¸0:C `12=Lf$3 0/0M̏Lfy,W:*aAF[V/kc-ِ#{ ;KKv{̙͡p8+9Pg'ϹsZ8h#..2h.n+yrhDyx,^<:ǫ=LJ|?6>_/C n/$08 _A` MP m`L(%4RMB(V"<)"+;CB+MVoa#̼Y"1IGG_ﭗ(Cbz 9l݃?* _G^1kxKXBoݽU ^$^PAQ/Ibbwb?ɛAc(޴__[6W~H~0|e箶&'~RFeBͿV$΂z! qd4@TN`hAb$-&zŶI !hex r(kTZ1KuҫroVhOFB l=CNc}sT3@]{g2ڠ&K%=( u񘠩!l3yC/ys{hvBOXDC/4cd9ZTΛJQ05gnl_ICڻAHR4pFlN=|(ZEC y7bq)JqI(܄[OjՀ[¶fA{Cp.xr7 P`i36FAPȖa(`L &GS٢hrX8y`FCIQ;LbI2y/V33J޷PaCB^~0Ӝ*R[f;w«DgeacOi&hq8 1q.&ґ3 _YPe"ǑYߪ+UWDfC?LGWu7@V+!A8yy FcPz FBקX[, c"t ѫR+ETT0p& Ͷ4ɶTl+Edf|Gm6p |lL@uIaT|L.mt(gNezنZB}=>pӶ(Dd킃 + P8O2s33sH9nvBa2Rv :&AaM ؘ~Nᙓ3seIt]3t"$J!urPl-]G@(@muX4-L7m١,ͭͭ!n,{-^L^"?r7Ze!rtQ:yթ; }34%|D%.BKy`hKh&!C2Bv 5]<:z6e>YDp8ågU&mcYcCV:(,Ub|Ph*Ƙ@ 7`+Fn9+p[{[1!{lUZZ((J#rWKrDccKNOג$f9<..Y=M@W:h;u.D>cikLGJ$'15~c4UpQ-.8PVxG)VިӬutxk', Lڍ_#JzHjG" V&X+^QzE\uNR9FߕKt=tW.f RT'Ҫ>&ƆZi;'*LXmUr(W_+!CF;UUH]#|/0C6nq{_2:pّ\̏>wY)v;H2՝?NҟT<@:-S*g2Z=O9)^wzcSz:fn en|>l\RߞLQp9r 1735,L&l/A n%9.vtph*p71 Bک6a"f=5 ։=HM#UӌGu u/k&U\оsPX+;m{ @Aʎb눺W+.Bh$29|EG6P̗6IEuVE4*R31XVf7t& cȱK&2n6N6Gcv#66Gpoqazt>i7lDߕ@YMC}F#SS eB z\6[TnWx`3qĈTJk`:J ))'mj mi]1MuCr zrZV~Aʅ3OݥL: ^<-70RznƮc,5T[ dȑp?u;kWLe/Aw8)0W4[S833gUXQχ {^5%̆u)jll!zj(v}.rJ_=5Ù^bҟNsQ[ȜR$7՛Ӽ/C,m@g " kCܤZ'/ ]fPUPeq#$]KP]b'xVaWɉғKwo9:8ni DT']q[uoJ k8dd}YyWBG7ϳo9%Pꢞ97ːB:>hBk&owT3Si6vr8ƥݓ0L˵8ԏIpKGEsc;[#w=zpQx[qem:% nc6;E%_tu ]/Ȼͣr:xC<,v&wy_3 Z~-|y!$oXԎ_ߚ,ݽ^ZuzA :r@l9[z*5,;>dٿS^rxG%S.$@!"b[N^߇2miF1q௤`;HRi*a% 5< LL弔e|姫*WCH 92v?I/Vʒ^zO%4F֌Su 2˭eQEcei| M!d@z?k~u~ *B}Q{%^a?^Q^_+luI,T Ӥpd20 "vHTm>c_;W#]S)|ugInr,W#;5hתPrNQN5vHG|R^Igݯ!$9=]ץiq$B*t%~7|\RدVq/wVw/сU5FO;[#?Ȗ4 \z-GkHN\K'2)H "u"I_::o(dodAO@NdoL_:AdœɔL)LD&S:H.anbc'.aCobryTG[.J^%D/KL/=D//-?r׫Z~˥ K,rAS\ zWs6rOn̔^ tD/?)CMs$C,ȽX+(=:h'j_vm.^IaWa+V(RQ1Hv!/{tV* "'>= ~L{lK84Vl+.Mr ^c=K %("+*jp &QjiK.ʀѣv0VL[ձm_3`T:'%4 !ҜVLn%CҔaY㓕n̈t#S])QAzө8nh|X4 BJp1*k`a$iLkLM1%Ӵn6H f d73~ѨdruЃ̵SQK]Uj +Ap B笂=dP5l`oPBiAyd2":?y`N8Ba۠TQ(WDSQqСGtC rU!i-(GMs/P+!ht@dI%:WAB, %"f#dm؄gngYc }t9x̴vĚ[KR (nϓJ-uv[/V̵7܈QAμi*7Kf`2X9ڲ!h=AZk+ga}7W5f+P2xav}%Ԅ^46^QAaDWK$ZTz绔:!甇sG!i`A!dq3 2U٪hx=!a#"ܢvU]-5"ޕ5qٜJ`=nTaQ9E4(R*9#xmZzīZ5^hVƫժ[p ʱ߳ـ`նo&<;;yf3`8mKPC+Ȩ@4ɦierN`ތpi ZCpw`ڷLxn4iF@7C]6 B3rtQG-cvAA c ^F` S(:i)R@7FqP"9C_Q)VAk)Ve4 c+Bp #+bD'3`{<(j.6.&RAU8`TK DZpK1C?Ya)14݁weǝ𞣜cUЪWUEKV3ulb.`cU+,PT%VECTh06NޛJS}Twdqi+6籗TvttCi {-~C!@Z'{޺f!؇N:/*o%pm0Yi -]{lm+Ķ#nyWHTo\98::%fV' <$9zЂ;78Bql1nq=|Ci-}0{`;Fb ;[^~}7}ig!cNyŰVM(\q9Yiw܎7}wiKܝ83d˓/+f*K#odl-.Z}Ȓ%##G :2|]fTEL1rB?I{Y޹j.o&nVC?N=c"%2nbo]c2X#O'LϏC?(a~!G{^覎?)DG_= eaHLt3}هQ܊p.a=26Do)c/bT־f' 0*,*\Ko8tbB-Jt>pm/rt1Fqp쾀^䴶Nrc>cX&Fgr/|+m%ۯ"Z9気\lT^@_؛O_^eC)Ƀ#N+2%;juD~ /Jqt# `x+/jS l<$eelO G~SVq8ڷR j̡VE'yIv~C0Y#v]wa/sĪ  VEYe;}vzNCehZ\/u zey nɎ/E}K+Ă&Tfm'C_u] sL晼f}0JU<خx䆙qz:8:CM&&cGt|,{I/_x>s9q}>N9sX|r'7aO >cU|wG>]Cρi>Gn?$g\T kf8WN$12yRUʈg q*LN3!6dfEpbZ4>❿!j6xs1U ޯWVz蠿İΪP+V:iv/:BU6CVh#jC[7aBNJSr+ЇCwˬ J:BcԱǰDƢ0t@0 :V:V.9;bO;P_6=8;O %#E1pBͻo TogUKbЬ+y+C%}*yA*F1fUljNˮ}К(ƹjވ-bln]G-9! 4Q~uN%/u>0reF=C *Ѓ) 64/ٽw %;8hz[zdeԞ/7 ZeCpRFA]MAOU茟`ov;-uEO2R&R+ kطY.D"Ӈg]θ4Yl;0"4霊ޞXY1{W1Jǣq凼 ] hlO2l/唦!dUqO;$(+,h޺Qmܚ,ڳZ6es~TsUU}BtnS<%Y&}lҡyt4[{9GqJ}P_I$ێp~юuKi* ˚QH+(^tTg=,XYXb:ȟȚEeyYT9u'$#9A?U͐Qed|ԏ!{*eŴ3+M^NQX+\~ [#ז_UOP]85?ϺLs 93;GPQNW _{,t)Ŭƴ~1_FZ8juJrW%z >Nu٫!%n9 |k}1aEF>LynkձTeM}jtZ}MH=~ͅF|h\62I{4kP'Ś4}MW{ـ3kgݸAK17졕G6I;I@Jk7vi]mi[릏4tꓶ|~cD~q+nː۠A>4nl+GxD=cjQ[;h+Suש~5Aه&~u%ߦ˴Ĭvd~G(6fY4 l2Z:vӚ )bgoSX|/ͯr^H,^Awf]f4ԏ~wݾ;zk:د5 9Xy^tͱv9hEr^HG"`^&tM vpϣ? AJY:1-xM#"di24T(PQC,s垩̵?oݖs]َCͬө oWF?I:K f"q} >o؇$oK/%nRt%J'JKe P##ds_*ellE'KG>)]1^LyNSl32dIUrTT|\zK""R1RR(<+zbK/0"t-X~{! 䅟*k1k4qdb1'Vܘ]때YBŮ3AeXkn{i;~WZ`(nB~xޥ((}. 4U8`1Z!E媘;x.=$]$)_M.c8P{c pzR8úXYlyE+,=a^+5]dg2<y.137\M"*Obhvb7MT-3-j\$]PuD83pd82&)HPGVC22$A,}<3>p~'r"Eeg 9`Αg&&IxC*Gskn “C&3Ӓj9Tc hbylLRS2e_?^;x3~MrJN!/ڙcdؘ$AJr*yy'Pi[cSOŧt$w6Km &!""R qԘ!!?\?A&GHA5!}RISRG&?r"ӓ2$i2fР)³TDDL5\?0~b)əkn64)=|PmM~C 㓞VsUW͙i.\{{cfa8bIOJ$ɸGǧ2Zjt,"l nϯo ,QI)O!6"VM?5( IԘ 'U䓗9:7F-jmj/&s&qpNj./m+=~(|$#e >aL]zdLNƤReY"AHl!χ:Vf8 I|~4W9%4ғSpiF *YQgw\^+mTjm3,>q||8dV:S32jچ!IVI5Q)%'}YkE^$%ĺ15fdADLB_s <)#!=`M &O'fkit]#22b4xh2šEƏN" ZW[jFÌ7T} "dHĢV$g9 J΁Hj%Ar$vt 86L*q#H:J1HWE@PjݔA"My*HR@ªjd.H,k%@^:W@^:@$浒Jڑjs^: $Z#@RRDPijWg6H:H'$ $!:(Zݔdd8 ꖡf^dCGdOAZz/$ArdHՓlmZ$ $n2͙jcO{U{x֠;H]zq"@Q/D - Iej̭g/H>{qDUwAc{Utt]69Ia8 AUA>H:=gHŹO@\+Q֮`󌺬5F=In3ARŨ cֳ\82$B[.Hu-HbuQm@Ҷ6N{LgmA2^A Y7 Y7_SArY|Vf=}U'@ƬY:-{=INT^$N 7^DՋ8^"-^D[L.>QRD6H,Q'D DD9F \Nk J#"ߪ&`z9yBk\/b CpxY1q[lOB^/އzABpS !B_DK%å0 cDyBa  H1whD;{LʋnS'^bG:.Sɱ>n#&[DwM;6J{JqBOL>#k,k^oT$s( W ޕּP5|#X!p3զ/5X- bi8O  {iɟ2$8sjʴ4PmZsk4qxwqlǓ7b$ %wX~iY1Fg:f.;\}Xzb◶T6zX㖎_2m;>lfl< Q6V~ٍjs4~$׳@?q>W<=@/r[scsvlpLbF4xR{&x'}8 aGh>/JUvvdr;r<ReCSdg^l*w>h*ޙolrVa߻ ΪSI$^ -#Uc\aͯ7vîSlB;AVyYa4 3,}ͤqD{; CPP>+f\[nwg@!,8/llsv`>2Z0` [Ьi&V!VZCh ;E`  YCA` q"rQNϼ;GYT2R3uo'*<\DDvݙtƲ-Fd%"M[#E8cS32玤DŽD?K|qAFq  /͋׷&T*/͋pCč慩0U0& q & uviFon20r1qyaj7LxL 5U0qÄW ^SNl'''777???qK(5w ?k֬}٩{M4S3Lh!PTovmYYFۼys*fB`Е }:pC݀/"''',, hn]Lh)tiii)Mnq4kĦ! 9c)`;D cƌ{;3q&r-^ 7Z>`X*` շy_7Z2lƧ&ndO->4u- om$b;h===W\܊ЂEddJjn]Lh)F0>-71ҼVڊWiҼnP&n}50qmXNt"=Lxk ] @0q-}(gOOwMhR4݄7 ('M77z]@G?##/o iJ f\\xopSu$>@@␩#(F0(_ܴ)w"a K4]5)jB7b/kFۍFyl]Ѹ0&n4fA 7ȍFǿCjkYG܀qtcM|o䮉y)SU^;xw^3f S7ˍW+"kBS%#X`Aǎ'Mzʩ7ȳo*$;|VZ5ֻ^h7‹"I@.YQr^S 1oroidB~ȋ K E-/fl7ȕD,QWCZ*{x3 w/aCrQ7(EIokM?S )I) Cr]qJcm7MܨM_rͪ-Ø.Lh,%7rnt_쫉\Eh\X00vss{G3 nݸ9 |3}8/vvvMBcB7VYVVuF_7dϞ=mڴ 4nFUj Lo#!#J&4)F_d,&b^7LxZ 7ԍ쟢 .rCLKĆR͝ R%&on--xSNR_&n̍L|Lx-hVdnEK[/]䆺_čqCl@XčSPA@4 }bMxv(7 wxff; Ɉ.rrnMF ș V^wMwiq4Nykx縁ڍȍ/! ܹ͛oAhxX ;[C Fwah=7JeCT*Kg!$$$/`3gޱ¸LH@cFIԓočFGSMGndFn|Or7Un5k7۹_@Ss!:|k7_~Mrc̘1/htd5$7wN0Sn47LF mgu={ ̹!:|ktxm)FfF%p[Fv$Lhtg_o:(&n4:hI0-0l=2֍dxѸIrC5 }Fi\š`¿ [#:&,u`W!B`މ3'}sێm;|YE ~pHSt y|p"q|`kx^o&m]/))s9V2=]/=}Xy᫻c"/?hJs._o^;.ߕ6q B\7X~~0ɟ+a5*-ӌJF F/xXjC <0`@p2i8o`QF؊H2`F e~y?s>SVr0n::_9)02DeqgQi1kb\<l Lw#y%!+Y'{ ~P.my4 ;sz,~eյEB"Msu<)J=yP˖wc O; `i'@;'ܽȿx~jVB.xE*6HG4IKMOQS|UhWlYp[@\]H_acpezfg :(   < Visio Visio.Drawing.60.Microsoft Visio Drawing,/ 0`DTimes New Roman1|dv 0|( 0 sTimes New Roman AvantGardeTahoma _GB2312Arial ʱģMicrosoft Visio Drawing% ׼ģUML ģĹģ׼ģUML׼ģUML׼ģUML׼ģUML׼ģUML׼ģUML׼ģUML׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ״̬ͼ׼ģUML ״̬ͼ׼ģUML ˳ͼ׼ģUML ˳ͼ׼ģUML ˳ͼ׼ģUML ˳ͼ׼ģUML ˳ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ׼ģUML ͼ UML֧Ż UMLչUMLµ UMLʱUMLĹʻUMLǰоȵ4ģϵṹ Model Driven Architecture (MDA) OMG (Object Management Group) Who Are OMG?칹--޴OMGļĿ μɣ OMG OMGIJƷмммммммû칹мû칹2ģϵṹMDA (Model Driven Architecture)MDAҪ˼MDAҪ˼MDAҪ˼Building an MDA Application#Generating Platform-Specific Model,Mapping to Multiple Deployment TechnologiesGenerating ImplementationsIntegrating Legacy & COTSAutomating BridgesMDAĺô MDAĹ MDAĺUML 2.0 UML ProfilesMOF (Meta Object Facility)!CWM (Common Warehouse Metamodel) XMI (XML Metadata Interchange)MDAķչMDAķչ(ģĹ Model Driven EngineeringMDAUMLģתMDAUMLģתMDAUMLģתMapping PIM to J2EEMDA Information PagePowerPoint ʾĸ  õʾĸģǶ OLE  õƬiw@l ww w0-#_' Li XuandongLi Xuandong.--yH--  . 2 y+. . 2 y+. . 2 y+. ..2 Ͼѧѧ뼼ϵ+*++*++1|dv 0|( 0 DAvantGardeoman1|dv 0|( 00DўSOntGardeoman1|dv 0|( 0@DTahomardeoman1|dv 0|( 0"PDNSefNardeoman1|dv 0|( 0`DN[_GB2312oman1|dv 0|( 01pDArial312oman1|dv 0|( 0" b  .  @n?" dd@  @@``_zLASER.WAV.WAV 101040RIFF%WAVEfmt ++datat]iti]tittttttititttitittitti]it]ii]ttitttti]ii]tiitittttttiii]]titttiitt]iiQt]itt]ittititQtittt]iF]]]ii]:tFtiii]ititti]Q:FtQiitFQ:QitiFQtitQ://]iQiQFFQiQQ]]]FtiQ]ttFiF]i:::iF#]tiFFQQ#Qi]]]/tt#F]iF]i//ƺ/FQtFt:Q:]]tQtQ/::]i]t]]i:Qi]]]FiFQ]/::#F:/:::F:#FƗ:t#:#FFFƺ/#/#]р#iݺQFQ#QQ/FѯFFi:#/Q:tFFi:tї///#ї####ݯ:#ii/QF#i:ѣQ/]i/:# QQ :ѣFFݯQ#]]#:ݗF/i]/ݗ/ :t/:t/QƯ]/ݯtFFt]FFi]F]ii]ttQQti/#QїQ/:tѺ]QtƣtF/Fƣi:#FƌF#]ݺt:#/iƗ]//Qѯi/#:i]F:QiiQQitQ:Ftѣi:#/iѯQ/:]ѯQ//]ݺF:tƺi:#/QƯQ##:iѺQ/#FݺQ//:iiQQiiQQi]::QtѯF #QƗi:#/Qti:##:iƺtQ//FiѯQ/#/FtѺi:##FiѯQ/##:iѺi:##/QƣtF##FtƣtF//:]ƣQ##:iѺQ/##:QƯiF::F]tƺtQ::F]ƺiQFFQi]://:Qi]QF:FQitQF:/:QiƺiQF::Q]ƺt]QF:FQit]QQQ]ittiQFFFQ]ƺiF://:QiƺiQ:/#/F]tƺiQ/##:QiƯt]F:::Q]tƺtQ:/##:F]iƺtQ:###/F]tƯiQ:///F]iƺtiQF:::Q]tƺt]F/###/:QiƺiQF:///:QiƺiQ:////FQiƺi]F:://:Q]tƺt]Q:///:Q]iƺt]Q:////:F]iƺtiQF:///::F]it]QF:::FFQ]itt]QFF:FFQ]iti]QFF::FFQ]iti]Q::://:FQQ]tti]FF://::FQ]tƺti]QFF::::FQ]itƺti]QF:::FFQQ]iti]QFF:::FFQQ]itti]QFF::: hk!! "QGFF@?>=*1,)%$STSTQNRTTS<EB;: H9E687K)2/(N&'*0!+.#" !!"#,$% &'()*)('&%$#"!      QK2+ -@./N!O_2$><  `C82$;ZکŊB\%HLR$>(Hy&lѐχZ=0"%b$뉉bO+_U2$ƭ9\"2;UC x1?@87 g4CdCdv 0p"ppp@ uʚ;2Nʚ;<4!d!d{ 0<4dddd{ 0? %R:(bT[aoN] z hQ^!jUML $   Ng [ N WSN'Yf[{:gyf[Nb/g|AA AtbT[aoN] zbT[a  bT[a /fNyƋ[‰NLuvNLu‰ ُyNLu‰\[‰NLu wb/f gY N Ty{|v[agbv k*N[a g]vQ萶r`TЏRĉ_ N T[aKNvvNT|0vN\O(u1\gbN[tev[‰NLu0(^^cy"bT[aoN] zbT[a  bT[a /fN~g~~v҉^S!jb[‰NLuvNyel ُyelvW,g@we(W~bB\!kvfؚMOn0 T7h Yg ^gXRe{| SN[~bُ7hN*N{| []~cON(uN勰e{|vgNd\OTOo`~g06qT e{|~bُ*N{| SXR勰e{|@br gvNQ[06qT Oُ*N{|N(uS0@ Z ^z[a!jW<Identifying classes and objects Ƌ+R[aT{| Specifying attributes f[a^\'` Defining operations [IN[ad\O Finalizing the object definition g~nx[[a[IN    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntrydO)pbEzPicturesCurrent UserpASummaryInformation(PowerPoint Document(KDocumentSummaryInformation8< D[SOes New Roman1|dv 0|( 0 DAvantGardeoman1|dv 0|( 00DўSOntGardeoman1|dv 0|( 0@DTahomardeoman1|dv 0|( 0"PDNSefNardeoman1|dv 0|( 0`DN[_GB2312oman1|dv 0|( 01pDArial312oman1|dv 0|( 0" b  .  @n?" dd@  @@``_zLASER.WAV.WAV 101040RIFF%WAVEfmt ++datat]iti]tittttttititttitittitti]it]ii]ttitttti]ii]tiitittttttiii]]titttiitt]iiQt]itt]ittititQtittt]iF]]]ii]:tFtiii]ititti]Q:FtQiitFQ:QitiFQtitQ://]iQiQFFQiQQ]]]FtiQ]ttFiF]i:::iF#]tiFFQQ#Qi]]]/tt#F]iF]i//ƺ/FQtFt:Q:]]tQtQ/::]i]t]]i:Qi]]]FiFQ]/::#F:/:::F:#FƗ:t#:#FFFƺ/#/#]р#iݺQFQ#QQ/FѯFFi:#/Q:tFFi:tї///#ї####ݯ:#ii/QF#i:ѣQ/]i/:# QQ :ѣFFݯQ#]]#:ݗF/i]/ݗ/ :t/:t/QƯ]/ݯtFFt]FFi]F]ii]ttQQti/#QїQ/:tѺ]QtƣtF/Fƣi:#FƌF#]ݺt:#/iƗ]//Qѯi/#:i]F:QiiQQitQ:Ftѣi:#/iѯQ/:]ѯQ//]ݺF:tƺi:#/QƯQ##:iѺQ/#FݺQ//:iiQQiiQQi]::QtѯF #QƗi:#/Qti:##:iƺtQ//FiѯQ/#/FtѺi:##FiѯQ/##:iѺi:##/QƣtF##FtƣtF//:]ƣQ##:iѺQ/##:QƯiF::F]tƺtQ::F]ƺiQFFQi]://:Qi]QF:FQitQF:/:QiƺiQF::Q]ƺt]QF:FQit]QQQ]ittiQFFFQ]ƺiF://:QiƺiQ:/#/F]tƺiQ/##:QiƯt]F:::Q]tƺtQ:/##:F]iƺtQ:###/F]tƯiQ:///F]iƺtiQF:::Q]tƺt]F/###/:QiƺiQF:///:QiƺiQ:////FQiƺi]F:://:Q]tƺt]Q:///:Q]iƺt]Q:////:F]iƺtiQF:///::F]it]QF:::FFQ]itt]QFF:FFQ]iti]QFF::FFQ]iti]Q::://:FQQ]tti]FF://::FQ]tƺti]QFF::::FQ]itƺti]QF:::FFQQ]iti]QFF:::FFQQ]itti]QFF::: hOC!< "F'*(+0379  ! "E&#%$))*/4N652,!18.:;=<<;:,987 6543210/.-,+*)('&%$ "!CDEFGHIJKLCNOPQRS C2+/@.- ! B_2$><  `C82$;ZکŊB\%HLR$>(Hy&lѐχZ=0"%b$뉉bO+_U2$ƭ9\"2;UC x1?@87 g4CdCdv 0p"ppp@ uʚ;2Nʚ;<4!d!d{ 0<4dddd{ 0? %J:(bT[aoN] z hQ^!jUML $   Ng [ N WSN'Yf[{:gyf[Nb/g|AA AtbT[aoN] zbT[a  bT[a /fNyƋ[‰NLuvNLu‰ ُyNLu‰\[‰NLu wb/f gY N Ty{|v[agbv k*N[a g]vQ萶r`TЏRĉ_ N T[aKNvvNT|0vN\O(u1\gbN[tev[‰NLu0(^^cy"bT[aoN] zbT[a  bT[a /fN~g~~v҉^S!jb[‰NLuvNyel ُyelvW,g@we(W~bB\!kvfؚMOn0 T7h Yg ^gXRe{| SN[~bُ7hN*N{| []~cON(uN勰e{|vgNd\OTOo`~g06qT e{|~bُ*N{| SXR勰e{|@br gvNQ[06qT Oُ*N{|N(uS0@ Z ^z[a!jW<Identifying classes and objects Ƌ+R[aT{| Specifying attributes f[a^\'` Defining operations [IN[ad\O Finalizing the object definition g~nx[[a[IN    !# "h$& bT[avǏ z!jW  x!bT[aoN] z* bT[a^!j bT[a``k6q0W!jbNN{|Ƌ[‰NLuve_ bT[avRgT^N^!j_Y0g !jW8^QNN NQ*Nv0W (W@wKb㉳QN*N YBgKNMR [㉳QeHhۏLhKm (uN T[7bbvQNvsQNXTۏLNAm R:_ƉɉHeg [ YBgۏL{S0>X> <= vbT[aoN] zbT[a^!j !jW/f[NirvNyba NN8^8^(Wck_^ [irKNMR HQ^zN*N{Sv!jW NOf{_0WN㉃[v,g( bOOv[ (W!jW-N NN;`/fTRdNNesQv0^,g(vN N O!jWNw[v[SOvkfR{US0fNbc pwuw bT[aoN] zbT[a^!j (W^ N*N YBg|~e _S_{NYy N Tv҉^egba|~ O(uQnxv&{Segg !jW 6qThgُN!jW/f&T&{T|~vBl v^ekmR~ N \ُN!jWlSb[seHh0 ^!j/fbT[a^!j-NvN*N^8^sQ.vV }0mtsqhQ^!jUMLUMLvvh Џ(ubT[ai_egg |~!jW ^zwNi_!jWvSgbLSOKNf>fv[^sQ| @wf:yv/f{|vSNSُNSKNvOVsQ|0 Yg$N*NS-NvNa$N*N{|KNX[(WOVsQ| Rُ$N*NSKNX[(WOVsQ|0 SvOV/f N Ov0NghQ^!jUML SV $ hhQ^!jUML SV $UOeO(uSV (W'Yyv-N SV/fNy͑]wQ gN[^ S`O N\te*N|~v{|VS)0RN _A4~ N `O1\^O(uSV  OVNu&T ^=\ϑ\OV'`Q\0RgNO z^ Svi_[KmՋ_N/fyr+R g(uv00`_$051hQ^!jUML r`V $r`V r`V/f[{|vNyeEQc [U\:yNdk{|[a@bwQ gvSvr`NSgNNNSuevQr`vly`Q0 (Wr`V-N r`1uW҉wb_h:y0r`v9eSy\Oly r`ly1u{4Yh:y {4YeSNhQlySuvagN0r`lySN4O gg*NR\O [hfS_lySue|~ZPNHN0 4  2hQ^!jUML r`V $ ihQ^!jUML z^V $`z^V z^VcN[aKNR`vNNsQ| @w͑SOs[amo` Ovez^0 z^V1uN~[agb k*N[aR+R&^ gNagz~ y\O[avu}T~ [Nhet elz~T N^8O0z^VcNُN[a@wevcyvNKNNbcmo`vǏ z0mo`(uNNagWvv[au}T~cTSN*N[avu}T~v4ls^{4Yh:y0V-N؏SN9hncXR gsQevfTvQNlʑ0* 7hQ^!jUML z^V $ hQ^!jUML z^V $ hQ^!jUML z^V $z^V-NvNNz^ Vg'`Causality  [ TNmo` SNNHQNc6eNN0 Sc'`Controlability) [ TNmo` NNpQs(WSNNqv Ne RpHQNq0 R'`FIFO) [ TNmo` c6eNNpQs(Wc6eNNqv Ne v^N[NR+R[^vSNN_NMON TN*Nۏ z RpHQNq0 ZZ!ZZ*Z ZBZ  !+ B     hQ^!jUML z^V $ jhQ^!jUML T\OV $T\OV Nz^V\O(uv T T\OV_N/f(uegc|~-N[aKNvR`OS\OsQ|0T\OVO͑NcT*N[aKNX[(Wvmo`6eSsQ|NNsQ| NN蕁zQُNmo`Svez^0 (WT\OV-N [a T7h/f(uN*N[aV&{egh:y {4Yh:ymo`SveT mo`gbLvz^R1umo`vSeghf0 4  8hQ^!jUML T\OV $ 6hQ^!jUML T\OV $T\OVv^@\elfnZi0Wh:yQ[aKNY`vޏcsQ|0 z^VzQgbLve^ feO0W wQN`Suv!k^0 Ygc(WN*N(uO-NvQ*N[aOS T]\OvL:N NNV/fNy gRv]wQ0NNVd>f:y[aKNvT\OsQ| =\{[v^ N[ُN[avL:NۏL|nxv[IN0 Yg`c荊Y*N(uOvUS*N[avL:N ^S_O(ur`VYg`c荊Y*N(uObY*N~ zvY*N[av YBgL:N RQO(u;mRV0 lhQ^!jUML ;mRV $L;mRV ;mRVc|~-NTy;mRvgbLz^ 8^(uNcN*Nd\O-N@bۏLvTy;mRvgbLAm z0 Te [_N8^(uegcN*N(uOvYtAm z bgyNNAm z0 ;mRV1uNN;mR~b V-N TeSbN[ُN;mRvf0S_N*N;mRgbL[kKNT c6R\l@wc6Rly{4YlT NN*N;mR0;mRV-N؏SNeO0Wcc6RlyvagNNSv^LgbLI{Bl04  3hQ^!jUML ;mRV $ 5hQ^!jUML ;mRV $|;mRVgT/eccv^LL:N ُOKNb:N/ec]\OAm^!jvg}Y]wQ0 ;mRVg'Yv:p/f_nZi0WcR\ON[aKNvsQ|0>4hQ^!jUML ;mRV $[NN N`QSNO(u;mRV 1 Rg(uO 2 turmY*N(uOv]\OAm 3 YtY~ z^(u0 (W NR`Q N N, NO(u;mRV 1 >f:y[aT\O 2 >f:y[a(WvQu}ThTgQvЏl`Q0^&! &  gmhQ^!jUML gNV $gNV gNVcoNgNNS[NKNvOVsQ| N ONNNRgTSsS_O9eg*NgNeS[NgNNuq_T NO[[NZPv^vO9ebfe0gNSN/fnNxgN0Nۏ6RvhxgN0SgbLgNbechgN0(ccf9hQ^!jUML gNV $ nhQ^!jUML MnV $&MnV MnVc|~-NlxNToNvirtMn`QT|~SO|~g0 (WMnV-N (u~ph:y[EvirtY Y{:gTTyY萾YI{ v^9hnc[NKNvޏcsQ| \v^v~pޏcweg v^fvQޏce_0(W~p̑b fRM~~p NЏLvSgbLgNb[a N fTNoNUSCQRM(WTN~p NЏL04  <hQ^!jUML MnV $ =UML/edsXRational Rose WNUMLv!jWqRvoN_SsX hQb/ecVteSOT\Ov_Sb__ ƖbNgeoN_Sb/gT`` 0434.A UMLvibU\[e!jW UML-RT SgbL!jW ON{ Enterprise Distributed Object Computing (EDOC) Enterprise Application Integration (EAI) oNǏ z Rational Unified Process (RUP) vQN Standard for Data Warehousing CORBA maps to UML XMI format for the exchange of UML models in text format rcP c$ t ^ "Q@UMLFhg NvoN] z(^bN]~ gN~Nv^!jUML bNck(Wb g~NoNǏ zRUP?) NNek/fNHN A Software Component Marketplace Quality from the Beginning Give Soul to Software Process A Complete UML Based Software Platform Ivar Jacobson2,,H  x C UMLeh:1997 ---- UML version 1.0, version 1.1 1998 ---- UML version 1.3 2000 ---- UML version 1.4 ? 2002 ---- UML version 2.0 ? 2004 ---- N*N3z[[UvUML version  , }UMLvVEO:<<UML>> 98 ---- The First International Workshop on The Unified Modeling Language, 3 - 4 June, 1998, Mulhouse, France <<UML>> 99 ---- The Second International Conference on The Unified Modeling Language, 28 - 30 October, 1999, Fort Collins, Colorado, USA <<UML>> 2000 ---- The Third International Conference on the Unified Modeling Language, 2 - 6 October, 2000, York, UK <<UML>> 2001 ---- The Fourth International Conference on the Unified Modeling Language, 1 - 5 October, 2001, Toronto, Canada <<UML>> 2002 ---- The Fifth International Conference on the Unified Modeling Language, 30 Sept.  4 Oct., 2002, Dresden, Germany. <<UML>> 2003 ---- The Sixth International Conference on the Unified Modeling Language, 20  24, Oct., 2003, USA. Lecture Notes in Computer Science, Springer tZ2ZZ+  *c KUMLS_MRvxvzpp\S_MRV~UMLvxvz]\OƖ-N(W$N*Neb O_UMLfR|nx :NUMLcO gHev]wQ/ec/H LT!jWqRvSO|~g Model Driven Architecture (MDA) +)) !NOMG (Object Management Group)\ OMG/fNLu Ng'Yv{:g]NTv N1989t^4g g8*NlQSSw vMR g800Y[bXT0&*O Who Are OMG?P_g--eY N(WProgramming languages ~3 million COBOL programmers ~1.6 million VB programmers ~1.1 million C/C++ programmers Operating systems Unix, MVS, VMS, MacOS, Windows (all 8!), PalmOS& Windows 3.1: it s still out there! Embedded devices (mobile, set-top, etc.) Networks Ethernet, ATM, IP, SS7, Firewire, USB Bluetooth, 802.11b, HomeRF ZXZZ}Z ZAZZX} A bn   QOMGvb/gvhR^_gP6RNNd\O TNR(uYy(WYysX N͑ Y[s0 vhO_WN[avoN(WR^_gsX NwQ go}YvS͑(u'`0Sy i'`TNd\O'` N Y(W1uYy;NAmlxNs^S NЏLYyd\O|~gbv_gR^sX-N eO0W^z_gR^^(u|~04}" W"|R YUOƖb NX[(W~NvlxNs^S NX[(W~Nvd\O|~ NX[(W~NvQ~OS NX[(W~Nv^(u!j_ _{ǏcSTNd\O0RƖb0P-- AS OMGvNRThe OMG s mission is to help computer users solve integration problems by supplying open, vendor-neutral interoperability specifications. $T OMGvNT4Common Object Request Broker Architecture CORBA remains the only language- and platform-neutral interoperability standard Unified Modeling Language UMLTM remains the world s only standardized modeling language Common Warehouse Metamodel CWMTM, the integration of the last two data warehousing initiatives Meta-Object Facility MOFTM, the repository standard XML Metadata Interchange XMITM, the XML-UML standard*ZQZZ>ZZDZZZZZ)Q 9 ?           U-NN -NN/foNWяASt^egSU\wegvNyeb/g vQlcMONd\O|~N^(uoNKN0YO\=d\O|~TQ~OSv]_0:N_g|~KNcO gRvoN0 4\ [ gV-NN W-NNn -NNO\=N^B\|~oNSbd\O|~0Q~0penc^{t|~I{ v_g'`T YBg'` ǏN*N{US ~Nv_SsX Q\ z^v YBg'`v^cؚ z^vSy i'` O__SNXT\laRƖ-N(W]vNR N 'Y'YQ\Nb/g Nvb0-NN&^~^(u|~v NS/f_Sv{OT_ShTgv)w _NQ\N|~v~b0ЏLT{tv]\Oϑ N Q\N|~;`SO9(uvbeQ0"" X-NNlvMRv;NAm-NNSNR:NN{| penc-NN ܏ zǏ z(u-NN NR-NN mo`-NN bT[a-NN2&% 6YbT[a-NN bT[av-NN/f[ab/gTR^_{SU\vNir [cONy:g6R f0W(W_gvR^{sX-N O[aBl0 OMGvCORBA _ovCOM SunlQSWNEJBvJ2EE(E!E!VEZbT[a-NNz bT[a-NNv_g'`T_>e'`T g N T (uN_gsX0_>evCORBA/fInternetNON^(uN[ Nv]NhQ yr[NWindowss^S0N gvCOMR/fLhb|~v  WNEJBvJ2EER|QwQNKNOR J2EE/fNy)R(uJava2s^Seg{SON㉳QeHhv_S0rT{tvsQ YBgvSO|~g ]~YNN5uP[FURv-NNSFU@bǑ~06!! ",  5[-NNl gmd_g 1uNN*N-NN Nn@b g(u7bvBl [Yy-NNv^X[Sel~N N/f:N㉳Q_gcQv-NN,gNu_g0 -NN?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoqOh+'0 hp  ( 4 @LTSeg_812HC:\Program Files\Microsoft Office\Templates\ʾĸ\ʱģ.pot Li Xuandong171Microsoft PowerPointoso@o@@Y+@G?zQG8 g  .& &&#TNPP2OMi & TNPP &&TNPP    f--- !---&H 3--- !pH---ww@ Dww w0- &---- --%-- --d]-- ---- ---- --%-- --e]-- ---- &3--- !PpPP--- --] U-- --,]%U-- --D]<U-- &&G& &Gy& --y@H-- w@ ww w0- .2 |;;;:;;:;.w@ Jww w0- .2 ׼ģ+++*+++.@Times New Romanww w0- . 2 2UMLJ&.w@ Lww w0- . 2 +.--yH--  . 2 y+. . 2 y+. . 2 y+. ..2 Ͼѧѧ뼼ϵ+*++*++*++*++.--"System !w-&TNPP &՜.+,0     '  Ļʾt ĻKBi   !# "h$& bT[avǏ z!jW  x!bT[aoN] z* bT[a^!j bT[a``k6q0W!jbNN{|Ƌ[‰NLuve_ bT[avRgT^N^!j_Y0g !jW8^QNN NQ*Nv0W (W@wKb㉳QN*N YBgKNMR [㉳QeHhۏLhKm (uN T[7bbvQNvsQNXTۏLNAm R:_ƉɉHeg [ YBgۏL{S0>X> <= vbT[aoN] zbT[a^!j !jW/f[NirvNyba NN8^8^(Wck_^ [irKNMR HQ^zN*N{Sv!jW NOf{_0WN㉃[v,g( bOOv[ (W!jW-N NN;`/fTRdNNesQv0^,g(vN N O!jWNw[v[SOvkfR{US0fNbc pwuw bT[aoN] zbT[a^!j (W^ N*N YBg|~e _S_{NYy N Tv҉^egba|~ O(uQnxv&{Segg !jW 6qThgُN!jW/f&T&{T|~vBl v^ekmR~ N \ُN!jWlSb[seHh0 ^!j/fbT[a^!j-NvN*N^8^sQ.vV }0mtsqhQ^!jUMLUMLvvh Џ(ubT[ai_egg |~!jW ^zwNi_!jWvSgbLSOKNf>fv[^sQ| @wf:yv/f{|vSNSُNSKNvOVsQ|0 Yg$N*NS-NvNa$N*N{|KNX[(WOVsQ| Rُ$N*NSKNX[(WOVsQ|0 SvOV/f N Ov0NghQ^!jUML SV $ hhQ^!jUML SV $UOeO(uSV (W'Yyv-N SV/fNy͑]wQ gN[^ S`O N\te*N|~v{|VS)0RN _A4~ N `O1\^O(uSV  OVNu&T ^=\ϑ\OV'`Q\0RgNO z^ Svi_[KmՋ_N/fyr+R g(uv00`_$051hQ^!jUML r`V $r`V r`V/f[{|vNyeEQc [U\:yNdk{|[a@bwQ gvSvr`NSgNNNSuevQr`vly`Q0 (Wr`V-N r`1uW҉wb_h:y0r`v9eSy\Oly r`ly1u{4Yh:y {4YeSNhQlySuvagN0r`lySN4O gg*NR\O [hfS_lySue|~ZPNHN0 4  2hQ^!jUML r`V $ ihQ^!jUML z^V $`z^V z^VcN[aKNR`vNNsQ| @w͑SOs[amo` Ovez^0 z^V1uN~[agb k*N[aR+R&^ gNagz~ y\O[avu}T~ [Nhet elz~T N^8O0z^VcNُN[a@wevcyvNKNNbcmo`vǏ z0mo`(uNNagWvv[au}T~cTSN*N[avu}T~v4ls^{4Yh:y0V-N؏SN9hncXR gsQevfTvQNlʑ0* 7hQ^!jUML z^V $ hQ^!jUML z^V $ hQ^!jUML z^V $z^V-NvNNz^ Vg'`Causality  [ TNmo` SNNHQNc6eNN0 Sc'`Controlability) [ TN[a NNpQs(WSNNqv Ne RpHQNq0 R'`FIFO) [ TN[a c6eNNpQs(Wc6eNNqv Ne v^N[NR+R[^vSNN_NMON TN*N[a RpHQNq0 ZZ!ZZ*Z ZBZ  !+ B     hQ^!jUML z^V $ jhQ^!jUML T\OV $T\OV Nz^V\O(uv T T\OV_N/f(uegc|~-N[aKNvR`OS\OsQ|0T\OVO͑NcT*N[aKNX[(Wvmo`6eSsQ|NNsQ| NN蕁zQُNmo`Svez^0 (WT\OV-N [a T7h/f(uN*N[aV&{egh:y {4Yh:ymo`SveT mo`gbLvz^R1umo`vSeghf0 4  8hQ^!jUML T\OV $ 6hQ^!jUML T\OV $T\OVv^@\elfnZi0Wh:yQ[aKNY`vޏcsQ|0 z^VzQgbLve^ feO0W wQN`Suv!k^0 Ygc(WN*N(uO-NvQ*N[aOS T]\OvL:N NNV/fNy gRv]wQ0NNVd>f:y[aKNvT\OsQ| =\{[v^ N[ُN[avL:NۏL|nxv[IN0 Yg`c荊Y*N(uOvUS*N[avL:N ^S_O(ur`VYg`c荊Y*N(uObY*N~ zvY*N[av YBgL:N RQO(u;mRV0 lhQ^!jUML ;mRV $L;mRV ;mRVc|~-NTy;mRvgbLz^ 8^(uNcN*Nd\O-N@bۏLvTy;mRvgbLAm z0 Te [_N8^(uegcN*N(uOvYtAm z bgyNNAm z0 ;mRV1uNN;mR~b V-N TeSbN[ُN;mRvf0S_N*N;mRgbL[kKNT c6R\l@wc6Rly{4YlT NN*N;mR0;mRV-N؏SNeO0Wcc6RlyvagNNSv^LgbLI{Bl04  3hQ^!jUML ;mRV $ 5hQ^!jUML ;mRV $|;mRVgT/eccv^LL:N ُOKNb:N/ec]\OAm^!jvg}Y]wQ0 ;mRVg'Yv:p/f_nZi0WcR\ON[aKNvsQ|0>4hQ^!jUML ;mRV $[NN N`QSNO(u;mRV 1 Rg(uO 2 turmY*N(uOv]\OAm 3 YtY~ z^(u0 (W NR`Q N N, NO(u;mRV 1 >f:y[aT\O 2 >f:y[a(WvQu}ThTgQvЏl`Q0^&! &  gmhQ^!jUML gNV $gNV gNVcoNgNNS[NKNvOVsQ| N ONNNRgTSsS_O9eg*NgNeS[NgNNuq_T NO[[NZPv^vO9ebfe0gNSN/fnNxgN0Nۏ6RvhxgN0SgbLgNbechgN0(ccf9hQ^!jUML gNV $ nhQ^!jUML MnV $&MnV MnVc|~-NlxNToNvirtMn`QT|~SO|~g0 (WMnV-N (u~ph:y[EvirtY Y{:gTTyY萾YI{ v^9hnc[NKNvޏcsQ| \v^v~pޏcweg v^fvQޏce_0(W~p̑b fRM~~p NЏLvSgbLgNb[a N fTNoNUSCQRM(WTN~p NЏL04  <hQ^!jUML MnV $ =UML/edsXRational Rose WNUMLv!jWqRvoN_SsX hQb/ecVteSOT\Ov_Sb__ ƖbNgeoN_Sb/gT`` 0434.A UMLvibU\[e!jW UML-RT SgbL!jW ON{ Enterprise Distributed Object Computing (EDOC) Enterprise Application Integration (EAI) oNǏ z Rational Unified Process (RUP) vQN Standard for Data Warehousing CORBA maps to UML XMI format for the exchange of UML models in text format rcP c$ t ^ "Q@UMLFhg NvoN] z(^bN]~ gN~Nv^!jUML bNck(Wb g~NoNǏ zRUP?) NNek/fNHN A Software Component Marketplace Quality from the Beginning Give Soul to Software Process A Complete UML Based Software Platform Ivar Jacobson2,,H  x C UMLeh:1997 ---- UML version 1.0, version 1.1 1998 ---- UML version 1.3 2000 ---- UML version 1.4 ? 2002 ---- UML version 2.0 ? 2004 ---- N*N3z[[UvUML version  , }UMLvVEO:<<UML>> 98 ---- The First International Workshop on The Unified Modeling Language, 3 - 4 June, 1998, Mulhouse, France <<UML>> 99 ---- The Second International Conference on The Unified Modeling Language, 28 - 30 October, 1999, Fort Collins, Colorado, USA <<UML>> 2000 ---- The Third International Conference on the Unified Modeling Language, 2 - 6 October, 2000, York, UK <<UML>> 2001 ---- The Fourth International Conference on the Unified Modeling Language, 1 - 5 October, 2001, Toronto, Canada <<UML>> 2002 ---- The Fifth International Conference on the Unified Modeling Language, 30 Sept.  4 Oct., 2002, Dresden, Germany. <<UML>> 2003 ---- The Sixth International Conference on the Unified Modeling Language, 20  24, Oct., 2003, USA. Lecture Notes in Computer Science, Springer tZ2ZZ+  *c KUMLS_MRvxvzpp\S_MRV~UMLvxvz]\OƖ-N(W$N*Neb O_UMLfR|nx :NUMLcO gHev]wQ/ec/H LT!jWqRvSO|~g Model Driven Architecture (MDA) +)) !NOMG (Object Management Group)\ OMG/fNLu Ng'Yv{:g]NTv N1989t^4g g8*NlQSSw vMR g800Y[bXT0&*O Who Are OMG?P_g--eY N(WProgramming languages ~3 million COBOL programmers ~1.6 million VB programmers ~1.1 million C/C++ programmers Operating systems Unix, MVS, VMS, MacOS, Windows (all 8!), PalmOS& Windows 3.1: it s still out there! Embedded devices (mobile, set-top, etc.) Networks Ethernet, ATM, IP, SS7, Firewire, USB Bluetooth, 802.11b, HomeRF ZXZZ}Z ZAZZX} A bn   QOMGvb/gvhR^_gP6RNNd\O TNR(uYy(WYysX N͑ Y[s0 vhO_WN[avoN(WR^_gsX NwQ go}YvS͑(u'`0Sy i'`TNd\O'` N Y(W1uYy;NAmlxNs^S NЏLYyd\O|~gbv_gR^sX-N eO0W^z_gR^^(u|~04}" W"|R YUOƖb NX[(W~NvlxNs^S NX[(W~Nvd\O|~ NX[(W~NvQ~OS NX[(W~Nv^(u!j_ _{ǏcSTNd\O0RƖb0P-- AS OMGvNRThe OMG s mission is to help computer users solve integration problems by supplying open, vendor-neutral interoperability specifications. $T OMGvNT4Common Object Request Broker Architecture CORBA remains the only language- and platform-neutral interoperability standard Unified Modeling Language UMLTM remains the world s only standardized modeling language Common Warehouse Metamodel CWMTM, the integration of the last two data warehousing initiatives Meta-Object Facility MOFTM, the repository standard XML Metadata Interchange XMITM, the XML-UML standard*ZQZZ>ZZDZZZZZ)Q 9 ?           U-NN -NN/foNWяASt^egSU\wegvNyeb/g vQlcMONd\O|~N^(uoNKN0YO\=d\O|~TQ~OSv]_0:N_g|~KNcO gRvoN0 4\ [ gV-NN W-NNn -NNO\=N^B\|~oNSbd\O|~0Q~0penc^{t|~I{ v_g'`T YBg'` ǏN*N{US ~Nv_SsX Q\ z^v YBg'`v^cؚ z^vSy i'` O__SNXT\laRƖ-N(W]vNR N 'Y'YQ\Nb/g Nvb0-NN&^~^(u|~v NS/f_Sv{OT_ShTgv)w _NQ\N|~v~b0ЏLT{tv]\Oϑ N Q\N|~;`SO9(uvbeQ0"" X-NNlvMRv;NAm-NNSNR:NN{| penc-NN ܏ zǏ z(u-NN NR-NN mo`-NN bT[a-NN2&% 6YbT[a-NN bT[av-NN/f[ab/gTR^_{SU\vNir [cONy:g6R f0W(W_gvR^{sX-N O[aBl0 OMGvCORBA _ovCOM SunlQSWNEJBvJ2EE(E!E!VEZbT[a-NNz bT[a-NNv_g'`T_>e'`T g N T (uN_gsX0_>evCORBA/fInternetNON^(uN[ Nv]NhQ yr[NWindowss^S0N gvCOMR/fLhb|~v  WNEJBvJ2EER|QwQNKNOR J2EE/fNy)R(uJava2s^Seg{SON㉳QeHhv_S0rT{tvsQ YBgvSO|~g ]~YNN5uP[FURv-NNSFU@bǑ~06!! ",  5[-NNl gmd_g 1uNN*N-NN Nn@b g(u7bvBl [Yy-NNv^X[Sel~N N/f:N㉳Q_gcQv-NN,gNu_g0 -NN