PNG  IHDR-PsRGB =tEXtmxfile%3Cmxfile%20host%3D%22app.diagrams.net%22%20modified%3D%222023-12-16T05%3A34%3A01.043Z%22%20agent%3D%22Mozilla%2F5.0%20(Windows%20NT%2010.0%3B%20Win64%3B%20x64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F120.0.0.0%20Safari%2F537.36%22%20etag%3D%22MDQvV2y8GY47amzRAvw3%22%20version%3D%2222.1.11%22%20type%3D%22device%22%3E%0A%20%20%3Cdiagram%20name%3D%22Page-1%22%20id%3D%220UwaSBy-VYHuci59MrtF%22%3E%0A%20%20%20%20%3CmxGraphModel%20dx%3D%221050%22%20dy%3D%22522%22%20grid%3D%221%22%20gridSize%3D%2210%22%20guides%3D%221%22%20tooltips%3D%221%22%20connect%3D%221%22%20arrows%3D%221%22%20fold%3D%221%22%20page%3D%221%22%20pageScale%3D%221%22%20pageWidth%3D%22850%22%20pageHeight%3D%221100%22%20math%3D%220%22%20shadow%3D%220%22%3E%0A%20%20%20%20%20%20%3Croot%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%220%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%221%22%20parent%3D%220%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22VigAjmQcKQ6E3a_h6H0I-8%22%20value%3D%22%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22VigAjmQcKQ6E3a_h6H0I-1%22%20target%3D%22VigAjmQcKQ6E3a_h6H0I-4%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22VigAjmQcKQ6E3a_h6H0I-1%22%20value%3D%22User%20Interface%26lt%3Bspan%20style%3D%26quot%3Bwhite-space%3A%20pre%3B%26quot%3B%26gt%3B%26%23x9%3B%26lt%3B%2Fspan%26gt%3B%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3BfillColor%3D%231ba1e2%3BstrokeColor%3D%23006EAF%3BfontColor%3D%23ffffff%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22170%22%20y%3D%22220%22%20width%3D%22120%22%20height%3D%2260%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22VigAjmQcKQ6E3a_h6H0I-9%22%20value%3D%22%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22VigAjmQcKQ6E3a_h6H0I-4%22%20target%3D%22VigAjmQcKQ6E3a_h6H0I-5%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22VigAjmQcKQ6E3a_h6H0I-13%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3BexitX%3D0%3BexitY%3D0.5%3BexitDx%3D0%3BexitDy%3D0%3BentryX%3D1%3BentryY%3D0.5%3BentryDx%3D0%3BentryDy%3D0%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22VigAjmQcKQ6E3a_h6H0I-4%22%20target%3D%22VigAjmQcKQ6E3a_h6H0I-1%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22VigAjmQcKQ6E3a_h6H0I-4%22%20value%3D%22Application%20Logic%26lt%3Bspan%20style%3D%26quot%3Bwhite-space%3A%20pre%3B%26quot%3B%26gt%3B%26%23x9%3B%26lt%3B%2Fspan%26gt%3B%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3BfillColor%3D%23a20025%3BfontColor%3D%23ffffff%3BstrokeColor%3D%236F0000%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22320%22%20y%3D%22220%22%20width%3D%22120%22%20height%3D%2260%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22VigAjmQcKQ6E3a_h6H0I-10%22%20value%3D%22%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22VigAjmQcKQ6E3a_h6H0I-5%22%20target%3D%22VigAjmQcKQ6E3a_h6H0I-6%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22VigAjmQcKQ6E3a_h6H0I-12%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3BentryX%3D1%3BentryY%3D0.5%3BentryDx%3D0%3BentryDy%3D0%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22VigAjmQcKQ6E3a_h6H0I-5%22%20target%3D%22VigAjmQcKQ6E3a_h6H0I-4%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22VigAjmQcKQ6E3a_h6H0I-5%22%20value%3D%22Data%20Access%26lt%3Bspan%20style%3D%26quot%3Bwhite-space%3A%20pre%3B%26quot%3B%26gt%3B%26%23x9%3B%26lt%3B%2Fspan%26gt%3B%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3BfillColor%3D%236d8764%3BfontColor%3D%23ffffff%3BstrokeColor%3D%233A5431%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22480%22%20y%3D%22220%22%20width%3D%22120%22%20height%3D%2260%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22VigAjmQcKQ6E3a_h6H0I-11%22%20value%3D%22%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22VigAjmQcKQ6E3a_h6H0I-6%22%20target%3D%22VigAjmQcKQ6E3a_h6H0I-5%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22VigAjmQcKQ6E3a_h6H0I-6%22%20value%3D%22Database%22%20style%3D%22shape%3Dcylinder3%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3BboundedLbl%3D1%3BbackgroundOutline%3D1%3Bsize%3D15%3BfillColor%3D%23a0522d%3BfontColor%3D%23ffffff%3BstrokeColor%3D%236D1F00%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22630%22%20y%3D%22210%22%20width%3D%2260%22%20height%3D%2280%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22VigAjmQcKQ6E3a_h6H0I-14%22%20value%3D%22%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3Bdashed%3D1%3BfillColor%3Dnone%3BfontColor%3D%23ffffff%3BstrokeColor%3D%23ff0000%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22160%22%20y%3D%22180%22%20width%3D%22290%22%20height%3D%22140%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22VigAjmQcKQ6E3a_h6H0I-15%22%20value%3D%22Client%22%20style%3D%22text%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3Bautosize%3D1%3BstrokeColor%3Dnone%3BfillColor%3Dnone%3BfontStyle%3D1%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22275%22%20y%3D%22328%22%20width%3D%2260%22%20height%3D%2230%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22VigAjmQcKQ6E3a_h6H0I-16%22%20value%3D%22%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3BfillColor%3Dnone%3Bdashed%3D1%3BstrokeColor%3D%23ff0000%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22470%22%20y%3D%22180%22%20width%3D%22230%22%20height%3D%22140%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22VigAjmQcKQ6E3a_h6H0I-17%22%20value%3D%22Server%26lt%3Bspan%20style%3D%26quot%3Bwhite-space%3A%20pre%3B%26quot%3B%26gt%3B%26%23x9%3B%26lt%3B%2Fspan%26gt%3B%22%20style%3D%22text%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3Bautosize%3D1%3BstrokeColor%3Dnone%3BfillColor%3Dnone%3BfontStyle%3D1%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22545%22%20y%3D%22328%22%20width%3D%2280%22%20height%3D%2230%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%3C%2Froot%3E%0A%20%20%20%20%3C%2FmxGraphModel%3E%0A%20%20%3C%2Fdiagram%3E%0A%3C%2Fmxfile%3E%0AG! IDATx^ TŹwfaXd踡\r1ܸ$7#e1`KL!,%QLԫ\@Adaa־+g>uIS[է'-4sf7E.</>o<x_}9׎otrC\ '?bНtxk%G@Ā6H#*0#0#A'̄M+nt`b`#@J-KAAA@3Hf@ 13Wb']  ZG06k<,Hg@ @f"]MYX^I١GA[txk| 0l$<ҡ>O@B s НtefA" & &[b@@ l$Ղt @f~h&G`@b0@{{c@ % 䠠^ I6Smtmtv/ilh.P(Di锑EY9_@i@`*>*FcrIT9z݃t8-D!;34)F`ͫ}˴sT{SnN6ez(++(33233)##)<B_QooPwwuuuSO_zBiAGiȸI4OiӸsfQfv԰b/_ R7ljOglA('=D/Vu?z{{ک/ӸΣ+|r nRԇ`E   YA_YMU07JJ7 Ί>jSiߡg0KP@L؂zW>E9TV6P,xKNC} [b|e=]mYXGU 0o1r Hj.s^1NeH10,ëg?J#m*Fao@Rf/j^97J^|ᩇhhE+;} tM i75geychuZ(;56[QMc} @;HI:tPjӇ6l@nHGK}-u04ip 9G5 t}=ec)1UnaF߯C:=~^5PHWgܒ~6=0U,,p͸~ysFRґ*#l?C13=CU %/ܮCTTTdo͇|üX^1g*% 2SY:t(1tܒN*GPFF 1k-J[H=JL}Ya|ЮI"H"(sE:B!yd:UWO)5aoذ~| 7W@:9wJY:3;M["Dt4:ubJd:nt`y[o7tI?m+K eRP&˂nJǸq#SbOGkjҁ|4)_kҡ(1`OQ7N8aH޽Hk C3PT'(KbfB+CU )u.ڲeBJ{:䷛A:Bi5ҡVz)EACK)CTR{{})żsGGjҁJ\S#%N&=t(i17O2Uaê|J0vg:Xpz%pk 3NC13!C7Qotч~Dyy94|xpw|q-uttҘ1'Rzzt`y[o7tI?m+K eRP&˂nKC B{GKO8axpfcqxTt/G kWt(J #S ! > :*+} 'ޫ2xpE!Nt?A@Y:3ʌ ʨ\Kyci]?KKK$,4\gWW7uuu$GbFAABQg"eDHG0^&p{۾# DGQ:zS   .', ,",$RNrJ2#H^^ HсҡPҡ* ~eә!pNVC7EAC7xopf<W?(/FפCCOA:8H3 #P(KbfBw z>H3,^Y^O??L趩tBZv3iWVrW*#ۏM-1V-Ӹ,Ks4;Awe~>y>ni&]̥Lo]FAC>s.q<ZwuO=-__^X`h9Ɠn*һwHi^p?W=f_W' edQz_qvit嬫fZ6q'N.:utӲ_/TFgFQY:rz%hqJqƙJ<ۿ/{ZeR?я[8wqKZUX/;w,]ƿk(cb`Yt$xo^閎O3NK_@JX߾BgL>T<ncbv'vnFSH鐙YΈ̙\DYit;D :$2#M+FSNQѾ~ccbz YgPw_Vni%YvѼM1|ciD]}!*>\́T_fu81XkG~Sl2qv[}r~̞=,Yr|萎˷@ kߡiPG]|WDRF:ppnmusQ{M<}TCeM,Zq]LShzfӏ!Cy]GiKryqL`4p1p~Y^92+ā2p~~Og1.]1>?:_BJ4z#0ƌ Kecqp嵚6?l/_'.Ay"Xk(My{hܹo+V;Cgo~t)&2EcGШk.\ CC?dP)?d ( ~=ʔ)B,H1U4+]aauy네4c2~s,4|%xYpz!\75R:C2HtLkoL~!7 1~aɐ+.$$ZeϻRd8*&IO!#U3lxyȸ/*'QzL1F9#(g>KC/7[^1JCWf3dvøL|r4R`|(c^``12m~>ھxҽEqDfCIQ\\L }II ;,,17p; Hjył3,-گҮǟ~ī/bdkΒxsqC'}?LdTbIG{p2&)*CW~#X!2"RtdϾ~ >Pqö+8Ϳ|<Q"r CfuF)0JG4߃ gAxoǗzZ-Xϳ4TU!ܺ-k3oؚ̒ceśW Jt-gWK9;*c1RΎDfI6I\"<9 ]!R:"4M+W7`Y:觟KI2{:K2و )ƍcף9׊,AFPMm%X"dU!zq~q& o&KVEϟt?̫'^`X-"ˇE&%R"dxϏqRR gQ&Yeƙ?Tsvn: Ѩ{eyE.+OD~ۗ?9)|}X'^"Oc9m?V#Vv{e:JKKV"7>//nv[tD'/3W>oYĘבHF:7to$57{:xsl|=Ͽat#ZfqLzU4f842/1 KKrO䞢zML5d:bWNG'xs'QJ'C"<kIQ$"qHn}bx1Y#mDLqE*~ٹZq)r?!rȼyh1->gGGG?ِYw(oG3{:uP9L=g §VX2!#4J+S!,gMu6 N*~ȍNJ<",uo;eoFn$O.;o^tzl9-fr cwN*PFB{Kl-/2j8CrqX.X8a\ΉuE唊1ncX':^5HGՉ w:bшWizFIz;fY}tX'Oӑp=܀1b|kկȹ?aT5PPb^yg 75K%N/U[o?=tȪ-7N~iExINvZWHʞ7_$+( ço7ÆtI?m+KbfB7)HnުOƇqQ:"t˱t8b re8qWom/"tp*uqҁoA܌&ත,{0I)J C/ z]:䒇1`ltLDTYø(K2}=ݴŲgU>uc%\׌'t/G kWt(J #Sa,t<*يx5)7LK|{9Փ0`l)_t(f&B:Q#q9^GtD{:x܇uly~38Q9T4~* ,'h8X{:K7 e:䷛A:Bi5ҡVz)EACKzM:NAbfӛ4hܧos7ucQ3/hXHW 0.ؾ +o`, xz% StF 鰇kt(t(i1/IO* P„BF;(KbfBwDUÙP,83 ~hQ_ҡC@: ÙaS^qf@ ]EtoNYaVe!K+!);v\Y:3B:Q ÙU,83 ~hQ_ҡkLnުx(KN83 ~hQ_I"*H"(t83pg8HG3Q̄A:tV}gCY:̀HF1*K eP&˂HG(D7L)dHҁ+ 5`۽rM:% }Wn;&Av{̣t3JTig, !ʨ\-X~i5v }km=BGm7+R#UF~*K%U[ϖҦʁbC4h_@P(R)6YZ]Re|HAAȮI"H"(sK:Zk鮳ѤI(''ۧ좭[?%GŕC/zdVF-Њ+Nh?Q^ `x㩍t~@zVҾ4RN},ՈR  =5$1`Jxuv,7G^T굢$X$[:tg;(LV^3:먪80PZ(<*e[ط@G@tg& ~;jݺztL\E9F +x4Otaz+y/o D 4Fd]:o)]p ǯ|z%p!=lm{JQii455Sp2]>>6锤bt$h!̄<.*.ȡ{{uRQtMwſ ,IDAT .K>>,$5h {$Fà XTQ5 s3Ľ.͇jOS.4v0`#> @ Cw}It # qG-t IQaa>?g?NGSg_58@'J}::/RaYY_tXg+@l ;3aPښ55/uST\VN9ٔꡬ,΢ 2f0>e饮n޴L:E-rX}ƹ4~4n,*()X^/jpnqhmTsC:sKhmvꢾb`HȤl˧b84z8*GO!X?a8TDT   `Na%@&݄̄Q?O+"?=FTaAbTI8GIc@-$OґB@wf~W4 @nZ-T FT   `FaFO pW ރFR "$[:tחNf@Q@btg& ; `yN@5%Ƶal$ x7   Y "D 6Cރ"`Hy Cw} @ >@A!;3@?D+AM@ L@-H#*0#0#A'̄M+nt`b`#@J-KAAA@3Hf@ 13W[^7Eǚ]7;7G#6ѡ.    t8@:0@@@!p3t`8Bf4   ph@@@ҁ9   H#s@@@G0H# `F#   G@:F@@@ aw}7u]?ct5׈ko=m6>}:Y9眄 vtt6%\..g\{"O>|I?~wFdt؊w]ڳg ۷Eꪫ;'(2qD A@GV\I&L_bFA?)///5 @:0!D,s/(n&/)3 _}]|%K//}nˈ߰ٳg-Rf͛'=$ CH=߂J!tz"KO}'R2#o8yx@ &)\(oZY^) u] 5C>Hcz*\,ot*wØݐ7 ^Uiu8@ ){ŤHDRSS#^/L.ry~}ҥ`Ȳ\z .N#i@?tHQ @!/X%`x\|C/tb|k|Hϙ3/^L ._tJiRQ^/H^-=#z!`ӟ$_WZuXȆ}K,%%%<K*mCEJ J]Y=2 O iIENDB`