From 9f4149177d8bcc0701a37084898ba8f2826e1e90 Mon Sep 17 00:00:00 2001 From: Olaf Joppe Date: Tue, 25 Mar 2025 16:43:54 +0100 Subject: [PATCH 01/15] Update projects-api-v2.md Removed beta tag from the API --- content/en/docs/apidocs-mxsdk/apidocs/apps/projects-api-v2.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/apps/projects-api-v2.md b/content/en/docs/apidocs-mxsdk/apidocs/apps/projects-api-v2.md index 5eb78336097..622d830a413 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/apps/projects-api-v2.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/apps/projects-api-v2.md @@ -5,11 +5,9 @@ type: swagger description: "The Projects API manages your projects and their teams." weight: 100 restapi: true -beta: true +beta: false --- -{{% alert color="info" %}} This feature is currently in beta. For more information, see [Beta Releases](/releasenotes/beta-features/). {{% /alert %}} - ## Introduction The Mendix Projects API allows you to create, edit or delete your projects. From 90aa81088a72d4b86574e0fe35e056fc352b84a3 Mon Sep 17 00:00:00 2001 From: Olaf Joppe Date: Tue, 25 Mar 2025 16:47:07 +0100 Subject: [PATCH 02/15] Update _index.md Story Archive page was removed a few releases ago --- .../en/docs/developerportal/general/settings/_index.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/content/en/docs/developerportal/general/settings/_index.md b/content/en/docs/developerportal/general/settings/_index.md index a6ee58b2b7c..1e4a77722df 100644 --- a/content/en/docs/developerportal/general/settings/_index.md +++ b/content/en/docs/developerportal/general/settings/_index.md @@ -135,16 +135,6 @@ The **History** tab presents the collaboration actions for the app. On this page When you select a history item and click **Show item**, the details of the story, Sprint, or [feedback item](/developerportal/app-insights/feedback/) will be presented. -## Story Archive {#story-archive} - -Once you have switched from Mendix Stories to Epics or Jira, Mendix archives any work you may have had in Mendix Stories. You can review your work on this tab, and download it if necessary. - -{{% alert color="warning" %}} -Mendix will keep this data until October 1, 2024. Until then, you will be able to export it to Excel in case you need an offline copy. Mendix strongly urges you to download your work before that date. -{{% /alert %}} - -{{< figure src="/attachments/developerportal/general/settings/story-archive.png" width="700" class="no-border" >}} - ## Read More * [Leave and Delete an App](/developerportal/general/leave-delete-app/) From 89f686b18ad03d740d14048c8a984488ff2deb05 Mon Sep 17 00:00:00 2001 From: Olaf Joppe Date: Tue, 25 Mar 2025 16:48:26 +0100 Subject: [PATCH 03/15] Delete static/attachments/developerportal/general/settings/story-archive.png --- .../general/settings/story-archive.png | Bin 65752 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 static/attachments/developerportal/general/settings/story-archive.png diff --git a/static/attachments/developerportal/general/settings/story-archive.png b/static/attachments/developerportal/general/settings/story-archive.png deleted file mode 100644 index 38eb93d6557aec19bf48019c82fba0b5801d3b3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65752 zcmeFZbx<7L*YBHz5E2q3!F31(cO4vp26r9Y9R_zou;2+cxNC3*cXtU8Tn2adVUWY~ z{@%Cho^$j3d#i5Msp_uoX?@Gm-vh{kh9O2PRl_xjuU){7g#hv#R^^gEW*>Z1MSCfTrfR zja-vY0bdf{(MhPH3yh|YuJcjkvl~gg$H8HJzV-FX2h0I7f=}D2hN04NLC6WZH+#ED z>4#DR(9orzf}6_8thKgZ%fEaPrF%NoGi3s3WDqzr^$T*czfU|t?MeJp1r1g+WoasG zCEj6QUw{AW^lZ8m1fj3v{`=miQ-tL|k@cv{mvC-sy%ZDv+w@G?rs(~@oxkzrg|f|N zzm-b9_+L*JewjO~OoaLT{a>g4pHI67e@^AghX2+2udlyU=5hUt2IM~|-h8Qyrzn<7 z!u^-)|1grV{TH*u$Rt1fFrt@KPhn&HyT;^XJqh#wV%B%zsDEUOD&aEK{+nk1+%$}_ z=3mUh^e2`Q4l5N}u2r@n;k^Ui2vIjgrqr&5m;1f&gXV-s z3lVl-*lfbv{Y7z8-o)lhia{USKYya4lDL4VV@SRW8DIBB@!R}QMYDypFSqzO=headf?T-})-Y4)aM2BW2o#~68 zLVkjae%Gb-)q01*#~;UvUbkc#Jn!!9y**;r(_>bv3Ot^VvxIg$4i7Ot)-Su=dvnj$ zd(aC$91s;3>H;2sRx`iSjl%@omW|#KvrP;h`yDlrL=x%lL9UtGNOn@b`d%qvw0ZG@ zsWE>Y*N1R>xe47~(Az9mk>F_*1)8UO|7JEcPgy}5tewb{UTMQv3<_tWLmF(|W#7K- z{KI;9&pLU8w6t&U^BoBVqhroa@c2<+x(pV`XLpY>Uu}hpzmdul-OVC^eD880R-z3h z#Y>3K405lsL87cnmhdYdx$xJ`eGxM)*M`9e>UmY0hHf8I|-0de2-5>3L z;(y+1v&OC0tT}#?K6;i`Ptr7A?4}>MH=~>3i%cnlEqSexQR&FJvb{QeY$``6Hf-w3 zVBIZS(ABjF4?kTiK3+R+i`J}EjN)Ql-`DW*(%Pn$Pvu~Kv96TwT;!Y^)0#PyP~O`H zxXZv9n7Ln;ob0`v#LIdkVA~7ecA-1C9>V7F zoH|&I-=aI(!!gY5TibRD$Yfd5X+nAvHq3MGWOItgsJjYrn|^G(Oew8`Fa4Ghd$D>e z-~H9RL-d=+kL5;N6x59|d*Ag=ZLB{fN>efRakhRBH2{F`9VLE(PqSR{P)X{<7?Q+C z!pIzv2x&$-p;6PkgjjLzV0ob;frqjCI#3lCMVz)QV!ah+wAfvwWEwDSixm z@jXnhq98QZJaeo-9|hL`Q6v2kMzQi}p(D?1&0$)7?{IWKt5W_|dOhUPi&<~~Dvt7+ zE{@sStK%9ec+DS0096Fm1NCOHo8Txu#-;fI5DmU}Raf4YxwLP)!PNJCSk{tK2>p*I zHX-(BsF@{XIl&_q0(TNBrr9ek)Yy@#ipXpBrBK@L1MRr%PwCfs_shQtydKl9$4;rW z5$z)?>%fODM&Jt9SgCf6kd%v`uJw3>8+tl6JyZ(DIz%7cFeIYWB9J8r96;MCigm7N z!%0oAhtx}Yj|BX*r6EM+_R&^q#W!ms@+j4#s|${;HQtAL1tq|xVSSqXQE#VgQCIH@ zdiCnp+I2QzxFdv!W`_pT@$8^TN>OT9O-Gl6R^Jt;AVYKt%aoBu)}8o!06GRKzfF+e zMh8Nel34f2!dl-$Asq=8rz>w_E_)mz9qm3(i@a~a_8OK1?Jxr9wwB9sMF(X<9;_Q? zuGx`f&Rbg=5P}|Xxbf{R>Mg^*dz|rOTTscnRl=^_7fC0IC!|4t;*XybH|&o6P+uYnI#0^T_2@E$HvIvmwrdN*S#^drTh6=e&S|Ay zZnXqG2OsOEmDUco_W3$32-$ZI#D?N?x_)>nwY3)2q8;|bDDT@DW_<7`5B##@S&v#a zNRZ#GnMI4&y^DsyM&X-Gqio~XK^!d=88z zzJ=~ipmy`%p86JYwVEAD+_BpKG}W5_C9c9pIMjGzamTvoHr9q|95-MCNEw+G>toI7 zs?oTKl$wrYxLfc2aaP%~I~JO6?<8BISxJ1L7HuvYQWdpMPSQmxL-;+^SGjni^MQ{tZW}l6Oc4aizX53p`NrP z7-bEg>5Au63`QA^EMe`eZURLvZt3`6`ZOfbcOTB0jxf(s?Qk>s+%J)7s_$MeTImk` z67m|>NnlHGyfn1uyW1Wi@t!jj%FWK0_S9*VyjCioDb>HqDQ`v0#rV}&tM~amI^hul zOU#$nGu(u3h|%_DIIF5(HMZTqKie7!c+1RSI|B7=xvz4O_p><{!hlbCz8Qya5xLX$ zD;@m-p0|qN>3p4Y!qZMrj~H_uUhr{qdsR9l2)_gUY0AabuQqZF@n|4EH5aiY-=H8P6t(L;{xC??QeqxOO?n@lR`OGAl4bWg z$)FYfp=TghDZtZxqr*!nXTC@9k@r76LT=x0xEixo-zbKCQt?GA7| z%22c*9M#)ewCA~8kk{o=NI}L8GgFz)dp_5rR{+@rMo^?qgOk=rJfi(5PKmh_yJ)-V zPaMj`S7-cQw5SwP@`AQ#2NV*Ked1;YX4=FjLR?5YPz3=Sxdf8AVcZZINNLsCc$uve zY=cj^mm8e3xhQp>IU3R~;Pu$85Fnu$E8tbJ?I=Sxlxla_C^xF&eR()G9Y9HKS6x3_ zZJ7eQZ^ydLLD&v|TJ!)FWZuoogjrZh^dJF53We8{V{wY74Lh<;)!mQA#CtT5*)3O* zs7rx6n%mCQ^6Bpy?qW>WkOpX>{69TbH!NnqvvRvKba*~njS0cHy{KCwgD4qOC5KGm z%MdKAHeOAO62Yv_K1X4w<;mc%$S}`n$C80|t&m4Mg;dp*evVgs*2NyyZ?|fDi_0WB zge&LWkR1eA;3U`>i0z9r$FV#3z1(>0I(9_Q;I-WBQR=y9amxYmVPuysC?DCV3sho& z!nzL^O$E3WD>q%oAVpu1wlXkERn6vx-owc{^CYVez`XLkOSdIUGy1+Qc%zAa4Ck+6 z?FZvD^t?N@JwL<6!bJv&xBSATQU+t$%|~w%G+K4h6mRv^Y6hr^?PAli9FVVxQtrwl`A)gDfUC7P=Ea49Sr>}5&Bu2sT41jNr$Ka z2On^BMKEVfUu!|z4gP-bZ+n(@EyP}R!7L-yg~B*kJe17UuO7x|u7yOPEa)hk8L=VC zV#<;>63F&5Ayf7ByyKjm-#hD}{x8PN2&pl>3@x9K!IXdyd84$-wPnP%U_=^AkM#L5 zg=7h$_H4Kj|0E>LtEzx}NIg(FScTPfX$pcuTbpQq1rq$~_->U4k-PMYyLFs!mK2Xx z5%=Jt9CU;Cn2Hu>MW5NqUX13N$*y24j6gMKZrj#WABImt$8cavD5YElShhf z2Zzb*N0aiI(PCdGd8@!phRVNGg;+`wKGHl!C0G6!C6y_SCBEq6ku+>k>RmYhlCA(8 znkeHOJasUw;hDE3`?L7{ECE%MPLC&QBA&G>&=%sjq;3N~Aa_D+%BveOXy;bM^FuZ( zTVBx_dbVB{?S}Y)d}k$X`gkq{9z7<8ryN1km#Or3+gau()B9s^J?YV8XnQh>@>~}r zxW-Cd6z7~RS(9hNr zy-P)D*jIu;yaz~vqjxcemsDBl5&6wJS;4;#!7zCjBvZo15-qTN-<>Qv@hfArLFXs) zmixo8m;E_yNgH5gPB2JD&z5SK0>?XiBz6DFi?l}p<{Qz7E)K=1eE9E95}iMTip}Bt zp@*?**`j#si!!ac@nnN}JRABPeZLd~G;MFJE?`!wP4mTk6TbO!GtagBDk$6Q=&k@~ zG2NRzO&VwD<2*Mve%s|d)E5H)Xhr-|*zN3atY8hzUyC?31NNcVHvTdbDz#XeJ#7PF z*>1P8=}dQp3YMy7&l&s2HVVsB(oUL#aPd~pz}DMQvjz;CTS>rCnS|2r_(N^@avy9qgZ#& z%T3W=1n4pNu6Suqr|@7!k8w2QL-1!(?~e2`*MD{groM z;88ehq@x<4KiOJ(X|_lZ#YUbiD3h1i;um}G(BN_ITHFG?OD#EvL}9oBuHcnI#=`#=Z-fDQ51>L7Ycdhz<=wgDYd?{it#a~^> zO?#gOz3D#0Y8?^Toa6Egh;Qb#ttl+?kyjh#x6;pnMxTQ$M5$|cWA#Gp=0~Et(C#0o z`k)8aCN3=Vrn*i3(ioed7^ub1UcIIa?#W6m7oVHw)5vs(R!rlqGtv1fQ9#c zrO4q4+KvtBmXfuU&T*Glt%1W>fJ7}=ZBw?bjLdWE3_qg; zxfp`|*5;%IMYvdB3u6)4_F_+itl<2^!7xhv_xsknab?~X*f~zIoRVex8LMr=f*GOI zRehx2n85w(LgxbLbxDBEgBA6AC;Lbj0E3Ff7V=nnXt8~bSTg?cW{=-(_Phi&F}?llwuYCDzT zlH$`}*dYZ*;j0$@YJ<%$QS0odUmD|xOTPWmN@D=ZjrYw|6WWe0Z@a6uKUUQacT68; z&3!C5)&#Q%@Yy%F`(7jJKTn4P?SdQ;EzyMZgPaMlcA@G)Be=!A`^+H_w2sxq!Ma|^ zIdj5Bz_US5FIa|d;dg(ygV=lq^;-w|kMHXISE7Xs>y1g0(GU|B#Cp~)nRT}g=6;%7 zIy+zK6wRrHZ!(-Q@Tu9b0|7=F-M?L4c77Spcl%+rPwe5r+Zke5`hrK zkynBJ5Cbm0OjD)ms6k3z`5T+Qx(L;iS&ZAOONX|UI=ebMupb9vHF6MJ&?L|)75n1g z;aiQY@%*q*Nhl9BpQ^zGT{IR=Ya|r%`Q&4S-AsDRYPRg9i*^7jz}Y`+Fl}o!aCEEF z@f7Jf3NCR~**OLz?R0e$4)My)@+jO&Hyhn77mU_&XdfV=POK)CVZjx;8v`aU#-&_a zfIAS*qj@h~?;DmD>c=O|EPfizL@xndlT1lQlDVql_=WJTk(s7e*-*URq%Q~nWe;F7 z5o*{7QWz@K=focpmMM%Umr(=DWw(J>(W1KYF)=Bu#z-8A8r2Cj!4?J;sDVtn4s^AJ zp9)fJ&jufzs~uK@H|4j7Q6PrnoGdcwJDPYwkvQQb!9JYxzN=IirTx%V0O)L?e4n;8qK+Um3>WW=dO{e&vaymSAe2OpsgxQ*=8iEsl7ic zg;C~X?^LY|JAJFCi?!C^!?xa@VT}sY40OGg-y}fjC%!Vz`l3BUoUDcWE@eV0#uSED z_ZMUP!c*$f)C1N&y{IqYQ!;yhDi~~$z)lU!rjvH%sRen|h=fUSx}l#@_m!i#*$<6{+bEnGg;?pf3e2SbsX5eKInd7$pLiWO_?D>MGg zs-MOkr3$SXh+IkQPc;~6 z-*g0*9VOQVm!x#fCJ%S4fuTWrYA`{ZBEHG{eMbWcWGTe)qN`PEx;k_F@fBp66E}{Y zVY5QO+*mVz_l^wHV^Y^`WOJJNkvm?SfBQzn+L4!UY+CBOP(%uVoxoJ@mvW`}CgGB9 z-IC4ygi-kBrf+%edc#uRq4h1!f2AV(ylK4a3cI|t=t^lAOQVL)397~@67~p^>WOzk8z$vbE6HTZBvar!~2Ej#2 zb`CLdN~1iVQ6t!~@wPg4xp!9sBeBewlCsw}<)Ii!ljME7k2a(WTX36ldHUyD{^~3y zcJx*vv?5DKN>aExvu-zSaavVkl!n(D4D;X z0mEFA6ad74`7`OXImCwegH0e#Og*{KHZ!yB@cTha-LCy=!nGKMD!pau=IBvqM7K7;fi*A+xV9H>oHOb;tLr|XNG;7caiE>FQ?1d zqYiv!;eh&WND4CELhr&-M%|T5b`Rq=k*cGMS6OlS*sBB{)qjEsYFwR$?%b0*DU)5Ec$)y)H3Dmh>n;~3Y6$J_15W}J~R>Ktu}p zSNn#w5#F0eua(gXtRG+Iv-M$L@9Z5zhE|oensgO8nqx0jJ9dP z)6oL4n361pf_QZSgDLUyo(KjA`)_b4(gGEP+>y5A(1y$VN6pg1J<5UTJ_J!xanF)5 z&ai#?mUt_-`MOw5YmT|ogmDQ1uaL@n7SC86SWUA34cEQ8wenhHUBJ#e{XNk#)VC;e z>jU$k{FP~Kjm127DUW4*N1lOmZG5GR(St*P{X@aGaKyD72ZqfR=~H^7o$f0qalxszQwU{yI2h- zE$ZF7F4K5b3m?QfruETks)|y_phuRI@treO!ODL|Tr5BRs6uCne4k5=kAl+5y4l;Z z80fW?3ZM29yyGPS=-t$YBQ#D(AEUYUmzIV{(^frFr@0e_n3OV;I3LgDlwDm@yC=W- zN9cK-BS97Z$cFE_387!wb`vE&;x1EuhoRvcF&3>L@yEM)5B1;d)Pq@Yv?zuH1BRFc z53keoIdrT(KYDldHfCjf7WKP4$8w)oUy45M0SdwQ?)jjVOu9?+oQ%b!^7!>3XzMvI z{J~Xevr#G5llO+$+$BU_e%OfT-}2Yr86WeRg@j*0FzTI6`fdh#^umn$I?yKIEM0e} z&x4uxnvo0GqHMoTzxAGVeK1F?q(}-LaN4;SO`-72eKNoL%x0!p=QYA)ZE@(;F+fV) z#URAv@W{j4`lfC_l89)slKJ%W*kStS_$CHqMrq)4pQ&V)j>N^>qM4HpuU)k~uIek^ zv{RAEt;A`&pSR*1r$PICF?ib68;``>4ydeVm%+pad(ADL=Qh*kB@HiIXp zIETpQNa2P!gYTn4uN=j1hYBAKWMlgXD7|PansKi?sb+wr<;?MD;n#MINLqh39nVoEoX5r5-fB<6r(|z{~4nX5d zYP4~9>7VQ#EG_VH^DcBto0;UsR4!qAmAX+&-_L}*_U#eSG~_KrNn7xg5?>#Ea&Y(6 z`SWzes4(^;L-8KGIu?fqbKV1JGhlR%&ExA&8CUp?si>X(PxZcL2O$>U&4e?v`7sBZH=FNVH*Zd#O zq0ePaSE&2N+N$IyLIBOlwK9vD3C*&@ig~Jab6+jH?d3O%Vz>LpDDdn80F(HzmASo% z+V!W!qa4Vjbb=AA90(ePhrcIfFcBNU;tfAJqjA5P3qvsd~xd+bdfie zUoA*W{Me^ei0O9<7jH(JP3s^HAiS=-Rd=y{A||4Zg0+T=@zO|k!dfIREDtYcLB88V zFrUv^+zbt$9mgRZHD43#nllCBB!x-R#_QVlvvTzcJ&fZ@c~qHIOgyPnIG>V$1W$%=nj+`{%yb7oQ3${yQp={jffquQC6Jxd_fAAPThSY5vZRZ@i3-^DZA9m(O%Qr%QwGs)IB2R4q@4nzhMw6#1EQQvs)WQWJKDT2-V ztTz%(<~<8**Phb3P4DnDx9wc^U71_F4|t{QGfat4)tJm5c0zWC)9Pk#rKthQNYsaR zcd6jKtyv~x&w2Oy*4Sk4R1Dvx`FchyJ+IxOOv(bgRYzVR9l_iyq|LJXpz-a;>q66? z8w}>Tf@7_!6~g{xn{OtwMfl@v9D6h7jcfe|OD<@vJHZZHLB2bQ=<&!KCj%k&ye%g4 z+%bA{#zRS89DkRy%-wWHhJduR%C7mR(W{-QrTdHFk(+Bb;-<2h zIcg~at;oyUF$)f>FV-u^4w*5}tb32!&cl3oCVeqT*b+RX3chVPno)j{fj4`c-IhFK zrzh#5|1W3*Q`TUq(d9Miz_ujA%gsS{Bpsz_(&%K+24;;0va=#Os+QN!Qb ztb0GpUsqORYTE+cDIyAygNLL{qvB?SO)=wv@ZsK_g>`;?+8W4v-u2Kw+g+Eye4NB| z_T_3)b1{V5&aq7pgG-8+dK#KJ zGrIthC2ORjar>M!X!k#f(nK7eZ%>pBW^y}IPCp^HNiIx|i6=*@G4=KAkW=cXdesTN z`L*V;y_$YVbwzpr3xj!9S||e*O4w+GRz7 zY=J@iVk}`)jLZvjr3(2-(q&^uNtHzg!?L9ZSm{XKUUyc#wqVIM%cxxVg3C~!4aGdPdn#Vcv^BU+x?>8k`<#}F+C%7EQlvm;kHl@8&{+$YyBqrKo z)Ug^N_?65n1Y7DI0aZF~@;b2JLv6)fTA>>7e*l*i?~ma>5Sq*hWX$a;1Pxb$W2*T-3Wn%w_h^YZD3Ax&ih#BI;u)i40 z-G%x?oSFX1#1#=?To99kv&`Qm5hFu<_yX;jeuAV-Val}T|C_Q7QSTF3tlD|h$#JN$ zp9`1=WoKJI9grkPrctJIa%V10+t-YHyQp&+Tq%;v&cFVpSO#jepB+A!%PALx_18*# z+UW0$^;@~ynL_pD|8}$gM}yM(ry5E!%Q*htl7wGQ$UPnKf3NU=b@=Z_{eRoTe`v@5 zpXflQ;Q2wo{l%;+KDR5KKqXDd-vh$;cDTsOw`SpZBjM1yU1o4H4oKCibQuME#O>84 zYMu~9*yn$7YAcJ>!bn9^2*=f!iCqo5JP%rO#+t%E*$Hy;|8j=#%j}QBx*uGm|1jpw zFATyc1R4{MnI zg-?_*4kw+*-y`qy_xPzUC9Ef@tW?iv{za)DX;1MxKFvzhPbq#MSY<=-VI{9qa#km~!pfex)7 z`d!0HvAnQOw|;-R`}yOoi`9li(_RDEzbK6aJaFSMO?yC_NTjfY8=k@(^KIYTwwkW) z?}Gji=6dSObm)i6uPsZN|K8Zsl(k4efv34R6P)178=rp@TV$#J^tuYJ-t5-0e8Dqc$`&F-=}h^)7jJ=e|wyWSE_K^>RC-R|P{TN~2Xb z0?Rcl^prdKqf;jdKI~e+o7FRf#0mF~sdI(Y-uT4GegcKd03L(JZIDLVH5xxuL3gCt z?@ifV+I_#C~w#=$Otovs1Q=_949$y1^vHIDd>>Ejp|#iH)C4Dk7me%oA`Ep)$BC5MVKq zF|2Ob(pD|jN5)Iz3vyzX(!O<$+6h1EiE_Wzp)r1yU^uhWdQ)+1aS-;JsmbHZP%7=4 zzIFC%WYayGhOy$W5yR!wj58j>)kzr1#$rS)J+Mv%(a3@fBf~IAgisiV+gW~M^8-QGtT z+h+8H)TxOwP!sr-b~cJ~`V5h2pt%!3_kF&Fq%?_RkFHzgz%vsDH~(y{bWu|>Z2u|Erc(|peg}+XuGcP)#H|Uz zf@$oxMz?zhPr^zhWO?`Djo;6E)BF@H(Zb|KbIK2hJsk*nQ@?#UN|S-iBkvM3$I)h) zY#d1EeFz%A_dO=FT8bXQog7Qle(WBBw0`dh*j_#B17&8$*SQZ9vtosg06rHC&aI8p zV2{hTBp6<%7d5#(x)h`)U;;1*))z$=m3*yatV`iY}cYmw2H}%k?DcQyCs*$IpTr-~CEp zegSIfHT5!fgNT-XOJN0{I1FoI=;)L`n~o+96AyJIjxfW+y}y0iJCYhgNrawb5j04n z)Xqdd`H1rbuReW`fonLKQMu(yi#=cs1FnvccUtPB^=@TDvVOTuCpY^Nx89rL80}Ag zCOCd&(q!fxzM2x2tu!T?czREBK(l(;X8pXE8JW=8#*WHgvch*y_JDB#UE>d$@AqhZ zJ{)NDOplA&LudDD4y)IL1TmBP^LS}&mOnP;3A}d6-(bPPTSkbp`(FEwKdS+(rct!8 zEF&5K^vz_#0z8Yk?#9AZ=mj5hN#vqTutERLT*o`h1Uo$pt}2jX$c~}&jSLZjLGZ41CV2uRj%+CMBXXSYr&Zu%aX%D6`jEBXo z|CW#i9{xOl;L9{)ArG!}DkJ;Y&c>2H5}KA*PN%TBe#)P;7v?hs0qW_52sIQuY^use zcjUtgYo6G4yTvo&Qj6!$wy?>+0BNzoC9riTpPE>*eDoE`^lP zz}vbkTePv7y92jSM5W#Nu(mZJ#0-$u>ow=}>Z$tdN7!P6>gFoAp3C#aexGl+{>+B>;XIz_b;m{Z<9q9~9QhG^hUiaCrMa_a zhg>@hZ|#HE^pH2B9^Z>B=l17g6-%xnU>I2wc{nW?&=9JpsVioY!MB>id}0TWqI~)Apu_)x!jJu&%Q}K4@+QbhWVE<* zYv$MXiLu>|YuB0kmV>0Vi`XP;`eHZpJu*_SO$RdMk601^s3!)n;2p5IsVty*t4AV$;a-V>A23M5Mel0B(X#Owt(yC$B5L&q2VSbCYAmR#(W$*Z`X+H z;+C&}Kcb~h z=Joqm_t$q$jXu$ZzJMRLX-}Co6TcUyp$&>Wn#k{6dasXR0C3p{7Zb~CcS7r{O^Ft| z4p!nsrx&G-)GI>J&Jtir3{lNhTJNuw%yHd@LOQxlzVA4GHe6lOnFu1u58;}FO(HmZ zS#~X+h3dfzbJT`iW98XiZ9HE}EXp*P!$`WkRyGy3KQ0p?Lk>q0*)a7l?+EtK)x?mC zV_wKk#MTmwuUZOK3a{&DM9Q;Qg`emk@S%dE8cwPZ6^uxS4 z--S>38O@_GXKk0e&YNMTz%cBu(}Uf^WuDs*&mtY8!AL#z3*4a>`|;PTmXfT+cX`(s zq8a+@cdceCqyUf6?s^4Smxgs1z67V@twLADLJB@~GQ}%7PXQ3{aD34*Okt{+RW12^ zjkG+ABL_oopXa5uqZ-F0=+$fkK(a-l#)}%QGm!*d!avh;!fZS@Ng`CrQW8!4*=W48 zcds0C5agncl)km5H}?ITsI+dNb?k)_rWf@^?{8gFTyfV3;Nh+eLnWk>NA3bczEg5Z zurEf3lmD=>Uywnwl`l{^{Pd_J?sHBBeMX;sQXBs9wdSU+-t>nlG{o-swsJx#75T&Q z9gPvgOJf;=Ae;ux5A=UxLcczA+{wey1-ullE}&u56+58G^v1SOw~)iSTk)XDp;PPf zXjaRNG>(Nj4;t^jpnyZpnl`C@){7~P)2YIQyzgZAw-Yky40(r zxq7Stuwn}#^4HJpjtx|Gl%f})J(i} z+z1G3pgnF2d5PRJuBo#aJ7N1A6z(Z_5GAdoRl3&qQhc~{upgJ(0gi50zC!X z%-34AIlFg!at5L}flyKpH@~#5G*}vEF%HNPwp(S;62t^tknSfDsSXFJA;G$beDH2> zanA9Xcr1HY?!-$wdb_IiC@1l{z^)rhZaae0TK6Nv z`+_?pygnEUz|$*WxPY;Gq_^fR9HQy42>A;8ymL1Z4id~}R=7*f_`O|>L*sLJS!gO& zobpb3K(n4lV#D|62g%%=FJ~R5ccCoyQE^qUd(^a(@~r}vh31Iwefo)K3r0E)BWV_r zORmBF&)fdU#-;O!!7R-ljBfRi*^lSzgdhd>4N+t09y}P+cR3=(_L5&fdU!T*hQv4i(ajzIt9 z>pH;+^bFtWw_~FW0lXT^fhm!fF-ZtQ4Z@mvj?TtYZC%>6nptf zls2h%X)>N<#bkygW_P)*g+HB1 zN99Hbxg_-^PNX)=j>Pfht#~tal@eN+kwCq+jBoXS_z%!P&4V_3dhdH;)s0REjVxwg zYC^p!V^V-3!=Itmj{4#pRx7NvS8vnjV`K4hCigMc*@|av$E*AK+;{6jHC@ghvq;qq zx)q3&4jR+B9I>^P1sTyu>m-7J~2x~`!v{^&wy=T?OG>=zeK0}&wl|V^w-?8$}ZNU6zZdt5|(!4jyEXf$bn$W z-JahXR%kM{aCi*&?FB@$xmUA<)1}uis?J7a5gF}t zr&J@SwvMU%-ARn2_IqHAxnK)`^V%oKuh?K~0}lOH+0I#=A0~j@0W|UZHhCRYasNUDIlLSbw2|E947u zNW~iz*sPEti&>goB(+`x3g^L=PICmtapAL@6^%^eI!TA5sa*1!!!OqY zmf|*uQHD)Re!r|0 zC%liX(?Y*{%S7nW&-)l~>JUa6P0Y20q5MmN-I)U#YeDGwV>NIhdS4EaF4~;K6SGsb zlv>V6(?gCDHjm0Z8beatQs%%dW_&m%>qGlHI5|4+Z0)rO|Miw_AvW1IKk2nt!Zu1+ zw%l>Zc<+Za|El;(;_ieE#7VDpsY(JC;PqgzQa5WlwfE^C{z;N0Jci!o6npd~JiI&! zT<*#6-x6=@Bq3fJE0ND(#!{ulm8<(aG!sQlun&Nlt9|Q$qjejW>$8s=krXgWCdqy6 zHp7hzochva^N25rLI9$-b={Nvk!-q>5r*iZe;^rSBePX4WQ2lX`m&OJOO94BRorky zZRx8>w-Xp>h+&R^gOxy|_3E2KnYQgloz(19GrJL&T~8>T#(EUdg6D!3s7)t?Z;psI zHK|X{??SFCm9<*@JlttDUJ#2Fv0_?3ePs52OICeeo&VTt{W-r=M3APr#A0uJN~T(= z5Q~Km4+o2Jg*ok7=SgY+Dprr?c7pE&c|=Mx#?&bz*vNOEIfAtYzaoJcWe-)UJ8FX&xWXGoH<7~iqWMhCAB-|MCHd&we4JY_jON8|}al zcRo|})h42z8=HY4>Vt-|Z4bloY=Qcs7y9GB8%BJ{qnAErxbeS7JTwZ`{pl{%E$;>$ zdk3+~Wr+U#+*Pq(C3#}!XmIegPDC_Lo}g0>zHgS`lO0xQ|C z7#Aw|^ckHm=xRzpLHn7WNgp+<$N4K}uF)g%h;kYfiZ&zKotiCUPpxH-dQ-~h=8k?V zo$FM2L3nKahwN>>&cRx~1E*{Il9|P^uTI@r%!AI*c_w z8Bdyrk2Fn76hd7ETocLyybcC((loVwWfDYrB*STS3aF&fLElFBB4dz#wOUZSqhJ=xbdi@bp9J)JSBcQF9Ws z);JsoB-oRHL(wJJ)|p8PMW#$*VKWTJ5qw&trG$Y+e$b-hR=MIza2ve29mdBJGPTK; z;aI*M_PxJ@PSn|tPQ50bkU#xAPGo?*ppu$LY&ICUHecED`x?&8vF|{{tD{Fm$!Kc# zx@}9@u`^?~*%Rq1uT2vV|rEt z`|quZ1yojgsYFiAU=N?*d)nDX0m6qf5?ls3kroLL2a8_7tWG1covFrL(!JjP6_bbTox!{)NKl#r1`nvrj{9ro2-I-cvEoQJ1+ilHlC8TTe8{7OVE}#2$i(F9l}Pl5!x1&t5UT*+^%838qeY(v7h-I&p(`}jvxNrDbX5S_ z8FBXkPl{4i&^5A5x3g|w3k42o2`BvyCqz-O6*bMB;|L^bRb~6 zg%086bF@_jQZ-)1(fk0_pP#_LXY)(Yo_DxSDjpoUIY{bykzxhCLxm9NDOk7FSG?iX za{)^a=PBPRXu>h+813Kv+)|-^Bko~>ZSz>~%`bTCLrJ$dK?0dm!=uCSJ)_PeR>}`l zbb4(*`(+*4*31x~oM55gDDnIeJi~($;d^iu&a(39!(-y$W4B+KR?xD5e)sO0#+uf7 zEm<#f)YpggIHb)Sl4y#4?zRi(r!gjn*7x6y24m*F7%3iiswCD;X_|7PF7hwOUR4IN zbDN?^q7RLw%{vnAGY?0;^3|Ah_y9uXEcbXertbu-Mc<2BhM|A%QqV17LB)BaX{Ss` zIYJhztx?#SXXX*v*V}<=osd<{B~!bD3It9AIe|vKg<1HgN1yJTS8?2L{Cbsp(hD?O zhXGiUhn;Q4EtSKxmEOokM9$(<+GZKQW|=FjS{mBy-l9%5bQEt?BAHIxOQ|-Mkp8;K z1`Z()%Vrtja|MO-3?98*=l`PXJ^JIQkLi@uq(7U6ly1yyZbhRUqkYQ=l5JWnqu6L6 z9tYG`6D(`usq-|e?oj|Wfg1F{BQ@1lPe`f_n(=7F-5*cXt?k zU~qS5;N^M#wQtpKZPixYpZm+*ef8mg)%CcqiXmk}>#qjQO|S>58v4=dacX4{S+_#qd5^ z(5MnKMMssV^d2S&D34o~oLUTSdi3gz(F zq1eO#CkIt-hI?HtPhK{?&_X4@BlCOfQPq`R4WwrppQq|Fgnij?@&N>0m3X zbC^2LxDa{#Se^MAVv_Kjpw-0_ z2ZLd(caPQdmtOOMtN#1LP$tbE>zag138(ERua?V^ziPbmwA=^AWl|Y}mTPY~D|h@c zQ`u8tMV+XbgTQOW0>ut(aQA6j(q53Z-dZj^vV4?usvTy)N4U@4M#PO&9|prmj~k7i z(Vfc|;qF4hyVfMG4|>EbE#>!oXFdf-(iy;>zCqbnzzu|bt@pjvbXuDW8DsDdWf5Mk z*Cv~-Y_zuA$95M+3depOt;H8(Wu@i{6w1$jQw;$Dr6NLrwI-TS+=nHA>GM|Ba26|Z zP&(Rya|-tucZ>xsAfVXshm!*^UVq$Kr zVIB`@7_A`|Xe2&P7=0~V5-=mt+-W13>M&0x(P{eo$0lCKeE)pnoKaOsdS??~S1P+d z-?nbjgtY(DqOP<#WL(2cnjhe?I*_BER{Lq@U>g0~JHC#4_CdUf}X%cM9+ zHHf3vQt}<1<=6ndWb@7U&Vq|83|CF(J^eGr_2P+uXE*I6Vr##7xW(m4-GLdDOUf{Gm z$!K*k$k>xz5B+7(bBOn|EPn;gb@9c{hsNMDhaK@8@m4jz{j4CnppxP`KhsXfXl?|D zZ!=bM&K;EzmiI(m?B$1qM;ZQJ=URdMFx4<^2|o-~koSk9Y;5 z^*W5LY-sv@#(ABhk>jxG*&10Ff|WZp-C9>3_A~|=3y%D%M9zs@eiW0V`_xd`))oU zjdv+Y&YXJD!H|8^0p->H7}!BGceJvJ(rx_n3vY2}+IzCgVB2tD^k0BI+_ccU5OvP} z(8ZLrTje+>_yC&ucBAdZ&&v{WmA_vH$2RpY#1>ar6#DU{O)os=TyTu{RT)>j2!`xz z46YmEO1D$CBnpqRn^MfvV$#Zu&fSLK4{m|tZL=9{u8AF6?T_s96##9I3hJMRWTWFW z%`)w(#R?oa%MTftFJaM6L)#Ane}$esGXq4nU*$)%&agJ=D;%q0m;c-^T@h+qjh|(B zkbgMl?Cd|06DDJbOH)WW4n;{DJ-&<@*ScwcE*Cq zF~8f-P|Lq2m5gkXz^*&FX5B;03J}_;prSb$GH&}Efh2R$n9|QgdGX9|IBrf#P1EQd zqdIP{9DlT|y(kIU4Bv1j$X9@WjBqr5W44WIVxYr7#$z$z?!Y+5iX*>noRP34Wt*8Y zC^r%idD6*ukW+t z#3gKlW^N1T8==_AkfmRfJHBTQ{;B#Iz0Iu?%3a+*nq9`hAb{{8&3vMEvc3BrLSPz%=9}5 z{bK6zX;VTNrAzsxW-s}53i|6fC)J3XU3hogM)ubsKk`vjRc(M_`AHaNRE#G3w4`;P zdBQ#$I2E4(Bp9w(x%`S^#3v8%me{+g2XWAw~j%VbILvn z36l4A^%U9Wxav7%fRtG1Br_HU8fJVLznQAvr?b&yGDzS(i4%w0S8QT2Q)IcPrj0O^ zR>UB+xyNskc-2|cpXF>sWN)gU3(mc+t(>lZ5vA0%YgCE05q-SvClY?&L9r8t+NpBk z^i!yL*&m6cYkq0run%kHes+$geF|Y|zTTWyArW-!z67uCt?!60UD90njHcDs@C;pT zL0OGLJ&!Yg;!Ap}F(4f2X_7yJqWd;A?lQsSare(e^!a2tYPxu1{+y=n;a(UrW6%~V zGL$YJLo1*k{#jd*(7W%TWu3eG5kM}rM}aU)x!rqH5b$ooecxyWzkEItdR%5{d|X>B z$VvcA-P2qGB78h*Yujp%f|vJqw`wdL$GWcbVm%$@>z=*QqavTU5=An>!cmI=TB`jInLF+NxnRHT#hpq;IJC9@ssJoX$f7Hxc6-wIAN~4;%Q#SvimhFmFI!G)mJ8Y$in(G`Kn(}Il+sdq; z{sg+J8`pbZ>5x4C6A?b+A1Fs0iD~B&*j}(;xmmVfaxo!V4|y}#Krp=X!m2~*hun-n zEM4WC>nu`)rls)>PZt;1?kj2782Nbq#^y*xXktJx&j%~re!h0aLzseWa(q7f-#+1; zyO2h3pk}r)+Iv9JT$+#YI1Mkjg#AtEkavY*ICky3vv@T6hZ8n%Mh!xai6{F5nsWN} z3eHR2K>LGYLzUSvvy>DFZ)?RTpl#cPKtGDiH$GBBKVfWXXTty#6Gg~DX};w{_Z-aP z&*;ATH{G8`Gg{=^X;dNcJdd2C8y+nD>Q4jr-!)&-y#ed_7_0|rL#&YBYrIM2AMGu* zFl>_l?d0{ufQ);+MIgIX;_<~20)p4(7J9A@2#lU@H0?JB%5!1SySf7z(|faAr5jP- zsFDt18(GpKc2UY9f7`0QKl;ps)cB;a&($YVVrV)<+KyU2_LPGbBU=J z@(V_I^K?YQoMQ}y09|9JwI~`?luTxteCt@`ipvfJUOZnMGObdJuL=Mux-%|81%ERi zr_{*rU(U^a?sP=jpGvfN)2V#*pM;}BC&zT{g`_Hm}X&!;utaBQ5&v#Yr)YbohM z_9kMt!ivf2?!F5G*vXkYcYnB4nS*({8h+-hKp4mAU9nqvfdcK*kmK60?Ecrd@s!VP z=;DDs#qr&ZUT<};fX5IdSJlr785%<@uuTP9l#?Cp`Qcr!r_BW;83Ye^+o`@VyYq0C zD>YoB(SkVid90xPKl`q_o@O@ePBdBFhgedL!i4&($O)FiW1{cJ59}>7(OxOW>^8XF z6*$J81`{`%f&omP3l4cvZ^6|OQzq52zMy8S%j1VUL!tJ&W{Z3A`#T%%X~k_`Vs$A> z2SGaiKRC95MO>lA!;PU2U5kxH3HOx6#4+Q}|8Vv$SjJCQ@$0so3ykvCcs+xm2YxQM zKW#$j#Y1o4>ZI2zS)lkoI{dqB;$9C3!Q&|Hy;_2i+3rb$BMah}lhrZ2SwPk+D)PEL zZjg{mrCDWCH2?MM?0 z5(ZQ6e_x5E*%!Ao88bRjqssLoSDAqakAH1*Q>ym~Sr96onhPtU-4AXwz+C@2s5#rU3)L7SNU?PG%czGuG^ z&EU3?kCR9Cp zo^sJ50l}&Hw3@8-gMWM=6YMB&&&;>u-wL)ihtqdOBr;sQB3#CuNEDa@@?lQ-dG#n_ z$z;CEH@_Nxl(5B?!gagp{?Y$bbHn<>wFAzA^@(A}M=-7?K;9;7bW>1z0Uq{Qm1xz^ zdNoxa7*X?eMW&gX4FgL4f_`unqH+{^-FNhavOS??l)~kSvTlFHjOJ1<=_DJD6pzvL zo$mf`ieKP<7u?zNLEiKj8RY=^p`WbkRvhDN&y^48BIWYz@1V!!>11=bsY>fm;)Tw| z8q!(RSF@f-;N^G#%Ei+2U5ZU#KXEA<0-T)wa}1;IZ!A{)-(v^oV?I{C$do}JeLNKpdHP8x#aDcXKLxS;v!(N=- zo)e9hDqdvlgB~l8&Vae%k?M6H$H)KbXRJzzFiT7G`#Iha{XZ8ye;Biwee$yeB|)LDZz$eIlcPlSz@*|YnFPm2|ZmHnLR6g7Rs$&WH-Ldcncqs z3=V0f<$FvV*K4ViL~&4R@Pl!gNe{h#?}-MQP(kmCFC|A@$Mi~71=7qRsN_}x;nFgiM&lFf$0Yi_5sqAiqS502r^{Nc%4|7SK zJPdeme^`AzW7gt)4CVlz^;q(L_1rPFsT`(rc{8W&b6iTR(i1 zj?ho!Lc}T6=Hv#C(YJO;6}g>zLm7;8NB)&uC57h87VWP;ET5q8O1~)XPz)bXd8?na z=j}LoMMK>gi_q>q4Vynn%=dWyGbU|Ik7Z&k5-~T-u zo1mXb8w(!QzCWPy$$inKYh)btyx!as827I`u>zm{8ec!IL1x&XhDRG4$aO5yD&M!g zEiw8Jx$JoMc}d_|I$Eb4En|^PVnD!9cH!!DUQIg&Kt9zUDxzg9=cMa$tIM4Bv^3fD zImy8fO)1+Z!~jbCH2E{GOVd`=sjXPG<=?GdP<;B8y66xn`#qQZ@qhAJ-eGe@+m&jV zKEGGOsQsy-G!DWxBE~Y*VYPI`ozWx|g>;^wO851UBQBdFy4Yy+#L8p}bC)d~aEtsG z7y&$%!Bl*OE+a@H`pjhxVFxqxq z>Q;L^GWTm*|8Cu@8}w3g!z=T9`}txlAvVG7+U}i_9m1Iu{2nWQNAZR4Psb4@@ouPW zC4P<%*4zC-LGxWv#-CMMxg96?z&R--KC5v8AG^ES_jKvFxyrTC@c)?YcB2~$^!_hq zyKX+w%`Bdc?*-Hfj=n>&`x2g$Lt^p-LPT;gH9vUNQVs!xc}q@jFGgNY|I4xaf0E{( zzXyzASd~(xI3rcRYR4`2{HRGHwHEdKzhsjKUI%};pP#+z%hX@4=sKz8NypLUYh$9j z|3An4A8VH5#(S9faeJi~?*F7z{U`tXfBT%c-}!teH|YOsfF}~Y3kB>;*SCnJzd=!s zceR~JUH9i(j0>L{jl7Cma;|Zv?F3M&IE-s%Bt^p#^y1wiUND^CM z5sWZA^g&P%K13PktJ-M@lxC&5?w_!#O8!Z9mpTqrK4^ZpWBwr~)sbH4m)T0`xOG{( zMU)ev4$glt_0mz#WKXvwQ@)0C>a*TP{Ro{wPJJYVdSlR29@ugy!o`f9^5b({4kE3^ z0nT5?mkSt@=&A8m!6+zK8G9IY{CXAj*~)Jrw}yZDdLu|-fQxQp5)p>0%P)8sXJLkT zWaIV^iR75Pz;{!HYp1%u>c?2>Ok69BU|ELwhWc8OYM8MU+wQ>n(5Z39cZS>=V>m5M zaUO6!R75paO{d$7tP(yTveiK*V*Ddq_bZDT;yL1btZ(0Q&Uk-KD+p4id8<-j+xbW5 z2Uzk=@Z0|&pg0w03wDm+m2QID;aU-e#An%HwE7+-F_3cea` zzA4pAD^ha!sZrjmZiASBD%G;labY>bVaF8@Q2ACy3)2`fRXZqWyKpErol->Tbf9>%0LZo0p9jUlj= z4v8P!&4nWV@PPQ(9dLiiMQdBcfJzA{N(_tcf$zvgV8;$~{IFg#=g1udp9r%3U#Z$( z$G1IRW@s+Amez$GMA;|YX&MkL%Dd8i;O6c6GtGB01x-wt$$k%}{{PrLjdH&e;qF%c z`Gq-1`eI&#gJmGu~rk1%6`b{hZgGQ&!|yL zpWu{l`Oc^B9{p^-;Cp;3gJCgs>rlFI zyw22%WE}TSVD>1-Q|29I%tYJp)~XtapJkf9Ooyi>H|v}vbO^i!II;^rvclZAuk(3V zBaR#5Y;sgg%y;6hpF8Zxu;GP}SnT&2|I%b&Jt!nBc|P23erL!X8(GBvORuwcx7M5rvpNP*w20gEYtNAM zA2lGvGu&HM=wt`j02vP=1g)632Y1C!{pVej7>zj~=s2Ps)EWWMGlQw9w&%g^Rr1BH z{Ach$d1VywU<7ZgD_!Fb(>{}*)M$O(yy2WOVA)KOOmI+LA`IUfQszTdK(F!g;^*<) zR#~#vLY&=Ji-nw8ys{I_JAMEn&gpVO#PEIaFTub3!9#g0SY}&1ss>4(dDz*e>y{kY ze8Z#Dm>I4^{FmK*^wqsX*~a+~P-g__~msldC2+mjm@Sp6P5N)slrK!7hV7 zh8@r@iheP{l>)sYBam*6XAAKv&t>~~I#0*5-|JeMKy!#C_R>Aa=hq*XhWr@}*vQ~B)^Ccbk8wFC)D;#&oH55`5zb^g3ZBFMCEtEVN z=bmIv=Y;1E?fdQfYha=C7R$7K_C<$Q+C_kPpjV7?c`gUpTN6^7l8{uhI9{T|Jc(Id zX{p_^lsP{1gy_y;H70|_jBqT^fWz!sStQYNvnx^~8+Geux_>_YrYXlX`qIwWkeDxYi=*t%A zV)Yb{;Q!#`6-%yW#v>$^k+^PV>2$TR%``S)nB3au+TX*|ei^f=^(pEYUG16-bO;2vT5;aoC9HrxvypHO#qJ9JdgMI)cZ|OyS?^YxpT%w#T6Y1?6cpZ;10 zV27EipsKajI1t~BK(+7K2FmkW9WXr(&W~yny>=6x<;DTPdHi&+#myA#AT(l}elc+p z?u={@AMD_0HYP?AT@j7WBrEEBBe`|95wdjMioC)@7l~@}Ha|7?kZJ1I6`_GV$Dzm3 zrvZ{a%E6w`kSXWt!ByY?Xh%`z$GXBWPOJ! zZIU*lWuUJI6&$rEs+w3-o zaVy5FEH_zC&F5=87{APSK|P1MAoU3v-E6?!e#h>b2{$BcFrhcrw{o4$=r*iyf_us& zf?YDHRl|I{<5%h;RO*sd^(t@lgPIAh#cFC_ z08L4?5Os6}+Lg0>@x6ULxCD@`-zH_LkV7mWZ4m-WIg}PUmOdMV^(rp)v#kg26{I7yg9K3Wci%f`1@8$#WM^ zPTxAiQ{y&>O_O~rfv=>h)+=Mv?1j|3Qd=BFG$H1e0K1cUIY zkM`Uc56yv(IrrV^VN!?YHbElzZjycl%Sd;3Tb?AspVUQ~R=q`MbPD5nU78Byg&jNh2{iUOvaS1#9nx25=QzT+bI!xa4N<*sX;vD)#sL+kY{Q zz`Ag2i?K76-j2f*F?m8l@Q6Z5jK;t)IZJ(P&LxDi9OFjhi(Kxb+5R3*TOc#Hb;KS` z*Z}W-JGb_NPyOnP`p0a7G;r=(dMoZ0CO;Pw(K8-~aG>(jp-{)bor$Nx<@&D+MR_7Y zwBlJD)rsrLhfi-=X!BVFoEqvc*uGv|$>b#1@=pH46u-j(fLQ*JTe(;Y!KgI@y)^^va5mE>t18J|yD5Zf*CX;&Uz}m8*(qEA zR+MyX@1FM&|5(7pWvMtDKsVqalVWxlE7)~=k@8EHo99WF`RXP_@I}yxiL88-@(Md; zsM2bUo1? z7yraAVR$)ob?o@(^v^TjT?~2P@=(1{Sdv+D6XEuoFj|VgxeDi>qw&8VbQ32v-z%=93h6!dv)J5o^pjvU9t@$Ge=0Gi-yG`+C{Qt<`<&EpClS(urQQd5-gTPpxIz{Np9n@bHYejE)VKRXqpvT9oRX5BF~qtn7q zzj~_sil$$Wu|9>5zLUP4y7l|0B>2Udj&aBb54+MAoC(DP zlF0i=*Uznm&bek5+w5r~U_zkXo^PPfa3C@7Veti{lA3RNQBK+^epTz;)uabLu@rhg zxYfC}bbI{3gUh=ry3bST-}U_;z!Kq~9}61>qUEffP<>05IE@CL<+rp4`7hj&2{nR# zuF&Yg)y>q#`Jr_FqQb%?@fWhpp(Ok>TEjk?I}3bo@C zuAe;2Ok+lMToxW`6iKI{iu>(|le?-jFf%81z}pjsIiQx6<&3oz>E~$E2EQ0shi0KZ0Q-l~t z;SK9|!XuL!M3?i8=3Bc?e07BIpYf-NPI2EVOC(94&DYGXPc{jJ9)_+ge6QLpC!p!X z{Y1~OA0k+Djc=2oNQ07l{l+wC*yZ!}{cyO?Tb~3LiyQ%MQ^8LP#*UeMm*=}>ybKhu zx5GBv?_C&!Ts1Pu=r+TbS^GjDwuXfIQksj&WE##0+ba$rfZX_uK_YzHLjSohCwNJd zCEA@b6w)7oV3{trHst6))0n9gb`%6Z(7b~<^k+oc#fqql6$Fm~T<^{Bxt*^1fi^MS zO_V-CzBxDn8rB736KR4nZOd)cVtbceZ2&@A#4n4$DzCO9jZHfd0)OU}kaTgPuXTlu z3)EDv>CA>^v|igJi_D$y4s7GOQNSk#`P09o2R~{`WV{Q@!lhvY@*>ajv&Vu%95zn0_h&c_XIN9VA{)bhEy4Ja3gKQ60+vs|h zU+pV-Y)l6(DWj-h^Ed{LuwTPqgy?Nnv>U!(iWIl+sx({}Gq(K|pZZvR)EqHa;{nTa z&YLHn!(E~#KX<>V#`yP2p2If}B3$53c2FpUp?(+G@zChLT*Xf?FXQK0&icsGw+T~j ziidL^z-Ab+G1S1^>cam%Z}+y=w^w$`(;>?J>+1lqk z>iNhlw|kK@*WYV`Yp~pKXsVjSTP>Ax*~}1EI!O?~n<N{`^0CfbXsIJ{W`g;}(wf~tE808bLEM?)(Z zl7?-rEZH7WosGqfz}t}HbJ%J{VsX%p+q1Fe%Y}{Z&P-AdsR9C86rJ2|J>o$NE)QAc zF-}IT^XB~Ex`%2Bso$HFw;z4b4YFCp2HP@xan)ROE%F8rQczsK#AwIS z-Ozo^0G~Qn2qZ>H2^IG_C$mhGIe;^$$O!aml*nNZo3LMtz-xU)QYyQ6G!n%sA z*G`CvGZ`L*Z{Jg(=e={|7xQ=0f9vIuR-N$~D+LHoDHoAnX47lYhG*>VqW{7x!y%#P zY*%e&@qxaP85RmNSH!{HAaN*YY;4%%g060ci(paHd1wOz=!_cMSwPHM1$Y0G6v=;k z5-d^fVoJ9@zvG!HhO=9|;Se`@N<%&~y}X9tHgA>-laEpK3s0h=m{)<1&upNc=dY6r z&8eN#PiWS_&N_Xc`YAFt#JQK7D~{ziE-}f%sZSef{H8Vm0Ulh#38uw0BAuV#Q94DNlEWB~A9 z#Aqv%OsqD2XH!}q`0aOB3UNJR@)WxeZjWf&;!|m;7YlPzTdO)zCYaz9Wzuk~g8Zf& zL(XibJ`1KVJWLdH`Vyu%Lz*@)p-jdX+3zD$--JzSz-w^q4FbnPdhTm-O{(w(Gd-7elvD#w z=%b}m6jWL`p__dFtn1T;;9$r#WGe#D-l$w`MNLZOAM|@i)K5WKZnE+ED)@Nyd*4%$ z*ghh_`!T8RUUK*=iPB`2bO~mKcjw3SErr@eoy}5f^9ilyd)Q0$le&Q${YYFn)D#?d1 z_FyFG$s;q9SQx+xt@<~SS(0XEc&`t*OpTTD(gJDBIc{h{UH4U6$-H_e=q$=;2pUY@ zq=@alQQt4~(6|W+cfNcKPrho7_3q_5HD~*#(PrgXg187D`StU6MVm3B>bFRbA1dS? z75pK@_x)i?8r|d3F_PPsdM_5V+;C5j=Xlq64N#aBitVYP&2w?{O@i4>?iQZ>i}RN= zP5ao$Fi@05{y|49Nod%(h1 z9KgDkMDy4`D@7FOZv)-_#A()!@wEO1nNEsymW-XBR>m|C7GPgLANQhKR^ro7Ega@= zo$!3P2|+%)DpipN%5oiy{3n?9dhL;4W(+&qy}vK;(BY{xv_5htJgaT?HRXd@O5Ocb znWOmKci$$m!HL`|NBfEI<*(6|S)F)dv>X9zR5BJ4>jIf{{A&LnqthGtOs8!44SWaFC#qBSZyUj?=CpYxxcE6*$`^(IE zgut^)#A<;|ybmN+VI6e=B?_9ebp+8DBRr-e*%#JySPk~Ey3*E|>|fz_pNdyIw`X(B zX*!$dy4=Pp{A{@Z&_PThm{+y`RKCxj?~;I}y?BNpKhlLL0&)|bU+!YPI%g=kw(uVo z)y4pl_btNG0G64_%jzqGPww9ao?x=73)T%&FAGo33mol_vR*F(U|DS7McdnFD>HX|SKMpwo4%^( znCV7Qx_044#Gtlp(JoIDk7AF1y4IPA-k0;**coFdq2m<1xx6jE=GPj5`bTgWYRA@E zKmK)PhtTJ0kL$>x}*$)%a zg3eZbvK3HY8a#{2m@{xx8!9K8NlG*!8Vd8rxU@@J^K7o&diBoK`Dg>r?lu#oow*6z zzJK(QZNQxx2H??i%iAHPMOU*~EOUBkEwU4*OHQ0@;L-Jil#&Wv&Z7oC4{BJu; zE-#In{A;or;=5Qnf7q1lFPZLfqa<0E&C|iOjfISO91Zoq(Lh${EjMQdO^Ka_yVOrQ za{DsQBY5;0IEQiT{S(eS146@+mm0>mE0SZl2zWVt4aW|jH0Tm@a=xQO0zRG!z91qZ2l;kLZQHD{0QHA&3 zOV$K0!6{l5%5@P6XyzHhp%AwXwX^$ro#p8_s^2w@oDp|gH@Z5Gs4ylt+L9q{jlBj@ z0?H&=CX-#%u^MW-a^c)ciQBX4fg-_=#YK5)t2%64mD9vg@Qa@@xaK4oN7$e|vTI z$nMC0=e^S#l#c986$7?D#p~5QejDid@RMa-OMrSyuk#2}WnK8nEg;KN7CSeV++F2D zIsYc3cGE4nxQnl*wopDq44*frcxjhnKDy{cGT4AG(ADyEeD#w+jc4LcNmHpey#(*U zxpt3FKSmZ7>=Qv{!l`=-Ogbu<;M;v&u(?ds9hP87OGpUcfv0zmjE$9fyWzGEgMpai zOt@gXf0Pi>S<(@pM0({H$AM#+Gsh**_rZF1(+nGwa(Ss+$L=FYx_FNeWme8{nA7H{ z+FLXl?L);ZMW6!eGbcjsuuUczEf@if|0tn3pGvYRi&`~Q>0&-*rL0XB*O)%T;v8|J zfi>s4H#`GKGaw&qEW$Vk&5eye7rQOg`I-Q9=92HywxE|<1P_-M%?-AnsF}e*>0OPV z@0r5e^4aml)>-_e*3o&Yt^2hrR@8{abxTOk*RjOa$_Gw>#*o!oBLw#a9vY{x#xlD~ zx*R~E`p}Kszgw(6(Oc#x*Ybe{nWnrA6gkh~r;ty5g_*QLRp-;I8!PPZJ@&lKGp&!c zfCIih>AB%l#Bzga$GQ6ln%(J!Y<>{b9RjLQEBdwOGA(Ot7VPupA31aQ6VDI%hjp+I z-b?JZf@=8s45_qIKIY{s93R~6!x4TR-KDVt_KjI*+ZecVcgJ_GL(OeHVpa_2hXy3; zs(ai&{T$iMD|C)+fetz~O4+n07qCiXr!SXvc1zy&$x1OCZIlTk9&Au8qKrMu2YPYE z`yL==wq9ddoJH-UK)-Y%X{3^5kz8X8JJ#C>DK7dS(i^wt%V8V zEsV4ny7K1|U&PT&?CgPj!lXX)2R&{yQ=N^wNqk*L4M9UQ*WnMHXV7)tsKago5Z!wl z8#`%-KUC+Y+aA1ObuU$;rssd#%Q>M^S+XNmBx|P+eIgdJU^pT{C&!SCjT?8e}QSGpKa($qS$GWV=Ow@>upZdxmK zek&M};&vd@ZN-p(q2g~LYh=mqpGWuhW^xp(<3T1%O^DGOt-n_ZWw)K*MN)%QQ7vuu zHX6F#XZ)}vF41gTu8a70(Uan-XZWC-mZQ>IMU|1K7L$7Xb^kXTPjhNTm#RU!3(IJ$ zztN-i~$xv0D;9hNf-N;MR>9V^I%gpp`7w zcLgBvQk$q?u3Cf4%irOiO5WE|gavClz0Ge#83JYM*MsHaQ8jl(MSm!O;kj)d-^Q$V zzbOTOg}{CfcZ23WH)^FXD|> z)VUR=b~&iy(?B{NTr(+&F`~frk$vh#$fLY^J!cIozT6+1xZhA_EHcvMo6MH_+B~p| zdho?f*ew>bF?%l#&M4a#nViB%L<_RlRG`~f;k=EwepB^m?y$Q3eYqT(l?8t0ikT~m zE{{8ZK0X?ccCU8um*F7yZBaqATyqK%k!kZYPfY+xWlw zsd=&Wzwx}CrvX(R6!!Mr8#aVnx^0Pvwv^(SFE^zdA_{4{Jm9wzIN`I!jE`iPgpZoWGA?Z%mx)Fwy^QpWAmZ!~YmzM4<6Hox5!6(Qo&3kAIS zR&vWJ=a}T5OsL_?Q$volO#G|+#4mUMG;**Sh#q#}K1YM3OZI$8{h}1NM2!vAr%$g# z4{c#+vEw=JHIpLXn397DWQ1NmDTve#8KYIS_qT zoWkzs%crD0L8?h?8+U>YAnyLQpa8wrXrNI+Ey0;mk*vw7PY85o@VMR`Xm~){1R=n~ z_ic4OQ^JXuVSc!El8B^6y{jB4>FLPvltoc8QQ-c*|8v1os<)_X zt`_52icspVT)`02l}@k(VKfhi571GbxXNfNi-*XUqKXGYeyCpG-4*oD2@Do6V^&S1t#Hs;LNdXqSx;DCo~p zTJbl#?V=qH?xm{z%1@7#c7^vn(?K-CRoYPT*I0V^FYcZ9wuu{rcxrFfA@w<9zxXER zMG}h7bS4J5oD#&pF$})gJV=V%*z2!(G^k%2INQjS(K&p?=R`TWKMfr+-8Yd3x_Z#4 zDP@qx_!GuTDYneGeAfz&&Io@+klduP`(#i&6&Ck&GcTAc6c}Yf&8KxK7~lu&KmD`q zZJM)pEuMZ8GJOPs8McP}2J^PeDi9exlcQWZ1Cy%Vff27cojny+2%pmz2`AmQ5Mx}# z(|}K<=ZnZ~p$XFV6w(R>xbw2r(fhQot9dGb))f;)iAX{5cBE>$xDJ;HFa7i zF3LiaWyuCkw|^)C5{92Q$u6PNf(p^-^%jD-v<j~{_1%#!?=P3{E(bRMrof2$ zN99Vaik;wGP{NN?zGj|9-lCyZEtPjZ!TDxJ_}kD*V}o*Ms)g^N=Y3Ulx-Y`!LXN+w zEKn#NgTX3(vY0CreHgj8nTU=xiVY9%>OwRlr;OpJY-@0m4%Mc zk-kL`9$!q(A1_!YKn+J1k0{n_+&#IHXzwMRj&3zKf-E=bsiP0p-9T+g(8^ua78+|Td0$KGS6hTs8 zy*#}ahT^)c$l95i-+UQ5dVimH4wSn<*z&i~hrzW#Cqtv!9J{D}^T~L3Mbhr&Z8+t2 zal0LtX@;<~LV-y9+kWcHv0k%&)~D1TB>1@PHAg>bk?|tZ9JHEA{SNRVME2i;&+#nJ zmg=U$kHE2g#o27StFQETp1m)gi|L(==#$CsN1@WC4*$#hvgPo3))AIrL0O;Q8xZ_F z^+2&g;fW@`&f`0*gaNK*Lw<{YXel7U+v&REy)dkbaj;L91=Mq@$`-+;l8dlz@NVF% zXAD*LmRdt0&;!1hyTqa8zeNu~D(4&Nw(CFe7wonDr;ag*gPyZIl<_#55NNg6G0T=U zH~v(E-|}?VJ>|y0W-~xe&@B557uCFRRT`B|`Ey7RIK5LtFRZq-w#QtuR{te7`Xox@ z{A2;ts?nC$wFlC{dTYiZ+Y<&3?0EtACG@jm4EMXl>dsd;cXm`#4c)7H{)mRNINx-& z_L%}GQ3N;XOmpJ0;664oj=XN9a|#Oo{3*)$ zcU0KRqf;Lp{|TRggg}qbmOU}+c=wSzq$gHM{PXTXsJx<-cd>@m@M&MX0WcQxs}d&B zDPohnA{)8o)P(4pErh}}k({H=c=DcSP09Q+W_l;M|^5m@Fyfx6z%z18noi#7tFrRT1) z3ZU`1H9h$u0lYwyyd!5#+t0biy)hd4f18zMMMtTzp#>(d01j0nwJG+DFmtf4UGWky z{I~9c;@**ieOlxAB7qI4;SRW#LrD_7DwI7G1K7i}jnRsm^LBogPt~8j;Yyz5qrNBB znKL>ex#eI6r3MH$mL^zkv@kmcXUVSRj0X$P{qYZ|Kza^=UQ#jWt{I4KQa~T=XoghckOWH=w>P>CfO06{{Pr}%donVtz9&@ zLy(1gaCf)h!QI{6-3h@pcyM=j_XQ!iyK8WFIrKie_wN3h``q8>-t%kCXVt8#QKQ~5 zYSddYTd#YoOX3)=EeUwkSHV_Px4UDMH}BOqF9*swH;1khh>Gr>t)8ak-W=>SFU{!` zU?{Bv7<(=aoEbtGer}=v<(l{6^sxZPt4wDWJO6=jaKDNl1%9L$G&sS-gQ?> zQNYDrh4u{!&yF_44hs&Xkan#qa#Y1FBEeT$(|+1)umB9*V-@7-yz1SrF%)QLB#XF= z+TA)KUo$HD;sWp3dhPNbC?bAq!dyTh^%C%PrCKd)c)2jOJXH~_YG8bKP}+B1MxqR9 zyU+>b6&gQ6%6c7@FT#r}-K4f$l7Bn>KHN3VQuKXk8GAQLyTeO;%hIPE$umxk6H# z{t({cUltYm291sO#Itqf_ZOjPfHvj(WX^(}#yWdOCc4Ix_5~iAfphYXn3+~^pp`8AfK zx6;au37$y+(dsiVg?16Y?prnqEB)I|fshR(m=s_6=e(u18@O`V%V#jdZFX zSq?`RAZHZ43`^EfsWs17#77lgP0X7G2|k)`edAa)<}@_KQJP6%PrPMyrYe}NZ6BdM z#t3!Q(ztXV!ERNm9sTiRf6}}_$DTSgYe>#0g$e#}92B)f2`Z|l5hpC_u~o0AmG^$}L=R4a4VAZ5Jm_TeOD>1EY!hUni?d2Ki&PdXuX|cVV8j7F}msjwz z%6>{a>qI68GlYRFjXh%i@WKPLMe!x_Z6RmZEh3dGXDwcygRfu9kKeNx+9zKG_9 zXWNdc(?X7Fgq5{$*0Ez-mE7y;%g4?;4kz#q3*6$>`3^2fTfCr>d{6zJG2}aUFY>yy zBCHsCQA3s&X9$n|=!@wgru@!rJWa~>Ks7#CIX_UetS%@bJ7mp5+^!ih3_Io)Y>($z z5Sa6{+1tdEd8I3LC%Dm!g$-JtiBD%e(%|{@p)#L57Viu{o|eZa0H!+Qe*ThfN{avrgb-+^Gb-T0GkSx7FN1M{lHCey|9eu!Y&KcEyF{V%EU|x9l0jw=b4xal!A}Eci z{2wBJfS`!MhPcR5n?d;*-vQG>nK7{aad%p+R+zHZ);5Cv2F;(H{xc5}P6t9uuHDOg zw4!)?+uD$DyZqi|RPpsdmV$ivI46J=JzT>7R-$VasK}!|du3$ae36J~Af7iEljwo! ziQ(qfzq;7)WKd{0f~%|(hBQ@!p&Mfy`3QDfKFAU}H-UsrWL9M%G09R3Z9D_3L!qVp)CE;2jGpC4494vKhu#VDK7eTw7}eHJ{;N4} z+5goUZ!Ht>zg6ujot@j)=HR}o2R<(KFQzb7CH&{nj}!#5fd^ARP zy6#Cs!7ucLOR^1y63LkJ3iX0$I{dz2d;0QZOC-eGlwXC2rDz)4+CvdIQ~x2y*=Lye z+iT$HNGg93SEp@4!ZG<0BdHX@UGJ8Vo%vHi!)V<;}Y|Xm?-AX5~FaKzbxR*a09@qLnhqp4;jO`+t zx#G`s{!rb^>CAvOMM=o|U8&5dwL+;c$bg3`FirXHCLd;Az880@k{u}|Vcy==FZ>&s z>JVq1uNroOn1~}Ofwc?V2HTZ0F)(B6w{!Gr9Gw)RHx=;Y;Y)}0_CIx=YA+yoc&~QP zN&lg|bud(l{jFTsuriGnB>$bDVbA`=KcZAe-s~5`Uc|%10tV!cN%N} z_B2}WN8r^Hmf&^Lp-%ATz2i!1GDiPWIO&8do1T9rhK8>?*5ZH*(5g%IAF%&d*$uD^ zZ%~J8{@J6ShMkS&L5) z??WiVV@JTa^ojH@zwD9GY_U?`pbNt5&(MmYj9b-0U0Tz+#<}kTk?W(kE(i`RZnQ_Acdh!8K zKeo`~fae+m06JJEk6684jBq!7)9IPLPGX@J+pPC;b^v1&;byMNm){_G$DAqj!n=a; z=3|8*#3BcZtunJMbIU@!9?-h6fmapyc3*Tslz-6zHzR$DmV};|a+=nD*)I9IDL1iF z{S3BKpYIq}-IDLmQjXd@wYl^|+?rTXrGxHXU=6n)t)=9enH2p6&$f>9UcCY!sGtNc zdWYMhM?QDxZcWfzW0_0Z&$4!90)?5bV}uVd+J!)kaG(BTC1BkLFWBF zu5hL=ya92mq!TLO4Y&rCU7YXtEE)LZ-Q!~?wL)Gx%Y>nh&F~)zilcp`w1e zG1?>fs!@y=yi@odTn7nb*sv~)65p2)Eu`@c%;#iA|L|M?8~1}mU0o^;Ma;7AD$w5z zj-d)*D@gWFBl*{Og$oLAMH8)9yKSmHu?w8v}n2;~yaS z7(lQTW2^J;WZ0k@E{s8Sz7^`*QFqXG9aFvour4SP!T=4X0un>X^YkNY=`LO{xn;Pf zXC4GlA#3Ttr9Y#lzi0Il2fdJ?{ckl!{WTv>7B)4(ZDjx9=>Nd5fPWL*JP#Vf@po+7KG=LV5`?fn8tOJ;5-}_w!+>Qf??nVvjQ#xy7)=~Y)J(EqH1beRHbiqfr)|5PGLX;(wKr~UY8vH_Nn zoMlgZCo&dReiKjr$a3@Jhntr}C{>K4c$K<%-Hfx3JTM+ns>NBwQ-la)(&@%ba`7nD zyvxj`QKb1F9MI{JmOEcRgeO*fVHA;N^e<;0!{6wRlM^PR9)TEswddH)l$;eL`MkT~ zb|dG;4=4MzEg9nP;`rae{mhzOa7-F6^)zj2;=m#)La>-Ak%y?aRAE$0L|J=Ft==je zuXJrxbN(`WAONKdVqp+Z3@clC)RQ(i#VGTXT6@c9b^mrm#+StrA$9K|^tTNhUcf+~u0uTA|a7^z$oo zyD%6VQcpeVyH54H93LSin|YYXlmnV=+-O!QWaNlLC%8E%7uP2FvG93D$4;eGTg_ z6${VZVNsl>1NHWzjkEdVrzGCb8wHu0Lj^m?4cF}O3wmUqP}Omld_G`lK7Fh1d=BH+ z*qhZnWSo8b+SBWDNsjgax>@ouEEz&taNHol5@>*?$4ERheH?ogz#Y01Nh^FWl6-T& zI-SGOiW;#3GlJkn6>&6FZUKpF@MmfA)BSDoa}H#G`4UN4{wqt*}u zxYz)Jsz~%(zqT4fe7q(IeVvKb$1VCOu57iyn|U3xjE2~X4xQj$ZUMF87e9(wo0L0s z%F%rH61`&^3w(ka={GhHY3`c7FdE5?GzMFql-#ND?^D^xv~?JQ?4H8)SvKWLJtCT^ zE~5TcIus+?{$)?I)C8uQ5r&0NI({CGPLV32SnfzY{%U0}WwsT;s)(_EHkGq~^;k&p z2{Al|`tf}1A^_SAfn&EMq#={_bMY|KL|v8GM;UtUFyP)-!@}ZU?AOn?4pTHVZK`Ns zjaQ<0%Dl#SxG}XR{KJQ?7}o{Q0quA}ITe21RhHPhq7A~YJ%x<+H}*V{J9Le#b94^k zdz@$lIs`YCYxH93jxv86(gh}=8Hy5EMg>f!3GQ-#(tHS)Ho@}87@O+q?zRiW2rkIE zefl_Ur40t`yO9hk6RJ2doG2~3x9e?(ir!d9drV9$N-aHqKHK^^Q$zX7)HBK(71BVu zSO2a(6b^sI-Qf8QSR}v$?INrn=g-yaK?3B)T8@qL+Eod|39eLE)sS_FX%H z6f&*vMJbfYEX7WoFBY;yEhafR+HNO7H4=n0O@itc_|4Hx!R33_^;PIU2X! zuMvQqRZmw0P;|Nts+W7Xwm+KW31Hm*#aNbd$=reIgp$!yZ&mTw)BcI?UK2;UarzIf zYeXD8y>Rvyo&P-!ib)2Aw;(O3pf%^t_On&r9*P0Er<(2(a}Faeg*LL*@CF!nV1-oT zgt|v^>6xYCa#UFqHfi@=kp!rsHW~{K$mB<;g!OE&w(76t@IyAlyR-Cmtty{8T|=gQ z8}5V*^ZcMA^7c^z>k3btuV8VBTPEoZcbRJZq|(LbqqJDd5`(TbKajG?Tn-CMqX-7r zKF^(Y3e7lk%H>OwUp+p2LQ`7nfZ)*z{2rb&VSkS1r7DhIz)00`7-mwdvT4z4bLP+P zF_M9$_^aQ1L)V*9W(CrsWELYFUrTU0CQxmLCeDMG@yULDI-FwKmUFjWe#~-)j|^s= zR3`z?AAuiDb<8RaFvf=;cr4}*NpM)1l%lid_j=verj@H#(Dg3= zRTnvTPaQ+X)HrNT~`yzovYk$|| zwvZq>)S@70+gJ~L8sA6S1_ z@{%a1Xe}q%p^D%;9Ie92;!hXgJYyS{I1OIEz2vm;z4w{cMwq(nj&JPOZouT*+31$o z6M!V~Uc3+o>AK}=)iRv}HCM+NH}s+CUm_O&K2(nVTY`@L`B}aBIJU-KG1;yaUdNKV zYa#XBPXjVp+DqtR&J(kg*Dv+K>E|3(`;BggvB+VWO(JrZ!$^l4SJxk}%8PFO6`=?x znWGehMZ$w&nu+5KzP2E+(!Y)D;G)_kUx_+df*S2L`b){TJh7Hr9F8Gn(mA73X1wF7 zNoGxHPnWsu4{)~`ix5W58xwm`Iv+L_pZILBzxL6Sd3ZEgVvs)QZfP@2Fe?oc3b`m9 zFnkjB4oqPp(y)6cZi(c<2CEi!f-X2)G}>hJ+e#h9m+RgbRcL@Lr{e^|K;73qsaCaWR@Lmk z&lmI*vZPB3)H)n^Pu6@tTBb)ICivnBn`Ytr+rf}Lk z^0iAjsFD!7zX!NFA-Q!nopR_T&>-~U$n-rB7qQ+9;MtuTQx%a;4M$P!@Y-*T6Sa*S zog19$YYnS{8XNLQN!AA4L_=GY;|4OaAFMZ`;ZMhsCO+CaDaD64DvhfU0$&r169+PQ zAR`OM#~GwDxS*UZlqDy#5^2O>!*#i`oJL~pw68%+#59^Yy3ZF-jVhKf%MBnLPuDA( z#n!I|b=9uZ+gv53zMEHDUa4POD!#V1gsGic-#vm!hoxxzeoocRcYw*m>jbmRU=`-h z-LrxyTk)@r0!)127stJkfG3+y#fKomOz~U)7gSVmECoSCP-{!YyA!&qz?PHP2Ub9x!hqNA*C+Z~F> znXxqLi|)Jy`i|yLIE$K2KNUb#yzn9GI@gMMAg_j{<5$q;W!6pQ+vl+7@o-iTzWOcVVIG#VRP<2gX8Y?|I=P1L<5)GWH=l0B z5RqkVcJl1%I>v$1Q0yTvC*Sf+X?bS4)ztLoGbgJQQ;{?Mng78&GhHpb#bEG|>UsIc zLz#-aBFziPhKhTAOJV)#v-5A3T=FaIja6nZ`fXIp=p|x5@7X>ZjuD*A(J#sGMF;() znhS*o?zGa&_i2t?lCcOoV<>Pj8l4~20b<7ZqXAedl_f9ynzUY8ZXml-I#K9~i^Umx z0IUlEaO;{+mSyWdUV@4ro%>Bz&h9VxFds)qjMA4;ogFwrU<0>a{D1GWULuBhm%fMy zYtv@pb$yjimuvZP2l4CYhv5|O4;wq3B8KKh4cdLZcbxxYq8n1^$41z^Sp&GLTpBF+mh*vCGo6IPlfE7?+vGy7{e|t|+W|oN% z2^l4pd-f4rjJs!Lkikm+GFTnbpFtazQ*(1HpVrw{@c<689;L$={x;^D?3!1YtgJzg zAMzcgLaT;G6Tm9s+_yfMDkG(W#V73+mDoc@Aol>3$e`7rCRpqcd7in7nCq%6xLgP_ z_m>X)+qNX3?$Nc4)SlWijnuTwHQaqBV`v-KXE1Ba5#>VjB&e07;m^0X994l%e0Me* z!c9o{;oX@my*MMxy^|(C{aXS|4WyWJ{o-xC;}_=fl>5cH`IzA4)erTbwoMMAhOAmK z^K<7R)BeZGLs!j*0L{e6SYrgJx2>-9j-KSm)03VAr%A-od7cuAZIYJCZ)1r%5N$8v zPc~FMjh$v|>4Rz1amb~M1debJIFWe7g!B3Ma&vxFtVg=j&$JO~9s~(r*n!$$qAK>< z@|Q)(%C)wxfIT_!DZO%VPs8vZv`cDqRVc)g8Nj9Sd4k}upGL6K$nWCd;gw@2CR2;K_9N{Uz0NgQld&qH zE9+Fq0V{l3xU`Ai<=DH3>+tXVT%MgjPqSkRO*XvEJsORkgS&*LUIiUxc^OT#HE6N9 z@APcdTcCS9q~@!wm8PI1Cy5>-glx!)YWnwezdu!+2l+-eCA`wGwfOTJbvHdOLG$T<>iS=$2++J0Zt&d>^8Hkck8k`?!oSxLS*ICA;^j5I)HcaD zv7yz@OfUdC-dSE+_x>Z3a%~H}O8LSQA128cyu1XK@Izr!A;$kl;%5~K#8Z=cqWscy zf4(`|;_{9AAudO7{j`wcYOyG@s!tNY*cqJ}1ay3jaGdyEMiyRan6}Xj@{ZJ$I{)FK z=9R|7lPU~mmq|J7_AyuO)pByOaV02DTVg>Gox@t?XOz_By|3ZZI6ru+g{O$}TbQrT|0AsUH!#G#-&o504mQKk_xPd@5Z~U| z*JXtFxmSh!x5VO_1vRsG__DVwkPS^pe+R^$V&+Nw0UYDn>hVAS`TKkDR`vw{;)nkd zF#hjH@q|C*{bgd9{l2`I^P7Bs$NZlq$58!2*Cveg3o8CSTKIQG3{^nycN63Ym0{;!0mP)pvxecha-8C`3)A?`Aox>k=vew0L(qBo1|0sY^=dESH z@MxU(#Un|2Q}!U~nAiL5-Xwh^y8r)LwZc~a+w!t6=k9T5w0JG>b|6-_f4y+$#bj<% z@UPGm4&np$W~riA&@1Ln!D(sL;||fci$?}VyZ%^PbBSb^E|DSZUb?;q(CF5IU}P3r zpri8v;N}ZAYYN}?!}eT7Jy(%@w5wPpu=FVhQPrlr-3V?`v}ehw5(e{4IJrOuq7L+Z;`+wuLCbrZY~KXaX^tzQ82gnc7LNu39H3sf=;l`<=8i3^z;zBqUkWyeXS_C12ZNvDAt~ zBDxXQINr3H`z+(v&-?1D(%e%|Yuq@D7X8@EBX}@t5b4v-Or3!q<_@zIpiRNQNKdFKvJ$o)%o7z~4RXi5`&(PBMm0g=OhvWRXk zl=5Pqr49!@%HK0M$KM0}^{<}H&)q-98k5V6m#zzpwetZ@nOEo2dgt@}X^IfWhn7wQ zip3Ke@(!(M6o`?+L^nye>E7sa9((6k{a_SGkXz<3tmZ+qAN^DB13KdS$lGH#|>PpMi_g=k7OwioFStXPq zS%54PSY7YBR71qF9iVW(-a5+oKb7(ltQek&WFkLcpvYEvUg95#aKK(yfHXo4Fj!7}Y4iW25|$nO z2n_tPV%wUngPw2jQ?oj0Ba@fhp7kx3#fOa#V=RQpIQIsS#O?(+O}c881~ic_zJ zbJL$JV>~@$v5d>BT$%IH!yAdrwgs*&tS_^Z=c8^Nx@aqMxts)Dl28&lP4B27J90)o zO$n=I;3&b)Oa%VNxl+Zwb+6FMiPClTCr*95n+5hRdS@H`6<>Xd$qOhi9Z^RRY-fBp zF`Itly^DRWst$)UN=bVbOBzur7MtMFQXhdSthp*%Uq5K8L8OffM!fL1FV5QIdLDfs zSkt(x5kif>nABO<>8+UYw5u+nmM9i|+v~lNtLYQHNS~;`%fzoGDx+lm0O+u$8nP`| z-EghiIL)7T?;=FjJbKF^RrB;|q@JD*iUvqcX`!Xfw~Fyuo9kK~hOnc&bKNZ57+@kU(eP zak9jkcv0}fiWe_Rs%(0nw!M4|k*gC5bl~PewIQ)z0$#d^-jHuMi&YCA-9=>o3f#*_ zdlxkKa-|52`Ey02Cl40T1<3@lVtDpy`+nJZ`?mlkBs<|p0^0`9fBn}VySQdVSg8ol z)~RT071562L6MQFTz(O!d6AV8L|9_zbjy76J{W2o1AgM-3Ker|a}f|_hninG>y2GQ z++2^WR+}%+y8BSxp`-0h3hVFswoQe)S~?qgdoT$EgY2l6v31K#w;=2wz-4>FT8$7t z^Lw^A^G;Ucu&k|vy}e3%cvu*UZ?2uY3W1Y0en{OY)<((;#HdwDFn;Tp{yZ^bEK!`+ z%-uQe!EK?8ci;lDUn-^o2EGTRCHW0%FJqy;PA~=PwU1w*_k;c}f~i{)eUQS&t)15) zm)o=@-B+^`;{3E%E9mxNu<-MQOm*@A5hxTKn^i+wXp;^p0jGN=WO?=0)S2V-Xr7#VK$=0er!adgb zJZ?~2MB4(=4K=E534r|k8NDlOZ!>0M-nNiusMF1B*;e~aGs4v#5clouycA!Q@2puc zR_YuwC3sBD{3L4LKgOX*yMhPEB^;Ns#T!@6PR`L?lSX?in2{zt-FgU`A6^4|Zz~2e zGO5WV%!f%e9tQ$3-)?4<#|E3F>Dy&BJa^X#q@|-9sLR#=Ic*1>D2*R65ofCB)f?gF z?8KS4BBz#F`>;^YapAAstG6#YDm)a`n(X}h2htQ>_6S`N_a0C1h2raHi&q$vEeEakx_DfVF z+86#hiVtm^RXCnI!RE-xTy3gRJU_p+ASgA4{`^s0c$VaLw+~~JzUrrcITpI}L#{dH zZj;jp<3)p#FKy2(=*Qu<^O?aBrY-?~rHsK*rr0na^y|oB+kUG-@w^FUVNUN9(L z*gg)S!s<0>8&X}e_28`0X_r~#mivZmeXiTcP;UL0qqzg~!kvj1pi&mJ zwhAC#&)58T7&y4qxBc>w8fG-h?`m6kk`+-uva#-^znDYu#R_(A+&;O4ZnVjd5v;-dPfX_r`h`L-nmE1C zV1S=@{O14!edSAdHF4LB`H3?#NazP#PRh<}+OTN8S-!3n1Xij+Tb0wE*I1o%W+kD@ z3=x)I)SagzGdX6Yvl|vRYdC;?`PRI*68NOUw5X#aNY2#dc#F5H(-A)sR0daW-<;4i zNIq(zy-Ht7jdFRur;~UK6F^?(DP=OXRJD(RhB?mFeOhj1f^_zLG~CNXMVY=NBxnYB z)|y&6@!OYo+;`SzIif-K0qQ`LrckRp(IsI?gy`vpayXTkpE|_1R#u?lN^@q#-l2JN zJGwS$XFNd;HzRMsW)h|i&HC)-1n<&1D;{_62Xa-7wl`H)qREL#Wc@#@tB$c z4P*C3Z9kf%ltCyTi@aedDeR44)we##910f^VGs~m*~`@Semt#QOv<%quoD-TLN6B# z6BAR@OER@)zD0;e0mI+3a2S8_yG)dNs-?_iwCY4$O%J)>(@`)!&6>i3|O1>q2p?L z3CQ2HAKGl$K5YWUNQ@Mi>t?RnG~-%6WD}7S0JO_|QOx)9ld^|L!0?>5A=3$&5%f3* zB;}x2xoJ_)|HfliZQ|M)@fS0u&deOSb&h4Ht;qIc1@(B9DO*Te+LrCYS`oeO4gx7f z=JaL9PWXmTg9>p~p^e9ulex-iMrZZdLp`wl8fPwsLfSOjoq40UDSR^=7x93yN(z=99YJY8xPzbrx?-)5Zo8bjV zo#Em1SJerKRGtb96g!EwD5-0S+6WSoFTE$Y)<9f$Eebg=h`Yiqb%In34?}}B@wQqO z_}YX?CbsCO+R=c(J7XsE^;L5#bVo!b+xQ@>O1-wUQXjbvZ;WqV_MqSSziri8d}6#4 zVPBT!`TE?cDm=GAwklvqqz(C(`CPo7e-W13PB47iVlkN4ia*UcdLN)O{Gx3fx?Jgx z-Mf%N+L8T8tpR7zVU#hU?5p+1i`a<4hz293m-61zrA03KU_Fh6U?eJTAkT^o~Z<<7py^^4JUKq-9wW&1$o0Gz@6dlJ;=#vSGw)UL}@+ zEIxPN>GC*&^+C89WMZ*Uh2rh8&>wLXWAI+qP{KwgUd3=nEkru$Htv*ndp*tksz%?N zf0PT{Dxo}mrWpRAj?lZP3@pB$ye1SC338%&FewYY%+5-3q~zA1k>P`wuTGGy`f8k*t_1NOH;dM({Wp;qEe+5|ifTdt-W9qaj?4Nph1JM?7k$$oAFwd@)rp z!geI&W~6}{naN)^YOQ0zxhV&l{<42+sWkV74u_NSCJ;}1Y6UM&wV~jhh?lOp@JMv z`3e=cr!UQj~(=v6gvp!)ydy4R;!hjO9l6o`4EEkqJl&shc21?orM%>iGOk;jKu= z5o)Dl!B9-(Zt7Ms+kFGF!U_$uf8GUfkH+Axb!%`$t-CHh^qqqz7Yu*3GXVYvHBY8} zz}VG&%$S4yB?|5OzS>zT%=!6w$wU?@w%-qWDiBVs5;abktYs`6Qn!w(927&IzYM~H zT?#95yC24=`pL#(vtxr3u4Q2~vb%&dNh``U!w}f};=*}bF;>!~6tHMkmPbyz*;H&K zRqmy?)NO1jEBk+u?|yMCHo&j(B6W4cvhFPzgUbCpR+DB-Ya=UA$}zYjBwwrP zyh)7)RDN?8&>;V}13y4WWcn@RSogF^>Ncwp!=k}~(6{04D$_XhNXZd)g0kJO_%Hp% zJN?O&{lTAQaX?oYmU7@i?E1gYR;_^^&HrM@a($nsqdlIy;o?yPoK#QV*_8Lk zAm%R!XV<5a4TJR_Q~P#?>GGrA!0e@*Y06)4^q0p#^f&wZzq$VhVfz2BH3}e}ri4+! zs)$A6Bu^|cn5)9cr>SX^#Ga9X7cC*cZ&!PAR=9$&8!hJBM$(GDl|1SuO?2e=TRY0% zI#~QKzDuF~-~NpWW3{ed9&es7VWUO+`yC)joKA1*tH^x3oYsXR`ek;9&4P{;a3dkS ziiWG6CIdXbV7LZF6J>|?D47{&NOq>@EaWw-yn!(6Fhr{clRAo2=v=8?VfTV~^#>1{ zcIhq}`|-5Lux=Za>7=#XAimuJ1HNvDvJeiOR1m=fY&%B!q;=tI_V4lhWIw^6#);@^ zz0CZ!u@^4bJtme9Y=HII2W_wO(}JS6FN23&!Gmljn9e5#uh`!eKP-EX}6C-VIgu1|6js03D`oU^>}zRu)A8Yz|HKgiueUy%kzv5Fqk$=u!r@LtJ-OKNtUFzpR-b|8fM} z>Jr<3%tJ}}RJnViXBD1q7WDT-GN%XUW=W92^fCju#}_<71BB)nnk+zdp~Ea`N2>nRIH|D@e0o}A0?01eaG zt%0~(kUfw6)m*Tr<%mp&$rqdiBFuHvXk{Fktqh+IrDE~k1o|%9Y3i!A+^AZedAS)p zeB)Vwux(V2Z6g8p7jl^I{70ZHOA_*wierWYyW)L?ATG)&IRl5Za*C(P*nQ-c5nVEP z$amYA9V^a&+v8dNQETojnWDF^(R~anWmIdt2DhQ=!`{O-TO$JZ=R4qrzL#xe=9=}U zp_$v1iD@Z2a3Wc&=h%BJ*sb^qgM-_3yX1e8%hhwaysC9?8_|X1OUUcSpktfmDn)nN ztBNx zjo;a8gl^xqnIEf3FWQP~4?R<-1_gRkm>9HtI8Z`mTbb4|cG=S<`Od$z7%u1MfMFew;yf zhT3|lyXL;+DX|=~@C{)ihqjDs4AjvyeN8e;04B{)GV0-(zvl{nbryj=UepRt!q1ym zS1AcG=EAiv&H3|TgL8ID02S#Rk5*!jBf<7kYt>5;9+wjgOGai-(4NfLlsz?lmcjD}mh+C_@(o4Cy%@JA23ovmtvs=h)ZK;O-|hnqFA?Qp z$0tb_lzPGoC{jK&s4U__0x{><^Lb)1Mc++xKs%onn$eU`X4+INYqqLNJqfRS9YxR$ z{cdZzK|Fa=>7co72`c*Pq+A=xqUBC7JMzPS%q2g&#MSs3x^C(5BcB1J3OQ%D?vbjb zJv6g0S1CQ!_01!g{o=;-CLJ)%KGRUl13|fiDkHKhIrQ**(TW!8S`ELyhC+uu!XOr# zc&jbcXRu~d?dr^`;+?Xg)|1{rV@#F})8(_+BVnD7!Oy1nMPuQh`P9$7sz{MDJGu$U zCQVif1!U%^Y=e8qj#oUf=Rd_?4!f1Hg6sJS&?&cR_HJx?U$!rb^tYS#tbnrr2_3pZ z1Wr6$Go%-ZrX%Y>ZuFw@CVu9U-a3$YRnk0{qm`!f5YKg$(hYJiJQZ26VmE(JBj)NmcriS-U$Bn=_9@e-06c%6U8EW zz^<^+K{P{$(Rx?fm*l#8Sgrh<;5odqJ1b_ogIjgVv5i*7I0n--A$ceaYmlT;HC}xh z6A5cHIuVkOZ#M`7&X5iZ=8BDpE#j;(Q0J6R%%tkWr5f064Ti#`#cLFGjt%~q;lDewagQc=up!YKM88DqHWKE;Lpyi@x zbbb2$bRGA}V^!g3EU~94-UvjS-}(!k@M>GBSly9y(^oil{A`Q8?z=Wuzm|ZF2ioPY z7#6rl12IL9RrTIs!C0_L?$$gew}5oxH=vTb*bL}s-5drLlVu>#Te($i)A%MpY(7s| zpBL{d9dx!bVF$X1`933mF=*P2)y>FS8jcvP2B{_k?@ob!%W%AWjvhGo zSl{EJ4=}VNU|gx*ooX`^zANX|63n?Vw(0O}2eNPGDBPC3Ek|dL2>NA*d_C^eC3`4> zVJ5fmfihhU;6HW!X!!dlp>xMq-Wa}poTn>I*%@3dMt+OU)SSr5I1|?mCq00SDw41` z)Rt_9Zg}UnGA=yEJk=^P-|m(?xQq%qSU3WQrI3;Oboa^UaCFfNT_WgFMI^nw6&E*c zXVeqio99ITp!TIb``Q?efIrudDQZDY4pu~^@d=lFDLQb~Q~}t;8B7%HULb5D`8m!= zLxeLJ_@SZCF;kFa^|D zSKEz8bngQ}_a?LQgjSulH;ZTLi06>uo%s^p9a35}5_bunV9Mgg7SimG-^n9`===a( zkeSTL&D8d*Kh)IBOh2g0O7|=7=|s81zQpTV;&!0CXh8+<>&_mohO)2syYz6hY` zFl9sqBYD+tWr#eCA{=J_I#@#{7j-v(&1#<)T`DFuJ|i2|RqARLGL#mJt&<4~Lh#b7 zGaJyJV}Eh z!h{+-cqdBTrDynqOw%jaEQ8n<>rH$fU4+d>ygBOlu_`-tutIqKz>u&F#68=6T})g| zKmHktp?yTBC92Lqo5xgkqKJuKO)wJ8iGQ^lJst!XkW^djyzNmfg7 z7OIr4W$>Oit~)+Qx3uHyTuhVpG|^>AiwF!Srv+X9?!k{E z%i=kRx3WQUu+RwP^Y;J)F#@@kN8-fOgb8IQv^{GnP?T)1okl-Xz-2ar!!!w6gQY#& zI_4I8&i>e(^&9v>y=&UjxByFFPQCn@YbY8;KAz?QGF82Du<)|K zc^&Mj^dpF-Ala7l3>W{^QQRd(ZkY=l%VkJU;3ct~b9xHQ+~Isny(9goTV3z6Nk0}G zj!qG?#EHLO)hz>e83Brl6mTGXme{O$*Ctqzl?5Q=r5xa-6dIzROoU&gTLhlDHYzjP zY!XztN%_lV$tbAgj#UV?{Xr>CbVTp;llijp@z$&{@-5_G{LnXVoV=y39OO0&!-k3H7=-q@b^v_}=a(N2S=|=HLon zu)D^PRhp2|rokso=eBOFAX~j#alebME3PfoSrYPHOB<6JJuqc*vJ_5VRlE%(fTdkO zMzBrQZgTqKbnjtF^^|k+>g|YpxpR%lw&5B;BGsr3&&K=$G-?%xuVbjm!_x?nmqgu| z%>!_;lz^&cV%vS2UeK-rdaY{fF&Jxg$FA!DrLwG8^wX(B)pKjUlaAo)mSdMJJw@Rd zsC}yI#RhiuvM@%+mS5?$=i42FpxF{c-0h%azc{9yPlyE~%oQl^uL0JVrZEs(nWh~n zIp;rT_#j1%1R&?IbCpyL8kvMvTx&_Xs3dl$v=(FerKbM&l|!mU*!2`V;9bUeWm~C# zr9d!<>)`0paca<&kOE)aa~d+%5%0lkE?qTaJdQdzK3xhSs={+>Gl8y5dGt70n)6b}4ZSr(2;h+TCd&b9Ha9HzW9(_!{2TUHc*)O&i@{ zC_M~FGL^0PFYh7>es#D)#??@x&9PNlXd@^J7z6qNPEYxKDs?{xKXd)5BnBpG+iEhhP<3 z`8fr2PHgF67|oiwI^l-Kt}1D36ev7_el}X%ORj|?o1!Ev#2AT^l=IOnq~C|_?xYJO zuYOLd)qq7q(wZ!ndq>;6PJ3FC_q4uymc810DzgeMJ;eQ>*`Y6F$bsX+`ZHGp&GvIk zd9vgw7o858>`jqacSstV_R_B`wWo_l*!Zr&E!sORzHr0F8iyeK@GmsC!biOba~Km+ z2cu-)Bi9)jw~F!DjZ?{2I&-JwPnc@p`n6*?!SzwRni7Crh==+lGZ} z<0P{qB^&|sc1;bd$hGkbqHIL~g2!^{@cVQt zDCWlbT<_GPjHA*!QS0MM^H-eB%-Vftp;B~KJJ;Ljc_(F5I;&X489b+k2DT>p3~6>& zMw8tU>ZTw0&b9untv6A^`jg79_I%#^F=X23WU=0@c4~%|x?GZ(k-NIXgR{*esC^Zy zVW>Csx!z!s)eLF>q5jOkX=Ylb1=5%50WbzG(B@ybJMg(<(YrRmy9Yxv9>_k2WvK40-6vARoZ78C`CrbMSbr8>QH>dEG z-!d62O!8J)2{rnn@xuqz>%#LJ!jl*ByN-#!2Zi1g5Hl-I1!3$BET(hhk3==E5fiYP z=S(ThvDL)fT9hMeF#|l=%$9l}Y&Cxjq4&P{fLLeVuVr4;N-)x*uMKPaJxX9vg}o#l z9TmoSvi6UE@n(%)92|H0Y1YPg3>Sf2h0Ml8nxRq_IVai~iB5$exk0?OS&nDPt}AeT zGR5+^O(mt@>nM^`S!r%s?Qmk?m3^%1kAQ3001PGw4yC*V66*{-`P}L8WHf-j;-3ZV zA|=Dqr3Y=ax&rmqEbt~CcLMG_CZUheeGpc)^HP+w`H}D|5xa009jmqjvek43A)|+s zF&t6B3E4z_sk7uCx#oHG!8=sLto!WG%(%f(S>vv-Y>Mx16fCFLFrs{@GrMl8-PqQ0 zN%?Rqe|W9#BW`x+q!QhcxbvArVMYNqWya#(&dALgeBe7)o!iGB&CX>w?#4*Qrvf$204@)ykY$1 z?kZ%q{=nWcMiemCOZuHg8&jIV<-<29LQ*hTp7`V~adl0I`qvGNLOC zaegAxO~gMs{D^Q7fk9KM6By~0hj#ia0-8Q?81iPWu~sJ@8)_k}h)Jy+aBt+4D6XxM zE-Bq)5V`)}%!h8b*D7(7ZXL$xM*HJyEw>$6Ievx>YP~QRwQVfq_KNhu-|C>{To+ZD z>#gNC_T3@CO;G*#j85XKp`qctiJzYz-P1xuUk3M{*kNb@-z>i{$%26wmP`(t;lh5T zxS9jgyk!>DESq;j*TD>nA*ug zDhTTz2Z}i1;mak}6UJ3-nni?Ky{}&#h?vMWvj8p{{vh%3{c!r3b=rDyJqDj3GSPtp zEr@+!LXyEQ9VxrHGL*ZZi`ORwE- zY|Qo2ElTE{H?m}Ucs#@Qz%vVG)RMpTftSd;LfId^YOT?3yb?hSTsq*fE?XwU#?NLo)P$1RFyx4=^RL~H(}Np{^TxG?_3uWta&z? zbFjzwm)JiIQg@u0x0QPC=QKVp8fcoXpKb{_hBilR>H@p33i*ZnrgS_ z%uopq$UXaJr_~q|!<&YhN>tBRMUZB5vU)m^beudVi^;>4pr@-maogaKBi6IL9M=l# zn1m(^H)Cc5vV+l*r)A-?DT;Y1xtybCo5ydN=VgQ%_VfB|j&~Fi!gR?4@{g{Ct<8Yf zsls=PDSFf&ZC2TUulL8fvsU?kbB&@WoVvL{O36bZg+n&Bk6Vk2qxT;AkJNdUp&M%^ zp&;5jH+P%e%1K-4YZ^fGOvgZnX5h;Pd*%BzXRH;3;QnLE^hwzl*k)6A^hSN2$?(l% zT#_X@aUDN)1>~IIwa;0aoTUUkw2sJ2sv;qUi5LPl)FBv2D+iu@ER`(wrsuWffK(48 z1}*F5n;nWxBXczrqQ5^3|6xWF7{6!;hL{JGfA7!|uH!$RZ(9HscNi2kXbJG2I%8~a zG)LNoo#Ce_{(Qfpa;=_d;l=K%cESJnfw2!tAYFP>t$?%LQ0eb&uKu+Q*=@v5-9K;1 z5;R>`C;rEILV``*dTV+W=^rA5zr7p+#%APE3Io3ES`Svzzs?{3X#Xl<^=p(?Vhyb1 z|JKe3{e`TcXz?%pC3D~%a`wx2lm^*|?F!q!M)?o;@s$AU9+weN8xlqS_09YTPWx<* z$|1px@ zrh6*a`~N%tZJYnqU=mD+)0#9qaCXhg&zp}c{)>0n^MPXgh{2=Oi3|7X`M*)sgzG1a zR@1@vCIAPo@GX-2$p4wlE7c2I<(Fko8cW5yiwO3zIQ|4(MLa+H|6ULH$cpnS4euLs zb`R;#R(DtFzYFc0h|}zz9jA`7em>~?5$1k$BCgjTfP$3x@o1I2sOcl6i@6yhU!Q~u zMqM?r338&0Q6e&fmcL<4E70vVH0~6R4bHHcNLkHE)sI4ipD!yn;4sfTRHf`%>#Mc4 zGz<7~ByIBTJVUGD;8Yw)*+78*>RA)c*QPqk^#0lRCsEApR5LvV%YppeQEm72L638( z9VEqBqI?6vV&ajTX07c#5=!N7RyFsj1vI`1FJd|Kv^X7mc2c0|f5p0vaDdHEn#=lz za^3aG_I#Zh7CT@PDJ0}$S$*8R?fO}GCet!X@!1KTkp9>TI)kU=T76($rvC$uhoZh% zWN7DqZ({3!EM97}ehwzo``S8cT~f_n)snBiwNiA9M#VqWY&IA#EY|=0Qr;hgq37F%ip-yJ0wLIWr=+@(tIU#B?7s$84=%J(5Nh(iv#>$leR8v@dz3fY) z#jw!yCE2xjnRREZmAZF?Cwwb@M=~;}Cq({I_pUS)f35?HQ|ib_<9n}i(ScLDKFX?mB7v)C4`6B*$Uy;S`V#C3gmg4D#)r zXg;ag=Y2~rWP^&{>BECG*K`VTKE&-1!HQIb8BTXt@4W6C+UvGV1zt9;qZ*AZ^~^^v1jS;HO%0~7{zUpAwrONU)@)FejNOU2$=^)@yLnhUAX?EVU zFda)8qKHrmhT9~S3h5p zj6PTlFnMzLa1cJ+EQfYczmsZiDzng*4qmODdkk;q0W@FwhZLTe4_cPbja;~^P*|UN zJx*<&$T#n@@66!g<;pYBs@vv1M&BVebvg~Z_<7|~>jB~>I%EUFNK}-PiD76WJJ{~~ zq7h0NK9`=_IceRHx86{%Uv!97c49*IT*GJ?(2UxrmGs*7yrE%SE6WYT?dVW=09sFn zW43_dy7#cvMi{UBoSCAiH{2uQxQEDAj2ZGVWM-m~S4xN<1n%F}{8WPg*hH~7-fhzK z3qn$y!v;tG;9w$$ZMfRWVA*t?iDTF4-Hi7*w$M1(+yG@RLCS11R;yyShMQkg&@vez zP(yxW9_ekoSe~1?sGmqaxQNnz4^nFMWz!>bsLw-EiT&1UQM8tr9IO|kwo^V;r%wX7 zMmO*i33>jp+*x4*(pK^?*HH^;TH7j&s7H1A$iv^BA{}>&asV4aeH+~pT;_1|@Cyq1@^`(H zX|>^o`6c+%HKOmyH=9@NUVKwrpvSd89OffWk%14%x`N24maZp7=`ygN+uorhyV-pR z^IRa<+)el7-%7g13~}EJLr=*Y2ULpfL<-F+DUSP4HeC;o^l^&a*gVfov%5^sT}~p6zu|C+_?CvXlQ8p z)}pFr(aF`(h$E|JvKYc6wv3WH=ItKQ9=tlpxi&I=q_|9B;5`2G4v=#`?2i4iEbebK z$ftb^NvLGET&Q6Oxfo`zCk6LudK|9X|7^d^bl)C^c827Mtl*3^{J^KsYsSFH;KCh2 z9QO@%f5XNkin<_NaJJb(>O@q_Zhfz@G!aEYdu*}uqC{pjNsY^T1w-T*R{~#LFk_1i zdTZOP0%}H7!cN{2U+`nT(>)eaHU^_?!1=hY8F3gO?W0U5M+by*Kr7JWl6df|-Z}?I z0jclB~U_6l*%h63|Ocvhy-tALh;N-h7pi*590o zlid-2%Hg55$q{J4E}4D8Zh&174u$V%HW#DzLSHH3ak7Yg{^XS9d~5B(yC&KF})3P_8lL<08QWl0wtqUKp{dT}@!!_z5i!ay@H|A@RBq22&|PMpsBb!a1+_?a((oPv zDT1u>Z>u%1zCe-|%GHqMO;^_4Mj9IP8Emv&2?l!jIUNO+t?pM0S&$)6ud zF$|K#_v^yZ78QL^{U1UsK|lL4suP8Yc*qEmH!IeX$6USEUo`;IP_hf`DNYdFaJf#> zA+0W$PPDCTd$X9GaPJ!wK3R|YL?7Jj2@O5N_bq-rrt; zAI%Hq6Y~?tbWUzv9yxsI18<@CuV3Yup1KdkT@jI;Su-8hOlL}~<6PHS@Y{cMC#E9~ zKPK^;bw|5>xV6>+*?q0|Oy%GRhPLOL`b=TYuMNY~Ksmj@SA-j#mtYOAWyuio7dULz zC_@`X3xyQNO6)zg>e+ofo#lh#l50)%b5EVx-xr7>Zr>R8QRQ0Wwr}hLU(zz{4TXpo z)_?)99VUMFosCN_ka&>h%+?b~7UQj)%z!N9vAPJ;p2jix;EIP4O82&Mr)suf(Qx?C*lf?+Pw#-hhIr&7uxhrH3c8Swl<5);E!eH$p`pq{o5*fa?ulkq|#)0 z99z+o_6Z_DWERsv<^E#xTY-hy3e;9HyGS*QQ#onv&u!@L>5-C4rO;5mz)qM3hZV1o zDGbf@L)s}kyIbHqU4?PUfvW3ce&0xmDfglwDJ^72$uvDy59W(}jW*OCY&X7TC>({| zbOI%!*r5%2R#;gQ`tpS3<{4Q8Zg(qaN{4fHqPlH4vDI{I!Q8{Bfr%BXJ@{mz+hCSf z##K2r?K8TSu@A>vR=-6jG&ov+Tb;U_pOn5ZdCD4|bbS2v@uLNEzeg}oncn-6qtbkm z7C(khvjnAb>e=&7f2M&G=my}22dz@7Y`$TK4}<&t2l^>(^d4hilmt3=5Wms_G3%c@ zO7%yPLzQ6 zt!wd?9v8Lm>;`0{-0b3T33cD*ZpSR*?6;P=Gv$Q*=SIs6-Sd0y`u6+sAL`o+WLNdyt=SvyxRpXT(5gk9YyoFO^$vFG6!LtG?9Zf%HUf|U* zEldaKZR6oAZO$2Z{=zbAz?|qF0zacyEpR6;`Zg zyVOE5W(TCyEht`tUBzNt*ynqV#~-h%kqBA|^3^1ViN&=SZqvorQv);}k2t@v`IYXX z&h@Taua4xh&H{&K@CV@ZEcr;Z6~*S9qnqE2-puui#_Q3pEf6wa7&(Pp0VSt~au#(( zs$X?KoK6}xx*1x(bTjm3rqaS5zslTP4@UhGV5x$Xg?O@#V?6E+)C`ivu|YByu6Z}> zwzrAbBceWoU@8&QC>2V6dYB^09_(g1o$syy2z+O6(ujKM3E&Vj4qmf((XIJqO~9*| zT`2NQt}CxYz`0h~SS?)c+RUVh@aw|ZwL_&9O)^fR;D0uZF z_-hVwd?9EPq9wJ8Kasc$bdK#Pw|ir2S#TE}-VI7E zS?sjaFu?(8mX6Vz+udk2iux1Bd{5sy8ad|qj*r4kC9qPR$kU0lR2U*$`oK1`TweJk z!Fat*TcCak>lrfr?E=A-k3rAZ1VV-R)coREW|9T6;&$&bzwdF;KRk@82Oo=Gt&8+B z7A_zUh-5gfG@*mw4-@_;(~b-ZZ=`V1otJF1S|Q2v!ZLOFkY*A%lI{}_d7ELT!r_PY z5eQ&SON9tAlU-mI-Tr)3G&#q-u`GC>0bx?vg%Xz|<>(Yk^_^uFn%|{lN>XRsWQxw* zIqcX&F+2?xbWdps{d~gU_@kCrU)MgA!OzBNU504ZJiUXmd=P~4Lyui0hmKEGxC$>b zj=sHEfyLDlgi<2L+u4YkjX6>IvVQ|wKfviTC(*wLAB)lxd`nEEV;6;iza&d*!|=k* zbr9~6!%#qyEXGd#!o^uvdZ6;GE;FviGa0kS} zuVr4I`$jm6sQX$_E4*%cSe^ns7R1f9wqzcZw0e->1@Od#4et$4lx#Wt4#Y)ZS_)TZ zNpRKLy=sLVEm3Dvp*Wm&eHqci))5liDtHv?6>?wVFzQ8hPZMmi2*r|ZQ^2VD)&>>? z$3!RL#Ko6tcDA1-)Yi}DqH=K?n!Dlz&)P4HSYIECT+4Agx=$23kji=T!PVBRzWk_O zTs*3o`KT2Cc{QgZ=Z1MR^tPpbxUPw+gZ|q7yC$@hG%3V9$=zx+k96PH*?M3WF6%G+ ze^C&4@u$MwS$As^5lsdovcrAk;&IqW1EfaW+y={rLb^}XVCJ++Nun+Kyr5bHB|o-o zXb2*lyYs`W>AO&tenBT zN&I_j_9d61)xxp3zqIR_HrJAtS>_d~(xi|6Kj^f@aHmo8FFJiIT*F;?Ivnv{Zo#8j56tsMWb2yU$k1Z1)x)$>F4Gy*&JVcKd+jguFVAa0=S4(8 zq~RUdlo@ufVtsH%fmUL(Cp21B1D!gvmCK3a;y5mC4*%2wi0s;cUieZj)&in%!t%{9 zn?fM=t^bg}uw)Luwda60O`*mR8O6YZY01f3Q(0;LgHg zv0YB`q?y5#+PxC=IIY_w05h&cFva{u2I(;)R==MH_aVvb{h&?FK8gYh$ zz2^8!c9FsJ>Pig8k)?0*Xi6EHh7;_lYvu@EVy93Yn#q0P_;fuNYzp@r;F$`ODVn46 zYR4=G?haFwz>;AbE#3`lw9W8M#R?(KsIJ>Q=bZ=l#md5UiYH2_*vK<4XDFwge>{vN zEA#>u^#){DWyup{Ovz~baFtuO|Ki%zmD|&m3ix;L;L6N1;i}D*T+^8^bN^5tIOHRs zKE@S}v^#v<6QlrXzlG&An=+8k#I#+P#SyzD-^Ea)d8C5Ha3}DnocNVg~#A&D}{_{;I*F49u%zIror8-f0Wd zUY9J>-u&yc& zPV4Wo(>;~1)cCS^xcPHDXYxNyM8OJ6~IM-l)`PA5MDSFK!zmepelS?> zRgd={Y#wpeRmhRrj-+B(VeVjN*o~5Kvx6=Z1`tuBYRFhiX480ET_df^p}`{FOV;%9 zjvPj!)tdN@Ki>M*wKrwhv)>TAfRzT|Q0lGFf)!&=Ijk)FK1b0E=yZ#cOod9zN!>9s zkgHAj`pz;m(1cB*H50;kcgiuoKSS;7Gr0lk2fA>uk_l1t^)+Ukj60rsyFFM8NerZ; z#)cj%@|iZ2?V73vJ?QL8K;ul04-PRRgnV&Y6(KAY@kxq_#B^&k?Jw+-wF&hp++0h7 z_<2Kr9GufnLU7uXwNTe?El!SxkT#&@pr?iJ9~+a4EAs>tAeu;V;D@0@vRP)%7mhM< z;CIDRy;^e06bmJIU`5Iiw`)C-gk}=0#mG@t##xEOC2|wxGj6I<4+7qcHn4|snGkL#xv#aEey85GOKh2kZSdD`zIZ--I$Bx19tYySfKq>mH(ExT$G*nZ zq)gB5+Rag$hlm}@t>`k^fVc~(p%6|7_@@_H_KMvow## zhakuAbhCuO=d?+o=54=hr0U#9pzF5fnpxm zwL}k(tXdlyNRF?*y%-vt=7ghRdx0r?!;|gC&=@0U({QSEb48Q}GSX`ZEvoA&RXc+h}9 zEQ~2@U#&;Rq)ud37r4p%jDNhkr$GBu6%FVC1_bF_C+}cJ?**3gCC@bJ)=c9LenD=H z!wa~-tHjA4fk1q@-%#l)Zzp}{@dIP49Nak@a!-julnv?{?n~ItY1WO%7n|hEx3b(O z2)B>rzlRGG!s0ZkxZe&sR`QQ@Gs%`^E&3y)MP)R_W)qZtP?e6`|H;@`Uq$syln$#V zsn(w)^NSCGGuKY`qMgV@eRdVccPE}$;x8_IZ$=*_ds&h8#R3Z$wa1ZDoKtI2hT=y+ zor-RL=>mE&3|bl_2BltCz4#|no8L-@y#bswQcYYV^KO<eIayUU*i1HKYq>YcP2Y42P1`*;g-y5@USCS`jiWFK7%DZ-eZPF
    HOkLS7j1eu3(aT6 zOr>|O6^O?o)~lqk{07KvDkVj}m5Az5`?x8MCs(yfk`Qut-mBUm9re;EJfx3Ef z>g>!~?GYbfybj7p%Mz3) z%_aSI4x85?Mk-16(gz1zAma#G*9snF-(w*I_<6>6lugJVC$<1h_E(4g)ju)}3W8r^ z@{^W_zH5RJ1~=4&_Q!=x+%I5#t=cN{v!zY zqcs}=@NNUi=KhByl^czpf?{U|%chQUe>_DZA5a&l<-HaV)P^3tsk`xKh7)7fyHiFQ z;Tp`)o`v7B*5Cf!AIgM#Wm~>k-{w!XxcfqFf3drN$P(1Q9{tihG(9u>?~cDm?eQy% z*9&)B`P2W4y(`|!I_>E=OM*B2exKI=Ik)>6zl*=O78608Sz#FlG4s@X;=fO$AL~e? zliME??_Z7dS^1ZCqkpZ-@ZVCUe<>;;#s9zaKP>;h8tf@PvOl!DJD%m_$)o>Xcu*2i ru?G(xJW-I51pQuwj0*P^$i)kf>!gqeehl5WK2Ug}DpMl$>iz!#Xlyqg From c69193253b61da8b09e4284b620dad9f81ecc6ec Mon Sep 17 00:00:00 2001 From: Olaf Joppe Date: Thu, 27 Mar 2025 06:34:17 +0100 Subject: [PATCH 04/15] Update projects-v2.yaml New endpoint: GET /projects/:project-id --- static/openapi-spec/projects-v2.yaml | 155 ++++++++++++++++++++++++++- 1 file changed, 154 insertions(+), 1 deletion(-) diff --git a/static/openapi-spec/projects-v2.yaml b/static/openapi-spec/projects-v2.yaml index ae1c2c4e885..8c70c7ccd96 100644 --- a/static/openapi-spec/projects-v2.yaml +++ b/static/openapi-spec/projects-v2.yaml @@ -50,6 +50,23 @@ paths: '500': $ref: '#/components/responses/Http500' '/projects/{project-id}': + get: + tags: + - Projects + summary: 'Get project details' + description: 'Returns a list of project details.
    Every request must be authenticated by a Personal Access Token containing the scope `mx:app:metadata:read`. Deactivated projects will only be returned for Mendix Administrators, all others will recieve a 404.' + operationId: get-project + parameters: + - $ref: '#/components/parameters/project-id' + responses: + '200': + $ref: '#/components/responses/ProjectResponse' + '401': + $ref: '#/components/responses/Http401' + '404': + $ref: '#/components/responses/Http404' + '500': + $ref: '#/components/responses/Http500' delete: tags: - Projects @@ -317,6 +334,12 @@ tags: description: 'Project roles' components: schemas: + UUID: + type: string + format: uuid + pattern: "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" + maxLength: 36 + description: Unique identifier in the Mendix Platform. Account: type: object description: 'Account (or company) that owns the resource' @@ -329,6 +352,20 @@ components: type: string description: 'Name of the account' maxLength: 100 + User: + type: object + description: Details of a user. + properties: + userId: + $ref: "#/components/schemas/UUID" + fullName: + type: string + description: Full name of the member. + avatarUrl: + type: string + description: URL of the avatar image of the member. + account: + $ref: '#/components/schemas/Account' Page: type: object description: 'Contains information about the current page, and total elements to be retrieved' @@ -633,6 +670,122 @@ components: createdBy: userId: string fullName: string + ProjectResponse: + description: Project details + content: + application/json: + schema: + type: object + properties: + projectId: + $ref: '#/components/schemas/UUID' + name: + type: string + description: Name of the project. + maxLength: 200 + description: + type: string + description: Description of the project. + logo: + type: string + description: URL of the project image/logo. + createdOn: + type: string + description: Date and time in UTC when the project was created. + active: + type: boolean + description: Indicates whether a project is active or not. Inactive projects will only be returned to Mendix administrators. + createdBy: + type: object + description: Contains information about the person that created this project. + properties: + userId: + $ref: '#/components/schemas/UUID' + fullName: + type: string + description: Full name of the member. + maxLength: 200 + cloudProvider: + type: string + description: Cloud deployment provider (Public Mendix, Private Mendix, SAP, on-prem, etc) + enum: + - Mendix + - SAP + - STACKIT + - Mendix_for_Private_Cloud + targetCloud: + type: string + description: URL of the cloud portal the project is hosted on + members: + type: array + description: Array of members in the project. Inactive members will only be returned for Mendix Administrators + items: + allOf: + - $ref: '#/components/schemas/User' + - type: object + properties: + isActive: + type: boolean + description: Indicator of whether the member is active. + role: + type: object + description: Member role details + properties: + roleId: + $ref: '#/components/schemas/UUID' + roleName: + type: string + description: Role name + maxLength: 200 + technicalContact: + $ref: '#/components/schemas/User' + account: + $ref: '#/components/schemas/Account' + examples: + Example 1: + value: + projectId: "123e4567-e89b-12d3-a456-426614174000" + name: "Example Project" + description: "An example project." + logo: "https://example.com/logo.png" + createdOn: "2025-01-28T15:05:58Z" + active: true + createdBy: + userId: "123e4567-e89b-12d3-a456-426614174000" + fullName: "John Doe" + cloudProvider: "Mendix" + targetCloud: "https://cloud.example.com" + members: + - userId: "123e4567-e89b-12d3-a456-426614174001" + fullName: "John Doe" + avatarUrl: "https://example.com/avatar1.png" + account: + accountId: "123e4567-e89b-12d3-a456-426614174000" + accountName: "Example Account" + isActive: true + role: + roleId: "123e4567-e89b-12d3-a456-426614174005" + roleName: "Developer" + - userId: "123e4567-e89b-12d3-a456-426614174002" + fullName: "Jane Smith" + avatarUrl: "https://example.com/avatar2.png" + account: + accountId: "UUID" + accountName: "Example Account" + isActive: false + role: + roleId: "123e4567-e89b-12d3-a456-426614174009" + roleName: "Project Manager" + technicalContact: + userId: "123e4567-e89b-12d3-a456-426614174003" + fullName: "Technical Contact" + avatarUrl: "https://example.com/avatar3.png" + account: + accountId: "123e4567-e89b-12d3-a456-426614174004" + accountName: "Example Account" + account: + accountId: "123e4567-e89b-12d3-a456-426614174004" + accountName: "Example Account" ProjectMembersResponse: description: List of project members content: @@ -1079,4 +1232,4 @@ components: hasMonitoringAccess: false hasApiRights: false security: - - PersonalAccessToken: [] \ No newline at end of file + - PersonalAccessToken: [] From e466d819e385b9e9a8b57396923c80f108fc1e33 Mon Sep 17 00:00:00 2001 From: Olaf Joppe Date: Thu, 27 Mar 2025 06:36:44 +0100 Subject: [PATCH 05/15] Update projects-v2.yaml --- static/openapi-spec/projects-v2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/openapi-spec/projects-v2.yaml b/static/openapi-spec/projects-v2.yaml index 8c70c7ccd96..4d032f82c21 100644 --- a/static/openapi-spec/projects-v2.yaml +++ b/static/openapi-spec/projects-v2.yaml @@ -54,7 +54,7 @@ paths: tags: - Projects summary: 'Get project details' - description: 'Returns a list of project details.
    Every request must be authenticated by a Personal Access Token containing the scope `mx:app:metadata:read`. Deactivated projects will only be returned for Mendix Administrators, all others will recieve a 404.' + description: 'Returns full details of a single project.
    Every request must be authenticated by a Personal Access Token containing the scope `mx:app:metadata:read`. Deactivated projects will only be returned for Mendix Administrators.' operationId: get-project parameters: - $ref: '#/components/parameters/project-id' From f4d0a04da56c6189a6adba50addaa63e1400a42d Mon Sep 17 00:00:00 2001 From: Olaf Joppe Date: Thu, 27 Mar 2025 06:42:58 +0100 Subject: [PATCH 06/15] Update _index.md Release notes Sprintr. Scheduled release Sunday 30 March. --- content/en/docs/releasenotes/developer-portal/_index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/content/en/docs/releasenotes/developer-portal/_index.md b/content/en/docs/releasenotes/developer-portal/_index.md index 5bfbc6c6844..32022833ac0 100644 --- a/content/en/docs/releasenotes/developer-portal/_index.md +++ b/content/en/docs/releasenotes/developer-portal/_index.md @@ -19,6 +19,14 @@ To see the current status of the Mendix Portal, see [Mendix Status](https://stat ## 2025 +### March 30, 2025 + +#### New Features + +* We added a new endpoint to the [Projects API](/apidocs-mxsdk/apidocs/projects-api/) which allows clients to retrieve full details of a project and its team +* We have implemented all logic for the cleanup of unused projects and will start marking projects for deletion anytime soon. Once a project is marked, you get a notice on the MyApps page. There you can filter the page to see which projects are marked. Once marked, you have two calendar weeks to get it unmarked. The easiest way to do this is by pinning the project. For more information see [this documentation](/developerportal/deploy/mendix-cloud-deploy/#projects-deletion) + + ### March 18, 2025 #### New Features From ac8f386e70a17a097c1446e5b1267aeab94a9db7 Mon Sep 17 00:00:00 2001 From: Olaf Joppe Date: Thu, 27 Mar 2025 08:01:37 +0100 Subject: [PATCH 07/15] Update _index.md --- content/en/docs/developerportal/_index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/en/docs/developerportal/_index.md b/content/en/docs/developerportal/_index.md index 630af96d144..79336cfa1ae 100644 --- a/content/en/docs/developerportal/_index.md +++ b/content/en/docs/developerportal/_index.md @@ -56,6 +56,8 @@ The **My Apps** tab displays all the apps for which you are a [Team](/developerp If you pin an app, it stays on top. +You can filter the overview to display only the apps that are marked for deletion. Read more about how we mark apps for deletion [here](/developerportal/deploy/mendix-cloud-deploy/#projects-deletion). + Use the drop-down menu on the right side of the page to sort the apps by **Pinned**, **Recent Activity** or in alphabetical order of **App Name**. ### App Tiles {#app-tiles} @@ -101,7 +103,7 @@ The **Company Apps** tab displays all the apps created by members of your [compa There are also details on the app's [Target Cloud](/deployment/), and the [Total Members](/control-center/members/) who can view or edit the app. -You can also sort the order of the apps here by **Updated Date**, **Last Created**, **App Name**, **App Name, descending**, **Oldest Updated**, or **Oldest Created**. +You can also sort the order of the apps here by **Updated Date**, **Last Created**, **App Name**, **Oldest Updated**, or **Oldest Created**. ## Guide Categories From 5c5a85330836bad09562f258beb6ffda2c38dad1 Mon Sep 17 00:00:00 2001 From: Olaf Joppe Date: Thu, 27 Mar 2025 08:07:21 +0100 Subject: [PATCH 08/15] Update _index.md --- content/en/docs/developerportal/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/developerportal/_index.md b/content/en/docs/developerportal/_index.md index 79336cfa1ae..e6788de3e2d 100644 --- a/content/en/docs/developerportal/_index.md +++ b/content/en/docs/developerportal/_index.md @@ -103,7 +103,7 @@ The **Company Apps** tab displays all the apps created by members of your [compa There are also details on the app's [Target Cloud](/deployment/), and the [Total Members](/control-center/members/) who can view or edit the app. -You can also sort the order of the apps here by **Updated Date**, **Last Created**, **App Name**, **Oldest Updated**, or **Oldest Created**. +You can also sort the order of the apps here by **Recent Activity**, **Created Date**, **Name**. ## Guide Categories From aebade535b4aa13e6be13f1988c0faaa89739dac Mon Sep 17 00:00:00 2001 From: Olaf Joppe Date: Thu, 27 Mar 2025 11:04:39 +0100 Subject: [PATCH 09/15] Update _index.md --- content/en/docs/deployment/mendix-cloud-deploy/_index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/en/docs/deployment/mendix-cloud-deploy/_index.md b/content/en/docs/deployment/mendix-cloud-deploy/_index.md index cccc65e7f76..ecd8a495a89 100644 --- a/content/en/docs/deployment/mendix-cloud-deploy/_index.md +++ b/content/en/docs/deployment/mendix-cloud-deploy/_index.md @@ -75,12 +75,16 @@ The system uses the following criteria when determining if an app is unused: * The app was created more than a year ago * No commits since the app was created +Once a project is marked for deletion, you have 14 calendar days before it is permanently deleted. + You can prevent this clean up by performing one of the following actions: * Make changes and commit them to the Team Server * [Pin your app](/developerportal/#app-tiles) * [Invite someone](/developerportal/general/team/#inviting) to collaborate with you on your app +Pinning a project that has been marked for deletion will unmark it immediately. Changes to the other criteria will not effect the mark-for-deletion immediately, but will be verified before the actual deletion. + ### Licensed App A licensed app runs on a node with at least two environments: production and acceptance. If required, you can also add a test environment or use [Flexible Environments](#flexible-environments). Your licensed app is linked to a node and can be deployed to any of these environments. It is possible to specify different [resource packs](#resource-pack) for each of these environments, but Mendix recommends that you make your production and acceptance environments the same size. From ebfa7e66d31a9cac06e3c68fcb4b4986327f7820 Mon Sep 17 00:00:00 2001 From: Olaf Joppe Date: Thu, 27 Mar 2025 11:07:08 +0100 Subject: [PATCH 10/15] Update _index.md --- content/en/docs/deployment/mendix-cloud-deploy/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/deployment/mendix-cloud-deploy/_index.md b/content/en/docs/deployment/mendix-cloud-deploy/_index.md index ecd8a495a89..62b8b2d6846 100644 --- a/content/en/docs/deployment/mendix-cloud-deploy/_index.md +++ b/content/en/docs/deployment/mendix-cloud-deploy/_index.md @@ -75,7 +75,7 @@ The system uses the following criteria when determining if an app is unused: * The app was created more than a year ago * No commits since the app was created -Once a project is marked for deletion, you have 14 calendar days before it is permanently deleted. +Once a project is marked for deletion, the system uses a grace period of 14 calendar days before it is permanently deleted. You can prevent this clean up by performing one of the following actions: From 4f8dc55eaed677fd3c12eefdbdbfabca351fe340 Mon Sep 17 00:00:00 2001 From: katarzyna-koltun-mx <108737161+katarzyna-koltun-mx@users.noreply.github.com> Date: Thu, 27 Mar 2025 15:04:02 +0100 Subject: [PATCH 11/15] Update projects-api-v2.md --- content/en/docs/apidocs-mxsdk/apidocs/apps/projects-api-v2.md | 1 - 1 file changed, 1 deletion(-) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/apps/projects-api-v2.md b/content/en/docs/apidocs-mxsdk/apidocs/apps/projects-api-v2.md index 622d830a413..ac0edf068c8 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/apps/projects-api-v2.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/apps/projects-api-v2.md @@ -5,7 +5,6 @@ type: swagger description: "The Projects API manages your projects and their teams." weight: 100 restapi: true -beta: false --- ## Introduction From 8a4cb4695fb8beaf86249d6f103204ddf970796f Mon Sep 17 00:00:00 2001 From: katarzyna-koltun-mx <108737161+katarzyna-koltun-mx@users.noreply.github.com> Date: Thu, 27 Mar 2025 16:46:33 +0100 Subject: [PATCH 12/15] Update _index.md --- content/en/docs/deployment/mendix-cloud-deploy/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/deployment/mendix-cloud-deploy/_index.md b/content/en/docs/deployment/mendix-cloud-deploy/_index.md index 62b8b2d6846..a8dce2a4906 100644 --- a/content/en/docs/deployment/mendix-cloud-deploy/_index.md +++ b/content/en/docs/deployment/mendix-cloud-deploy/_index.md @@ -83,7 +83,7 @@ You can prevent this clean up by performing one of the following actions: * [Pin your app](/developerportal/#app-tiles) * [Invite someone](/developerportal/general/team/#inviting) to collaborate with you on your app -Pinning a project that has been marked for deletion will unmark it immediately. Changes to the other criteria will not effect the mark-for-deletion immediately, but will be verified before the actual deletion. +Pinning a project that has been marked for deletion unmarks it immediately. Changes to the other criteria do not effect the mark-for-deletion immediately, but are verified before the actual deletion. ### Licensed App From ac74b4326ba0ae1910d0dae105c76205dcc11ad5 Mon Sep 17 00:00:00 2001 From: katarzyna-koltun-mx <108737161+katarzyna-koltun-mx@users.noreply.github.com> Date: Thu, 27 Mar 2025 17:12:05 +0100 Subject: [PATCH 13/15] Update _index.md --- content/en/docs/releasenotes/developer-portal/_index.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/content/en/docs/releasenotes/developer-portal/_index.md b/content/en/docs/releasenotes/developer-portal/_index.md index 32022833ac0..ce4c6c42df0 100644 --- a/content/en/docs/releasenotes/developer-portal/_index.md +++ b/content/en/docs/releasenotes/developer-portal/_index.md @@ -23,9 +23,8 @@ To see the current status of the Mendix Portal, see [Mendix Status](https://stat #### New Features -* We added a new endpoint to the [Projects API](/apidocs-mxsdk/apidocs/projects-api/) which allows clients to retrieve full details of a project and its team -* We have implemented all logic for the cleanup of unused projects and will start marking projects for deletion anytime soon. Once a project is marked, you get a notice on the MyApps page. There you can filter the page to see which projects are marked. Once marked, you have two calendar weeks to get it unmarked. The easiest way to do this is by pinning the project. For more information see [this documentation](/developerportal/deploy/mendix-cloud-deploy/#projects-deletion) - +* We have added a new endpoint to the [Projects API](/apidocs-mxsdk/apidocs/projects-api/). The endpoint allows clients to retrieve full details of a project and its team. +* We have implemented all logic for the cleanup of unused projects and will soon start marking projects for deletion. Once a project is marked, you get a notice on the MyApps page. There you can filter the page to see which projects are marked. Once marked, you have two calendar weeks to get it unmarked. The easiest way to do this is by pinning the project. For more information, see [Projects Deletion](/developerportal/deploy/mendix-cloud-deploy/#projects-deletion). ### March 18, 2025 From 517438f866d4cfae83678e152737e76bbadd80c5 Mon Sep 17 00:00:00 2001 From: katarzyna-koltun-mx <108737161+katarzyna-koltun-mx@users.noreply.github.com> Date: Thu, 27 Mar 2025 17:12:57 +0100 Subject: [PATCH 14/15] Update _index.md --- content/en/docs/releasenotes/developer-portal/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/releasenotes/developer-portal/_index.md b/content/en/docs/releasenotes/developer-portal/_index.md index ce4c6c42df0..0c078eaa057 100644 --- a/content/en/docs/releasenotes/developer-portal/_index.md +++ b/content/en/docs/releasenotes/developer-portal/_index.md @@ -24,7 +24,7 @@ To see the current status of the Mendix Portal, see [Mendix Status](https://stat #### New Features * We have added a new endpoint to the [Projects API](/apidocs-mxsdk/apidocs/projects-api/). The endpoint allows clients to retrieve full details of a project and its team. -* We have implemented all logic for the cleanup of unused projects and will soon start marking projects for deletion. Once a project is marked, you get a notice on the MyApps page. There you can filter the page to see which projects are marked. Once marked, you have two calendar weeks to get it unmarked. The easiest way to do this is by pinning the project. For more information, see [Projects Deletion](/developerportal/deploy/mendix-cloud-deploy/#projects-deletion). +* We have implemented all logic for the cleanup of unused projects and will soon start marking projects for deletion. Once a project is marked, you get a notice on the MyApps page. There you can filter the page to see which projects are marked. Once marked, you have two calendar weeks to get it unmarked. The easiest way to do this is by pinning the project. For more information, see [Deletion of Unused Projects](/developerportal/deploy/mendix-cloud-deploy/#projects-deletion). ### March 18, 2025 From af5e1e7440a87fc0c74aa8cf8862d40964cb4846 Mon Sep 17 00:00:00 2001 From: katarzyna-koltun-mx <108737161+katarzyna-koltun-mx@users.noreply.github.com> Date: Mon, 31 Mar 2025 08:46:10 +0200 Subject: [PATCH 15/15] Update _index.md --- content/en/docs/releasenotes/developer-portal/_index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/en/docs/releasenotes/developer-portal/_index.md b/content/en/docs/releasenotes/developer-portal/_index.md index d6090282899..632b65a3533 100644 --- a/content/en/docs/releasenotes/developer-portal/_index.md +++ b/content/en/docs/releasenotes/developer-portal/_index.md @@ -359,7 +359,7 @@ It is turned off by default. Scrum Master can switch it on in the Project Manage #### Improvements -* [Epics](/developerportal/project-management/epics/), our new agile planning tool has [replaced Mendix Stories](#stories-deprecation). We have added the option to export data from the [Story Archive](/developerportal/collaborate/general-settings/#story-archive) in batches, for those of you who had a lot of stories to export. +* [Epics](/developerportal/project-management/epics/), our new agile planning tool has [replaced Mendix Stories](#stories-deprecation). We have added the option to export data from the Story Archive in batches, for those of you who had a lot of stories to export. You will need to export everything you want to keep before 1 October, 2024. After that, old data will be deleted. @@ -469,7 +469,7 @@ We have made the following improvements to the **Access Management** page in Por #### Improvements -* We improved the Sprint filter in [Story Archive](/developerportal/collaborate/general-settings/#story-archive) so that you can now type the Sprint name in a text box. +* We improved the Sprint filter in Story Archive so that you can now type the Sprint name in a text box. #### Fixes @@ -623,7 +623,7 @@ We have made the following improvements to the **Access Management** page in Por #### New Features -* With both Epics and Jira connector as new options to plan your work, we are getting ready to say goodbye to Mendix Stories on October 1, 2023. As of today, once you switch to [Epics](/developerportal/project-management/epics/) or [Jira](/developerportal/project-management/jira-connector/), we will [archive all your work in Mendix Stories](/developerportal/collaborate/general-settings/#story-archive) and you will not be able to switch back to Mendix Stories anymore. The Scrum Master of your team can choose the right project management tool for you on the [Project Management](/developerportal/collaborate/general-settings/#project-management) tab on the **General Settings** page. +* With both Epics and Jira connector as new options to plan your work, we are getting ready to say goodbye to Mendix Stories on October 1, 2023. As of today, once you switch to [Epics](/developerportal/project-management/epics/) or [Jira](/developerportal/project-management/jira-connector/), we will archive all your work in Mendix Stories and you will not be able to switch back to Mendix Stories anymore. The Scrum Master of your team can choose the right project management tool for you on the [Project Management](/developerportal/collaborate/general-settings/#project-management) tab on the **General Settings** page. * To highlight the story tool you choose for your app, we gave it its own section in the navigation, called [Project Management](/developerportal/project-management/). * With these changes, navigation in Epics works a bit differently than before: the navigation items are on a pane on the left now instead of at the top, so it is easier for you to get from one part of the Developer Portal to another. (If you need more space on the screen, you can always collapse the navigation pane.) * Speaking of Epics, we have released the new public API. You can find all the information in our [documentation](/apidocs-mxsdk/apidocs/epics-api/).