From ea0d759341e80ac0dac6305fcded61c758be7b6f Mon Sep 17 00:00:00 2001 From: Arek Burdach Date: Fri, 22 Nov 2024 11:54:14 +0100 Subject: [PATCH 1/6] Revert to shorter tooltip for labels --- .../components/toolbars/scenarioDetails/ScenarioLabels.tsx | 4 +--- .../submodules/packages/components/src/common/labelChip.tsx | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/designer/client/src/components/toolbars/scenarioDetails/ScenarioLabels.tsx b/designer/client/src/components/toolbars/scenarioDetails/ScenarioLabels.tsx index 6126f30b30c..64609d3a5ba 100644 --- a/designer/client/src/components/toolbars/scenarioDetails/ScenarioLabels.tsx +++ b/designer/client/src/components/toolbars/scenarioDetails/ScenarioLabels.tsx @@ -354,9 +354,7 @@ export const ScenarioLabels = ({ readOnly }: Props) => { const labelError = labelOptionsErrors.find((error) => error.label === toLabelValue(option)); return ( Date: Fri, 22 Nov 2024 12:05:12 +0100 Subject: [PATCH 2/6] [NU-1836] Adjust SpeL conversion docs (#7216) --- docs/scenarios_authoring/Spel.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/scenarios_authoring/Spel.md b/docs/scenarios_authoring/Spel.md index f40fc5764bc..b616db3fda3 100644 --- a/docs/scenarios_authoring/Spel.md +++ b/docs/scenarios_authoring/Spel.md @@ -268,11 +268,11 @@ Every unknown accessed field/element will produce `Unknown` data type, which can ### Type conversions -It is possible to cast or convert from a type to another type and this can be done by implicit and explicit conversion. +It is possible to convert from a type to another type and this can be done by implicit and explicit conversion. #### Explicit conversions -Explicit conversions/casts are available as built-in functions. +Explicit conversions are available as built-in functions and utility classes. List of built-in functions: - `canBe(className)`/`to(className)`/`toOrNull(className)` - `canBeBoolean`/`toBoolean`/`toBooleanOrNull` @@ -282,17 +282,15 @@ List of built-in functions: - `canBeList`/`toList`/`toListOrNull` - `canBeMap`/`toMap`/`toMapOrNull` -The aforementioned functions first attempt to cast a value to the specified class. If the cast fails and there is a -defined conversion to that class, the conversion is applied. The `canBe`, `to` and `toOrNull` functions take the name of target class as a parameter, in contrast to, for example, `canBeLong` which has the name of target class in the function name and is the shortcut for: `canBe('Long')`. We have added some functions with types in their names, for example: `canBeLong` to have shortcuts to the most common types. -Functions with the prefix `canBe` check whether a type can be cast or converted to the appropriate type. Functions with -the `to` prefix cast or convert a value to the desired type, and if the operation fails, an exception is propagated -further. Functions with the `to` prefix and `OrNull` suffix cast or convert a value to the desired type, -and if the operation fails, a null value is returned. +Functions with the prefix `canBe` check whether a type can be converted to the appropriate type. Functions with the `to` +prefix convert a value to the desired type, and if the operation fails, an exception is propagated further. Functions +with the `to` prefix and `OrNull` suffix convert a value to the desired type, and if the operation fails, a null value +is returned. Examples of conversions: @@ -306,6 +304,7 @@ Examples of conversions: | `'abc'.toOrNull('Double')` | null | Double | | `'abc'.toLong` | exception thrown in runtime | Long | | `{{name: 'John', age: 22}}.![{key: #this.name, value: #this.age}].toMap` | {John: 22} | Map[String, Long] | +| `'2018-10-23T12:12:13'.to('LocalDateTime')` | 2018-10-23T12:12:13+00:00 | LocalDateTime | Conversions only make sense between specific types. We limit SpeL's suggestions to show only possible conversions. Below is a matrix which shows which types can be converted with each other: From 18c6315d5d047d8c41e70864e04b3ab5acb22075 Mon Sep 17 00:00:00 2001 From: Dawid Poliszak Date: Fri, 22 Nov 2024 12:31:02 +0100 Subject: [PATCH 3/6] [NU-1888] change typing text to spinner and provide delayed adding on enter until validation finish (#7215) * NU-1888 change typing text to spinner and provide delayed adding on enter --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Dzuming <9945753+Dzuming@users.noreply.github.com> --- ...isplay used fragment graph in modal #1.png | Bin 52372 -> 51641 bytes .../node-modal/editors/EditableEditor.tsx | 4 +- .../node-modal/editors/expression/Editor.ts | 4 +- .../variants/fields/UserDefinedListInput.tsx | 25 +++++++++-- .../scenarioDetails/ScenarioLabels.tsx | 40 +++++++++++++----- .../scenarioDetails/useDelayedEnterAction.tsx | 20 +++++++++ docs/Changelog.md | 1 + 7 files changed, 76 insertions(+), 18 deletions(-) create mode 100644 designer/client/src/components/toolbars/scenarioDetails/useDelayedEnterAction.tsx diff --git a/designer/client/cypress/e2e/__image_snapshots__/electron/Linux/Fragment should allow adding input parameters and display used fragment graph in modal #1.png b/designer/client/cypress/e2e/__image_snapshots__/electron/Linux/Fragment should allow adding input parameters and display used fragment graph in modal #1.png index e32d162b820d812e64ea94f37b435c2d941bd62c..fbec7074a9f3e09ef550374da03f8122c7eb3e10 100644 GIT binary patch literal 51641 zcmce;1z6Ny*EXu6AWBF`hk}B1N{32!sdNn`-CZKxQbU7Cj7WpPAl=Q--Q6iLNPT<$ z&-0%1p6k5dIoEm5Ip16t1H;U3&)$2jz1F?%brv%ckW4o zpU)4`!GGMXs@uUYA}0wACrMQ`r4OoN68d7wA63QmKi=VD=SZnz)pewpjP9?+Q}aculRh?f;2o&QR8NJ3hcIP+cDds)?Pj0D-9O2Qg_ zo^_w(e2)G$MqX9QobkzMap z3<5lGyNiapw=Xk7jY@OdYV*%;BEcloJ3gEYe{}o=^#b;P?uk7wwf{axz2d($7duR9 zYFm%CAev^r#orUs*WVUxcY z#uKXXhpnb7hh+p_R|jnT310(DmN2+5A7L%7ncH%?y`i=k{~>#oKhl?R$$<%rLrv>~ zo*n6XRqjmR&0wz6gQ%t`Y2?muDboHLlia?w`ksc?#$Z~G;KvjEzIH0#Ri89PdI<>} zvVd{J*`(lqu7|NBsU>hQz$|Ikn+#dU>MhNBFfj1RUBk*&^w+m!)Iz6xlN?NX2QRCN zb*$RAPlbfd84>l|XmWcgV_<4;P;1L;=k@NHE%!-?p~0AF^YyZXiS5 zn2Ts>!Qae#Gvbg?!Q{_iSEbDj*&O%|kN>RB@#-(t2tqTQ>4#T&hmOPR`6k6wZ?se^mduMYA=G0k1wR>saQx9 ze-n~epI(^uG1!!t;g<0ms1F@#N?-g?wuFSNZ`B+z9Uqg0rap84&tp&lMXl~sPH6(#gT7`skop#!gP=#E@CFg|(FZuN!J`-4f zQf7aIMe0U;DzU#}H&{=uNX=og- z%RMKB@ffh>N7|Yo5VoUbE4}A}E(b?*+UrMm%1j zlDHuy<1GxXPNXjwx6aWmc(_`foYy^Eq8<~Q5~Y)Dp2B?X@suHdE2K*_T*_`uOARjT z?cuT(oLL>KuiO-o*y)EE9ZAxn>*|yp5sixx-3CcMI_8s=O%u8~te+jKc%1OAr{Z={ zMSf(}uh~_#>>WG3A{}IF?3zwXif7Hqf$=~-Q@*C$1iqH%($?|vYfM6ayJ?*e4sNS| zCv`)jh;Xd~BS$DzwTo$+HyXT5%o2x+Ur}%V0dtX70M~w5Fo~O)QVUt2!=W_u#e+Z% zfy(gJDf*z1+o*j$g*XsMO3gh9HxT;YBBFV-sp^8Ig0OSsHmX+B8{f2S5i%P|%}cGx zKIL-|!l@1zVL)C$vk&%k8K^0`eodV)IPiUKR0n30kyTvNnjOl1Y&OhwVZXw&UsFIV zYBedV5`$LlUZJ;crN~N4P104`eEn(eI|Eps9S?n?OA$@dpFh$cuS@Z&zaGE!;x=PU zt(LF{agEsX($L>#QGh15uG*QK+rQon%LKb89YXf?LS@|%-l&X1bD3fAO{ zF{R~ohsK5K4E(@2$THUuJKGhEc*#il%x6YLNAsr7R4=a&SZh?;(BAkoIPDDk8PP8%BUf9o_7_q+uy^eLwc9$1ZgJ=l z)LdyWJSPlZGOAh$N|&jiHJh|r6AoRo;Y%yRWT8y?$l!F zf9Sv>{zNbj7#lCScvh#nZ4VjF&Ykn5@R&C(8PW6kKF^%c_ewdW!~Qf|N_BndWHxg4 zY9O<*sZNv4aoPCZR`QevYQw=!aTvd`MR_1d@W85Ns5RDlxWcp&WQ8s^+5evHhBY>_ zUE)x+v((9;bwra64Avfe6WbxmN$-BfB1{l-D~TF@Dy&i`JXN5|)b3UzQW>$z5 zCRxcS!~=QAlNzZO+N~45{edYiKCQ==1BnK#)XfzK5vlrd_bk%f6JG z96>6Y@cEAD{^n4ieq2I&Yf|VfjWBI^jFQ4q*AX8p%wp|Pg!ley5gp_Mf=sU@wBYEI z$%>LvON7tgv$_Xzm5d3fb8YHd`Zbs;vn^)DUP$=wUFJ%Q_a>8zg2@~kv_a9y5x}&~ z&3S2}PoIN*&C^Ry(Qr8smbRK@U?n2O>xiV(wmV!f zy}ib2{ia~d<+3|31&jmse^{WLA#ocV<8|-952A%$2ZG~+I`SIdAvnt`D+<|vo$V|M zrXnWeFmrOv9P*0q-FNDh+#H52U%>KC+Gxct zgx~dGaBOX*Bnw5x|Kj@7utzt$OGPE`b&NNl-(|Ke zXUnA5V<3I@(7|k#rjxN)$BLcrx9)Fs4wrm9?pxg|T!2T~M~jN5 zYmM1k0#{aq#c>ei9sk|Mt*KGdp012)!dDduIWm$u91C-fpgMolt6pT**LC?ytpg)w z_`72*lpEW!D;_girPlN{>j!YBM@^8BRIcaEsuzjZe#Apf9r!&M9O`>Z%VVVha?P(#L>(=;3(K!q>0Yv=XY%fS zGZ80&_RnPV*&+Fe1)W|%6Jd=~A6;-PeXasE9YrN>F6Rc}A}+Z8-Wbu4sRpJX5KZBu zDW|C+O47@~$PHI6*keE6w*Z3zIQ;#LDo3H$6kcgP7Qr%;U6a<@x!l!T`=$*$vNWDy zMQo%r$ZCoz&}3=Y*4_MXZCi%?GbX{{${k*n3Xi8=b@eqL=W3md&oj`N^)G0*NHyCi z_*%ep9UMEybreB#1@4lES~Z9(8Z|CxyxiuWa}BS5uWk@OAL_u+QD~p=2vf%EbWVV5tfY1AKE?xO9i6_6>tO!G)Xw!il?X47M;8|lbRsjV=eyLI z#><&JM9nzMk?WV#GK&2E+7;wvO9$#vHPkH6`A@MrAuAVGsUO@tJeJ2{X6i(&x&y_V z*T%-C75gw2t9d*Lm`jWXI5ct4jP4`2nz6}7>1Oy-d2b_D=yEK67zIvP7zG~%4(mqL z%xAyw5B=Qennrq~KBkuG@t`#j>=OSni?7{Q75lP&#FZIjf66VXTy_h z8*cp?!_q|;uL8Yh!@}i2(X|LoNcY#4G$r!$ySXBL^q3M30J3=sJc%yIuoa(h6Va^( ztI^QXLVxRb_dfCxk2o_V6^vBDzfp?3yio1vOywV;TQVgkeZ zUgb#gFaGy_s8tBq_GvaHSk2W0R~6ArlGbN-nHuKg<;K|wJgAmD-5Ja=e3ifys9Y=g znmHrG<nuBP%G zBO`I(D&WpmwiW{AT*4>>qe||vVP;4dV%CABSo~_ zB7}aKApc`7K9p>%z>f2IC@|&h^0Jaq3Z2dA_Gk_W*t5K)xHe!yAmSQM)d`1b+gc#{ z)H^F&Zw^G&E|23GXeONeUq_9k8hOWJwT<;>peS>XrLmNl#znlO~Zuih+Twl@& zUbLteTfC+JNnQ{gjDk`d9AX_+#TCZE|3c3-3=Yq1Ff2hOIF`_$S z9a$5ZrhYr(vPJn~DJcnBYx5ZOMhU|ssYH@~S6Up7& z{?uN7M4|c(*Z`eqlC(Welbtcv6|k+MuCp3nJiPg&QpqeKk!3v`%1D!eItiVp1ndevY_O4TCa(42A3nM%L9cTb_Ns?L zvJ(<@<^lc$N-_?NDE5=|2SVq6q(P)gW6t?dpJXy{~Cg&ha26iMD0N)Qx>N#q)(zA~qKR!A?$@Nlx7G!wnX+1~UuRuAY z43Yz=-mX37-VM~~fGWG(+Z9V!pgQ+so8%pw3ZnF;h#x{(ZAq@pHtE3iIeP@+s%hAmno#PdzzRYq48 zr3_V>+}Ey>IV)796P2PzJ*ZsVOOVGS^gJ#F5N`Ui4In|=gH|0KYu>ZJgoKZdk5^^Sc17hivXxOI-DVkSoKXu&f>iXrhLAB{&rZOaJ!9cUDz( zBwrgwM_iy=L1rVvU_Sa&1-q5qu0S`NEXZ)t<#^Qm%RMyd|7{Xq?p<>z5XgOQq`qlr z*bSRU(1$lJoob$J4(2@oI|TtxrbaT!%FAZSw0h_;7pi!JwZq9o=I7rRsD{#Zt{@>7 z7Ibyo1fmNL0ldZ0(&mmx4T_Tbi@O^RCx^$!Z6h}HAYUcs)wkxi8Q)l-`^G5DWG8Vh zam=TSB)8?fZ_vKxf`W>`p7lV;aUrecFzb4%+z8jk%+W#fWW?08?wENga_7V|T~Tqx zKU&nRkM_K5G2M3v{#JP2&Fn4|I1wrsW_UyR4hG!({zO;}4|Cb2Rv$hFF6VyR&miw> zP9f86PQmYkFW0-y`(zw0a*P-+{%~L0MVuh>tGL59DX2uhrg;P%j96;3AA=$qRf9bh`(i%)D&Ag6NF0o@I9=_srwo(A0jhJ=S@g)d2Lq8?>zzJAA|1|uAicP^Q4Ww}}zi*D0(0CTL zpw&?)W+@}3;WFJ9hLPK9xvCE&ajC&6h8JC%b6p>7N}l9J=0CxgM`#PG!9HToqVVl2 z7xt@$oA>!Tejd&i4z7(<0PW18V#{0Cvm6CuHO7GZBl)^75Te3iWMhm*Ti!GMLf4aM zqlJ2bkDfQr&gNrJnIY_-H{Jn&b^}$rZ;$?rG9=O2o*5IhH#@NTWrL>}_|@RI^VXZ- zDi#z@ES8LuJasc)UJ2kee`BY72UKV|R>_sy4_`W})J3;HY*Dv63l%JEaQ_qkot78`e$A83~Eda|0$KIXCm zq=Io*>x!MA)1UildcGLd=|h(w9Y*&~{j%mwt=j9bUi*y=U)vx)+`sa5hwzBC&ib*LcYiP9jiFJ0dy;=pU@4K zxORV25`-xp+wk?&1kpoFP}z!Sqn~#5iG;6BhPpipr`Vly4bkVitzdKilhypof@H0R`A~(KzMl1& zEPVd`<|I15M72FHp5@b^N+U+J;1?lEV0La-1v;NjCC&-1%sS>JKWK(cU z+t70lAL-85vAQg-cXOX6b(+`p(Tv;ei$}Zf7g|WbFa_apq8woD_uasUXq`*Iqz0}3?J}MV4wDv zFS~p@g8Bs?V&WM8IeZR)^jFZm0EoHFT$>Qu@||X0zZ6hj^OCpob4{izgF_m5{ePc~ za09wOi4yNZm&)_(>8fbSkFMrrlZ6VmsdJrfP#V_>tq6;Y`}}7%_$m}#_zxlAuTh-w z|9!v1MO-$NhlLjKnisTyUA*^ib}^dse=XDb-(ge%JDLQWQ{3sw*6^Z`nb;t6?$mL)KWF#9CWYxkmLthOa4Mrgy`a zgdHA0q)xDDf2tUuqsf)N75qKYsN~AJ3PMZpEgj?fGj#|cJZFBA(gtI<%*=!<5&5=) z^6v>=%ubx2Gz0z=bHt7JZ#58K9+%WByzhJK6KS4eHB*zAXjUg@Z;uJee6iL+0TdbE zO$&D@VgN=030LTRls5k8Xx(24>aaLyU;OcG%8`(e2p@nmP`+q3+LPy*J5-|2jfGzv z)D3`+&SBHwU8jTT?WhGjzZMU!*|gjWKb31(+er5nB|0wLA3L=w zF42_=IFq-~7p94nFVYNyU^jlg|JhW2Fm4ZstBD@-6i`@+t$6(F>`Hpjkxf zq;3mJNl+a}fYzBHT8!#<)5xD1XZwO}2bHe3c+Ae06N}O1Q%&3ovp+xPcj<~r9gS5N zY|RvqQ_fUDx(>^*;I`Z#$#QKL>uE@0k&A0-3DjfYY;0}l<(^yXmW}3rNXJx)GCnS_ z9WFZXe(@5{e``=)q`_%P)YhYgg6K5D)x%9FL2$yqZ4} zk$Oc2wb2zgId!$<_YlGXm>h$eEz9J@4s>~d&xr<8#;CTKr)ca_q2pjQ%E`!J5~cQc zRQ}H1V3~E112HxZL`l8$BOF+qDoCTRT3Bf6Fc12@lKTp+m;v_Ot>D)X(L(ZP2QBo{ zA0VCy3I;1BdiDRs)&`wD`2#B5t%(A18xZd9BQNap*g>=OVg=Q;(3~s*clUNkMK?4Hw) z#Si9`Oh58uvfhN9ud}@q7r!Axr^yuu2n-r>D0!vVpUTsL@5&g{IGjSwdwhuI4;q3^ zBQ|D#Lb7HBOWC0LahX}RB{muk4vq}0tQ}k2n&%^?sHQ5&xus59vr$`YN=+=F8bZ%< zE}anuTeZ*`CCyM~wqPjm%lvJkqV)v;FM#{kA_;msF|b!EejwPVzg6(m^5Mh7l?r#; zWx#pw3twtptyOD?TsbiyqCF#qXoF%wl#i(1hyfK|nqy7f&G@B!GG9>G^EG~V#+a>& zjU^t}8yY$x{@AAlKF0e}x02%G#px`+G|dQNRGUUd2DH`aQ3P4dV`!;;FKe;HIV+{R zL09?0b8k>$6zt;ZHE8}6lvO0ZF$~OxX*6xhS5*4=vMV>|4E|<;FFYj&jOYO{?nvAOdlWpGQ5So)tXZWQDscgP7UT#s@4V!Bz z;oz8ZK$_`kT-^tUT*$81h`X2y^&Xl3;aQ6-nnA?q{W%e?n)AA+0+-9#_LdWel9Eo; zy#)0cMg}m9PdeEQ7ZSwMJ@QSl38`;=hTOGAE#+D*3=3y!?~QQRX!-ANOJvU2nt+U; zV|Dh6_!R@gb5;?*MzQv<$IREpIC2d-&9?b!1p)^HUdcnP2W#QBAImpeHQPGUX-?$@ ze4$i;jjTtzEHgZDVI?A2L{!Udlx?1@f$}#pkh*VmCP5TMVG6o2!}e-Oc!^!x+SX^n>=t*E{Mbb+R zHz>T|-*8C2-P$O;F+_vj@fFRWJ||(Jv3bV8pFquPwNxF?veF8tr&{mKtOi|vT55_u z7GBr3&Y5uA2JOz^OxCshPO9&nMZCi+dWr88xH3 z7ksGgQBB%4A6Hwt8#?p$7Dp^!Jr~cn3a=GC1_~W$V;DhsMl=p}57;49*hgnnbS)#$ zTLL-`um?RkW|Aj=a`H83Xj|MNvxGPlA|1JZ&$r$d5Gibl{!s}F4^QT_XST_35ww+0 zZ~KC1Fj$+;M9pX3?Ua9?Odw1>57FG(>aRP*QK)mtl{k{40=C!=>#g4n^Itn6(d+Vr z75Zh;+f`}MV}Whx;wtAlNX(~Sa2{d8_`SHHs69WMqOjR<6-{9LU;wHZ$HhbY;_*mI ztj*jPTFu&9EX<3o+|HL`?k8&2?Ue0+Apq71<-Kr$^r0R|tD8;$Z~PWuAQGOEU0 zy^11e3ib(R>ouRx)aZQ0&xdM*;r8Ji|yh z8PmsWX#g5XlcxZB5-&;_J3Kr4ZdCiR?sWeiAm|le(jCohpMryh4VYo4PvqT&=OP^{ zI(=I?grHtZwp3ZQTLj_&(DGOZd^#|3BzPAPxph$>L2)FseSgU>`#$jq_XUd!uF`DU z06ue2|DskBU7}fqAp~;qX=x*Z%!e(rPSk&QmqJAM`1KC2RTk)J)O$MR>X+ESpC-mX zS=B5*6$pS+qZ=CMFX5-M!I?oUJ>70|LQqdhb3u zQmxpE6w2m9&5MhR>oZ##2t4@sc);wS?|z8D}li+{8c80(qHdH3ci{_sj^TV`mk{i&T#f9NPJ{KKQ4K`&2cNsA?b z@qelpwB-I&&lh)b!GS)$c+i)|l?m_;0p5JT)QH|Qj{_ghit-DmBlS97U%UxME-pa# zG2vy}k;zs5OtA0m>sfEg$`<-FdH;qP96AO@#^nJ|DHUbqu68f4x}#GTsVPnooi4T} z)p`q);;~qhg)-wQSHSYbXqG6gf3l)zw3-SH=~`%hlM^2zCm5CMJ~s|$S!f7YDEFFy z%+iR>K=@-k;w{UZ&A35bwKlYLj!#JP1`s)PqL+Li?xQHp-qCKvV6{3gGk;ADXs)a{ zr4(M8bD_+j;_spH+sUT$Pa?hD>+$Pfp;A;N@_J0pmD;nG8PItZm5_Fm{yLnA&jya;UBsc0>ZU( zeU+OFFpRiNZ;IMEf540r5)t`@%DsJiH_O>_X>Bbqq)WdY0609#+H^&Q-wu`)^M#W~ z{B(4+QMQH`XD|O)d*UWC+CvYg5Y(j`tE|jaK^WCMJCP>mq1HO#U_7C}qmLuJ|J-f3 zIoC;hspul!eu(5!1DUA#cnK!w?lWr?LB$c@*Jou~Cmao+9q7-jomS7A^|W!k$6^2- zpiuct;pl>+v9Q;mDH&5j)c+D-<#SQJzDX(SCe>BD!_hW%5G7t^P+ULJ)HF+OJalw8 z890%;+UY+hId5w%)T;V?b#-t23LaB`iEHG3-CrZ`b7nv8UGbHGoa% zIrJ1>Y@@OAXnxpK5kz~bkd#WA=*2kUGs1%l^fAssTY6^a0TS~*z_CxCqWr5Z+j;+xc8l}!#ba657T z$aS7DNZ`=#w{j~0upkC2)rNCi@qF>}wYDUE!MW^iE#2WoB?e8`y>QR}7GmEb1wzO(`HO`#%sd z|2>V~e@EB%|LrxDKzCTfnw%$NZd@^itltF)RXX1+g>K?8fM)UirYjbcC}pB*KevKU zYPV==q&^6MsICNn7$FHXH;4^aDdd(C_l};*_Kla8-h#nHJDtz+Vko~qW+HC&yY+-PrpOJ3)YGcc!6)w zM(R*^cYtrB!Nh*79dtfT9xT~2C|19o#zBuO_(xBin`jQCga8aW*8ikZB_H8#2H6Y6 zzp4IA&Wm#pY0xR@xj;fv6pMq>EtNT5Bwb>h(-x|{YHxpuYO=uOplZq*UA_dM2fa1h z@Up-M8Mt5sgmXtF)$1`XbpE100TVx6X){n*lLue!eem zn!lFf^S!xOMo)lrAHhLM0k0bFiU;u0@g4~EHt6;Ob$|va-g-a}2i0{j9oL*sZ%q2q z^3JsJi~@QNx;uq6kNF*hqCT>;)NB;b03K(hX=#O7)2Yc1ZB79$?MYK^e!r8fM4AA3$L6>`cLk~y|g$;-`P3my5v!iMM zHKE+x^lK84U!sWmVVK{b(kwG*yO!P#a`^PJ@K$9{VMn?h*G#y1 z9CHKuz%LaxH^3Dw-1R%NntgXD)N1;7YSbQ$J-N@q9l#W_A9oWc^X!NPVQnhZ3%o9i z0Bv7e_1m^CSYD~=HQjWzjUrH#7}4FJ8ikS~uLD7+?T20^erxdA#vZPSQCm`Xnhat! z#t^LxR5%HS{s+b#Y0)GirkntS-N(RiU;rGz*&N5OD6GyR;7V0{v;NhI#3=P6YH`h- z^kuY+LC>!}9a(_%r41O&{n8&n!ePn@1ZD2P+{`SrEuUt;Q2|Gwzze5LKiHQ(^ZST zYnEO8f=WPrQQ&*^pgQPu=PQsh04Yrq{!_=VNHv-Nsm_KdI6LWQ0@L!|T03}OX6-U) zuld672Pgp};DJCRoDEv?9GoklBmliygX<3KG+FtMEvNFUOX@Pi6^E+*Ss(^dD0}}9 zvtwZ)5ol{(F*8Dj3o7`iTp#(0>I0JTeKAQ(<){D2pgThkp?gz+NOg$}J6 z_4f!TTtmwPod~@1zl5|eX0cigF84{85BhF-{rBtA`A0J8MV^QH`d&~1PP68{@;6al zSBqBQV68=MTWt#yi2$SmR>aT4h4iRFHhhpI^Rwoep#}szAXEI@p_I*QT=o2o5$LSW}251Ifhj3UmNYDdO=Z3>W9S z_s%*>c>@{^-}UBFtfr|XRAT(+JaIUk45*1%uZe8glq5k}_F;#|f&1)*ZG(Vc@_~;$ z5FrBC2T~}srRCk#wHE_5p|r~YKk(Jw6GVhDa0kT<0R<4Koh&9|dFM5oz(KA%-2KF3 z8%@K(knkMMLrrygRTjLyH7!v3s>feD2%as92e=D~D>K1Np@p5H68+OT;?xuS!4|JYo*1DRAWl z4k2TDrnx#DVX4wGZcMJNicRFiVmeEN%lX)<%Qy3F(LtM&z=hYj!|d;1=jPu1c2^F| zCo#7XDkXD4i7?!XOwEDzFuAa;Yh$$8y50HrMatpYGdSN6k*$a9LZyU>gd>;T=y3O` z`h2Y{qUtKjH<{$YONMTTt`&|618W&(Kr%?mxrjqW;XofKfpfMm+A{kfybL&78Hka3 zzDMTei1kv3IY}V94L4c)9eMu&Iy(@jgSz0T{djD&NDWQSPz8@`{w8GU9D8xe&=tsw z@LYDInyu$s*xc;8bn9-{34zXK610e=qB7e++}P|raB~=C?@3@1leG|__B!T=R`Ayp zUYK)n>A6Fv97SKQFRHBjRz-A5Vm*J=l$jIHEu!`3>3^0X0Da2!G&T^9+PwrqI>N+w zAU?S}3-ZSEI(u)^Mv+h;e*q;@An2|;=7a0U3m4jU*hCaSk@&HAMtWkvx(sAB_S*^* zRCD$1-5aprqoMC5rQnk`ypiOiE7!dGG@!GwR|^T5cYO%-G@vQ44jRau6$qM%JiX7| zW>Qx1N9+tcn8^=#Zmg)C>`NKv{cTsUR-^M(8U#MvV~mN73ktc~NSEaw*!snnmKPTv zasOw)=&CA0lsj>7+mMiO%~8l+^j1$e6|GD#S?J0epe&pJt0#Tw1t%5{%lI-f1;Uvw z94^QjbQ;jBPsytd?FG`Ab$+J>$|V}*tJd5D2ngPuA#czk$7Sz%wd4t?`R3S6{ifQJ z+x|5aHUjcModHn4Rv1s6!}tEcbs7AicZLl!%b4fY-q{x+ThGV(wJN$P%p8oO= zl4+Lr2dlJrs~~f=C*B)>T<7!Z zo-Hy4T>cjMyXx35z|we2kgf@Bzv7)YyCFXyI2@wST&bWlZ}U7^<=Hx$=wj zmA9{`?l!RF4gc%nFC1y-5GJ9R(41Du!;WQzt}}^fP1e-=VujAsi=8nE8Q$hOyqLMq zd%bdTi)D&^#Az8qoH?VOWR?H=h;+KY*W{X|98$;aMB?>pVzEe=2S>f6%_{FKvuU75 zC@2s69@_X*8)Iujob)-5>B_qLB{B5VO(jH|{45o&lFtnVRd2Y`$9L#z81l~qm{SC# zC^Kzt)51Eu?+0K6b9fIDa;|WFa;_>b@}e&|o&cQJV6~?$-5IHru{7V)$PZrSdtBSv z*_BZc^qPL`X`P03e^*MLaL`;6|tF3MXhmH@#1~0 zF8Mq!BPqG#gg9Yh3gr8vagCI9E+q} ztL;|oYcrij+Ktf1k0ve?5E1q;pwSI6agf7c{%PO)3t76r=LM$_#N;BYSLW(N<3la5 z0^-98H8cBHM?;}$BK!BC#h$?^V;U@H6YzV_K48{8$5E3^@5SvNz#%F3yS`$p?aovRZ^8AbVTHMt2FC5=*=?IPk0mPI!HBMTK=EOTPF zd~Q}1k(R;klbRTEvR3z3U#AHD?q0l5oAc5$HCk8o_s!VOQ)gb~ZRzu)LhsO?t?vlx zwLIKurm~>`RNSeH*FLf*2vbO)y>*$!ANR4mmp~n|Jy2uT@p~|_>!h1OePjlQ-K8|! z8V*|lqXLe)yc_ph9zok;-^4%2_jG5JN=DkWwT$P3QxVOu(rgHErj@qjR~C}!wRV`N zJiaKIJ)Qo(R`+}guc($q}bN+3&!$_Y{`j=8fVCPVZr|oTvHLkegBGeG$=3)&0Flj-7pTcXr84 zdFRJQ?g!f^z?y&Fs`1w#LYZeODKZT_*-HvFn>KgxuoNkqMAhs1Wa>NFIW0+Ep5`L2 zoK~ks`L>f9x1GPYeoqo{V^pk;n~h}&>1uo$zxS;?FNq*HEv$E}xvqL$S?hzemMTv$ zXX%DC%KT!ala4RsChA*p`v-8p)o1&=BN_*qL8%a@pzTU?EG82jfFJCqMv_fSXvUn2RPp71K^u(t6lQTJAJ-Ucq zZ_C zt$Hlgg#TwuZzW@id5hzM$48oAT<`&*9K|yLdnV z!4qOCF-@Zf2?`&O%=3Rq>*GAWJRm`8k`%J^EhW-tAi{(TrWSz7hX$uVkF0zzD+*;X znIVl8`1;vJUC_GNWm}u@NMd^G~-0LshIStK=FNx}GO)cMxD>Et|@MFnP zzOm^h5?@_tm_2+hc9|jWB+e{?<{7oxi%spY6tTk>A5!{>q9~F=R$PNSYFyIilZ$wi zn0X9QswI}!@b_=O+86CkBktB>D#@QdF)%PBL7$`j_AN%t;)EmsLsN)-K;dJ&L@8#o zi-wk!-HSRRgTuxia;ENWX!DKiPA~u0oF6uY46|>{USgY|g3<^JXNH!PFl$NpXUeCw zQz~WT)V2MJ)m`^d?hRrHo&lEvgckA*y>ZRGAc@1649!w*Qd{kv-UpGVk(UoO)JiiP zgVNtZjCs$-i7H?}KLcMgIJAXId~n2WcQ%O_5V(uxKOitmDNoK9I6Ao>fF5W-#zR4g zgQM=?gb$9#tlRe3eG+u|EUWmcD9Zx;>j|u%W^r{1R^c|bqrD%t}`YhC3hE3{BTBlJwoXLieYz^!WQ*zXv2!w@draFX8&?%|>1tmR@Rm{E1(xg}VK_*WONWEBk%aKl<8}YpFhczvw znC_B?@y1lMW$MXH{ZZ^ORc*9qo-Pll`+3hxc8AH$^dkI^d>@S_YwOq5%Y zrZWasHI>vjvV5^+8c=NH(1BkzCv6@MoEH`D`1Ju(|QI!Ra+Z%zN~HBX?0 z6pKh@zjMSMf66nihlvw`N*+46vEK>0834n%l2=w4gFNJ`inpPEHc1pPveH5?z#L|1 z?hnoscFjxeE|#el_`DIxj3c4@hX)4D-QFD_PZA3;hK$Vap(Pndg-UN0-f7% z3}jYv2!&ZWggJ~1+p8S%?OXS%^ysftFI8i^Ry#I&m-Aua*?|>FGCgXXH}y zpSb5}2&AJGa;tKwMA1|sYJARvFYvSRLog%rTpfs_qKMLLh%w5m*fB=fF#%E-UUK1l z;ruM?>`6I3CrSEi{1JA39aLT%-CyjaPm_^#;>5(WPkX(~orj$g5por7qFLCb+cibN z_ENZpc&oc!T4`Ux!+~ue*^L3U_XFE0KPT0-d*+XIne|T5tA&rbg3iei0R#izDt_lN zo{d4vtG$TB)$5zBqpu>Ct~s%jfvzz zo|qMyyFYp1w)NQ2?Y?gIux?u^cjSyXE(@zaeHF=j=+vZ^*EDZ;=x z_pL=h`%N7bqk6)Bt#UH6cZH_Qbme=TPmo`8Pu=U?>FVIt4@2;1S6)_Q+1t2eP6Ha} zC;>hFbJobBNTh~FUD>{F9&SocJN-=>k2-m(Y;{?c9U2MJnrR^r5nA8Do^`-SrbVt% zzVaC0xuY#RLCvoxB5{ACHe&5XJ6BFsHMHBxDSI&i_JYuzQzP7I5zRJ_^UCe1ZEcZv zuy8&h8s1q@INyg0+sx0vzpDLJGL}Dk_%qdVO0z7SfHN4tKYoBUd&w;q47WdrriuR5 zse?+qb$;IKQv62z#-wvTa+Lc$r_H9*8L!VIR))u=$gx~?T=Fn+=4D1bS?1s(yT=RD zqwH>VyMZ>jsReI@UZm0|I}&013gpl#6Q9{~?iDXdeXzo>C;T1W4*Qz&z6WAa^!4}^ z{6?EjRJsDVcri)?!r@y7-XYN@npfe0CVp$qC-b`>C=dhbj`%_5o$Sb4EH6L|`GPJZ zP;{E1?rFeR0yxO`l(4Q2<(>d-%|X;ZUv+^5om6nk{NEo)6Pp~ep+mrrekUMu#D5dE zvVScxBSFW2poYAMPs&WntLa1p7_RBBa6#$RE=gYGomO_fC)wwvp+sQf!?_wziO(jQ8hX5X(HPY; zffIWz<#kRbL57fN|I!(Mc55E25g7wzp%UuGB9n?SwllFEiA+W{slxBtjinWiHmVhpSGu!W!JcMn^6=?NVN0m z*hIA{d7Qnd{vBjieb5Aa*s)XbQEDnb(P>nuq1`(nCZ=O39iDI0xP=SS;k^>3?_cm@k;}R`5rT`Ot>-)TgV4_=1nE*zgK%kC zIKMbw{@grtyAY_xqVCA~Mfg)|#*N*K_99Zjpt=3}l9QGzoxL`_^71EAd!J4~NbkG< z7q}r(`EO_Y@|jlO%C#iQ2h>19SH*DDNJocGttG!+oPFRv(P zGVq(i>u+0!UF+a;oy)aHbU99DkZ39rbgZyw*wEH$gEN18)vrNOR%o|*{_6PXvZJgP zVTfCZ?a0vEW6dKsUekk zK)Y7Clh=}yJ&9R~MxnPKIpU@)+KR@?Pkd9^qY|DzwJI*kt`L;WXnHK@QdaIj4a>>p zRTX&5iM3BEn4<2ob|hoZu%h>{eXM3%MZ_#S3*DU^av~$*J^A=x2 z9w;c%H#|i))3%Pj=VN4 zW|F1?^ykt`KTY%p_s@=NhiKs-3}wtW_@j{~#J8=CVsfaioGDrn+}5ER2$|ubUG}T>E$_7E zY<^Bpcjf=26J`v%<`0!&j%43JYgzG=f`ivMd}O7Vc6KOkZuY0setw+MIE3 zTF8bh4Se%NWpHVzt-1s^E%Qxw}|8Di~0n|5Fdw9mRsY3cZq2A1Ew z`(b6BTj6cZLLpxdsn4F@`xix55kS?fa{G$~KVKv{OyZeL|6Hy`L4~U7fmMa`IZNZ%D)4HIDTp0E6L=E{QN96 zGUv`Np+Osp#pAC+uuy!8>2A6)-J`GEA5Q5=4m zp$!Rqg_RS3dj%a&*1`>mZ`^Fn8SL;)Wq8|xCsriF6a&q&$nNdxIJY=5DsTf<@QM0X z3$+oM=s&7-(F_s~2OWxwGCzgk$L2%(0`ySFO)@&4zkX;SCN|rg(YMkx*JhrRLk4cN zf@i8D0Fl)zjWboeDy0YV4m$C@j{SYs&pNi@Sgy^YdosA!;_am1-U%1iJ z*7YT8bg^mi$4to~|05nEzy^Vz$9L2e6+7OYonYV-2xpt>f17zpOZRYAhyMGxKVwo# zc?25$>Tq0dXUDdhx_S#7hlxob9ihu;_t>jvYcl#Q=8-yXGMZd?fOW%$qvu!^rPyll zuB~iu#~WjNEcV7374Pda^$l6gD;bURhI-*x>wfjuJWh1(9a{YEP6&UwXXM3VDJ>#a zjAn|W-!;z~>}wFJNaDnx@9bP3S}XVbF8_&$C*atT5+Y#BtRrGXFFMx{(YC^6MBeBQ zUQ=R+2Q3}_ym(DyTyGwkU(rm+%4@c=&qms8>5lk(@U^9-*~WOT&-@M>ggm8&G&1x! zCmNb+&4b0PS}9DSX$Z=K7Pzrs|GOSWy3|DG7lW2JyRRxi)40Rl7X4V2GZEr z*Do&-V`HOZVl+iZQ(_pfKpvgV>poh~ADNw*d?iSf#uHij(-C|9;Y>)^?J!{hC6;ij zsg`8SRvi}UsflPgndjV|*Ley}SvXMe8`y-d@2vk!v3IUMET;v^nm>P>E>z*VO|m+k z(luRz?>`!lUA3+>HC=o2 zu3N(HITD?P?ATZeycrfiP_-UFAjVwT8X1KfIzIpI-B4g=NlM`dQT4Ip@(Chg6qSfc zQDIfa$l3ekEuv8|7$Mz8iV6eb5{6euZOseGYzc1MLDtjhH85M%P^~Jt(J8o~VN=1& z%39X} zA7HN_bi5CWVr0hdBjI!Wo1JDkAD$bDr(wahbV&QJy?fBwKiDtp;Bkv|`fej580P^k zE1-W)f~O8B1bMQqxGdq1SjH5`0%+YDd*yLBacWM&+ILL)FiDULGfuEhh2rs&kzSGw^8;?AnL zv%0!(?d9HPzYQ6yypCcdCh*`&VRZZCQ@;R$8o0rTkWHJx!LqO4HU$^Pzo#aPi@H+# z>Dp5H=|;sw%IXR7APw{{y{*j&EnZL+UifZE+AjitUs8|t!O1H65qsr>rpUzp6tbAe zRLN)NtVl|VYI5OCxPKk#<9mJfr*i>qSljc9Q*N7rzQbn@N4}@~$$0L>J$z?a%mYeX zS~YAJHk*|j_kKDZi7eY3q;S|4-zXe!7he-F?nXhv#y%ANx_byBfWV)>iF0m|Y)`yU#)vGe0`YB0D?y zkkXD-N>;XsQTp<|q{NY$tccTBq+jNyX?Jf0A%1$lWORAmkvnj5jtf^TDLUXYWSQ>< z;4A?*QS1B0dS)v({Iu<+DzfH_tn2L#$(vf4Hk%@O7!Pbde0W~I`9W&5QlDeKC9G)~ z^?TmHuD zs5&Dvm(1HHJBB!VVF|i;HI-*=`#G54F1l+yJVd8!^G`N&jlAS|Sp5wD!MkoEAm!ce`-zQv#} z_+=$a)@Z4DIXVJOOhA|Ep!*ET*G+00Z={Z+?3vqx(S(&J%1`$e?DDr4Ri5u4BO@;z ztHm*Su8TumTy6JA<#dC%ch1oboTZJBLrY|Oig!m{E7i;Nl2y$G({I&uAB8o}QkyFRPX5vhX2pBzYn)*}b2tl9F=gX!mJ#oe6T8 z*1_{A49t;IJC35Q6MWe$%(MZyl&-GeUP^j)Kf&Hm-fjw;*1_{#?gaxFTHqpiQ~p);I4YRy}VbHD6JW#_%DJqwp?HMwHU#4 zRha%N4Dl7IXr@Nw$N}O~O z4-s+JfQYm`dCo(L;?fePlUo0_(ei7E4{h~0Fy`i|az|RNERU{)%5>ZRJngjV`}VEn zX`FW3xnw7G`6)+PQP!J)k$4kzjdAgSa58GFy38;EVSz7?nn8VzmJ8hW;f^nQoN7oRZWez88nJ&b4C=9)QP`|Cik+0*wG+gUN*GZ)4?gqMIpUd{{iu9oYu6)a!n+XE4)VkHsQWaA1MJHCGNX7COyc6qh9q--Feb^iXB z%j@j;d^LqE@%Fo_Mw&MFFWs-Nhe>0{7&|N|9A@PRju~6}D~4H_Ez0li9@w_HsBHi2 zl(XH*x6FWtvi7O+bwdUQBFcn4aj+n~3!(OVLoVktge|}?>>3FV=2&bda6i@V#t}%1 zx}rYn?2$Bv$xa~tREDt8|Mr`rkm4s00e5mfL$j=euxrgtHX;hv%2ZY9>)*eF@2lg@f`FgxfeU* z`FAclUcuJ+nlQYk>vXQAuC5*!6au8CuVM4FW`8XuR5u<>to6*20|^6<=v8LP6?Cpg z2?6%#zdY#`*E8MpblmI3#ig?YG~C{&4SKbKDOG!>W{%dAPvbBM2&7d_sGKHPgQXY_ zkuOObwm&l(Y3@kr>1QAx?x+o{4A9(4+w0*?DJGgc zGW+3*0&88|MR>UqMQ9@>H%llYOKf@WBl8i{s)HtccFn`pP&bjnIL-4W0}mGtyx$wu zt75$?kr~f!$ipWQh|I%&KqQ*Nh?O?}>EiD2>8hUez}w8mz~MsBJkwNCJ>moBTV@8n zO@)Oo{;(yXQO+}NU)J6kuror_*||`I8H9$1S3jhp)x`0mKI2_i;*pf=L06OU_7~4; z&aHez)OCRQX20~qbtFdRv6K`|B>L?BN{k51Fkw-jf&TuEPrSa)HAIi>ii>R-(RJ&K zi@5+#!YriEs3`Gn8WBfPaa6ts@Bq23LtNiV;ou z%)59JFEZc7#C~H3w^@lvd8r$J2+^-Q^%ZGiA|WR@a##@QoAiP}@4(xr>6JZ@cT)aj zdiIyn?+e^s9Zg9ld|=Opz(*zUuESc5Ed2H(b-O;MTAlj zQH-y%>pE*cCkeW;1@O#AHD&!ffj$1pWu=ak>`8&TB)g%|L^YM6NK1P;gOrSk@v!bT z{EPhgGZhu>l8*WNmzRpUH3QoE+J)Z+Gv4+NN)+v{YQ4W}!OE>pHKB1?m4Lo;S5aP7 z`nd)-ED1*-B_f0ArwgRzUvfEVBEiPK^qOdN=AF24DV3eRIYX>f5q05mdSf~FWDjcTu7a;Q;mqYEy#Rq2bj2;K#iM_o& z#P$07^|-i)s<4=-0Wpw03(duHzf;UFT|SQrrDPvi@fK@(EyXQ7MU! zb=Bxdr~QW4-j#lO38~+`K~SiGHW+%tz@N=78$J!?)Fc9UZv^}-Muh_d9b4K~5Q}vB zUFlE9G44m4&)Sg{gnh0l{o;XV01LA7+^EHa!pXVWE=6AWtq)$sm?s^r%({%u#SRQm zS7Vp@yLAN~8GL?=2YjlE_VFd zztpt&lf<_C)jB(ZUEfB%&&=b~wv8s;_@=rtazfJ(F4rE`X7kow`^vkMdpGWsV#3`S zIN!*TU=sH6MZ+)`Td;QEoGdPOm@(OSQ`sY+Yf85vi-UNet@J?P(;c&t;Lli#vM{WY zi1?KK|BIIJKfEaL<}V`(jUag(J$n9a*_H~CE7{iU-~+CRf=oX<&cBorgkJI=vdRDc zhXwBau_9EPkIZnA|3*sTy4=g_%8zVQK+rM4Y`Hs^IOTqj0(9NXliq^NK8{*|(9>oTlWNa<~l> zt*P@1m|}{`72&%b)Xe>gUJ)1C6(GRn(|iK4bv4JcIO@FsA2Qf zRUJ{s=BYM*D5*$x>M@1Y5MsYZpxKtK>rCzC&)ZjiUuQU&Y9W*B$tteKNE^?ui+Z5_ z(V+4DhL5kG_2PqN7WcM4U@p@-TQSinFVEP`e}s-0#hxl+I(Q{ZxK<-tj;OJmiE?}H z`IdsZR{P7hS?{fPdV6)7R|#sLRititx0ii|+^k`Ik-)u~+F9H_-zL2!V9Zc`Oy8-p zxZPxz&wNm@JTg7X^1kqqF$+t6Rj^o^YhW(@#Wh$_h4I~D41~h{jTm1!VP{-`PHpXz zqWSB$uiyFJxV3qPUstKi4lhHQM$68LKXYk60<6Ze_MU$?%Rg-?ZaGZ`4t4*wY^g6N zfDUEM-N_{9ekwnd)z-&9O4k zGuGncRgB`qxNu%FFZqw1_*~_iA%-+0N$f7qwqUFB93rGf$B}?7!Wcr~t7=w{YH`@@K1k}3a z*A?9;8y7MV=JYB*y9X?n^o`XPEi{y}K@Oj{t%Bx5xue>VBW!i`@f+4vydxIuVNFdo znViNgPvEpbx}B@FZZ|eTU99Uv34VgdxK;ecu^T|q*S)pRLgnnATxDV4OM{yRoX2>_ zyRd^AMaBLJIouP^aaPq0SdVpRjRUc5!gRi-+s&iS%wF5cd z#e?|U`#kQWHT~Y5Dh(ra;DA4X%^GW&$KtDV4{fn@0osSTV2nJXnrW>C_98!LN2sG>rPxG&Hz-Yxc37CYgg< z&rjXV9r1yb5rjQmvz3sQ)EOEJy;@!Oon=l>-}yL_>lw>locTnx_Z64<$#A@pe4O6X zGd{mNo2@@nj;`|jn8Ww+^Vwbya@t#Vv&{VHPRzY`a|h3%K?i1qH)3dYrCS}wKhMJD zHHN>`ez@o9*8A)ycHE8-qbq8X$$i@pd~P#Nh@$YUFFf*jPtfY(U0B4TA&eFQ&hyuU z&wsT%z~6uOKm7X-)9Kn>)d~7Be>Xq;mrjU({{gV3-g@>dVs!WryI=enyN^o$&%^fr zAi6^yW^^31M$D_8L_m5_1gF>QK7Ixtpcud?2vGiqY3F}8jh6lnXB<0 zg!M+s2V9Y@=R8RfGdd`XAuG{0P*LX}L)hS&9}INY&=DInQSn zuMvNpwYQ}*mQ53eP=|zpj^48}K(T8PO2p*TwNC_=3m`z@o=%7GLtnQ|`B6Qob0kuT z%VyB}HY~&h`*jp~`=>d-1i544;sjqJAb7El|14Dn+r8~1n2(HvkKRv==#-F8j?bP0 zm4Am6dhE>5$GpK2E^*)6Afe3w&v zdo>Sur7b+J3{Tn+Z!sK)^sKJpSIqVxWq-=i|JLnP#FGD_n5g}k%Z|&b$CSILL!&tY zwy(*Y^5k+SY{eDZ|FF9QXn zknL}KJM9wR_69M4K-^Q8$t}2ZTdl&8jH9d4$4YM^9^L);ND`*Q>|P7JTF^yicjIQE z(o?0*!o}x^d^%9(gzYr7r-DLJ_u1#P0RwzS7^SHPy>h1qDJRd00`KRgy9u$N~ z@<-XY_oUH$Qb2I1QHM`~bdo*BC8GSe?``5{YxsxG?Y2v28$?r@<*!SB!m?lBj>z1t zpb}9`X_UWKnLZA|F{e0L`~IEe z5p|SLIlK{RusHUNB8|syy^GboC5)gWZ&>T4oMPEk*%Y3z)-;b8Hm)SD3$ZNBuYG+2 z@CJf_fWYB?hpaIS?oa!)d$m8e@@R^IaDBAgqvLfawA=l3^yWG9vLn0?DI}qGt+z}2 zOG(}F0|fFhPGL{Dw#Cr09HpJy=^xCWRgjZV#&-xlfJ#Y5cP&jsDwf4wp5N1}lh)nU z*qC{?3A&WPPXqegMucxg>Q4Y>Q!C=b0YATj_h-IS7{83tTK-?Zp+8ma(v`{*N2Uu#BDD>X zl3Z(qlOc=$`7f6u0tG|ZM!XPeF#-)u-#+#tHY*wb-#}W#`2Szm4U0gB2W~nGc^5q4 z4*>H4hH8i4+L>av4IfWy{UuhYVlOP>M8(y`rMO&!H+}HJTZ6-O5nHant&u`A86u`~ zTctL?x#TgbEqIEY%z1p(y>w%w+Z&ZvqPf-#4q?0vw|{69yp`(0LE6gMS-1@WS7O3# zSmy0}ayu#zW4bsUFn-(#{q@4mpGO;tE#MjhR0e1FP5M;viVU3yyTfAmBIuHb+s?&^ zH|pmPYuC0fwzdweRgM4XxNh@?lp5tp8=cWo8}q@TL{D-5M}j*=(i%o(&n5@E+PVg5 zS!nE@Q{5yLQjo{8At7nwr0qSws5?vD<2iNi>f4w~n(AGPaizvoi;5%StseZ0Xt9(@e&F3VkOY^#|KNJ68hyS4{j}^5qy_>k%mgcA0HlE z#8SrWa4N1>DP~6*D){RANG%(RTsU$4{F&R{7RCT?V!UPF4KIGjDngMrbqoU(p|icK z<5l>nu7r;3BO8vJensjsXRcbTmLo5|hi&96F9wp_cxCMsT_Lq279F_x^}1SYPM+Np zHxy#-`bjGKhx2QB+>D9Rr!@CCZogMLxj}$(8Y^xKs|vGeZyi@3?b^Gq4mY+|5n0vp z5W*)nyci0}cXor7Z0sBsdu<&Zmv%0pdZ+L=H;*PbqSO8BdKb2H^ouyy3htS&mFW^~ zSG%~dE_w1fyMAwL>k`eiSTE|f@m{M)Q*p0Xn`XIE+3&wj2Cgi5X9!hNLy)cx?O10)VU_p6a>Uu$I0AYk&Dl38w{8s zGpIZ&wrF-E&aalwp!Zt3MK9? z>|4FvY5~DTiB3y(;;Ze_whYTQG-f4WyvcZN;(Pu}; zMUQ(&TEE)eWQ|NFNsSN@<(~O?_O)> zkVHSHUoSQx>d=1hb=n^)7330gz1B94E%1hP?(i-;c;1$`DQ!LRxHdMNbSxG}j?(#+B*QCwh32#4va&YWnoj zj5&NxA9l;f>uvQWC7bY|TZV?NNko-nGRUFc3=XoPs@4i=nYo16mp)N=02gm`-uQ6}S+*JgEP%2PhB2Rpm2u8fvo2KA(j^=0d#m9!Uz zkV_O>OupLwOu>m8N^$v$JIwd=PluV5xP0Zrt|`}XjE!4D-IEV9TPvc!w%iF=Aqus= z;PSd3SJzQ;DtP|%?%kLhaP4+{1PID99hznp#mO?$XALQ=784Phs1A?Id&RB!C=nxi1tW@i zI`rp=a!kjG9Iwvu8I+9|jBo6(_eXMQd%Ub`7}oHdaqqdCoSYm%9_VIRsw(~{(yz}% z5aCG|P^|Wlz8pp znwTLD1um}pQp{20Hk1@a3HT4*J*&3&ZCZFDDcK2wLEE&Fg~uuz74ek1cDevRv#)L6 zG}_w9Y2Nb56Xo5VAhvaGd#so-a9VlsC?5#_+jU}3d+TN|!%aVsz_=+96=9I@(GF*% z!i}L@FbNHJrgbA(oVPthEk82B1D&$uRup+=1UWLoU%jFSi!D&OUs9bFfQ+1o4T}GA~;BInf*kTM1qQ30%5$v=?82U z}mDkR$$M%-zTW&X3^+ zCM}W3$<-Pp9IsOv!wDdOMZw_6&%H2EqR0_;zX9gBA{<4I1xYdD@nwmqL$beqfr9vr zcoaDp?dq&nJK|XQQx}a0X7I<8lI+iqPGvPLT zpWpJC{_TlSUmXA7Q7fAxB$sH=-T(UXqgrLen4Z`jqqa9Jm?e01<*Wh+Cc%BquW5gO9ZMn7!UPMWN!tR_>i))LOr4;;KYR6d zm(qmX`!He&n0)7-5VA*A6@Jj)U-RLY6GbEXgF~`|@yU~ZD)Jltv2=-Zo13E6Z}?H@ z8U@?ix|TexXUc@5lvoZ`OjtKzdG;&*b5YE-Qu89rI3=DjF6zsdUbxOcSqcgMi%qcRPC={me2k4Xgvh$rAqj(GFO?#)k_ zWgzmd=~JUV3C}_eS^D zjY)#!OLqMrD>V*DW%s7)-7;8KfYfa5r##Z`&6^d<)`SvKxV-ixHEujU?FL4BrP|pR zBlF=H17!D9aB%u%4GSMxvH(!&oN~L<{2?6s^ZvjOK)%d?JHja5rGLl5tB+3)pPfyg zckg+i>`@RH)o*LBerJmzzWI}f{|f#9M2UbCBm7n+Sp}89!3?W8THAt6o}4(RWo(CtFkkN2F4i8sT>!R9_djNEy4eddHCG6tSKtSpwI zQ9H&H5-L}H6Hp-Jd`7FnB&fHPAZ7L0~2@%cv^_N13&&clxy`tiHvi&2LFj<^G zR5o|^>{`)C$rhuBekG{{hRwA3ymQAxEWq=K;aocBdz;eLWKg;-hA=q>_p6BOFR|{% zp_T2p^(5E4`19+Bh6h&rZsqun>*g1R{3j@c&AJdtzJs4MTOqfbAD`nuy9{81`mhvO z>AJlpxiyFlANS{BX48H^3uMP)rG$@R;~|iRQiiqP)W%WLVAu7uS#mNNRT@9g}YGtDmWskV6rWMM><%hu;6M{Y=Ds|O0y5291u=YW%! zAtXE`vMGF0o!IGA>a11`qk9!^Q@h?i4K|{JCX4p2o_eFA^snVrv#YBOEDUrr(I9!V zTH>0OV9HY8Ei#s#d+bh%Y22mX+H<8Vl@Hz6nC&J5DlcSq>9neVA)BNG3~mD8H{C`> zHndzR*(m6o!cHcQeQ%#UOHOgo`_c#o>1x8;6X%KS8PWAFPl3n~Xfm3Nqva8&mR~2A z^%EVSA4>XDXBI7uLnbAo9buO23u;$YskMK9-s)(8(sY& zoyZjaah<@3m*W!BZ$?v*vP==Kd(v|z?PhwZZZkMb>WSOxO_Y88-Ev)8?X$aZm1Wny zI}nlsg~kK0Pq#byQWHvE3`QH{vaB;<(f9Q5FwN*Hw^|s@g}9KXiW{$g7T|>Kl5|<` zCG4NBeSB8*(wHKop*M@Kge&JsS1MEBm7PH8WTtRJZd69MW8vhKq3j{EB_94j?Sp2P z^HCKp=LOC_!f|U#>X@$NWy-zrJ_8D#1L`%7voBJ;GGB!98}Ap}+$dW1`qFue@2y-u zJ%k`}i@5wHy8)B8YSDgF6VEhFzH$1%2+Q%cJ@>Bch{++?$f5P(BdlnBeng82S3GiyrW%i1nUlP9Q{W1K$9v)#@Xv#rtzT*NVwB5A296)8SVSQ(Fs z>+e?z;X|~Xom=n1yh3E;FkwW|6E8LwXy1Z@-&Awsw^l=}oa)1YYS@EMj3`(k0+y>5 z(I8v4wpCaPXZu^cJ=FrED@v3hg0Y5JT12h@loR-z&>>#1JaFVJq|H>$P1rjn_ngG( zJv7!{oQa$lb~10w%YMRamzvgPB^I5qJ(2rydjARoJYj(GzFAuSNlCX@v^6<_J-^<`O7s4I^tolT1qg-9CmX}d}H|}B6 zghMaC-Ko~xgyXp+ESxwv`$LCo*AAI18mMAnT~)YsSY1o^n;oXL34Y%zV$ac5mLlv3 z*WKIte!MMbf{^IZvWj{Jc#6@Z$YEm~7TFXoDN$v1T^amz1fdFH8RZ;Vck~>!yAeFp zk;Aggh)ccwX;~zANrvhn-SXGSd8#NySw+<+(y9Y3RFII7P$|b|7Q9+PK zVB$0p^VWYOc2ZD@%N7TcN^)RJ1oV)O|5OszDOSi$kw;t!PDq6jrHFicTSS*NA^zZ} zVxb*<`miZeV%On`>%0zo!f34>=q)LGI1G0C&i84GsMQ?<6~K8yISnFn)=v1Y(h;Z*Vo}r-i!h zqct8jj?hy)hyMj-VVI`HBz($h`$u=UgB2!YvwoH3wwAy2SZ`Uy$Ugi;Miz zr=fNE9A(k2)WI!xy!*^16zqdSX2kVwLX-vV$XL^gWqQl$%5W6G5Ks~Z|D8e`$$xkPni(REBVw;*s2bQTe^p?#n8^L&V?w? z`!$%A*lt^61Vv}{l6Epb%JbU>m!M;_{@!MTWtzp@-d@v@2XpdWWu>2oe^>^nJ`@{I zu=@zd-pB(rtzIJuvK6|9ghJW(-~(aMW(xP`ovJjzn+o6o2mBl92pwuJoI*)i>*a56 z)2W~BQIz*i;DT09qh;CNSr{)cSY(uaA>9&nE@w{U=Jo;ONJG37W$$hyp(t|5vH$?{ zOHaimkMUMlfd$te3WNHhTQ+{=*-FI2`{OFoaeBG+4s%7^o;=_a4BVN{vjznJfL2fI zn(x;kbDIohJWO-1jfC$9S-!@=Ab8yQSzh_v@wR_rVv=eeJ9ICyP{-T^l|bFkw{SJ{ z8YhHZ0C+)(NurRcQLuxrQN{#S_N4TRPoLwDQV&B+YH;#%Ufo@ zU3!n6)a~~#K|=Y{S)zi_^};#tVFWf9p5C14k9j`0w3tH)q7f`x*ivs+ls;^x0CzZ} zQ=n?2m?IAmC;R@DfX$KELgp*)7Ow;AN(T=ZyBTablQXQ46qkhr3_$Hi-(`Y9Gqy*0 z*CBcX1T49G7YGb&z6R2Ww8b@F5oecGo9qvt>g)9i=H4nQs6hONRjk6SO3#HM#S%!# zF8B7Y6_;03e%9OJAuv!|Qnh`ABASVZR3qE?)~3-E3qu%ATSy+MVx2P1l+^w9ZQ6VN zlW)%|Z9_kNxVL*NIKnUi?hS3SfX>kHx@6}a@xrE>?cG64kVpA=x#x9CM!!BU0c1h` zrPn_}sTBby>Ki58%k(*59*?=&ue8mdx$2jymIJEK?e-&YAK73xv%Cjwot&z)*vU_* z0r>?5NrB#Uc)e_HaYbPEhn^Yiht<%j6rKS-4Ud!{$m%u5Sox(OgcjG5Z2XXh;|=Hr z;MORj(a68M6YibeLA#y)r)D&?v@M+j-nK#yV4g!9AfUy*1^8ys?`CZNc~Je8lkJIx zg10Fh250Yyvp;@#&(0vni^HJ#uC$>+53DTz_Y*7E=DdFcH6oeRwkE` zRGr;;6JH8cX8>EXqY{}mu>LtDXP6}jQ4pSQcHVy)H5}eLoJCY}bmScELhnERkdCIc zcQ|Pb*7@Ufx*z9ev(mw4AVERS`9gVCMs07===>wJx_23|^w#a7P(&wiyR7%&Qd3hW z9CdJ0UH=hWKb*zq6czEhC9|e#7BW!ZyeZXK@lCP}L%XHgf~%SB!Y1=*sVS_9l^@yh zAqb-YSK)m9_kCC{#_`tebf!)tI2jFt^!)=#qV^m-PVi?&(+S3xpz@s#Z-;Uvvz85X=}N$;#LLK#N_1HHC9~e5Av|ri@dVYV;lAp z(&?=cnd6nBiFW<)7I_7Q_AZqv0j6y2+qHZ@Dx&+DuXxt}$ms?X^xIx>ib{q<+a0%P+K}NfZ=){H(OI8 zOXP&$P7vp{5IQ+=Tt{_}9|N@~*6{MF$M+$+n@E{`0a{t_fOQnoDrpER-mIw<82~Xs zBFcHUfbTUvb$O!7m$Y=nc3QVBHo;d{K98D%b_MY`2S7up)?|js1S75p5L$rwkyZC4 zFbZkYhss&N1|<^WA?}6zfLCaX(NP`D#QFoH2V))Rk$}X&MbZ%%v9CJ8WMZYS$5W}>H6Tms~wNxyhZ0lw}?>FO$et#pl|^UC(13xnKWf5Gi_nw z=ov(V3LMeQ$cULgAk={uEesBX;2&KzE4i1~k}}Fd(a%i#njg4bAuT4;ubTY59rgr^#&;WC_##Rcw)Yzj~?+ z?qc1a`+-!)E%t_EJ_>+50W-u)8?Cc*U!Y1rt_4FuG9lW+@lMLU3s)-6!QW6oxP-~yZzp#k~4WySIjPtiG? zIsfjU4uMV-m9XuNC(|i9Vzdc=coDlg1ZS{k_6cW3kUXJI7z1Pk&ofcdTf{3gT#6H9H7*5RFcNc(~4v@9=>9-Pc?VR!CG32`P!!geuZs<+@y(*h)t8 zL24Ua56(77P%{x<@1kLO$cyr2F%KF zARB*H%>yxMCIY-%*qJ4^hCdvx<+#N!=uP5fY1~_X6=G4r`k4#v?HKcOUCMb;zOcF0 zloJ=neq26{(f}~KqMXs(++0Y;$Ld$w2gFA085OiA`%<>_n$5GIRVsTGBqS*5@9Ymo zd)$u$$TQztsBU3?=!nF?$3hg^5(;Mk?)Cl?jmy!;Gc%fjtdQnTAvrD2`)O8(Vcdwl zM@g&kI;Yaax@E`!C8Y~Q@T0`-?J_0NLASF7lm%4x7O^3L!VOt7YS6lWHm8I7AEo1< zPDdxr$niWq93p?Jzlg(gHh2T%LW&1xw|9`+Ie~Nup9EMtp1QsmqgAFMroBjhIPb?| zxqt~Qbi0p#o{EmeIv*+}EY3Q_2#9uIwmjvm4ZkL$nzFvD~jQe*e%9; zGEKxX6f`HKWxMk|XFS}dx6|k}5He5>C5w%X&5|sHUdn#CfouU1k>&?fuoQ2=4Xc*I zgJlFD169WaZ9z`c1z!KFWJm=aQUrn+{}x|UBQKGl%>#zC5^W2^pjsE$d&k zhfEMQj+|UAzOg0`nVlEx-a`B;@?RH(Q#}4Z7q1(pg~RCyfhC~(Twvn?&NX4%yzTrJ z2?YkoCWW(0qETp#QvdS&FTL4I=%9zt*>YEP_2%}T?jq8jjg8}y7VAyq41i_7G?rVv zJk1wT!1mz7xn3v-bzk7^a9&vcB}>;S0wZIZB+e-OkO&L*>_VOEH0Cey8Rf5IE?85P z8x!B%I@12UUNgMC_v1Z1M9)j%`!ieO2&Q^36m}Hce|+fnw{|>%;5sXVe6KDH|5TVG zF4)4G>}L_8FerCNE(ZeVl2Ahu2Hkjj8dj=@Z3R)!!w}) zbA@-r^XWsJ3;C6EWA11;S|e0PL|zRel&uP|hT<{8)gXF4E&$OTYEPmUe3Ld%0go=x z9!S@u0SNZyL#5xl+*;TrFQ5{-^l_os|D&3xJWA!uhjJP4KlI7;JCjxRO;9Wc#r=J+ zrm*!JVvtNQF|ZzM)jQ0wTOvxdgLg3qz8v<+^)r$O0G`yg8m$l9ADEE+om$6oaMVt~ z=lII!?Gun?4$Vi$-S>ML#3lH>oE}@B?YzSZyQyJ67@~6 zttqBxU!jQ7&3qg?kjpecNc~p{{=XB?9m3372Y1L6iY*9Rii&VDAkHIB0;PB;Agh7Q zf*?>prkJ=KIqwTxTDbd+(sG_1YOd0n@RW5SLJ_$YOJ20 z(!9n3^}KaH>v#+P4G|_#&DTc|+8ogHkE%s4b;J23rNd30X+8sL-M(7h4e6001W(Y= zfi2QPeNJ;a7$KfOasoZy+Q!Cc(r=41((#_i@9g`3r#S1eC)s>8n@E5{gOSWVy#nOQy-UxA#*r$D$(>WHbStA^cHX{tuUH z!-3=Fp|?Pl;NGe}zx<f5KJKk@aVpsv8-VJK;cE1FaqlPLVN*V8=xmm z27Fv46khIG|ik3?(NPHg+}e6*m~FyfUHC z@LAvZgyCe=={ps|^Rh%y-&?F%gJe{NN?508CvZ$;Aw z26hES^&YQ8fW?3OL*IS#TM;^_y`VAYQ$>3*&a}Z!e=jb#J6d|EkoArIgIV9ea_D4&;Yg4rEu6S@Sg&oJn%(w zU@%zlM&95=wM6dc_f+a7CM`e)0b3(n#-Us0ea#_7aGYn$$gDRoy;pi2N@O6q?Cy6R z(Q1~Y#sh}E^BVy>XTwDC9;l^uAnv@cDgFaQ1_b62i&g|-^f`2-kU1`3QUR7U>Wy!D zc_<8uZEIKxQarB*X-|)tBYgb^^S$=#`tVQkN?*9m*j&al5Sis$c`r?LHQPA>jr2_uzY#6M!@ zu~y;%biYrwLA1=UR?La#)yF`Z!%X1RC*pP_(g94($(?(&n?xMI@A^t^*rO4Wbvk0E zttKW(yY0weGn|DKG$Nsoab87&mJ6PXj`8&=ulTo^l%qRqm#`XBonPZ~NV-_|2*%QC zOXYu37>tQ`kAhGopF8x6GlHUMxOmroa}cGdxxvm3n|V1D^)I|U5&TqY@XTX=ig5gv-63rz!zK4mIFmZ7hmjLOzZbTlDFjfu zGZgD)24B8LQ_SFEigR{eyFCu*zE|?I* zxa=1=gWkT5#=^df`K_3#tZ-T9GDS2VX!pHUsC{hI7|p5P$R7j8FFSG*xe~_2JVglH zXkM%dg}XPgpk}_5*G$9oqfd7~#sur@JUsKZ#q+OW%Mj2o&;VgL$cZZzm>dO<3;m z%_Arrtx|J5u|A(O94j^pBLxSBJJ0xC!&vNpbAAVx?+#C%Jh7$x?XdQYK{SsC_JK7` zwP?_y1}epW^9V9N4JxTY$q_{EunZ`&i(x2%PSxe+_HdLd?(14Hu8a}br2!UbN15HZJIoFR*^i%4Eh+!=H4ol45$WM&sbwXBVhV(ZUf7x$oH|AHdG}8Au#3f zZwl(NYh**OroUF}&~sk|`v{^}h+OB2e+*6q&soFsFa|OP@CgLt2khDLj%FAF`|0+8 z7CHH*=jd3E-ZvXUKU?vS5%ySeB)MW}2*E0=Eb zoC_z&y#)*Q1RwahgGMD|*3efZ5w*R$|He?2Dwj|Fg|~Vhj8#7F-$!Y~c&~e+MMJw)7C0n+ zqM+tGYQA)&GF5NDyr*I^Kpg@-4GAYL7$FpxfCZc#`%Nt0{jCX)BV4$@T(>Ks&S$Ne z1MJzWQr)=mIu>txFHg<_1lHHF_y|apA!Sbvl0V>GNE5A%yxhQmL@LrRL+1cA9YRSO z%qndGFa>m2Yv^!<8j5e4oX5Ea$hHRBZHDJnofY_y7NF21gg&z@q?T~0*@sDJwBmpx zjQsr@XO|_c^S0lpv^a)~*9#dIm@g(5CnQ7+@BYWdx@xj3Ov!;00oThEDWa%8o*PJR z?*N%s#6sd>7NWsugH+ub$^^hS<)KC9HKK19%6LI>#>5NK?V@8I!sJvTy?x zvdpTiyj~;QnF2a>8;BC8PH}r%ivQWFcA(gr@{Cm>?uLLj)en)0{vpKYbV5x?nR|8y zs(eCf6)!jH*5{M9JeOquAyWfElXu)a3q|z*YNc{r^9P;mpYlJ{H<~OaL?>D-icP-x zsA#(EI z(o#nN<%u2n!)r)tu~4Qg&C@_5`sOnpNsg=*3&}klMET99zdMBxw17a1F^mNopCn{? zyAdOR$PA>3SDzFrbrsPdZMu{j8)L-`4MFF;IXkz*QWd!B_8*{HxS1JS*6=A}}S%pg8ZMQiEatYG4XDCEOk08Daq7!^? z&2V8sH2UE_%4Ps+T552UKlMM@S+*^+h5) z)SFzQt7bhks!<#qDnxFq*Zo1uMu^omjXGGsOA)Oumd$zv%m(t> zz(o*si18{K@Oemce>XEzfu?P^RU-;*Y0wD(VF3VJ&_9gy8)+Vd)&UUL0l5ayc7_o0 z-N+qk$-@m5-G4*}cNb}x;PV#iFCG&`zO$h3fdBw(`7i#=zzWJ*_4y~LMFxG(Vm zb7vh?_1^vab1V=Ll$I0`1Obtd4gmo{kdlrqB`6KjrG$t`gLFwtgOrrg9n#%h(hYZg z&v|B^`#gH?{N~<&?ipv!%%08O`}_HRJ}X}9z1H`ThC3|VlGmuuOnYho5UJsxVu{}S ziA|sdnCX!G9Z)XT`3Fiat1jIp-Dk4zXJ3#4=QhviOdFJHBkd4FWS;7 ze3vp?!%Jjt5Hl_M>0f)AFUq~ZhYjQi=D)?n?+cf!W+S{44~!RYX3r4(?9M)qG?Y|H zLiGIAcC8Tv*g8v?W|q8Q*l|8)>HjF1to0+2vbVp8h~hv4UySRzasg8-!Y|A#mRcfx zWx)QAx}ls(q`L8ea_d%Vdo=a56o>1~?@)bf#XoZLl@Zbo%#PY0Uo1q%oLn#db_t&p zotF4Odjl&7_?nxsGLH^3YH4MH+zEuo4LwSZ?RO=z4sfsu`@jpR(jD*b4o}I z$IO3(54!ZW$;77UrmwGSB6rloxorN51iB1wo*J^M4icrefVfOxo^`S-BUjB*Mk*j=vUm1(;1kn0wDR?I*lrzV`7+} zAN8^;fdWwW%xuAKMwV0@DjQ1dpu?#5hGQwzluN6Ft|l@P_{5u zdLE%cpdyX*;`n53$Hv;BIq^iv`O9m#C9JPxQDRtY9Z;XsUWl)>>))GtIP?M(xp3sk zun0nXcDDDgfn&1RJr-RPgHE&cDsCUp<$zkIl=M8sqR@QWZjyoC#tjvauLD#F3U<7R z24&qT0ek;-+m*>24#2TcXtS7{A~+od?CO>y!w*om8l?}~awu;DwPrZxeJENa1St>{ z+N$u7yd&Xn-tIEEMe3Ril02lq05UgHX!hBQdgJV9336;Gbe^Fc&Ce0&S8%!Pv#nzt z-CMc&u4LXVE&f>vRq}I7CQFGfcA|2%q5Cb#`5!V(BbXwU)bwayCQVe%yq$APON&QG zznesL#8Ja>o^4BzdA^mK>{Q8N*`{TD&wf8cvZFO2vmDpwCk(18GmnUjREy+wIL7L| zUwEt-BM{bnWLDX_Tj9kLA$1(7$}CE~wP6YsLb>wX1@g7tu4w~kXP(sx4N=Uccj0t! ze{(a}n~r$pgOa|f;%;-=c>JuQ)rQLY6MxDs|V;S}}8fN*zFo{oW3dg_Xtg-u(VSvMMjl zBfLBaxpR~%+gd<1E1K-5b*icQvzq;SROIf4tsC9 zGbv~T9(A-%j`pK!+v*||TeJ+Ujwx(bWs=hW#Mz_Gi4WktDEj5as&r2hi(N^XyqeN? z1D2>#1=)uRelO7k91O0VIaypLTo!coSKa!Q-o3m?MD{H$u%?rXCm_Pvy+fBHk&`&L zppfe2ri#OXt*El1^l|(7Xej}Isnus4nd#GueaY0GqBOTsle80h6`|ux`iMh7qs-oC zJVU{YgE5+y+&3|@cG_UzYVrBO*Itgn(1IA_c5~>tQY^mL!- z)k%#~o)Fh97NkQly(E=lellKbKt&zo?JuTm$tO&WGqY5F<}B`8FE*~0pX+nMYv{1W z2)ual5RaRO?6xoUVgz^QaQK5{B`-$0&bY>|$&#;Jfw2)ak=7PS$=oJ)ey|bU!Djt^ zm*LDrSFrK874hI^GA2yO{1~^6e?xsghYtHJyw>vz*6)6wFvrUo*|(lM;x>Hro+Tzn z_adZ5+7fgnS|bUYe&7fsa*G$9r>rP==UQ2E!DlC~sv*<9t7ma%8x#9kPouUW8F^!C z<@b4(s4h~h-`|l~3RA{dL7!ff2|R2ud@m6-_bo6O3v=0DIN{le?J&3PBy0Y}1J_tT zJ2GXW+otmbxzC-+4ldR;!ZGtEBlpYj!9!L+l}H>S3~76Zl03UpMkUum?-ip`5Jdm? zB8kIvQ{sUf9FD#|P{`dgm>gzLmCLYq+|Y1xE-#6+3I?VwtDxXx+=}OajU$b@h=U_Z zt6gvPaGiyCNse~_@4h`_%usQ{cf(t|M=?nnQmN?%)YQbpKce1HRb0mSIbYMe{I9KZ z?zl`oqrbpv{2DfG>{JIWh_YViZ%WQp9-6&>+#J3m&#ubN8NfX-tZigeW5q1GrP}&D zMTW#ZG!#P>ECI~yWHB0xVpQKCz-#bJ65&Nf9&+crF3mZOg2tNX75Hs%%k)g|wnGV# zMR$#KHuyeR+;|?>6glvY`u?rJKw5KSyxj z+`Z`dFjpbd$7(ee6%rCM*n@UQ6$~8CU_;c9(5iItMLASJZP1=H~ zDfE#ScB^&Tqh)lb!UK`r5^>sUD4}8+znJ z2UGopcsWcb9@nkLAEZBJy~TcEF#I-U;+HScgP0%lkGqL4?ct=9npF*d_wJrQ&>6LL zDsdpshh316@V&9s-fXkJjKN-KpBh|AbDXsBRf=cOKI!b`lJwnh#!`$!EeqRLnJ6>! z>4n{GU6GL|OQa;g-scv)*|ryF8!FPem${FpUx08hze9(^;@-wBn<5T6n#*9dd$4Vg z8jq&peQ}v+Asc~Jj8ehbuBVogB-Rf6vjl1w?kv@9JyEb>fe-YrYB zS#8#cf&6K-N5kyb22m z-td>@QJLPpB8IrWXdcJFlsk8X`9guJZxMy(G>k zyxsU-MFsU#gW*^a2zs|3AAe*T3GD6XL?~TweIU5@&B-O}V?qW7 z0-U|Y@5L6pX=aA;ndLzyj@Z|RnBNITVF=m1?(OT-W{=Fh*VCW)^iCJo=e&YK?cV%4 z6{v~9KHjT-meyd*p$jro%2?u4^qnhLAY`dFWKEELRKmq8C#xc?;8{n*p3F&X*lftI zoghmG+q{I!2%U5wj4FXj1-d-hU*6AOid17HA^DINBDp5IG%Holw?X_8%@OwA?ck2B zp~nS3jVJvQDq}wd$uquEysrXb9$hGI{@s|N0=@5BPoKUFq{qj&Q^>>k+301Sp`qb} zGa>9`z1TfHJ@Tpjx^f!wVwkp^jN1<9IXL=`ul@V`+p_!yYxm_QGY==MVc+Gw zST=R}>goc$ilu0c;l8Y{PU;uK_qck^J-qFCBm)yuYWk-s`RMz8zbwJsb`sOE z<{DsyFgou|rbt6H4_;jxywahQ1CHaT9(44KTs01f5y?e4Y@;9(b`<o6u5iM616xJMl=JPTPHq#XX+w zHzb2G+>7by>2;stbHh7bgpLQFqF0{@ef|7$X?gjepJ83+UeA`}z~In5=O4s`<$2Mt zM_}KeavX>vvOkm9avDTh+FDP#C_a5TSh|irPP39+>bJic_c^U6A>;F0SLfAiy*W7f zx*So9L?b>uk0VBWGPpShi;ix*P|n^oXkn(C3-0KrmcX5?5w$*e0Htz1)z;BdQPZghAoD@^Q#zyj_ zV^w$%!NJVd4jiWaT-n$t!X^fo$CLwd7cS`BY^WIxRo03YT3h9lznjt>ZGdSTxw&ng zDx8t{Nxr4sS$zMlHgj93vf;+Ic@2PQjc9g=en9VGxJxO}p3X)Tz!b@Q9&C^Y1dN#A zkC5jc{Q7mh(NV_3&H-N-luIeaUHGJt_?Mdx3p26FLo&HqI6Xv`UQq>}q8|7$7R=if z$QyMbaEGK!$VG?+T3aY2g3u`mo2|NU+RtYB2ds|7HTFi6B6Jp}S`lYuzejb~)P(OoA(3oh_|0Fwmt^AIBcCkus9^8EhB{R^ zvtz`H$$np&Q|@Ct^YfmXT?ti2R(FBRmQA18*psj)tM=Aof=!LhLKzuzVX(lkC8`FMFyAOR`>;hg?Ni>K3bQ$To+N!$}+LwuCO+1Dg8Gc#p*2iVR$U%Xl# zd2^H^`;0wO_6`laY^P&K3~s%VHAgGe(~I=P?R>z_%9tnis&gqy!a(6V-;Hn^6Q_Wk z)lv5Ys}u`nFcz@86P`+rNUJ#z$_SjIhp|}&Bpb}#+swNs-(65b1cr@`W6FZv@8wfT zn!v=G>+qntagiL(PDsrqlWUpf?$9Vz?vYdqXu%nTJQuMa8R_YwIh;Su<6^=3$(-oY z1tmQ|Qu%cz`^$yy{0<`g;5l1q@h*w*(-Y-DS3$6fs%nBwuE8m0_d;Lkd3c@Z2P<-= zA(GxoTCpCxI4Sh&;M|&+Yjw68wM$C5w#MV1N@hB(--l!eGP#A%pP`ZFI8s~tB;vj` zpJehwX=x_-nCHO}Ws9JW2bWJp3eh;m#gWDe=^uknFX5o4Xp&Ou0TOt28vUX%s9jU< z=j&%f#U{SDB>2c#q77nQ&SAoc2?%yz0kdONODS?iGcMafxF^nVgzZJH$dy;-vL=KX`*}4r)(fwR>=H zb!h*_@^Bg2*1XiTf4nRm6ow&ofWQAxHxdzS&(3}U@aGk=#A{GKv~sARKv6Qo=1R*k zn^^H|;o}uJ#}JAEIczKjWwmz_{;4qnhvekar@d-}8C@Nz7^?O^k_w)*<{Vho5T;0z zwMF_Tb}e6t=86$kYL{M9hJC)wL7TfjtE!@!&J|!6B$9KDDRO2HbKv%I#loT9TC&y) zW6Qt3`^Ysv-^`pDoBVNgSJxZ;E|6G-Xf%DTAM@Qfrm(o|h-8F`ChB;_CX}|i?2!W{ z)|^|hQEu+;@o_Q*}~}Y6$faUv*oy^-_8+t^p7twhrx#ZyEXBPVU@Ez|K6_XL`B3^hhAA z-t+PGk+v>813SHmn%0>65#_v|PTPYH5YZQJZF+nA8nl1#F5!C72qN`m-^-0I?F`RW zIW5ZXO<&j0jA?8xZ8AWa2ou7EsVX$E!G&qGH`4M`qxmrLx=bX`$I;An+j80Scz(!S zZu}sIM_Ro0e9TJ0+&q^Wa0XON#E~c!MwT-A#QIAn&q(&&-!=U(uN4xijC*wQu2!*abAM6KSTyN1*> zJlT5u<43{I^&#)jb>@_!Cmr8w6~37E;tqDefQJ)WKceS+?im?)038liGNjq}G^;5- z5w%g>JeGqbL+Y39vNr@t_I#?$L`JAtFf4D~;|PeOsC~w*Uq>j^!*u@W_ZUpe95k|u znj%(5IB^qo^R(T0nxs&JAz;bdKyuw7nXykG)0(fOj+QB_j+5@no4>&Zy!?gM{yZCC zm8sfAd=In^5%OVHhnah0M>CH>#eNhBV_B-if^L06MTiu)lLs6e+D(pUv2j|OQS*h1 zVO^oo-V=iNIm%O^SG)Q`mJ30&6v^H#AV~|KjozKO08jTs$4MbTIr-c`cSYTSH|Iz` z?f^%QiHv;7kwFyn@Xzq?K{0MO*n|Fl;VOy5-=km9egB#c1LN7maQ`0kB20};zJY%U zfgUigKn#n#c4p(+F=tyGo3Fs1qoq;6R#{d8Pe*dD)d=Sm7f-u_0+^zFf281;0(?c+ z?Reh37U=Kmr7VBrTX;YJU+;1$+%XZ2d%ZT2fvhPp?VQ zky||NQfM?S0{LL|8S~$79`SW|=l93C?jh>%9NQ6xLIgex))D6_sSyL=u@R4pCXXd= z&g;VQ+KsIkVZFbY1%;0p1M?=vdzC7CUdTE=af37J5EJVxa8!mWJeq$jlEtV1P0Mv! zJO`rXM`h7g?mvA9 zq1C%czK?&LW%n%Ytc=)txO=CTM8!XFy(#WBon&!~pUumf6c1d*)`8b!JI4ben4ogg z2c6O_DuWHxP>)Bp(9wO(ADWPB5kQ*hkDR;|V5*{8LR4sYGE_$my6zS>KXNTv?taaH)iO%D}dC$IoWD_3&}aG=K%aXv5YOTrxj?l+KJMv}^OSU`#v51B~-#2Kfm zy`+=}sh<%oS0wt^!c5%ILi}5~ypL!B*uD)BJtWRQ*sN5FS>8xy z`BhdpLiC|Uhu>MM;P~b19VMp?rUTEq@}ol^h#d-E4lWz}jn`zKc&h;A%G<2y56C*; ziX=c8f0IZ=IxV+b$&ghCANYp<>*U&8HN5rdOY4UoIN$5*BjFZu#W`Gz@GrhC7u+y4 z-0V~Cb`t`-b{Oz>)uRe8*{Fr13&OW}KQra~tZJHe13y02JU8D$pDh8=77ZC@&eqe}##Jdk}O2w^>E z|Gh^H+5-867tj=NNW!mOl_BoZsIrd>kD0|6n^`5k_Q12l{&^C=DZCCI#33HXa~g zpHG4_Q^{C*a5JG^leg{O!DT&nt{}w^nMUhYjT^bSv8y*`)v?*NWHwNuPqaF`e-%zL zgn-j)b8cl(pl;y|;3vKQeayX~bLlgJ{b1K_wau9f3=eKD#9s|+*Q#w84(`h;fAmCx z`dbwPq(9l?<-RKkekOT^g_A!*Ga!}|PL$hP6E~9Ji*4PO(1kumAqO#RK(C;T!#z2D z3I5Fg?b}Xfy4MT(83T}FP*Y-xWEI^$a=0r!sG`0#Kz)ATq(<&PuPG99mC{2jac`*tNIXw9*GR@D=pIWUu(*Z+{Ocvp(c*7ziAhtBi2!3kA z&=CE^?c6)9qW4fdWP<>>=cQwQ&OGkKcxXVpmebD{SR1@J6ANi`-jn|3Q?D?uE+3nlwq>YPK>9;6kXpLo2grcsEb&s#JE2^i?KisrG+}_mPbxRHj z358FTSXR=4O3yX89^lovaQnG!HnE_KA|+F}Wm6Fq?8xAMJ-9yq?5D;5VS}Pqk9&gS zc)(ha6C7xLWe|LGI7@e>iP2ZSo>)L(E_~M5gM*l1bc}ZstQu_CZGUB3yB##~}n!gIC{GXZ69KxdDgG-AyA^JBS+&B;RUPnLq z=HiN|+j++uTjsW+iE_aa&gUz>f19#Z3b2~K4Jpj_TL-lw^LZCCo{zO*%f+t;5x@jm zVB|&9OK-QITUAqh`T7!og7L7`yZAp`UHnBFg7z&>2=7H%{NR#TRFnn~cKk6Lr!ci# zqs2e9o$4`w8Q+n(Jfv{acG(e*MLJ}9CLL6u?#|<~I>iN;*yzILp=x@tT;Ku5 zfA>BYAGqC6a*Dijm%i@PfBy}(4+4e2Z|UoYa`AHi2=OU^=RVP>;1h;UJTvo>rw_E) z;b9ulL{6zp&KlI)uLEoK)I#}#xU=4vqr1^q4Dz}EzAzG1YiTCJD_6weOu1gD`2Ija zEb%g?r|=t~v~`2t$Vr6sff4d6;I0tm-A0nBDFDDJU_8=0mw;#nTk(f+o}SQG=`VS7 ztq3|rD;V6pq0Vl538@llPcBV)G#NvfETf=oWtwlYC-fs*W7g$&Sm8zXzk!Uc)uG0n z?-h<9!sr09*yyltU0*dU!l;o?20s$YN_>L+L304clzqe&S~kj?BJ*ANIP3czq6Cd#;Lb5gBYJ?& zk~B-3N523i^$eBt1djra4Rp@A@T9_8cq6dhn_I?{PpqZMVUY$8dKk7Bdt(INoUR;9 z((PsZ`^UFg*M^-X!&h+kTiH*K$K6DCHNb_v`)jVRw0k8wnhd}PG2*Yym}7n1E68mD zlfgcLD5tZ~$}!U6l{q@o$Y^eUzRr(s8B6GHisS{&Lf$ohz%PmNcc41k-Z-f};;UsA zpJm1XP~!0LQoB}3Yr!;iu6#OR>#6jgRMC$l6H1c`(vdX0j6 zaS!mku=B|zN=XIC`!A4!(e0e$#PYP~Es2MI2WXI50gpFaf^xwJUt+)du0KhQjA(rw z-SAR7v;(7q>f>F6_KP;BAPHPk{uQT;U{;JhfEps;pSHyv2e7;lCj*x_d-&Vik>5q_ zH3^jK#&K^t(n|l^92bziQ!eXU@a(MiP8UK$d7$zW|25^~oQ_U0tI?8Oij>{^mg|E_ z1~Z*KvF97Y&#IsDjf|E=TZ9f=DKlJyaupdlxe6ga%;ahc%`{pWCGHsgPmWMqTaS1D z1(uPZy^mT&Y|N3LIaI>hM%!C%({jXev(ZjXB~gJSEr*l#8I*PWFC_+s_$(sCadNy6 zk6|1o1$hDl{Dz~SY1&T0U-`X`9o?UrHZ&b6Zv)7gS5)-7#9Hc#! z%+}M?U9Y!e#Fe?lMzcwe;0cE{lS-96@;35=4R*ktADK1Z$)_VVn62ikVxDFEex#feg)*xHM^r;kIF1zB=xDoQzXqjv+nCtdSy6F0`N*e?206jVwiq>-+nrAwuxOOfsY>68wokrL?~l@gKe?s7;`YUp7Y>5>@o ztoeQ4-ut@twa@wXIp>efbvZK3%lodi-e*0}ec#Xh60N17M0k(--ar5RL#X^*Ugw{G zZYqL*Z|~rOpZGe~_k#Z@JQegk6?JqqU+Tyyn8|7B>ByVu{UgLH$SVXs1z$tr%JNTN z_}tj)#19y`jl8~|LRUNBMOF^?(W3eLh1UX7IhgvH3Ze!W$+?sjbhz>xQdA_olXkwm zkjG;|AG&GKM9^(ni%6Ovjxd3;QzyZf!9nz^W6L8gFwMN*rL8>j;OiDC3HWjo!oHG- z{+DkW-@;&g^Ua?5I^kN_Uw395#9e=Z#tYtztX zx#2uDj(3QO{-|2Z)2VeoI@2OxxH^}mO^^)VPV%;WK&h3fQ!E(r)HE31_igcC2Q;+b?xB|7E*pA)#W6 zdEE>hDECCzZoZz6a9-(3x`Rudwdf;liz%;94nQO_rZlYxo9yO>@o`rEk|cDLxH=xyfrIm zvvn_jyl<~chq9@X+$hL&TJ51DQ1sq5u`DwxvEb_5bCY zwJ2$K?8r%OMB4dbXUVk0-%5);^&PPm+Jz`G;Z&#_D?#@YdHJ4h3qSGuoLmri*BZY% zwQ$rYaG&g7lst>Ge^~*E68Fna&vT=V7wWU&9@VT=^-2W>v7x`gtxA?U_e8q+?~^3bWNGIG8Q~{xWAZ3>_p?r1zha|aeLxll#>W+w3hnuD zWn7{`H|zTMR9R54y5lCe9xa25%a2>Pb=WvQ+(W@h0{8CNt=odhZKe&r^mDv;u|p#g zZ(+sew(^3B8TSNPUL|_QzgTWOy!hGCl`5Cv`VJ#B_Qy^`pN(lHNozq*r+VXrGa*ivH=l8`zBk?-c$q>RsjjTcS|<`WC&nS9_dBeNEr- z=2>Y#n-3Ll8a^1}NcARYr4GDP$QrQ`Di5i1Bb2mEI z>&a2+nA~4Wef*7~Q+ITf3xLCz$aM&$80Wi6`ojH6;0)}4+87_g(RqQ1WG;Oqt^a!sY@uKUe7k z;|>Q4^%)9x7nHdHGS8J*!@b^^hse??w&lc3uLv-8O9w=i0Djw9e02u8g6C>S>Fl^A zXIJlg;hRH6h+$RscaNFrpi_(}J-r{_tIdwjltlgX{dz@uZ+`w1(yw;L2Z`K!qE=VZ zKJryJKf%w5(JGsH3P;Hkc~bu^7J30C&HEmIZ=qE+l#vBf3xx)GXZrd9Ev|RbRURLL z#qc+N6QM_SJ_m@`ZB56lL)}YNQn>E!g8+In(D`y;WW-`FpDMo)X7Qw*{uXXB+q&ny zItk$tA-lQm>_M@ZVSWO^5gSWxlUdkm@?)uwx;l*%z8DRun>Z@EFnI=3qz5C{Q5nZmlx6*h(k zJB1DF4qh$z_})bQz)kX$2oH@+s5(WYY|VOqz|Rr)NUdUgnyvD@ORvn4pFW)TAyFg_ zF&`gkWLhX(JjpG!TcAJv^q{>#%evJtnegsP0P0ytvWt{_8EMulP_3=Nn-9I>3 zNjNw-0AW?8$u`9yd`Yk=y8EeryWafV2`O@Ryzz|l`lDD&%fGuN=$vPI(q*A@zO_lK zO5W}LLq5e_N#|Z>Ny*5TmH@-Yc5l+?os4VkqdyU?g|ga^G9l zebmHcKmB?=*ypvm8Sc^Ua94R7`{Meld-mWUr2!!= zL$ypeYj83A;}$MIYNns^Xq8O9ECp(ypV~WInz?roCU8M@b=f;b8!i2=dl|cxQ>#C{ z1?b~rT3SL>lyR_{e3=z)g&UkGzK0%}@Lu!z>R4hPWnpLSdl{cFu&CJWZq4K_Ektl| zfbZir3pqH)}@;=w7l%q0rSHqd_`46aQw_S6Z*9t*>mv8yg`;jkt-j zUHk-&xF3SnAO;z>cH`d#rY!eG;bJ7Pu=)hPLJLbu+_a=!Pj@yXM7c<#RB zvTzbNb1cmLd@Di7t)fu-15u1*e5SG7i5V%qG#+dFhna*vzUScg|Fc#l{Ci>fGTjIZ zb0Gqp?#JS;91$q);4dJtyx=g4U#xcOccu?qq54A1(7U`HW05}nZz*+FQ}hY-qF|a5 zhgZ2)L+;_{h#k5Y>wku5Cz8kuH$;CuOQgiznrltVX+EyRR*EuDVDvc{7w$DQ zJlk$`T#PG3wfF^N^5|l44vm3;tl65He|(=d2}o!r{Yk+xf!n9`@WmWX=@3hwgml z+yFg|%-d%FH=WF)e6TlJb)+yKYLdpb^o!7B4()8-`Z}cF&q4)eMS?aw7Z*H|Hx7az zaSt4QcHX8wJ@ct{L{S@x#69C3t%AsywZw+?Sg-zsz*i1?;m@C|Dax1enLhn&k<|E1 zy4h>B|K;Z3;4ri=+0DF@nRve6L|Q_7Xfz=ZFWx*$07@Gk&Pz|{B`e+J^~uUc{w z3Ti;G6U+{k3jt8@rcwRKw%ufd3_Ft4*W*lHg^aJSblb?CMI=7C#&bl}>W5g18sEPs z0GB$A*7a;Gr6VTXf)AHwRql3JR8>_~3OkVvHYi1m?T(bm|GH}nGT-XzngzCaYD$YF z%ScNgs~}idJsXD*^XAR63~GxF*fWhF-cXA4;u(-gQ=c2Ws`i)!moH&p3)!NE@l8n>?31-MM5-XF6KF-yr*cZw`)nuL!tI zl8snf3tGC$f~2Zmt#}kIPTijos|FTwWrkg`Vyj=+=T_R?)k|?*j8nG=fcCC!AlHtS zK}kiN5aCMAdg_!Xf9|JVo^s2`EX>W9;4?F{qy@D$-!~{{tL)cs7ZJiYiYe3v;MDTE zlM-O2;lRMAYMV<6DePS2b27JP{r@on1%pc3@=@q+bJB5X)=Cw`GCp_7Qc=c-?}*vH z+RFQJ9f-9Sfj2iLkL8ns*l-XNR`g$tpYxALTBeIS+!IhjilrsNi+0ueM@Q4VN;BP6 zo7X_HjL^AaUH|o2IMOm+z+#L4>||YIepYzed+CmNqpz_VsH3qA(#bcxPd>e=R%FT1 zVB{1hN2DhbYk^feC+=Gk08#v0S(RO8|8X4v!TesUICCCox?}+FXFdr2ZA0o!I?cwH zs%ia`7fHPI8E>c1s+poEN6mc0!wP$qb=wh3hlwu&c}fJUZEf>*wB%3SRj7+}f9^Hp z>H5WrLgbX*(Gdhz8oiUnat=Ei3mNZGaDn6Hr++tQ6Lktys{9w9N-=Hz zw!HZBnV_K=uQW@T2>>4D!Q!Y3(xdg648F9oCHoqeiP)>aCbz$*oFg_iZUQOXsp!PW z9e};!VNq!N7vJvxC_a_v?O!GSs$F_dQzLuibg7Cv^rPwMdAZs5Uf(mo<9m%kSDz8eYvqsf(* z)mxV6x6v}=E_QEu%UTTNjk+(nLNsHkV|l*2-^M*^PonZzu>JEV`V@nCKt}eqf9zf0 z;K(4fXBwR$vMIf@iO8Y;{mmTF-+@{B8=NyF4E|QP(>eL$ic<)ced8HGgmRMHSY~$DW2&Kb5LNWKp z@%gJScx!?tyr@OK#v~+&(hp}nHlJUkn+CC@_`=#`A^n`h3KkfC+GCAPUJfM2Y#(f4 zl!GJEcs}kco-)Q2VPG#$6wA@@+VtnX-k2&0R{~*2Mn>VTo8#(8#K*TWS=JdZJ)X@6 zFxL&{zNDO-?!UpqwnGzq9&ICZh`q^++iHF&GXOd}JN*6J1UjKNsbtp}+YFmNY9mco zH=(jZemzg#lOG~gYMf@$!PeW`N1Gk4_SmtoLeg83spEIo28%@VadnpLNbkqn0#K(3CJ zZr)VU2BZ(0^1#r=f|%&j;Js6emtpVT4I>aw^KeN54ltr(`1b$@viUu${y6%5$1$SM zX)8`<2y@IJ)|I^Op{zQ(6bTE0P9hkXuLDGXmqvHPtxwuQr$wA+6aXwX{u2qCa)<1Y z&CG~jptBghf|v(_(FfSBHDV<2vCGeY5-8MZDx8sCyliJ$5Cel5`S}-kMwOO9zY@L< zH^m_;0>Kzs_%C_lY2%oAq(jMN%L`Nr4o(4Utd;P7-91U?k2yPsJ=ajSnp(iY4tVZo zA=Sfbhus??@LMDgXv25_acncI%*@*O-KE!T^TyrXJzCl;1YbNy1C$D|dSHfPiy_wm z{mauxusXf37R&NAhV6~jw9M^*sxV#2o>`q?a8c(*!dU5+=;8053K zkrSMD5X=ty3aJKie5p_(`GBtzvCGE-QfFj5t=0HPsE@xta=h9>Nd|M_Q0KTP2M8v2 zutC2|R^50V)XK3F8uDC41LeBq2AJUKR!o6f;I@XKu=_;|pzXwr&`t$}U8Xh7- zF^eM3Rz0LigM)(#`Cs*Gti^BN4#xr(Wz9GMX}|gWx>x=qzerIV5Fx-Sz+{xJxQMRa zg1qcQMn<->chChE9w#CB*JBVd`?dpcj};38id5*bjX`?hJ0AW|WJ(FJ)c|E>PQWb- zJvoCd6LLDb4YWEkVymZBFlqVeFg}k$>6l2nOvkyV7*zm3y6avKx(f;l0_E({bpTJM zh&iI{65NLhr`fugToXyHres+vTcQ2u5;-ACdU_%vAUg?Gk5oEOh(t(_C1Aw~j*7>> zzr9$g6=!he#4oflL&xLjlRCdaX`^{ zU{Fq>{)K6ezg6wv5WgWkJKGr0adr?WUfbetg9krisoFxe0Evr>%ZAb~%c+G><5Jzb z%07T+t)S8HUfSq5W}uE#o91@ZnVe5oU*9+K-a@LpEPIjLUFnw1w>Ev3E0r&@)V<(< zHcnFEsRbiF00ou?6!gO1UVc`rOH@1akQt;y$Y!LTfFfdEGlj*3m0c z=RK~4qq)Qpou}h+Kw4UMw4tb8xJn1A38qBsG$t&Sa7}-X(-DY3u4_XEj(~kH5V=TQ z1O#HL3t-}^ja5)Fv&O2h~&<0kQ>aOa5`ofpj{<$q>lf-z%seGgiA zZV^b0#=H;xj~Q4tjYZfsSal>@xBzZC96m5REdlA*G<#p0Tuy=1@KBlAaxzBxYu6DpLn01q!&JcH*1p zucRY+#Pg$9p-SmOyFz7AxAiHeexTgo>$tFwucne#9=CP%N~#d>ZX@rNS1Rh*k93t?y!M+0KHAe!Z_` z-Dwz$;p1XWKsbOJS>Ock^8w6N`$szqpd0+^Ne;C@?4GT+)A-Fr4w%KlyfZ7(k&RuG zwaRUiSE9z@sXppndf{MTV6(3NpRQDpZ8zfs3I0rxf`C>@9 z`;B?39+aL+>B}y)KF!?0(?KCBSzoqI5vL;P1V`Bmi_bCY2(O7Rb~vCCSh5Y@Z)d9oC>i!C`o)U4`2@PRg9 z2xLN?$^da9+IUneSoUO z^xa)SZK5a79`!!GFuH#n$$poBL;b%Gf`n4*9=xg|g%_n+{E>C0Dv+3gN58A2dTqSP zml-To{BRWnuw@B1u6KU54z6uc62jsX-tW1W(VMEh2PiRDu~fb`(~$|jp&oDxnKmco z^S@%nDem%i_{!NN)H1AyG5gF4?L9LNO1_F((q<@DtD z#jcs}9xaz=))7R1x|`G`_r#JC2Z`G+`eGl#n5vxB%YF}@vMgM>k^s!T8Y*g5=v+$O za=eB&jRmZEw^e;MDnGXfTRj-$TxVe|S`yez;@dksLIIK~bQ$iJ{a$mWV>xd+^Knab zRFiPxCRViij;P52cQQ&-N;i-GA+a28KP;7kIX;UdE{+9G06nZn<&I+XDbP=&q%zKj)Y8`K^J`gyT^ zS5c7CD>GC=e!b)8x&CBk>CwjTyS8&ya(F+-a=l1|wl-5sRwhp*fr*WiB=rATv5axGYC2;p!IX_=28R15o&Wj%Kq; zvOh#*2-!9kJF81P6}rq!Y^utJ(d!ukG~A=YB$*Gzt44kO?xn(cek{VN*#-mb3X^Z|bjr25n|J26*B zJ4M;Mu0w9QKF-t+-6inT_sdTjlf%t|`n&krk(S_~cS_Et^e2Qgk^NVp0%}1=>QbN{ z4zF!DH>TIp)Kz(P>q)hlHBu*lVz-ca?ZRt=#cWgUY}%sxBatx;W0eiMENlg1UzBmM zto9X_wgNqMruq6lmNbq4EVe$?%#9TWUqup|6hqEzA@stleqVOP_p#i*x^wXY+ zfCh5`aM#yzC7Tc6v+9nsb@&N@OPKmO@t!QsCpG(dGJ#Ch?le8}aW{DNWNW$=CQ)nu zAu|XU@j2aU6(u>-=r7xDdsTG3yv%rMH_QJqQB!Tr-f6KG*1LE)P=U9@_UIECQ22Zg zTSvvHU{Ov0nTEY8>C(-M{E(6|jE-q9G6XySqQOr(D5#BqZu;T%1J>z=H|*R&rmEPc zmUzx>Z0{msZZXnsR93lfMs4BBoDtNCZmaIp93Nlb@%mQ}pZ&P?F*&;n!2q!a>);rZ z3b7h%ZS~z5OvEBjmSeHIP!fQZnab-#+R7)*Q|7no~0;#1nLV zSHL9gU3KXq2pVFlI-w0(04x+67BGp{JF8gg2p-B_erz3&1WP~zByy&&nh7I+*Jr4V z06zhE+8mwxIzA_=U$55vHnoxhNDE}2QO|t91_)?+%?a9?aZyoo4Y7N;+YtHpAFy1% z$kw*X!`*kYHMkn&Sl(WK0>j5n9Z^qDmNqxLmGD#dx=m&AM7Z> zs=co*%3c62yt;-WAvZ`fTz-l19mWO1r^>v?E77%f3>R=Wz?W_WuFqA{+1c5O`CYIC zr}>{BFX_)I1IP+mQ?+i7bmVJ*w$$-fCtE6IV3rWkU*W$wE_L>+MEjAF}gbbYA@`(M|911^a$~dUmnL#gF3jfUdfz(`g7BBL->R4ezes2Du-hzLl71* z{N0ev)}-LYUONtZ?J6HP$91X<;}XEErUA29PI|Kpnam+2a(hxFGNKPq2e%yiS7 zmypZwb@E>!TWrJe92WHST!g0rg+h@&Fpdy>`VN~|-AK(kff^`D5!@US8foR$XxwtX z{4DcvY|qpb9tjD?L+m~$lW}VJ@G^A8(_Q@@K7J)tMCb2~@gqIw_F6jLGzE|(`G$Rx zfMa8CV0gHn8MNR%Y&95#dFX&GAs;r_aeT!dLn;0@NXE|=cYU1-G+zZ|%T1M@yWYq8 zb-e2}09mHcnO%fU_!fiEVnBo4_gqz04uHfvyrezRx_6CZ+@YbB1qC_F_B5@sgYDg)8=)8Ef5ka~_5}u=X#WO4>1c!nYiWL=J-;qQ3`osc1dfM@xzBkSIz& ze*5c}r_F@}J>c+zfasODv~;iD&Eupoj>zlR--6o-9J9R{x=~1 zv-!2Oy}cAyObS+Q09$`S=iWGO1gOxbZIaQNQp2ZcGaxR!1?fj0m{9H%RloIR2!6NS zdA{>Sr&p`&1*q|qW996;X)(SGf$yq6{R6t2`#!hBBh(ea9Z}IJ_*C)X>wrX!-9i-U zel!aUs|RO<#n?9kIeG@+I}8jiK)Xx_bO+dY{(I_S1f2#z-T@7?n{Od;G7@I2@Znputnh^qPB>#ku^{Si1spyGj4I)4z>pfv_U zxhq?P9k4TOBMIBNi;o7cQ4JZ`*Ql)jgKvP5sH>&5#ZLR&hFZ@>@psj7G7sJR@ZR-U z`FK`33;!)e5&DaiXRol9B+%OX8u2?zXzRE#ncE~6|K%Zmkzu2&b8)cbT|0JPbY#Ys zcpDwKca`9*A!oHzYVCEQ6|A-_mAq#U>v|oR{;X3v{)R_P}3H zgM0S~vtpl{GwjNx< zL`H@-_rx*i*DvyJ*K#XXxTAIcTh;PgaHDaUa#;?jE>izeQSo8g%I$*g2X5N(VZvI) zo~&wPw!KA)kHZ?7B4I0xFEwD)c6WH?`Ig%QP4+|Eb$7(@++w*Xz*_^Dn<{B5S)=Iv znJ?vcONs$=rON7(p-}^7z48DGG0bE#2{tIkQN>%u`gz|M>3mkJwV;=Fw9>8I^Qq z78OkZSW^^TLZKIZS5r#Or#O-vcE4M%{zn7=fUzJBGq8YJftl1-C?@WXt;WfN(h) z=O3o1E$YT4lL*r*N4md%cxW|e)qQIBTS9HZx+nCq@hDXU(1?mvL`n-bXI>55$5uHL z=jM!KCqsVc6>iV~C#Q`fBYF8_vZIdKhMC^GwkZL=zRO#CQ6Ao3j%e` z?X!$@^H_~`;2D8WdPvAkHciUV$olS12VEE{RI`2QoV?`qV&U!b*1rVagp`9Z6X+!r zsyB7J`824Pi?`4;Cv)z6={0Z(?a%mEpQ5IYus*@lN@k!&%S|=o>dMqWT!yo|DjSmI z8KkKKHCFre++sdr6ri!u%)pzk-2FTtFtB2Kwi*VIZ$mohGwtt0;$urx;}$Ii&lP=) znxjj|@EDBmkpxg9{wx$Qw>H1&$^%vH=hfA;`{6-j@~2P#07!|I!n&AQ8VKU3mn)b2 z3!l9fFZ%_^|5u&jo4V{WPxn`PPrWdsLjbg-LK&G3yj=l?&WEz;R;rOdQ%Pgz6{kQ{ zPAGjf;{3Qsn&k6Og8Mu2%7R?!;or|?lb#m5M>T2{9H77?I#P3z;6vhv8RE7w+KET$ z(oPQ$-a7zs`|=mlmnAi;IAr zmSC2~M&ImF&;b9)s;bqJ&H!N4G}p^JD0`lZ10#wc3=c{UF1YzSnpWxoynIuH8H^c= zqAZh$tQ_=Psp!pIj0aEwtrj=vBSjmw+qZ8w7*lWuW8!v9By@mj(2;Jo*7_{DsPO^d5%9gvOHPv? zFfg#aC)bku(?Ht*8Q8PA6{imD&{Ojr&kNPmB}3HO+Wuw}Pb|GSB?AKkxB<3(s-&-f zJqnqdlbUpz>r0Ph05-8N_9-f!+n)HZ@-#t?>9fqYB>) z)49n{l69p5G!4`S256ttedSnRAO4u@OOdi?53}mFSH{`db@lb5wp$Zq(T#2i{2-m= z7ZwU3%?^Q#k5y1i1Cewfd#KMW2?97CvR;jLV{J1$!y*5XhAJ6dV3U>(^_DU2NRPy` zf_qE&26U;$GDv=`%!~Mt>J@>3L70F$I=Ba3J_-eiQvVo*x4OD|(5>k(-N;UjC@F6r z?kS>&qCRRy0hb2o)X8mU3ODG$^~wq@F7KoUVi?g?)nGsP0Z}1j`>?zXnKFn3_ERT% zKgXM(^4$JUeAUsv+?{O!BhhK1^=R`Cf9W68fi2SOv-!j%FE^5s6FYXMO9SeUxHa-= zd-EKSl2o&HkBfe4?44e8is54kV_Yu~3lhyfj3VH+{Oh?>l#>{@coy0v`5yv~G(=?< z-JQb5Dn1wqf{oKV0Dv|wYW5ra0m6c_)W04a5Oohmdvuq$@-2>RYGNAVNI8|FH6;fN zC@E`-rxM+~+oH)rz=RqQ$bo2TqogCc%}x9>;u>-#~P z&t{d^cwr-L4JO!G4c~DY8+n!=b#Q#}Sz+7j@wf4iZ%~K(I^Sq1D57mwqSeI)Kz*JL zI2FBTf_13>3qiv%-{-GM9Zs&pz$sAa|Hr}S|8Mv!4lMJDG#{Y`WC{@$uBBMN{PRRx z0}4^lAZP$4Ipe!{0JrMo8>IH442%~Ef)bzxlo6dMEVuM~RjxQy!4;Nrpah=KaJz71 zgU9z*vK(_fv;tN>Vt7~g7mmt3ez63LCD1#Ku-NkldH+W1x0kF{YE-6kO(_jS9squF zd^=4u*UFKYPVJ#b1*AgvgAE?vb?MFF*)4K+eW^lmSi}MUF}MoCjl$(Lwp3{n2kYqj z*Um@6d2{D0bzkH-UKCs^65Lc4-a}djMTUF_eew}7i|aInLqjLu;~l$SrL@X}mRDqN zSYt4{_3kXA3(|3GwX-)V=)qF~oS@D=(dP`-um;K9omnC=MFG6y9Sm9EIrGTdnExWH zZ%l&Ks5qM-`0%Q)WX35pFAJ8w>8IWX%Yu!9=ZQ83yeg+DtBNnX%2`rTD=O*6p#sdf z2P@TijoDb=y((hOSS_RDp9Mds2M>iBu5&y$#;6eveDOsZ!y6a5ph5dHe_7pF4dc$( zA|A-pCL=Qq`U{#szQPKAjUNVIa;>3Nhxfi=9}xkZ8dDP3cIv;P!Mf)U6o@Z&-OqX1 zShoqTuMUh34i2%FGiAW1z|iLIKzh1Y4rq-FfD@+LfA^`*#K>5kf>oPw)6E2M+5gGu z4*E_D%{!munkhgd-k`>s>eUysUEZM}v~E?k$LrtU8NI!BFywqube}B0Yb6x26;+8s%qC2l-q`_{0+A~YR-z9oB zTLXBM*IjC0C?IYzF2Hq<2~358hbJDoyQUb5y7bh`erE!X33dkG55V%&v9`TE+|VDf z*ZUELb;*AnXo?Lyz43*(*L>4c)d6dm8VXC}gg~r8|D=Js;6n9a>C#&u=)fVrz}7W* zaYz0ap)C;T0C3eQvU!8m%-hk(a5LR1`Mbx843>bVPh+1S@Y3LA?vv4U&3M8lE&Lu( z0n7M4i<0})UFo)_p8*F}qm+!DLI?Hq(!~-ogHOZ-roMC9eM{iGH8I~0Z0JV_SSH^ayxb_W4kc@#Vb8Wx}Nu@M*~-f++RWartFbsdP$ zuCNq6jh8Ie`vo*P(ARWpTTOl;bw%vIcf$;7Q4x50Erqt;4f_zL_GpV!_i162e{Fmd zo?hk7ySmysXGGIxZt0gdpF?oK(`X-9nYS`-Rh>vt*~%<>YXqYMnfdNCykBlBYiOYS z=CE<+TUjy6T+GlA)9)c9ewoi{9EicJI!$+#xQz6T|NL=6PD83L??b71vF#NC$Oh)y zn_J>J&LKe2tAgBw;7>fp=D3mWk*5QLYUqW?Tnl6>-DyD~iwD~2l~pDiVVt_Bx<-Cp z@+z<6jOkl5IXP03BvMYE@*chdhlfOyO>ssB^={lG%NEAIgW?w($;B;aYmRN@HcI%; z^;w%i!3?}K*3f*C2Mgc=o zanUv#tCcP1okjYo;TM8KlxtACjLs=?Ha-TVMc@Z8az3Twur6^KwxRqtsJ&HVX z{SnuC_g-z}IFERiRf1H^1eE@dXElpv?la;3L<< zqcZO7U;%sKdX;aK81a}JRhg3d>3{{F0{PlbA&APa&tPcI{=P+Z6v4Y$uTTbrN7DSz zJk(0#UGxQihB8%tZ-Lf=KIliCZ1XNYRfgV>fh+l{lh~P5O;5lIrRALa{+Ts#+TvK~ z*gT}SMUJG*xnZh-0ebBJ;ls|+!I2w&w#V#S!+3`>>|f1a3ADFwS{(PG4+RcOiPJHY zc(-`2*%DeY==MeC*L^Ssme-SbhZ#qm0mr{~JP+#o&CFdg>3EFYx?y*@c*?D@M|>?U z%_%Ys$Z5^kN8{bK_m&X9eouAF34}sUaNvXXi!P=hZ@9?-pHkG_=w+>OOa4cLOzkA% zJs1c>UNf<+*Mji{1R}rMZo5C5ApT`{yhhwezr~B!mO(N{nzhf1m6a2xeXGWlU{f-F z{X`QL^P7R+uE*}y|NTc7*;`SxicH%SySb~ZuNT%$L)LQEmSc&Xq=W~%%h*ESnLsuW zgkB z15W3gdaUJ2qZgNWWq8*e5=qf{opyWsyrJISvtnA(NzFoyyJB^ETjs8P|L`wmb=7`{ z7^^GQ(|Qx`mSUoA%%A;a7N<#=f>#6Y_|(C2T2gZFY7jCiE~;QeyWcje{ZmWj$4>)e zcM6Hp<-IH^O3U;_Qk=AqVp_pjPcJbcsoXy@oVM4u3ssVb6hDxk+ew=92nrpp#?>vmi@F$3$F zw$`BZ;KgtEg()*@SeZSrN)opiYJ^;@1+vA7#le!I2Q2b`Te)`8N)nd~oHmRtg^7E~ zEI{}6s6$EDrtMCsPPbn_Zgl^g^XqxcgUG>}a4*F|!@sfY=7zz1-AOz<#ums)R*@z} z!#Vz6s$))O2r;A_4J(n4T~a3%!z}gtdCddU}Gy!yvmUq z{|b}U-O3qX+ux3<=-}?@x$(cs!%)qBVkz9niO!-dib|h;_m))R_FoNU*)m%!2k%7= zHl|#vs+&G|DCRyj_JIW9;@T!i(ZQhmyD7VS>uU-GKmLqXY<<3Uq_#7X97L*L^G2W? z5}0JKL}(i)1$rFJe|~*tAKP&|m_6`LZ@v=p^BlBL8`ZuA9K&RGm7GJS=Oiv=0mNB$ z?ms_Rt$%GR$fZlc#BRvY%Ho8^YtZ;HIhUtRrM3>AJIJsJ^M>d7(2l!zo! z^CGjKJYAC=|RZE3!chr~}R2044l z6UkAHQ*1gATnJiz%I{rzaukKre0Nms_<^-K0HMX&T4Mu2wZ4Q*a*!PcBqMtt)2}cs zNeDzxj8X=l|C9k5N51MgXsOA11l>}fO6UE~VJxTAOITpdlD|B~Dv@ZYB<&2#`ox1m z%;>by$ux^ez3k@92Oa7 zK`lb7frrP%TE{(Zp*`oi_3{=KZiBS5{3?Q?JO^%|TS)5pcZ@W>eT!#A^2+eIe|+}2 z+6$?3JdrB^y;BQY^%1xoHjASsHw{5AN_ zx6qM>NPA#SMG?e}uXk8tQKV)3Dg=RM>#OB|x%cF8194mJvfu{aDVA0;*Ryv^`F068LES>J0d{1Z1=7`!#EUJWD z(-@nI-k`YAdsOg3(tbdB#8L@*BgieWl10Av@c7$IP1Ec?e&vi9W$kb+0i0T`q&iN- zo8|^Z*z^`yw=?%)rPchSwS+Wj1*KqLXX==#0JRb2)|s@8Gxs%~z|hSg581_nrnYQf z)y1Wz#ktXcvsn_UZDsR#2Om4py-YPCMfK*vqGrM}h7IJv3x?uEnUNh7syN!z5qD8% z>@~kY_ZQpjggG&WViJlVC{bt`2}PbxKu?5zb~e(=`hEED>NRDyzz3T69F6+Z7sq6l z_!f>ki9HHEf}f1ca0^eYUsT!jS~}>qaI>AW z%gX7yB;{C@N76EJ#W-wMLXNk1xKAT2Wj^yY_Ci zD}NiX8P(OFQe4>}c8Dt8E}izP6S<_Fy|-&0340<%)-#WS*X zn){E_m_fC5Wg8VuL0!L(89$SB`^|>Z9Av)aH5GDkIjBy*tc%0I7i{{Fwn8Ec~%#E?qgY z`lU?<+ymw=o66FKrG=LwEfk9f8+u8L33~^BeE4{rLv2MUUnI{?>)Yg(E7v~)d^{$Z&p1CQxP_Z}E*4Q{_7wXAmQ)V8%Uukh@@2kPMJlN3=sLH})Iwj=3G z<;y-@^jBo5i_OIJY!ocK7qK{Gv+;J&*k@I|rV*k4swz4q+@a%3h}cKgc(u=4I$|u@kt?baN5?~HM>Lwz90U{b;179FodOR> z?!OO#vUC8|Kwkc)n*8cRPEb?XDP$r+bH(R>`VbuQA4f`XhFt^`?_QcOH$%A|?M#)2Shzll zonu7u$VBslCj_<2w5q8&DQQ|(0u&5CA0?Uy<0iFYfSM7o4oYiR9a2X?_N9k{- zDiqmJrbk3uWKtGJTTtEt%iJ~%)+JG6ke>iZ38Ua~?THRSH8luCLKH_9r<=cn|BfI* z=&mL957bETU>`<~`KKE^Bz{3~Y`qV+sgMQNll}L4y5LHntU2R?K~d7)k;Jb4I`%$7 z;9rEW=YYq9dC;bUhnCxhQ`0j8*}>u)^{ZPLUbh*K6+L`-vf1t1>e2W~lTU|8^>(J}rva7!sW&6f> zXv+q*>1@mGdg%Trj}fP%^I95*C~y2bAnaQz^eRq6s#uj<<{qjd!M(2t!s0?Ze|@ zkf{amhI})I9kbe0iu$ar^w(t!g6TVz0%Vf3QjI~R2pZ~XT`((ABD!aao@9$J^p^jg zo$`tj({+W#KK^Ei@G(C!JfO+y2*E!;UOU}VW7_i4)6?63y&#co%23J3Xe{f=4@S6u z3duz@L>G{!cs^#7j?0Rt3|Sl~8_bprW(4>qM5a}&z+c2`!dlyoYSd{u7I9E1YNgXG zSQ;Gch#R2Qkdc)Nk~Zxl7fVk zbV!4wfJ(P?gMfgvbc1w*2ug!=cf$vq`MK8K|JZAvd+xd8+&k_Vj7QlARQAY zp4C^YOG{ zU)G0%|%>BZ}pAPH+)kY zm>49Z@v{J9;N);V-%@!%A!L{!pOo)|dK80!O1KBw$w8{R63!{MF2VRiXUdDoG7q@` zDT4T@&IwS5?e|{XwF0ody5u$lv5Klsa@s^ddUJBJI|BW5$vDwS# zuWxI0&4f>g>9;ojDz8m>7hkU>eiqj4qjLVccfIFR&czXx_6!1Oq|Z!l-U+RcW&A z=xBaw-!1$N%d^t zXK!W;)yuC#xVRBz+yoyWF+%KyWPsu{N#AQ|k#Txl%oe=bsmRsVHk3`2cGJV|vmBKc zQe;QTe(HGDqndL2r?ujZn}s93Xt&eTJioBey-;8NT$JbKYGUtn!{+$S@U6=;A|e&` z?JsR+XFeO7w|EOF1YD^fDmPyYJ9l-mY3%2Cq*+s`N247XSuCj8NJ0C`{Ql>fbg!5X zchcV@;TgYReqrueL<;Knt!0*Th85B4|mPvyd13{_6VS~tt* zpV+XXWcQBrMpZq^*RF}+Z}IZRQd%^lc}Vv@_&a%;svHT*Z1;E)2al!(Vr225Tds*t9pttjHr)#H$5Zb`$)=0DMcj`*IMYHaVarHbbg zj)yDek#niuqCa%7jCXrXNxf}#tgJY@%6oIBltEZJ{Nt1OM33iF8l^UoqwPe>7^dG9Tkd>t=pA=-)Y{m$}lv1dkwofy`NnmY7?9x$F1*aY1{(z;UC9* zFlNEWBjP5Q#s!!K0xp`C_rnNDWFjVlr{2$CF>Q>+AAP$68ZdxzV5DQsdTL{_sU@@{=X$N!#4Xo~j{yeZIgfHNuxd_R<^| z1cFh<)g+iah+)joi|IlJt>GFkUh%+t)Pu5qXONJTO5?sr22Od64qEFaC&3Q-&R)pKe>sqSlNMHNOWC0 zB5HeQ!F;XDNUQ~6+es-b?GbX*q4-M$&aI=*R$SIP_xX6O`R;RugPWbyOzunaCq_5K z$JyCy-X1J1X9u08F*LGfxfvJd z+~ePQ?OGtQ0j`e3pxBs_afK!9)Gv@StQ87ASexSDZU4O ztY%EPAM+-H+T~h`K7OuAigQNsaCS(`%?>SE5f`0{ZW8^3O*EK8#2MeQ!q`$$T8(+k zQ&Lu~R+{DeMV|MH?Ew55I(De6seFNj(jZ4sbuN17g?Hok7uhRugoE_AF^>&cFqb{q zp3Rt;nq*ehT?-`(&>;}@^ufj?4F)LcoBaqSSQ&pJZ1zs5NHR&NEHxj4XGAlBvgHHu zIiI32Gswq~L*~kN>&7Ef^H*spDSj)XFZf8APoJs2=<>a!Hpp4>drl(JaB+rv2o5K{ z^1U4qDjKS=*idhsm^B%F(W{}Dn4i+Ai>oUlMyswL7(5lacIN!)LwOz!CXZdLuN}Es z7V6+&`L~}NaL*?)lGOCOdJ*E3?#xQp)*oxj-_d&KdIiV7rjR#V(9ow5kv!xj zR#jc=XiOcM{+N~j!%6U)^#$#@e5AO$Zqq(+)86hGd1eVPcZDw&w9V z{+iCr`kZSh*T-jr5rD^R)cL8VVT|<|uGwgjN0GnO!9q!R@I0bej^e@nq#}R1^X;|zBf}nN zM3U1Ssq&)v+)|qOhq&*N%y`Vmu~p2E(l5m&G-u?ERnAUIKneO$qScychNdGP>bAAn zNKzk#T%Bk`K6%|!U14I97EuXILQGjbMfNcVyzer5CZy377QA|j#`pKEqKEFbU4 z<=N%7UZKoLa>L|Bv+rjtrN>V^rPp%aHzz%5LvyUrI(J^oL+qA1I3D@oKcFv|`AL*N z7ou|8iq1fC-fa`2pOF(T4x4s&28P;#4!iks6b%!U-8)JH!Mr&>vU%Sb2rh zcB)S`lI4UHFU_QrJCh=HaC%B%><;Xp^N=~z0CWfPlK#q}qOUlr(Jt0Mrc02;Uqq}> zE_9y-!nQNj{$dbFy5JE=Zo%|8#U{h=!haeS9-7p;nUUC+h{4yYCwCD(TIIY^v42;~ z-38r^hKwt=Btk#GZeG@~C#mb9ibnI>y4niE*2J3q4T*%;Cw@l^WMlR?R)e2)#_f7I zEb7kONZl8bJ$<~k+tl+HYB3gPw;e}_;(NrMU(k^ddP_djA9`Gz z=JomWlao37HV$(;9NlsSEw!G>m<*xlBiig$5-?e9NR#D%BQ3qBrC}*FT+B@e(`}-d z{Q(1AN?P2gb5y=+&{X!rRqJa0H??mby3s2y_CMtD`|?HJdC@-eRWxOivktXIh!4z4 zE9sb1ktRe>8_#VU&Lnjzua!S1B0IlPD;;*W)6Q0(LWe}-rX+|M7h-D zgl1xF)@a%JDNU``f+E?ijsWt;6E!ETE(vZsN{C)=C%Ow~SG;4d>h1W`Wqb|3GrSrt z<~G^8T|1ULM~EDQBlGd1#ACF2-OlF1qe=~n8QnBVxmBrG>O>CXr#IlKv9Hj|AUtf` z3rv?(7ya=>k9$U8R&4P3{z-L7X{q&m`eI>b*moPIvx&SlhG7|ykGwo{N-F9**d$`# zpl@E|yiNc2(blN-V+QR=Tcvlqq0H!p#{7H zDqi-)`21LLWkW7tX05nid>N5GNKY+_3+|-LezFnvMBb%3{9^=@Bo1zLe}8@|R&X-g zrTU0`OpfDi{qd7&VfIP00%=Z?U}j5ESFn1ZGIKv%>fmCF%ik@z7Bm*^);F2G9)4>`)NoAo1Oh? zJ108}`8mBx0R=4-;h37PX60us&K?I;oLXMIwA8TRVn(dWXdMm3Q#Q9*gQ2lmzGk#N zh{g_Io2^4hZY+?H#k)8<)gFGX)L9hyYUy)ES&|Fcn=rvCdlK+m6ic}Sa-UueF(tg- zeh6JN$SE3m01F%m+zfzH)>4Nf$8&P@h_3b4#>TH7DU$oT4iK6pB_&uy*g@Kg#UAU& z)k_oXC<7(^pcN}1I1&w)`4&%aZ!ApGUUM$l#Ti?7F?n@$-ZSS#EId4^w>rPz5ss_}9SIHxCRfG8 zMOn^@cKt#EsFni5Gk?1mqa^#wgcHw>osa1b3>#9ZZjn9uphq3pP~c*J9qA(s-4PGm z$a>Y=Et$`6*E%n}jH5=vkOIEbJDl-B*R&a?!QZhMd{;$OQPXVCi8!#%_%c=Z)QKY@Dp`aOc#w!p@Myjl{$u0=h|Ci}>B~q39tPzI8zLi0zg{4mQB55rBCB(<$2|Y(G{l>dRN;cz#UCy=A}7 zG<{lid~gardWy~AXII69g>r7E-a%V3<{mKC(nMbfsOg!TD6*VeDuKHF19mExDZ z9T6(Z?C#Sl3EZ#A-6SPZ6YRg^L@}Itd$&>}&d+*L#_gNzoDbSlD?TN}Th@nU7^1i+ zK3D9z?Ox%7RG4-4{FJ)7cbVET9V*%d&6_y|Dq#^ZU#B+C`TbC>aW?1{R^l(98Y?xs zDvHqE`R!_cm8anN9&cPc2~rz!d&k~Rb(b6Nw#B=*Ar7@upit-eE3U1AA*1QT_HbtF zv**z^ZRSJIroOd<*H^8h3vqSYsZ`%7^TH9Xi|2ccouKx2ak!Toa zF;D&bbN+!l$0^{c&BkjIi*}?&N5_U0pT44}GMG05mj-HF_w<4^%Z%wW+}j+iAz|j2 zh}v_CiGgrhhCH!3AK?FYI_Wy;bD&qvmv8b2s7V9+``AuSF0~{ZGkPq*mv~fK^ic|g zc3>_fCH;lw+Gci-jbB-2f_8NkK}oeFD-7+K@&piPC-Bv*Al|O!I0Bi&JxbAYqN+@q z(1bfZt%>sxc6z|5%XB1oWXpXpuM`1b5Sv@PgNxbOeo2j6lazCVK|<7xXU*5n#^8An z1Zm$2TyE~mnB%An&K5&>YL=n%A@;7Euo>lQS@evJ3zYXmQ0j9jvrA;M>=}fMgsk__ zlKXtpdc4wp_@(`jd>W5d-WJgQ?q=Z_+zYfc5JV@HqKW0U2TW(DERvkOUK&Z~Q$^m6 zP~yBpYDz;#9s%F^Ufqg`iz%-9nI!beyq%M=iS3N>>t~vaAHRHxvX3T$M(Ls2OmOQI z`)D8dH`=NUc>!;od*tFPwp|OAk?jg<_%Rb$RlbYi34|&W|E7v`A|DWJn!X`hZzR(htaAf_ySH#))PI>fphoDX+T#>k4CCqQA- z)alBn_!6fkZ1ACb+F@IKzJ7lgE`xe(TWlt2+o$a`R17o<%O<>}(;;;TD;_y-Z4e@F zCe=x|RlQ%;rM5Ny3@SvWp};p<+YS#25=QzP!AhzX0sQ5XuJ_e!G3Y*byoB6~**M2N z+Sb5F?^UJ}L?qR&xrE0iwR$ZkbcW66Km!gsx0}?0kNY;%#%8th*DI+-^wPnP7Sq>rJM+}Kzf=;=XITXNo z*94M7PQ0nhHrg}QU#OtBDl*sgW+pS=C+E8rZ-PaNCuOH}b;@A56FP~J1y1==Tn{VP zL1T)J2L@u}WGtNHA@37u-?a4f$iaL~Zu$H7?Y(akeueVshV^ZE2tZO>=m}Wu{&0I5 zRbU9U(U6O5582E+T%6u^^b7W%>nqoiDM;eEy5HL~jr`kAi4r1=L&1~4WdB66kAVE{ zg|r1s7|y;7Bx8TC7?K<~Hk*>0db6O`7t1{3BSZMP;&pd`VfthN>cCSvnH^8A*XG((H)q&Bn;twdvj()ESD&9gs zZBc(Lb$)&n@RDHM{%qdU%lrG_+OI+*Eggvl3&{DOKP7K$im{)L?XH*=$~HBHUSZKm z6(MI?x%tT8@!gqoKRZo$Taw$g`tXo=QQKmVRd;tXw@hL|zx)o#wT{(&Oe|d*T0RDx z`u|?yee9GsRuSow{3cd#k}q-V3yYh36D~o9kne=7dUZImW_zN=01+YWrYoBno*T#^ zEG&G4*YtIDU#B?M)6>&xWgAIH%|3?0Z*LR)1j$M7yb6BO_qUq9a>#st79I=IdytWv z>JOFTx^dJ^KDRy^g)ksAn7EKfHb5~n1tp~?aset2*q|q=-&DT@dZzX!DRRT)jJggk zlS1tT;7h=kcXZ1YRi@fC-Ce?vLmGr3?cy;Qf~X;u7nbb?fBx+4DyZ#R=aO6OsJ}ps zpAZN70!4R(%juJyjP6Kh=~Y*jO4^UE}i{8h(j>1XKbf(wyrHJ@6|^j zLZ+tn?^OFs9rOI78X}04H3Bzh2OiwIsN>Rh_MDQg_7mw?!W2;}qzgG?1^a~=`p54c zF{mv6=0zx3zh%ZmGjrshr1ZbDvA$RT`UL1o-96tFSUJQUq%r?}d(7jMe^)$#EVKAm zdyIVRf8mqhCp0Y1&B()T>bm@&JFSHv@7|J)eCp%C5Jo|K<9|Lm%zr!WzyBoMV`~Td zFf`(hoP?`Q_3p0;_N}K+B^NsCr-W3EX-{ou22n-D#lLX%D}*LEt~t7WR%p5&9v+D- zLTG=-a*X+7@Zr`;E{1iL##*1GBF!CK!iGsvF)^FQh;4*Ch0kqr-eMw9OmdXQ-Vo4} zh^Kw0xLwK%tjyjCbhu)pY(OxfV#w>1zv>>ehv)xbQ<3J)zVUfFkWcpx2LCY|kR1j`A1?82E$zZgeAhbWXgKucwGI0; zfzF)j7~PNO+3XJAu0ES=gYfs)=-9@*hg0%^f~G6Q(8aVHJZci-HjrpGq3~F|9EYiX zOZt3!T-wd$j09*Bn|Z3mUxzF4w%p4Vez15}za4}ri5S&9G}bc1V^;5BXRdD$k*f>T z2FeELFJ!-mA})LM?|K-Bcb2TT=;(4rkOtWvH*%)jZvI7nvK!`9TZ}>zvj6EC9bL=j z`bhHD%ET>`Gs?u&ctjKkD(ObMXvE_pTv$*$J z&ccDIen}eWi+|eT(GZoXV701@jDB&!_9Hh7QDrYVGwi45c#_VgTIkGgl<0O@=%4m*YjuP_ zTyj<%>Hdnis4u82>rPptwH>LA67Bh1OpVPJ!uz7Pe({&Heb#37f7<0_y}*!vync)X zJ_&EeMGak9$m#>!Z10lwT)YSIm^|B348F?~0oE3=z^K{{y^oFtdIq+;){}ZFD183B zjrhigZ9MXND?nxj|4Hw1RU_NZ|1V9&|Dr|tKm4^PG|!(GdHk7S`;PiNa_v{;V$$r( znDz@j41urN`S@Qi>g%VPbP_Mo5;ec`_x+eEyzr^Jq^LVIEqSiyg^6D}F$WtAv*u^e68$GR$X=jt@NqVxUa z=4R0aMvcb2517dJgep8DwAyJ{Swo%BqOEfDf4_HU<4!vMj-<4-{$wK+trYW|E&V?} z_~XBR5FQiL{?A|PiTvj;eWb1ZAg8NKzKh2+t=xX&{XO_MzVOCljMZ`)i}@fh9knWUhbPL?}`C!km^;QW#d|PQo2eUe5^& z3Fy+&^t4Zog1m-b=Aq@!NN7eVX3ckqV_9GB|CGuAe)Z1_j$9NU?ppGY303rrz@0G0 zheEEQ_F>}uY706#;V}BcscN}+DN;#yiqbA8(Du9wbsLCrdS1zDer z7PgFb_bqx~F-x~)I$&k;5S2sXR7*xWUJ2NSny(rC0i5q|Qh% z-fdh`FQ2Iw`Mjuyi5e};oAot<_AB1LB+?od^7mGf0H;(VXB`YiY>65|EaaB(YBOY}iiMWh8 ziDp{k_O?ZD)_{>(-HELmb*yknk?!JeEde2n0ieo6Ap=EC2Sw?X*ZXC{$UEj<99p0tO$=hG3pOl_Xe#*l(9Wv~;JAz;QXZD^TE>U) z^f=;Tc^H%0NJ+Y*r_6-mm1`Uc+xoMJH3_RQ{ad-MN4U-2+g=^BW+K2v^rit8J{`5-hQR2P^tL z?I+{O1@BM=uez@<}L=pNan6;?05=Qb!`^1=aJt@Z2ILSd9{ zAwF6XYEIXJA|th1@0Ywrn~}IJmh(EZqJ&sQ1s_yeyoQgT_5poc%BK?IplTwz$iUS6 zx=SblE$_pnTJ{Hja9MHh68Kl0T=%TU3mge^gcKE5= z-FxU!tylF-L9ON8;4NYh%-)}g^)|?rL}Smi;(z|*`Wx4{{+Q$tuFA}t@}Lz7dA#oP zk4>-p;~UCO8!9P3pIw~o@d}`#MZBra%Bg?&v)AJ?DeB?uHu>N`@_sXI+`rF|SCfK@>YWuPhJcpddx=TeiWS zppK$IN=dto!FO9j zu>-75d0aC-2zIqRr9xDL@%wFez_t46xj9ct$#J^k7U9uQhCp%b zKLua>j)fkU)shu;Cfdzo2hAF#ZZILC`hJ3RhjS+X_?9Gm%P7pVUtecBH9bb!@SL`I zqYW+Q>*_=v3h^FDD}z<|!OTNvTG?IY?M$F(q03jT5xSnqPt~ zgiY^f*W5yKizHmx@sBHA!ba^kUP;`su!Z`JoHhGgWp=|^-1nDVm$3+iqI(mUuyFk- zg?{!E7ZusIKXOh$!+$DYU6JyP=N)Cr2TD}rL^q$Bj#UWN$Q*h=x((*jJN$czjth?1=xb573dHJoyt&Oe=T%iIQ%p{2%zEk>sNj zyPSa9Hgy=~G>hSpN3K@Y+twKg41?hhr{7E-B45_W4O=KcZ!T=we>n7^@8ezJAiAAF zNS|n>txbFx@kaG{gHIzN@wgbFhtT8WJ0d-g28X!a`>MDCFHyN^B^~XEA|segOe0zK zToI2sM#So)V7c!0d!DN(C)facIvp0LXVwDAsUP_(-xorRfPHC&V^y||eAn?>isb|v z*7g4a7zHcu-kn)FIEWz8(qETtwROOn{jw3m^^SW1_nrP$D55?-F>wQZuPsGSl@|Q> zIQju1PRiL3{Q^CxHL>B!$&9>~LQ6DJ`Ad%2qvEyWhmm{T#GV)V{{$DFsS1<1Z0%dLF2CP}zvRb{yg@BAGeObO6TCzQ1x7Lo68f;o~0w03=ULvBA$t zWd7LdMW`W9Sa@e$3$FT80hcxRECJZI?s{19#ul$J}mo&hcCprlHn zS(y?3S*U>({xj`IMe*8tv_h`4rNC1`ji>$TSjgpXC}F_iPo*H_Mcn7(vrAy&Zp)S% zQczF}lFgZhjUFz0C3t1l`MxBUq_*XZRV!=U%0I!3R2SYmX;QAs;IlRIKhJnP)V40H zh{$jjm0$xY15XOwFLpcdr=FRAzF($}!iVv}^}iJ%O0 zcX>?t`>REk1V3#t;N}A)>anpN1a+;<^&^ebfqERc#7k{+N1>iqugNQENPSm{=e9lI zLkbZRE&Sn5RusIT%cfpI*znFx+Rr`k1KzucNRdWK4`H zIgKe*4NZ;qM^R68zdHk-t6v1Shx5Gl8E}V37 zD{$3|Qj*fO)~|`MO}^wNDiU#BJv#mHngc(4q;V4!eNRscq32n0<5O*;X@w!wKnXxHk{PB zE0(Kzc8!9xF1ezvu%fEs!)u1<=1=?JhbG_5tHrrE73ucVzbW08IH1gAgUiq}3{sXb zNjiq7p)x9E7J?jQ*Q#LuPE)%Vw>P_!Tj018LV_VQ$*?CU&e%Te!6_BI8T3uww?qpD zKDcDRb7o?8|MT#MD8LgK&mMc!r?4e|)I92*uDRaIMaySv9PdsL+Fa$PPRMWu=KA7Q61 zq~VG5W5*gUdW}(>Dc3xr7Sz}!B4@72Kd{I|$!fx{I3q#c#TGPT#)+P8ggwBBE+O-kautCuAhkU>K*dNvF)Ar zhp}w7q;!$~K*Fc9`xU=>BWkd|84o4T(5SxkkWvAn7-OkRJ(X~jO z0cpevINbM>T#dyN#8Qi@Ov(g`ZujSew2PZS{hHLmMoj*nx@JwGnsmgYXxN)pvc?8- z+L&Uik5YHxgfG_{C%4d#9Z0f$=O#ccQm0>9U|ra)#V=<`6gje&qn@3+y?IH%Sx4x}f-7qIm` z7%jR&m*acB%u^hTe5R6DB*HMl@xZ>i^CZB9M_b_qYDGKPIN`Gr&!()rO!{hDQ`5<| zkJ|5hmZ3K^3}qs#cCL>(Y|@mxzJWQt?&#ETDjmy%5h>O3){Vb1DPr)JZk5>doiRp# zhyfv-+-<*d7#35K1iSr&Kdfh#!rO`-Y3cbau6AJy8g+I%MMP;DA|t>m2fuqYuC%sV zuF;EHZt-BSICghFX5IJLn1+K%rQ<@s`v1^odEIENuO>b{pORUYpR{a?kNoWi+Z3S& zgrzTf5{#&~yYls01^2OBFo>zkTyTa`pLKLQ8M4)rN*gr}Fc;cS9P(Z4T?LDPljKZd zVZqexIDLDewld-V;bEpoH7D)H`cU}N=Nk)kWiiN6l;w#y{;I3vw!8JJtFh%mw`GMH zR#jNkkylG=O91vfrW&*X4WEg9x*3~<@C96iX&HZlr7{vntlL(o&yTnZz9tmSs8 zI4S9^N3>586t`sni3w&dqd7!0%3$viBlbm~)ufwXXjWgXxRcX0%xQBII@+%xCfMS| z4AzX{hLj(owZGqOq9%aGsE1~E3AHuY(Ra)%@ZR|S;KjrYS7UlgN%B+? zUWn5rWwiu!%+*ttz!@iCA9D|{*}F{^Vg&p^2DB^$rdt*ZVm=4vpP?Rh>Rl7bn8v;dJ{#xBMWEDl}>wOLl)}q%&Z0O*<7x%^Jfjs#RE~~1_8R1%68LCy-za}G_ zzV!wZfaqq~+SdU^IjfIkH-QkCJTsvUCKdE!=mNu;-)2^JXK6DapqRY_I;?N|m~*^# zkmdkyAn#arBfh8Ad(-_sa1w*2G&pdlO!z_nh!SZCaTEw-sIewhrQ8~LU}?p}3Ej0V ziMy%UQ#Bf||iS=8IeJF4b|oUb5nx zNTX1&3tDO4t{H%Z*pc}BLsrxw_~rU<@`5Qc0%`a*G|8=o%UlEvi?2aQyy)cGFLmo- zDN@+;^GRW}`82z#qj+P>Mj*%ZClTeYmp4ID>H%0v)+xS zr9}?zcm1KmHyB%Rc3U73xg1}B!N5^#vw1*U^R?8o93vfyhcr*oQ`BY@BiO}%^ zu7Lx~kWFL~&9QC+TRl-NZUfs6F^gIhA^+MX-D-!7?9RsqrI#e5Do8OfNDSt2xg&s# z5Goj8F&TdXSX@C_>m38KcG8AIE6KSxsrs=V71g|>le4_}=k#fROqi`li*AEt`i!%3 z{&84;6RCbnbpeRIFB0KZPBDFtiOx)_5GX_*4~3G`XY7LqjK3Brwzn4ZsSOZk%<@eh|0Q$)Hf!xiqj$s-EDcQ&;A@q$tX12YRNjs9Y& z-0el(DSKwbf#U4w&WYZTBKb~7>07jOQ(rRmb4A1|E2LiZ$ueDrWD`!;$zQ*|jYPCj z2I3elZ-+M$v$EOb)yyA&Ql^XwPJ~r=3aVz7czB{IUnx90)3$JOPzUU(cGoj zH)4x#ocrk$F^Ea_?Naz1-Qp3eFRBdOSxRsz5)6ot5q}*BCj)(9dNt&V1U5lVPAfbv z8<&G3BO+$!m*4$GJHgVntT!Sla-==vKXL;(WlItH{5s-I{6I`{0axUY>*t>#q^P+l zpww4eXn1!9=YkSwy*W$fP=0Rya<{Mg=wvL}IGgc4BI)n$XSH>3ARJ`?T5=O?7?`?# z)#s(}5bR#vF0XiG#O%#N3gp=D?(S|=A1YlMQdD~$1UC&jK0UTtk-lF(Gj53=N)`Lz z*B=1dicX665eg4WUjwC-Fyhf?=-!_6_yw-VJ}MxfD9R<>4;n}0-VC3tY+}F zube07_}E!d&HU>`PvlrEIC~-R?=2rMxpF7Phlt2-JRq$oV5X5xnl_wEr2E<=B5^Uv zij1XIV_2|(;Veh`Z-Bn3L$7$?7zZTT(uMURh*#u#i!}v=aL51>UT$ny+;ZL0x*JZ3 zsuqR1b(rG5NdVeR0Rp(7mDFA&t@pr$aBq|3DJTQbsQo_I!CFlVE3mqIN>L$$WmHu3 zuiy<8)qN%`GP5E|7)}m@Qy>|E1O5UDUy=DBeKp}6Ya@`oyWt-Q_Lp8#N~UTW({HTw zdzDZ~m@sTAT_PoY1lI{+LI~UF84E-~dzWB9W@eIGt@FpFkuDa zn1G{U%Ed;~pMVOfmp~4T`sd97XrA)Ji)$spjdbBnm`mKENASuVzC|E{HP`L|)~ zD=I6I0?7?DdVjscEu^zX@-l17*a{FTwv?czDP-xdtU^b^?qPHLbFwhcAEqMdVG21v z`1okixm55iD48!9l9HT}M0u)F2vdnEVRI>L;Nvvw*`zv$lqHA{IATpIbek=T`<0|#Tt9PZ1N(hLGR$!= z^9{8DBbqtvvXbzA2o5pSL6}4^O=ZQzcybusv9s0G!~uxRwQ;ulcH&4r;GG% zv1(pTH9{{Vkf@_VAw*tTtHI?$Dz&KdYu=-Xq#j_fwi@D?E1#=7Q17mVZFW*)PG@EjLizjr>@f;?tZBMleL?kjNnz?>jQNF23>qcMI9M{Li z=Gr;y=(O~pN~y6;`%S>iP=pn8|1e)i1P+2t&n3+ek$mE9VH03^;l`DqO#YrxE4 ztZ*H|5KTt2LREMsb2XOdA*q}kKloN;)Vp!@&#VIE3WgpoO$xv`>WX@1WwHUg^S&wPSELe#OCx$bhz&i^Op?0LceCtbaxG6$swm*Sk9 zzWg_?7UyukJ|0r2fj>;=18%D$P3286xzueTpPuS-1FV1|`5@$PBS&0)K%xtUh1|Tn zyP$r{KdIi6YEoq7SiW4&2Chp(T#>aOPT#O&ft2`B-shO-lB>vfffzd(pCAEJ2dMrS zpox%VYA~7P6Zt>HTGA<9Oa0i5`UaGqSp5O6NUH0@J+QcMDs|8#ib8Dp|BhiJkhmKib)yt_tlgr?i|)_uqrh1E?qBRS%q>=|gl zR0;Q2DiX-`XuXAxfUS_}i(!IXzdn#0v=Ee$bAJoz*rq^5z4;L^{HFp=WN;Pt0u~Kv zqrRP;SzB9E^HcbguGY7imZtou*lmtUvD?52{$XlxnsjD%Vod|ZpguZnvifZYpoB>B zgkXE?ta(2OhUf*+H6?Xkn?4&mu$ZQ+tA4>Nz7Dp`Zo^garXsfiLB9nRPkyt_C{Yxg z28jzj8^jag_m^qun5dR>WDl4x3QrOWkMz|n0%uxUsQ9@o%B<`9@dr{Mw2LhD`5 z1F}c&ky({b8D#U5Zu}#A1G3$Q?C9YBkt+!-7=to>a>0}|xTm1oHJSL+>%wYL6?k5w z9e&M++Kb03lMT9sJO45-8AdG@AA=l$#l{w09NXmB?q1gi`ufRVdwzJqia}CM7K#+W zqUk|mL*wZoQ{s_<5u3lg`HS!D8T62R`FoOnXm^3W51CBD4bYm-2@>3C`Z+;6>Q$z{ z(Ji_3`i1>PTqm%5X-JF;YXMaTii+xOtvzE%376rAloWAak5Sts4$k^m8Iqvxb~eEL zTk+KcP_{%k5SdQq=A9~&g9oXJ_tE%uA;=7mp0}VcB++Fp1dwb0!~5>t0h5O{?CyAi zmKTvihX<{}i9LdwhC_88w4m2X1nd#LiH(IX^30}+lVt=qMEi@x?uEAneQm2IjHb^% z0_InPfk_N-9}Ic4)WomFbbfa~Ub3(IcXb166IruJ0R;_LvRvI!6zn^aNMK#*N3n9S zH5icNt&D<14ui|70Zz_jeBXDBp|EJ}$018kTG8EaKy;mn)?2tT@LEYpd3TDM0;;Ki z&oQjq!vi;iq-lZ9{d*R=1rj8KTpBu~wgrX8%MyG7HaAl8M67P?9Zru#Pc5XC5;-nc zx_=0d@7t?H<4JG|Ou@MI@xkA7xa4qZO;bjmbaM5be?xA|D2iO4faBgJVmTB_RKXe?RO((C^o;`nCnjE6<) zAHMbl4ZF4@Hmp4cMjeXSe^kUEdE380rbyeDG6oFI^$N<>ZkT*R=^Zga7buK$KhaEQQaV(MMNNw37|_c4vr?sU?Ujkk|`{g0wQZE1KR3 z%5dnwhpYww@mAnz`ohWoC;&-uYFe}{JOSsnUw66)FNIE#ja$OMJ z6{38W^~xdDl06DiG9FKu7DxJk={Mu?2M?;d_y669^J%7o(lzpPbz9Law?Lb@?SgO2 zdL3WrAJjPbt&@rY`}FrzdrH>-K9jBykg4SpACHFQqMa<6jM~r6mLY8UPo+o;H787e zVf>bX@U|kSRf`OM!DPUNwhq!Nf3sS@le7Oy*}o{ep^q5WVbI!U4L9m-`tifdu!qki z8wkf(=2|hR!x>0QmILlv=#m@KM;Z9NLTW$_;<6z>|GSH8gb+}S{3|o<^eOw>-0QHm5&g(%b3D)+p^~@X`>loi3(XUSq>pX{_AW|@( z%MrVMxZipoDkG2-_0qSx+dzMT$P_mMv_P2a!>n5_YW^zsm_(PrYv15xa zbUyxlpdCYj@b%p)qa|+~En03Pv0M9whkVvrji>V8vAg!l*b|i$uZGN9bxV<6`CW;$ zg*SM`&2tVM2rz;52TqY|cI_BVpG?rN$52nshVIgN9qpqMOA)AlIYlQH4~?>p2rIH_ z94%XT0W5EWKAT?Qi(`{h0p}LcwBbT7uOE^`UoF~z;wmdcM^fBj7#Yxf!D9w0qiX7m zsUYtU&`4fIB?QwnH$i$QP)t^voe*vn8W3G&w(6{?M4k;&hbfD#@s>chtECl!+}r$zr{ zkoq@+wTSxrEqHZ&4=p5b znBD(21#zhnSS6iVj4}C`9z0m}nUo>xXiji#AAc zL{0=VJmsMJ8y*<4At?XCZOiP}R`X(DRG}2NG`7q<1HLSba@VDXZ$E+G;a#hgROj~2 z-mhUlMVQ;0+W3AbB$;$(4h2&W+_Bv)wD~T}vX4V1fLe80Qm+yNbtv!534uRQ?D+&i zzfv4;Jtb?)jGpA1n_y;hB=p?wR&23lWTA{GSM0LZ)W2zuhpSkS=lm5b-JkAKutO#dI#$}2Bx;P7Q&;g{h z&B=g?Al^ZI$|(x}gR1HsEFHHzBM|it^nRe5fBh~iM&*1oh(e&KfTHzZD)-l? z+B1J>WiKLvGX&!erl0qm$U%6f)r@nmH`r2-HK8UFq}9!)Y_9XhX+r*FKQcP95J)~G zoUZDDM+g|!>E-8piDlzvP#C$ZYq{s;|E=9uV>mi;?en7fC-TC(xdp)<`fDn+c~;RH zZ|i~{G+<{d9ifzDZhr*u!FVE+78u}QnkIpk%O**3S5G!P3J_@7Ij9mER07{bJ9P=n zGFd0*)f&9N*a{N{(2AkUjz73o!G5$0t6veYzUUO^Wa|uK;X-B5FW6i=#K3Xe-GWS@ zS{$etc&s#GGtrKDmjGx2QhAH;Kiw7?h?JZOQQUw@E=`%CobT);PY6?5L+;m_We6D` zb$9?uJG@aloQ(Pi3mrX(92^b`d ziHY@1vPp~OECE8H;O#=KwIX-UMuqnaB6@Gow}(PFRJ~&Jn;n%%G)OkTxvwu4No{*o z+=3Dak20_0D(tLAQ1oBw^0QwZ!oS6s9h}HN)C)U)Jt{WjAZXcIHl@%2O9rL|+XyG- z6vtw_*fC3<(04F$@*jUQII>k%#H{nJt{nVwfCs zaA0kQ1Fs(e^h~6y(+Dgt$AoA};^(!B5T^wXND%x=hL^uZ!WscafJX43F`^gI#r7hJ zq+cDhXmMpHy21?OQSqoTIPEQv%Kn$`U$h9%7rbw=8T=?NE)|$^w*&re6@1kzRmI~p zxGzhGefeAvUM!DGYoZ1YR zP+^A*e{F{?qn(x-hSO~})PBuxF3QDIAKE$t%E2p!h&6z)=y=aKAv$>Qy0#q{T&cal zIexz-_%QgsXHh#)i_J0)NJ2#&4~pg%6(N`bF{ewxeRkVzucGKp^jF_#dp~swK{YFZ zUrF0n116)5|=z%l@;_J00@cfxAM?yBo zrQtTPFxbd0*fJ6{UidAix_Cq0T<4?!h>kjGG%bCWrzkV39!(8s4E$QEhX<5=tkdKRSp?YOSiiDBhLj*+>M<7E%U9f& zUY3`b`hIJE8a$xm!j-$Gf-_zFwBhrRcUn=rLE^c?h-|d-!7p7ej>+YkRMcp-GXbJ< z{Qa&ds9rQ3e!EKdvCR5-+cE|3P z$3xP=y<(wQlSkM3t|=%8W8BerBGU9xjE5fW~z@^gk;pGN9_hlr>E;Du)JV+Ad8PgFdak* z%Tg_8bf>b+d)+x8_~c`ggs`7G)M`JPHI&^B1ZY)?%9iR#5_s(S`}^_B zij4NU^D57nXvXa}EF~a}PFiI*OQ>8BwiM6j{QHH>PuHV&&gEHR7uCPbp7Z1psUFVq zYq^cfidi>Q{k`Ko0JN=S97`_*j;z>n6`~I0M zfAr6P?f-0GgANp4q-_TNiVz`5c=($Z=KJRd-tv-v_N!eL&LKy>=*)z8?Sh7LWaM}6 z?X7oq=9Bz)g`IxSAzH`dz8_IQAVhAf#8>jNyKa5lGe(FGhN`%U|8lIfxXY6L`4fNN ztC7*qA3k})cu|;nb2-A};JUgdkEb8()z9jpN&{E$kduPqRr2H&U`Qq_?KcJnhkK%7 zQ?gyTL8cNEQ52z$nw#;?@9b~#IvPKQLwXFX%8}n7A^y0XM#_(SNHHMD5iu(&3d-87 z+b(w8gJjVkUkHrt7uomce3y+^7rVcha@CMPP{QqOnt*qbz93ijE9`D{6 zZZoUa?UK{w=hZ~I6Wnxl#3?ic5+>W!Xv9ZtC?e>rHfV3WG^SVDs2%mBFF?YSK&zf+| zIHVOWwlwvQWzSGz8;(_@4Qw0oPeG^8?5biyOY1%n+&a_75uBq{RAi%}sSVz4TAZ1R zht{t$%f)TEbdfv6SBf6U7O3uXmVHT;C_BqPfLI1O0sC970fAEriHu0JBu8u39e!56 z=LBRO;qQ_xQS276+cvpBbhqsdFHcplq%tH2ug@P%e_Pw)injl0BpBxA!zLBKGE+x= zGv3Y1Oyszn{m4W*K^cVGI_^}PYic)Bvt-^dqZW4%Q)u_UO;3+9<+8NiZ^NSs!;^4+ zK{-`t*EZGX_vUntc4+nYn?$cdLpe;j+N=dnP+2cF8-3By+ok3oy>!8W4;8Y$4CYJX z5^s#5`CS>WH1|_h>EA7Gq~>ah2%mOFf7_|LF4B2}D%F!Hv{_!%-TXNRHS>pXXmS;FS>~A3 zNLH&kCgN=0G+b_UT3tIeMz`7Bt%+87xM%p})jh5&=#DBuTXDPM!&I9K*z&0v<6bXF z`sdrf;^>ra_K3?QVM|qN$!%Q{@<&4xo?m(BvV_(cGVVLA^Pzvl{}l-DOB0thov)Sh z-L^t*Ql*c;5LH-~{we1IE>`607;hL4S!eNUg^8}V8%vDmIqwUT*c_J(*u!4Vg{SJe z_c|E3lWYh>cG7Vd)p)w#2FAR^x7khUohik}SL1DO>aVPpSC$&iz1B?@Oae3#;&LcO ze6ZyoT8SMH{)Wn7`SNCa$9ND=v251UQ_ji$Zv8$-mNOe_k_1mj?UsOmxp&qS90I|W z1amY)s}U!TN0d+k;CXwOWmM{7erpjs7D|OPZ1!CAhEInbpT}vRV#0w$;{CsCUDr}0 ze)DYV-Rg)aiC+!beS*K;nj@PP)hk0(e&tr(xa!`E^mWmng2t95v5h8paQWwZZ3IaPIJth||5FS6n|q#XR?D zbSrzw=Dd$oEHYMA??MtRe+IOq*U7jFM1>R(bP=v^ zlvGyEW_~3OX&(zy z%Oe=`hSWaVy0H5cZ`Jb8c5UXPhD?3}-a8~)RP}-v`p8r1yKNNd%(X+IH~G7uHfCQ8 zyyrw-wRiYNM#;+RM9PM1`1WUlNR9fKj@KA+q)8XEHbIZ2onK4`tWV;~xl=_4_NWxi zP3&M8yy2_J1n?0SULi4(D@vgFz({AX@+sev_yhgJy2mSD%5M@)R7xB=$=`>Hq_^q% zIN{)sY`kJ$x9jb>>apX|qEKp)?vM4O((>}zopZ0VxD%2G+12l2RF>Sk`rUWV;=W_( zkCrl}m=sHvU3A@WK{?*J4-=0{Kqy%}wNQ7p;E0B<7JLEo2=NdSDM(li88&pzEzU4I zEXb=@?F(}*`YnH2{Rmqs)G=r`q-qV*o&f-$0cn4=AM|#yteAO(O(*5L~YG@``$A7pabVzs> zc!Q~_J#a{>p2htxs^66@suZyhg63t@^aR#DO;pt21YTWGEvQmtJUqBlivtbk_Nz`# z4vDg!;D<7NY9ipMtdvPDkKnl($NbikN&T38@kl28UTc{94)W;yl$8C%_W^xuUf9cS z>vLeu7UPSNiD2WQ&jHA)XL_5E$E(`_QhDe6zlUZdN)4bJ4H}ug=3NsA3flY(cf(+a zyrV>4n;+IUgNsPa{oC6ag4Chpwnh@$Qyql{T0Ig=bMMjsapBnt>Gai-B(Qo=L{aGK zoA%=PCgJ3PbY_&7uveD^|K8R1c1mP;GE*g4-pXA>~;>RfG7I(e3@31BGtqbg9R!We^53vru zw6CtK)p?Pb4q4KI@G;>h=8QEbeuM(n{&07#h4KzuZeQ5pmyd<42j_$mh6n||DMXW& zg2I4b=|i+J{$5N)t9cO9DB_J=jmY5u&v5+f7!g=gq;lixy~!TD(-4k}vqp2|!o@

@cE!57jDjVhm8MEoeRN0LQ_+}A@pG%B@7w$jic8#Rc3auvT&c(BPIfJ8?eP}-V z{`Afp-U{)hiCGLq#bQ0{`{xwTo_&F|uNCb9omMCT=^E~+&lBr9fH^sNBjxr-q-Q_f zN*~EcX8}w}99Qqxe3TieLVnJ`0g-T%$=?Y~O<|zq*86|s|2?|fS0wF2os>SD++dQU z4JjoWJv}yLH}u?lZ$r~)cOTQjN+8?*`p6AaQ~FxRjjkWBiJSw*WF1||7I5b;e zy)a<)*OMBQ2h{llpR1)~JP|W{028o$Q)bqC99O>Q`~s7?c_Rq?o@At**ZRy>91R0B z1~u|E%TS&;n+uBF@~6_PFdjOr38VGyLT|>anm|%?b*6tbg#A@}b}V)exO;s3E1E-uX-Q;`ze5r{g*1Qhg zc1MvH2N0Y-^#EC&-69=yc;+}fv}9(!Xk9dbx9Ejt;5VfCcZ5zx9^78(&t=2yYK-+6 zGo!Lt7H*sYvI9^*-%-zMu>jy|%I8f>QM7)B_{l9rM z+`EVM%5Ts>Btw}zKc}E2{r$)*>0FS6v}KLjhUDHllt`w@Be=@4Nf2#7ViOE!8XCF| z5f!aKzh-$KMOso*=+nEoR4-$afRiAS_EsjpH9fryHF$hnT}hhKGwzuJ0iFOuOzh)n z(o^Nz1Xb&EP`3rVHtcbdeN+gRTCb@{LraA6Lf2m?%6# zHF(gEZ!!I`xy680K|?V}{CHd5!11wksg?D}oylU{-+Zo=LaN<(_@#l1C|Z-aih|dl z_bpc}%i0cFCL=4hO{4*llXj2R-U@t zix=29&L@6X4-S{NvOxMr{~W6#|MY2VzNLq6vwSOwu90c$f;IW;y-h{bpdbYrEH|Kz z2DQ7WlT*pL15;o8P@bu0z37}KKf6;E;6MJY)ib|BCZMR^yVK`NO;ifZ5w9_`EXRjj zQB0Y(LPdsC25Ut=?=)&Y&M<=BFwm$GKq2Mpe|6{cJF96oPrL)XCsYtEz>&`MmCkJ; zqvY@b_k7*V{57oEt+1b5xji}u2M4@nT=L#6j$tEnbH9cLBEWr0&((QY(bJ}DJ z%Aq?-SMo~tRIHD>`jX5Yev+5U#gRkjVxW*}X_peUmZAk}WHd8755@5ESbf6N5@!4- zFvCkqDoZ=aeswJfs3_xkQabB)Xg4nJZ}50b9*3 zcF%T6OIJF%RO>?fGH5k`5hFK7aR5Xhvm##K#UU=5)6R-Hlz%b;o>8?b6M{8P^9+~=^&D&BpIOU30j1}F@rBbJ9UD`8 z_AIoZG#iETh5DZhe8i`<17pH3)ivDE-_z8tlSBG_4jaVz>-6;W!?zE6Jzm@eB- zBznX2Ltxo7v3HN6q7s{-!@py3pTQvayV@;xveyg4w>CS0zK7g$Me1p+q7+OV|J%2h z!auE{!JG(Eq}?%%kq*QTp6=+JxCx7JQT>(jF&R-%B32Hr1KGyTRGb^jzD_EIYQX50 zSZ3V320U(%;3X{Z`kV>SZuh9x$-tuXLbNt*p& zmm){*(gBCbdh?q}HwJ%nwC29{geGrA+ETs2iDM^MUDkw8u_`*8NhgfJyVfkl;oo1|QO45kXA~>z}T80W#6u=1#K>n>rDMN>hq7wvP zFhKd7$&jasptuH94(>%k;uRRKS+eDC_vJfJT^A|h2n9)eiu?${91^|3oWBp8@g0k5pdxyRG- zSe_r*FiB(tqCIzDS~Kq|%jWFJ!}{F!=m6Fa^vG{vLE|SLpD*-_sb|da^*z zpvjG^wsc?yYmndi+CfqRy90N=P^efjm(`rzT|70eNb$m%7ATM>h9@Y9&~fCIQDHWH z3t9GoRuusuF+>_;EiWZ}EvJ1zyEtITo;X_a0=HZ%@edy#A`lM{lHRoFByyLC*rab& zZU*`U6WeTQHL7De8W1?&`9t7iugQFOP4qw+(}*r-Qq7y_$4Yh#Y*``gP+1|LIAifj z^zgAPv1w!QY%J}-{OYQh#K@DzV?*+?oE1iyB<{o;`YDSrRJkTOooW+86+Vn;C;`{)~064?bT7 znG*yM1K?mLD*@G0V*N?Nsw?w^f)0t=(NT$BmI3bzj-3RbeQ~+nk(#bH)Y0Y9{ikkJ z&${TWq4}n(s}`d6X7AES<{U72EU)XPg_oNj>HbYt_Z$Y2UC-})Yo_4%54e^GTG9xJ zQUl_EED@l+#KgT+t78cRO&)*T@%UX}QD*qDZVH>&9YunY&IFY^(z5@p ze%(lyTYba!#%LJ9SQQ4btmyS?7*%WcK^f=EMSc%NT3|@b;IaCE_EQV?fajzz+{%_# zlM|I0^50vU;!zaSpfSKDOgn!}*@rE>gh9bD~{cD0N zB22>sniWR7aie8=I_#oSOQ3dp{4vwEB!YtEn)>-^KyXrKbjAe&W*{o!T~bvwFI@SL zpG_9$VoG2Dr1BIiCf0P?$izL)Cb)ao7eK{PxHuVLqCZ&4U~it&a1`h)%Jzmb%hrOm$8AC=1*f{<&kgn5?WFsPpz057h&y++h@e2?rMGIZ^s3#_VoeFPwY~Km^rz&1 zZI4J&dE^ctiJY1#)n_L=Lg1k7Qt}&iv(b7?SSy))0|qN?QJ{$nB|ODoVzc$?bvyl4 zUxlt(2aC?0a$JZ+{9TPc7#mk*v+iYv6=5mEQL7ae(%9e`-KXmo4x7Q*g8y%a%_)XL zmL+@757;K4Q2m_T%*MYB5DR<@T&msoVQA_yLL9D_8|X1HFHMZ$ErHjs9Z6&=Mp_+` z4YKe7@-8@MkLn6nv8FD*GzPLvXKSBd&WbAdFs+fPcfkq~Dkv-jRT0{2?OSFB;)6cY z#TB2Yz+5&spK^y)HV8;F2qgc*j-Q%U6y1BY(w-EK-}uh)%kFVjHQehrmuujx_~Hjb=3=l z0|+V|2r2&I@t&fSVZZHfuZe-0#FOfFO=#x!%18QYFqpzou6>@E3GZsBA9G#d7ES$K zqVPTSo(tzeJBb`cwI|b(xJOI-W0NkpbD@LAdb3eX-1bYLe}_?l2~vMXwz_9A*If{= zr8AbdHCp0K4PF2y%w%fJf%(lP@46&5yacX@hC9R^DL$QmTM-5^Bhk4#l~p)8F}CY; z@$hcHRvXN;zC;(qQ2^B#?!QKpGr<_Sxw?+2X=^6E%8g%L-b;0ycFIg8B_)iL9Xg=s z|Ko*>sXpIp({~@Myr9|X#JsUN6YLzBYPF+?k9O@~M>0cUZ?KG`jYQ4>Hn}k{n7+@! z7z_lJjxG=0o{eo-p6~-O%(2dSK0-*a^S?eV49cV5ESx$*)WX;2h6d(0f9a*a%x(d+Q*NqNcLR>NI(wfbG`;% zuQ$=@+zBTyjuEw_i`|CU=XNDThFr_UReit8$7wb#mA^E7^=PdfgqLlLIjI%Q-&D&t zB@z5lm(S+zV!ym!V=xy^eRr}6caKbHb}o~BH9v2}mTZS#pw3?JN3tK*6l3#$-51{X zrhP4x+BWM8c!sh>15=8Ok5xP#!yq6Xc#W-{3be6ejR&Zww@H@wI0oUyun6eg3J7}x zaUAf7aS-WIYM@?Ly@SI5WnNCVLna@m&-mgI{bpRu&QPvxSHD)Z80?n3F<$X5O|m zz*chJNpuyS+&EBL2R0kKG?F=hXhu35@ZtzjCPTCh1Vti0k!HjnF;OX=pWO^9aD3

9( z4AB0sZJR;*9`yRs(5^R5% z99qH{@85F*sX(}ij)G#IxYres+*bdlbFKg3e9HNPDD@jU;V@+ce!5BV$9s>NK~_uxoj{~GMU$5Ci=twdI4P~uonOdJR!m4& zPjhlSE#nZ`QyQ!o6Zj{|AkQ1#G)Kb1apawz*kKGQmH1v3VH{Y26p zf<`;Hj?mrz7~ea-o|xD$y>`qNWZhGUH)CGfgP7P=o6=Wzagsa(OSjb_kszYMM)W1| z`27G4y2Q%fy2XI=DZrG*d^N7I+O_+T5!t<8QELM_Pf2-sW?mk?n!X&m^v4QzrGINn zt~`(s_=8w;`)Kb4;_qtmR<>5nllN+tU^O&9T#FN|=jTcG2W>@}j-J8H+^pm^w;?xD z5{46Qb}jWKw-nbT+DAjmA`( z5M5bH5hPIPi^Nq?D9b3Oj(l zOx~IzHlHJrsdQJ6KPJt`=S1LNXS68}8$_aBL&P4@I%QR$+lfvbEnxopvzA%Rtrw6& z;VFA~VNqc`jTIanxQvH)NC71g9!elUw}=Qs{5+2yfS3X**DQGo!qY*PI(WnF4swRi zAUCfLSO?V#a<+5(JPdcE6<1~^NK&)3G`g!he5ARPdJ*l!Y%{a~uou#xbei^+z<72D zD^oF@v_UHzMiHQL6vfUAz!|UTX!75FT)&UN4U|2jIUUOYGr)w9fWYweBtR^auP^Hz}zs&>_iS zRUys>u%42RHx85m)xEJ(rSAs_O4y@SFFr=pwZT53 z(3EKhP4%~#+vaLJJ8pS-2jHuTmuH2VtYrJz9@}qpsiaES!2W(PEnZbtV*i4DYdn(5 z(AJSt_B<4Ps_hyM%cYf_osRW_nGzkP3TsiRktjnG^?#jaX5-&E{9lfOm;s52_;H0l z!f>^n!eG1*Jq@H923R{j3=Vp=N0uw(#vpeu1+7%IE%lKBq;G)VeLPs7aH~8-!ROr_ zGSNt8N7Rl?#qRI6-ED0f?PL(qz_elaD&WZ)X(9NCFRs zE=Aq{6h*}EoOffH*B){q8^53BL2ZeQjvqkM2MR!@btZ~LLGebq#QBlDnr~AwjBVj_ z_EwP3d%mjysT_ERq|c6fko3ckYln!&00zOIKQJDuY{L6TSncxvCA9VrmW;&Ogzv2W g@3U|JA0OsSh@;o&jH)$T^Ah}#5| void; fieldErrors?: FieldError[]; variableTypes: VariableTypes; - validationLabelInfo?: string; + validationLabelInfo?: ReactNode; placeholder?: string; } diff --git a/designer/client/src/components/graph/node-modal/editors/expression/Editor.ts b/designer/client/src/components/graph/node-modal/editors/expression/Editor.ts index 889c47ac0c6..80086fbd267 100644 --- a/designer/client/src/components/graph/node-modal/editors/expression/Editor.ts +++ b/designer/client/src/components/graph/node-modal/editors/expression/Editor.ts @@ -4,7 +4,7 @@ import { SqlEditor } from "./SqlEditor"; import { StringEditor } from "./StringEditor"; import { FixedValuesEditor } from "./FixedValuesEditor"; import { ExpressionObj } from "./types"; -import React, { ForwardRefExoticComponent, LegacyRef } from "react"; +import React, { ForwardRefExoticComponent, LegacyRef, ReactNode } from "react"; import { DateEditor, DateTimeEditor, TimeEditor } from "./DateTimeEditor"; import { DurationEditor } from "./Duration/DurationEditor"; @@ -27,7 +27,7 @@ export type EditorProps = { className?: string; fieldErrors: FieldError[]; formatter?: Formatter; - expressionInfo?: string; + expressionInfo?: ReactNode; expressionObj: ExpressionObj; readOnly?: boolean; showSwitch?: boolean; diff --git a/designer/client/src/components/graph/node-modal/fragment-input-definition/settings/variants/fields/UserDefinedListInput.tsx b/designer/client/src/components/graph/node-modal/fragment-input-definition/settings/variants/fields/UserDefinedListInput.tsx index f6891664f31..89f19efae71 100644 --- a/designer/client/src/components/graph/node-modal/fragment-input-definition/settings/variants/fields/UserDefinedListInput.tsx +++ b/designer/client/src/components/graph/node-modal/fragment-input-definition/settings/variants/fields/UserDefinedListInput.tsx @@ -3,7 +3,7 @@ import { EditableEditor } from "../../../../editors/EditableEditor"; import { ExpressionLang } from "../../../../editors/expression/types"; import AceEditor from "react-ace"; import { ListItems } from "./ListItems"; -import React, { useMemo, useState } from "react"; +import React, { useMemo, useRef, useState } from "react"; import { useTranslation } from "react-i18next"; import { FieldName, FixedValuesOption, onChangeType } from "../../../item"; import { NodeValidationError, ReturnedType, VariableTypes } from "../../../../../../../types"; @@ -15,7 +15,11 @@ import { GenericValidationRequest } from "../../../../../../../actions/nk/adhocT import { debounce } from "lodash"; import { EditorType } from "../../../../editors/expression/Editor"; import { useSettings } from "../../SettingsProvider"; -import { Box, Button, FormControl, Stack } from "@mui/material"; +import { Box, Button, CircularProgress, FormControl, Stack } from "@mui/material"; +import { useDelayedEnterAction } from "../../../../../../toolbars/scenarioDetails/useDelayedEnterAction"; +import { IAceEditor } from "react-ace/lib/types"; + +const ENTER_VALUE_COMMAND = "addValueOnEnter"; interface Props { onChange: (path: string, value: onChangeType) => void; @@ -42,6 +46,7 @@ export const UserDefinedListInput = ({ initialValue, inputLabel, }: Props) => { + const editorRef = useRef(null); const { t } = useTranslation(); const [temporaryListItem, setTemporaryListItem] = useState(""); const [temporaryValuesTyping, setTemporaryValuesTyping] = useState(false); @@ -83,6 +88,14 @@ export const UserDefinedListInput = ({ [typ.refClazzName], ); + const { setIsEnterPressed } = useDelayedEnterAction({ + action: () => { + editorRef.current.execCommand(ENTER_VALUE_COMMAND); + }, + errorsLength: temporaryValueErrors.length, + inputTyping: temporaryValuesTyping, + }); + const handleChangeFixedValuesList = (fixedValuesList: FixedValuesOption[]) => { onChange(`${path}.valueEditor.fixedValuesList`, fixedValuesList); handleTemporaryUserDefinedList(fixedValuesList); @@ -90,6 +103,7 @@ export const UserDefinedListInput = ({ const handleAddNewListItem = () => { if (temporaryValuesTyping) { + setIsEnterPressed(true); return; } @@ -130,7 +144,6 @@ export const UserDefinedListInput = ({ } }; - const ENTER_VALUE_COMMAND = "addValueOnEnter"; const aceEditorEnterCommand = { name: ENTER_VALUE_COMMAND, bindKey: { win: "enter", mac: "enter" }, @@ -172,18 +185,22 @@ export const UserDefinedListInput = ({ ({ marginTop: theme.spacing(0.5) })} /> + } expressionObj={{ language: ExpressionLang.SpEL, expression: temporaryListItem }} onValueChange={(value) => { setTemporaryListItem(value); setTemporaryValuesTyping(true); setTemporaryValueErrors([]); validateTemporaryListItem(value); + setIsEnterPressed(false); }} variableTypes={variableTypes} readOnly={readOnly} ref={(ref: AceEditor | null) => { if (ref?.editor) { + editorRef.current = ref.editor; ref.editor.commands.addCommand(aceEditorEnterCommand); } }} diff --git a/designer/client/src/components/toolbars/scenarioDetails/ScenarioLabels.tsx b/designer/client/src/components/toolbars/scenarioDetails/ScenarioLabels.tsx index 64609d3a5ba..f8082d3aede 100644 --- a/designer/client/src/components/toolbars/scenarioDetails/ScenarioLabels.tsx +++ b/designer/client/src/components/toolbars/scenarioDetails/ScenarioLabels.tsx @@ -5,6 +5,7 @@ import { AutocompleteInputChangeReason, Box, Chip, + CircularProgress, createFilterOptions, Link, styled, @@ -15,13 +16,14 @@ import { useTheme, } from "@mui/material"; import { selectStyled } from "../../../stylesheets/SelectStyled"; -import React, { useCallback, useEffect, useMemo, useState } from "react"; +import React, { useCallback, useEffect, useMemo, useRef, useState } from "react"; import HttpService from "../../../http/HttpService"; import i18next from "i18next"; import { editScenarioLabels } from "../../../actions/nk"; import { debounce } from "lodash"; import { ScenarioLabelValidationError } from "../../Labels/types"; import { useTranslation } from "react-i18next"; +import { useDelayedEnterAction } from "./useDelayedEnterAction"; interface AddLabelProps { onClick: () => void; @@ -109,6 +111,7 @@ interface Props { export const ScenarioLabels = ({ readOnly }: Props) => { const { t } = useTranslation(); + const autocompleteRef = useRef(null); const scenarioLabels = useSelector(getScenarioLabels); const scenarioLabelOptions: LabelOption[] = useMemo(() => scenarioLabels.map(toLabelOption), [scenarioLabels]); const initialScenarioLabelOptionsErrors = useSelector(getScenarioLabelsErrors).filter((error) => @@ -193,10 +196,13 @@ export const ScenarioLabels = ({ readOnly }: Props) => { } }, []); - const setLabels = (options: LabelOption[]) => { - const newLabels = options.map(toLabelValue); - dispatch(editScenarioLabels(newLabels)); - }; + const setLabels = useCallback( + (options: LabelOption[]) => { + const newLabels = options.map(toLabelValue); + dispatch(editScenarioLabels(newLabels)); + }, + [dispatch], + ); useEffect(() => { validateSelectedOptions(scenarioLabelOptions); @@ -216,12 +222,28 @@ export const ScenarioLabels = ({ readOnly }: Props) => { } }, [scenarioLabelOptions, showEditor]); + const { setIsEnterPressed } = useDelayedEnterAction({ + action: () => { + const enterEvent = new KeyboardEvent("keydown", { + key: "Enter", + keyCode: 13, + code: "Enter", + bubbles: true, + cancelable: true, + }); + autocompleteRef.current.dispatchEvent(enterEvent); + }, + errorsLength: inputErrors.length, + inputTyping, + }); + return ( <> {!showEditor ? ( ) : ( { isOptionEqualToValue={(v1: LabelOption, v2: LabelOption) => v1.value === v2.value} loading={isFetching || inputTyping} clearOnBlur - loadingText={ - inputTyping - ? i18next.t("panels.scenarioDetails.labels.labelTyping", "Typing...") - : i18next.t("panels.scenarioDetails.labels.labelsLoading", "Loading...") - } + loadingText={} multiple noOptionsText={i18next.t("panels.scenarioDetails.labels.noAvailableLabels", "No labels")} onBlur={() => { @@ -300,6 +318,7 @@ export const ScenarioLabels = ({ readOnly }: Props) => { }} onInputChange={(_, newInputValue: string, reason: AutocompleteInputChangeReason) => { if (reason === "input") { + setIsEnterPressed(false); setInputTyping(true); } setInputErrors([]); @@ -331,6 +350,7 @@ export const ScenarioLabels = ({ readOnly }: Props) => { event.key === "Enter" && (inputErrors.length !== 0 || inputTyping || isInputInSelectedOptions(input)) ) { + setIsEnterPressed(true); event.stopPropagation(); } }, diff --git a/designer/client/src/components/toolbars/scenarioDetails/useDelayedEnterAction.tsx b/designer/client/src/components/toolbars/scenarioDetails/useDelayedEnterAction.tsx new file mode 100644 index 00000000000..0a697779195 --- /dev/null +++ b/designer/client/src/components/toolbars/scenarioDetails/useDelayedEnterAction.tsx @@ -0,0 +1,20 @@ +import { useEffect, useState } from "react"; + +interface Props { + inputTyping: boolean; + errorsLength: number; + action: () => void; +} + +export const useDelayedEnterAction = ({ inputTyping, errorsLength, action }: Props) => { + const [isEnterPressed, setIsEnterPressed] = useState(false); + + useEffect(() => { + if (isEnterPressed && !inputTyping && errorsLength === 0) { + action(); + setIsEnterPressed(false); + } + }, [errorsLength, inputTyping, isEnterPressed, action]); + + return { setIsEnterPressed }; +}; diff --git a/docs/Changelog.md b/docs/Changelog.md index b7fc96a4b4c..f40fce8d112 100644 --- a/docs/Changelog.md +++ b/docs/Changelog.md @@ -108,6 +108,7 @@ * [#7183](https://github.com/TouK/nussknacker/pull/7183) Hide categories from a scenarios list and more scenario details when only one category is available * [#7192](https://github.com/TouK/nussknacker/pull/7192) Fix "Failed to get node validation" when opening node details referencing non-existing component * [#7190](https://github.com/TouK/nussknacker/pull/7190) Fix "Failed to get node validation" when opening fragment node details for referencing non-existing fragment +* [#7215](https://github.com/TouK/nussknacker/pull/7215) Change typing text to spinner during validation and provide delayed adding on enter until validation finishes in a scenario labels and fragment input ## 1.17 From 7b79160138e357854054d3a1fcf1aacaebb9485e Mon Sep 17 00:00:00 2001 From: Arek Burdach Date: Fri, 22 Nov 2024 12:36:27 +0100 Subject: [PATCH 4/6] Docs update: release date --- docs/Changelog.md | 2 +- docs/MigrationGuide.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/Changelog.md b/docs/Changelog.md index f40fce8d112..f88ca4e2a3c 100644 --- a/docs/Changelog.md +++ b/docs/Changelog.md @@ -18,7 +18,7 @@ * Flink upgrade to 1.19.1. Note: it is possible to use Nussknacker with older versions of Flink, but it requires some extra steps. See [Migration guide](MigrationGuide.md) for details. * Performance optimisations of the serialisation of events passing through Flink's `DataStream`s. -### 1.18.0 (Not released yet) +### 1.18.0 (22 November 2024) * [#6944](https://github.com/TouK/nussknacker/pull/6944) [#7166](https://github.com/TouK/nussknacker/pull/7166) Changes around adhoc testing feature * `test-with-form` button was renamed to `adhoc-testing` diff --git a/docs/MigrationGuide.md b/docs/MigrationGuide.md index 305f7dabe8e..ccb15bcee1c 100644 --- a/docs/MigrationGuide.md +++ b/docs/MigrationGuide.md @@ -2,7 +2,7 @@ To see the biggest differences please consult the [changelog](Changelog.md). -## In version 1.18.0 (Not released yet) +## In version 1.18.0 ### Configuration changes From 4b34ab4fe5f07165a149bc4d4fc246fe348f75fe Mon Sep 17 00:00:00 2001 From: GitHub Action Release bot Date: Fri, 22 Nov 2024 11:41:05 +0000 Subject: [PATCH 5/6] Setting version to 1.18.0 --- version.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.sbt b/version.sbt index 74171046201..479ea0b5572 100644 --- a/version.sbt +++ b/version.sbt @@ -1 +1 @@ -version in ThisBuild := "1.18.0-SNAPSHOT" +version in ThisBuild := "1.18.0" From 8a6c1cfe8467299c824edd2ff448fa78f8fe1e6c Mon Sep 17 00:00:00 2001 From: GitHub Action Release bot Date: Fri, 22 Nov 2024 12:22:59 +0000 Subject: [PATCH 6/6] Setting version to 1.18.1-SNAPSHOT --- version.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.sbt b/version.sbt index 479ea0b5572..b8e5c6e922e 100644 --- a/version.sbt +++ b/version.sbt @@ -1 +1 @@ -version in ThisBuild := "1.18.0" +version in ThisBuild := "1.18.1-SNAPSHOT"