From 04f7ef2d9aadcf35c4ab24addd236644be8b3d82 Mon Sep 17 00:00:00 2001
From: Guillaume Nodet
+ * This mojo can be given a list of templates and a list of parameters.
+ * Each template fomr the {@link #templates} property will be run with the following context:
+ *
+ *
+ * The output file is controlled from within the template using the {@code #MODELLO-VELOCITY#REDIRECT}
+ * directive. This allows a single template to generate multiple files. For example, the following
+ * directive will redirect further output from the template to a file named
+ * {@code org/apache/maven/api/model/Plugin.java} if the variable {@code package} is set to
+ * {@code org.apache.maven.api.model} and the variable {@code className} is set to {@code Plugin}.
+ *
+ * {@code #MODELLO-VELOCITY#REDIRECT ${package.replace('.','/')}/${className}.java} + *
*/ @Mojo( name = "velocity", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true ) public class ModelloVelocityMojo extends AbstractModelloGeneratorMojo { /** - * The output directory of the generated XML Schema. + * The output directory of the generated files. */ @Parameter( defaultValue = "${project.build.directory}/generated-sources/modello", required = true ) private File outputDirectory; + /** + * A list of template files to be run against the loaded modello model. + * Those are {@code .vm} files as described in the + * Velocity Users Guide. + * Those files are resolved relative to the project's {@code ${basedir}} when given to + * + * {@code RuntimeInstance.getTemplate(String)} method. + */ @Parameter private List+ * This will be made available using {@code ${Helper}} inside the template. + * For example, the following line will return the list of ancestors for a given modello class: + *
+ *+ * {@code #set ( $ancestors = $Helper.ancestors( $class ) )} + *
+ */ @SuppressWarnings( "unused" ) public class Helper { @@ -44,21 +54,33 @@ public Helper( Version version ) this.version = version; } + /** + * Returns the capitalised version of the given string. + */ public String capitalise( String str ) { return StringUtils.isEmpty( str ) ? str : Character.toTitleCase( str.charAt( 0 ) ) + str.substring( 1 ); } + /** + * Returns the uncapitalised version of the given string. + */ public String uncapitalise( String str ) { return StringUtils.isEmpty( str ) ? str : Character.toLowerCase( str.charAt( 0 ) ) + str.substring( 1 ); } + /** + * Returns the singular name for the given string. + */ public String singular( String str ) { return AbstractModelloGenerator.singular( str ); } + /** + * Returns the list of ancestors for the given {@code ModelClass}. + */ public List* This mojo can be given a list of templates and a list of parameters. - * Each template fomr the {@link #templates} property will be run with the following context: + * Each template from the {@link #templates} property will be run with the following context: *
+ *
* {@code #MODELLO-VELOCITY#REDIRECT ${package.replace('.','/')}/${className}.java} - * + *Date: Wed, 26 Oct 2022 18:34:17 +0200 Subject: [PATCH 07/11] Another fix --- .../java/org/codehaus/modello/maven/ModelloVelocityMojo.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloVelocityMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloVelocityMojo.java index 34d96e207..e5615ee74 100644 --- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloVelocityMojo.java +++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloVelocityMojo.java @@ -50,9 +50,8 @@ * directive will redirect further output from the template to a file named * {@code org/apache/maven/api/model/Plugin.java} if the variable {@code package} is set to * {@code org.apache.maven.api.model} and the variable {@code className} is set to {@code Plugin}. - *
+ *Date: Mon, 31 Oct 2022 08:41:40 +0100 Subject: [PATCH 08/11] improve documenattion --- .../java/org/codehaus/modello/maven/ModelloVelocityMojo.java | 3 ++- modello-maven-plugin/src/site/apt/index.apt | 4 +++- .../codehaus/modello/plugin/velocity/VelocityGenerator.java | 2 +- .../modello-plugin-velocity/src/main/site/xdoc/index.xml | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloVelocityMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloVelocityMojo.java index e5615ee74..8d8ac54d7 100644 --- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloVelocityMojo.java +++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloVelocityMojo.java @@ -46,7 +46,8 @@ ** {@code #MODELLO-VELOCITY#REDIRECT ${package.replace('.','/')}/${className}.java} - *
Modello Velocity Plugin generates files using the Velocity templating engine.
+Modello Velocity Plugin generates files from the Modello model using Velocity templates.
Modello Velocity Plugin generates files from the Modello model using Velocity templates.
- -Modello Velocity Plugin generates files from the Modello model using Velocity templates.
+ +The plugin is configured with a list of template
files to evaluate.
During template evaluation, #MODELLO-VELOCITY#REDIRECT {relative path to file}
pseudo macro is available to send the rendered content to a file.
The Velocity context contains some variables related to the Modello model context that you can use: +
Variable | Type | Description |
---|---|---|
parameters configured in the plugin | String |
+ The parameters values configured in the plugin as {key}={value} . |
+
version | String |
+ The version of the model being used. | +
model | Model |
+ The Modello model. | +
Helper | Helper |
+ A helper tool with classical functions useful to generate content from a Modello model API. | +
;tKq9r_T@U)B)JC*WN}?NZ&gssAcgO zLU36{g-vgvY3iWPrXY(!XVGAXny?Hew%5mo~>UIh;(U&UH9W)~uq$v<3r9KoWi zx#w2j2k&O%@9C&uo+-;|V>O+fgF>dLEVsk{Sn|n+5N!4usU``uvGc)K6{#&vS )~ zNIRR`sh^#S>hDQ!7#d=hpr7r{{zRUkotFHYp6$B8x1a*)WZ(O {>mw_C(ZBy-Lp4XV|_ znm7g@n_*hZl|=jnxxdz=iLJ_W`Ih1#RyZCIjuhj`Sa8P^{ZNYErGiSX%3p9n)_X!^ z$iz?LEPJBYbu%ZNi9*5o`OnK9(mFbPL?SThqoWD=Jy!u=4~`_@z4d!@xA?>{y;kQE zDd2B6x1(7bWep9D4<}8&>7oLOscyp&dt+v`X4bHu!+Ns8qtoZX&lpT0#i0k*Pvu+? zcN|al6gL-Iu?Ej eQ zT8nzFK!i{GM?bz)jCb)xiY*N CEN>T(*3vK+R`!!Sq4s?))Gdc_8y3 zTt(;AjD70I^fxVkW;_aqyD+R5+BD_Wr5I^VEpeow^cirHoZd7bqW?}?zH+-BYX}Pp z3L@JG)OlR(+K!Hn?qShste33J4(~Ubf6nHpEwJApsVAJlb%TIo-5(S1UbhV@P*vpd zT}WDlh#|V*Vt1-@G*q4@nLgBixN{Ph!csC+nvcfJqCbZS4JTuP{UX^?NpEiYo^$r$ zQ(D@H_=@pD|3@Y#LuWJXNQk(s8mAZ0PgK7XZhUYS{}O6DDTlXtGF@fMO@A2)>-)Vd zl{|vA2^M@}EzhE#buHKj`)FH2@%cWJ%+fi&TA=$Oxa8}gT3O!ikM4@9GDFKT^7f1z z3;dz2$TvHFVMV}@N@K+RT~261rP-Ub`0lY5%n72Spy#HuOS;qc Gfkom^c7v^zX+P|VEs>Zs)_bW?8Vlhz41;YY~U#AZ3> z^V?TjgHuhZNv+DZbJ$DC^l-jbhVN|p61`~PNbPsnS3>LW(0!K@J^b=1FOD5&W;Bqr z?O6kD5tfq^jRYK1^8l%FXDPa5NR8UdxBZv=`;(0GV?r2C5WZ__^?VYSxgM3+5L->! z{DKk8&xDlafU4BjXA|nH9IF?Gk#2_DcI@~0`6@#^)7vEe2Fb7y7EwlG7v`k9#377O z2{~@k>D!D<)Jrr=m4po+NvWn1x2xMruDZ+&x;lQsxRCZ*NxU7*{rTqZ;o;-5Kc0hG z; lhNhm+9gj@3|$(oKq(87D0FRLtIf?FgdM@17Y@Z#)U5jG>u!XHS6)|tnUTyn^dw7)btLwY{@*F%pU?RGp7jH3ey_SNv*nul zGo`9Wkr5Hn5~(aEwpm;bKhP-U_RY)SBI|fRt781_-;j<+`xBSAztVwASh;gvOgP%S zYjyrXCGA SJ^;C4a$?inD3Z3HN0mffhaGpW`SbC_KlN~^-jy7DBU+_!SA#+4(}j8 z=S%WJWwbf+ct5tL5Lxf2qE~UNU77*-CpYOoa33&UZ=r1Wxk&fKgYpp5DuxVVC&g`3 zT8xJZl6@?ua+3l=vX`uwxIuocl!WN6$z)-fR3^nW0!=<=F{OW+MZQiB-V0YP@W#xx zZuiT3BE;Ih(00cVSr7@1-YSpDacg+n>jNb+e~Dt|AZGVa7cNyoN;(8AAY>(fpG!(o zVMhB@1P$~&4^@pLzmSpDF`SK`Jkw%*0i=)_Q?kD&r(C-r7fSJn9mAF(fJ#AVKM;!a zLpK@{QK!7S4xRelS%KXh>GHeJ6fJj}J@4m;qwLAjbe+a76E3|MyWSsA401N+UHydn zLIT5w#o~LVO9&$W wu%f&2TfR&!H3@k3+= zGE4HA)QJ;KaA>rp7% qy4cx8-t-725XYJyVeagMfR7o0!PEmcjDV_|(KxFiYfX1u+s&ORM(OFJo*$ z*HoEB-k %DSRo-7DA0T~FYt4Dk zo*9@*R^C%|)JpW PO3TUGBVLs$7w4sS#-Tdkm-`#bZFc4tq&YLxp) z{wt=*gXtNUFOgE1BQ aGNFHRV0GJ*g3NRCW zDN^e?fR>2OGNl0}7upUR!D8L5YuTXf5iB}9db=$Tv%W@-9< etJ3S31&WbQH@!ac zTG9V03gi9F-lmL>j-E?rvv6dq+j+b`sN-PVL u+eMw7mv&2yHoDh1>3?yxwU>(8O^F5tAClKzsL|mt-cBw45|pV|oeD!^ z=>Ua |`7k`s)5fduEb&r9)E zl2E3;LFxK@1**8m+mkX6E|qKnpV@s@!v97L!~|+{RV)Rd_IU2ps^FM(<9k~)unKyh zkfC>et4nSOfI2_4DH)*-ILEQZW%|}#y4vAYHRT5A_`h3MnjP}$wJMV2P=Wt@=7okS zBCC}!&A5I3?}ktye;Eh-*e;p*|1B1}AA5b20BFAb+bt7Wfi&$lw8nocLP-2qj{$f7 zf9$orjs4CfV+w;WJiuMmHjsqH(BQr3Bwscs-`7KJvO0E1Gy-n|^^y$_!_zADZRDV+ z-x4|LE+DesQ|>F}O9~h)(0K7!eu7aUA|Cb9Jhz3vWGv!gX+q^D?f4#|!amVO={ >A)^{QEXCxTbSxaD?rX*&BFl0%e;j#cx1OgFiI#X|OuP?qGS-FLqE)lGS!&=gmn z8JR!ZQWr2SFQ#;~C&|~$D@9;J)(~BqnEW{Kcj*~o8lUnCBI0><6>hqL1@k=1>G7TV zp*DoO=l*RV!%6wKNtZTA3tkIu^dGM5+xRaOI1Q2|d01q~e|7XS<}O+P3l4xL{%bk@ z69f7GePs5pTn6;;f9hdg3Z%v?56S~wK7OrF=$a6X@kAXXCNR`pgk%DIe}8Lcrmjwe z$MB=OdtzUS?gi7OwMANOcwBRVmRHY8dGCEK0*XR@#K4Sfo~CD6;}ZSJ`YQI;O9b!W zX6^JTr@?FSjwSDeZT)Uli!6UtlJOuY<5(I>zDe;b$%5IebLW^dye1e}`Xc+MBFY-~ zq!-Ht!`)MZ)!?29>Aipmp>;OvThRO)+lvQ(-yu#rTfQ_J1rtjqI7k+@&r1ob@q)_g zdAqT_@}6Hj6>)HK8s`;@aP}7x4v6UWeY^v;VRJ*fV7idXx0R6JTV4jVX0uRVWRFt^ zhO=FM2J$@$&|GR q2DZmVYZEXmw_!|-cgi{}T8qE$e &BG(MR{fGx}5Q27_>>EJa+pvjUbWyx0i`0nbcR_ zC>pBu12MIc1<8C!*AA+a*73WLuNsg|nAb*k55?+9VeqM=MDPLMH`(qtIG2wjFZtwR zpH$= nHDjy+UXDapIrTGqLMuMYNJ2Sr%;V6YLjh>imRs~;aDga$y_X*L;~{H z1feJ&M68(v#0jBh_L*L^Glmuo_38;_LC;@4e5dtlCMw#)M$~wb-2LCSr2QJCT>Pjz1Im!;Gp=|!Y-uf8qw`pVZ(aB+QQUc_p(Ji660bS z6!tgEyBtn^z;ZKmz7J3mGoomq%GMh!7WG~{_EPPIz4cL!9|Me>qpWxARl6quK@R({ znf5)y@o2r cs-KdAKKg9`X2pB@r2_$ zN;d3Aj%dLED;aAw-aON@yRd_nuV<#hYPO6EA4@cyjp=9T2lUbhEPOh4Q^qC*U=$V= zeXeP=lAvsdO%I452YPI#QFS!OvpYEbm9m+govq-g8$vmo7ULn6#P1!a%UlMTt%nlq z{C2fO`nT}wd9ikcbW2G;YA*-P_$r*lFQ^Ps6?+3m?dhKH`KJp6Ok8Ed0RN_MbwvFx zJZyJy$<7K7a?oMoeWW?RuHL-!JIlwp%M`iqw2iz~V7iPK^e8_g=3DGdb$u1&3b{*I z9C-SlM*rf4#3G&5YN-FyG~Fe9fsyDGR#n-j_$_LcPj%1nvAFm~J}?ku`sjP?-)05( zrn(6Kmxg^ci_68ka_}$qkkfXJ>xUrKaw69cH;bh8E==UY7g*dJHPl1MeBJXVJnsZ- zBN9J-4o>&0H=NyMwZM!f-kj{hPkUfYCLO&z5g)~VcWCbC>bv~?gqYD6S&5$)l)3}v zB60^hbe)Bfnu}3c#w+JNBKZ_QFF0H3H-vX-%9wYKg7dXi%xd)n#>H_Oiv22X!6ryC zHUkgR)c&F&sI8?$T~xHJ4^GHz(*64XQ3nqDP~cQWKAOEAj0Lea;k-U2C&;OXf-=$< zB1uC|3!Z%<;D_2S%m!ptmS%%aa!QH@y>ym#2desKQh7RYc7M5OkKGNgn2(Q#Pr=C7 z9X!FJ za(GeM-Xe*Q{TVOT`3DaZy%Pkcl2< zkIpn$YR0Uq`1O?U@}qAJj>e&nk)(adGkBl+nfBDg%k?$YmYfvjj#$D%d$L(xtFAN} zwR*()haa4LD=`J<%#~vXhW1=^50x=1sXNxrFUko)rVRB@8(z;(^2GB;PCpJSey_-d zJq{qvj?D{|JD@#A5e0U1im#f`j#35=+m37m+{M2}c8>1QlU~5J|8Cx4b*NV{c3M!8 z>|GJ;pIBIPLZh0wV#TL(R(fm_dXc~}{NEEArk+KJ#=wZ# 6b+0qXt~X{{ZR z-Srgb a*%{e!LwyNod*`Z^;f98G4n3YBlD|Hv6rz4TUfAMPa(t7EqvVmD2+`%o z-jOD^8>3>WdF9ImY$vJ|zSzsx_*#m`l7M7$BD4P;kHn*-!n}^|d-(ZD6wZyU(=3sP z$i=Dly>~P3LtY_*@{7bS{o00+9eczx3HD4EaU*6wwq{b1WlZdVQHdeZr({nP+4isJ zUBq9Ampj2x{WB2;rs~<4Mj$2p&>LM)X0jYrY4OzYQ!Zp#48O3Z5sA^RY`) AO_^R_TrBWGk}xu59 o06v$ zs5Gv`-g0|(OJtmQ{JAZ7k$gGn-2Wp_#f^jJ|4f--oD1NvS@}YBvN+}SAlvUFnB{4U zge}M~y?>fL&(ul11%$EzEkV7JgSvUsT1|aBzTLWpF-SN?gTJ^u>Otr9KKD*{q{Tdm zIl_E;&v8HhGZWcK`cd0E7?~1g-wyb=YLAIY_4KvzRz2WOmrXIrSATuP#O25xIe zTTsqKLKXxSS9tt%2wC%G`GvCP3RW$gMutMwKsDq$(67Rv@N@4wI-%1Kn@;OUDi8k1 zp6WxCJw%^*9g?05IRjcbeucWgN;O>?_TFzdIyya-?TOnY1&J7Dr7D-pe1M}~|6M3B ze4{m#$0_?tyGr$1&k8Z)begT@e|P%Ye0NV6!|-4a^CfZj5XB><*$-xvsThH{V3Z z0!|rR*sdYRT6xa*B*wlun5fYWRfH_IX?`;)xtNO-mA;7byhaM;d;R&FCa;#O7jnoT zp~`KsxZ+U4&Q_J<4a0X +VIk_a;I9XxS&;+5nDkT1i48nA#?IOrsGcm z9t76>;!tD-&di#P9btb|uillAYDVdT`D_`T3S30OTp4eBF^oyhrvX9kvQPR1W7&y~ zwt%6o&s*?BXBOr~w+tYz>Aok@3A(!_y&tias~7#4?Na%(kl(^X$6QrE75{4S*l8$P zkJD)*vqbs);EMmQL~5@@Uy&m(|4W&>Qw~2)crz2j8kBwiN`-q`{uK7oV+YlUgKbe~ zLWPqe$B~jt_U9^wXRn#}AV!Y!N~euyAJRIGn~xsa$q)V 9@+AeSYKe z$J$(3Pcdav7s-rN;55`O&pg!(c8l?4e=I>c9D}XcNj2O5m`5|F3(k8=%2J(vp%!NW zJd@czM(H&U%KE#DYCCQ6`5^+lm$EF`&VKL8#BaCuXJk4T%M3%qK2V7eUzI;YduG$B z4_8ANhHe})vbHSlo8eD!&;dcROK|veI;!=m^N&5ZJA3<=tnE9QqsfgXzXPQuq#&B4 z6fOv>a`=KOo)K93TO8PfXeVj9snwYrHaP+A(yR0O !vfBK%RkI_Vgpt-rfdRiZLI{-GIy6#0U+(j5JTi6ylvH%(z4{XIze}yd z$n`C|9l?#D8qFxi{l#-Xx jiJoUJo z(Rm$RdoQ~mmha7(6E8tgSkR(P1Kz{Tvp`jJUvb#p IzivANl`}u_bW)tyOt9bYI zT|6@GlbCzGrDPC|t%`j!sBk0O0g=6Q+NymL3ZC^dMOyJZS@kGg3GLSa&7%FmIT^4g zz2cp(!A)=s4ks0OObSj~9XCc$E^n--+1s4pCB)6)c3zRN|FQNdB)g=|mc}F@37rKd zmozj~>irRxm4fIhIdpgX$3iKIrH 7ny>sRmK5>jV6CZVLA zJ}(CNx5-V`-{Z}e99*aa%&? =w;|ijMeTn(Q{)FUI!a94o6Fgafe09*@dtF6A7x zYv`gqS{vhnOxC*RJE1wc1NJz>X77dtp{1HaN_mn(t(wB3n)^>c14YUCp?D&Y=rj+8 zFd*nHEEM?W3AY7<;HdO|-W4x}uMW}M7QSc_5(HQVT7)5S5Lh2uo^`J3^d=D*DZHr8 zt-+|tQ~XIS&<#h4MG_G$2%aFM?|2a)lyjyn%)Dynd?}FK{*g-{(d=sypV)aca?BQF zT{u?~Bv(Y&8u)sO_rXTu<)I=U#`WQ(sDW)&LtxwsXAL`h_DKMK7~h@_5hXJFjDH2$ zXR@$j&&^b|L=knJE~E)Mb^`r3tQ*(^?wcy+(DC;0LTQyuw1@8L)sK2Vm*3?qs)O$` z`p#4qsV`MTplziD*~l2jMAJf8I -~(Xmoxj{kJrAt(L&JJWd_1zUv)09Xk=! zAWiT&Yy5zJ-jOM=_}+b!@X^UKiIx=LW+OdDiMPyZ{}R<6JBu7tHnYbX_7Cx6-zy^W z+ZyiE?(L=gdHxJNhb&_>uvh1fFyBZZ)M72mn-uWqxx!pE<)iogwu%8e@ppllasruy zhbh+V86p|UC9zwKHz?P_OH!RR*t2s4esP+#-Nz+$$0|#4unM`U*_V`0mZfyW0e>tY zN_hSg9ELzvl=zAK!AuR6&TFiR--q@`+OSn~JhT5TGZ3#JX(+92@|OeZIt|Po{qA9& zxk{- D$$HecS2B`; zgcgmx+XsUog!;?L42O!I=bqRyOVa{U@hSw&dt zWpVCX!J(*-EqM-GQ4c zN#hpk{EZ==bw(-}uKAiunkQ}Eu6Lf{bjirqO8s=8WU$YxCk6V^Ev4?=w8@Yr(XIE+ zaF+AgTy9S@vZGzrw~9qiU$a1$vOa_}r!WsI;pWZ*R^O%T1zKt9vS_3IQ0N7(LLsE1 zBNtHn=>UVpr?8NL^5n^V;cX@UJgOk#2im26-`WpcN0N9ZxNj*vGGIvc?MuH!8}8 z%Jr00M5*=Oj|z4US0Y<4s5Zmox!H6}Mr>)gnBlw*^ZJ)gV_l!9eIO<0^63oa5%*eu z-TQo7e_Noe3YPy>>67vQz>G}x{83k3{wLTno4$L?SpPXX#?bUh@nH6sbK3CF-<6J6 zRvZWJA{nS0Hc70zWsnK9aqZM~lk^tM2Ok5p6TNF3fE-M5`pfFdk{UUKsqm)}%%Y6I z;9eFYGe!7%7w0)yL6MBXN}9mX?L u~QX z;$4i|)k+*Sm+`&*d!MOX?_VJ-ru?19XHT3=ZUx}yFTqHMBARUp%3+gPN{9kR SG<2EN=6+G7G#U4RuTLx(VLYR%>Y0THX=;=%XWcPz*IYT IE^$R?pqwld;X*Adhix{IK| zsOCs%LjV3ant2?vL8q(rJ6Fcm7JWgzA8OS}?PqIDt;*WQQOZgya<D!*#c>&Sej_ zeC!b)zg~UBGJ5>`#K8dvU4?_v6^P|%|JKCSAB}l^+_O0-^<_Cb+ 8sPT^_prRXAixhGpS@X^bGx(_up| 6Vr z30`kWfJQ@1y8vjATlZrux8yGTryJ!T{Yl0f1KXf<8k(kp=HWRSfO1D#HCE#&hb3eT z5H&wYZu$_4;J$-R;k_-|3+zOX)x&@5mU#F?CpxtPO(?QdMhO|q@zW~v#RFb|wn!Cv z`G`-u=Nvm%d;Sw-O;77A)d{d--_E=LU*5p^cO0Hb%h|2QQ4OPkzu19fb|;2TtEsk@ zV?4+cV1|dM<#Y6BM%s*8xAK$e?xUZK>sO >?5sc3>gYb%d2w-{T71AP zCNwJje uc)(qwBZ-w*X<^l+>j+8cVM0voKB z0g=?@(M4XMjS%WQV+&y|vyGpK${o_B+4{&FdnGTXXDj?r;Om>pCbLEi(aK+i1NGsT zuQriC9;R!oa#6IyVFG7oC&>N&oY3WnqrWE)_2!7PZ=`}@ck(LTZl%*FfZZyo)^vnL zDuJr+J7mxPatm@0oFt?F-`4T*Is}}_Od}A(AuoFDJ5 5Je%Y zrP$#~e|xs}+wb+na5zO00h Mg6*14 zQ8BjtPEQ`_HOgl4Ag;ACay?{{U8RObMQvOkD5q_&j-7G!MI=vNFV9sheG~_kJ|ZdS zJG{OS%vORU0392em ->aC9{xPI@qB7n+qfL!T(s*W%=#w!JcUhmAq2mLnNI%VxVA_jr>Ymy*)`{7|Ra z=}k=J&GbWF-~pGG*2*WO5^Z8a@!-?l`Zqt@l~%bZ+y;Ax65$Fh7b?YEHo&Y*=PIL? zJG>&?)=s__$#s;dSHVgZ3@69wOR`jv1Jeb;n_XO7%wDg9Kp=}aFXR}p=~7iZw0MM5 zEesEu1~bdP@IHM0M 1s3XlaQ*K$JXBxGca4< VijgvGB0DD_R|<8e_hBB2p!9M0D@0Y@nak#IR1h!?kBX$^Kcdf8p=;JrS65a9Pj z$oITStD@tzS)9}9@JtnaUCw{I^>Rl6FoE?GFcGC3exXLqr#DFeW-wK(2oE?C#DKo# z%Yzwe*E35Lhs~ ~ n>0HwWqgNWa?@)U-C%3 zv%6%*ve8aICVB2XjavDid`YKbtreEI2mdifjjE?&TG$MZE= zHcPV(4~|qPOKt$~Qvi^z)F=0Mz-vuNA|ioXXMRFcPDDUJdAN*DGvEdswm_xiS&-cH zYrb09#Rd0ZI7Y-mmmj6gV*60He@}^iS4kwK_fTJ7-{!XQ*g_q0P4!Q1?yJ1wVu|*4 zidsO@6ml7&V_9cr2ToXw!Q(~p+H#q#mgif)z+m}mgC0TawN64xN-WQ7_w2jXqtpZ0 zS5(w7^QGBL9M;{bQdK}w9C!SH 9!HHtUh;}&Mx!(SM`%@hhv(a|!E#H$xj8Zk1KYaz!6dqM-6}z;g z?+FFk$AAE~(CI?}(8zOi+eV!ar_&2%m;RbVy`voPCX@hT(s1f`XU^HQ)Kn|a)1x^% zsRqkY7DD DI>V z`97A-VlrGZepewsv_mcXY^{rbr49M-CD!-nZ9uc-+IO6IoRwcnR4juh5~!60hK>MA z1&W&5tW5SxIuhxK&ses&{pGfS?AcR=HmCXcFC5vl`dlDR07jl+AwJv}K|Gwoob~hP z=T7jgc&qb)6-p+jgF{UQFIIwSWE;_2xRpx8O `|m@<@7DKuL)vVY0-2IN6owCrnpV{k5(8d;C5iW+D?VCsH%t{9Su}Ppi&g z0K{E3tJz@xcOg^F4zv$HZjw?tZ198NFm@vtJEz>JNcuXwno^lISQ+#X3}(wk*{tXJ zw2y!{P-wfr9PuYh^4pGqt*EG|qi^Z3%@qfWAtTRf&i5@moSxp)>&-RVSf#R>v3T9y z?>*^fZf+W0-0&Alt}^Oyg|vD3q;c5D0`B7Aa`X3+>F3kk+2xdc{M+cHV%~i}iL-Z> z^i2UL`v?mw$Jx(McTAEQ5tG}P?+h%->Y2O6sw zFR%CLWTh>t>m_ZhRQ2_cH=!v@s$lc1Ywv1GUitpKNB-fs&dzB%K7~hir`?0LShvlW zK`hNHE-sGC+nq6;qr&+0C6mo^`Ufx^undqjazL}&8OO=u%tp4K>+VpACmI?WEZpVH zay>5genfnHndxv_h`4aYotKIV89e6j?pYVsc-tLJBq2Yfm6bL@;ukMi*o!K%Q}s%n z?unX1+AuG*AwoddS^U}yjW+Z}avoFd54>*?aJGVX_leP-WREO$tjN&F=p(}Q%=Plq zBVjx>^Oc5uwIHn;ohc|9ak^?P;Z51OqP#8K#SmVP*UX4`YP-uV; @OT#x{?y7fhL>9e z-$FotRC?iz0-3IaMCji01M9)ALznXbUv#wURFs38qvJ&D93RUix7VGm(Nd#J2A@Yt zf0Xt_i8AA2;|UqEocE9fi{0nAqF%lt$x~paPgq#eE3Hv)=@LMINz}|PWHdB!K*X#C zqW*H5TS%vmV7}d2%(ZVUO6x>>3) 3^UhYyG!dL7Uc9ZwJdM=Q%}Nuzcf%k_A^yHGad z=5dD&uvZ}1O)uAL0TE+2cm`OvrO&IdnCsc @x5YPWge2o5KYFq}Z2wbaV6a=DYl0mKrO1mYyKqu$XeuYQ5E*sOgAT zgd~ey_vva!0Z!7^mQw;A=N}+v=1HC&O vumEwS=XZ`$T5ku^ z=%_7s=PNxh=Q|kJIv^b(5iAM=nD79A?gTu}BkDaNfiDs)`rrBd2>r9y9AwA9sjNUH zuO174FLTdx>12kYGbZ@J`FZR&-3%s5H@lv|b$I!G>GBm`<)TkxLO7ZQkNggJt^M}f z(kJ9n4d9~@##8vn*;f A_np)-T-5I70T6tWO^SSUWzvT?4Juw|!{{0y%6o4o= zw?GC1c&hWhLb5?mCtx?fc^1U9 cWfuG}6a}2CDi(CM_ zz~Oae0W!|yLf{7g_2N*R?hJD0<87TDA17IDO#yF(ak-!CH`?kB`M+zkcPbN4X7Djz z>$IwTjw6P{1WL{7X=-NWcrU@Ot(3Ghi+`z2sKJumq(2G2)tfsZkv6&7VGGW3+TH-b ze}I)}7J^w6<|=go0FQb9v^MQV^&w5Fz;I`fd^n3g4DwwtGvK*=>A%YWRF8nm_5%o~ zN7i`21Clr}T>xuQ+VdJ)B8KqY)wZdpuHX(k;8*dKG3JER&R4sthd^EhLOCEUc6Q6= zed|LIr92_C+2|br53*te35R|X=Q%d4kWo-L9w>eM`t>D)JDyMF4eFZ=sY!75uPiJe zN)HLOH0nycd~)3%*8@Ni=mpH{;Obfc7 HF#S^R57`d!2=JkV;}h@4GIZxu?d3GF^_0u(hc-&Vg5!uRAk zAs~mQ7A?tV6;4K+EXC{{dXkc4)z~cY%vL<518*jcS7`gaZ5V)%PA -Y`#2DlN3R;Q^2Y^w*q45L{nAuWaoU cL73FG;i>R?zCBd>B zg9R#xlIBogb{3|(Nl@tNHj|k%Td{QL5Q=;#5=Sf&n>pBFYj}`1p(?z-UIloYB&6X6 z5|dslqU7M(Q4{C?qUkHcs$7G$6+{%JOIiu(mQDdlDQOUp4v|K>q+7Z{q E!|QA zQX(ZG-TBQr=R3c=w%3-$`@Hka%pEgpu)qJS_iZF8|BC9iWZ&T6>$10eQGOlDWqQp% z2|wAwBl0 CK9!Xjgq+|$@DO-ls3#hVsb$D*G4_^nXL91jJ-I=#&&kPs zU12PmIuzi=r09<1>Y8xmpKmy3+Wm1)xZM|7px#>~E`r24(V0#keP<_8v&n@ZG?bx4 zt15f0DzdA(@bQDaj?qyZT3V7{wY%Y2OVmfl^8J&J?{?lgY)-y!g91rt*_xI{Dki?W zw6qi&6hy*f{WjZas|II(p*&N)o;SCyA;aL`uK?)X<5mZF2wmQ(fBeXOx*H@rS%->p zKHlV7?D4(%<3Ik~D;9g~u&%i}J9I)q0flt?FCS)4{%#Ou=bKUUW hWmn+vkCvb(Ef{e+5d=Nw>a!l$ Zi3Q+A1pKm{C8F65n@r3%9o~J)u?5j7~{8sKM}h6JYK!l6v5_^t}|R z^p3E{nJDE#a}$e7 *C;#tOkmCbtVFb zTd#snG!Df&9(WB!sz4hEo7{*}5`^s^AB#~}E+1K-LM!Oo(!%cM*8T0nY|CpS?6U^! z&L+_;Y$o #+!*=FL{%l=J|L4U>33Dvd zzsL q>cEi%qg_XAM=(csjmh@mPgBeOQgM{D%~(*YV^M<;Y5kp)sNuAw*Y z515z~GbA|eb2e%7o4UJ&<0qQjUFu>WPJHh2$85X5>ctRo!|ThFAAne62qP$M?==rq zWp2@AT5I=Xqo+6p+xd?i88BkT5$vowVfOd+E&VJ_h1<9E$58S50{zDn&r7&~5T1#0 zuaWdcJ|z*-am&cq?CtM&j_mS7c;GUzKYD4kjca9v0lDTS 6s&`($ z4rDXxF8}*CoMBg~g_n|23=xzT7KJeBE!^O&!La*TSo+=X4|(z=9miXzhar-z<&3=i z 8?A#gs@G|hrc4=(-ivzpgd0ki}uN?dPYq+@TMn5 R0@iBz3&W6&(IJvB<8~{gfbrgeRW3EvH~QUrf;U^74`rX9oIu z#i5kyALE?eZEZPXx@NxRgbG|&My~D$gr}@+DyxW3bnMhAd z8`Rrti$OXa;^#*LV^CB=LJ=@)ATwFV$iSe|>eX?8!2`6SGvG*Z>Pm5@VM&dt2gt~{ zczAB{&gMvqY=}4{)B|p+572_%I#4@~TR&A|nl)6$uhy8^9qjGvAmG*2FYTO!I{q_o zOG;6I+UmPX_KWAGy*-Ys?9fAu$b8xOqE#}5fYr(3L`af%FfnKc2e2M2_{lr&MRb*wj?1@#BZ1qt{RP>>r1Q_T#%1S-7~cQAU%ouzbwPp@x*` z-_r6>R+eFvEXC)}(_mL$G%;;$hMSv~n89Yqb`ZF+(*{L_7GC2CN#*)IMmFAfjK$Z% zU50~$Ol&XGj)p|`;%+n_7ts~c z{`)?2&I_dra*fH+-+fZv|6-Gpq~Jof9AGGi{`cQgnW4tSDf|>38~Q?57)W0|Kg{2r zHPc@(kOhL;S2dy$60_6h#4BaxWYZyS`^yvPfb}ZuS1H0t`D&UvuBjn LUM(&_C*Zx=fg*jVuCM$cZg0%V2H23RcB`R^bkZO%9$z!^Y@rN zgI4@0Dg58j^YAq556rZ`nGdD$JsJ>*LwjXxj0mdd&z87!YPPQn{A6D}eZCf*gF*go zTT=z9wsd_hURPe_i{Qw}@8jd>&dwT5kny2kotQ+Gd25#P!s5P9{|RmED^V1y^R- zlHH3s$OdnU)&F^L?bOTvXti7IcU>FO38_C1f0Id|qe?CmDnVWO3i5qdnAzV=;w*S! zp`mU8TRd1;E{J^L!7k`dKt(@LZ?{a0NwFX$BlC)Kr |1%*Eo^r+ka zqOfpqf_;4-LbC9*4_IB#%>PmSUeRy7<=5Eg7!(GHAakaZSo|1&BVqh)oSMQLh+8dt= z$rF;|NTJFJFc6=Wv%BG8U$=T8qugcP>q3MkYr-irJ2KLh`D~3}4wICcTDF)AZ6b>E z&e^*Uo_7cd-6tli5t&iPz0Q`C;dw=c;*U|~KRfg5i&y )}5&=ImWd?^!tV6;pRwc@Mgq-Ey3$VlEncLZv#I!|WOSqcQp(#}q3em==a zhENvVWt@E$*7Cg>qpLkXB7l@kM{!f1aBvUlGHuJ> _?w9L(~Fuq;cfiXa!~y|OFN2>FTvf3~gUAgZXOBD>n!{BN$S8LdYAecJM|I-A-w zI(nGc4>?XPEs23cKP)Dw>+6%@<(q+r^#NqcZujT(b=nyjv-UTZ-5)KQ7sp#ZxvR-G zKUw+N_qn!yGOvy0j+f{*#*Sw9BsxpKxre&g1r3;#l$>^rRRlC(-QmfaIS05x%{PPT zjs8m==(5x`6BBqI9)fT#9pmE>kU3RVCq{of@rRZg=t!107f1U_14K?1Sl6N4(TDoK zUTl{bAMZKRqgyX(C`e0-YPP;?wa|p*>WY%UJS&mNG9N}}B(o1Bg+k^>faD4ALjy5+ zpwW6FFQ1N9-$4CT>B&8I);+buXL7GiR&Qbkucxd+i11dT;wQZnGQPchl`CRuO7NKI zE2D7+TA!kbe4e*A^K*r(mL_p}hqN>+&1N^@Y{>|-zL;Zt( @}xspON|+Eq}| z(fMSFJB^NWO3J-2_^m{ -?rfyLYMC>`O~ps150d~ zC<@JsBl1O0p8JX;dj}Y~6Mg;thPw+Q2)fc?jmfY(T))5i-ZO|AeSKC)HgNr;zJBF+ z{#=Dfc<#$Y3cd5TW=|~bC>+MApGd2>h-!@M=~2_`Q=V<_PvPy)K&HWO2?{@ky&+xjU_z?||DNWqypJLmecIf+;E z-a4q>;g*v{M&`T^#XDqPG2EqRf?t^EMFA?0^<2L7{6%M{U`*XmU1Q^$Tv_}Om#K*f z`s20X-@osKM+Difh4VnW;+?PBP3Y|{0`LAHzCTWV*&BKaDDr>)j@}xWnzql?hZXA7 zdKIQ^IW)P(_MRUOLq~0Qm?r==4e^x5y?=4E(6O=3Vj#!(w3)e_Fa@Ua% !0#`DRvpzH@eCK?LGPaO~( zNQsZ{nk**#uS#GL{umu2?mydK1FolXP`x!KX2JIQLai@nvL`D0@6S@&rKM-nGrC`O zc)H${BYU481gLtti~3MN;+`l}Nd%z#pZTbET%4-;xMZ2?vP&kkO2g?6hVu=tdi$IV z&ky7scgs}4l$MugyD?_*_U$$hZ tgCZsijWoqJKQ z=rwDjea;+&JQO<}9J}4Et$-3M{K5uz*K>0HxUkobj(AX9JAYm1|N0i)F*pdjsbXzv zZYE}D{eZ5F=QL}A_6BEZe>tc`bDt`T{8gpv;Vm?jbmNDp_ZPYmxK>enyygSy>(_Z- zi{EQ99Ix%hW@H3LMG qMZkQ+TKOr|O6%zfC*^ENghYd7hJ>UuC~aaR2d>H>T?fii#aW|Cpdh zO=Qi?Rm}7P@XBewq6vqmw6bg(`i!RW9`ZF>0VOimz}e5ZG@2{&h5Se+Ro3p^EQwB! zfrP~qw)pag1_61-2mlth3aAE~ e&n;S72T1373={e!P`{fhBWTb*;Jl?m>(HrC5ro(9gCO_+*kX-uX z(w5lS^2*A}9_R@4(dX*bAR@Q5b$52Kk)+nfeY`aFYtD`?lrXrtBej{$*UC`R;3MBg zk6dp~%F#3S`rHx0!NpZl-KJVyzPaI&mUaOZr@7y;|2;Wy8 9 zSw)72J0fVJsw(D0mUKxO86r el+@h(GZr 1lR!% oHLZ)Py%Lp{XJycZb6m^>g$9(zJ6JT{(Th)Dqs{*PEJ+AqM zGi?>6T|hGR%(0xCt=>ADITdz4k${f5JB3RC?W!eg;Bb9py26MV;=*B_#b9%SFSi9J z5!i<6_k;k|mcOGA0;ZSHm 4dOt>| zW%sCiSs2m*xU(-#4SwiE@s!V9WJe_p3je_FFO+5 Yo ueGMfQ0g40wTa04D-@5m8Q z>++SW8UM#P;4h!(>Sn)jzK_%C;dPH)pPlX@JL@1j0T!JRP`NJ`Taf?GI^TKvA!K92 zH5mk-&nYRC@%0+2s%2OSNgNy;2uk~ d3!!B~iRAKrOzygAu3?ZP0JXq^M1 zKaE!z^f*xGWK-0kZvnb?bd+caiW`CZlQ-l*TD;WJ@deQh2OFCSd&kahgyy?vXD~ak znh8J$5jK*p_Qjfm8i_)ZdYH?y0{z^7)k2*=OIx8V5D>D=F>slsZEssy&(#G=8xKHC znopG>Lt$dl+;b1PF1vTH#mRrL$>(!&xsOLLj*7Cf7Uhnb>I7rB`EXxf`}iRTp!a%@ zb5bhFC(zB10pE3iQQGNp&7T1W4oralQfhLhP?*8_0R_NG!+`|wGMB3{th-+GgRW0P zN>=Iu@csV%=SfMgvvq1SXxuVDi~h6WO2k?|0FQkDcmKtU`&nhe!4L+rR>ETN@||}V zV&eMenzy7NU&G!%qiHrznV-$#K`b Dr$koE3yfnIJ!3hYM8}LB|1DXK*of6Mn!TlQ(+M?(-y<0#!w<#-T=N1@NK{M z`0?{QV+l#_Cs+GFajKdpM2in9J7LEmY$Wm (SZ-N2W+A8NlAH5Oza07`pc;@p)lsW#U`0JoSnOOy_#J1 z!*}N6l~h$t|0?OOjp)CE%i(q7iq?8vQ>{w!@^oiDP?O2@X9-H~M+}ix605noIA}Zm zvz*L?*!?OImB~|~@jq;-6fu|OCum=XhcispMxehdrG!l2%j)y1dh1K65Ggc)KHq58 zHpU}M^n_Z)G!21{Nh0F(GJqzv&UKs&ItP%=1Ka(i4B;T4|1Z4!m`Gr0nF5P{RHfM| z@K#1Xp%6fA!KI}=#o4W|bLc^Jzs%+ppvad?+(B@wmnY&hmHcth(UIl5PBLpkbiJ8+ z&8h&e1_RL>|4z!GYt4LJELv!ip=R5wQH{8)GGoVC5_Z{>_BuDAArt8L-a{}2WM#UI zbmu$qFWTGhZZ9+kK=GDay(GrRZ_krw1ZvcH>H8#n8gm6|EHoE8bNlUGT^P{7H#ltp zo(}i(OJ!5m7X9)VyWi@bKSyf0f2d_ha?%+w;6iBOV^dN-6>c~}omX=~%{;BB6$vfg zBDy(kU0x*%^^c1)hL#Lu2IT~nd7qHJZ#eFnp&_o+g?=N$!`;9sN=n9t>FT7Xr^}1_ zEb5dy^MFn3C1AkOiHVouMp)3uyecD7R8WX9o;$n|^1Mj0p2y2gQ4w(3)PA>Q1>6!` zo|2Mb0{T3~=!}f+-sqyi hKPlyu7<5*6jXm9XqvTT2Va);qu$S4^`8mJ$T( z18>~i5~F)?@Dn7QgpfohJJ++lyP&|X{4DKRB}2PYR%WJIvyBRctPL{MSb=h^Aq6KN zUkCs{Uc2w1z 3& zlif}N?s|K%)$jV!`Afdp;MIAtY-cfq5e0xtID{`a7Z=^2bHtykPJg8gKEHZk2p2y1 z94+!}h|I%^Wz1?!Y=vQO@Ab<;Z;}-)LpOK#-^ G&gkAZO{@3moYglB(|TC4488AU4hKl&3#1)!;c zBl-AIs?Kra1u*!=S1t~L=;Ms`L)RTanAFys85!0H$DO=9*$XaI1c?2C8BI^$ckX`) zT<*rNYE)n%kG2cLV`4a9Lndp2?d=naszU!c{P3?w#Q<#&4o6hL`NE1VAPt|DK5qcw zC|<5t#H3SGF^wsuKqmQrUH}T{NvUaG0A7O>Xz=cx7_=6lWHwrdufoo$&2A>h#h?5d zthXo1#Ub9^9|}2t(-7J9%G{^4H>b|-hbU^M#D}#c7N%YEd-sGbLpJ{X^99}x $q{hFiQn=xd#|6pis81%&vDwyayxCo?nj~w4AK19^ktOl9lMyZ}Esc z-Xc`VR}ebc=8LSfZ>6Nzy17;Y*ack 1j~Ms%MIL2LgKz)h=1c{iSbIA~3=<2=*X2w1E|S2a>y{=3urQVSs&l)sG@I9SB+@ zK*i9&Ak{C%XL@J!cZMu_+GdK}UcoNVNbkKR^Zh?F2qt>Em;qt|>|M_Q;6tNK1`Hqb znBCW}J5)F`p#ES}Pz05gJ=3Y($p?g^Z`IKtx`Bmz_&}hMYI>F;%b=s1SHK;}A0&hr zEBc!ZQLurihl(z0%@+>J5S+tI<0&w)8KSA&_BeKnwYxqzRh=cu+0TJKVP{X4HUBFF z37yl>9}O-QXb@(A#yD^t_xJ4tU9bW}LmMWxKq;e!!$1fv*B3P4oPC7QiQ{ESA<=*b zfq*2{TkD%SGX!V=fd+#55Mlj3IvN9X0TI7yB8aeAS?qOf&1i6ip$bYrFJ03`+-+FD zN(Xe|&347u_;{W3NT$yn{Se!z@bE7V>(+Gig {B$KCT>(fztUMdh-g+$88DB z?u;vFo3+x(Q-fjpuC`7ivTs@6F28z1v)P- ;I6% z!yZ!bwsLcpnBmm@ac?3w9{*C#cWiwl7dIi0ST@S=bAOVD-DXQLWuV(`(TiT8hwMR= zmplen!K_x8@UpkK&0B9v!oA%JB~Df)CBOs^9ydiqMdjz5wAh V9Pb$yuylui4fm0Ji8rB^T!XLz0GED4aYV01(R> dmaM%jbicm_$%N zEyi-Rd`EV7yh7lfW)&2CM<6vJ`AN`bYife{!21sZB4|XN1 95+~L)zyp zVB&L{o*^^%^{sv|g{xJxbwn^jFr>SyiyVq32rR}cy%oT({3u^+E7yyQHy`qFyOW (*k zPNgg}oK#nIUL(H4RU53QCtrvR-d^Woaxe7Vri-u#w;AR6FGLv3h&(cML>!L!5U6R2BPv^xMmiW#+hqp71k-?p!310b6nVKKO(Lt<% z0Y?@JGUQEUd(V>QW{0k8D0?9ho}Vi1y=B%~G+5ODLaOB)!YfM$j|@Wa1 (q3!xEyLLXKA{#Hz`Sb#G6A8jq{MQb+;@G$)I9+p0L4yQ{AyD!w$twXa; zK|!I&Z9S)3up|uB)t|rSA>e~CHYt8*$PxdD(Au+xPlJg7_lb+n*tgBCtye)9x<4i+ z3;>N3fUG(3^92=^F6G=|=cOO2f#WtEf`D#zE95Zgw*o%l%FzEZT|gM5Qt+3^0nR}< z)PUST)G#I{Y0FuFb!)S?2dfUEJJnD`D2Ip1!7%zcU0{k6?#>$(6*PQBi2K`{OP<@S zs$}3MmN$t-fk8m~W&_RzaHoh;S5i?@`U7K*;06H|dLJXTOcdnx?r|0Gaq7yqt+}2R zljS>$6WRY!G-w?Sd7&l$oF(;2T{92I^UJ%_&9t~wUd7#>8C2I At(YD_tQQ^@KGk_p_Y?t2(y0-a9kp8>#i8X$~sqqZ-SR38Z&Qt|d`~ z8060iwUESLO6^SMW_RY?tt3-oe}h84 @zyw2Lg^A$xtSR}{B zcI+>s5((DPg5L7`V6_eD;W>z~R#rFAeSmZ35}WWe?e=;k;r-O7^QE9J3j71mTu6nl zFc-Z=FhD!Fx;n&zX{SN(#O&|8_RdrZGwHWHWG*$pd6t=+> 7Ry?Su1W@z!!#|@U+!7suH0GB5oVM?Hz!6hv zF@E47Ms9zJy3jN9Pekzoq#O9%z->ea#q!m7-jJQ+Hzp-g!-^+>#U>^N0C|OEFXMB6 z_;slD>=uZiAk1A;c%b{}n=)XY0kOJ0T|n{ta0D4frc|*Gx^iR_UwQB}3p7>qY?eQw z4pRvhWP^U1Xl0FDwCZ>^z8Gn-m@~xT=9z}iPtx#q5zOfg{E^MlFmtEd$LAD8a*=Ro zOw6ZQ`T4_bzVm?k{?P^qDy?y%pm{Vuaw2<_&GV?pU?8YcZq8JQ^7mUTr7%4?=d96c z?0EA}Cs*fhxwJYQC AO0rFmJmVF>EL&$l$2{1;lAV4DT zfSt(5P|gzRn3>T6V}%XV+d4_v6=(o^fX4?x%iD2rWX8gJw&uRZ6erH?2vl{j;UJ6y zmGTl24?rZRrlKO#nGJK?$~#MTse&&-0B3nZU46O gkCxO%NGf-0f@K^v&I7- zWB9={vcd=zht%UVcDBWfnR%_F!%svh5I-<7l9Ea?d 5 z?=I6#z#%M(f+o5L&^tokI^FpYh%sq$vW Xpc_U({_QT!j#0W|E%BRRt$F#4vg}LC~iz&U4K@@VP+25~Z-glLh z%vpW=YRJjKftGk(tdegWfhDYXx7^vF%t+nf$n-9k6<=R|CGH`SvV<`5U)iX#W16q3 zHOrPiFUoFg8snrXGm+@Nl+10X=lb K-k$pO~LR_JaAxm7fFybEkb6>bWsUd^?I((TbDQ8h~)-6OSF$4 z0cJI{w%*rLPLrA}ngnhuD48>2rh4Gb0h?0c8=4yH`KZXqF)5pmnf-%}5Gj`@TmV#J zAUGV>QyljHkp20Sp;ButbaUfQ6@+o!0o+9rhsiK)DyE+wGH|!yv9ahMetqi!4vB<& z`{GOU66k~AvrCw0&d ++2s$*5;dO-*s2mKVWn3)2IT5@U#+abqp$=;%B- zF)y9Ae)fzVJVuZ=quISt)~8;k!sVT7o`9RNLhOUYXJ*LSf$^7(|NY~cSs`lS=g*=D z>!qsdJs_ry!H`7p!OaU;UYIXMSW$o>B6?wd50awE-tTDrd1Q5E0GQpNP60n$x1ozx z#yEM&W_bMO>iKP7*DW*EiHU~fzq5dZT^2F?Bfaz+pWvQ5Xh%DfN9mW%OvjhRqd2Ux z7k1R;7H;dq9lX4x%l+|(6mN5{uw1#0VrjSRH^w$_BDbmVR@?~J_)YO7Z3vV)5^zmu z*SZRG^6pN2RX YK2Xbn^K&Wh^_HHIZXl?QHGCQCUyOzn;FX zncVHjHJaU!FXTliKDs;R8$?MPWBw^{{|>bf#vkJakFqrOV;Z72>*aFuDJX9%nF^N& zUc9uJRC_*^I@E_d<$8D|nCP52a;>GNCb`2O^fL21m+{*M#~^^-fYe0+UV@|2*15H_ z-On4BfIuQ!QvUB)t^k<35D~?qYv1Js&L=cG0$-c-vHv>b;^R%uY>~nH@f)~%aBOn8 zR+1xV4ul-(_mJWPp5sShh4DOQm~7yJboRZ|m`*A(m>Q`b8fQe6NnmCasq+ROsmR#{ zut{f2sGK2(;$Vg|HO(#nR}I3h3y2*${jB#> *SNG|W0ndyMfC>nrd#Xg=w zTAeI3fH^gCuV4S}jwr_2zd5pae0}*IkZdqWdtey6+l#+rU~u|h#kmIMg1GqZC|n3I z5Q3k)ecA UN$O(KV`|Tgl7}ge7kGEWaaW(A-^rjZOfe{AC zzYHw8{9Wa(H-X8?U8r)gp!M;B4jtV~U}J;%?OPzo>*;=|ie8+U+L=_RHf^ob)1(M$ zJt zm6SyZILRkZUjOb2(?sYl;B5ke{Cq{2ogMQouiKGo*6?Jd$$p7~h =vaPyEH%dQKfwb<;zk>mQS6il-zE2&9q=2A4RJO)NaIe0$@4^b*K5wi8t zQaczembTo ?^Cv2iYA7(Mes>~?t?d=~tYV7$p%fn}HTq{vmYe7Y8 z7l-gug9T}^3Aj#s`*aXrqq3HsLYN#}3vzPCf>Z*I5qWLxO 6Ve;2_7XDcv>YsIz0nujl zTP>_}{=Iu&>e0}Pkpiymf2xYVmtbs)-0j-X_a>(n %Ny$Lyj()&p25SfN zaTT;Z5Kma}mY|CzC5^-;Cl4 $b*CXNgA@o#Kev!j;j*gNDcY#1-2TTO{LLoJT8x6p=K&O@*cy*XID+4(ocH12~ z?2C&{Qh|>tz 5BU2}z2&V9i+`8&j8lOmU>cHzl7 <<^?S^DzYib`s%!A1-CpVYi ztPXxY==!VhA4_WlqK9j@@m9Gx)DHV!AF;5UKqod@zIeycDdOzXMs9P0p3x>YRPps7 zRY@u4J0pkBKTBs3wocE>?E%wxN~$NdT*a<$#(j2cj+X{Y)Y5K0Q1vHlS)BTgdmrfO zX5*&MezK8%+OnYdgLwR;lp8D7aa|%LaoQsi2%t)E_5!*8(D_sjQ7#9QabrfD!B7J# z4hoA26E>QCb20uOega9GH=^h|3SmYj>!wtUQX>WjZ6wwo^!)WF-jC_KIefT$o`J-5 zsqjS&{fj+`+vf4z$_KMAe8=^$b4;oC<{Y>#dGy5}e eFaabQ#AtfsZIWz6cmpi}>2Y(Wy0y?$Q^HRI1sqAyiLFVy$;2zHQ zdvaY|{J}O&01~ WSMDU&Z>Ld8hJd*1Rr+4QE^`NQQo*(E&lG?ol&wWRbGpEIvIUXJ{Z1Pux zaBeHndh}nFgUO%HUDsoV40Mu&uLaZL&_nKnUqPV^mr>oSeesq^qik-uyfu=;^I` toxOyOZ%cS?0WVh$=&-jeV{I1gM`k|K6yM-_~{ZEs5$@ zZcr_IO9ZkpqBP7mj?A=NV}XcW0P?x_jaEYSAC#trfcnUQ(NvVl|5hcEF(Ue999Qek zvFM`|?i5*aj-Ckq`mj(mGNF@JsnkJ3-TE~?TEFklb#ZjDmW*XV%*4}xsAi1M_}#85 zt_p&8l7)k2&RXdwyl gPP((kG!x8s9 f+K)uE{R~su$RV$V@yMck-Pw!)FtJ9@UAkrJyC4p`Jy|*+E&^1egmFw|i z#2CajDoJXq2{79Kf%Xd!7U2wm!IK}8Tuh%`SVyyzea`yyYDk7DOGa6lYGx&ah@VD^ zwEONa@4ILFlvQK8=~^lkxI0N=5t^NLx9eZ*N}*TxO`Hn%k8_X`AM-(Q+Wqmz|Mjbb zCM4vOQcjjK-rE0gy-Lk8&t6zPJO2|Xsa90%*OwJGvDolHqjt8buT0jni~cXmOz2u8 zVU{F? 9)*5-WirvwC#Nv*STLP zrn0QUR8$!rtNzhnC{*e-zNIs% >!ngGtva RU2^)Dc$&BlW12?3Flz|4GqnCY40s-7zH_b=XgFlcmU%1|2Xf=MMRP{dMG1X z-s=w(lpCDeZbk*o6;uUw@0(pFePIoT@e6j)>obN@Z+p`CaQU42ebq~U{aHTz3?`iL z2q(13tLesCVgT5*Kr}&@yf&07v9pMo3#&O|h) SI`ac)m-G=)izW}d4cPr zQ)|uURP@rjb9c!${j*aTq;)blQEd zKfq*w8}=83mHso(YxN2Mt?;vsnA(pK@rRgY|K|n36$QgMY#n+ElOl))5CZk+JiX-& zSf~-6U@&vv1D7jM4<{$q0mKZnPxqL?8wBGfz%`9FH{t;1lWERKPL=^ h^yq4%7>Zm)8`Z*VR*0 zjBTc)^N#PIz+`{F(RminTr@$ni_-ba^j*E?&~@ OK!v{VW?yswQq^aZA# zG3o?NOpM6iyJFj#VtrX->6GVrs!}0-@kSUmIhhFIgakkLCqHC1j+Co*19K!Kq)e%T zWWs_yuEX4+OXLcBIcNK-3;04E31}a{cK!&tf&r^5o${>upwu%cV5B{$us72W43s4$ z81HPn@4 z?pV~9f}U8Nv8boPVXmSd)ytSmt>TO5FuA&I7t}Yot<+Z>)S`WNFFaDet7F|C8&oZH z$@Bw{E-V}g0sIM-6)`1XW`?=4!jBjqMAAorSA}(U4`$@!A9uMW!X%H3$^J;X1ENod zql$66axQ%Vw?PU<0Ct~Wmc~RUe7f1LPGViuuv{-t&nEcSKtEoV>bP8^nKm>)t1K9X zwq#+ )BMch`rDSC!VytJms_JpJ3<@tg5t3+pwnP87W`odNy(eG#Z~{x2PX? z;=t43g3BInc9fBl@*aE&zyL&wf1Sz=izALu@}J-J<@hpfnWZp)fnO=9_{G+v;2yOQ z$+wG|=g-P0hte+(z-u3w%0qSc?|6Rs#K^&Y#KYneyJ3PmkAgHfK6P|gAz$I(J5IHa zk7x*D0FRQY16KN2XPwF`D#Dz#6sQr{L`0DxeJ@~()62$>6qyBY^(NekKk`qqEb=no zI1McE$^8gFrw_rIGYmWb@mZq_L+s0+7_8GcAs)^FfpFFY*|w4vircXBdS6X=O4wTh z^x|#1uO=)RNW7|L!;%vf{lbP2sh7lH-xmv>Wh)#Dq8@>o854sB^PNvPBx=RXmfjDD zLFyabV0h5yOuwba@{%(F<2!##n^|-rlgH~&S>@Z;Edp3_`il|=Za~9>XdY8oOURmG zIFeDii{7~jk2()_9H{`Z;P}{Bsu%YjJ&2 bKoSe2*6^RTf1WXZNMdkRbn z;djun^Sb{G;{LEAD>98kDS;J(q)-1z78mR66C&N@9GL=b8Z!mcbRm(E)YR0Up`R2K znn&P;LSIc+t*cNrtSy)&1eVOV{`_$k4?OAPzTsihu22f#L84Z;_GvG^iisg1j0hpP z>hKN6i8ED%U$Qy1&lb=gs6O?#$%aT0g|UL@*e!n$^ C*|Q; zZUj?tAb5hU`5E@f!GTb}r))Sbsnx$b&>hee8yqSojBqCwTGuXZzx> 7mLC+4-61*BT_QvP4RsIWq;*f~i;V7UX# z_)A2QH_L64LJqv$zi<)+;&*9lD}L7u8e~}MK*_-H2^@a*Fr!&iv _as0@X6@SQZTrHXv_dV(r{pbi(L&&TXzrx128`h zYG|d)K0mZd%9OkN*%RFFTG;qhf0I1p=SSnLiiZ2^vA2#G1z*ohJUrW{BIdRl%$0Kn zLROwgivH =)YGR3F35Z=XT}WGP#0Q%IDeSIZDyWS{#-d`HJ*1(%jvc|I~CGp z2#XbhVImyi*N3Tilpq+=F$D6S#Nkj`(EDaPdlqJKmNwn)lcg)4x17Rx;8PeJ<-j%c zg_&+_&r1x1r> hV}oH*m5)1b zM?en(;2aBk%bZe9TX(?&+qpKx_=N2XBX~zwR^r6&3&HzWV_;V?!Mc&L(Z{95aquE? z&+px@(xx#jQZ>v|m#VpGZN7{Q-85h3y=j))4W3rQbI+Ro?{vZ4rZbY6ID1qxW*SE) zJcL-s!zc N_Mh61jDXSw_n1dsgMYcP!f%XRlqaV?(H> z8&Uk;;@>~Iq)`0hVziy+>XE*zQpDEu>65#w`%O|sfSKKw`xKq;{U0qRs@bw8`h_g7 zIfz^hc;kNaZslRtQJ3THZ9O_1S;Qv3xO${Y<9{|mJs9@ldFVLR(1uDDTH}?7*|e)` z8u7L(UDl?Nrna_nkt!c7=@|Yys-juh8Ee#I4GNBt*X=b0%*IN)xIBS MaoIk4)0 Brim;ZyEif}XH5=B6akLO%q_ FfS) b>#s zh#dQ7@d}1-gEJTBM^vmjm7AvC-e |}GlB?~+%{&W}1&Y161|2g}$M_mm) z@?2NX7Dsuj{)6?FeAJO2pIdcxtc--eC}ug_4+tD>He+{b30&oDdN3a7;QmrX!Qb5W z$$vim^*H)i8-kats$Z{LPm?Qd$^G~V?;F-}=RVXCoB!J&_&NE~X0%oJ !d6cuy3vh>D3=@W{)bgJF;ReXewQ*x1^IEPtzi98MNX zxbma3W^Ls0U x?RB&^Y@iA6JJ zQ0uVIg9|jO{$3atEo6RDX|$hrr@8AXYiRR8B5iGN=MGzm)KC%MXwoll(M++^*A=@B zae bEXOq~-PYc8yuLQS2o(Mdjitp Aw~9LknQ` zVd8Z<&zLK|u;)4BHmJ~Fi+6EzQ_6cy6CNIZ_rJ au;S&5 z@9Zn29v;rMwP%pY5Ilb(auYP7l61m{8O6H%yGHk(;KSeh$3|z!)C~oZ&mF`q)!EiA zvL@5^$ih6I8GU8B9oTrvRwfi|nEZlbE?*isTu#}0`+>(?-ja|rHD)GW)>5Wl1?TG` zyJw;JHEvGvW)WH#um9|_{@HU|c8Sp94!`@Y!lO{_aJDw{N=ynzEC&T=?bW8a=gfRQ zT`_B1ZfOs><*(*?L%HMIFpE;u b24f>gjQrY#@ae9$4LBbPqDG2&}w>_3u`sN==J)22RBA^Xst zk!7}Fy%@s?ubgBZBP;Z!u9Wk^!C95Sk0d`0IrwNFowlA~T>TKG!mv0{au`;q9CkLC zJRkd}RTZVphuhrU^C)TNE04yb>)|Bt7TPc-Z8>a_*2b&z^|RWYk$6T-#L+r3`G(0^ zq@~Gvj5YsTq}|CvWxVhByX_y|>r6{4`mwTy-9bNpFMG!41svF!jo%mR6U(hpV^e!G znlFtT9*U9Y8X%HX>qOyZqM?-ic|$-u#mGA5H%XI5)pXz!lILgdb9yQ6KkHnlG0@A2 ze9l9&rEWOCA)Y4el1co*f%d_;cE+~Oz`rLdXj3*J5%(u(x3qp`3rTgzDwPf0vlP(8 zKHa;Q|8vMlYd8Jgm6MNpnfmVIqfI{=roW?poCX1Oqo$9mAN~4@E;v{bU!}ERM(FEJ zmSbWehbQV;m*(yMaaA=3H#arvtG2q!W|jZ-VXDKwwKrZ@)yT;UF5X=E(j#1smBioC zMuPBms)JLym@1f)FvIekrfn@rdOp6*k~}qhsKBB8kneZ U( P^FfIa8-6o-``NfS*d}eL3C%klk{azfX&zji2aW@E)|Z zd(|;L9o{Br5vq^RlIlI(s$yGw)(bqL5JzQ|Muz0$JT<#jTVvE-u6JB+%-?OQoHiu~ zDZsGT-a#=MJLb!dA2u&h1z`iwPp#Q)s?f2~Ok|xyIyLyE_=wjEule*24AqakyA%E4 z6dZkhr7zb}th5r =?EF6s2>0@AoCkP@6wHQGX6YMTH3j5Uf21PI~|KkxFjC@fEv4sWX&+zsZny zxhP6G5~ &l^cGeKB>Z`v ?-sV|d1ozlK?rISkg(M^A#!yG3SH z_>9~j`ME5%PQoBz{{3sd2?-bKwu*<0Uyv);Q;Hp0;=kz@FL|djdk? ~h8|#`$|BO2_R!v&_nN=+}HvrQ$vWlPC{E zned? E=a)Dc1qs{lJzI;vHuS5bvAn0T7K+`oG z!e-2@!URoll6wtm=BeBFFh}&hXz%ic1iZH*RS0gKu;Uh8tgvJt((WCmJt<+u-yYda zMcL3nMh^=#&Gxnq41c&x5~YctE&5r!#E+w_j_1L3axG=N?e4J P4E^a!;U*ok-cK1cJ^=`uK5SnjCN*JqoBJX=z>=1XwY zgXG%^9 1yB~2&coAUlQwB( zh2A8_lQP%{rcbeKb)fx16K+?m^VhQ&hbXOuV}uRY2j{;MK}a_dJv_bWz5Pl=j2VSJ z?2WrCwFtLEHTrhtm#Us&=10@J h4_APZSs)lH%Ae&4vv>50GuPc`I$M|!4 z=Gv`85TrN7t)<*QMRfA;bbRCApx8;*H8J7Ok^V3ZG5b4ru=H0n^R9N0Z?G?ISD`qb z*U1S1g|vUnIrl0_Pwp<6dM{wSIhE&?eHR~F1Z|AE$DbwlqbPP2W5uqGxfM&o_AtT1 z;~8fHtCGoRM^?9mwsdaN!kH{TE2FsX8@9)ViM%AWna=PPU+m*`t*H^lU!QvmoQ_?1 zUZcEhfvm)AQ-`p-alrohIS8pz)~+i43G=ShV9EMv%IfcXI=bEdf*o%N6Zg)JgRtD^ zFcQw)1IIVwxyFhGss245yesto=-D0$B+T2zOgo5r_RSDadMvqP$w23PCal2QYoGv= zLvkTsKd{NZrg5~^-fv$!(XBbp9I71mVy4Onp#&?<$@vY-IYpF)vhn2KxGO(9_u-EX zH|wO1)Uh&*^)=M=YP;GlU3siA=uN8DIWraAO`#}yAd4cn{=>@GIgGo@U2es z?J@o)H UpupNNr`rziMDvZMemL9xv~Z-+7uOfI zxnnj|lr-!wda3xBfy;VyZ)zqonyNtQIUN?YW}ewRiye2bEVQ)L|3fLH-bV8~7EEK8 zO_-T ZKPYptD^QAsr1T#}#5`WFO{fyLg!#U=rcqcSP@LUXg zEKac{O!&C10MYxvqpe;`!ps2M`zmY+x8;16JheQ$-PtT{il5in+4#t{2e;JQ%-SyL zSn&e)x8qvLefeP8o=OQr-ojp?r1p&s<5Z>(9MR^m8}2&cc5`2ZMhpM`V-_jB^qxo0 zY N757t{?locD{EPz?f=!XKy{#$k!h4?I@9Ikh{@Lf2mZj zcd4+T!Uv&u*Tn TEBuK(Tp+><4wa+NYPLd(;N9UhkqJh9zpkx@r(u z0#q`(j@Q+3 H>?&?u4 tV R5zk zvg>$KVePle<*qs*nQFpE_L2lEs;Pk_{e*O{b0i&a;fyYo?6g29ChSo%oo|>YZ!XK$ zw_p`%v;*GmmAp@Q+{ s@>zE7SjMgmvT rNpuno$+2n3x|#^~|-i4N-= zX`*AFM60;YF*D^-@_t|r_%%KCT@@cwU|j< !NOI+K|(ApePG?8-@P^dqXUe9Bd 5jxSJnlcrxGg+YM%x-w=~Ur~>mSEa71JC4AkDrSH3e)3hV@GB@I;W#-}b zt?Im1_xjN$>b0_eeg0g{M}w|p*l#n;b~s_N_u?~U)uDJbHy3O#($vpgb0=-}Zmpp3 z@gB+}mNYg=uiJUFwd{JvP!QE1#2wfsW@b_nCf}vuDaE_)t|B4FHKFV%em&drxWa?I zg(Yj<0ejbs?agjO;Os`HbDDyOmEjmCKX8A6L1pW0Mora{d|fpZh+7Niz6KAwzQdjb z-A~Q1$GOZ!bX9N$ExRva;QNLjDtL2zC>V!x%wC>vvN~yy@Z0ohGm}P(%ye6HfneY= z4R-R|)sRNJjr5A!e3S5`&u7Ji`3Xy2bG z(3~l>EGR15BubuqOwEXoGr4YP4z*T)fzR_f3b%W6e7em1qcGSsD%y^twC{xlbE%l7 zH#s5>SyFm$cMCNU?P4weEWa{Qou(v$?R9+K%@*7)X@V~Hp0Z@pF6-(H4aTzNre}>o z?nW2^k6Xye+Eb=@%q-fvKPqPqlzFgmi~#Fc!xwuL7}*qml}p*-(=)6q-r2TJX4=sh z1*jR=ii;kd=*Waq8M03(r!&+8T$GjJ`8iO{T1K0f7Gz9kI&pKgrIiNVWKM_Y>-RSb ziUo>MoQ`;aYu2E`us3(_6if)Rlasi4+>8f5ajJuz_3u<1pZ%)4EmZW~4Sv3Ls>Y|( zQ<5GS gw15*tNV-jcao>2s{`doEsg~ z?f}dX)eN70;*t;x&Bk8-X>xUKVD0aF7xDSMk5cn#B^3nU7r}$C2um3)nU~V@6{pj_ z7@??| #Ba6d}2BaB!X zz4mn&0yr#c?RR%QQ@d?gN=*{t(Ef6cS@c9OQyS9Eee;A>FUBgqgeiG(>Ax{#)wa;c z*g*F|&CSgX4W&iDVt~x^_^dGmPylc_S*}myXVo<*XIn4if+{aKTwLy2apZoe`T8b# z9-rf}NsxcOCv}kO(w)sNpaO_^N52I+APE9+wOpaH;O?XqsE6Um$P|U>2R7l>^KxVD zXDjkGD99GD{rSgD8H0uB=%YdhRftw Uw@I@8N0(o?`nr@VqzG0urX_`f+q1 z!@%hkx7w+duaF1-aQCLWow&869~~fc(!YTT2y)mM%c%tEwW}M|-{)#=WQ*0cKsNBO zjyLV^KB}mHPtuG3ZgR<+o<1)pHFC>W(9!W)@cR-5ilKxP%z(6R{FBQ|AswAGPRB&x zFcs>HE2V1H5C}q&DzB(Od4u9*oVh3PT=@z}E@d7?FxA~gj$lE7*QFVSu-sU;1KY1i zUMJEAG`?DAF;TwZbBcw~_Nv3a7;1mOS~d-c%m<}FiGw5gMyCTU5b=0wIg B%FZb z-A)7Vza7P`f;@eM1=lw}yP#n4aG|jf8IaJMw|{$8Ix{!7bTC(Yv=4qvsVFJYH9zkJ zhEQnPekHv)_fY)&{K|#O#pZMM_FFliD25jZHr)Y$boj%@dT&&YgI3aWw_CX3 Iz_b8?JqK|l!imhOrg(*KSH7)V(2I$CT_ZYYs@9&ZCFzxZ}y zXuA+#r6u41BwD}Zvb-E25RN1ki^;%+2FJT40PQ9f7MK_8-9FFJ52r7YXbofrsDK{J z;o Ejo8t^P8DV=!_j5TSRl zPzPBXjE#+LueO-FOl36a`mCd~)bu|c+7S#umM0nPku^9TNMIuE4#U5yEG*pn4*tV; zI9 1uyQK`U-b`g!(*IPIPuJud*al8rx^r{@FP;kbGAE?C~b zk&&qIXRA>sr>6xM<1&0 O_4qC@D5a9qCk-)%)f$xDEXiUO6iMe 0O@bCmaCvB4z*H&!^rIHt=ZmW@f08p>KPm!9#)>Jh6gLYO3h#~ zNfU!znO BRVLrzm`=}^4=OsVS#<~?q2lq z{>BE3r@Pks>9Mk@scE;M!2H*LGI0_E4+rOB6ZvA|_}KP<)OPgIDqlk4??Z7JEfK zS1z~b`4?bD=bX1kR`~GolgN$wqB(f=e*2B)NvBYi?9KiYEoclHRfd`Of6Md);ZIj9 z!RsM_uTtvM8a)uQH$Xzi^%87Aw!0fhEy(j$sWcwcdKM$8MCKW0@5g&>5cAQO@jq>~ z1KwTs8HQHxCoj;WN?b;u_&;&IePNMrB?32~=}TJNu8&uOpI32vd)uXbXlSSvNZLNcidh&jh$XG{z>pH8dcOC)xh7KjO@``K}A4+d9U zQ1El!UP*}sk3qL>0ELkA{;J$@9xy#l0d~RL$x C9rvy@C&ZtdBsp*a>#V^quA`$978Vxs+$`Xs$9Vsp z0Zg!KoHLIJAhIe3Uui9tdm9@{)TG_=N`I%v$1CN4RoU7cNI3Ia`R!kd1T0+NVzYZ; zb~U<{|FfFO7bzF3+q}%TX?;-s)^x28ii6lEzXZMA8Pw3GD 9BN z2#n)`MwMy#(Ae0gI=72mci?@yA_j{?bB(JV{M=qg+!jDHMA#c#PBQ&mPdY(B#DP0n zXe&HAS*Y|p*-AxXM=eN)s+OF-1d1e$4(f`@wRqfoNcd!gU_MuKP+-&_>xhDaQgd@( zD)Kz`Rm70cP!G(|(6F$-V6O*K6H@Pdq%9pLf-ZWG6RP8O21xlu3;p`d(U!DJN_DEu zmFAjU&ldZV*p7<%ePJIq4i2<5{%6UNGF;C#snQ?M$7RsgJF!(jXlJtzUh6un%N6Jt zo2Y0v;<5h210VuTX>mCCx15|nIfyZ3Z5Ep-fjUC$HwPfEC$34^dg%(qc58s)#N(vY z{I^K7AeK+r%F bN{pe`# E zqz*Qp)PjOr+znR9YR5`L3IA)hnV$?{@$8V*plF&x*QsKgrIt!Zx!UL19ec0TJkvKh zx%yYk)$Wed#vfs$H6%R0!2B!96Y_d2nGJZx;j_-vs~{Q5$@`PFt;G0vjs`j*4-r^c z&jUv-m~`lPa_j{uOeLl7E{~zdBPK$Aum)BZf&Nm;T5&Pvhb6%!62KxNN&LQ7`J$uq z? |F#eSYAK*?{*xlVFM0ot51@}fq=8m~r-0O^{A8ei zR#;%mfy3kZBVcR6ncz#7zS@-Dd%Udtd)GVr1Ea@Nobh-^nM;X(GjjU@I7j+cbA3m) zBlJgF;@9y-7IbYNTTE$8PLF)6u;MW*FzE%F8&K9+rEQ((Kd?R=cIM)%rzkz!a=0I8 zz%fuzwJrCJW*1$VzG2|ZaMu5Tcfec+b1pZ=EapS87O8xMINzng+@><~;AsPE@zSeD zoMzv!|Az9T3v@qUU#%4F;EaNM-o=krW|48NB%spq1os67{_KVA@7?~`cyl=uPY$BO zy?+LYcu@unig4|PgL9?e(Tp%wF)~>`hb7B0b4X1<7NvUlp%M~Q5OUqnz#|i7!j}6$ z=&ivIM+~E+QoZ(*vX6IPX!@>5qTKJlhdk&?>hO58oJIJzT-;MEA>LmOG6x$I`IV2> z8d9?RORo(>xK52iIxIH-sEs*5 vrMfEf&lk~wBV$l @5+@50!6%5s~U zYyx*YZZHYtEF_|1jn=Bwkod6a LF8_qWGl`=_qR{}wJ_=7Oq?KJBjj3{ z9aT6w27NN%^Et~UGTl(}tG#;c^Gt869#T4*gPu~Dyp< 0?M4^X&anqK!yq7bW1g(QPtxBL46uN1WL{&Orv`i zO5@fQ$!H_m4T(TCBHyCb#2QiIUC}~ETK7-R$be*{ uBjIf#6dt+!O6KC{w;Fwc9slpi58ELq_ z(Uno{-JdK+o*55HtWc`a?b5w_*K6FhCjwzF!5|*CWKw)<(p#Uc{?1>A=cg`ROQKov zoHbZo9VZU%Hp)bA1fxpXv>uxW&;RJ%KQ2+3V>6L#4%o(8UrLR#DLhY}{ XTR#&(pbnv=9dtZ|H4g4WmVBo|AU;I7{94KpNgaB!}Uh!g!XS-}B9X)Qe^ zfk*L45e>Zo#l#dG5@VI+ui#~JSnOyd@+#bfQW|=O0;z #9PoD3iR(AiuJ|% zms&e5oZrkNdbah}DTg~)M8RL|!p9Q2rfmLwy>-lv>MON&%3LmGL4FnN9NgSre-H=7 zBpwa=KT@XJ&-AB2nrVDo& |7YIF#8-e zAir#ec=>aX21;jF`C{JQ25ehkjNC#N4TvBZxxMQNicXNWi4lwt0V^{OFC>l;JBt)@ znWY j~r*(89Gn1>y~-dSnFGUsrP;=tzcWFI;)I7^EHby29<8;=7>Sb(qv{B;<9>V zaEpZUDH+~M7YfRRoy%Vf1f3jcrH0t7k^6%pHK!PzLU#S&;3s1u6d|?I&Oye7 DH=}Oe;V@c)_iY|qKs}@f#WqHQEwyzPn)2|_u&a)$ZfbWZ46coW{>JWw zX4}^KpO+yOt8lzKU->>esaP&vb%y?cx!H#rf}9HZBtL_>t5M)Y!kenkf0jzxgXZYV zg7~Jw*aoR)kZPR7{Tn6Zk4Kfcu`k*B3-6(m51-n{|B7y1PdegoBoV9+HU13O<5g!Z zhkY8que`az*H8_(BQW0SWtS|BPERd<5pZKVI*o8I!{mHWIkh5&Y;c#ofrM8PA~?Ln z!&NX!k=}*&_GB{ 2SNb@sV5O=U;? |^!FdLFNqJbyIMB{K1t zk7-p)Z>SW(7sR6wMix%yx6su0Q%#iJBr$D?Or=fxEYoTsO=HY%j%4yOS=?6;^Vb@b zGYWypNvy72)y~ir=K0rby0Ze}5Kl76W25egzmiQUukNUnb~L+i7;>d+$ENA${ 7?kogu^FkWQiC<(>z-Xg@?w4$0Osg$6@UY8#& zwV{~u9(}2bHu)Q0Caj^^318w7#h(Dg?&%ZX4_u2b^9itjT8S%*THXRvf`BI6k*61( zcDS@I^gWbcqw2*1HTj|)Ec1-S>G0R1>q2L1lBQ v^i@0Twut?l_K$cAZ*Er$K|jj5iNK!Z{K>KY#IJ** zIz#ET@(1>^I;8raxHpqh_zWdx%2j#c434*QDDxri7g9cu&Wfs`LjI^;_}b0hDe5u0 z&I+spEVuC{X)&5}D5P?y9pNou{Cwjy-GxvwO1#0d42y0z!&(nUQ>0IE>4sOB_vgc^ z1dF`*TxMOJ`FwXsJPV1D{bXLr=AWXn?rZC4=VX{faV5Z3DlfXo*FsX@c7ZQU+4Mze zYo{T)H1=|n&b-0Jw%_V~+!jWs l#vFYy;F }bD#E-7#^p@cvC_Yt_5*uB_S5vE6Y&pNrBUqbyhO^Hkk z8;YJT*djYHlm*(%KoaNz>P}i%*dV(0OWJzRoZ9=Fv!(aQWi>Tk;&|6rkx7R(!I`E& zOft~zZVpOA3kuwNhA%AgsDjb*_DDLYsZO~7G7DZO)R4W~00mmZjZ222{_msz^S*;B z(9{i3)Zo{!u!(uuR=T?BHvkmq_c%;^ej1F^5B12%%nVl Lq^N7}#$z@6@ma# 964Ul&|$HB>|4Ty^~qe}KL|C^?cyR`^D*r;zjQ{E33Q*xZt z^8Y3m?xd#C`DoURIgx!4eX~@jHC4x1>3P1uU;R{UcDvyDh`!zr-Yglo0kEqcpY@lj zz_Mgq9?X?~IXrPXm@U4Sul}zoV&2c7ZnH5AjIZg>_?RhEX2|n(c--vke?16twwU-su*3h*-}e0O*vQy&;b%!_w(%^{`vW4IPk_B z$Vf<;0Hm{W&`kVK6jnWFtIR4BU+VFC?S%dJ5lOKIU};1|^SjyTk8>V_i2cudqXAF~ zDiiGDrY9yQ1^`;f9)T&A=fTAP8_f0R;7p-v(@}jMkfasHQ)$?Hs`>BtlUv0`%Gu zip8t ?cb&VUHh0L?eie$gr{Bsk<1g-GdI(kO1H?9e& +TWN(B; zLt%*GS&lg6C6tboUWc`m?4g={UEmj%BXQL7M 8wZ|hkt8o?DNAvMfQ zgQJCS5}VEDq$45F9_r_NHE!G`M?103O8F;LcXxLkfU^_=qP>M$+m+uX&!}xfi5O_` z<3IHsqct(v>IW=9+BE>vEC3jr#`f~^F{slz)c=fJ78Xz)K?H(IQ|~j-1q>xK@Dr4q zIi{ed`}cPd4og_r@oyWx