From 5cbe60917c3eaae99e71d836f78c57c51c27b378 Mon Sep 17 00:00:00 2001 From: Ilkka Seppala Date: Sat, 2 May 2015 23:51:30 +0300 Subject: [PATCH] Added class diagram. --- .../etc/model-view-controller.png | Bin 0 -> 18130 bytes .../etc/model-view-controller.ucls | 53 ++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 model-view-controller/etc/model-view-controller.png create mode 100644 model-view-controller/etc/model-view-controller.ucls diff --git a/model-view-controller/etc/model-view-controller.png b/model-view-controller/etc/model-view-controller.png new file mode 100644 index 0000000000000000000000000000000000000000..90071bfc134579083c83d5c4130b6bd249723aa5 GIT binary patch literal 18130 zcmbt+cOcdO{(no7q{t{M2}Q`>6iK$sW1VB~E!&}FByzH|lMoKa-scD*yNn|{I}VO@ z$l>sNpZI+4{oddG{=Vb)pYuMi^BT|bc#hZOEkaXWk>cWwi>FSVqELGBNbA(8(|e~* zow;)14DpHgbIVhw9w#e3dZ^=*wwi9zeOupm(dhN9`STryR@v}#5iN!zsT8W_&F2(K zk$d;wTy5T@ve-H=_?#^ItT|kWesX=-@7L~}WX z!sK+w6*(k1nk_^VAB=nGx$=Xr_lmN~h?~rIewa=Z{(YzVOB`OR%}!Fb_o?v*rQnO` z*}L>;#XBjtKbcBr1e-xa{_}_R0nfxTnc#JN<^40NFox#8N7s*w2kVoT=YB5l@(uL| zO_d){V;>8jdf-*M37X^&?z?C0x7VJeIN@}sKCzn;c95jeRw5(!{q{p)ezc3NB=`Dq zx$&d*Tov9Z4Fr zs!D%FnR%m|5HiIGw!{VTFbm#~zhH~A5{3AeZJ{$p+ZdG=`~`)$b3-~H$mq-GTwYtl zIJH6d`AwX?TR<(>D;E>Rk=K{z?UlyDZZPoC&&ai5)WUFAUvrQZM3kaR{F&9|=X&m_ zHMyP6Eev(7{ECfEJS$e^dCujcW8$I*Zz|@|p@9YK49R5fj1ILVK%QCmk^Vl7&a_V8WOd=Gi=$_ z!*Z3yDy3&GPbu;V8I$7GubByzq#b1TZlwMrBeoRBo6WX{p5KPlt|sI$?|-Ii+zUkn zx!|^Cp=|s6KWjB6c78Y|H7p8H?Dnwbm&N}!_n&sDyuy+s>{7}jHeY45AqrQ#8Ue_4 zqwFx*C8Nu48|y!Z&O`0%TIHd3V3568MauF?q}V%c90FItoZE1#zUH>S+O+QVP%X+2 zC6s1EMUECA*exnRY_nDb1{u%I9!eD9g-7N+ueri0-vhpky8TiYD8E19u1>HVq01>qbLmrmubARFb;aeZ1S}FlYvs4mWjzG%-==9V4x7>WHZziiyBo` zX%H4TF-;$XOx#Eip?7!^|22ICe6Y23TSn-*fFn6*InSK-SLK>I1QlOBFYKB5flBX zl7_u@x%?+&zVPx(mRceFHpbA$5`0x6cYuzuNtsnADY)o^m^&VOyAVEiO_>SU+t+Ab$v4vpdp_00-?N|VAI$2MWaU+xnwo}?u` zv|mxe?8yfNfwo?}r_8&px_xKVO!hEgArr~EzwfUyGi^F_j2(dU^E(S4qi~a-6v?rs zY2fYJC(!)Adx-5yy(#Efk-XN7@-`Z^{0p5>-oX5SeE_>M6{wOi%EnpfGDCPNQ#1v+ zrz=4zlL$I~6Vzmg1@+7X`E+#TD0_jx# z9$`?cR>zua)exwUCdbTWZ)vSvg${!2MdmUq!Qyk?rH;oDE*KY#T$~mIVOM&Gmp&|X zwS=lKdo~fyqt*QK1H9hcr%_ao2Q`voc>bCgmS_6cFMTflPahUU^7=Jh${I{yT9nVU ze?kMNEVxealRDk^Yq*{BzfLM%`@z4Tt^l$`Tgp0bOSh6#``tC=qWVd=zY)aO?t#88!CIj_m)Bjs}CWhPzEiiLq zcjBO_clS=;$4|n)>|^-GYv;0WDb!E%9LsIg`x2*(W-@vGOz}@J{V_K2a%Yp8ikD-O^@j8+&;KL>T%wpM z!f$C=UjT&nzC^6Fj=H*dwLoy)Q+f5AP(8`5R>txAYrl}2BAHYYIA|cl9wuk|?5)Mo z{>B3)5K9%5VtZ;b6*Dy*Q^k0kzA(ardKM3VsbxYAR;y*8Qv zuk(KnMP0hkBFu2ErtiRd{xzhC#QLb0l6K4fTZ>k+@&v-~ocw2JZS}|UtFzDmhSqk` z)Z&MUM;V$3(oN=wF+;`+aM9Ix@E&;g6LV?)#qL8M1a~nu$Ybv=;>wIm^!beil^e%? zFaiqdN;*0i4c7>q9@*!fN+P84Y%j^%-MgaRNO5g*crU^*V@w!L696Kos|)G3NheWm zxmraPuOV#NfyY`wzqki*H|$nFMbYx|jM(>otFnWIgr?$?#wu6i!*JkT+alxMP`R|J zqXh-GP!Lo1;yfkO{BVLy)Y;>dLIi#E#c69Svw;wuw{{0v$F?tO^vkrVpf*%LbJY(~ zB9YU2`npB<=;<4kQ;YiV-AF3WF>LcNP}vP(s-Gf@v-B>j))#W=DvhaOns2Tax*Ck@ zVRkbSwT6t4;@7FAR8y%_q$M)WKuT+6L5N&K?eJvE`gUbwJAf3^WyhuJTd(o#NHHbf zyC-HANT*W|%{4tUs%dSJZ*AG1@IA5<7NshHxyT#WjF@}M*MOZzvvbFa(O+t{%|=DN zCzO&-tsWkBU9{YPSEL<4*}Uool4U+#>J2R5_vZfOvtfPp3EY=_n2Z~jzuO*?vn+Je zKG)xS!MRLKYo+51RPS-+$4Z;gPP_>o$8koPdwb96&RLE^`=5bRfk*}nvI?=DST;@| z42$MqCJCFLrPe4hv$Q}4B!ad%ESi@r#t)9IK{t!Xj@INyB3B?S_A@1p3Z#`boZH{F z+)jy-r!Y7)U-8g&_c-d28Fl9V=Eb_ffN*IH+{Qay;J#*Ychsrdqzz+~KkBeAk`%Y+ zW+zg#zYlR>!)?tfQ(Q-|gaY}wdx^|eJu_jzyw_@{8D;2p*fns!La-_Y=GG=Wr&TnP zR){}G`Ql+S)(>_@%~&Mqy$KDRLEvppri(n&MA>Skv98&4fUj*zxCJWlD`7@vtlHk( z$-RiMkML5iDTx@ST$qk}45UG|1~4NYS)tSr*k!ue3ATk{m?H4B36JENpjZ8@*!6Oi z85G$eB`SFf5Hbm7*E`r`KL-CK0Ie$UzmI)Gr{LAncN%S2d)+(p1r!q-6y$Zt!iA0} zBr!*_6+d^22zs#=t0JoXvu6uI`ibhY{V~S4mxFs%D%(3m?qG8Eux*Q6X3*smtR}^% z`Q}#)Ez{qNlxG!)N>h3AO4Z?&N_kbQ>{WE>M`^?BD#d!mTx@f@ce?nFDsRhO)MRHI zJr0Lf7D#2y`Ml1HX#CG9~4j;Ocq|w+U}>GQRn96^iCwoKMHf!29sJaSFZF zN|6VR(wO>xo^6twPuIT@waH8H+c5DT&DJZiw_5v-zJ~ydd z)chGWWw<)w_DOv*@n+hT5plf3|9%Z^e+uo*aBmWkX3ebrRgJ}<-*mMh;T4PdtMTL2 zXkOu7E^yf`43kbh8y?s*BSfF*SQMk(r9yKkFtA}!R}!drBITDjuy20KwyN@4o?Og) z&PC+XR@k~^KP~RTx7-4>=iA`R(>y21lL*>>F^9_hc0ALMS6f;nlNH7*h7c{8_OTFh zVO=9Kj*A%YlXPVSgiT0N4$*O{%wyCB7kp0bEeh|Nx+&Sn^=^&c!RTq+xzBi$zh~W_ z%PIK9cF79P6OmSBirg{q+++65KjR`%EiT-dt332G_R&_ka)_n)9vyt@`#&4qceL^3 zjl%%R;hB0SVDAk}$++D%y_Gjkp)R*EH!<&PBziqlR}+ zEYiIsa5XNez=~Pj(l=ku1>Yb}p;v4CDFP^`accp-PZ|S7PsEjqvjcUi(ERw=^t$DE zC&DD?!t`IyIVkjQ9}Bv`t|ah%G2yCRiTQ~*)IxARGymhP=rqXXqR5gkzgswH%S+U) zJt{wY=F{!9&cD?xV<&AW`y(gy`tHKr^`|;i-qwE^ri><-tB=yl#;y*z@g04ED?;)F zAjFA^DPYEc7%x6VRduWA8Y!Kb|NS0iqW|bdmH-2JazQ6e#arPPeJXFe#EPX+0m-VhN~ZDkP6ZDtcHclr0FFR*{_t?&xLK*L7rud4r z=(Q!%ckQMQVm=!OzC2!#>k5XgOSiup0edfCqOl&1JO8)gE-mJ~1|G`RkYgzRhJECw zmatMvysAd%hdveI0IObxGn-FXzQ0sR<$?_BT~rM@=|=%*Jn5Ssa{rXo;xirJ{PT#Y zhJYfzyO}FaRsD~QOVFp$g(q_YS-_@N#Hj-5;s%|U`W#34lh`orT=^Mj}=y!tDkvu8_{uz?l-tm~z_ z$s%3QO|5j3UbWL-N3&5nR>V9#fVyp4wX?l&UYBC)tyovxrrc=0^-qN^R$a5Yi_bjt zCWQHCbq#`Pe{sxDz)q@QAnbdCxum~jYjAzyqH=jitKIO}1BDARPz9Ysp?&=uQQtS5!lIn<69P$ zl&tq-Z#A^p&-eLc2Y${=*8HE*X>=b)`lT`y|J(qI>j% zPD{WkHA(qvKW8+v&^i7&pE6HJC+eqFVd-{!D+#8e8rU30vk>=BZ{f!zgr~g zoC$%2pEN*LTm5F=Hw{hzSp;+Q3Ch?s1|A(~F4aba%je15I6joFw}lveyTdV52jl*` zwfBwZI7PXdFV-E*Tf!48l!sS>1SvU(CZx(fj*mk5{DQ>J9%J;GQZRJRJ<-`bSFky| zsAJ7~7_4ABsL4DWeAN6P_cv_C6}b}&x+>YvI0$SV4&SYwj7_9o(uMoK;gSpPt#Dj%qW zWX1nfC&cv9;nwZOn=4D~)>JRgus5XE;=Ua)ST52rOs`cyMTh1{O9I`2u3KlDUuJ`j z@LCRJw;4-VXs^%SO4TywC_N;@=7!>Qy-{^l;@;Zo_UAEq#M=rW1a+#gkET10cET&D z1l24>3#GLT8V!5`Y72r<-w}%H$JNm&Ctt#E3kWkC2cK?deSTuDvH!Besaf1tc3=|5 z(N={UK<$daSe>+gJ-4@3zBkX7l*riy3Nc+ohS8vFwVqi?FYy5 z_nh(I)+%)*5{9E0%X!@9!v)KA#iYz=H8CWBAornWMB}p;8xObmDfG z(bbDNW#`q!QO4-I;RPF4ET}$k6i22B+vO@c#F#&R-6EzYMe8vLv3MlH%8^7LR=v0K z?w@9VL(DaeAC{$n!o**_c}OvTpzLQ0u|R*U?2n0+fKcY9tzpbQ+(cqqz=IA;}s!;?m?(srOCB}<10AgAYn#{ZBKU`dDu9seDmH9}WJ zz;A`AF>Jng7k7t-H%@*Cxu27Pt2gj?^iSj6T&kq`68ICe_`#6aVsMjCAWu}9qjU8Q z-c!+oEUDECTeJPf{S1^_d)d^(p?izD)P<0lplXlllOAL{LHDy z*pN@Ep7DHAY}T!UJuTl|ljHPnmH9G9uRpXpAHDHGE6_{zpLWoLPj_6p*1jsUI6OOj zqOlT`dr)7`%s)PQ2`0y?L*0)BTEGl~xjj1(F6iI%@cysPT;?ZU;~LiiHBkza$h%zo zqvd=-zYO1ZkfAknI5je)p!n@?mG3_MUif|!@b1BpavKB+znta3|CF#EF5B>XCUR*s z`*ScZPP;9|qCMIwD7^UVvjh{{@~+iyl@A7}0Cy>_nRz{AFZ_&$qsS%`DpEgw*@Rq( zrwMPjBwrg=OfvI2QjQ$0@no?#z3WQL6SqqG54O=t zC&+p+^eS8fGIh994P%mQyAKVS(G$PO0m`fq_yTcjr2$rEsJr#`W=5f0(>V+^oyMFZ z?~Mz6MeR=Z_tIG|G%G9ApV-M@A@Am0t-4Dh^*u6|Mjy%F#CubcDCCx8D`8K{K zQ|l_Oy2p|w4A)RCREP-fiKHWxwZ|o=(o}yYUDl+Dga!sG@nD9GEAGXf!|W#wB0G-^ zUaP$JD3jp{t=!5m-jgtLKuOt;XqERbQ8paTjO1`Hjw&d+p+MjE#|+gt>+Mxa6EGYJ zMxF*x+kq#ZWP4mreY#{l*zZPpRx!LFmInf;a*ry5n~j|si`L)m`7`?>wHtn?EqZN& zE;I(X??|p`Fc#@4Is`6Z-{-oRXzE%cKhO8P_RQ8(!Dx_A1*m)tVaxIO=6>&6*%LZA zWfuM;cMQ)VBC~~NSa6U}zpHlC&T*t$pV#=SLgiOK8M! zpY-l}UpIJt!$lgAxIp{phhguApV@Z^X6}{4)QYl+?P-Y5UVv3t6ILbVI2>gcV-po(O`*36 zKG@zB6ceQi+F}Sik`F=7Nq?B(-1pF}xHqa&B13YOob}U}(j=a`5%4X`Gs{XPKr1ZE z=H9u%^pFS<6R&0RnAfy8R*xMx-vf={Fu zIDIn4#CyV%Que@gBV})x43nGc+*v%|>abDE1%mBdBmE|(qtUD#=JwQ_Ye8>_nimt! z2`EyV@d4YnP;$D!<-9<9r`Mr?+fv?_XX7V2c;k*kqux!Fv)l3SFX$X3_FZ{PC<^*% z6W<7+i{Q6m6-|N8;xz-<;iNy-L|=C4WJb;JzKEb+`Mro=z%C?wH!b-WPY!a%it_+B z41uVA3g3+DUmC~@+Vu|FT?{&0G&|Xh%R!sV!M4WHGp}a(J+kHLa2C{DtO{}Bp3~3% zup^eAj7$p+^7q6($Q%!WO72Fc#=NcrdhYApPV8R5z3 zam67Fm(8E2RL3ld5moFnpD%5gwZL?n=OzUO_zq5lmBm>G`ph*-0cmemk6o~0H@?SA zh&!4gbAG0@a>?O>ELToTu>?NBGrmX#NrR=xCl6J=L6;~SSV=LG*lrJ!O%qpp?2)p) zdbJGYC^u_nF9pYVN9y%OZ`!B#WW^zA{X|FXQ`erOqK#9shkuT~ttz?qrKV&jG0!0& z40rb3z(=dSIVlnJSRlUg@U{>_lUZ7^YgQrrmOnovL%5iYXItXcn^4w*DfG}~@y_HK~L6cd*|F9bo`o>VxaSyi0vs30?1!0yCg?_ap zua3^W)VYMQ5Y6j2mnMO6I~Rtdr*sCv`~ijgxVHF>*PBVVy<|YoPEug_na2UM0KWV; zW;(mNOX2hDTzX974$f-FExFaLD_NA7k0~@wzj$t&gq4 z#q84df+2qU4rTKTuve7c-PW61o~`Ax=~DVmeo{zZ=lT|kR=}!WSxEEsM)qk$#Jtrf zpUs7?7$C{gpVcY$;a5Hr62`#3%cYb78>x`r_+34XqXE&fM#_x+K_}RRSBF3Ez-5Q& zn{gi>8INLYzg`|$h}gov*lccHst`wUKKs#xUyt5vcq=k&I#Kg&paeBBYYp9bDTJwQ zz{VJ5;@9*O;tm{+ekaHVZr{hWzLGU0|D8g`^iF_hWoFaIsX3sFw3x^7$!Hkv1=GIo z(?kD&QZe4Q-e+g_W=t<*_BUz_j>0t31GZke1pOT6jIY96`nKT!k#~bpESx(!&ZMLT?5L~jgk2ZBv^6idL zEI;RPw>i@oj7s^v;hxT+YN`({eoty(`ey#g8v1)CohQp3Y?o-bpJ)0fuIx;@A$}Le zXZGT$rce)X)Y_$vz}L+CKNIpYN4FuU4T24L^TpI&&hC-d!b&T^vcPRh7T2v54}<-d zhvxALHebYKJ~1QOqQnJRAEvmTN&uQhwvd5@EAQ`7{NSiPLOHl1m#jq=C&opLht@M7z)-nVd=_Zt zpw2UbrQ(R>n69-teAs-CENVT|pt5l%9dR_>63*i9K9If#BbN=F-CS_!P4j7=N-IF~ z!PF}y@697Nj*7S@w9Cp-H(nVtc00<4FJx;o)`^1>Iflm$hAq)Mr@4s6yf_W27iQs9j&e*2=ku1Q}2*t z0#om=PiVvRm%yJ^YlaVbln1todj?;s%KF|5Hw_eUw7xgT`9Lp_U*GKBSuvnm9|x3u z2D3%AnW4Fb@VKN1D)K8V2*QkyNQ|%Hsq^cOV(#n54j;oesSX^P?J*KC1*#YhdaTs@3PkD}(@3=r>Cw z{j}F7%sY`BkHRoFJ#*o~7IldSIb0o$K|_*uZ0ncMl+&;J$nAK`2C4fwNLED_``tyF z@XHPK*z2)`o6rfUC}iV1CUC27@-2aYWOtLjB>-pXOrxvux&?3N{||wW0^^4LpMvD> z`ho!pe|l|=xeilR0knlU&D7&+D1b%^>4th3Za^SUDPBDR=lOu0J*A4CVs^zHZ2d4b z;)T{w2}ADXNS}iQ#Fp``LcfT&3J))iiWUZk>wK5$#xAHVkVfv^d$G<`BBSS#qWV>- z3@nyWU|~yru|_>fyG@Sj!{^AmgzdnP;fD=m{U13m!)dMa-qNR3MxQon{5C0FaLbSK z2)YKSI7eJ9cmA4z%kS^{EWC@MY#i8<_=)Qqm99_jl1Na_G(!JLrbvfax zLk=?an}$A!C0ksLW8skjBIF?9@+4bO*limQ|ns1a%o^B6B z70u$noS7mwyZP_9fby{%&#tuKLBQ;+d7XZYG5@`2_E(bQWKB?@Lz;$ZDt2DZV-@QI z5+=3{p^p%l|3*}xbep_?8~x?AF=9IOe_2JUK_3&(VAlBtQOTD$`o)azh<2#|<3{G$ zEaFgRZp>~}mhHiBJu8XLgHZT+^=2TnuH~0c#+F$mU0i9wrx(76TR;4FXO&g&>Y zfXNVKqehk}kQ$=tM*>%=L!4LtF;M~*s|}lCXH2!QCLGn{svIj<5TQ64{?u(HwPloA z%142xnQz~^l;=wNW`J{B&%7rg0e;s^C_U_!6O&4n=>p3#Z#i08-I!@h9o!sgCIlv0 zb9U#(Dk^l&PBU<@w|C?H)W|X1&r;$H9K`ioL)RYV+dt)y#N$|jGrG!Ji1{KO?)5nQ zj##$a010hB3|ZN%-&ak)!gja*eXfc_B9uQ>80dbC~?aY#6QX;X9MGs%*-V0+(E( ziZ^mLqM`ZvJEKT@Jfdi=-Cp*QDYTjhl54A=pjkE+)B#F#0+*oeE$z0Pt&!FVHV(u_ zIA%4ZEKS1q)ME%T{iD7N1-?>`Kx-%`UDXnUi^%=?7uzKf4IFUnH==(bambM=L)2`6 z26A;Hhe& z)B7ihCt>}zH6q26M#%T=dz?O4r}T`v=6!W%>2TM`=atQDVdJr@b;{}a9D}v(&^UXa zGEaqA`Rww-HTt>{*r8)LC*K-(gdO8Qq%PS(BM;^9SAFE)0O!lRY==D9C5XjJyaCli zg>_ojeJ&CGod=Wdy(Dk`tk9{++fe{0ru^aXUD(PXu(wG7Kz7$`4Y030^3P3Z&urht z-pD);VU)0;$`s{D+@y%omIUVcLBx&dWSo<4{}0ixUj%%k)%U2bd@e)YxL<&6fMy)zRQZw3c~7j#A?*{}D}Q zYIB+44C)M)-9xzm7cMWt{iffbMm2DOq29+%rs?wHEGmx>nZ8*~Ux%94(;Gf?=q_N- z3>UibU~Th=bi9mcd?Q#{_GZCnCzEm%COo9Qo!GrRbi;eC$hdejc6N~#(KExUt&w;6 z5~>WLjka#4Vuva9O6HGJq}D%*(b^q;g-2W8J1@hX&A6|T_Jf^0@hz%gm}2OuR8E|B zG-f2=k!j&!Wl|=OWj(omvB4xw{3MO!^UZ~*{X0&>0dGkXQ*k`bFrap3$Tf5G%o3D? zV6Nt5*uK;QPCfSL_RjCrU3e0fBSDP&L#i-o&ZYD!22FEx%%PU~o_Bct$Xi!C1E#O~ z0<25U9#yF*uUV+btp4yIL}o~oh2N?7Vhj*UqXrh0w?2aRqEl4%r{(It70|8lEKY|M z(lggrTM%}9^S7rG4Bgk?u+NA|E(uHX?1}8FM6l-~mObU0=^flgld_lB>TP%+^-fu* zc|E!4wWA*wU77V-1v2o}Ry>qx^-Yg0cbNaS*Pol|DUz~>ii`~6h#g+?fEsMn(i1}$ zNw?<9whS0tKseO#i808laNhHFLn0)d;6OLuinp&Hq9h+!xF<^B==0lC&sK!n`si0{wYhc0*1D*4*f=n~$mVD}M(}vT!1fx8fd)2(rVZ-d+u~aJ4 z)^90jvgJn+i2y~4C+VUJRq=tBL#4Mi6QW&=)urdp?Wg^(n~l@6;*>U3AV!_)h-($s zT^50@4@4D9Pe}?CpIKisd$N%E#RqLZZE&hsTDW` zUAsd@M=XOCoBh(t%%EMS7MEao1s)VT#kvReQv83aV`$|5`Am&HJmoytfu@C5qx(;Z zJT*iAISIk0F#Zx}H`0wiW{gJ1GpWnF%E;#KMtj^<$ahGjE9-es#Nsaly7nSt+#@>D zyKuh0Wv&ZoIK1^JNQRkSc3iwPy?D7c&S`La{pVNj>j)>f;vI_0G87MA0&Pz5e22h% zvaq!2$Gba_rra|&JEWIF6DD4)rp4eKX<1I`obBPL>!KEfE8Z5yJ8(;F*w*Z<0DOV2M3Dg+4G*TEiy>7*K z_!AL`n>sRE7o?tbrU0hiv?0(yP^k9@ODt0Fkn{)LUuukqOH^4Q*S}9|s7C=r6+pP; zXi;AgYkTyF^sSF74__uY`Ozy+VJ4#A1NX!PQUQJDaULIl}Ylg?l|Q+o=ScQm$i5$-XIuu zAQ-pOkcFE51hMs>Fn=`>v(*j1RM-S;X{TPaKH^1jEHraV@8xXSFXu>`rT)eM2%2Tc z=moBdPnH$kCC<)Vql4Sc5)`wofc5JA9NhhtY`s^|VZFAAd_9qEZYD@>8JR^#CtaD?vm9jQ zYNTQEO6o?Jf`tlHSQga1rS|)__0z^QsncC$lWb<~sSoKr%Il&FH?_mmPXU7K>cJl! z?ljgdumv48%5LuRp_Y!`UAJ6jv0JB7FY4Jd&a)^Aq^_aDlHKgpqZah@w>spO8T;ro zdhgz{<0=%R1BNpjV#5QS}x_I8&ov_?-%g!hL5O zC#MKwMTYvglvDaU(uD_;*mBDzyPPJ zIkEL*uZs4~;oVPV+*0U&$>3nU&AGx>WLA;l{UYCb*+CuB%J2wkU^+ydClCSR1d{P~GxpOp{-q`y3i%qyT>}8vV0LIt<=&1eXw+$-uFvYt5N1P%u0UwY*1BM+_+|^RrmU|gxTRJg;A-=q~n%rl{K>7 zfQRB~;A>woTXXlQY1MYc&3lLMWh9KZ%j_1*NdOj2axw(QaR-#S-`zZ(w>AMVV~Zjj z%iVk|KXpEG%t%$xz6R%$vK&SYAWPJXnnGb;^0sdOGw_^13o-DRfnZv+@b;Sf|Abq@ zr!Ynt`lFRsY{b<@?^>vTU@Zu-Ac8da6%2ItiX+6-Vdce})TOP3+M%;LWQsPx96-W? z4Lr!ml)@Dx1qq3RXaIE%Wa@i-=3GDSP0(B9yZ zgB0*z=dK1xGfWUrzKs)vTs}iHH$m_*NK|&-G5gJTM|7| zX=nAR?iexW%tW0Kbm^Bt*HD+*&3J1z2_F zM5Tuzwq6w)p8@w$2dL5> zqYE|fppFy!yE|}f*Rd{$bh)<$MLY2p0I}3(pcd!42T)t|Nd}lKoVe{{Pl2YAh|%{C z=jp%Alf{1j$K+KDo4rVtMsPrNc7x6f(e$y;_@3t3E?t^eZvvr=$D94n7_y2)hf92k za{zcXJX@}}00yz&z+#VG2|%1v`$L=qumg`HoTMi=5;wI-MC?l1fHxnt(APi+uMcNa zgg|V>G{fNroaK{4(4!l0e&T51t7waHdtlhVy7ONO`zsBh`0S@$qJ)Tuko=NTT^}K7 zt;$5B$nN%ph!AH=Cpn80F{Jg+1ZO9uNMv3s&%8gjB$hjT35%rl{TULiK#BG4({m0+|*5j8e zQLUKOEv*E$h2GnmTCBONRU|Tk`j5eR8$T1i0G%qLvlAJLHw;a%Rr~Wf0zdYe(5org z{rXnQ;%7uf@~E#@#mc{Q2|h85xFqGZkY&3va;FwQMXEc~FLzdN@E7PlW_UjpjWgpC z7y8X%d%QZ3^#hEx1Sklrex`D=vCFYQbq!z;!D9ht`yZP?0A#+(H^ci2Ib4ovXL5qR z)tFdiNh&4w`4HZp?CpfyoNVu2@>Zgu(=|kpZ^+QlhJ)jU`+T5Qwb4yay#*Kh4iWax z&_Z9aCaws1hCjI`L4LZ5qTn@*(uR9aZ>nR%casz11{^xn+Uzy`+5Q}1G9&le?l2FRt zwn^Z?N!(8gQaskPOqnrz&jJ1d*8uKZ5U4SmczkDcUS<+kaOX3^PhKK38~}ko{ImZz zqqUmo@Lg?w*ajUr`sZaH631*&FbbU%udyRyWOs`fggHgzvi}(dxcjZ=_AqX~p`QsI zM?+_Sxx7t>c!v0Y-Eq+^It!m_J$5ue54x5yd5Eavfy4ZqDkIm7C`6Tn^s8?TpGIT< zq0vVS=V>k7TLIefdgq)-NnrWuktW<3E&|+_DqRMO^b~Vxi|J#4%a@pIz~U zubWD3kb|5Zrms$x;AOwp(+%DFviHS1=*zKtPC>v0Ibuj@)*ng(J8vkza3J@yMTi3bgRg$d zxjpUx;@Bj4XrC(E`NXH2y!EnGYAS?ZI&O2r-dDFp>UM8gal>1$g6lrt-Jj^bD?T%k zrt7WN?W3Fco}^C6ceni?{=0nzCX@fZ;7J3Cf$GMMo`(h*gRgND|lPi>V!4T@w;jRWWe|&c(vj%ReM`n+@V<(VSKL zY((V%Spt#AT(yC(;t$79;m^Of`#kz?Hs90ILgU9CXNCJpihqL)@?`&)(L{_GlHCc7 zR~=i(p(@*s$R?$Dcu73Nk;!Q6QGAh^%_zD5(=d#&L9i3EdThO{Gf{y=virx1$r@;& zbTrVZ%Yh?7E{sC&>c%osTT4$|{vUkQK%M`os|Vc7PDX)1cZ%U+zN}p2kU8be-uThptyG<=f=9{lI*|QamG@j1|NSM{k1#O6WvAO3&fXL zeq8X*TdmLMkbQnUk|^Gqq`(RC#@$pFY;>=SazyeMJZD2HEn0tKZ+UcKTunUxI$ZIS z&GCCN6_O(r2?loT)+t||_544U9RmOf6sV~+rH*OG$_J%+9 zB2Jx}q7Q$i~TFx-g z6+G2eDfx2NPf`L)^Hk1?0OuBa4IW(4Y`j=#=!gTt>JcAY2BYjUyD4LYQs<3 z3kVgh%bd73z*(<^AaFHCT5Cl{7aZ2q_CKm#)Q-!t3*G$_Hr!mi>Kk+xHt+}0pS~?Q z*R>QarFCDJ^lgxNq864*Gucj5#%@|yRfCRu@h$D*98dmIWTMoX*>g{Fv(^zl(jk-6 zBx_aiN~i6E0YW;EOM&~eC|1Ijn71%z0l^Ow1s_v7`A*M&c4yIA9(eS}Nn=XEPd*n# zT@&7LmGfM75^iD>CSw0Hpkm@A3glm#HGleOtU{?)i*iu#XTOju%8(Lf){uTWxZ;JZ eZQRl6ZU#Pb!+E-F;D6PeQc_TVR4iv2{C@zXXCop2 literal 0 HcmV?d00001 diff --git a/model-view-controller/etc/model-view-controller.ucls b/model-view-controller/etc/model-view-controller.ucls new file mode 100644 index 000000000..80e05a730 --- /dev/null +++ b/model-view-controller/etc/model-view-controller.ucls @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file