nf~-n&PW(c>k^?4`kLa2GK=c4035y9F)=_Sxd%3BC$Ws=DA`V05|j)iz2GWG!V^y z*YCrNHjn)q3J?Hp0FN%e{YcN~=oQ`&e!TVV$1th%nF_UtPtm5OhR(ax-!*Q0NOS!^ zU&Hq^-~Y3+vR?83tlYV`cH{rKj*nQ)w^&8|p0A?p(n+=NZxX)z?W}*!3A7x_q(JZT zG`W`bzY5EKwY>h<*Y4fy|6a=n1$BdeB8bzZ0m2jbL6}8I1Ag4VQ-=+_&lTRhCXp%? zl?M6@u)K9ywtPvE#~6u>fyj9_?8eccYn1F1xh@=p`49}tLLhJ;Z@GYCx{zOh?l8c} z4TXw{j)fAnZXTE{H*usgPE^ug+V${E7FJ-Ts9~IVos9vfe3^-Zc}=ERbk!Sw?%mi7 z(iC&nEsjnA4PcziqZC&8!dRVPX=8_5LJ7VUT2}Pg!e|K#PN5~C1Ydg4q8#0e!Kcik ztb0|I#J4wkA!R8n$0GVPvR8}dx4SAV6#sITjfM7K-tw{u<2Stw>AKPn#azm@F5VS) zWr?~qsO;;wqx*gW#wYyq!25-NLLaU`)JDAROe9Sov2|kQ3#~3Uzp@GSS72##u$Cd5 zi`U>=wm2c$EY?XE(#_|ZGsmKQ$GoGxB?IR=8=t1l_O%5q^Mt-ECW3sI;Fj9z$%>hIgG8L1b4#=Um=m4}Nr zoUVXf^~!BGUc5ndWqfA!^gtyU{uILC(Cs
F`XSK7!PfLuV=S|Y{FguyX-g!7M z63j3-u7i8^NlvXi-9O@I{ z(s78Hzpeu0_jp=$%)B3j^d!wAJi@7wlEMf836?DJgeQMkw3!Z8SBQ$_Q(6i%U~>G) zL^i+ -)}>xWco8iwgp(WDz^eiFs8FMk4l3OPwbZm8Nd zC7=8pW~qp@36o*OGe+{T!L(|Sz+fW?$0_`Ch9i6y6&x2Bcxa5_D+yE-1Y;_wDd{aQ zkI@*zBGaLXP;S95L(XlW3xFeIc{290Y2q<#@rJ@A;N^LLkr5pH-Mw|IdyBGq! 2d+@RHWX~ zM4uN1$CFKeF}kwMbPz}RXk#KrE}3|IDa!J)(3JA60FUwDz%7g0Wy-b3QNoN5YSZ_t z)%M@%+W38;+RhOpARoN*p$|&0A7A{;#0VV*7<@L_qoH43h86e-)A?Wn&h0|Ydw@K5 z&9$hO-k(x -dVq6Bw@XrvSQNd3H=T9GAR~6%K?`fT1?bhXVvx&X z+A;xud8M ysaEuq{aHpYxdwQ;raL7fNW;3?=Tmsr9PmA-YK +Qx#gnD(upo2!ck*Cva z7?MwRqoIBSvv@61jY%iANkdTcO`Fyv7KE=rPZQwy@T<{-&*tXlUT<%2v)9{s+& @Qs?fV#qtGdH8d)sY#R{`nx=kQ|9K}}6Vrx)rZM%JY+dzFMHcKF9JJ*0B4e00H znjRi1?5~3bTJoPA+Se@qSJzkXROJ8a%FX?6zux*c=-|roU(}t=2X;(8Z~?@BA&5WP zrbPnZU$%eh^?ow=!%KW7`NJO{ZITADZ)*@@xnU{(XRp`W 5__qG9--Vgkygrt5(unCrUv9r3(Q>+WpPl7##E=;%i zyBfhif7pi(?(MoXL*SGlLNc*`G|2{Lsp#KmjGxQ@Wp2SQECA;4|9iJ9`# SWXKH!FUT J`9p7Kpc(z dsS<(u+MM+-n;C&@Yqfbu@ekJ*MV*n}6=@{12Nu z@Xu_qDEYtMWBuah|6Kon-&%G5|K9qI|L@o1|K^7Kg62P0nQQ&invmKY*};Dl>{YS+ z8#V4%)BnB_6PUC9*YB=W{D1dWZ_fYyMXdj__IDLNU}||gKMOvf>{{}+ZO 9vLbJsn8>9DlKOa3d%Z`LnA zldhj1s2bWX@A`%zp*>sLvsMDF6lJPxS|M8B*1Th%7>X{V?HJ-GRfwx@h$WR>mhNsl zkuMEN4e~{$fjX}omY!^vN7aR*3xaU0S;iWTkjwDcrwt9=6_-J3pj5If>8CbQ?JBAs zXo~*=R`S1W*Be!TWQr3OcDJzlhh3xD*+Z=zpvL@G+Sar@bIuqBSYp{O+5cRR{wX +#cAmR@MmchQ9|=gUpzdH}kJt6a%p=mJn$Q>yFF7opw~rE2k{H^CQJcO@1DWq&pY zUTMu&;7+}ND>0|urh;OSj4muOFv>X@G=>7~IZ1}(SLvHxa;CA+@7g<0db;Yy0Z`tH zoooW%B-_@0nAvrFeN^5Av}Gq0dH!x&chT@FOL0 L(%^e64ZQ994la2BysP zYuB}dGw|EeAnF&c8p<$!R8~0jB2XbKJ1&7i%7(f7Ytr}5*|vl7Nr{NJ`K#{qOobnT zCG&K6rMYjrR9Ad+QdZKH>SiiGBL1g-YP4k0_*VEN1|I1uVuxpLrPypoATqboJF}7q zOR_6}A?KX8SD>YSWn)USSF7D@ui9=c#p({YWQ|RZraF;ttJtc~g}ZLT6{`A|fV dYX3#Zuo3n5DzFAEi2fxi>H>0nf31h}nW4ap{fNP~Ib1Y3_3L zlWl_&Vk5|z?wOp)az30GLu(1y0foraZRm=ga9AR4=}vZx?N7}We;~%L_a`+gpm!h+ zv 5dg1X{>F+XkM#- z?zgl*dPYOK`#0?rmi}KeJKy!jf3B_HxmS( juiD6+ca4E;*V(~wxy9Sdg z1=E-|-qU!`ve1wd_{gbVS+3#!s_A)=0LJWkG+C$gZQkC-T6aw6fnYd(Z~qRxMAPs& zHoT7wlc18)s$bSziF1o?^s^nRZdBQSSKdioaHrRQw^P#&VY#ndOi=V}+kh!M(JzY< zXneg6cPVZ)%*=!-Wr_>t&vh`R^GCzHW5SeT#07J-^A%w}M} +6pAU-;jR{QtG(zaoaK z%73c3sQll5CM^+I(Sj%JJX2?X6#hYe>;HrCR?63Ztf~pOiI !)c zV&?$cdo|miO*(|d^J QtE$0a|rdt#(i?c *Lzj^G9AHC z Niwc>w8=G<%c|J+-5oc~?FIsf%*>wljX04(ZW;q;gG3u}+G{#KIw z*0=Y1?VHDiwexz$5#qf&PuwT5 cHFg(1sS9ek_-!`21rfWtMkxTe%VPeMZjCcO18k%wB z*yZ2TB3 W4qRWWt)`_*3XVI>gz~_y$XhM*Itaqbm!fSl_9s!Dg$2{11k4}Ig9nM zG|uLT&0ZfRkDjaWD`=zpXd%VNlK=V0$BT}yIsez)+jpz^zwX`S|NZskzd;9Amj9ye z736;@6^E7Q<7~&p1!psiz4CUzLPDpXJ(|g+jNNWy(N;Ep9;)oHsw|jnQ$N#osEO8e zJA3>!Ef{P4PqVLb1Za-_zjC{h|8MO!{k>WLzs~xXba3Uxj}@ -Tt&PxZr*;aYD*R^|u-pIRc5UHW9IbI2?bZU25@9xg zce^vPcFf+^> o zJO00~bo_Uo{=a&!dj9wB%8ma2E6RUK3=41kQjNubPW>y}_lC3lhSvW XMAW zJIT^9UtJ4aqM5h6#vq=ClPpRKOm#1yEH6K}KU($tI66(X8pANbds`kDfg$(1qtypX zOZO*# #Ovb~JpMhAy{QG$8fuC8yN)N|T5{> p mj5}#| z>b|zX8Y}a%j+rPC+?wl$7DjIFjS8okKN;m+>uL%E-5vA!Omw*=3()5xk5hdf4%7u4 zISsM62&Ha-U+~Q>cztf-Rcg=f!@v)KmMWE&Clcl|F2kA*EdB0&cLJ-;wcI@K{@}rX zoXflJcLxAxkWuM;isj{fs|aP1g#}+}Jjl}X93H Ni_7% zqVOCzi=XpYU{%f>KF#>9appq$QrC1+MC0gZ }qE$_em=l}ix@w_Mg&lestLmayFghx03dwTyr{X5TlWzGD5NfrS& zh%fm4fBY|=*Z1=a?B6sGz21v`e(|6FZ_hiVX}yq_%8EOQ@vcxV^B?|4&-=&n)m#GZ zzk1%wJY?#5Es};J^fyh##KN;M#*2(Q GX$3wU>-M)xt-ehc4Q zqF4VOkef~>DTofyU80{L^5gV>RG{#m{) KM*r*o;(2TD2j1z=(PR<^Fk3-b_)(n0 z?B&z(*v~E=!07yM-VxTp+1e3TJKgWf_i~2+e(Ci$ua`gNqX#+j&ueaf-Z2;@-Ipcr zxbgEGRz0ZwK%KB=;xr3`&LlZ)y=nfwK%|$`6LlXI%*Wp^{r>mfzx|*8wb~=3(AW58 zpDzd_4ggS=BjY#CD3yAdgH*-WQ~UzYe+MsCJ6 egmHXa;9xz%Mq0PYCS zm+`r%um)UWjB{?>uL^~K*OnuCx(rX3`KhR|&Mjc+ clkoRK= zK({;CbK-TO-T3Wg$pph{`*%9tGr>(^1>zFMy2grWOQJ0NQ@o$u!W7Tq0H$hrLu+@I zC3jvXc+{kTx9m@%Wd^ql;Fj@^?i2#kcTXXHh~Q&$@&4WbBn$L^tTh8=L<7d~V6kJP z6`Vigrx=R69q+}oAPE2r9Vi62(kWd94#n?+NThemQLzl~mgPH5LC0}aAY_19=%>Bl z3=j$feBq1lqQO1l3h;v2gLt}2Ttx5*c*$Ia2T7LU+q2;%^F~=S3@5;Z&hY+rV5m4# zL3DBw8h5L|j}mHsF@U1WSacbS(k!T=+|)7^m7}*~i*5v=Zwb?=VbOyy0C7SW4C=y} zepo3^cmHK(S$<-7`LIYQ)FtF3Y%XZl==taV1ylv%m{4c1&@vWU)`ga_kbw3$j8Stx znI?o2Hant6%j%Jwq&OY;v8Qi^^!O42oHly3tY0njE7`Sw!y(?+=835Q)DS~@wk*aR zo~gpcMa&D=hxTC(kus@E@SF Ph2>A6(FwCGR@?+AqhB0wt* z^zS%5L(Q6gV}YTc2(_2=Evdu?x{LF)-xgH{HXpIpBh~5767=HtUY#6 xTs23YvDh(XdE{?2AVWClt^wT&RWS|)$65j*a$bmCT zC=L970uh&UAqTxfc)at^e7=ivNz}Bigx=IR&DV*Ln&GAK&QL;-f##kM|DicG3`c1k zgs8aqg$Ek$dsemc35={5 zD5XV6luBS(xPmY)I>wlr zsH2IC-mn9F7MMV2DV_>DZ+RK*EUTg#mKqIzZ)xd(O%UMeNX$GrMjwh1d^sKQctU|= zCHBxr_UneRqYN-MyU>mSN|ZL3HiaXyhR1YIEt$hGDw2~N-@0{-Jq$qN5MDznhRPKJ z$ q?ArB+0k3q|dl4D|UG$*k%Y {fD*?89N!f1(Tl|{hjbW(C;l{6 z)OOtIB3lCX%?;AhkE8cEV!#281u$9b36|3OSNH*>1K5(ta0I{cK6;%_$Gbe{P6Llm zp%2_^* vpw61q^s`6Rp(-4otNPYq}5& zjzv5N)U8_rkR17=R5pO+m)^7lTmA`_;TYXr!uNHa`AjDMASHVP`3P#0yWt5aCBS2b zKmr4Q_@0(Wl1rXtGn?=O*mH`19@zejikueFusV6<@94{Gp^fHBv( $>D)#vL*l6we)16bTHi5)t zVtbHGR%{x;1|y@f_`PS?*(Cob(;OBh2>Wwn3WZ@)N|bTMif-a#bk53uZmKpr2<8y$ zH(~f&w&*c|rGs}sew8Vg_x)%v$uy4JUZVm3=jGFoQ(AJ*W+6#`mf6#cj9|o(_@1An zG!ZZa4x~lZ#qp*~=s}~a#ovNh--Vw9D#YwSC!hs{;|%Kqu$GQ#(q9Uad4mgsbdNh& zq1j@Fe%ygt=OA~R2L5?}Es9)qQ~g$z1#WvOk}D`FpF^iSF(6XMxZr_#OpEfOlLTq| zb(WT%;f3*WjC2Qx*mQpUIoi740+e_+kCmI#kd5deD6sFruwo%3wP3K7LiATK>E}ZK zWm!E4N5D`3FHn?F1eR8#VPY8_wuy&TN9o}25-)zRmr9BF4Q;%C(1aY3#)w+q*iT?s z(79Bg)Wg=9C@Ktrjfb%xB}DpzkV*}QVV*~WD2|E?z@irepGbW4HpCZgFB0pDG~v7; z)rho}6#EGJ7mS{-Toxp|d2uP7k*$}gpgPh$=#jR^bJ|vmFr5I?nii~SM!7MfC}PM( zIJh7lhWk8GzTp~wG@`497x;y5dQ7((pfRAEIFKVs1&tvk!m}9V($XvB7c&?rq3)A) zYD)%yPaQ{_V>+QFnG22DCjs2?UICdAF OpTgg!eY-0N;n{qsw;GL zp xNO`Ov%Z#1>#GFivb`u4hD~-wB(Ua}!9f{w=ErH+S@5mjZ;ZLQ6yNW6nF@J5 z@G^jZbwLa0H|hiD9XRCyr=2;M&+t4&ci g zgfb`!LLXT(G930*p_asa#|SkMPSNx{Veo>dPqGxv2ceYXDz`nPAH640(U+ OZx-`u<8y|4yAg(a@)(ei8COWiDg3wrV}&3xR$>AcI$ng@D0%ks9LRya`( zp1(ZmAHtG{rAjneU63=$UwOb9ttFyz6Np| ICmQw=xAVT$yzQF}V|+J}$&*&`auSf&zX=2Z%b_%X z$1Snu^C_A&W(6)U)+rKP=i3q= Av`t@hm+2|@ zPC)(Bx) Cr-Skovnl>*^G^G(A1kP+_y^W87PakC+c!y?;%+Vaq^ zBI$Z@$BVHF2x()f&_j&<-ISEi`%;mJ=#nFa)}QKubd+;Y$1$k?nSW8~Fghb^6(4+g zb*C@C %1XyQNkjD2YszKcit^Ndq2n!!)uyiqq9bF>XqI6w&~U|@ryO6(fD+avJMP?W zNN<}K7_Qw!p`I!(kmFxppt{g-)H&T48Mk|r!PDMD9HPXdAtipIUzGq!C!TN+MY(X% zh|ol4VQ1PeeLjkYBZL`}rN;iX^DqZ8!2XWYK@>}yjDwDBKdX+-q{%aXeZWDArkm}b z+`#iY#~v6Ih5uphC|k}Fxqr+1OQKz1bf~wPalOJ%#oLj*<2A+YrQAD4=GI+ZTR(1# z?|%}aMm_KcL-w75>6!`~eFA1$m;sxF9$%of4^pU*J>va$wJpknL0(x|3U^114On;# zMz18w3R_rgmx*xQz<>9DgDO*a3C~MRfm#Ixs KP+=k?-p>Qp!H#e z4vlh$`z>BEL%p=Ok1UU(4jBmxYup6mv@km^Q4lFuFUawr6{(VsesOKOPJ3ojZ+p(x z>eS-WzAbBwR%hI5BMcRegcyZpYeO_|YiRC{qbzED!}IWsn21_`U61wlk33J8Fo&cu z>PogYD5n1Y nIjVj{i#2-g- z 3o6w>W7GeS;y zl9~$R31~#LLn7G&dRQNchnu4A^9e2tQ2ju>`{);k$N1;rhIb^(0AF|La22nh(EdoS z(6%yb8~}+_jn{8B4Scb$I0?)s`1vxn)IhcxeQ1~wb?k6|#3(QoPg1BL4%|#I<4-JL z`SfH#V6Z6Xz&Zg5ya*&1T~M4|^?&~PVjckWk7htuw4>xg2me0Bq7QjO>AO-xX`iAT zle@H3e&UHx+FT!!F=LOkuU4q?%wmU{_fCWz%ET>v^uG6+c^gS&M?A_EH{;;{Zx!Zw z_a!p>x6DR=-U^3y-fBa$?8ubO^2rLq*gB|lY=+$69)h>~{HgYg167h{Xmbk??ZhmC zRLE>$hLP(#_5t?`6hyo-q*vP1`HdaCnd@71loq-gJ-zO&<*wcK6vP3%TreKNsMVP8 zrnc&~Z1)85B#n{FwU#VRVTY#i7w;*(RFT-f0L7hu8o?yLcujV_Q2CbrZ51<~+wfYF zA@qa+UQ&V-Kcj$Lun^^1Fk%#h3ImJb5dW%$@R;5G4*d~{gv}4)@My_qXjBiw$}G)O zw-&IyoY6J3X*DkxNI8P3^s;c)x10cHMi*&a4W<0IAVE!cJjci>R~Nk1Zg?!)iIODD za1ld)t>gdppa0kY;7N1C_5~cvT7m?zvZ3=;a7Mn8R&lOFjElEy^^w?J^;`iuS+ep| z#P~E#1GW8Q#vB?<)`(22M5U2{qgu1<*lEt8mcl0_LeOwcQ2i5*LmR@H&KD8 WkLlHi0>rOM6E!*w4}+Y##Fr9?2jOxp|AYAkWA7 zKlgKtS)|GB95bCR6jY}%v4&@Z{7X)9x6Z{ZExnZfH2X!#or2`9yqu(sidh@^lL?+_ z9fkTFf2A^~6(x1lsyEk=hyXF^Up8jDLWCT|b!MMH;XpD&^Vk OhACg0~F{&G4WA@ zie0vbn 3n0hbzYvFd$PFl?-9&h<+CQMET{;1Q)5ppRju9G- zf9xTf!r&&L7LUSijw=}hmXwo~0v9<9=o|0Jbof3p{64&XIVjv-;X(vQg XpxAmZ=PYkJIQ@?_)iItkMAW9j3iKvfX`2;vyHFP7b9y1~#$QHvf|9JLGz z*IpmrKOtPgtl21`&}e%hFEVB)yn76cfAd^PXC3&4jzp30B+6+D#3si#bkrdmHyc06 zDVip^e*#p61K;s>Q_C?QL^&O-h>C}>xWoz%JLNu_&K=<$x@>zNQ ;Nd8A*xo=o2jU);YDg)P4C84KVvOD`7 nQ8 z iTj?RxBM=Ca1=7}l!#d37DJ@nhWFbiy pdT5QNu+0z}PvSjk!E& zaAo9ub+p3TghZK;V*U=jf7lin^>ktldOBHT%t34Tq# <}>y55TDNIf9A7NTc{j$I2FLv zFjX-l>J$e27fku=0Y_5tu7ly3Wz#X3k_^zW7V0iHR_X5!JzlKC$~gVxPNO7T2wNyv zLA9R*i{Z(YKMlhZ%;})!Apso~3~!JzD7dmL%@)HROIGp6r;GIfvG|N(&ZiX3gz}xV zS};G0aKTl D TFO10#XjbJ` zYHGL47#Bsff4{w;*u^vbsF>NSr4w3OdW5t+21^CV4&UyxXPj-Col%C)BUA?u{S!Zn z+GS{MJoDpI5MVf-6w2K8DMN$apN%g%Ue9u+9@m`=mH~9FWB0*1nNbD5pN9iFl?eK` zz!jrB;1{E-De*j|L `+U;TUz?Xd#zKG_P8PMX*hy4R?bKZj1#oOe6 ~o8 zab0V3e^bm3;&dR#bm#fAql5kJmq+{0_B!JL@LBq0 Uno~S1+)l2c^3+`I!iZ+-(B}V@j-OT z{C|!2Kdj$gsoejxc60yR^?bUwZY_DYyvMl7e~BmHd6P&uM)g4xR%l6QXp^#Pq)sUO z(;Q)l&Dh*Lnf>^n|A-Qw >Px~JxHO1)&<-yy-C(n=G9`*L#KI=X0&uL-r$@A^rleeN~ z|3_%)5b7T6^^ee9OziGE3XTQ~fYZpLe|NJ6+T;Dhqvr=dy?sH0@~n5X|6~8{pZh<} zL1MT6sQ2>85mtNr_9@o2LW!LW&RD5mfWcYvpLe^iS^lrB+^ekrwe|J&oArOK>)&!z z9Zm=AF9R9e7W=7uq=kyLIXX*3E@_6LIfhUxcIB2QpNLb*$T&<(c<7+qpXh{(fA=j$ z@fg29auC?1$KKbOnu6S2r5e1|L%81G6^AsM1bxGdf^Q4J8&-er?>^8fMztS_9mygz zBe{dCk;ij%#?LEsp)%gO4+wO_H6aZC;oP3|g23p5QuCT=M)|&4V!J?wQ}I4wA)+Pp z8R-;*UYJM*;jAe{25S724H}O`e`v$Zk@15-lIHy*6(T6QPF*>|Q!MfY^ISFKRPM;n zPD4zt1qC;Bo!4)`j#j_g3c(Gpi5mw; u?tdK}CqncPj{o0-=^SE0VG(e4)9p`Y$sDF{}1Z3b6+#vK5rm zkBY9Si}a%8EX7on2pf}Re~6x^S#%oVu}>}Rc=PQo%6gOa13=@KEdI<^GYC2HY=%6g zzU_$ozfFL=f%-+;f+}s7wg&1@J<7v&=u44SGcM(HvUMFS=}!n|W}h&L$}?*6k$7bE zE3x{6bvEQlI1=uv7ZR+Pa^7;(hZSTBUY+5q!QE_Zl(K#`aAX_Ue+p15otb+`xac ->&%oR&VZqy`GQYrngwuf8R0p3%^$aU%zJW z)Auztf~KOIwfPsQfB%0aCNO9HuT}4VUt7JscC-F}mG#eRwrlAN(d&A}OvCjiANfIg z?s@|Xf$K5v-`y~nYhM3k;r$x&e|6>V`kF)j-@aM@*SP-6>5b?(vvfPRy%#dkk@IRJ zadZ(DIvzG9ULgF?;r-nQLfPN6OGWuXnifXl0qd StQmbFy9|FYYKl^db8%<(GKHNJ2nK{p z4o+#L?9GP?fAwt1EV%^PqBJP=fbnon6g0GHwPYXYced3OhwRHcBG?`6z{langNkDG z#ft~VBRL^v^K_!+3aw)IN)4A=EVaM~S_q(7u~f>=0<>kVOKXPBN~K&vTM8AP9dTZt z?06XW2PM2P!H}^DQ^vsht*0DMD`F_WpPl9enYJ5_f2#9pfcos*N8GI^(fjZ|y?d}g zVkEPY-Ix08N$%Qqq4NAvk|edUNAqmtKe1YtsUKa0Ecl5DnU~d37KWd)1TVesWG+HX zYw&QxfQN5g?8Bx=8Ar0EGsyj-^S}Kf)3^O1^ROw`;n9dM(vVq#q)Z|o;VvaZ6lW4- z&N}(Pe{>8wGxhE2Ono{thn l8?x zI$X` VF{}T)m0}+8Nil;j<|7Kk=imcj!ws6;93rNi%t2t=GWzgCS |< z`9^c+lCnb#`igaG<2SUbD0BjoOLA6ZJFA7o{|wCmi%Jr;4lF8=au;kKyy~9vmS^Oi zKo!8s>VOYak_7x=wvNBchx_qa`6Rske@q+~w;%Gk=2B&GV7OE=2^ubjM@dsetdG>F zu=SEb3)L<0J7;&1$BRblF(oz2c)dOKC+3c$9>H?v4!w_N53D0qhEY@vc_}A_QN$ed zY8Hr1b2rqU4R=lgX9XN<*ExANbTM6ZXS(B7ed|@Zv{Tf0`zo+lFqLs7ZV!{BftUY^$bR1tl}TtBlCS>?-1l zRC(`EJ$l%rERD@t!YMaj3jDQ~X)#npa)5;p;j&IN#H*_yagq+FxsmS{C^JMyY%p&) zM7c*;-#sQ)iL2mLpM!Uy0kZ6NCu(+yd8nBQ_C)L&tx&OGIu!)O3vAk8e+QN!k{iWD z`_-aVR1QQ8IbQ~9+zDGn!Z%#qda0EB;c3>aHiCy3b9rH@%qDNahx!R6!BL@aD)6g3 zcA<|sSk4p8c5G0X*KuKJ2cb{bccn%e4OSO8?Il*$#9_w2S&z~ B9#h9SA ;IO|Rh;k(+oo@~T{aT<2Cl`71yT eh!c)vn}P+XZicvrLz=xnhi0*?PnB3tJwRv#8eoprhO3Mi~o% zPSteqr$vehK8JK&tjO3{nqHOS4!8VW(=GcVuD2
l_7*RJc`PD~4mEM*j=S*Y%^-hKYG4myq4jwoLXdp8u_qH7-9J`W8u z2p7ZnSz6%zz%yVbRD#gs#hHr$Iy}u*1N8~aWG+(R(;Q>eP+)0Rsuk^t$flIL)VJ;{ z@^fI#e?h1(K%#4OYI@BiQgIoS-Mt%?*uF1le^Yka4MSaB%>Gt}UCI8o&VL9hy=MDw z<@S2j{=2h!WB*;R{bxrVwM(H%?NS8NVg{lW#Ax3IqN55I&nC0T?I2_+imS`i#USz` z6G|Jc>Ik{V`L*%ZfeUeKth~cYu5YqhF;T49f1J$Jjr?1;Y>9v4@G@U~GV=hlm8W^3 zdsH48PD`c7i@|!T^6v1haZ4q6UPZPZv$0C7qchQz1H0PZY?fGK1eCDVmkF~8VBIK> zFHd1`5-Gha8p@}1DKGV@th#(ow@fcMrF&Pmh3HAyFWsanZ~6_`j8hmlkzDCoXZBdM ze`x1G(7Ddbqi$?x5j1PwQO?duBSS0RTE}YQ%lx7mqihI5JCfS9qDeAqce=hPvzB~k ztt5+g*|Z8+sb*{*w-{RH)s9z3%V421(K5>E_~^`sXSsRRA$!iqFf?*jS8zk=KNGb= zfYw~OS&0yD$rK0Jq#YK{#|9?2P?G6*e?XD13hh1A`q(O|)7DG}pvW5qzpd<9lQ|0- z=w6xU%`%2<8@rZmav3>EcBGXiv}}=k#5MyJ{=U}hZ+Xk!V{s9sG85?z*bT2SzQAt{ zyOaeJOLd*a#LOV`kp)3AqHxru?O9%!2RcpCs`s;5b5?*^X3%H78TgM)oi@cKB&8<|Jw~+9DK3}G0(XMp$$P44Oc`4mJsz0LWQ}#5O zTetGjjLas4fHdww%rs4CH8QBJV3!M6%0j)#aI;(YH+TM@4{Kku{kOWh>ahP-S8nXT zUn~A^h6y&y0b9udS f@ny(3Z5Jq12zJl4(gJslDehtTwJsXPY8Y_? 5+EH34>kS$ceuO{y)vWN(zWMfBwHUNB;M_ zYd86yu9^RvM_Srq!?0cu%)cNSw@Pw#`MY`9vAA?P@Lbm-cdnQkm?ElmW?o=|MdZi# zt?oRi8Y8x62JepojtxRaT#cTG6(7^0$h=}ectG^U=i{bO!3(!U(16_YxsNX&;Qbrw zdfL#Zw{!zXL@^@gB7gAye~E`zz)~F#Z+zQoSa$<89#CkxXn_JZRJZ7sE|#WVsTRVf zsm7c6;IT;hc&?;nif417@@e=1%_enq9^&!xV84x(2Q= g Nf*+VMWoX5K {C7jWVB^WoK3-YKSW|`?uYDE z#ZHxW>0AuNNHP`XB|S1n(q%YGJLAS`{7u<^Un%|H-2A`Q{Qs*ft2gog*Yc^R vC`^Qn^{aH=mo&&FALxm;3qu0fkP{{s0gH0PE*#T>t<8 delta 22904 zcmV(*K;FOk&;hN`0gz(@2+I_)X8sO;?(KEQ`Oo#$8~^Wb=lqBBT=v3VVW;?L*9RrG zYma=kU5R1Zu0sKB5&wP=1`!@UK;N|dPEh#);Byvc;=x!onRA{6%$xx~xBXn8T;tKM zII%MZ`~p_i4(57E2zU0cNY3BBUJrM7)@cn2C!|5lh4N#b*yt=dPhAkuzCJyFV59?b zX8c)lCiPLycN|JiEd;^|EJJaSP$)h{7KZbD^4_0V PtxCh7_J4S}f6(9MxKhlz!!trQ>JXhI9m7vaMrB(V zxN&&qTPIHO01BYP&dLJq?11e)dG>=&iv=P2U*w!HVx=MFhnvRk1pclcO|!h=x#U{h zp{f%vPKWQAgP T5Wj -rvzgFj!yOJ|c;9S3>W~X;6V@~N(gx+W2*r|Gz z{ArOQ{h-JBLN1}wGUZ1ptN*TLE4#~WR(#gx88qpMR%)T)mlWKKg}hn?QNAPFE3pCS zr+Fk)bd@rSlvEafp&8RgR;Sak6jGHs@DzzM(+9<9vXPBQuY8_bMh}bEp^plr7pH!p z21L2NxnoXtBG+OEKqd=pQ^;H@m{8TF=nM6`qDP9d;^5*|t@pc65+)jly6?i)X;bIK z?$o)%?dazh$ vghcPKAMj5=wkQzQ%;BI;1<%9BfY+VA}f44Uq)@24L}{=8%M(| zE&TjFp7e&o q iE6RdgY<#;B;j5h&K$96viFKKa;}(So1-4Vg?Z(p{FyXc-GW(gd0o7JBcy9 zY0fr)*^D@Uy3W%khsT&)OE}gn!nudL`w<}pmVBCr=HO^OGqaMO65-Kap)6^h&@@sc z7 8(`A8zMW!Vp92e**YT5lBvtYLWQF5AJKR;%EK z%Vktb`bi>6GBhhWsekTAg~>sb0Fj-kl?w9QdaV6_Pa#hapJNC950haTzD}82vGA%~ zSuYA&gHvPQkRZ;CG;mBsX{5DEY^_)$byVq74nGj!-TU-BuC3CfiJplg|K+XXnzpVS zBOuzYo5P)$6fwmlGs+*JxI |n;+qN_O7C)>X74?jgoK<`EVX>Mrf()Q(kYMHCDEAD`UcQJ-qy>H zags;5(Lhobnzf)n%?Tqbft$sK4~JpmXHmL;Q4#p2t8R$Ml57;a(@g^hY4fxQyJVv_ zF^EvM_?WuN3zF#BRO^8_4$1Tp4&R8ZTT?ZYqi$q O|VL~ee6 zsi;-$64MfW>zaknGBIoOZ?eTgi|ERh=Mzvp(Jd%7PjBF30)EqFuGX)P;K-&S_S83b zv{9!TgOX0;E#RGo^_py5n1#9_fb4*Lk|qJt8KF{EGK2+h?iiV)Z`*N>d=+BF=m3&7 zujuoLxdiRtvo>lfQM^@=8pfPW0MfC4P|xq{{GTNY)o?7^svmd%qd@;s4#8%r0MZ2J z$l$kaqE!x*^ezp5S$0vvQ6}@ZlE_A!4#wBSZwqH`(y%t|eYU3dxri;k61C1U=>$?w zbm}TUVcv@>jg>Qv;&f_W3T~CVV6)T~qCwo#km~N7hnihc7K^H85{HGcAoi1gGe3?{ zF$?T1g6fztz-M|bZHaWD%{p-8E35-2)drk9DZeoy<`WgCGInjp+)!#2C{|AE;o?MQ z8lRX9Nx@W+rf{hbF1QQ$-Pm5D1S_~(DUB&!W+eJpBd8l*Yz5koqv}TAHEK-<+Lv>B zVrEV=vslS6AYwZuzG Ffzzp<1-Z~OrsOs_O{IZZ!!ISz<5vPgjgjEU zkw_I#2$}Wk>M3tSlMP%d&3bohRvpt@N|aGYT()?c{q)i`rmsRfk!YfS!ZR?_q0To} zR!M~#mT$OS@^#jRb6#a&3OPtXH_vlFyKv4~DTsyVuy!QpEKEB>MyPWP@spO0t80%r z3nhoziMSXX>6twZF+@~$*9g&>(_QI7;wo$h8L3gt*m&cdqc9qhVLT0tz*7z~Efub7 z)|Foi^?|}b$H;Zf+AK$Z!k)`I?(>%p8W2l~m!E(xmK1F&5!_jeYoUd;;PMfj9Lgvs z41hk1Fc>4UlC(EbJkd>599GjJo0`w(8HwE0#XTTgK^N}0Nu!3^h5zrA!f<(v9C27o zL^DMMvRc=iknJH +9`FaTVG*+3LV!e#Q_f)C_iLy zNF@hVc4vJZ6r`O{wZlk>FKuBY)Te<;Sj*eg#y-TUa*=B1my>Y^DGzgDWU +%C^sQ0yA!G0Up@^x^*y#Nr;^oELakTrQ9WRDmmW*D7UZljiQ#y_SM*6u(@auY z%d={vg55~XIuql69`RZxHwN2f#&X~(iSXpfU|Kk2sPcs1zR73F&Dn>22xi6M6-` z4;>379eSQsxtK~g9ioh^R|-E*CBAgo{t{`Y`A>t 26Ez9`QOB@(Dlauuid`qi2q-^$^UkLz48CmyWiT5YtP!18{OKa z+u&y22%#chUWlzy9a>LLU|^-EVPVAD%QP`iE1DeQfig2{K8uZus6rs!F)VBQ>=^Gm z%cElyB`#Ff6Wj`>*L+PT*bBu-*AX!>d~+!7{alEh=Rhh9IpO9}#CoIKu$nW|=<1fO z=piE=avZ;Z;78Sz$kur^KK>=kgVYj()ohjW=%VmD2v7STCe7o2{`R9DJ$8IwHvg&n z%eSrLw%0fvH(H$nETg7TNVZ^I`twvdmZVR?jt{DKu-Y5#FPB=l>4<0Lf-m%h;htpS zMC+q0%XzB+{dAZXTt_#^L$qQRac}K3{J_$BED#5OH9fna%_G^`Gy$$BH_J=2%UN-R zGKJ?QVTwE6E7I* TxPhx(?K`RiJ6wi;PPD)>aW4Zio~N`rYWtW^PoR$*^E=tO zW%e=Q#Yq=&gjQG2g;j@+x+1#}g^Y0V8NL5@UcVjdzP4vb6C2mu;?F-{{5D2%RvT=1 zE&{y=Qde?hQ}F(C-KgPKJNi*n7~UW}jgo{!Z+QUaKGZ2?3DA6y{9=yVZGZX2Gr6UI z45oy_D;OoFU&;M+uYn}cz>E8k2W)tiUGp4zgEmsRE;LnDr^ AiQXf+K< zV_eOVh2Nv1qAh=W+ny$ykNXg<2q1cY3*E6BLidx&sFjMsp~w}4B{`u>Bu>Q3X*E{S zLCACswM_WpBBS%s1udc=@K!qv2*j=o*cPFWEV`?~k96Q=%aq-qgHAyMX!^sUyh$T+ zZ05mhx-{#JbcVc+ygzuWZ=CS~P}rD@w)gR}l%Hl2M}^#8Wm%h`OYc0@M~pUq#0^-X z6rq6(rX^2(xofJBrRva3=5YiaTxqMZ5)0WpvmrS{Uep38)n?t)0ZNQPDWrzfS?dvp z99WNde(Yz)fP8fB!eXzhJKL4`Q|+a(ZYGgSj6yvs$~=j93_23}wWToA24jT5%!0#K z4g_39 O-J zx_9D79N?+r1`QKjPElv6y88uuPE-!2YTu#(60PCA4=*r6lO~y?MEPPoV&muxRiT=w z$lyJ|jU)KCPkz!)6?=|tBvF$RGm9fSAAas%xX%kH%5(IE{TB8mMfQ$8plHsILe07V zDtxe6R_9?Z-G=x?9z7X 17b+-G5hp%JnGcn7^MC~>!XV8m)#vvrNb%;a z1E)fO V5!&9yEgAqZlJ2G6soq7g3|QE z1>uBzaMqbT>lXHpgiBkLG%wlP!+1YFvRM}hZDv0a7ui!k)lY)zoNv$`9;q|^1`6t0 zb>xH;&a_29&0gtqQAUmu zR=2!m5ek*-bH-R2wEo8Uf|8rtr7W0Os_QH!7Bq5lS+LXT!hc3-n<>my+1 ot@j hAxtY-Bk{wi3*_^>$mUCL=V5LNb&_At_S~3n!=yRDt zntacxf}&&^Dm5?SoaiDYo`j>N;5Td?5(c^Q($UHB8~PR?WH3r?%f- z_MJ|n)*X^Cye)>K$J#Z-ji^TJDi&O6XvZ?clM^#z^w>eEBI+fnmtjlc&pSk*GKX2= zgNP;~W)F{QfeBmY`y8iJcD3R #V0uqIP|pe~Y7{C& f5S%nfjO? zni9x=3~D3XY&7+rg+3uK9RTQpVu{Z|@I %lJ~Gmlfn^GLzs#QX{m)c53TJddDsX{F#o+&e#`TSjw-+o$HzMS)#D?``E*d= zfT1Hl4t?nCs<}vKtxqfIl+?CjWSKshaA+2P(tecgL(NE61$3RD2T`#K|663z>YPxs zO|`iL6C%IstB}np5z}$}?ME$Y-=$GP9P!e8s;h&wgAALpZ+`m`AzU7pR5zLF0Y#?t z6FPRdtflVY*llCEU|s1m(O@Y*SZB$VgrgjaP?xS&DFI4CD?_DIFJ P zMv&Q1#U?H%M3oQel#I%ZI!k8DKw)Y7;CzYQiN(^UUe1ZJFoNMkAhg)SH#J##hK;$p zZ-ht6{UJ4GqUclh-kYhf gBhn8T0+t+D zMkB6McQQ*=HZ7au{SVAT&|uEQp;2*W^h>kfrOJW34T-NvSZTP9#S6s)NYOG8+;oA1 zfvJLmhc*~Fd?tt}KlI0}!Rdy?&n*SFTH}$yv&uMkw2yzw!a}`J8X}z%RA=ObkMiZg z6X7tQNM{$)SDMKJxc?xGRNSJ}nK+YfBN%^nt?_>=YioBZ_rI>K+`Y;Fd%f|0vs3&U z!F)m%%u3{?SoXJ=QOwD&-FdsHe91*-l}tgqp+fGQ#H|_LGnuU?Gxl(J>q`qD+PRGq zYKJ%LLP}tn1ksRuG@}&dRdONV>2p6)!3vCn4dOH)!$);fStryd*FeeNRKWNxk+Od@ z3;sQ4Y>g44=WX3VuvOclBU{?vVq5fSz}a|l {rL9G)?Yeau>iX+^~3DPh}2L+`>!jUNXD-1KmkISPkM_hH# zF$>r$t8j z3h3GL|K57_{@2ypH}^kZ&qpv4k-NP< b48 zlq=yXIF^&aErK$~CgG?w`F7McwJpN@=OS*nJaT2o3Mb@!eE9$q^vfrs(C6$$Rxp7K zV+l_?T*n(_;mKCRyd #`KNN6GBC#H$QA9{mHqA2_@H$44VPs&*t;xU*;F&g2twg32H z5@vYmi=g?Jz!7ta?vcvbq|<|qQO$!oWWpzW?3B7O#QbOGl?XbouC;$IqQV*}d-_N} zkSj-d#c-kM2;z>D@&*f#TfO(I(P=n|jCWaS!v*bZ9XznuApWII_?MohnzKK%ILJH? zrE7WxBk$mX74Gv*C!3K4=Ws;MO{*ETxie9T6~w)Z8GYrgEtl`kW_fKYSt3~LG)pNY z8jD{Zx9F |5tPxA)LH?#g`|Jn8U_ zDqmCF*sNP^iF~*%i~S%*sy&=ut2NPBms=BMoki`iZ}aTNvS&7}ok5)P-Qojct1l6k zAer;=kxN{fT)}^9h9CU#Bn|<&2A-JQT3uWJZWO-D{jDd@pL};d9Zjc=R?AxCA8E~A zx?{1b3%a^N!3d)qlc&vSA6g#2X{(6*MC=`^&Iq&LfNq^{aTxs{FH0uB@&oxr3Oud( zTJ;;Rh*e$3AKd#lEyFv(mA1?=?BsYbpxOAYq1{7#RzQCouceEvu_bN_A!BQA+TLq! z51(L@^h7jjw~A@vpZXXjObB$w{-lZDXxAD3N*uNt#xccSo=2yNiGoQQUh|`e=xi`H zZI4jdU`*N`p@F+)z%@*2f6i0k6YS>4OL5SW@ngKQjMDAtsdycPcrP+2J~~DlO5wT7 zH$ZssRqubWuEI*FDZcuK_wQQrKxX}75MAWOAeTnPK`9-QwPY+L68qC^o-4)ya6^x= zD582y1JQi_KD=o2*uS9w0pJGk=Rf&@j4p=PWdtu2lJXlvFNHd zoV&3Zq$y@_TO6GL8o)T2M=7lGg|Rxp(#8(Agc5uyw5;f}h0zigoI*=N3BL58iQCUV zWfo=KtD+>nz0nIPOJO+{(WjBUS~S1iRbhXj_?NS6EVTdfmX}Q!zv*R2*HwNf=2EV8 z@v68vO4O}EWnae~-S-nPKH;AS-Y*pTa0Q|^;%#RlY5It*6Dwb6b-DSKO{l*DOPhnW z4B=e72H!cw3DIV;PP(3LKG&Q%7Ues}9qla{IM*phh{_!0h@ p#-?v;dQZI~K-tsFC7jHOS0lVsz z%Wk}QgX+ro% iSW`y4oe!IMJrTs i1jB z|9|_=o!gc8&pQ|sdgK4QCjVcZzG^xK*E*}66@FS`6g_W}o`>1VH1^KJfsub;hQV%#VE}PL=s@~JMU>Yit{iLjz?h8IVps=8_@}*cHH1(H~P&x`P`3^ z>eIoL{FlrC8<;a1ij0b4l5cdor%^GQ4lp}a*Jm6CV=G`W%JV5;u_S~}W0a0V%=~o~ zAiu}cs$=H;AfzX09^nyAjg)^BMgT~#WQiv{`NN{kbg;TYR3x9$QlJ5o<4-2C0e1My zU()X{f6Ez_zb)0PAudd_URpn-QqwR@pNb~kIP;Szj(zzP@KeZ18gfI`t||HC=P*k} zq)nI%Bc3smhYhAxg9HW}K{!s~pEDfcv#8*>z`#Re3|~p0q97PkK}~;2Z+Ur)#uyfv z4o!q|3w{}LZUbEa92v`#v6oE~k70{96ea;L&x?%U;P39OTisif)f?6f07ZjwS!NnC z>TR5pu6~8u@blcz?;FW*N|+6&-ZK2>W5f=k$yU1jMM<>cSdS~1yi|=l8!pqR!iuG< zx$~j7Ji$L~6U%pLBEf&*7?k#_mhrtJ7G7?$0sQAJ^NhUP8AM5!3wWm@^^PX`yf8SP zY>Ls9Wu}8T%10X$IdaLw<10dzmxZR3Zv}Xa2M2Ch+_h4!J&qD)d{CRdU#+(PPS?io z3)Oax7y rm$sP^;@-nQzN0`nB8*qPa7i!)E swCkjs0f2N9dyTj4iCCJ&z~I~>~Ft3+JCm!84HtDSV&91W&NMR zK1577YFZeTbxrX o@xUwdns^$6s$ZP9oH+8wMRT+KoJ&X2XztvKtNc z8<@pwk!pWTI MP!Cf!zr z-t8KNPMOolV!19>n8ng<0^umOY8G3AVr$#&+uH`}JF!^;Ior7g6lp*|@7DD2P+@-^ zEYOnw?9jeu`M Cm$gAmINOYuK@z1|-G)5m}Q-0S_BLB8tsUKzmY8#Sow z(my}+`u84Ti@VMS1@5&C?)Q58<(`QqsrZa`|2)}K?PAMM?Utznx;$}D-97qA|H$q+ zI=}N_+dxpWV?tm2+_|?6xb%MDHzg$XGlG9ju*8d<)oq?)U66hf>?w3%y3OC!2>$uQ zK6G$z*QFT(rwkF2iKR(4FiS=MMq~V3{x5S2eqjMHhyUNZUD^LxUthgB|MBbbf0GWb zEC6KXD@cF}Z!~%R{ykI68}@obgYRhOZNd;d=LgWS1dzQ)$W{6^_U6TQyfcf}Qlo#G zy=x|^*>_2lXf`GA`k@!DYB>T;{Ml|oXn?hiXg;kQ(a-c)Xde7S@9<6^+8FK{j95vY z&HdiaKkzu?+sz+(I|I$=H-GBwJTqD{ AF$|vsq1Y++Q45>J zApCLLkn|dYhN?%n1XXvQij-dLDdB%!)9{CWnN+W%;X~*#HP_qxb8qK=*xZ4CW{XA1 z|Med07dQXs`v2Cd`~UaWZ~TA19{)Et+!r+exyoGYpVoxb=Ex5IqhPO!<=?1rzncE{ zm6*Vs^}l|1rQ-j)w|aB_?=NEgm$kpE@BvfH+xc1W0cF>cw{3eyN#{eQ>X3g=?}oQ5 zy8bclB>pwz|LW@Pl{;1WzjovQ`}NkpCWeLOKUbN%?n#HGC0_DhS$?yA`I&V6{6N*v zc6rw~3<>So(w?;vXr(AqWz!1L`nKjB`@~Rm8EwZ9KdC}obwezv?6P!s+lhQ>NNSKT zDhp2 z|7E-0s3KFGu&}#@)j#YS&CVWb?Ep3Ax6-zz<(YHFFu)SacFF$ddh}1p@jH7BAV5Ur zj@jW-^A0C1b$xpdm664WD60Lb{v!iV?f+O1&-%$JHB4w}$FLrKO$~qgTj_<1Owgcs zY+$Z!>o178%N?Qn;KJNO@ZFw)pym*+l^`c0+c8ShMkiIFsVosI{6E<(&z+4Jkc7m} z_A>wpphL{U_CvpZIH^^Q4t*13D#vBd-UTVSw#@ZmwrLU{HKKhy^i6k4x30%eV_ABk zN#8{mx|}aJnd<@QBCdaOC5NF4Kxs{>u0LOddP|h5#gpCyUtrypSQM1~*&KMKHD7@{ z^{&L6dYcN0K{C3q#K0)$WY8E2u;(Nhl3%57ddZo_LceS8Jn8AG8wWsnFLtsCe3NWj z`(b9+@%2%86VR5OP~`c$ZQVt~t1QJyu`S%m+OMr~uI1QTlPZ68OCok}m*3dRf#{K@ z`jW!5gFp1GA`vmJrR+)D4vN+K-Du7sR( z-d=&0`jw3-&0ei`v%PA&wG^v6;F2{qIhyK3zO7=bJ{Rt~30J7 c^Dwn2zh!JY_Pq*PN zt`_Ltoo%Tzg8&vweJ@~^4&Q#1>g3+Qs02L6`XOcue#E6WVncb4WTm;w(NDGwPKb>l zXS!!{Cd>J7VhpV%WCs)?Q@5cjdct9exTQPUF}6Q7SNwq(yWXGFtbpEuIM6D99^oH| zmud~u F(dOQ&{?c&Fp;F8~?ese&=2_{`2PkpI_1cTPB8uy}+d$kBi0sobDP-suWCP+IUan zJ UqsMFJSJ>(OML(zkhg8*6{vF`Wm3;rPA%JM Cvuy*W>_opTN}%!eI^3nW z)i5&?rj#izm_OISl+GUw^NtBqiV+vg(au+d`5YAj4U*myNbNimQz_@bC|Ckss-ow& z(hPr1>%QTL?yqid!h7E;%CZT*r`zwg%@-`F;QRh$o8rZuW4zeDj2Gh&XLnGTHrKQ{ zYCi)wKio0&3Q`2Htzz4n0xfCFEy4R&$&QJzHo~#z=)EYc4rwxV;au_&;edl=e)W#R z|K@2sj3!F^KbqQ!-W~ok>Mb{tej)i!c_e?XSN^ZB-(IQ8|Ft_e^8eSC|B4u{D*vhC zqVj+LnY2V;MGKy=^Guyl_y_r|{}0AnDPRAwswUhfUTU7zP>RCKD{MG}bs*J>oday| z)ogz@=@1srt5HJwlU;Wy`E87he@A+jwP`$KueblfCBGNk=H0ueWIEurZ{qbyd!>Kt z70efh(ElTWn9-3%VL`u=T^ kI3z=+Jq<*!HKTx4~ zw;ZiIZ^u}xf+ajOh ZQrVJGekrW>ZnvaR$@PE!XtC9@lWeQKBvPU-5HIx83dCN%FuSBDP2xS! zulK67WjcYO$iHmg+ji?&{|Q2RC{(>*CEu?MfB?K7n@4tqN$ zi!Et++SIArA_x6!{P^eojl%b9#{Y`Ux!3Ifxwq~(|GR#3{_EG)|2{1MSk!;L!s##V z7uFtW{jDVVt#9x3`ZtdYYv=WhBgA`mp14n9$t{+CJrmPL^`3b9e%s<~{n1|inc-QA z=-!-t(Ed!kO1p_} Q2h#+lCY0bj@fYatVJeP|UcU z@y;JrLo<#XyZn1vtczWh{#k$jIzVYr+%E^(=)F1pLKFPHJ5E;Z(nZ@JW*l>OtqHx# zW;j5}I{E2d-#A?f(4X7TXKdHHY_rnA`q@!NeI2Q=SHV#3+KbVc?!23^GUWDIW#CI= zK;?cgXR#iZ#@QUP+3Ta^(Q_4k1#NU6Eu{Qd@;@K>c+v4S=l{BU`)+?V|JS{n{J+1R z{5R;}%JN^-y@LENrQ)#ie4OpLxZrGtu~*&>SV-vfvqv+Tl(E}wEZWM(LzNv?l?9V+ z>SsC{!bEGjojv}VR*bd&r`cCI0yIbeU%6e$|F?FV{@$$rUuXSGI=J%U$BI|T0H&4q z(wedIKYVb@P`v>w7kPi*q379AN&UE9wGtsHSB3b_VjBebr43l`eO&=;(YL|w^$zPY z54rc$X1Dbc?4L*TO_X_gC&Xm+#nBc=jtyeF)<$TyQ#%Dx75=jf*zNyuyS8vGj@CGi zc54Ahi7*?$yWJUCJ7#Zd_Jz* $ zvnW^+@`fbzfUxjg@&>$4rz6Zq4;W3nMr8MupSNpN#UZbv1>7?vD9 +J)m@qJHuZcj zpM=BcBpP~WQFsoV#m{*xuqtN`pJsg5ICCL=scU~aDWY-oGxDD_^Tf?lz?zD4 )r5mK^Y7j*v@Syt- zuU`G* L zmVtjoHdn1dXwc*=@nqj0WL_61{g(IN{`3F-|9IXL|K|%2nIR5cdcvcd|2@6`pZ=Za zy|QNhB#VF>#25VjKmHfb>-+fy_HUYpUhl;|zxYr8x91(wv|h+dWyPJucvmQw`49i2 z=lx^(YAylyUp?<-9y0a37D+=9`kSU=V&Q*T7~@68opJgz-W0}5Em?kf*bUNQ-UYn7 zP^0^pYrlo>Ezzrg56Dd?lN3aU=q}Mu5czR>Dp2@O|HUYDI`y+4S475W{@cI)M-+@+ zFOGq{`R;DI-$GrDjpgNaWXUPl`9G-6k9a{k-;)&mjCW^qqyP1P@w~P71Ml?bXfl5Z z1DLHKEc__WVfOOrc nVPL=f8s&s~xWw1m5v|TpeP~bsG AR;8KSc1cxp;qX0FniI)|!Db zq5)%gu-LKD3eKPLQw+u3j`w0(kOTmR4io}h>6ESlhvIiZB+|R(s91(~%krJ3pyN0y z5Hi3l^wVB&1_*@#zVO9&(cpg`aRqq6>_I%;B`zZP1iWOf!h ~Kdcm|yZ JoAiHWxH&^!#)G0;&RWOsIb|SZEmwE$c$d zSV%y79LA`*pG*_N37Z|!qh<9-PEwo>{MggCLVA1&0ZtpeTGp?Y`IYS2;Sld@^TbpD zYKS2{TNYyu&s5>!BIbqbL;Em?NSV|ncus}+xujS@Uc$QC22BTy7t*xwc4uQ~MDuui z{WnO2%Y$%PlwHQM<_LcYw6Lsh!qkWnfT{56Qcw5}R;GXY+5(M1iJ#w~I4Q{iB}q(q zv9xr2e2jNIF40w!p22_d&2O<=QhurakYrn0BGoq+3-cT_9^?{q7bx)i^jxZ7T68Fd zcZ9+L5ulX@`gfe3p=M3LvB1zzgxX8`mQ-Q`-Nkv@Z;L7en~#53>yheoX9;@od#_Fo zL$9FPG)t(02l^|sKClS@H&{1#n=S~836LZ&UPKqv-MsLU5Y&Dw3xIu)4+Ps3yI0Z_ zA0It^((MaF4I#DUa2#{i(or#vkEIfOe18PP`QTU%aYk+rv`FG~NdAy0QL7e}8Y;uL zR<;=e4#Kf_=7WEE=H;Vw8V6vvum>eYg%bL|LDY*4FO>$4X%|P BU1-MuB}yAio5B%U!(+Oqmds%o70F4CZ{0e^9tI$B z2(KX(L*;)8f#hhBD@4&Pn55F8nkGdQGka0JjtZ_2e(+(&LZEn{bZ-d!gq#6D-vXEb z%qv~a4xmO@BJeB*W>`R{kcSc0$Dn0J$uTiFnv+->w!8@NtvNaeK#Ai4j&BP1=*41} zLplt?6Mq^jYCG<9ku3rH<_2l$$I*KnG2j5l0+@fS^#n_4{VV(c(gAEqWH^G~cptq^ zr{i57bEkpFr_cxPwd^pCxU186<+#yjcsph_>-aIeQO#=3WfBXw2UusW=4gU>eb6F1 zS5rF(VdbE58YJHrk|Ypip(T=E2Qd>48 J>!Kgk24l@MJrfD&!*5(o@kC9ok11qVC z7uxb2vDn!SuR&8PZhKWUu;DdZ-qr)bFq;jW|6 $0D8s>eej*NRIqbDjUG^OK*Q#f-V09%W#bDF5&w+&wM5me~^;BfqVqD z$=&b-loH@ELm+{HKYUNiBgrMtvYAcz0qi+N4{U!%MNW%oSe-obcl718&_;8m+3G+` zNz>0SlA#!S>@}>BrOTEfXTGfMyR@_q3^fawBMe7=a*7T+UKdhJ3L~@`6?=SrY_xxN z{OQiAR+~WLGO;~KCMz}#V1tp-Sp42I>}-<%lW7i%5`_IZGKIphDJ9CdVnsLcF*;{u zH&vS*1apY>n=t$>TlAQ~(!o0*zsi)$`+hW-WE#h9uhD@2dHFQtl$PAHSxC~KW%e{9 zBN%ZczULq18GrpalGjgdeDF9YVo%q)_372feJA@& 5*R%o`Ep&xgk);Y-Crh$K6iy~LuRKHbaf!kh+ ?W zi^RGjO*k(|H6m>##Xf@m1*3oGE0+byZeCnUXJqRoDyWWh4|=5S@tn5RB1|X1w5A1X zno(|yD2f 1!;vi)dRB^LNEdhMNKg2{vc0dL=Aw9QKwJ!5GMMqvPW`Iv0~gY%0Z8& zwbKP{I18n!n#X>QM! rJ<;rt&D(Bj;N4P^xL_>048kQFG2E)-w zSU^7mWEE;=5RX*agcTGzo+ZQNcpi5;(%d0OkB@<2pmj|wLlu9_H{tN9_r)(Q9i}Wr zhL#EnEOe5$$%_6yuW@J@l#Txq6_X=|bYR;@f?HtltSjH&AEd#BC}`T}C2O4v)Ut14 zHFgoPqKsukg}4;UXs@`Kgj;xX#xxEa3;;jUk0NE?G?~0VE$`qy6xB9Wwa?U}_2<*A zDHBSqWo3RomVSRbEiN0k#jLMo)A}kwxoj_rg<+Fj5ecmMWpGf&ocVDYb{2f=_Zwqw zF2(ozU8X`_54;RuUC;vhjrzcO2TpmwX=l#mGdxex9e9SD>E|IZ8Q} 60u)^Fb)(xXNu0=|}HL zRP?3lhC|-=USz1<78gIF>o@l +0T!~aDz~&3$kQXz# zMsP|f$SoI|3vcR!5ye42q;qTU0eM4%5Y<`i2HKgV_bMetYR06T6HQ 7dCRbS<@?gxgE#<%Ok>-YMJXD(egNPOJ220 el11h{iyfWb#K~Eoo;a5lF^T zlH_6*ot}o7^gaptrLxj-Ptp*5^_p_ox1v0C=y=OwwdpH@=*So|nq}AvG+goKDaV&G zpoDeFjyty-(%Ys5hHE!bsHchx 1O*UH}L$ EzFKf6hsQv3vxVYMXG<~qhDN` zuG5~G)Z3o3wK}!9v~SB=qtzL=+6Y61BOyki+1e1z+Zvj?<0y+--|#$qBPOC&*JHi? zBhS+%%pqxvx{|F8imAUpd9a}-{r=#=x3WG*?@!npq4dM@CS5>|g(i`#p Dgp0WS6sdGlYFq%t}lz2kqqVqf`bDud$u_pAq|?>*Y0PV;Jg+SnXKKrRE|@azF3 zN27|kIq}C)9QhgBj_1gv&|M{Vx{29xJiypNn1W>JxWfr <{jjF1zaq^81n0vZwRkVy7`9@a MjskxL>)UEF$zq@lN2h5 z12+@Q_!A3QK0R3w7%a*;uueb%F9Hch7Zhh#{hxonm !M{(j=tG`R z`mWSa+NUVT Ubpi0sV zZEgXgotQ !swcNGao`N`l zmkY)t7_}M`-qcpzmhGM(o}@8yxz>`UDeTZR{^C8Qmnstb7ofOPBbekDugR_#D&Nw- ztzyP=8(vE?gq|?KOG=R9XB3bN7NT4WMvQ_`VPG*F;$O889<#gOp+6##u=zn89xd4n zjp|`onWcH^)&hUFmovJCHm&9b11U!^m0lLk`j!*m%;+MmtD%(t79^ acDzW z)A=HTUvy+4z92gwbpXW`7zSX~@pg2$(I9m0s& (N0&g>H?97twp9{YmDvp~>& zs<;mw`_c7oMAx!n$a9xfuYwCvBQNf};?bd{Lj^&MQbpN+(yu0)6h6&)#yklKBJo8f z1QzZP1qC~!C=Qx+Yshd?iSa}XIWVNrVpRY?Fyd1AG|9>rasPyzu>Nqz(WESRrh!x< zuQ-HXs6Ewacs`J?>zmFj-%{G4MX3_Y_$|p004~xswxl89OL;UR*PacE!aOmK2?+3b zfC618CO&F^P_fI_aMJ{c>A0*)M{oY=xTU2hVFBcr`xoL+54izlw3`UeRr?1NwM!=; zaQawT!7)Okkv(Kn7~BNZ;!)VmaV2BGl5(H33e&*y z#|n#oE}xC$jdL0P2s|8x4%-_@=Rn+}QVl6Zl3_dzLX6S71p^NZ3x}Hptc=JtL)GZ) z6Z!9M2}fVGJZmC8u~iu}EK47f{xYkMP;sbAk&*yz8dbR_2_RqUJoG}IDzh6E5Ja<7 z-T^^H2=lo#jQ~YmMJE@{k9;WO5PxfR2?#2G2};j4Vew-NPbq>;1l0>ImS7OAhqyek zqBs;p3I_*+qhiX3wJ2KyQ+_%Tk->-*;5VUGc^t8GlUzrM=|nxMy)N?agjlnPYeYaC z^KU@v(}P?q9|RybAZW6}S_CD^(fQHiNW~`0JTWD|SdOl?hklzEW`QkqtG*zrBLsGT z-P^8&i;j#GX@Hd2K(L}$yuVv>9+-ETNjhL60^B$zULoNa6-XDym`AF}Gw74$kxxh= zqgUuIih%bb1ICEKQ-cc&?nvH@i*j8z7p!O&sPhQq<<^zd=dG~+k{Fd6PW7A-H?t&9 zYyyLMAvd?EoKi(l4FRI=fZo__JWu$4z=5pC%mTO)a;90Rn$i6VVX^6}cD?80ENYl& z9~e8wvoV(^4X%v5uZ~t&n~*3IQq13>7uy1(o=&VmPbZ6vIcN=^G~|r841sTkryYdV z7N ;bQY?2uC>iF6TixkgMd%~mui)u_Vz_VX zrtK!dS_d}seN}XSPnm`?(FawJ2!kr4G-)g_YX<*e#yg{%x-1nH-F&8=9^%s(-F#MR z3zee|rvkVdrYdGcox*_sf+?Rp;7BUobuc`$Y&r&0k^vglLfz%YD*fG|$BT7X8K a!F+92Qr(t-1f;k=3JS3o_g5eD^1_f7^rP*TGW63K1_;j%zAQqo7 z%=wg}nNYryRtx555iYnYxN3D>@bk|@U%P-R`9msa-12e>6#k(<9I;&|187p=Z9r5a z+(zJS4l7weML$@a099AB5LDj0=wZ@Cd=JXmIBc5kX#te+K1!P_ZEuBtgA=R0cO^ur zj)1Gw%or3?r7R!r^W#*Wj7IG(G4iJzSMANZyapf5CT7Oae# )pxoF-^BOLSVw#l?u^79w;SjNxH)RYRh5 z>4h=*0nMu1N=@yS8RMde_O}-lyLhG_6*GIabV5r@kC3* WoXd*v++g8>shYU l&C<3HimR^z^6ows?X=_HZ#wl;W?ri16ajFZX^Hp zh^dtINl}cM9ct-!OH03auXSqD9yjDY4M(uX${A^aae{W3uhw8W?cQCxdvE=Z_a5e3 zx9_feceZsKMl%Y3@EGFi%1Yyb?rH%n8xMFHof~tLxGQZS1UCA^5*F`Lka(kU8d7qi zNz^@Cg`oo$JFaVOZi?AKoDSre?mT~Xbg;ku@@W6rUS}KtK1;uBTzy(MKCKc?M`;ok z9yJ`RFW2ec ?tfWdy>qkvuj6CH z(~AgJ6+7SQj?*BF8=K|T$rk2L?`Y@o+uoBWZ(r>{+1=?K?CS6&XN9AK-jDr*!~WYx zPkMWE%D(6w^q#)m-|as;+JCg)KR{pqY5&8drZ^pcp*(nd_~iM~+oRsz+h@I}{W&e{ zJ$b&}d-7J)?EeTY9YWoMz5Wrpi;3NRN5Rox0dN{w^lsKbd%S;m^!(tbw=ZZ=p7oCQ zf9${gbN{C~NbL3>^ A7k{beA7+hRYJkF-#+Hb-ZP$R*7%G{+EX#jf1) ~%4g$OM*!wzDQ;@r>RD-vA2-o|&;*ds@pl_H_@NEHj!|Kod-3MC5 zsP-eVBUyxIBzJH%@_3HU_<4mcRK{EP0fBCRxF&?bKb+f>UJw|4P-
EJU<~J|mrC&aHmTOtNjq^exjKNe$BTWVvhlpBYRy3F^_$s>wILjC6zjiE`(HY2 zzpw%@NB*y`RPFyeYd7-$dgXsbrntnqQ;8K+^MVB=rZph;>(Coszj=da4+Z;sVMMl< za&-AK zX6BYJ1ou*I++Mo15K~0ms3Bi}PX6-^7+=NxH~0SM_1hKy-|Ef%uh;Vt-1HX9`tLjD ze&P2@;Op1yefqw}M$lArvo`+%_5ZKL1m>*&wd(!vYpb`{Zr1;=vi@1kb}fA&dR?!W zX}I3xBR@#bU2i}ka6RVzyBh{`&Fh~mykA59uddu(UvtR++c)d~8rOe+IlU1bXO?c~ zw)a9NI&xlZB#th^LdV0V#0!KUI=sL8Kq&j0cBv>oNYlbdJYc<*36pYwV;&*P-M~0M zmP*RyEJNq$C0ew 6%9>l>J(uY$5)2LT#4j`wX9yQrPQWvgb0*-33{Q=*1pOX|%F zV1Q8`-p3LTWL OZA$-ya&l)d>-p`I<7C6^#ulm?|9Fdoi{f`&G&mh1!l&bFH3kbQYa1iPah z_&D5nP*IG&c=5n^Bqzjdo=&t}p;hc&so`>qr55-=3js7MmP*-wS%9{zb!pA8S*esu zXiK5Ovm?&ylN}G^{-A^xCKxg{Vaga-zx9;kX+;d>_p{TSAk%ikQFUGoP@kRqh`aS9 zdLQ1WcMldwjAT}_`%<4h$z9tnRGwc-lB72FXr7JyCsxZc^`ncB1wSz%^Rhb1!thg; z;HCGS%teT44IXZP81V3|i+$J>DdR}CbOyO!bpE$rWcs#WWF9u 2tol-AyA;ubDMZ)^( C^JYh)b zhv-ImodT&-hpU-fNaI^ghk|13V emvs=Ga^eWOVo+azS% _j61LW=T5_8@HL96ctiBhNF_PloQ%WVpxm+qan5e7uGhyVTS#&09^UPGl zV`wh=^0cGesSGPUEMfJay6Pk;1K3i~5jSotQd>sG(djr0T+0D(u_-^-{JOl*gsiq# zT3H)Zs)?b0u<^56ozGGWI1G%Mq61mwA+}GlqY&X_rxZqkoU1f&l_TWytCY_X&P+ zeO#)=qvddtbMI&Ez*J?l>lm;}b!NjQp;8aYI5_#au#CgHp9@MKM*VC^;#lsd!4am1 zTve~%hZk}p-)Qb!Qg( C-tvsx6Q}}MSsn0!N|Jy-%+~RD`EWlzE1!h7pNZq*_Cr3`T&gS%43|nKLBqxH zC~1m_^^qDCwq7!5p}Hl0=j<->c+p5brle*WueYcE#N2VzBUsMdq4&}3fpw(HFp8=n zFXg0vFp8LiUd;lrY3_#Fv*FH3;H-dS?K&s#hAyV7?rgWSk|2hfya8^ch*aFi-;D}o z!gObxn6tO3eQ?+3+?4)5 L^ zhgqCNdVO*D&lR@8>8TmQ6Fl%^&E=bj^-`4t?CT9={bAIc`cWTtq|4)}IbI0jfG8 zPBA_#R;4jVJ;Bc{ox5Gwm1bTNQRGi}2wwc?O4EdM+t4i&HHoi;KkihPZPk>kpk(HE zl@Ym^T}51xD(@YtM-Q8nrLkE{IOXO`fxq@LEryCn4zLg+T-J$(cy$#dPSW8tH}c(o z0%eBihz;fqhbZ?5>$}IqDsdH@>T~ceG(eW!?nKQlF%LB}!Jdd+qZKL^Os9f?c!5nD z?7%Waa-*1Nzgo14%7KU>=gUBiJ7KFx_=c-nFO`x%Jk6TbM(_}0E-x&V+2k$wP(Pt0 zI4bl_1%8#sF7z=6%Xy;NjtvU)IxY-L#%{o9PLmz339`mChrsIZ(D&=kE~uvwmYTk?T-AxK5oe_KH+)}!$6-C z6~|0Vl!>WdlT^~K$kd8C9ApLy0aD$85S1DP{jEX()eRLZX<>=tj4ttoey$6D;p!M+ zSBzL%aONc*v!3FEPFfL~W|-I9BW=N!+fP;(+8%C4+0mJEZ4X249{H!}YA9J9hKAVK zFeLXJrM9eC-t61|Cinl%)XUea|KGXi(*N(?od3UO{onGriW7ce+w|?W%SHm fp*;r6#RaIvJOl7B(H*$_Ca)q!5%pt@#-&D8J z1m85cx;l#`!{Ft8=eDG9S~?|_&Oh@bPMaz2&2qwc%P+O*!N0X`X9PIp`n4m-p;col z8G5A_*f5a&A71Vs^mjQ=m~p`}C7j1S#g3sn<8`7%TiluuhiATZ3QlBya%Tm)2r20= zDP@Cj=!@$kFGRLvIk1eFJt%Ll7z-gTd&4aIt%WP)x)OJJftsz7EgPr9_Z)*!dXZzE z 7 z-_9nvmDxh20kt7Tjns#KA=S1-I|8#i!G(+q1#18=WZKLyjd-V_D6d;)kxsrzSLz7+ z=5vgwoEK~@-dD1tup5y|Q0`zr-TF|b+Lc^uyWkCQmg!P9SB&v0TW?r?VavmE7S-Ax zbaY$XC}SbeshSS{v`8_*=a8<86&V{#)2mY4;g-K^x@BL)^)_XH^OW1Njm{ugI83hA zROUm``i905^ Q+;bItnKT8X|A9x1Lgh~*4yf||aK!>N x!E%9$0UgnEW zW*%U+@-#1WkIF;CX{q#hF<4Jk-W|R*ZmA^CtH{=4HdcvsbS9c|U{~9l%@S*jfD*R) zGGR6WtQ+Nj@#QHDP9mjuMML?NF6E^@l~tF|>6YmQr*!Y?wh%oj`=y&y %>&zaD7VR7eI@fu5)Q#;df@aM-%Go(-WN5`(>sU>EnO{_6lnp^>M^d|1G)ZRd zPS+P@){^h6m1OZQn^plU)r`&K7DLOt+VSdW87y>vCR#>09Uq I!Zs{b!<92+*1 GG{>p-7E9FS;nw!W7o1xE+Z$&j ^v^~oU^FXIbTJ?T5Yt9NVYkXMG8>Jm9 zqXuQi)!OdVBR_vN@wK0F0auZ1>)2y+kylc?xs?j@782gi=gZVA+Lf*zd11UZFQvOj z^+yza%AO{3>sCIRk=cY0kj6cTnWhP?Mh3Ni73^{WOIfHl8E$s#{^rjA^I`34w*OXF zR~`1>>dKA%_iM%f%`m}cIbbU}AnQ4r(?MIw)G6E{CBJP|%P#9hDPLKs5?5-YLbGM` z)C1Q)pu&W9NING<5DiIJ!IMK{z(&B+L0wW+Qn%Edi;Fhl3Bix#{X{AxY*vCyDq#G7 zmPlE$kbf^Yo>2JyQF##CTt S-NK0F67}g7d`4>dvR!Ocde>X2X7MD&3p6goV&J|MwQ$)4S z%nMAgi2V4z)tv`bW5o8%;Qdj+u|ddxh^x`_u;OD{6q#2H2oH$9_ u#XN0}3q{El}Ww>K5J7 z#nRL()k4@b)p#=>JQhhG&y}=H@oX+sJ`F#h*`%({Lp)v{?6 @x>&}FzirBz?Z<`a*6Iy3bOir z$o<62o6~^uUwcpog!&l6P|ibnCnIi*abPLmc%nD5EgFvsYozSyBaJ|=0zeTKmdLLy zR)L`Xdg2; glo90a$2an<5tBledzyI*=vYP|Z3a0KOJc_CPX;tO`f?x%1G zojsg6Xlh){SaF;K%EgSn;Op5=2)cD1+bLl_p<|Dg;Asah6UQT{Kxe)_dq@SF^LRIf z&0t_*Q4&eqTWJJve9in;u{{!gI&u+vF2)(BL_6^UXRP4e}c z;yTO?ui3yWIJZ{U*1sEkh3|5I>&f#c- r.path === '**')) { - this._routes.push({ - alias: '__redirect', - path: '**', - redirectTo: this._routePrefix + this._sections?.[0]?.meta.pathname, - }); - } } private _onRouteChange = (event: UmbRouterSlotChangeEvent) => { diff --git a/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-provider.controller.test.ts b/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-provider.controller.test.ts index b9aeaed0b6..1accbd7eb7 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-provider.controller.test.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-provider.controller.test.ts @@ -1,7 +1,7 @@ import { expect, fixture, defineCE } from '@open-wc/testing'; -import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { UmbContextConsumer } from '../consume/context-consumer.js'; import { UmbContextProviderController } from './context-provider.controller.js'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; class UmbTestContextProviderControllerClass { prop = 'value from provider'; diff --git a/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-provider.element.test.ts b/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-provider.element.test.ts index 9e3aa10acc..5dbf8821eb 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-provider.element.test.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-provider.element.test.ts @@ -1,7 +1,7 @@ import { expect, fixture, html } from '@open-wc/testing'; -import { customElement } from '@umbraco-cms/backoffice/external/lit'; import { UmbContextConsumerController } from '../consume/context-consumer.controller.js'; import { UmbContextProviderElement } from './context-provider.element.js'; +import { customElement } from '@umbraco-cms/backoffice/external/lit'; import { UmbControllerHostMixin } from '@umbraco-cms/backoffice/controller-api'; @customElement('umb-test-context') diff --git a/src/Umbraco.Web.UI.Client/src/libs/controller-api/controller-host-initializer.test.ts b/src/Umbraco.Web.UI.Client/src/libs/controller-api/controller-host-initializer.test.ts index e635d2ab93..635e6f5147 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/controller-api/controller-host-initializer.test.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/controller-api/controller-host-initializer.test.ts @@ -1,7 +1,7 @@ import { expect, fixture, html } from '@open-wc/testing'; -import { customElement } from '@umbraco-cms/backoffice/external/lit'; import { UmbControllerHostInitializerElement } from './controller-host-initializer.element.js'; import { UmbControllerHostElement, UmbControllerHostMixin } from './controller-host.mixin.js'; +import { customElement } from '@umbraco-cms/backoffice/external/lit'; import { UmbContextConsumerController, UmbContextProviderController } from '@umbraco-cms/backoffice/context-api'; @customElement('umb-test-controller-host-initializer-consumer') diff --git a/src/Umbraco.Web.UI.Client/src/libs/controller-api/controller.test.ts b/src/Umbraco.Web.UI.Client/src/libs/controller-api/controller.test.ts index 4a2ab9b3bb..b3dd76d18a 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/controller-api/controller.test.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/controller-api/controller.test.ts @@ -1,6 +1,6 @@ import { expect } from '@open-wc/testing'; -import { customElement } from '@umbraco-cms/backoffice/external/lit'; import { UmbControllerHostElement, UmbControllerHostMixin } from './controller-host.mixin.js'; +import { customElement } from '@umbraco-cms/backoffice/external/lit'; import { UmbContextProviderController } from '@umbraco-cms/backoffice/context-api'; class UmbTestContext { diff --git a/src/Umbraco.Web.UI.Client/src/libs/extension-api/registry/extension.registry.ts b/src/Umbraco.Web.UI.Client/src/libs/extension-api/registry/extension.registry.ts index a9f75335cf..1bbecf1ed2 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/extension-api/registry/extension.registry.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/extension-api/registry/extension.registry.ts @@ -1,3 +1,4 @@ +import type { ManifestTypeMap, ManifestBase, SpecificManifestTypeOrManifestBase, ManifestKind } from '../types.js'; import { BehaviorSubject, map, @@ -5,7 +6,6 @@ import { distinctUntilChanged, combineLatest, } from '@umbraco-cms/backoffice/external/rxjs'; -import type { ManifestTypeMap, ManifestBase, SpecificManifestTypeOrManifestBase, ManifestKind } from '../types.js'; function extensionArrayMemoization ( previousValue: Array , diff --git a/src/Umbraco.Web.UI.Client/src/libs/observable-api/create-observable-part.function.ts b/src/Umbraco.Web.UI.Client/src/libs/observable-api/create-observable-part.function.ts index ab5ee5abd9..446f8517df 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/observable-api/create-observable-part.function.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/observable-api/create-observable-part.function.ts @@ -1,7 +1,7 @@ -import { distinctUntilChanged, map, Observable, shareReplay } from '@umbraco-cms/backoffice/external/rxjs'; import { MemoizationFunction } from './memoization-function.js'; import { MappingFunction } from './mapping-function.js'; import { defaultMemoization } from './default-memoization.js'; +import { distinctUntilChanged, map, Observable, shareReplay } from '@umbraco-cms/backoffice/external/rxjs'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/libs/observable-api/deep-state.ts b/src/Umbraco.Web.UI.Client/src/libs/observable-api/deep-state.ts index 70163575c7..ddc336675e 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/observable-api/deep-state.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/observable-api/deep-state.ts @@ -1,9 +1,9 @@ -import { BehaviorSubject } from '@umbraco-cms/backoffice/external/rxjs'; import { createObservablePart } from './create-observable-part.function.js'; import { deepFreeze } from './deep-freeze.function.js'; import type { MappingFunction } from './mapping-function.js'; import type { MemoizationFunction } from './memoization-function.js'; import { naiveObjectComparison } from './naive-object-comparison.js'; +import { BehaviorSubject } from '@umbraco-cms/backoffice/external/rxjs'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/libs/observable-api/observer.controller.ts b/src/Umbraco.Web.UI.Client/src/libs/observable-api/observer.controller.ts index 86437e74de..d682afcafc 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/observable-api/observer.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/observable-api/observer.controller.ts @@ -1,5 +1,5 @@ -import { Observable } from '@umbraco-cms/backoffice/external/rxjs'; import { UmbObserver } from './observer.js'; +import { Observable } from '@umbraco-cms/backoffice/external/rxjs'; import { UmbControllerInterface, UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; export class UmbObserverController extends UmbObserver implements UmbControllerInterface { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/collection.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/collection.element.ts index 50eee936a4..712cdb5e8e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/collection/collection.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/collection/collection.element.ts @@ -78,7 +78,7 @@ export class UmbCollectionElement extends UmbLitElement { } this._routes.push({ - path: '**', + path: '', redirectTo: views?.[0]?.meta.pathName ?? '/', }); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/section/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/section/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.ts index 52c641aaff..bc64669b46 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/section/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/section/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.ts @@ -1,5 +1,5 @@ -import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit'; import { UmbSectionSidebarMenuElement } from '../section-sidebar-menu/section-sidebar-menu.element.js'; +import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit'; import { ManifestSectionSidebarAppMenuWithEntityActionsKind, UmbBackofficeManifestKind, diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/section/section-views/section-views.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/section/section-views/section-views.element.ts index b963b33ed7..fe7bce5fbd 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/section/section-views/section-views.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/section/section-views/section-views.element.ts @@ -1,6 +1,6 @@ import { UmbSectionContext, UMB_SECTION_CONTEXT_TOKEN } from '../section.context.js'; import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui'; -import { css, html, nothing , customElement, property, state } from '@umbraco-cms/backoffice/external/lit'; +import { css, html, nothing, customElement, property, state } from '@umbraco-cms/backoffice/external/lit'; import { map, of } from '@umbraco-cms/backoffice/external/rxjs'; import type { UmbRoute, UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent } from '@umbraco-cms/backoffice/router'; import { @@ -71,7 +71,7 @@ export class UmbSectionViewsElement extends UmbLitElement { }); const routes = [...dashboardRoutes, ...viewRoutes]; - this._routes = routes?.length > 0 ? [...routes, { path: '**', redirectTo: routes?.[0]?.path }] : []; + this._routes = routes?.length > 0 ? [...routes, { path: '', redirectTo: routes?.[0]?.path }] : []; } private _observeSectionAlias() { diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.ts index c0777165e6..2d8ffb9aa8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.ts @@ -1,6 +1,6 @@ import { UmbDocumentTypeWorkspaceContext } from '../../document-type-workspace.context.js'; import type { UmbDocumentTypeWorkspaceViewEditTabElement } from './document-type-workspace-view-edit-tab.element.js'; -import { css, html , customElement, state , repeat } from '@umbraco-cms/backoffice/external/lit'; +import { css, html, customElement, state, repeat } from '@umbraco-cms/backoffice/external/lit'; import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui'; import { UmbContentTypeContainerStructureHelper } from '@umbraco-cms/backoffice/content-type'; import { encodeFolderName, UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent } from '@umbraco-cms/backoffice/router'; @@ -95,7 +95,7 @@ export class UmbDocumentTypeWorkspaceViewEditElement if (routes.length !== 0) { routes.push({ - path: '**', + path: '', redirectTo: routes[0]?.path, }); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace-editor.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace-editor.element.ts index 5cebe15aba..ab8490cef4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace-editor.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace-editor.element.ts @@ -97,7 +97,7 @@ export class UmbDocumentWorkspaceEditorElement extends UmbLitElement { if (routes.length !== 0) { // Using first single view as the default route for now (hence the math below): routes.push({ - path: '**', + path: '', redirectTo: routes[this._availableVariants.length * this._availableVariants.length]?.path, }); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/views/edit/document-workspace-view-edit.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/views/edit/document-workspace-view-edit.element.ts index 08e43a276e..2464635803 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/views/edit/document-workspace-view-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/views/edit/document-workspace-view-edit.element.ts @@ -1,5 +1,5 @@ import { UmbDocumentWorkspaceContext } from '../../document-workspace.context.js'; -import { css, html , customElement, state , repeat } from '@umbraco-cms/backoffice/external/lit'; +import { css, html, customElement, state, repeat } from '@umbraco-cms/backoffice/external/lit'; import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui'; import { UmbContentTypeContainerStructureHelper } from '@umbraco-cms/backoffice/content-type'; import { @@ -97,7 +97,7 @@ export class UmbDocumentWorkspaceViewEditElement if (routes.length !== 0) { routes.push({ - path: '**', + path: '', redirectTo: routes[0]?.path, }); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/packages/package-section/views/created/created-packages-section-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/packages/package-section/views/created/created-packages-section-view.element.ts index ae29e040a3..7ae885055b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/packages/package-section/views/created/created-packages-section-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/packages/package-section/views/created/created-packages-section-view.element.ts @@ -1,4 +1,4 @@ -import { html , customElement, state } from '@umbraco-cms/backoffice/external/lit'; +import { html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import type { UmbRoute } from '@umbraco-cms/backoffice/router'; import { ManifestTree, @@ -52,7 +52,7 @@ export class UmbCreatedPackagesSectionViewElement extends UmbLitElement implemen }); routes.push({ - path: '**', + path: '', redirectTo: 'overview', }); this._routes = routes; diff --git a/src/Umbraco.Web.UI.Client/src/packages/settings/logviewer/workspace/logviewer-root/logviewer-root-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/packages/settings/logviewer/workspace/logviewer-root/logviewer-root-workspace.element.ts index 643e37c106..f894bc5446 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/settings/logviewer/workspace/logviewer-root/logviewer-root-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/settings/logviewer/workspace/logviewer-root/logviewer-root-workspace.element.ts @@ -1,7 +1,15 @@ import './components/index.js'; import { UmbLogViewerWorkspaceContext, UMB_APP_LOG_VIEWER_CONTEXT_TOKEN } from '../logviewer.context.js'; import { map } from '@umbraco-cms/backoffice/external/rxjs'; -import { PropertyValueMap, css, html, nothing , customElement, state , repeat } from '@umbraco-cms/backoffice/external/lit'; +import { + PropertyValueMap, + css, + html, + nothing, + customElement, + state, + repeat, +} from '@umbraco-cms/backoffice/external/lit'; import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { createExtensionElement } from '@umbraco-cms/backoffice/extension-api'; @@ -90,7 +98,7 @@ export class UmbLogViewerWorkspaceElement extends UmbLitElement { }); this._routes.push({ - path: '**', + path: '', redirectTo: `${this._workspaceViews[0].meta.pathname}`, }); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/translation/dashboards/dictionary/dashboard-translation-dictionary.element.ts b/src/Umbraco.Web.UI.Client/src/packages/translation/dashboards/dictionary/dashboard-translation-dictionary.element.ts index 5ee46f1543..52c1c97afc 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/translation/dashboards/dictionary/dashboard-translation-dictionary.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/translation/dashboards/dictionary/dashboard-translation-dictionary.element.ts @@ -1,6 +1,6 @@ import { UmbDictionaryRepository } from '../../dictionary/repository/dictionary.repository.js'; import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui'; -import { css, html , customElement, state , when } from '@umbraco-cms/backoffice/external/lit'; +import { css, html, customElement, state, when } from '@umbraco-cms/backoffice/external/lit'; import { UmbTableConfig, UmbTableColumn, UmbTableItem } from '@umbraco-cms/backoffice/components'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { DictionaryOverviewResponseModel, LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api'; @@ -80,13 +80,16 @@ export class UmbDashboardTranslationDictionaryElement extends UmbLitElement { #setTableItems() { this.#tableItems = this.#dictionaryItems.map((dictionary) => { // id is set to name to allow filtering on the displayed value + // TODO: Generate URL for editing the dictionary item const tableItem: UmbTableItem = { id: dictionary.name ?? '', icon: 'umb:book-alt', data: [ { columnAlias: 'name', - value: html` + value: html` ${dictionary.name} `, }, diff --git a/src/Umbraco.Web.UI.Client/src/packages/users/user-groups/section-view/user-groups-section-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/users/user-groups/section-view/user-groups-section-view.element.ts index e9561f6ddf..c27344bfc8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/users/user-groups/section-view/user-groups-section-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/users/user-groups/section-view/user-groups-section-view.element.ts @@ -1,5 +1,5 @@ import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui'; -import { css, html , customElement } from '@umbraco-cms/backoffice/external/lit'; +import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { UmbRoute } from '@umbraco-cms/backoffice/router'; @@ -16,7 +16,7 @@ export class UmbUserGroupsSectionViewElement extends UmbLitElement { component: () => import('../workspace/user-group-workspace.element.js'), }, { - path: '**', + path: '', redirectTo: 'collection', }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/users/users/collection/user-collection.element.ts b/src/Umbraco.Web.UI.Client/src/packages/users/users/collection/user-collection.element.ts index 62238007f4..5ea697f43d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/users/users/collection/user-collection.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/users/users/collection/user-collection.element.ts @@ -1,5 +1,5 @@ import { UmbUserCollectionContext } from './user-collection.context.js'; -import { css, html , customElement, state } from '@umbraco-cms/backoffice/external/lit'; +import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui'; import { UMB_COLLECTION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/collection'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @@ -23,7 +23,7 @@ export class UmbUserCollectionElement extends UmbLitElement { component: () => import('./views/table/user-collection-table-view.element.js'), }, { - path: '**', + path: '', redirectTo: 'grid', }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/users/users/section-view/users-section-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/users/users/section-view/users-section-view.element.ts index c3232e4847..6c2326f658 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/users/users/section-view/users-section-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/users/users/section-view/users-section-view.element.ts @@ -1,4 +1,4 @@ -import { css, html , customElement } from '@umbraco-cms/backoffice/external/lit'; +import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit'; import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui'; import type { UmbRoute } from '@umbraco-cms/backoffice/router'; @@ -19,7 +19,7 @@ export class UmbSectionViewUsersElement extends UmbLitElement { component: () => import('../workspace/user-workspace.element.js'), }, { - path: '**', + path: '', redirectTo: 'collection', }, ]; From 9a073d64f59a09e171520f5c1f3c9e43746c9133 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 30 May 2023 15:26:16 +0200 Subject: [PATCH 3/7] let cms handle its output files manually --- src/Umbraco.Web.UI.Client/devops/build/copy-to-cms.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/devops/build/copy-to-cms.js b/src/Umbraco.Web.UI.Client/devops/build/copy-to-cms.js index 9291844ed6..a24ca70d00 100644 --- a/src/Umbraco.Web.UI.Client/devops/build/copy-to-cms.js +++ b/src/Umbraco.Web.UI.Client/devops/build/copy-to-cms.js @@ -2,7 +2,5 @@ import { cpSync } from 'fs'; const srcDir = './dist-cms'; const outputDir = '../Umbraco.Cms.StaticAssets/wwwroot/umbraco/backoffice'; -const outputWebDir = '../Umbraco.Web.UI.New'; cpSync(srcDir, outputDir, { recursive: true }); -cpSync(`${srcDir}/umbraco-package-schema.json`, `${outputWebDir}/umbraco-package-schema.json`); From 490bab984dcbb56c7d98b51b0a54dc1dcbb84251 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Tue, 30 May 2023 15:29:21 +0200 Subject: [PATCH 4/7] new version of router-slot --- src/Umbraco.Web.UI.Client/router-slot-2.1.0.tgz | Bin 26745 -> 0 bytes src/Umbraco.Web.UI.Client/router-slot-2.2.0.tgz | Bin 0 -> 26745 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/router-slot-2.1.0.tgz create mode 100644 src/Umbraco.Web.UI.Client/router-slot-2.2.0.tgz diff --git a/src/Umbraco.Web.UI.Client/router-slot-2.1.0.tgz b/src/Umbraco.Web.UI.Client/router-slot-2.1.0.tgz deleted file mode 100644 index f1f4867ab9b00eb2a3f17cdf0eaaa5d64d9e2091..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26745 zcmV(^K-Iq=iwFP!00002|LwioavMpOAlR=(v;K!jRBk4q0s&rh*&;=$KoX+3rCX9z zs Kj00f4$N zv#N;75`hT! 8KF_eDP|D=T+z-}YS3;j?yc zWzGA$^*eW0R#)%dU4e2dt7|K_@50}|yN1s+FZ>Kp`2wAUkEj0rg?zfVZY_DYyvJ$! z-kVN5-y6o!@VysDc@ZXI<`t<|j6&}`N`mwpzWPPmJ4rLok7JL?#Vh>N9AV%~Z{+6y zBnxA|h|WUq@j?Gl+neTLPGCj=Hq9=)-iv)NN}vfp=s?x(Qutw#W`%b$O@>93CSI82 z(=6;!1CO~ BM4;Mi5bBM#*9=?U)&o%*Ki#hP2r3Z@Fx#hL z;SDYTt0+08XTx+nN%Ju9CVnx(E@KIN5ys&dnt< bB@){EG3xL~z9($qp&}hg zh;n}rhe5-d&Tnv#I>_3J{8a>0rtszNv|xg*S(9@u$jbW$2%*vNzWdH|y?C34@kyfs zL>5If^RRf`U{ntQ)5aShEvTu`y%O0RgyU3 ljt+W1_74vG zZy!DB?O~CB`lk;4*DaTP(L3lpeY?Nge|EJ0Xup2|g}WQg*Z&Mf-~6G~JuMYKc>eOJ zfAIG3$@8PPN4>qb&w5Y$2;X3N