From 3bfa35fa407241879bc3704912eaae246634c933 Mon Sep 17 00:00:00 2001 From: marcin-szczepanski Date: Mon, 23 May 2022 11:43:42 +0200 Subject: [PATCH] FCL compiler - JavaScript --- html/about.html | 1 + html/fcl/tipper.cpp | 4 +- html/fcl/tipper.js | 208 ++++++++++++++++++ html/images/js.png | Bin 0 -> 72424 bytes html/index.html | 1 + html/manual.html | 24 +- out/artifacts/jFuzzyLogic_jar/jFuzzyLogic.jar | Bin 3127702 -> 3131018 bytes .../sourceforge/jFuzzyLogic/CompileJS.java | 11 + .../java/net/sourceforge/jFuzzyLogic/FIS.java | 113 +++++++++- .../jFuzzyLogic/FunctionBlock.java | 125 +++++++++++ .../sourceforge/jFuzzyLogic/JFuzzyLogic.java | 28 ++- .../jFuzzyLogic/defuzzifier/Defuzzifier.java | 5 + .../DefuzzifierCenterOfGravity.java | 21 ++ .../jFuzzyLogic/fcl/FclObject.java | 8 +- .../membership/MembershipFunction.java | 5 + .../MembershipFunctionPieceWiseLinear.java | 11 + .../membership/functions/MffFunction.java | 12 + .../jFuzzyLogic/rule/LinguisticTerm.java | 12 + .../sourceforge/jFuzzyLogic/rule/Rule.java | 18 ++ .../jFuzzyLogic/rule/RuleBlock.java | 22 ++ .../jFuzzyLogic/rule/RuleExpression.java | 29 +++ .../jFuzzyLogic/rule/RuleTerm.java | 11 + .../jFuzzyLogic/rule/Variable.java | 21 ++ .../RuleAccumulationMethod.java | 11 +- .../RuleAccumulationMethodMax.java | 5 + .../RuleActivationMethod.java | 44 +++- .../RuleActivationMethodMin.java | 5 + .../RuleConnectionMethod.java | 11 +- .../RuleConnectionMethodAndMin.java | 5 + .../RuleConnectionMethodOrMax.java | 5 + .../ruleConnectionMethod/Szczepanski.java | 11 - 31 files changed, 764 insertions(+), 23 deletions(-) create mode 100644 html/fcl/tipper.js create mode 100644 html/images/js.png create mode 100644 src/main/java/net/sourceforge/jFuzzyLogic/CompileJS.java delete mode 100644 src/main/java/net/sourceforge/jFuzzyLogic/ruleConnectionMethod/Szczepanski.java diff --git a/html/about.html b/html/about.html index 6356580..9721c32 100644 --- a/html/about.html +++ b/html/about.html @@ -113,6 +113,7 @@ Helano Póvoas de Lima DefuzzifierContinuous graphic bug. Nikola Nikolovski RuleBlock name bug. Ivan De Falco "AND Bounded Diff" bug. + Marcin Szczepanski FCL Compiler (JavaScript).

diff --git a/html/fcl/tipper.cpp b/html/fcl/tipper.cpp index 45abea9..ae9860a 100644 --- a/html/fcl/tipper.cpp +++ b/html/fcl/tipper.cpp @@ -1,7 +1,7 @@ //-------------------------------------------------------------------------------- // Code generated by jFuzzyLogic -// jFuzzyLogic Version : JFuzzyLogic 3.2g (build 2013-10-20), by Pablo Cingolani -// jFuzzyLogic creted by Pablo Cingolani +// jFuzzyLogic Version : JFuzzyLogic 4.0 (build 2022-05-12), by Pablo Cingolani +// jFuzzyLogic created by Pablo Cingolani //-------------------------------------------------------------------------------- diff --git a/html/fcl/tipper.js b/html/fcl/tipper.js new file mode 100644 index 0000000..65be240 --- /dev/null +++ b/html/fcl/tipper.js @@ -0,0 +1,208 @@ +//-------------------------------------------------------------------------------- +// Code generated by jFuzzyLogic +// jFuzzyLogic Version : JFuzzyLogic 4.0 (build 2022-05-12), by Pablo Cingolani +// jFuzzyLogic created by Pablo Cingolani +//-------------------------------------------------------------------------------- + +function ruleAccumulationMethod_max(defuzzifierValue, valueToAggregate) { + return (defuzzifierValue > valueToAggregate ? defuzzifierValue : valueToAggregate); +} + +function ruleActivationMethod_min(degreeOfSupport, membership) { + return (degreeOfSupport < membership ? degreeOfSupport : membership); +} + +function ruleConnectionMethod_and(antecedent1, antecedent2) { + return (antecedent1 < antecedent2 ? antecedent1 : antecedent2); +} + +function ruleConnectionMethod_or(antecedent1, antecedent2) { + return (antecedent1 > antecedent2 ? antecedent1 : antecedent2); +} + +class FunctionBlock_tipper { + + // VAR_INPUT + food; + service; + + // VAR_OUTPUT + tip; + + // FUZZIFY food + food_delicious; + food_rancid; + + // FUZZIFY service + service_excellent; + service_good; + service_poor; + + // DEFUZZIFY tip + defuzzify_tip; + + // Constructor + constructor() { + this.tip = 0.0; + this.defuzzify_tip = new Array(1000); + } + + // Calculate function block + calc() { + this.reset(); + this.fuzzify(); + this.calc_No1(); + this.defuzzify(); + } + + // RULEBLOCK No1 + calc_No1() { + // RULE 1 : IF (service IS poor) OR (food IS rancid) THEN tip IS cheap; + let degreeOfSupport_1 = 1.0 * (ruleConnectionMethod_or(this.service_poor, this.food_rancid)); + if (degreeOfSupport_1 > 0) { + for (let i = 0; i < 1000; i++) { + let x = 0.0 + i * 0.03; + let membership = this.membership_tip_cheap(x); + let y = ruleActivationMethod_min(degreeOfSupport_1 , membership); + this.defuzzify_tip[i] = ruleAccumulationMethod_max(this.defuzzify_tip[i], y); + } + } + + // RULE 2 : IF service IS good THEN tip IS average; + let degreeOfSupport_2 = 1.0 * (this.service_good); + if (degreeOfSupport_2 > 0) { + for (let i = 0; i < 1000; i++) { + let x = 0.0 + i * 0.03; + let membership = this.membership_tip_average(x); + let y = ruleActivationMethod_min(degreeOfSupport_2 , membership); + this.defuzzify_tip[i] = ruleAccumulationMethod_max(this.defuzzify_tip[i], y); + } + } + + // RULE 3 : IF (service IS excellent) AND (food IS delicious) THEN tip IS generous; + let degreeOfSupport_3 = 1.0 * (ruleConnectionMethod_and(this.service_excellent, this.food_delicious)); + if (degreeOfSupport_3 > 0) { + for (let i = 0; i < 1000; i++) { + let x = 0.0 + i * 0.03; + let membership = this.membership_tip_generous(x); + let y = ruleActivationMethod_min(degreeOfSupport_3 , membership); + this.defuzzify_tip[i] = ruleAccumulationMethod_max(this.defuzzify_tip[i], y); + } + } + + } + + // Defuzzify + defuzzify() { + let sum_tip = 0.0; + let wsum_tip = 0.0; + let x; + for (let i = 0; i < 1000; i++) { + x = 0.0 + i * 0.03; + sum_tip += this.defuzzify_tip[i]; + wsum_tip += x * this.defuzzify_tip[i]; + } + this.tip = wsum_tip / sum_tip; + } + + // Fuzzify all variables + fuzzify() { + this.food_delicious = this.membership_food_delicious(this.food); + this.food_rancid = this.membership_food_rancid(this.food); + this.service_excellent = this.membership_service_excellent(this.service); + this.service_good = this.membership_service_good(this.service); + this.service_poor = this.membership_service_poor(this.service); + } + + // Membership functions + membership_food_delicious(x) { + if (x <= 7.0) return 0.0; + if (x > 9.0) return 1.0; + if (x <= 9.0) return 0.0 + (1.0 - 0.0) * ((x - 7.0) / (9.0 - 7.0)); + } + + membership_food_rancid(x) { + if (x <= 0.0) return 1.0; + if (x > 3.0) return 0.0; + if (x <= 1.0) return 1.0 + (1.0 - 1.0) * ((x - 0.0) / (1.0 - 0.0)); + if (x <= 3.0) return 1.0 + (0.0 - 1.0) * ((x - 1.0) / (3.0 - 1.0)); + } + + membership_service_excellent(x) { + if (x <= 6.0) return 0.0; + if (x > 9.0) return 1.0; + if (x <= 9.0) return 0.0 + (1.0 - 0.0) * ((x - 6.0) / (9.0 - 6.0)); + } + + membership_service_good(x) { + if (x <= 1.0) return 0.0; + if (x > 9.0) return 0.0; + if (x <= 4.0) return 0.0 + (1.0 - 0.0) * ((x - 1.0) / (4.0 - 1.0)); + if (x <= 6.0) return 1.0 + (1.0 - 1.0) * ((x - 4.0) / (6.0 - 4.0)); + if (x <= 9.0) return 1.0 + (0.0 - 1.0) * ((x - 6.0) / (9.0 - 6.0)); + } + + membership_service_poor(x) { + if (x <= 0.0) return 1.0; + if (x > 4.0) return 0.0; + if (x <= 4.0) return 1.0 + (0.0 - 1.0) * ((x - 0.0) / (4.0 - 0.0)); + } + + membership_tip_average(x) { + if (x <= 10.0) return 0.0; + if (x > 20.0) return 0.0; + if (x <= 15.0) return 0.0 + (1.0 - 0.0) * ((x - 10.0) / (15.0 - 10.0)); + if (x <= 20.0) return 1.0 + (0.0 - 1.0) * ((x - 15.0) / (20.0 - 15.0)); + } + + membership_tip_cheap(x) { + if (x <= 0.0) return 0.0; + if (x > 10.0) return 0.0; + if (x <= 5.0) return 0.0 + (1.0 - 0.0) * ((x - 0.0) / (5.0 - 0.0)); + if (x <= 10.0) return 1.0 + (0.0 - 1.0) * ((x - 5.0) / (10.0 - 5.0)); + } + + membership_tip_generous(x) { + if (x <= 20.0) return 0.0; + if (x > 30.0) return 0.0; + if (x <= 25.0) return 0.0 + (1.0 - 0.0) * ((x - 20.0) / (25.0 - 20.0)); + if (x <= 30.0) return 1.0 + (0.0 - 1.0) * ((x - 25.0) / (30.0 - 25.0)); + } + + + // Print + print() { + console.log("Function block tipper:\n"); + console.log(" Input %s: %f\n", "food" , this.food); + console.log(" %s: %f\n", "food_delicious" , this.food_delicious); + console.log(" %s: %f\n", "food_rancid" , this.food_rancid); + console.log(" Input %s: %f\n", "service" , this.service); + console.log(" %s: %f\n", "service_excellent" , this.service_excellent); + console.log(" %s: %f\n", "service_good" , this.service_good); + console.log(" %s: %f\n", "service_poor" , this.service_poor); + console.log(" Output %s: %f\n", "tip" , this.tip); + } + + // Reset output + reset() { + for (let i = 0 ; i < 1000; i++) { + this.defuzzify_tip[i] = 0.0; + } + } + +}; + +function main(food, service) { + // Create function blocks + const tipper = new FunctionBlock_tipper(); + + // Parse input + tipper.food = food; + tipper.service = service; + + // Calculate + tipper.calc(); + + // Show results + tipper.print(); +} diff --git a/html/images/js.png b/html/images/js.png new file mode 100644 index 0000000000000000000000000000000000000000..efc1d686a0c5d6bc3dfea0b73d04375373f7fd70 GIT binary patch literal 72424 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 k@VTons of advanced features @@ -956,11 +957,32 @@ java -jar jFuzzyLogic.jar -c tipper.fcl > tipper.cpp

+
+ +

+ jFuzzyLogic can compile FCL into JavaScript code. +

+

+ A built in compiler allows to compiler FCL code into JavaScript. + For instance, by simply running the following command, we can create a JavaScript program that has the same functionality as the FCL program: +

+java -jar jFuzzyLogic.jar -j tipper.fcl > tipper.js
+
+ + The previous command creates this JavaScript code. +
+
+ +

+
+

jFuzzyLogic provides a parameter optimization framework, allowing to learn or refine fuzzy parameters using machine learning algorithms. diff --git a/out/artifacts/jFuzzyLogic_jar/jFuzzyLogic.jar b/out/artifacts/jFuzzyLogic_jar/jFuzzyLogic.jar index 7887a3037143ec4675b0d09a6a7deff96df5c9f2..685a68ebe3049cb41fcf8693a7556c8013322b56 100644 GIT binary patch delta 98980 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 zνDB4**rm?_<-8TDP(XDy;E!6k$mHXG`rR{u#D&75!U66HjeTc+o@LB2L|>OuYVtELR>LKppYX^bO9iH>Cn}j%GDee^j80*HQ%LeebQljN z_Cxd^2YC;c4W#@`} z>gZDquz~{)J{CVYA6L-f5(`950|qy4@lLYi4u4{2>?1K~psVXv4gF!nzoR)S{YcOB z=xnHF^y zG^Gx5$R3v@rPA=F-|g1Jrz9V|9-z5hSY_yY6F8HZF_jml@Q2 zanuwmrsN%G#d$$_u=*HVmFKA5xTJX!vi>1MX-Bc;)_OUfMME4j1e4XLjqRTkP@ ziHVlS4QbRYgelA7&SxGBP&huKtaFztOU1Z_XRr?+{wM%R%DOTq_6w1OKR|Vl)}2sJ z*b#*+ly`H{+GZuYIgLpb2BFwp;o4^7@KQ^XkmS1AS4i`XntObLZLSnm}GocNcuxr zpD(}dTx10lYvcV6f$}3-+2Rdn*e5amPvT#N1ykeCkLJd#&s2W7(BzLDULtOcTAzE7 z4`H~lL2DrOjF#RLFz@nULN>S015ziw_AX&Z6!O06^s1A}`&JdFGm%o(c{ps@#*+!I zyOK=0bWR-dZtUpBLwwtI$?Dul_kH6Ne7m{B2yA9SzJ=W2>eiu7olEyPFD{m8r>#qk zi~y9@jn&l8J=@mP`khj@_oR>b(H1OU4i9g=D>B+tW#+}1SL8@EycP;Svjznl4}J}J zA2cZ=-APsqzDXeLl5w(!6NU-0gJX-><1KZ?gl#PjU)U2`0;+xQ`B&N; zGy$?w+Dx}`gP(YCm^S5V1kK7rNGcm}9>VKZYOhO_c7%Qz^Gp0>OOwSGv6qUBpXJR( zsOGQQ+uXa6u>)8{i&IPwny0Qinkc4`7DID^D)^PkO=HC=HVPjPEJ1mkSq_ts6=)2Mu!xX5GK6fGzCmSuC(S~E;&tXmj+jMtw6 zYST17;#$Wpkgp3nf&D5snv?Q=Zc(;mLe(XZgRgU&8fmIDgD&vY9?AIFc$+!ta|zuW zPe+k0MWlL8?00+7_JG7?L+nU_%&UtX-5;yAn`+oU@d=pf4f5H}X(UPW8O?^#{F82! z!VOulDH6oQWep$ONHr*X|S4mfW%gr%1zu$0dZu_Ko^KI;ZB>i!@u1E2wkUQ$f zblF+gio%~HFQU!zz-VuK@Flq;(~tSKbC?yccw7H=L;v_|TNc;IU&It5i@yroVTJeJ z>_^g=zD~=J|IU=hnlDd1o*NzZfe)0#x{8g&!IQ*FK#hH{AkiPdnZ$}ggMDB_Y+gS0 zrmA&@nxY(~CiUx*dHF1VvbD&7(@? zX)6d`{JHgHjk8B;rTr2m$*)=eCcR!Ie*SF89-u>3*By_>pr&CE2imv*} zkTs$_D>j#Se&C&Ts-b&h#g_)+{KVxt8@j>%V3IWs!kMM}9yLe8md~yNatnBK?ejx- zQG!AhtL@Q$$IKz)TV-@p%Uz|$`gp0qJN!afh!e%ew)gxc#Xb3$C&%n7_M5;@x59tl z8%h&FJ`@u`L5=eM_j|*qcgg?rVL1yF6gZ9t(7;||K?P*vmn{HU}x`WPXPI~sMp$d zrR@l(8+5n^8P6W0Hl3b)Okj84^u5mW|Nh}HVDiJ~v;OUoeCT(T7k0vkiAF9*TksfS zs?zjEKUHV1rgJ(Xa*bdKHusZl-;l!U z>a_GD5Z`oeEmFe#1l(wNdvT5oB*nuyCLP4hb#jr46KbwHr(_Lh8jXq(wotb7>1+^T zK+;&yhZh#%cy1|isJ(?{A`M2x&!h!b#bS6Gzf_-s=1pj|Cl*Z+wI?=6-$#ThIutrKG^RCH0D%TtEBm_`lbsmeI`)Rtmn5uSE z0SNcQr}^IpHzM*?;$a4SN&2POXJexaOWD)F6In!zrbNS~$*em#j_gSvVzz_J-@~zl zU#+_c!itVy3~f}QsMYo@#5ENKtvDjJ&WN{jk;bHJ(|k%RjQ64MDDhO~Z0950Jcz{3 z==D;IXDw{lJlY|mH#W8NvYJLlqfO$sg^DxE2$^zTEygKJ8eYJUk>)oG%0R{8%&_uM zISoHTw9fNENKe9koXvbx;DWjAVkI&Cj?|D3qCkUtV2#zC5XWrwG}3v;ddSPW5TUp0 znWWRn+&+(SnYk@ywj_c|K$ahcw(WV0Lt34=OElOR&%5wigA`$;L#08SO#p}1#}uhw z7U|C6>q%7PsyGUSJCeJxsLKVve@f%daEi#u9!c_{0k;JHGiKSFA4^ME%QLFoom6Yx zpi1D}gr6f4XW|f?14CBmINKC?OnpKN?6CVW9)AwnA*LN1k0Y{Y%d6B<_jDub=EqFp z8ZnWfBLlJt^O40Jtm1fzZ>DGh!z)4tE^xb&Dd=BN8^7Do2K&mA@Q^c^%5)D0BIsdE+Cj+71p|jk5soyN<=EU2<>LPrW;5J z-hr)xO&)^z?G_4G85AXk19Dg}MZu6paYS$Pgx{qkpXMfO8$b`?B++>XJ*)T{UnexJj1+wci)-qo3-h z)uvBg?zeA1Bnqhsrg(6n3iyJ;!*-XArF7(s8_O-JK0cg79PwoxQFs3HF%x+HO{H;j zftT!l=J;>QiaEZy_T$ie%kzo3viIV~mR_ zUD{F=Wix7MJw57?AGe&;s;|f?Rdm$nSgg@HWcG#ftDGw?KJo`lB4>Oaea*EbuBkQd ztfQ{p<8jO0mhbP`j`6*GNvaaQSvQHbSY#WDYI;jF=3(4v?80(TIW)4e{u^k&T5DdT z-r``L|7UM;iAsuZt0kH>YVU7Cv0V6s*^DZD{*FMgNV*UD_6qodPP1FKRjUo1UWI&( zsyCFyqY3b+^|DB*Az=D@iAd{hKH|n@wEmLdi22W2oId0L-Z3B1$o#(8JtV2*>B!(@ zNT&opq|X#>V3&o^1{BSjqX;Tt;oUDe)#mR+?xE$Nl9tTKD+}c`{6%Yfrk|zG!3c{e zw+ge%bwhSeX1u+NbQ6jW3R}ctAN^hvT?Cbh|0f}+j7V>R^$z0UL-I%B#9ZkY$;^ix zwi1OA3-`x?2xp;-tw*^;4xuS*q#R=%PuS4kpsl9}5SBw~aaT`|!o`SV$!g zGW++IQg3@oz_)2>pSf+Ls(aQ7JB1WbFx>7DIbT)!<4* zEIe-%@y{@z$JdeOlcXn(s>kqxEn2AFT2KYdQ>(BEs1Uv~md*tQkZ~+8R{xgGWzD8W zSIEGea=}zIFNi9~yYwI(FaBIKt;!7HlYmkAu%kp;v^!-~-%m!2ucCc)DLn9FEdAVq zEOHl7kAb_nHIj6hUhMwz=O-aI6Rst757aGsa|u~&#UGnFcRRA%=p%{2HvtaYol3Q@ zPUFqx9O>KnEL4XQHO(^Y*4L4P1_c^ zl5I1w5XqCaxGc$Jlk_$<$zFrmwx-f})GY0oH))7?LBHmc%=^7*7k0GbszxiUP&}pi zbIv;9I`4-n7khhp;%_$SToH?{(*3|bZZzfc;n)KfXNSFE5Qj(2*08ugj}h+4`ytL8 z$^Oc3DIfljk{$k{%&8LA9k?9?>56~3_p39mG{;+{*!cK|z3Fv-X`6}0fL*$6U;m1p zQ?t$pv6FgYS%S()hziNmAHV0v?n~v&J^2^hLz9m9k(`i+Alc%^a`D!cwW1?ZP9APQ zq|hyaCHqNMmQ`yf24s`FR&-ZRR=Ob(_VoMA zyDOq(*}rioP9(%bKyS{?n8a?`hM|NbT;9@X6H4j$)x4VO;UlO$+mQ;JDc&onoSq`G{LpzcznhwPguSo(lQ_dC%QUk3GszxOlgIBLHRxP7Fe+GzmciRIOIr)*D*wwX`&V|+?$eVIc*sjhaZl{1eDCIgy7 z_LqVyE;8qxFSv@er83lL&V@sTn-EswI0=}X@QdF?aVBAl_cxwo&il1+Mwg3KDu2-A zv|zp*hfbStlxG+mW%E}(LV7_OjA>0|OIAYBLtpzuz^O7f*aAv?Ycss+c8CVSReTA z_ZZCv;u!cq@nZl%7Y?JcHpcu{s5Cth{aiz&+XlCi?=32AFUM~}>prsFQ+dV7t$VZj zc;&4W#Ns=7v-j|b)prS_Ty*L8LUD=9OUoK&0e`_ z2fd!#iB!06j(-dV6~c`UPjM%|!*7($K9tDH4E`Z98Vf4UOEz-3y!Hs7cvOO}+ifdH ze|Je6P4Y*41a#5e6?uIj&PJ}0LhuNdQ2xm#OpNAKT`GEeE`A?Hc5SZLgj=?`%A&VD z^0-51v{t_hxKC|(YshuMrTqq*M)xu&0Mw4d6&m?fGLRbc*um&WM)P@Rflv|377!X} z1^>Ffpq#R+n2;_i$d86=yX*>5-zk{5G*Di31;Mxxqe*7(BczLa|thc|Du~8BdML4F`0chn%oPbyd^+ z@QnG$S+nG->;^)_w$^3j1YMx?%oZbK@+#aYY=vRg5-G~m@pMbpPseW#uW{ zF}2~v)hSk?cF7q2OcSSswLWRd``GpH2NTQi`3#w)bcv5z8W|7R($D}lRf3d3i^JLw zDfSbtQFX9iih;iq>o z`Q-+ye_4%1syQI+`sJE0LRapGYQk=O|Wvk4}0L~1V32|OVm~)YF z3MuCF^)46v!mhLeiuEp}D{CUb4lCvn7MlpvrQvE46V@Vqx8>X|(vdTyU*}?NYEmV# zru=C~gjD$3pfI*sSNYaawi@K2uAikNi?=wHWmvN?^dZ11wQ%Bn(JAR(<{vo28mxdd zyW9>l*a4ISQ{Eeye#C+Di4T| z>=9sBnWfZOrpl7kw`{@86LM5!=#iLPE595l*mZW(#@Q9Z$#&=CBnpzCSM&Ce;x`Y% z!csLHpC8`8G*erO?$CF7BY9KRw_5E&( z%`8sCc&amY{|yT@>@=*RNnCvo;-S0*mvKNKFE=ID>ifeIL~l9}oS3m()Fl@k`S_?i zkK`L;x3J4nsaEE&^KPMmES3)!-dIW(S2&+-O1bC3QA|S8Z&Y_ASHy5uULVg$;OYgS zU6)E>8NYV3*%1mcRwu~vfihJyGO1XkYqd z&UD5*8AU;*HZ>b

>jbvYRESsEIaDi7Gl=ve6>ywvah!Fvv}gzkTy?#HXP1EHZ+jjv?3vwPesO_*vQ>fKtb2HnT;%+*0=;S)5XruwEaq+ zQ;Tp6{U(_sneU^{bnW=xCv}^5xvK7_5S`J~ z&mpw0svFLJP19Wn2Xgs%n#P`uFuA{3#_duwgyz~%0VRX%Kn@?A+JPk(SjOf)hSIDX zM5Q(5jn|fox+5vIO9cE@6PeLdXGE^8?ys!)y`TaYIcJa)>piMs6_-2htxkNIIlgP} zEl7fC1>N!8UNgO|1^U+kd?cKrKrkcGs6s9w5#@nxOY+T=Xj2_rb@Z*R`&1mp3^wr|3 z@{qVjI@@K*BQ$0IG7?Zlq;tDJOv6Lui2wLDS{CHE*wWmK6Yq$VYQ;XYLcCi`j+G-p z@#P*XXPoA@OKW7v;09SNB#e8OM;Lp#IIr@Z=x_P5{Q1IrJK5^ihcP z8X&3Rafl$vYoVkcwH0WimPzQEN2E>E{`%?f8*`cbRtA8rNx%|##y9Bo`jad=L_a&i z>1ub%rYO`aC-=4AVYOwm4UD zXPK|dBYUHt_N(Z;#vD&eDqBag)wT`k=rqwHk(QK`t%lt&)ckvZQT^LAbF1w*UEz(< z_cY3PiT#|-6O^`+Sp;-~r{g{{#QJqR1RZ!FepK1@>^ON7zc*tl=^!mPzLPM2Z;k`( zwNGuBx7GP67F2bVsK-o|RPhu7uMCbR-fD>Tp`R_cy>-y+R9MxRVjzH*L?ac z7qvgr9YG_P#np%{6=cyV%K=#hKWE+2&)=v{z3I^`#oqLz2mbx^@OQ6oF)+67@`*hAW8^pJHy$ptj!qq2FDa~G5;A>}JxA6XMKf`bzT1JGH8H)(qq@(4u`%$r)&t0EYr-dR@7tKY*-|;v2_I1w}EH)?H@tgBY1kj=^yJ! zf;vbdbj|+cgpo|6v824iTVamgJLZGa3x<#wQ99w|)`}|q>ymU_W-ULsM)5BM0=b|=$aPCS1y3tvG4{oul{`(Hr;8O1_Wjrst#16 zrx%Fus*mv6y^&`$S9ZEIuO_J$ifIUC!yZQHhO8z%97H{ z6XMImWq^T#ZtneUf;7v^2pT+Yq}gW|P)^&Or$n_VoDx<%#tdTpecrAjL+}B%n;OJ> z!4NYn1i~;4qlypmMGx}e=;#p7FI6vOuHOe!gJie@(Lie&x+*%y6NjxpU^rLA@bz?CyPcVKV;4G949ue9FMC zzRW7$HC(qE6z3(cgs^2&y5cmhM7x~+7FAc4J7{Wcc^yaB3e#Zw{HNl8u=DRsjc`-) z2B4k`@zPjyoQ5R`kl$8z?w5Qr30O=&o#Ghde4_DC^YvuJJqseyjnUp=r{N1zQmmr8 zIm%UEw36yb%S~*(r~{+`Qe4J44C4Ad?q z=}TW2m&!QE7%y&P1_8}22}R%K%Wh(%csDugdNON1&kbn--dkd7PjGdg>rl&GqWm{D zC4br>@2-MGZ}7r!b!)J%h!|RuFRu7okgkf+5n_<|z}|L{p1~*kt!6+0MES22yzp;^ z46i#-w}HiWsJxN$J6Jl90s~^tOjW+wJ7R9=-Eh;pd^HHy{>MPo77PFa!(R68@iTr$ z#k(nn39>#wHfcOG2PwJM0r?H4QJj=z%`K572CWgas(5;vB%8@;)hfpLA+! zQ!)*F7&N`GtO8l)PZ_FG8_GH&&UamnVxK$xWm@WUH07G^^Mgm~cJs&G)`w~ut!OD0 zCS)g_0F5aFAh~CK&}`TzX^4=o^vCH?6$u7L3-S*QgbevEG37@d=ALa~u6N&_C%7?~ zZBkHx7mVeujg;mGSmuqo--hcBw%;s4PrHfBb^rX0s~bK)q3{cYm&~<5AVMOLH6|#V zBXU@p?Krik4UJy;sMr12kjIeAI!&A_6(0xuI}LAj#LqZX0Tr=br6R;{*U$Y5=FM*bdPeX3@q`K)wxT`Q$4tqyLWN` zRi+_rrP&DG2fQ9gKGDm=IL)rW42zR{ z#V#8oEjGoAHk~{Vi!$&qMysn3X_Y_(XqOBsy>%LWvbrKHO-!W$#e?HA$ysC6HruLz)JsMo$72cEVRfOsfhM*7!9oWtWgK{2AcrF#yN4btlipN?l7vLJ!GR4U-ScR)HplAFp=VT zD;m9pP@C;>P5`7<%GUG23>|V(UPryGifO1)~h@@~CGFYWB`}p%h`xYaslfCdD%^f~a1l>a2s-)Gj zBS{z1Pvk{RTUz_lr5g%+VLpILOU5YnRDE0{w0v4%2Zbru0TYH?2PPA<@ACNVW)=F9 zjW2~SAQHR^jEe~>=t*sbSWh$k^VdQi<9J5PsDp=wj26pb98rkbk`iea=e>a>VH_k9J;@`#61#gkH6K9(GE-c zV%z6dW{5bc9S~uTLI*b$EQ*=Gf=V%P70}p%#lC~y@}s$L*$%=BhT)HGM+`b8hN9bc z=sM7-1B(ZU<5qeJu)wL2!Ac0$f^-zB!^P0XqS!JHe)GHl9~E_A>O@<(Zmko`>P?BJ zIY?DuCf;c=ja7(ei^(=4LsN$@_|?Mjt)C}DhfYSk3Xu) z<$N*?bJWj8(%~^ssjkoW@ZMJJ9K|1oJ4(7}$j1rh@_SPQBt7ncK1A`&>NLhXz=XEr zNZp(#Xm46x?;^QsFIW_nki`%sQz{nwDS${7|2bYEGK7ugoYP^;`I9g-fn`|PK1Gcc zo3`Ot_F8kRJWcOQRqE56xO2RlFR4*0J!g6LriMtcuDZZVp^3hsqgN3IV1~Tk8pNcXkdg7KvjziTva=^kr8*3Wp;^$JoDVvZKK3}`o_fwC>?#i{z?7RbUE5K zF#m{jIqI&sp6DK18X$Nk=qb1^nifWxF86)ffjLD6cF)yp=Nf)S2K}Xnd*jpazve*( zl6#KGKE_b23geR{rwdOhf;#u6v4(Pf)@zXiLMn)remJjZya`@CN#hS@lM&9=W1#fXEz}=PIsbtv*ZquseZk2-IEe)stg%LE@ zn07)YLw;Pe2iM?6xh@1jx@V)J+w@8~pwP{y4Fp%Oj(z>l{Dnqd(x2`V!kf|&RFHUK z#@V%Y9$7y6q+65`-b<7jOf7{hx@ji7vPE8feDyknAYiL9$HyttJB^=v7-os7kt9dg z8?1CBeKS85)`=1R%u-)KU^H%QtA9mWsDpCE`OftZEKqNG| zKtlO}Wm)1HCq*OhW-D?s{@pS3QQVDhvh>x!*p5fp9eggktlSfn)Q^{;Qo>((HR4ja zfB~^G@o3$^p>33OJ|zHQq12YTo*1Hjg4E0^WXU?4QT#OYF4ewsIv9dyIvA+`wc(Oo z0ibgr&l?7$d^Z*ito(z7+EQ@`*s_nh+k!=e=>3g*2XZU_YoeDm{fYGUX)l;&^83S1 zw-waLhq41e3Q$j^J>kpCw48h6rM$a}3b`~!2v8n`^_{DsVKxW>H<(kx31FK z+tJLZYD;>66!6p3(l&BI1k^8vng2oPm#xz!&^{D;AH{eaMKo$HO}Cv?v7J^iw?#WafV@b7I8HUj^jqRa4;g4F zbsbDy`ylH_3a}(aG<-ck?TD%0nq?{+d?-Gp*TTQVAw+QCY;#35#<01r7uFsLc%j2$1SVH?3xOgM~5VX3ocZ&YFwGfFc1ihIOXqFup!Nwz#2 zjV)MJc7$6>qsh?w% zTQ^vM`o@t!XDAA!bDL|tX@;_H@2aNO z6}P3HMByj{thw)zljXeV?9~19VpGA>uj%9lUbtQ3dbOdXgu&aW%l<+G{LZ9NH_P03 z(4=jQB=?+?bZMm#bwl$g6z|Ey(sT=m)>`4sgvdmT8goJk4?@T>#lBl6{PHzI%KNnm zT|dCBLAfN{3E97D1X_WHLqxkqM9pmw%t>I2s^|vL7}$|T3MR=z0X1Sl52bSpY5{8w zleTYe0U^Lp-<#i~epk^UDR>UUB&$Lj-1D%ndQNN6*dV<^JatP-lD#W(cR;@{o3;DBX2wUKKs%rZ=9!*UO85xA+%MYA++NoZdU1s;xGFE zQ_cZ7ZX1{A@-2>o%2!@MlqU&bg=dx9lrGImK}bH1{FifyW!glUx)Gj(c_LP zS#g(HFyjkw^|Pus>|?UGUQ*x=ypsTCDYEbVyyd15QpjTN*d`fL^puYaBXZQO zhGFJe8!}`F6So=k%?hJ1FnlNnYSb1A*H{$IilY$bov@~g|LvG@3$b- zr*`>ovhGBZ*{ArSeQ?S$#o^N_gD0KLjU_k8m}tw!BpE;ch$Tt5IH zU#fcfD)=3g5MC&&Og4dC%08<>375el8Ees(mwyO24B*FN}k z*;Ui$FCOU6+W|gFCJK44>S|O!Mgw_=vKY-6iz4XyR+A#=1VOv9m_%~bmSrbP@vmR> zsv}CJeRARjna95@hCOLu$pX3sN&)^5@mU#$Bgq-mCWYa=nl9E7IY4c6Y-Q__T4G@} zrLvfK3A7(vuc_t*NZ!TJPvq1k3xvVoCu-Bt4_xpxV3>_hkJ!RLS>(x91X3uumH&|R zUqUVh8XlR8o?Ym%P-ZDk0w$Q)wFfndRj~fbX^UN3cs^1V%Sy{(&dH@GtpQr8%9YPU zJ52SBzyxH=KI$8i3@9QQS5sNZj|>&o+)ub~LB!=)Ud>BSJ{?J31#Gxn%!pstsW>O< zm2W6DbEO3JReioSg?f!};8eA`A)4+pjLe@3-MgV>e(3FO;j9`(u{C(4t7N3*#lwU5Ll!cQa_)N>D80Z@pCt5dN;Yf8{u z5WiNdR2AK{D$6Cfj#1sBxu?BLWL;s?nzsZgeS;j)tYYRGW>ZvaH5&=6QmtDz`yIoFLIA*(7j@rPbv=rPFc$49Gy*!8@LgP!NQC4t1u z)$RzRQSF&3VoEIe1IRqo0!LBlnL7Gr3U2KhiB_|DSNZ2M%Mjf9Nrc9reYl)a_WL@Y zQlJI&%9R&d5tTu^^S{?Z=y}u{T?mzwqCc0f3W2AvEo%=M(DQ9pKj4)Oxs?M?*-(pi zuVb8547qh9g1XIc`-sFuvbJc%)RiNA`om_cPKOxq2l@e^Lnk5;j(2c?Mj5YkX|ssC znAWh!x1FXqlLnwh$h}q{5=uHqw|rS#z&v}O8%#&hb@mV$ieW?Dflq@iaCnQbJ{tF3 z7POlp5uP@M~o{MTcq)msoWmD7N=q3uWpPX|7Rmc zo+sy_L<7Kk+4`-^dp0xsBNrLYT#$(HeMaLmONaPwpu2r=I3npybx9;ZK2^aI`C@?1 zcj3%QhQ({RY4n-yI2kJX3>)VJM{owVR%yUw=&Z z8RtbbcXWJ^(7h0owi=n_V9_X}Lrf+{AASDd!KkW3s3MUg4BoxoFI&yw48kzNUB3%` z2%Ajf4+BjJaORb||NQ~#B^8{_C>jLJ58FQZpR3m23)UR54MGO95+ui5Wg&liVpp^i zfOyVA3u1Nv2-x>v!k>saI$lMegsdfV6(lu?9i8QOW@QS4h2j!b{FV~=L2V|TBDo_L z=wT5=qs{&Bj^j>s?s7RmJ!=l1m^wI`Ydc(|Uy|Zr$%xppQuU$?Uwd#pzPWgpa6K2H zrVfbP1J}2eylxe}q&iVR>4xd`kPlJ};B!&dk;T2S^*DVx^NPggT9Ida+Bdy#GAkkK z8a%rrn!8Itc35Z4Ae(vCZ}E6MRes67b#)fCo)jVSR+Co?&)g zM&8!U*_qHO0J7@f(!z-~TWliYyB<|{L09$bzcJb$G}VW=bl<+!+5a1(4gEjK;Qzp# zzQ`0F3i!Fo{9a-9wPrHl5Q%lc*QmTWqC%z*t*;W-me^XR74 z@^zNZ$F0jP1?*PFo)W5t=9xVn+Tb{ zUpo+hm2oDK$!Xug!)_SpuX|?MDIckFEf`MVJZJ-ZzMLm!9ECY?!M%D z2KkxB7`nzKbF)#e_kneMw}lLcWJ6n!Y)h)sK6@mwV%Yq99U)Wp!;j?~Vi^+0XuI!oSZQQnfFXnNw0`qk2{-qrA2>}5i4M} z!B7;fgJ_=;e&NyBkcIvUtwYh^@B0s;m8FK%%_k$Ud}gnHkaGt>wE$yk$fi|<*u=fJ zEZlw$LTQo>IV?|7OewKVOM;E4U*_pUk&;G=lAVY!n3KwOb^MGcMWji!`-IEf2$4H+ z5m6KekXzB*-O!+bt@;m>X6LVv!aPIw$|MO|uYqtdCG4m@Jzq5O$N;kHc-TSYCQ0#o zI>BulG8WyD(U0Ic<_^x#?U@^Ncke+d7qNXRZSIY~*mAoz zU??2OlJ#^+#5NaVRY|HAo%91X@ zaED{i24z*}&M*XK5)%`8lbC~$leh=w)a==t8X4We(gG$!si&8apy)B=+_bofn$S~Y z6_H_s-&V(h`qvWDuKMSjZDHHR+U`MVZ{pmZPjK)jSz|WZ@voU4hg0^UAMx1yf%5U= zB5GLo1ZNh2AApjbXjWdoXfF={K&P5&;ZHC;=r-X`CFhWoPIof8eI_HZU_d$zC7xC zX^=pFHp~Lu4`Te#)zhqE=Q)WH)}I!%ZXbi50p-(dlDXRpH*_68&EeWBnx2y@UTyzA zOTz&Gf!#%Pnz6$h&<^9ysvN~u&rLzygRUo5hWO2sQ6kpd`&K-6c3cfkPx(8ZB0ZHk zy;Foj%3Q7dE5Cz`Q7*19XIDF__aHzvxp43E&4@?g_=*!3ephany@{LBE#Wk=vw}5U zL0VgtRLzS=pTA+=Gj%RrlIE**st=aS$l6)}JW&OfZcyG642`>}Ohw|BDf@#>>YjPv zs(&g25kSCwCDA@bl)=a+C3FV6V}uC#J~&$Ok{~{G`vD^tc>%`r_R=1EfYDB>)+Yh% z5A`eeInO$3{kZm`jZWJ783xlImlank_JK~mzb5R#U$63i{>l?Xog=3|n+p9!YuJPh z7_~Az5ytPJ4P#Rz{$lztT0Am-(BfBEh#rbn{QJ`GX?SXXP#$2L(a!fVMg|dvN=EW;`E&Ff4v#~v^0|KK?sj;#%*z%%j!5Nk0)1 zb$WaD+Q7vpb)D9*_v+TxKJe)i90I~U<@ zO2&+OcpJpA?`^BZA!svi<1YxgUl|VKRd_doY~mspIfKx7E5ZJ8?-JGDwb9d zWwVl%8<=f;TMy- z=EBMC^!^KaVaj~B#Salc?NVo}5BSAWHIM67uI7QJ>7uPz&q3yI-edQQsqY#QG;yDL zIyhIlkxr*a;gHZ%&GWknpHUcNHU2ienUnV_fmyZ7C&xZHats&*5n>qB%EaS;{TJAc;~vS>vjUPkas4QO^8Sc(f2;if`!VFkFJ3R zSMt+xAC9YUlib8~*>3@`&_mAs?C?!5AzXWAU`=IE)AzBwWQODXbwdwg0Lx56EJaI>-g zCd1ingJ`)G!TKnbP9sQac4QU%NhGZrVlYqgBJY5Qi)POo;V%0pRA20jkfr1`*^?<- zqrBnb;zqgKm^}X?fNP`Eh{L^aHY1^5hDbY_b=t8Ymf~p{@$wAxSV8ZO)HZGKNK++S z_y!hx+W4)vxON}cWy&b|+SzL&uaKhi%<8yfN;kbftL=W5%SrNAAbdk)2MD4FR1LQC)8jO_bRow?&=Pc zOXH0-;&^)Q7qwcCc(5H)B?Wd)a`{^e{@#?2(fM#B=15u>EdDI@8m|9uJ0K?|D(XGW z1s10X$>|;?fOpW8A=9EfK_B=B5sr_|St&oTT{km=4LuQq&tK99(^xDj&yPSTbZGA@ z8+K)SCq>X$(p@rbF9DYel>#Tx!4&;Bzds3D+*6>uflX^%B6D!_)SfTa{p|-T(l00IUtWA6eMj*He4KSKwb9t|!FE z)~B3vlW*^O@aD-DThdzY^rsX!+r#16{kQ&s@N+Z0#4jHMxF3Y9!P9ZeupkbH8(1n* zd&TG!UAI0|Z>PAmPv(PDY}8yO*|IdpcbW@ve;twe)U$u9j4!eV>pC3Rx#iB1gzC}S zGr5@o0mDk{hIY?~GrdMHA5!S!FkeqK)$zE8+jT{Khl7?q88oVBz2lgockfXVAe4-2 zx&=GWHQZvkhe>_|F0)65yF2U*ra#Eqt%>r?uGA8eZv+=Lk0K9=LNVyyBHw}V8!39X za?f;wL9dqz=-5%21A>5RJ+KbLzKaL0eRJgp@W^o4@Xk;Y4heUe6%yDALI~kAVyHj8 zAZnV+ijt4Ge7Nr8{8+ZWqS;WJ760d5BcMXZ!hSXUx$3sW!+zF$Sk}>O01- z@R0ow{47y0_=}v5O3K+1AqGytkb6!HO`qH2sQHl%((G#9q@8hTd8I2BTEAFf5ak~Z z_+>xMi2M}#_p}3%6a=efP-!;WeBLXx{yE3dVv=mcEUi%^ng1OzK1?Re;}ZA7&t8W$ zxZ53?gQ@s_Btwb9F>G9&v(Ol=tDUggD~9?7aamv@lZEx5zobVTH^s6~CjOX_3l1g{wR}qm7a> zINb`&eqsMe$HB;it1QYpiL8Gf{9e_;PD3)NeIG!X)(edhN{Rt3Kc(Z|@8ul=P~zz+ zP6;=!!H%v$_X-MpcC2uTuAj>^E#w)d{Y&}-h#JHgjx^B=0*W|I9CQa8acl>TaU;hY z?aD+>V3d;48@})={Y?6GN~TYqTzzvu^32vPdyh$cRK+D;WAvF|eMBj$&feqnNphS{Z%gJ9B?gsfMQJE3146hdc+c#0X{}Pq|x1H4glc-GbWj1AN>Xcmi z6;t#tOMKJoizTiQ3ks8*lR^iZj1LX^FTML8Fs*2_Ei~vC7XF`o^uI-CIMAN|ieKo| z|9UmsA%cqi2NnOPNwPxP7ib&;6}0)kcK=db{~i6S9b9sI8XY`fQB7M#Wf|+^aiRxn z$e$PqO^BtIx?eEm&yZRVjJha9gaM;b1il%(on1;Qthx0}0lBE~9J$TB)k$YlB73Ju zWK^lk>Jgb{`Slk}fZ#2yko~mzDK(!ED(Hx+ekr4Vdh65lbNln}=ho-*$*b%)Z9Bei z2p!m7+|UY?3Yn~c%Mmx~^w3n{(uo=@tjmckZZ;%YIPKaI1zM!j2(m|ns5B<+oSIcB ztw;Fpzf0P>A$?FSAWt+vbaUK^c#Mx$a#FDfYUg5et(ncVOAp)%Jb#t2d=e>KOf{1$ z)uMo~%?4gLPodk!@o1JAV@ZKQTeGmR(<^wI2!T3+DF2WGIP(UeMF0z8N75R0xaR1O z)z35n7g=#RAnN-;j0F3!eO2>^BuU~JW0ZOuR^gO{TlK|F#ROjdNP zV8>2_oxy;Re3+*VsSz-|*kN103rjt=RJQEmS%G90M*ZGtFNEkz8wL5$MBlqJ9nitm z0*=ZR*dwq3aE;7o;^6ptkOP~i5rV4}HiZI$2gKa?@vt=Pc!U%F%xn&YLc?a(NR;;K zSHM3LmdiDXR!5L?Q#fF$mFnZWo&sX4YmwrcHPp_R; zRN^wlw}UNhI4-2it}Ugk0(B;2#xI{|scWhxCDc{{y%#N5tZ}^wN(fmKI0$NzcbDAU zq%CVT7EhSQMFj2OXXSnynlq4X6YxQ87dt6TND-zoLlcP+NG$%fD$KT{4`<(8@}!dv zx84k#TW1+EMV+0bZ{D4j7+T8=1ztX|#^o)*X8cPCIzgmwN!j)zg#_S{lXhH0mwZMW zgh3JkxsUP`Nd&=~n9P;p1ye|+cMS`tS`x=t9$eI$coasWHc-Z19ZY|O23QB2Q!vxw zy_%m!>=G+_gdIc5$w$|bG_b{-Gh$LTT(-G2CI0eT(PlDc!bZ-T#Qw}@Dj_1P(J3{t zp+QZV$Z5emsW#V<>@!8;kq<==+jKt_I0Fk@s6$)08PT7J@o-{d2 zxDJ;|VLmFN9Njcs+-a~})l(7Y-lUlr^bho0fYcrSQ>;-Z(8hZqPAr+4s!N;BXeAm~e zo&uu{*OIKKpt0wp%txb)EHV=7i{uwLtrw>Ssok$HI!1|}CU;o1DFkbsW;dc}i*(uw zOrAUwf;ihq7`3S_0Y5_@#6EK$4w66w7y`Eod09NSay8C`K92h&J~!$s?oT@M4)(@c z1>?$IBwQyke(Q;>@T9T22U4EZ2gL_vPR{H_y+O5cde*zGB*~$KCGdJk9XGqcT~C~P zTw&qaEj~Rm4NumJe1M>zDD#|r{YS{^OB5(Wa8koiFN_)Jgh# zaS*?6TjQj9$kR&mLJ^bl(i{zC9NAA&dZK|Shi-`ubPE#PPj>IhTk?3x!;2g>z%Rav zq7Ud{aCL5819PzRF7DEC4Nw=L;;1qV_`8mJUj|33DtD$B`h$C;0+&aQ{Rr<)O9}7I@=OUBwH1rHp^E104faE zPV{~L{BfJb15Tg`A8A0wIjikszRryQqSb)bw|GGdr>UqT}J#SvVo zU?2%L#1b;#9La|9GI{+c03J)Q8GgQ{*K(ecLLJocQ;W2fv*^> zzt6!up68>MwA=#-4!62CC=Rk|&Z+K>yjovz4Mz{;jVhsu|KQxlJ}kB+loXs(#Cmv3 ziK)I?OXum(_BQQmJZ4hTKC=2nOUa;M!B9%YU@+zA_BaFUG7gX|VxT?tz=j!zaU9Vb z8URli-A#Q`)XD!5^=wIX3M|!BWp}stgikyldCaXb zj1ZPPh$vF0b49>26Od+RXE|o!MqJ45`p*-oeB?2@nwNwXKuPt}+_Ga*%C+oKfYg_^ zM>2F1f|B;{(ID@5-;>0BoAM9E>qn{Lp_wF%vQg!#xP&(sy|Gx};I#1h~{eYcmrsrg=2~>YT zU~l)>PBG@YRW^;AKvmoD4{6yFlFFVp_%Rb2)G_beG(FjRE>)W48~W|! zo=D30BF<}*fj0afjgtI3<4b@TP=Z$dpL@+}G@vX04a7tb3ijVX|H0=$VVdojK>hy{ zFkh8o&Ae=&`2UxliOBjIuAK9K>6tGx1kU7tAFhlCl<+@ml&^bA01H=?Wh|c|EwQ8@ zzYTEhLS%&n<04f@qHr;4Dn$r!jC`Twh$0GWdByNc=SG;EB$J&ArQ1kt(yAnJ+GgfS z>Gm=l;QuBe@D*>r8sAc#I$lSRd74mGMMqy{dTu|tHy?YOe>?yMuD-d!0-*BY_|bge zzJs9+(DuuzNHI8p~Z}-RNFlsq>5A+9YX_km}1A!T163S=Np@Zr|MZSUmt;qE%r`{j_-0LhAtlct;OQ*BSw_zE+0 zo0Y3(Ou!61-3e?LOz#`09v?Uaqi8=n&FYi!AXz-{Pz;u*)29l(3anAaAB-hN)j{&R zhT#3$ifTFNux}HI%&yVm#@fss@+D;JK*+~(&K#n!6hC2YF@+kN$CU|bmiW@q)X`I* zBzW`(fo%vW0M-I?NC^BA) zm3$pnirm=IkT+~tg|})KinrA_#;O8tHW-+vXUf++A6WE|Ld@O=Csvy zj9FHSa-~*?&q`gUJO*}`1=>T)9cPFMSDmTK5F{Q4fa{1ls=K#tLG!yJ%gEz>)`^xb zA#3plcWy$rkzLy1c;(Rgixwxz<^WvIQdrH5(->1}kb$jh{!WwT63do2=5T!@*jTiN>6rCS$Jjjaai( zQtEuT-!~9|rau|Iu$5kbJ(4Mtw18`J!*q}!06B7lCkaLKHzjsdgE2TmxyGWMXaQhH zZ!%uW91ZMt$g7f2>XDg-NpGy4FcWK@x#;Vd#azTVwmcOXRLhF>Y34UWniGqA_us9t zrvksIjl9@)FD+OFbDzg%@&h*;L*LM-NhaMbtW4@z+Ta;Ki^Ju25~(Mx_0itRTv_EV z09xlrg{=)Q%LJP4b0gpUE%DCbRAlHbtz*1ngQ}MkOulu*%6eT>Ry%KDGFbuj7VD*E zy}_wV-_@6LYrLz&DxF_v}Ated;h-Cyx7&^Wj)8KgVdeK(SeHYQnL-L z+1~m3$)}2A!H$G}Gv_=eTuu&+O*@vqfGLffP)G<-% z3iHp{^d2yyE7Bnw)-Ot()!)Mm=cA6ot}tXcX_V8MMZMp&R(Xk$CAa62OjQoT1sP`< zBzCvQe^~8P$o(PUx{!Hkz4L3o#rawF&KYY}tm7(iN{H%})o$Mk+P2@EGqBGy1Mt}; zC+3*_%a5>r1ODOCGrX;PW6bgW6)4JY5ry0pp#H7fk71w2;qVE58qLcY1(e>61Gw*e zaf9ualJoX!Csqw~0{~a8r1kA1y`0hEmi={VyRS;-{d(muQ5Mqp!c8XAHp++IXI3*4 z@5Z@+7ikTR!mu!b!FKxz+WK?w3V@xI!#N_ubFo_I^FToO8fl6_ca<(T7_m>N$O`N& z)&Pt|V!y`8DyHhnT&p|kH)E(%pEILK>F+&lr~CD)yQxvvmiD1|h@H29o$qLAVf<*@ zs+fBBBt~BHMZ0ea`!w5=t2_;R#~vYa_*MI*GSe#y3d<6B;=_*}fe^uu&j5zS*fChR zW&1tZUq+cp5X6Ytum?mX@7{5?yn&GVqv1`vJ3 zw6j~n?T9}!F;#OJdPf9=8NZu{?@_pII=e;G`2`v(2Kcn`-YttcXWkMdqq}k|Rf*Pm z`k#QD7rSi@N{yNeVQMaiXaKHsg124skupG2*8(V)Nn6*sqoE_RcPqkEb99N&2{oFR z8&S^fK;Zg1TT2}V%6U6WZ>NE3!kQM8(_1%`(+$-1!C&}6sTlp;<*fT3`+qr@)~z#Y zcsm6*!_Vh%tP40O#eMB|IG!uR*$y3O_7bSIhBGh}j=8sUctmmjAOV{7jGov%RY{NV zxNDAz7cP$)Uq)#*qd6@t@TinGvW| zvS2P9e6yDlsQZ7;E&ut=fZ`=L=6<>9d?jbM{igu_F*W?>0|#C*P2QJWFjWWbg#Oo9 z>}!y*|EBq;t3d%BezKhrC`7Y}IVjVA)BM}@tAa2&GXKkfZQ2^N@4pUF@c(w8Yre7v z9r$mWnSVUlzS^=hqd9}lLH#qszs^Db&iqJ?C3TA> zV@VbK7E4VeG(p@;WaO7CsK^kXJ{o99KII3crQT54?t(=83kGsY$seXy3a4G8VxdXv za;rPH`{B!Mrr?_EX)11j3`jNJd7Sl@dF{3R*17F@mGOE1p!kgj`1>o^$*%v@A0`lF zk_kYfnjKM$Vwlg76@vNDzBc#v2p6=6#G=zZyiz|eLHaiF@fx{msLhQomkQKyvqYM8H2f8Rr+&?+f^;u(<; zJM*LIdZy2#g1qpOwLya$`=JjmJEB@6X9GYm=6)tcHla~KG;=8wDtOu^@{?d8?ucLb zoXOKOG613wgv@>3Oi5cUAT{MstQDc&KD6hxI^%|X9uh};q5z56I4BDd5ftQMT{zxp zrBZxe%s;{`3c=Bo(r6}<+IMvyrGuO<9+-y=&oIgGAk^>Wd%DX{(xJU8wi4oTC<3sq zD1`I1ad-eBKsSp0LxI-31wC;KLB4k?3ioac=2ar9kYh^?HS0Mbu_~A?4cG9ar*#GKtC*{Bz1kwVZ;X_%^&_fJGNylN2pDM zOxH^`XKef9B?w=KY-b~v&C)^AUk6ZUwqdq>yZhV5TGwJ71SPhQ+ zW_DT=XduVzp~{Z128Mo+Qv49-VUmR|U)!wGs~1biM@{u&Tb7e&vq zn(K;)50ExUcWPV>#u;v#gVe?<6`#HIvo!+G5yjSJADzJI0#$?G6ai##^PKzlm9>r4rS;`6TeOyUngAl@GhnY^ zwP0+XSKb#RAmU}O0Qs~;NB{t(Owj;`oXJlhb79nc!pFA{M&I9J6X@y<`7jK+R8h(n z8$v-DH*3dTrtD0jML+VgcEo>{Asd*|`})hf%>Bs9XReRft@~iVvW`NlD`Z*)4JoFy z$a^JxePwgh+Etp}Nm>Z|-Y|OsO>-4KtOdfA5yz&HJoNf*hn^egX$OcF6v{m6_3nUh z>&~9v*wZdhj9o2%Y5Z;@OLE*zva<*x3PqAAH}L$9c!|@2&)fGBVTf`}5Z{S@kPjh0 z@;AxuMi*Tj=2v4zqM5_l8*GH~!`KZKG!y~I+_q3_t;4V1@2nhXj^2SL-! z=B>F90&z(W7~PG-ia~(9rkfouZ199nlnMFxmA@;&7^M93%x&xFQP3wJRQPDhtO!ml zaYt?lG^)h%B~cBmD;4EY^e}^?S+H=IlICFpNGpu1-d*<+)`V+81=O8tURfixM!Hmd z9iI7H)q8g3`7;NfF6jJS>HanZUEGLtetk1xEp(bCKPVT*=J(3|sVpqUlt#`tOBKI@ElO z{*M|H60G76CQ5TdR5T$k3$-9;+=INT;IhOtZ8iZGDjA}OODrWL-;yy4vB9Ss#eVB;3- zel%lM2aL^@&YJmNY)646p~5zQ0SkS!fSFGso$Ndn zzELKhO4I`mojYY>k%N_0qD(l%2!dm-hA1WqwZ%yA(c{d<51zmHclS<-*Q3a z)?_>&zZI~RQeZTO<9qA=-V%)n16A1f-6K@lZ+LnAzTpo}y1_O(c;RH_$Oxp`;6@tR zX|X|})YzvC6WCr;Yc>t6*nbCLPjig{$)zK<#}DX(D)!}QYgm+|IM)(nZ@%*giIZpl z{yOvjLKcy>cuBh~_8U*NGo9ZS-Kufpl$Rt0lUr-E`M9gvzU1%c`gr9{#$ySzmR?7? z{(TlnCpaKhCS%q}cP<`cn^o?>&&k0%z+xRp~bQ@QcdG>UVn7EgQJ7=y`| zc2Xt3%)n5r>`aiIx!J#JcONLvog$n)qMW&>xHAnhqw3|RKLKa=Kh>n==0q$dOD^29 z3@RFd&{C44%Mr(iBGz4IB~aQdKdFmn4d`=MrFirY<{44A2Lpm?ef15nnCukCS&R_t z=Iw9VcXi(f(Lo8I=|>zts`p5$=zF#oQ$G;i<6TR`IDp#!gRFOq&SMSxx7)_HZQE{a zn~iOIVxzHb+eu^Fw(T@%(l>kW=Usn&x!24&>z=jd%XRv9y!}w0ej)fLt}nmvCu{#~ zGzxtRBrE*yT;KnpKY|dn+=PQ*{)g}Vmx%cp4wJX&#enqv8#VvSS^YE({ugi4`ux|6 z#7kK#{-jqrr-0D^_uw;2kZQTk1lj!$b^Q;FxH%sL`CnLc$|r}IE;%0rDTT1~Gf3Ah z1abS%{tr9)(~j7JS^`1`@o%$Jq#8uz-*)D|mB!ru&z2--868T?N;L@ie_6yo%+*i( zCriBSGmB8G1)=>fl>et(_^+L?{4?uVZ39X9&;AcD^3yK$FMqh@^Anr?wWoYii~s!t zT+8-6NXUOJ)z7EgDWA8W1;q`J{(p;%EuRh2|0zv=65Rv8B7L&m|BrqxQG(z%f|S1p zApc>vKfj4NMYD3|Qc4=`MWJ8k@J?=r1k+?hfv9Y#hxgZ6k-`bO#aP8{NOK6VzSH@`~ zQjTjpMfhPFraI!GMfFBjbSjhy9|xCj{ra#{o*n&N9O_8{p{Z0=5JI-N9^d;b&%ala zApFevS&?BUiH14bsjx?bQ7SJ8iIHy~9zBGSOJ3Yl`sRoMEOzc1WDB zeLLDlI?*KDF?*?g$p*OoP7Ly9DdI_UG~9AKs^ytV)FohL>`cj73l0$`Nu-fl z4*g73jTlwmqJs-Ns;q@f3x>**oV+3Pqgl)`DB+F(B5vm(2eI4$qQvCyPKvX4RwQC; z5@Xh+c207`=bZ9Ba#AJ3QasF;_6Of&dzbK}lNG3qRbx0x$@mJ%8~AnlOc<(9!g7^+ z{&sQ?nvx=atLinZEQ(4Z_ml9YGbv2i#c_&czG`K1Idz9o2lGx8pJ<$HLmgB`&zzL* zaCxW&R47hc8z20q{ zvVoVPWrUCofVvt)AH0-4(GR70&8H*QD$~Ed%Q$>MKavvD67MITusczk;zOEoXV!s&FE{|={UlSROiX)R!>~PKL z0&OuSgXM-Dto+V(8Cv&e)t&!YU~a<);Epdz^fJT?yOLyAqH2MWqX+$cUBD)Wn01@z zmGw-X=+He%R!Ainakbgm|I4!JBz8S;ViT=; z1L0Gu_dW7wQf?i6BYYkFHMjS9sb|ER_!w=84wQ*^Y__K!*0_eEf^TK}_hqP3AaRHq zqqNNg;U^08frj2J*zRf~P0e0H2rXvo7T5=h33bkT-gaKN__P8uiB!vsy(o7;D?_iW?QJZqfq)DI z1?Bd*8n!C0MTzq|h|&X>R}TV=Ic~|7ATWka1Gd%(Q=NijSLJ*k=lQ37fEYXsreE~^ zbRd+PF59PY?so4R{}2W0vd`k5_-==>$XidXTylfrnHJJq1tHSuoFeh<{9y&}TG4yV(^~ zDe!H3)HlrYa^Dk4Ks-xHxVz++h`+}ZB%SAcfc@ighfBa#Pr<$*f9Zz#zkF`WzoR^# zt^%yZ;~a$eU#Hvh=`d9PYiFH-g7USn+=DbC{agL|yxsWM2e*tufUf-KW;u&RV3j><>(9UCr? z$k3s4AWrt1R!;=nkeDG#h7m0zJ97{zJk|iA*ep8Tz!1?o!U4ox;xR9&YMoA!O3__r ztkj|Fw0R>VdT&U1cADC6u21x_-SnUPYXaaa<}d;?uDMg5t{_Av>_?>03F^Ax)td&2olR4MmX%Uh)dA#i`9Iy_iDM*1DqCk@= z#8nk+=*h0R6iLR1vc5}Sr!$%}+%cFJ@o)L+*%#0FFrb@>xs%C_Hhj)*3y!XmKC3X*ES*Ts>eMO3Cl5c@pVxmJ!ZmJD&%v4ZJz7?)dA6V7T>MdrCF|}q(K9~UCTDf z@ZKtplvEqeOQ)abZyve1schqEl78XJP>U25)?Uxk(ud6c8t!42<}rjLf8;hXuLe+`o)PeO?BzI<}+}CK|ypT&$luZ)rg~;Z6yxSlEJp zmH%FV^oI=QL!7}8d)oglj5HeJp>a|G<2k)Yy7v1Gn2vuO#>s1RG471TLvGfP9`@Ug zn1Btz_XyL@A$D*7#xK|CH!>RzLJ*ttUybG_palJppYf{o!R%CL{zeY&qQ22XZ+tZZ zvVtoJh22yfM~Kbxg9lh<1kH83*?V=67()`_Q9^F*zGh5TA5AV>a~$6mwRsFh^^aDS zJ4vE92sfIw(nFV^1uMJvg~L#;8MLL>eG5YK220*$-M8~bvC@5(h5i^Qx=e8&b}IVD zfbf$(`*+k^HFU^Hb%4IpLSB1mXk{q~K$&(zHO4>vB!cEM0PfQoaE|sVR&7&BUk*i6 z4wdLYnIEx7lknSY?{Klj@UA*q4Qzw>gwU*ea#doA6i8)`(#LU z12$=g>>7)WrtYm%WPC@jBHC*v7q+@X;B@VR2{E^^g&Y)Z0Q4wI#R@^jAbw@M^^+g60B~lM5P)e*64TAoOAB z&|1G+8zCcTdan{|V6of!Yx=>#!hf?Qi~v%q4BbWPCoP&6LX1jN8gnkjm^D(^2YA{M zqs<1Mr!!}8*jY-8CI;<=;4gVSw8p71cH6`YFITw72Be(} z;Ry9cAw`3&=ifeh%4@UQxHD}U18mCu29$>iyCS?*IXO(B)HY6MDh%AX)p@uLr4wMD ztaIYwiADLZkZ|IAlwiTP3Ib_wGJc;!UQn*sW#+uZJa25B7~(WHkj>JD;WwUOO)tS@ z+RI)JuraC*nITdtU6U$f)w+2qtc_}69vUJXYmXmIp46Kdvg{^%27%aAfQBMlvejcy z=BrKOj>h*0d<8};%)2O=jj$&ttv*jBRt3e1Tw1pgvNZEbad{6#kQ5w2Fg>IPDZa() z8q}nFHr!YgN-xT^g?&EgBhEQ|h~}+m6f_l;S1)AGH3E4|Ump?**2~zTcO2T_0nXta z5Nx@=QD~L&MWPZ%(?typU~kdsh^#>r8$A-=mc-!KLq2v%gpO72i5zX3MD)vquG&|I zWc{=+)=D!9k5A)dJjahl!+N@#WXScJ!Z311YN4K#ha0?%4LWCFJy1Sv{AiF(tp z+iN4{i|rr>nTdo`@F|?ywEHdN_U1hwB&3$rA6!l2M@7aE4YCS$b-X16+hkcXPp1dO zkZh(S&277LSu!7@?^%Ot)dUq|f3c(Nj%inZK5&k=%=~#b%UD1E=Gz^8{;tDeOVF{k-0DEF>{mh&hXj5#v}u?r zN(+m)MsTD40)TD5v3l!qI!i9);Us)Y0gbFasxNyDMr|@^T`1V!|CQYGZf34-(N*a? z9|A!g-w!_p2f;&CWK=*p)`NQ!$=tHeEOBYSMI@`s|5NYY-5(vQxi~j46$`zn&dzYI z|H7oGw^(1Fb~wxh?{h4fS+ZBwBDqkUEQcmf!)co@21JK{7_$~DyJh=u7sR=bj1-=< zM#mgi1}CHj4L&-`capqSi6Z3JcAT2wjha2~SGhuN+uO2MO0*BwMPYWBVv_ zYnb>J{M)RRLnW8@Z%n`aOe@zP2zPXQPDO9qmWPa zV$&k14>(^JmXsFDlPd7JLa&#aNs}8Y)qf#cdv8M5>B0`_8nsxC+b&bOcIX? ziNnZ8x#KiD&KC`kB&p`v_%-CgwhH^`Fi}*{rR{Humsc6Mz2RNJl#nde z_fb(Py|UmO!|vk2{Q_wb1P7U^xRm_j$c|R>v2wYkXIdJ9{#X-i5yHQC zmXkHJqtx!f4uW%*-?aR|eNCP)%qa1Y&8c0jiT&fPtDk+%1= zyTfDb_Icukzt<}nOWq(U@`YY&S-U1^A^`&0R+gbRze+yABWG9dr9=r_zuJUThtE8I zar0Y--1sW$^$a7TUky^lUJS=yrLU3vHardJ>%n&)hY79atxd3}ms}Rl-=S-PFWFJ~ zXwDT>s$>amq-x&ta@SL`9{erY{5{$C`>gJTY5>L!ahzU!s}vs2FYEhmyg|pGM}L7} z0j_Dx7z4pa7x+m< zWP};Hk9fnPp__M&(fP}F6lpaTC_kCfCcXTh>s&*XF>HsyP2^8SAP@xGCg+Gdt9YC! zw$*o7odd5}x@di$JLSwX4s@OlFvKe{{MrSu+J6+}(o>0)>9W^vp?yV&%H0)TnS6zs zg2WmWp2^!)b&B^EIdaQa9>9;vH14pAYcHp7oUDoi|DZ}?Kn=RCQ7O{WECb_tYz_Ww zxdA_RQmm8KJ;ZE}gM`gkT7bd!A4W-&xjo=qR^spyYjM4joU8sH7dqe=oUR{mzUMP- z#4Y#1F_9qGXP-TGc# zDmEe<99#{k;Y5&=8#h~;CR>^|9|~yJ9eoNNf?{V}`CVwnXi4G#c(1I}@=KDlpce0; za(vF`pO0d+!0c`VN#%vueDBeV?HKmcYY=8{-&H z8_bsIaU0IKJ;GG)m!%zkuL>ypl!^9PS7{gwzVmIzmsAWb4gdzz;a zH24Lw?(fOB^6Qf(E&>-;L=!*zE|Zs;-ncL2cC3_P#30RSrAL$AR!^Y{1X_5lY(k| zB32e^%_Y8x)axUMwI;%klERX*7?>jW6s?u3RH#+0p;s*C+vwPTCG*p0S~FZMZ=zpZ z(^}U`X*XTELGrpd(T9p&V_j&5*WZ#hlzjsMQ{+J3&66~_m$uV)tk!Jczo zfi3Kp8~N?kFPit=tafxA8M4_klAZPv;QjljO4VQOhq7XA!=(1-K!0*0SUNlMTt?S9 zw>Fe>GYY)%i9Pm6kl+YTn6$LA_Uv47^O_4zr>sGMPu}!33VKIhl`c?pn$ zpQ5!de3yDcYK!3VDJ7+o`*w8Y2oOFWOJK}ajsCb%M6gz;4;;ZhU%QJm1sA_#1GLdO zo!^H!g_;ewv7VaHlE4GAt5km}tc2H%AX1^g$_$Wh)nF2ejFd?+XS~P|(GpDf7SXni zlgw3g?LPXOnoNrrHcej-7%M+Rffw(J^qm-2K#hZMSd1ZKjF^_-r26YT1(l?69Uly> zZagdn@IEz$c!PjZlAcs;*+)B011B4uzu+AW(IcEE*cl<5ph!?C5Si1zUE*cuwh;X! zoZ9=Te%doyDerQs*;l#Jy#@6dSoUUZHd?@6+p27mzJ6S zy>=5>ncOhh0lWGWY^|hSQV_4eV;rCc4svc8C`XGyrFtRRl#-t39I+N%2-L3rXdJt?x;DRW_Ifw4 zYtT0C;B)BPyp(G93Zdm22YRqGC&eC|o!#Fvc~}yHjR@k&y!}CrnZu~%ez4Z6DUBn+ zr#fY7K*jc)wfhEmHyPVDd}YvbPh+@%^X&5{G>{=BLz7X}dH_q)K*))K182{Vc4)dr zojQNaR)}_!)-bqRt?#oV^n({P61~d0LT5kODWWJ+5x~_aFQ9Jc1#GgcWq=Cp?8Mf= zFS>?flTheUx$@oUpUW3h%MSi3buduM;B$tW;5?iSxz81A0?Z3MS6pj+}8r)lCxK}q(6U#Mwn812b^O;uuXj4w4D zfx6k6=q-NHK_6+a0N`{`de^~S{XmwPA;nDbi!#lb&9x>1JMz`8c*A1)Q3tP+|7g_pin6x;~F{z3V>_lx00$rdt1 zAvXpnS?DjZzl&09i7f*8Yg|i8YZV68-e~nVY3ms>k2O3TLY2`qEpKm!(hUL&tK4db zb}tz>9aS`%HE?cZs96^MCTYX1`|&UJfpUZNAdnoB%YnM*vQcG2+#$$arx+62xvTUf zme7)xg-o28>9z4^W#!rUD7F(>JD>#0&#h@#N$a3|#u~tbC3V$>JhXyA( za)&ms{ta#81g6GKVQS~+PK-f704TPVK6o@qrPM5IS^GeHZT@Xg{(fUyg3ic}0PAS( zD8L#V+jlW+yxWWSvZGZJQAKQDE=V!MT5U?i)djkKjA#l+o3{*?H+V=ISUl{Mc23w< zR$gZFv*ZOF4Ke3u=AXu)^)beYx7x#Ox{vI^@Jt%LG@BXRbm@_Uf?iAcnPW|g#k0o0 zP#KZLuq!we2#&j0k0B?Qg&ryssiOC2ra%#WNlmg@MlzRbK$WpV!PA@&S)Wiy2c%a> z$6yfB)sY{^!4pKE?KQd!NPD;(M`>d6jsMvEgc%hu(or@~15v&-UEv*3)+_Es%~2YV zTz|~{d~rmF;7mOYx73sv`8p0)UdZBJf{PWc_v8Gv7F4V)wK~G|T!k;}-g6U;2VhFJ zgwvu*DSXOp;hQ;JEQ?{Jc8#pxK+*bfd1^nGmT5~1BneiC`l63B{BEu{Y@&P2!o%~= zt-sO)ugYt{QaxukQ04zCX4lYe>N?kEzI4iK+a1rB@~lPU|3TI!%$5D! zG|3{%AEzvw(dXwnM&to0L(|EEB{1W8R}>Fc*O&m8;-&rERx@}EhkS&PZ|!95sJPJw z2ER5EzfVc+y}D+5v14m&{2PBRiQ#% z7g~+nBYHP?y^x{tsn@Z4nke7%udH*ZpxfA_j_E;p?0E7FV6NcC;HfDd8hCXSa!0(% z`|Bh(3l|RyYN#!zX|k66fl$36RmGrvJvTI{jHT}($`j(!z=WCJ5#Tnjsbo8LR9vx} zA#sG^Y-aOFa+@n~4wVxiR)LkQa+}$&)cB+4I}vjfvQLF{pMW}0=&WHsC%F5YHP3Mb zo&}j^8uOu2C-nT6f~c3cdqtq{)Kyt2)eoG_cxC1Tut2>;4uyVDg(b;k=7W&JHuupU z+}BSL5h^u<^998;L7;|EwnQDGtx-=)vu3`A`1hmf%9sz|dG0(;oL26M$yrwV%Ykgj zo&U<14uMxgL7;Hw*7Di!Af7;2#HZX+JJ zI^vi)yi?fCu8cJXj|TGdVj)siJk7btdD;|keVKx5DZeC0wN*OjGbUOf62K37ysYj$ z+dGeFv_iG|@pn2aQRSqdN<52n*EVS3oYIGL=5P)d+5z@>&$NLuLyH;mYoXRR|t)ZaPP&MVOR4@H&UWL^uRg7O5 z@NOjh9&82Of>kD35jGlknskY0^Q%}-2sh6h*X)=)q>dJMm7`hy9XGCvQBmS7QZ&Oj zrRZ?j1%Mb-z!0>ZUq96)pHSrL*Hgc^QAnXB{2Q9FrsvQ?JsN&+?}*kRBY#Ru9Nbhk zi2|L*L$JJU5S$-S*PW%aF`jrbo!FD8&S{tm@d@{xvlBO7v_CViNf_djZWa!>LIHMmz zl4_ubV0snh$a>jA9g~4{Xgc%88-EP+1KYB;tVtXxLy4c1`g>3NF;`dtKjl?KnDP!J z>Jcr>JUY|0QyFdTpQ_k-NlaA%7BtZH$ztZ?X|CY&M;OLcVKe1vYU7O-5VekzUl(qd zLn>AI%#AN`8m4vy_&Dttem%J7X^_ia8ZkS6ypctPK(uLu2AlUuvEFy<>4cy+0o~j& zV~UksB3VOn;ZbtYG35m$^3DTZ(OSkhK0R^L6N)T3b2(|;uurqAf2NUSW={zPerXs= zWBoOK39lB(a&Lf;RRw$N4K2P*odg+5rl>7T-}m6riSr3@_X_4aIiS1hN5|J)@VR)= zo%M;?wNLtz<@e>NAdmz=K_|g{1hzq2PZ@AQs260rl43fqN$gKF0MG_!>sJw6d7ubE zmd|FnK|2c<<#!34(wR(5sZ)5WkH9Y}#>pw}LyW@9;bqo~VO3B$xF&r=<6aK;Y!NNz zSAHG!283Mc@9^!7|CXmAU>(VO~rG?PQ2e=3OvoZF0dYs6DOhw`eH>qf3hd zpUfso-j&H2iI8sZ0)c30EX$*0UUuI?j##NY%cEwVTzKsEv57oZ-O6S0YG(olitC-y zUDib8&5`bi>qJ&3Zr&CNuyBR#L;*vxuqot|JG3!cf%N&hO>LvA19hac1R zS%Z*IJGlXc9r+a~U1!2}xv1DL>FvmEmx63bK&4QzSyU$TwEl81r@hYalz`Gx?%Jl9 zLgFP-!eO9L$F$^X8vf|GW6tYl7aunsGqPB~0@mp}MW_!(N;EL3^R3yw{fD2EJ<*aQ zfAcXx?-jGv;#$b2T3Q~?8c=ts^W%5CwhAq+uP4>M_4B^)&VbO*HfyWg9?R1 z0p6Ar!`ATm4IOP~T_xyx#ye(DX+s9>nO=1t{ccz7tnc?J^F=O>J;Y`Nj|GJ9cenk} z2gG&@f~)*t2M&NQ(CY+jL%PP0;&{vF0sg9_d*|ybCc<3FN)eK)Rhqj5PIzcj-Aciv zaI9K*mlofXMMdq8`yC`35_ofrT}2xn`X$?bl(kKFCBg3y%pUSB^Ww0|Se3zSeWsV7 zuQ=~nf{qaHq3}$T{w{08uMqFbmdUOF=$`unL-w#Zu?;|BWo#B%y)=~%%mbLiQ?qBM zjIq`l6^qoAGU_`@u~6cS(WZF&5hdp{&N@=ueAIsp(3fLLC{5>(T3^nQGDiTXgB*D# zL7a>mKC6o$dB$C3F)mr(KZd<0R%(k-gTnIP?6)kxm4IOct3Aa=&@A9?2CKcoycm)H z6_2ABh5)v9F$uyuFdxzv-!((tj(>(8bM5JUC(#o@>{e)Y%b*sE6dkEQV5Aq=18dMQ z?sEn8=saXH8oI~d?tfD=+3fdny$KQy{C4xzS_{Pv@=A%Hu5LAA-f51`T+~fat{tlC zX=~;+tuTr2tJb9{^cg+hc`9@4xXHNNsw`44%WnYr5%Jh8NqV{%wn6INXv%!-Laa_f z{2@Q)EQDvOaFtc-tEUcgiSqBd5bu<#&>_|#TAhjJZ^wHool}FC%Nu-Mqmxs1tpo4q z$4#BgVSp&4g``a+f0_(9K3A?GUSVInzg%X&@<$mv=D5|Mr)6y~+ma2dF5_H?_6)@0K z(Od8cm(#mg^GG*M8p_wK)jbUmWSxt|$0|*L76t3uM3jzOW(F^&dTZ0Maa)JgdW#S( zj@6_oxsmgZY8+i=tKxJv`qlfzCGv~gIt?Jd1dWH3SmvpKZgq)8yDm_;Ff>An8Gfdd ztr|8Zdw)f`B#~41l->-%r#A`T>QrlIubaS;)qCK@71F8gP-{eX8Tk(m949ORzaV6e zAS(0;-?`c ziLd@)ixjk`=VF^_0(%7jDUWVqpz-FzV zLzj>6>uC;9?Hg=m%0M4%I-t+; zF9?;h>ZFZ!>ZD2DXi%|iWlSR1CzlmrlI_!E#lm+i2!uID=l1^;CZmr*X+_LNl|3^I zQdL@SrKnk$D?F*~kYdenTtsItYZX1N2co5%zwYYJifp6FKIl@H$s$e(zXA&+)@vl6 zn+37y^oR`ZML|VrWKqg`cnS3+dOe2|Ix847UfGyGJocOj)q-fx_^HqHOqi5mG3dQ@ zvIJQipeG|L@COwKBMTxhhN-f_(|b4N+D%(js3S66+6cyC@K6`)VvYuKoam-V|Nd2v zA0$D>$ceYEE4GRujYJ@$=LgtM_h2W}jBghP1|#F?rxswdlUm)q_x9#~MNYzi*{eCx>k*f*?5Q|DC`o>^ zG6BSa@>8dW5>K@vgPnrzKdgO1(du*y?w4P(Moo%;jVaZ(&u|Cx>j9Wt!AldkTf%TU zLfF#QO3Bj(q!KNrSrjB`V)s%P-?o3y&cd{2CLCMPCQl!g#I3{Nu%|v|uOY)<2w5E$ z-L1~9_*}4~V_xOaIrQD-_jT%MieO7)k>zwMNTvicxDja6z8EVva|u@`oanGuhpx|% zAIy0UDG=j29^1%SQA$ZVio}>^EZCUlgTL;K9hGLAPnXOO}OxDOvxn^ zFGfiM2WhQ3cOLl6{QVMHQwIqzil;#wr_S`T0>W8x_n5K#y+EyeUYhvtzW$kKmH*pNs*$H&6x;dbLrG19wN?ECh70zEZ3bCkyLQFlD4 z0~fUW_I3h2#~R{Ja*Kq7+w}C2bFCv6T}Qn&)XY-%wx%+*YIaR^FRoiR57TxV8yS%k z9L@^c0rPgM7{Es^(FdN~l0t)@Jwcmto){w)JF+;kDWOtUrQzB}&Cv|w;AuwGC;rVV zbE9PtEwJ@qsh9?4+&myUZ4h|};=dJo z3T!9KF`UUN$d;|`@N&no?oE5&G% zCH|^@`d8OOp3g5`1|kQD*;iJ>{_y05q||YDtYsZ@C@ksQv*@? zy>Nm$3Vb7Z-WY06WVQ!X_8IvXeOJWw6EpYJ>|Ub>TCW4HKS9~U)2E_`;R&l}8MN|+ zMuCS=qk}2=?(b3c0(sym)NfWyZ#6M%0yQb`*HJ4u^P)vyY$6vqY?a)av~ES%<4iD5 zg#hBX&;fD#HKCYD2%mGV7T8lWWyx^7h)}rfT20_ci)kIr!70koLK)wKan5S!Ylcs0 zsPCE=`|;egZH()vLj#Q0bYxD?m)SJgX;J((>pDb@fH>=Ybxu${6Ju|@{u4OVxs23d zg{I6cA&j>@>}(Ib_iU7VybIIiUz4)4_JC(>#HkN=!Urzh)xCXoQfjby3@JH>ni{7< z5*mD(O4(#`1x|AFgpAC^5WGzc?vYB^M8JNk&e(XIKYhw4Ckz@jSMNS6EdD3bVQW=bv1G#-^i$JgQB5@7uT`PGanB(ol+_T?wT|ZZ`P>ZD z#Ts_Y51SA5k4v;4VCy=jrfNY6P09;qxBtn^;0Y(yf5HCpB~0Z19<2HtPGwG+!2$(M znX02h1gbPF>`{)feEG-gjXmn3Yol$V5K|DaXc;Ay8B+tIzZ!uI;vPa0N=G7&#OL>e z&9NVx#m$l0%#o9ekItr(%K5X0p*l8EiJPwl=~2n@B*&8^8YQs8}?> z8i#Ta>v;3o_TroNx^TSRpJ({m3J)|BB7mdZ0c4npgfoag3#KF((Ot(o0t{*{Hs+Cd z?DYZlnR6!|x3>2w_!dC+8h;fJjZ)(T<~hIWTgYojGSsCg#g+zkvxQkGG=n(MXwGdHgHYQN<)LR%Q= zC8<(jKEbm)cQF$^dEDaERE}OEg{*~6fF3>U^>w6P8{T2UbOM>u!U^mw-*wK;3@Fi> z@gtXWGYk2_H(SfFvxsb29b_6)N=ioDY}w~hpdy)`fIiW0M!MlQ4UMX}WbGX6Q?1uc z%g7UY;XoeKqEY*Wj-1xGaioHI@LXfz*v<9jo0o}v3Inpqr)CiC&@m_}GzSqbfK)oS zH}O+}P={I}9W;**lO!%co8Rw_;QZoeEiO%I^MP-Qz){4Q)L@H~c^0zT?Gh(+mG;$n zQh(g$ub*I>8a92{P*%4d{wB+$PGB;&F5$>Ezq-2evXtw@`#i04yZkQ5rcV-A`ZTas zZW$z2qUgRQ9q6(rfkq{1NQj0oe#)WQAlnYOS~`I4BXWr(i{ITq| zk?L)w0^27aYNhHTrGq3i7n10c&6F=n)1q>IDNY?HU?RysdOKNL^#0+O3IzFj$L&2S zcD3dA)_xboo}g)ZL?^fC4g$FliespsJ^bylK>QZpGa!?bJml>gi`%?oiaF6Lnrmi~ zn zZ1NCee+!##NV_Obn-lDn7X`nSgkkDcnmT11t(dK!Yc3ibLja*Vi8wwAv4GQB%^I^YiC{QOWsCS#JQ4~ z@%G7H*asc27RS;=PH<10KCRY(vOy(Ke~gdGBL5j zbEamu8J!sDgh{dG5VUdNQJbIY`{u7d>QFy!mN?kIS9@}Ee+V} zQ?s4$zP=&FkmPKEpQ=iG&=ew|9ZLN`8e6Q^87F!siT4F$bGC zm441W4L%d9%@@de;c|ox!f(YGoqZX)-=txjADR$c0PaF$w`)&v_NQ_U8k%lVO}i() zVkUkmhmzCh_gQc52@!q3t4sCM4WQE~2UW~#&xfc(o8B)uII(Ew=+#it(bSX>KS}WO zU42_d<^Ni9w4M1ik)s@bDsumo^T-ZcM0M_EFX+CcR^pzQ$PkCza9-3p9a20#M`)1x zTXP2Z2cY$;Eq>j_N2TcgNZH95h(Q^F@rb&Ul+xG={ZpW=vly3whP7L$;=v_9p2TxB zB7BLV^Z>P@Fm-IkwbEVG;n-ejPovoo(M6JV=v=?DFxpTRfkuNVlN0%BA;_k^7J7Va zs#oPaYw$k0yu2^uWk^s)sRjD{*?(Gffo)*62*B0i@av10DscN%H|H)h9i%q)^=LWb zGBKG4vO!PEoI~`A2(?QEvBQDFM{pyus};eAQ|Q`onporou~$<>S?MDn#0jhF9aezi zfEuzx{dDSk{PI4Avzf|Idf~W7XiL}-DQT0ULy|;HQkZ)OH7XZ53JTpcf~StXRy{Yc zF<|dkA~yROo6HYmEqZv1w$?we=+^wf(Yl$cXqobo*_F}UiWz$=?NpKhO^RlMs}{W3 zaaIsz9-9%jt$5L`Amb-KylGbBY;F@O*vE5@vbtO~huCP-;^wRdf=S7?80PzIIuppg zE~d|JCUAdKG=pu@`rORWvgNuI(YEpo)PY5Je6fDSrk{8YBTHQl4{$xH0>+qgEG4Pc zJs^e8f-(c&p`leh2UT}n{zye~5qN+VIdAi(*WH8-;ZqpN|E!~MVt=ygi~~z{5yq;; zorE6$x~W`qWC7=uE-*0Ze)hS%E?3;3R)imuaD_ri_F}0e%dJzuqm!^#ixd*jCj@xr z%Ina@x><@n!@}G-%U_l!DQoG-aZvqeNS?-_cGERff}o+ zp2%f_k9Fr0$`p9KhP5Fx;=THs#0kJ#o(j7;Z1nEOM62bD_?;1Bm#U>hz7!gi*shep zozF)kn&+;^Z}2{^N#L(A^SKA|x+n0qvIamr$snBUYvTxC-wTw_yOccQ=vvCZnR2v* zIn|a%cMJQJ&vp`r!k5!s+b&Wi*Jq&+`)ns~5Dausc|Dvt&3MWSsn})DGXo1WlXvUw z;Np&FvRJP1rYmlZ2~=K7Z%R=s^;mT#EQaHz1MK;6*W`k^2B}|0U;U(X9lMz{f53#X zD)8gnK#UCvD5-sf>t$>WvHuCa+r{IJ=$>17#i8HVHRurt0=W)X`=e|<{080Sn#2&T z7uXv2&^hQq$NsaqB}|^Y9Tx~zS1=Ls`^aIw6s9fHRpBv!#`8L%UO+gIc<(Pz_`xuMO)WYDw+9#Gp`PMz(RPO_d^NAH;*6beu=akQZ~ zvNmvXDpL8>m{&*TlmDq}KPwTnR7%Gl{!PpxYEcb&{yES*;ODoZaJ9(@m}*gb{ZSc~ z_Y#7F?YyjFmf49$miHExcbP1?Yp)L4k=Sx&Q}?&0%Z}qrw`-5zHGuCMNDnSN-${UQ zfU+Qm4s36}X%J13C0E6v)FIG`&L5$+-T6YVHg>*hPp=Ir-Vi+S5tqz{se|y4Z%fO> z`K>n!hj{~;7uqvd$4|K$z0p2Cq*0CE^yiNX6WvV)b6Dj%n0@A@BS^Cg)tOK$Py<9I z9X@i%9~TlnRUt5zOayXRCS9o*JU-CXMt*|SmL7{U@R%#f5P_KSH~v6?!A57)Q50RH zKn)gCU-cQ9@O1jI227(81Oxw!M=B%+Te&_g0keC!i89aD@>r7ad(f^JPlzi1t~z5( zti^C!n0Zqw+k;XZk%NiNFuPPM8YA&OJ4lgBKshiiKu6TWxG+(xvj_vBwHheN`OH|f zLti|~c{UoZR){Rqq6#d26*DHU+(FqWV4mZe^h5yFB9Ykgp}xVVcvtD=jr|!N|Drf# z2D>?wr3d1+SCu*o?+C6(1m;8M)yXd1F33X?dxW$TOY#7PV%qDM>!z z;tvGQ6ZuP|KjLtzyk)VG9PP9kB@TgG(2eVo)BZDFwKEG;g)^JV?!rbTCx4TcI&Kn& z1S7sYs!-VWMI${JCe94sM5zgz@*1w7(t-qphHGY~b^rrWRt_^~jL7Ksygs`fi8DOJ zJ`mSfww+B_x_cQv7*ow727AJOw*}`Ra|oQ;;~5!eWxopuon=ha$bS$k^?vml99jo; zf)Gwc>i@%M_JCC?w z1EI`eg#ysBK}x?-_IB)&?9A*!2$>m`>?o8%l#*2c_nv!y)vdozr_a65^L?NFzUO`4bM84= zHD}~)vqT+V)M|fhid$X%8q)V|1ufp(dDP@dC+EdX!?PL?o=adg zVtq*NTVt+M#%3Rq;L%pVku4_n=g}-S=^mcXn%B$U|2z~rM!)-z@W+(a%c@OMg=>Ss zeBYz3=(8@R*QiMruHG}FG1k9S->s+ckLNm#%(A!H<{~nYDi%k2r9k59cSc=zB;18^;Ksm^vgmM4*SDM5$i2i;ufAmrlt^ zd-CcrAM-BZYgCU3b>7>_q|jIUE-Q(9XScSzKjxJp>#}yF?3FdIyGy){8x>#l<>}~D zS(lg@zJ|;EZA*__rh9!mKYa<33QByGyw9-f@ASFt%eNmJuaKb|J0-_SZQGiABDr7C zzA&Zj=6Xr|ZtJr-57pr}s8`8vBIZNuPk2q*Nd0)MDn5Fgov7i;xjNx>dA6pwv9fic0-Rptkz$=Mn6%n z2T}f=z$Btk=ayvmouet7KN9YrySCqb)q`%*zUZoaaiUwaL9huaucq|aV9sQjc~4GJ zwC9IR_V~9do#NF;E1dgnCQ%6=Tg@U9Cu0*ONUH10%!ju#IHb~{T?q#FO2gWWHfz>r z4uP|g|~wJ8?R87jN(d{Em~%%viYX-Es0_OwDMx^rI-Qr4IN!K!;o{R^ZB=!&*$t^ zG_xPPL)8+IMxJnJr}ShAiYxUzoBQVQgVfynp5gc%FoR(8 z=yl|C%9pTOyZEGaWLti?$oJ!P-{c6_PFY$f_DG#{7~cW$kPUm{H5P1F&1&RDN=~CC z;tz>tk<~?BGWBAS#&Z&{LTNPkN1QLymODeZcdMnng%&SPaMUy|oXp15KVo0HtS4&c zl~*(>Nia+(Vaazyqa~L`+C|^bR!fcXz0~%nq~lj2PK8Pyo4ZMLs5zVHB5zluh(da? zix>|-xgTdaXEFE4*P6HG$(kqY{5@mHIu>+>eh_tvhdT&uye1Ohr~8a@s+)>rnk{;% zD-=p`sdz4KPsK7gMMQ><=fzUS{8`^`Y|U0Z9JCLe`l zB3=2K0(V$?cUWKV26n_ypk5}PZY1V&t$Q3u`b2n_=Gxvq&s-K!RPU!!QjUn>=-K7P3&+vEYq z>&r$345q;+x($-cd95+aV>_81ON$MT_S(OH}4$F>~snrNrkPCuGMC42d$F}|HS zbKf{ix9sI3{W4eSrdH#6n++A#r$2k&Zf)WZdJm`HMEn#qc)I4h#2eGtT}jv^+COz!Ea1*?z>!_ zaU%%%N-w0NOW5#5wO8{!$x;age{<=&6yIkd6wj?lqo*skm5wvr8CblJ-*~<%xtYE> z?~aV}ygyUuurX?}HUCMCV%kx`>NfkR^HfOIX#KUZA+}z18l{k^-h|{U#UdAyBj;K@ zzZ6`gFqCNIf4!?rv3^YHhC>`GFI9nSR44OYZr0nh@W$8dZ7I7io!^YyRIj4F6=tb= zX{4=u*1Uh{Ig6--{K(N4#(hTwI+o*fFVk)=x3q1>@FU(Cc=k>--7UwLl@N7jkF6+u zs9dqLa7IR8Fl%VF#b&JNu5*m#J?gl_QOn<-FvYFwJz9QuYq@7hQqhA;*Bv##9vq=g zn#b&AN=_kXlcdQUU)>NI`!!1T(B0?YIf3o?D`wYU5$Sjbt=8YmR(_+JxZF#}uP<^U zz`veVCbV4BIV&w@x#($cr0`lWQ_pDdaxooEDVHoN%Ctx1R7X`0_cqg)q@LbO{GXU? zqM1&dWNdugnz4-ZL|*Crl(u*gReMa(BD+=habvsmJ1ecXOy040n_BA|%mqREE82_w z(yk~@=_d!|1wJf=k*w}_L31@y_lDAY(mFifv}DtoC-F!fF(kUL{<`c3=h4EtG@c3z zGHdPdD^wS|cufq+8JJah&z!oUcAyd!d%U`6bKj}s>qUv16+vhQ9Oz*UD2S1VX0Y<*2oM5pgBY zRi6`CYm;fdKrbApQMlzS2_CtfsaA0``g0%gAm19#q>$E#Qts_ZlBJ_uiP}_KAIh5LO+VGdSLy$%W1-1%EqF^f#nP)E?$_-zI zQ17(!JRd``T#~#a&r9c&Jn)vbCOvJF?~c2Lh}*b`+apP@!*-v=|e$P9wP$WX=%&1ke$uQyKtsX8ESq@nr zaRf0$Q`pV}ewDjg^UW?Tpl$fNlSCIGiuy?6axFXG3l>2V^*UNBk2>Gmdd-f(5-Ll+ z?1vv^Y+fPMA5+iw9-se?m=l;vpRh^|zIWnm_}De(*$1)fIgdIuMm6R`9n8E`wwPF{ z{E6P}x*NT`{N|0f^syA8D}sl$s8JL9$(&ykDL%|>2CaO^u;CXy?uV~U>=s$Z&^A}+ z_7aii9q6AU*RDuwljXd|_w(Q(gIFug?(Sy7rrS(ShM$~$Y!t%g7z=IktYs27zlTUA zEFp)ThhFs7T{ZHP8=yPcRSg7-8N5GSca3Y%0ZYaRMj(o>P{PqzSHoV z{F=Kg!L`Yn+R|zD-d2iD?w_^ykLwjTPTYGXGOyR~op{q->Zz;cg#fn!@$PonI&JDN z`JMM;Jtv}L7e0Do2zjc(n! zp_bjeX~MoWBNA<9<;~u|8eGlmb>G~9dO@Yw-uSN6z3+*S8&xWw+)j?2v>RZpNEWc^9m}(Wxt9DpCh^mp@5wi_o|>NViA+0ngVyQj@)VX<9c2jG}h~Qg&na z?LQo-4NV%@P_f9qa!2N!xXk5Sx)*QxJRTpacu77@{3^BB;7iu2D`#sP1YdkS{Da71 z@yPiP8uuQp>BK(El5Osrez{K}O2259e+l(L-&~FIr?)#*sP5OrFM`@j3dm@dkJ0*; z)TsWH7peNe1Ck$(+IR8HyQ~cn+}pGe_)JqXBgyvoK-Mt6pj3GLuzB3=@pV-(S&LUn zQWW#X;58Dc+Y+g^D)j6P(H+Ob`4QV8AL|M7lgVs&o?oc#L6BxDwS5-3K#_U1#A|vJ zmD6q9zTdoeXpLf3z&HQNT1Z1Nf$&R8D>c6}Mbc*)i%M><(=ILOTBrr5w|klS=Vuz_ zUMg|@A&0s^>AI8GxmspbvUXp=bU`>O>sGw$KEuifNA{C?*1?9m0TR*GE7Uu$sru_J zvmZ?!onn|_va=^&DD7-w_eV5HUrEdFkwY#0NDSTJ{HfZk|24nURjV1*q9YMJH7~ysa3tdn}#IU^cM(>}(lSbi@-h|S7`Geui zsH~PrhsJstPn(C{g+*;KrVIvEFIn5pJ(SHRaj(9;D?^)i-PremX$;v&LmA%n)+j2J zRsT&f#RyliCsopVGF$b@kG{mQdNLiEq?qVFT{Jnk>665ll02kZ7vZ2vt4t+pLaMM9 zNmHRJ*f^?qllViW9I-=%Sj7>SK((8K#z#>WVeX4Bvz&Tfz13O#NritqEas%+nUf0R zk>gx@%bDDdcI-LhP0!~pb+(CdRAkqcU9k$y|i=Wi^G`?*IN1IVHd{MN1O&4z9Yvs0( zhDv;IPsxtO&r~1;Gx^v5&$Z#E6BD8#E_?f`CIPDm!Lz3@cN3v7iN);>fkG`aY?TyL(9lBTV zh)BO>pS}{d8c)^}@ahKtH%)oR%X;k|xz@>-C4-J{4h^kZ_&me^G{qNigPTxG+j~pc zV%)urP@_=`D9iUm3!>6-*k;ae@)2w7on2x4={Zul)QVBOkqEV#rIrb+N{gS`B+_v z3N?v$d}6yI7W0TBpD)nu_PmvF|G8OT=)tYQ#-qUo{^!$}Q%@LwYe z{FRHY+9#`)IiJ+@mmKsp&$#H6vtDI*Je`junrCn0x@7*;*{gM1${}yw4`oSpd_1u_ z^l7#F(gNOW-vp05Wi(g$EgBm#xlX0ZmEEe&FRYWVr#s70{=2oWGcyX-nHs^1%&Yw< zninNdK1lPf?F>flsaaoEuc#@c;Yv`(OGnc;boqw&E?umeY_@!r?;22k&JXE<5KV2 zx;_%%5nQhziIV7|lxk^W*Ia*cR?#qNte4h0waV*BnU#Y9QZ;mtTE)&z{gh42*)>#LlV(m&fDd~;$#t~7jyQ`_zalDnM7}lwVs<= z-mnUpB$t0ndBMsL+2X-iINz?8{9Nnj`U)*0b*oG3>{BI@(JUK_{z`)!*J0T!NADZl zJ;RhT{A^ISd_1et^c-V~R+qkwUOW;!vgYzQ~)YcB5x8T$dlC^<#4 z4?c1%n(^)9B~m{LqVilrf%N&Bim% z$5}%tJ;Kmg>blv-?r#ufc@EZkC5fXqPju1kvD($!OuuJxQ9-(VM8)Qi_Rv{2%LrA> z4(8ehmqZUeO+K2CRAHPb@xAb{B8o8A2ewgdpm*j+ zY~=3F;2$`kO!(*BEZ`jj;9;Rn)OH9Z%;Qwi?@M@i4~c~CIv_|;CN{x2( z8wEPRLs!trqx3%cyRi(Zmbc1W;L+{F2kG`!r=1a#sQdb)XfBg7S z5;Gy~CO6sSUvTE5Rl6g~zu3X7rD^%;<;@W?sYj5`%%?Mq+}Z71%C~g~Uud6F7s6BP zbR?575q;lPUfW065Kr%=kg+ozF;2pBo-s=AfNA%P{SB9* zl(Skdg}PtZZo4hiug#`Q#N3GRic+21I*P1{d3>1QsD$z|^SW$P8EPW{8GN6egdq2h zc5hmkl>w7c{)Cc9;|y7$MALGdyD{SyD@a*40x*179Z%B7+Xa+F86SPD53y^u=25$~ps=!~c2^IeWmSRmYB zI#J|(yLx;1Ywj2D)asWHv!;&pr$oHj>pXW)Ctg(^^0792n@ zJ7kZg#FV5eBU$x7yC7%Giv8B7r`R?p!jX%%cN`tX>pW(BkPjpqQqd-8g*9d_c1}TwQVMO#~?ouK>w_ zAy8 zL;1^$mxeFZz|*B2uNQ~MTS^Lv*Xm2j5~Kv$T18xZvUSuqu{@WKzo{XUr$Fx-MQY!Y z>}F}$tgoxxUe)z0NWmIU+9w4MJhiXgZuwM3lF%uAjajl)J=S9)r7TnlRV&Fx>b-}c zPqbIao^WBR(qlJys(tKCr&lJ|sJw?ZzNpf(vXZdV!=pM^^A@{A8s|90QLM4hsDQX! zV$|WcnFSgRbP8dXVQgB?^qJDM$iay~o;$oY&S5IO*4Ku+RZI`oCRx5beV9i^rueP; ziTI|T_)wYi)hh8l>r870R8WaUuimB&_P=m7p6b~mSy@D^Rh;B5=s87JySVGlD(iS? zYJ^YkJPrThvHHC$2wf&pmn~7JP%qaPXKiwX3Qcc~FN>IS>o<}TG2FMlYfGF#@>qSg zPRL-LVQYCoEmK#%)*hu+A%7)U7v?&c7oJC7OFmHD%n- z;=uc*w;lv;H5ppclsE1)41bzic=n<{zTs?VSzJI#zGcM@0U7eq@Mxj!kwD_%fWEsE z{qmx@#kNv<3r5iYZ@pB^ z;AMXs6B$rAe%>G+J z5~38YAlHQ@MR_z1mp^OZSjxC>ZYvbPUeGN{m)SeW)NjKG3GRw_kDT6UZ7{z%_T(Oi z;Ri$Yyo(+u`AE8UGsA?v(oH!pr;t8XBk%@4@3HP`AgSu+C*&2r?{zOPL6b9``UAPE z>E#spoz&g52o~De$J*7b+cv0^+#$kLM-9aoW-^)vUI>fldFwuYe%n&yzDX>pAf6!7 zRP2=$ZM`wYw`c>8BGU@(r>~x=?*v0}GdGfR_0DY3?3&ov=-ixs+wyp5Z#{P>BzLDO zxvu@DP@m=SaO0GM^NB0+d0aHIYvgr8ukR-Yje5(@dZK;BhTW59QSEe%d=< zUL!tgb!By5f!X5IS*fRYhn0oM3dDq)IVgylTZ(CIEcKZJN9B!%I0m`wYpBy#IoZ=b zB!yk~(!8}Suv2DlQM{qabJx34MqgX|yN1^-!LARI?2crXrvriwZu@1ocrKnM(9c>o zp$vTe`1jG6m0QJ>xQ869$(YhqFS>cSUCS(kYLXuX6kgUMd?2M*g)3aRPhs} zzfrH>jYH1%vORW|`|LZ_69IVfXKiN`{k<5i3op3pJSAlMBJ`yvk#;}xpsoD|(W51a zyuhjLJ(}$`9`TA$CNbkwiA?0^_gVZK#49&0gim$V#hs(x(2cOH>!3H#L_P2KrdK@2 zJ6^}%i|AVzSMIaW>3lP3e3?n9!|cPMD7`DPu_d2gdvU(fC*V3y`XxJTGGMOiK}=l7 zIMY@7Z%4KIZq;Sk?T0__L0znF*oDGS_oDj)XjHWOmIHNre+s0A8teC3o$nRObJ-E6 zA%qfyUQkg`xe61{PftsKn|DUBWh%{i32D)neLhb-Lt`!@^r+9L`_{yhDhVI$&l{u1 z39B7uOJ<@M1=oFysOxj0*;E$`7WuiR3;HgrJuaWvW*rmHBbM()F$vW0`s_`rJ)#lv zW#(LB(!U#Ua6MS3url3%M&gUkHE;Tvtd3S04z)^zYpj{7?aqC3jZ+?)sKSF#qv&j^ z9?#P0`OHJ!P3;n@xv%V(CJYt{w(fY@P(()*+R0z-2>-^hrLsYJ`mNBW1b*k`=Ll+F z3N68Rvz#?wlw9*`XG^AsGnh@7gq<}Mb!E2Mwwjd#31*Cb2)*m4IotWYvCn!`E05-t zaIeJWDgDz*yC~-a%0CATl{-)*@!E!joyO)m=K{oQ-*T#^Y6Kn_33_`a>}vx)`CeWE zb!$wsff(P5H6Bsc+mEERofKzGNZYn<)xQlrw%N}lD8=tYD*#yz@P<{36(gz4@@?c-#w(*tiDwQ@|xEEiKHGdF|>ZC8-y{zN|}C<@+wLWO6pXQe8W zo*w=patlv;_{)Pt4M#=SLPNq>@}<{(x(9=jw$qiaB{T}%{De4D-x9Jxb_V%Dp5EV8 zQD%O|v;2w8tA5)n6{ln;*RS0l=YJ;1bn%T_`WKbjbC%1+z4CJ5x|LN^?LztTg(K;m zQ?z_-&rHwPxHoCMKM`zu;;bVIWw&jXu8gYaO4O{luNOeMl_Q>f^R1GzsP!nhoAUiP zi!E0}U+k-W=3bj^%nxdw=T+I64N&sEAEeyiaILA=$~c7Od3?wfnRznNCzVybgBADf zo6JV#=Q__g{#*=VlqJ7+1ERFPN>jGYPqjk-FgCIt)wC!r(sd?R2TF9jaT`TLICn$r zk&tzQaScO7ZK7!3p&ItYanoI-*jC2f<8P#b$SzPM4jq;rvm`IJ3_ zjigwS@N)VKQIF!Fg>`9^m_6V0{7JUYlo3Z`Bp;t|>tttpD9ttYSS{a-C`+BBhn8Ni zb9G(7;-&y?^IQBE!UJjqinMPppnS$23y%y=AE~~)K9-*8G82@n=aqgt=I(=2C7MTv zTYBg}WuAFJ`;l+4z)+@ggA0`U z)m@DskM=%d?n(Ibx|5-DAE#UvZ&bfrRLn55Tn+L28gImPJ8IX`i~gi~T*YxqGVg1G zN0_Ggy%J-VW#f?r52OMIva=5*7xWaa8WE)MwYnn9F7A}F4^``2)AmmD57UkIHYPN4 z^89XahE>2;O-`dsfB6$M^h_9io1;gUiM@ALaiIHU zciwLE=jZ#p`DmXE^EqZd;QgvqM-`lHEj1PBQEPu|VPgB-3AcNj8)U~bsqoIhJwsC`np9P;2aDJ9=CY)mM(+0g__jI8ao|bKZF{0*#BFB# z8&VINS}twKT{Bx$NHBY~;=y%HQBgo%#!#Z|R;QV8`-`UF#TUG&jmf<7uK`z6x!Of8 zE_T@6V9Y`ikho`e>7DBF#LteRijxd(PP6B=lTvlB=w~wOv2k0FWXZ6R8f@o(Z>iTq z7ssD8e#_~d!~@%r}J@QH=bsc*I0q~*Swr_aq#c%IWT z9l0Zv>7coR@KtLkv1v>lOG;jQA7IJ-VSUXGRmBzAh3lMJ1Yo`%glzxTl^f zN@S5^j*}_T3YR!TE4x6%<3DjbC#7)7TAKMrom)U#ws;P=@7JPN2i^+>t6UpY>VJEo)oIV{ zThems=$cV}uH2tFJ3{~ooFDgt=E>@@Y9@=pf zUCsTP_ft;lx?_GEsO4ZXzKfuAwBV*=MeetBm`jz5~_@qW=8+9I?Jr()B9c z<0Mf#doMFtL{$_v>0cSlURo8E^c?$P^~2q;lK; zZpWmIHUqe2@`{e(h=%x3(tDW`A9X4oXM4j6#9d9)F ziuslr+f;?|2g^rqM)<_lvYqqnOiS1KOj9plMXRG6s(y7Kz2h3{jG^U3(;cs5--_3c z(iD#RopsTV&B#KF*AGZDiyb-n3c;4gGeo;Fs^=2nKf8q))ZF-Uq5bZ#7-m(X+g_#NOm3R#rI<$#)Nhk_PBqjf`5zHu}zK2eL{2>=Ye-LMSX)9D;9H7q_~d`?O2FZoS;Vs0X2PseX_|HsFV z3|HmubbsjNICWBmG>q&LfgkntGgBkmN`oUGA1Sv6`+N$R7|20QMc9abkkKZ}zoMgk zzWLszW$H~2@v0lvy|iRDN7ck1%wN>XxI;p)NNIAI%9-q)uCgPMXl9pB2IGG1ZbFzW zHCb|MdlGFq$uW4oy++!3C*G~BnDKQ6*^^N*2CrRXnoDv#n zt$$=x<}Vb17d0Pv1NE%V;<1;N+KDcb4T%WvGXYHxuedOc-*U(lU@oF&cyvYR`D5_% zoo(^xJc=XC>Jq(_UUvr;Ez4B%Vr0~L>Efhl9nOZT98(;;Y<)~BH89*=mi_p1_l-37 zf<9O4ok&amkQRFNn;nEnPxVa#`kSMO`whPK8Fccf_*aX}%D&x3(N8c_k86Bi{dfV~ zE8N}pLMFT6!(J`(5B;#U=<=7ujy6+TV-^=229YkAd)cex-GrvKa)r85jTe@kd#8`; zb~X+4*m!gtEq(31cK5E~3yF)yYxxo{-{)K>%UZcpz2BkAomQDU+Wa&v@>)@q#RVpL zw_d^ZD>2Py8&(I*^B$ml8c*7seN6x0r|z6@bct?2VZlta?%?SjanrK}8gWanXVi>{ z>=b*X>J<6ilYGAtw1?%jhKe~KZhcN3Q*^ZZqcxAN7M8CO26|2~Sko z5Z%h5-g(LEV%fv?QM2_S>6?$Yj9yQ2PsH`1Zhh3ID@yTw82{Yn(Jd4MvPey&WmQ=u z^)>%jx?aUc^%@=@sK0ZFdLEVcPxwZ&>VMMe6BlyzM&9#frgA$ubH^5Mg_S~*m9$5} z!BQ)4;xj8uhXkjWvrfocaWGdC?*tW)JTKqj;JWlxO?2^y{N;s*BWujhwcG|GZGMuX zyNvN9@#Y-pG7r#~2gv?>5nGc$EaL93om7h^@dN}NrVD8%A!0C}o~0lXe?iVbC)<#e zO~dI3QVeYdLb#!1b-TN_)gw4L-3f$lh~=NsX3OH1dMUm)oFvMtlOxXMMH{ui^M)v4 z2y^*h!ki>cKZW93bI_9(r_Hvh1ytw{eDO$YT0F!NB0=YqnRY#|^#T{X-SaM4`6ie6 zUEb*ITzz0F{i%LE!@pNjw@M+(vC7-2Pw39%JI2ZPrl@rq6)U9!-4*+lh^%BTF6L`@ zISC`}zMe5>>be)@a_l2nr>eK{DH@fBb!yp`w6n^&T<2XKM<}0cx^gu5oR*4xd$><_ zh+EKAB?!SrB0ttM>a$o=E~oIwoZiJn^ZdR3iwGsMJTt)z>q3*4jd32Tyt58BXhr-g z9+}#`HM?bxx=QOB6g10I<`DgkIb~AkIDZ+btwASc6q9{|soc=}b;APcNkb`Wb;beW z6YUq|tyc*=yLP|8a}NRu%f=}U)xR=S(Fg8vbuT3jA0>w zINr!KcGk{cSMEVxdolT-Il)@Z$^*OYqaFdVGnZtvn%~H2Pip04yWeQLL?)-udtBv* zZ&%PyQI{KU(hshsXXlF7yyqR{QE}51Ti%yUei}P%%~;_MO=zb*wrG3((``GdM8W9> z>CRlKo3)Q1icnyaTIn2urkcKz`^FM+e#$b_dY}vaxi`WuYFEGH_SQJLbBQQ1w6C(R zN62KztMJfW+D}-anI=>`NfRdB$Q9vB^7I-*y|K_nW^bH^Vyx&*A??t^+(Vk%hb%ix zEQIWW6zkU{qC)D;hwbJSC>*YxQMT-ORP!YBW6w^0;WyNGrj6bp{V_l%`$# zRidQavP-u7W+cxw9iA83{D8X-joU^v`pR14|GBdEYyAKPL?X1BbaD_Tm>yG@hq#F8 z9TK(p$forIL=!%I1)}5*f&>2W#EFd#n!kgf{O5&9ln|8y0S$bG;`aq@jv~ZSxSe%5 zf(6>hARvWMMF`qbPk5NygqDS{d%p-sqe z7bS#P%CMr~I93JFlR|oblMX?)mqihOsYob82>q5`Nx(q<7XSo6@;4yPpMf0GFaNDf z9OeNKCuFP4Nc2}@vAcji3V#296SyQQ;7Cmcf&ij?j68(H>Zi3UJovi+k1A&NHQI#31<0&oz5;}AHAz(EWS5^#`$gA5#p!9flV3UE+@g9;qf z;Gh8qEjZ}FK@ScFa4>>{sY&cEv&25^rb8(UCRjDm96Zp%ARi&rTFL@fYg1n-3nwv* zTB~Kj^aZjy76F)Yw2lQf5pu3$k%cJ*bu1X`U(~T2gDEukSl~jru6>WCN&6maaTQGd zWXA?~kS0-kwtNDZ1iBb6`~f&j2a!3mF~Z+KdC)}PjdaE-VIM|z7ojE>o!aU#*Y){i_G)D*_n$+Z!#K9N#>83fCej`RFIX5N*pw3vJqZHg2Q$XFaK-$LK zWRNEXH>S6PG_pXIZrsFwl@Qzkg(bwuar+gJ$4=oWhQ50GyR&_z1cfC`$$c2stw6~w z0)K!DCz6sIQ#i0CO_W$mKnz)+*Oc6t{saVI%!REvLB&l23+UkDV}($3JVX$M1P{qy z1_J3~Fba0c<0kLly%?>K`ihUs#lNgQLd`9RZg?GJ4jf0o!2=H7CVgr?mliaq>HZ*J zFcJJo{wW{bL0FB^Bp=+YDRhz#fzh1wK$xK^myrLU*gvB#4YVl3Pv6ul!~Yr^41k3I zmI(T3&wr?C!k&M)6V_13BcKjfchh@4fg)8{7f`{_RFNt$0js`#4H9U&1_>5mV7y&| zq*5@fMhD4oU28|MNoz-l_x=B|p>|Q2{(8oua8t&j$oLhwjhh)#1^!TLhQxG*fd`^2 z&_Qz~CQTF%kt~pmITBN!y6A70&5{Ql7TiJKFNXKWwdXOWWgsr2qX!K zpn0?hem#WWB+dJ#_Ugd{2kH(TI3S1C`0LLQ-9QGqV}YcGwMM*uT^K)gJvJisU~y7mWPGCM?tiPSPvjM_q8ITaFY#=h70U4 zdY_dX(knoc!D6mi12HeT0Ym+t$b?*dcj^s#E)Jxf#F3QC3tOaSgJgoG*x3Ln+XAro z8~oH1f5)Gz2JmZzp)DJv7$@ikI4=ek!V&#JIMq-{6!JKW#Ec?AXF=0rB7i88dQuVr zJwA)X_(@cw|J)H+cOArC2}eW(jD|SRAvxfPG;J!aeg+v<0|lXggESFC%S9tep^S6b zG*_Gh8t+MAHPS)Ewpfk+UtT$A z+9DZXlfEsqF>m1=I4}v!!Zp6>G>pEbMVhLwNd!fI6~&0Mvjd`Nbg)b+=)N7$0YV84 zpc%JKQVoqIAtrmQsWKH+A(m?8Pi{JwqsRFfmVUgJ!O`hEV*$N!PMf#Zmq$2de z9!Ue+yyuY;bO|7Z|3Q{n!pL(DSmdKA&znDi<{0oQxDz;mx^4rI3ed0vk{Xt2VLi%h z3*;q%j-!Qx{Adr5M^j_%{s^b#dEn}xGnxTaoyUeUlE2FTGYI8-5K3GJ(mY`#t0R&T zRyJ_p=|gYe0O}tHzIwyR*#D41DmD+w$U(KR{_Vi@6&Sha2zowxZ~nqS?0XyFW;S?0 zlOm1-A0ko>!;eGy)gVs*358q$#y6#;b`~L_z6(fp*d%3V)q-|lPCW4c7*2DhbTl%x z1Uwe}gcG)$^qhbQr5uONLW~k%>h6F_7j2$5aodGed01#!NU}tP;fc2 zR>NXBU9kov;(uDO0|p5EW5D4C7#R(aaPyn4p!sAInwaX*cnJFHiY?i~2lcFI5kbHL zTp#9JVG&ktSP@=sKtyR9Aj+g3e?SQJy8#jCv_a(`k4gX$Awa}&oVb?{Lv|ODa**gn zU@#hbnRI6b4ZZpgRAUqk)q%5Ha}j8IJr1``4IMiK9d^g&oz)$1u0Bg$oH!2o=VJ9g zf9Us^9SD^LLUDVD*EB#LgJ#^3bZ~|E7v70}4^X+FLR4`q-JeDK1*v%;+5Q<*C2^3J zOR08mq;ax{_AK>9!&ntCViGJERd5=VqZ=qdY?rWAK7tx@xDWc58#t$+uR#6&>tBYE z373#uaI`|XbbMcd-pB_`#x?iA8bGQ;!6(HqDTtWpRq6%Ww?QGO{T2v5nZAdVJ(0$+ zJiREdvSEPmCHvdPgiSQ+M5^cpAv_rV69XiU(4ie@kq}SppCH`)b|p6tm_Y%8fLlxq zpV2KOQmelZq*i@81P_^Tu7|upM%ljp$0dW_J7d$z8zrSf4g?ud{ymov+{eK0?~y?9 z-q_N}^#+3S@uB1(-{xAHxky*fh-arh#MangdGQSE+C zJC+TaG=c-SIx29R^21}rXKg{O36tMw}F#w+9dfj*Qcbi%}Bt3jq-a|`ckb^nUhogA(;5sd^1AW3i z=MPvHf3tWF|DKSd4H-rAhp~Lh0PFyBE&x!KPyG^j1bTB4j~#j$fR(z5=5K%uplbtB=pbp4xU~w zpFzW9VPykBK$)-^nji!r zEllNwE?vQ+f<60VaR70J0)$@>x*d!lfSg0IQ96|50A$%_~WA>*T3*9l;3zw z0NxnjaeIH>1O`ttjz>I}n18_ZCC-Tg3yLo*=I<%QF(No~&V5Es;nr zm^z21roYEfN8jTiAc}X`Y!Rcw@^t!Dt{G$)kEFx1gvO$fl2B$8k{M==QN3Zbgjx8k zAASiSfS?UL^51GXuLA{(Tfg`S$Q@8%-LYs^@kb1cbsLZQcdPGc*5w@x>+MI7bF?3@ z+M;QB$Q+W0K+@sMe8B)JcCg`s0lM)QWlb=EFS{6k`xh(#)~gr|gg5MASi)cND1Hm) z|2XGk4xz3A;g|L?fcMeZI;4sLn*_IFK;=~Ih03z`F@L+1X50^B_h@bu3aGu2etqgaT+J3{+|e z0fzO20G}2*5r++{4fud(0d2*BLIRvWl$cBt`=G1w->!`$#z30TiK697Jx9411p3D|OsMpG3i(Nqa&G6BgBOUXKa zvl9xv2BZ*DV_52mNH#ckr-%5EW^nxRhM^CMpxiX6@u`0IYP}@eg){#*)+uyoQKwEbHIh2?H>X`zPNCq7+fdL;=uCQ$-KkgjE*!G+m(|$7v z1ji{EoO#jxK_=yisqOy_VIC_6-@%T57~*8XS`FLtH5u4*nf(vGehQKuW_hLn)@jaP zET-S1;Ubzv%Z*_PrDDe&U-PL-bPoR=*Ipfgyi$<{up4jOf<-Zjs^WzfQ;}M*GSM_3 z(VZVn5QPHLkgV_&>Xr>dpCyoJ4N4Dp`2jW~(m~>i`SB@#M^Jnw#su3%wuKw-y#L-k?D1%xIvk2E)%RxrD+^ZNVD_kI9_NA}{=KtZ+G z^MaG_WiE2Ce0fFtw|vK43_b+{tDQg~TAZz%t(F`N+-wI9;LhKB4?@aWz?4JZ@TuV0 z;vf5aINM45I3A2sqnimr+L>TXM$f)1GeHO#XwXzCs2oj258^Fo>IIl83we+nB!>6X z;3$uXM5N?F9hqQ!a;HZ((}r6lW`P!0n9u}SD1`DL8MKjw74{v?`pk-98Ds<3&}AI5 z9)A2i*keqi`uptog98J-pN(XOp_h}`1hYYDFoF3P?xupJ00t_YgQSI_TphNe=;aG1 zfa1=M&I)6o={ZO`*y73@w2z`NH6s`7+@T$3%>~3u5*X;ET&%5}t23$%K&s|HQaz+G z&}jgL%bsa(&=hLV1S3nrQ4C8h53A5756DiJ$53m)7g*y6nreI;LsgIgp%%)=o@WNr z+~l#LZdHal^N~lP_7^G{oR_Z-G4}G&GV? zViUbQ4+1+OMmUuxb_N4|cnir3L#LnadZTA~LBI`(msRe5X@*w}6p-z(_3|r9U7v-W(1-SutpzgZ{1xxfg@kK042i z(rsC^pjjjs$Fy;pk``d}PZwj)FW=DZi!sE_T;O!(e*@>*!zTkTK?NxMvvTgOfVN7& z1h~BfyG=GH7XH%)nEDok|0s?=qAE004PL;=l>${Y=Qz{3X;a?mw zsHGb;oNvUk?*cY-5*Ppr%&5R_4$T)K1#G|;(kMte?rvx199ot-9RHXKAbSP{;1I$I*ok%YSi=rg-UStp z4iJ1bqGtm`{rURfA&9IJNdl+2uY_RgEl6_*NHgvp8Uk!Lp``#k0c25$J)s6vg3hD6 z^9QS?63GgS@+DSg+yxoT18Y}YQFp%nfgjyGNCgR2VZBi3ba|HqP7s0uU~dq|i~W7v zMx;=971(P)XEnD981aD|N^bnmJ|L77TE+4+ssZ~6)gSDWfC9HXi)NKG{9+M8H>;7H zu=!spqIu*%on8RZkifCzA@d*jbxH)qKl=f2fX&&_FmA}U26-4Bn;R6A!_jB746wr> zgCh~bLaS>)p`d3Nn0ID_85fua2;)F$cra3*Fd;}GHuMYwjsNo%3F0{TGh)B+1dwMf z_L{+;kB7xIr5@~%psfb-3D9pn5%q)XlUvhB{o2JO!7G@z!mxLZFZt zC^W@U$adwI0DknZpE2jo;BghI`2B(Z-T>wkzou>$0ce&K91u7+fBtR) zcVsSwp%$=hf8LFbd;S=UL<`hF|BiwfvTVYRU@lF-!xuL&EO4JX({Bs5V$f9Xj23KK zU@QK-)fd-_ld=E7d7-<_*vUs{GZ62S@E=DNwvp+CE+rKhG3>#Zj~hRtNd~> zq)GB0v($2b!@=#ChkuX8#;jZIM8Fjr(8dg>6dLp4HqfnhBtLX32|)>czlV*vz-1~;3?{x7Wje6R!-p;iFdAG~{VCm%`D4^^F zG0b|vt{w38@BZSSfD=S`sV+1Pctrq4F-{$Z*+WOy8$)_ z%X)b6F!BGj3xA>>8hZrdYD-9U2qJxiwQb}%aGa#!7mE_I`i}+2T?@;qsiPtJM=q>6 z0!Co&K-zxZ#6P7{^L|gKakSZ1ac^G@+Ngub76jx~!b}5I^&^GwZCWrLDDEzT5uzLbl)d&}6e7re0I7(- z*^QyJ4~4uCETLDtX_RbELbQOUH$K4z{3_3Rr+Gwyxdix^{rBU10F8 z4Qm(Jox5uXV63eeYX`ckYx{fV%;9p~&-dpa9-ilY=bf2%dd{4=ThHly$@Uy9&wHx} z7If}0dQ4Ai$&MDDLx7#{n5>g9)QFB2BS7SNU45ad6$cB?>*@)koH^KFX6($9_TN)6EhliMORf^ zRNas|6=LE-aw#g?iz~2tvX(0Jy{fA%9_m-2TA7}9GO?fuS7EjNAVdE6Rb9MTGQ^Pj z(!<1t#+;I@DD$+gG9_Gt>BHmxqhUsw*KpRa(nOU%cTLwo+%?05?vjZ+>8>O5MXMAP zKy$C_v_{vc+YJmE7q07SiHA->Qexstj}DkP(v`c&K++AwvgMM(yU~~%$UxC;1%-3J zy@rC&?;&-)sq-W0CW>d9F&UM@w{uNQO{ny}i4{%1i82~wrKc?@@0*DU-DLDL8%}F( z>0*W6j(Qyr%D%-)){`?uHl}v;;UZG>_bo(737kG$-PE1pZbPwJQ_ggVGj-)DTYnph z7g{hnlwRD{H8NV4TZ)axu6J~`g{K`k4`4>&%}g!n%M@Al>|b{fa8);^kS=J(u%{a} z9AxUrl4M8AOCc^E&*=|COr3bT-Z6UhTuz^#XlhGQcag3yYZ&87@%g5eDf2G;W4qCS zId>OT)2%?y7?yDDd$4G?O)oQ}_|>MSH2NOQ4%ux$AG?QkGGq^D7Hu@O;gzrIeS}}S zm(xA(qgC82p^lz2#`q5IOp0ZouHGhnm6xOU`V0h>pq5n*+;709%4MxaMYNXOO@tk6?LwIG5e@!Td_e z*)n`xkqjJa!@;9Q z-^Kp=2~4?l=dz%ux(33jUK~t%iecpIU=FT4#SrmjI5mHPdQ$C~u7)sp3$d9|OB(wep*rm3%;D#VZvSpQFs8>F%rIH6 zjIyfn0*O4bhsm0XeeBFBYmk`>WsByHWHYn8NnC@HxWPpgTD{cO5XZTysQpWHDnS|* z6~08(^2XaD+1Fe{7Oz;^Yf{Zux>iE>Xv%sEhYyy_EosXuG=;=Edd7|A(~bhlkeaBv zdfJi($>!FSQ3g93VmZC#Z=ER}C_|QprWi2Sn!s#9ytxUzcnwQYuVHCj`u7TIEX$az zeR~7h%oKAc7EUX?>25$rz0t)8%Lf=RMP1BYsNfA0j}9}SKfXb72F^5KmX9}g<|!HT zH)1=zKrgE&#OCXPDGgo#MOZ|V|A8VEGFdof{)38edK&|HdFm~B=e~t>>@H43_(T?dj?+gl_#2p;tX;bX&ppC3}WY@?E6; z>qiuT!{3bYrN*CNCGsC0df6vkBjMq{9EhKFiNcOA9F&%sd(ec>2xw+R_Fs{pKR%<- zs+uz3L7hIDyHe^m6hp!nMEk^APn**CFSB-H-xgN%ITNiSPE;a zp~5YE6w3>TNFG8=EN6RHvA~xjUvzd0&w#a#SJ+%5sg6)JNevfe;l^xhg^)&^*={7& z6~?E~Ya^+XFglGrLusTS)fOfsvUHuL;ugN{~Eogd)cnY(aes3rbD2P`i#M zB4YH!d{ad5xuO&)tZL0bN1&#nTw3 ztU9yE-Ke;Qg%x!$mTCxVyXYAY-d$Z{iW|FfTHD&fnx>fIn}$de&_+M#X-}>_m(gb3 zIqhYNZ=TMX!0hrKdZwPRtS1NO+9Rz`CRkhYeCL}Y=&Ig&nHRTcWCnUuA5PCTlPoFT z3>Fjm>6!XMz5aB`OiC7lvdG(9N)u;Iwcu;)>E=>fF?)uJzL-l1;^uiO>R=(Y5RDcp z$e(IVv+$!bwyF>fq>F*0}3_{OeKt#IUw>7R|fhDy}a1dj|Ms-{@#HMU|#BDX-11( zE!Bn0Ye%$?o>bxl(Oe%(S1P!Kt|0|bSS7O%?sVSYGLT2Li_xcQbNZQ+)KI7t%|WWO zR9~>E!@)NU)-VCq_2T&LPxkvk$q*d2^n0rzPqJAr+a#Uo->@XJkVF=j$ltu`s9JE=Z&NU zPpN~jY7{4n2f$RZC;GWPqsdPrIg+iH6eSFutq10`A`?TCvfQ2Gg>uU#UybC%^vvmy zmsC?2I!~``Og7$9tgvSxV*=TD>`Ak|k(fMUOb{ECYY9yjaex82mJqUpgW}B?qpYHl z;k7;pP-z*bm7&>K1Ln|j#&i^9XfFh>g$*KvR`xt1_`0|({9u~tal#F;pM=sw*{WBjF-g69s(3PLS?;*T+7BW4o} z#05Yj?l1>^x4~&&0+F2^0Z2<{%p#Nk0SMq*q6P?*;sos#4i*K%?@qTkh%M%!wZe*f zoH=#b(vjQi83cQK9y7Y7aQy`rzY0R!Ctg!{u+&&E{XoUR7!x9&TRPL%V3vkpgc6j3VXt(Vda3vFCD?b`k7rMWPK)1w+(QdRkR5GQn_zehQK2C|~nNFc7 z_W?e7rjBrIDhDq|TRGCAy0RSwg~3ka8H{epY6PAbBg4=}-fY$bEAr98RJ#+L8LY(+ z&>gQ)nJxh4?M%G+9cOgm@KK^2ck&1#i zy)0f>AJ4&!2vp#C5eS-^s%K(_ORYG-&(wL+pahucq=SiO>735iNl8N2UJQ8A>~_|! zWGP8nBPYt1FjBXa;L@ddVT{?7%K-=gVk{|tR~>K z3Zv~JC1W}yBQ2X}>6v(;HQueLVoMqqiMdAaxtzHYDODF1;#C3@cimuZO6PK|Ehx4M zT5@OX`0MH171lPig38eCn95+`H5 zt)R^xt(|F;4vBflw02;HrSLaDftPAv;C$h)QqC?m_S7#7s`F|EA*?!8D$yJG747aG~kRf>EFwkK1rNWCjDN~V5T-ss)#x`7P7b?CiA3Dv8dwai5zT* zMPGQiAqPSn=C}izG0;r-(wvh8acJ*Jtr&2l!O6BRd>=I=9wwKjbGk!3nuTo+1Fp0w z9<{V^2?tl^*xHb1efZ5U0Rcj`b2@E}tp{t^T4CKT&J?e=b>xbdnBu`wPMg+)GxwXL zw`BFUOFg(_6P7XM$e8xkLor#}sFZnq)V!a(DX%{IuCDcwkj*{}q=;ANa+Takb~fD8 zfejFkE{Eb9NX-SK#Z=Y+t*WpAhJ$5i8R#s;7gMuDDMR=ykbM&jr4JKfy^bRX87B6a z{<9|BCkci|J8`={jAsi=8<(DkQb7Lu8Y((!1?KsY^1MXrN- zFi?}aq(SZBj|}t?1a!7(QV2y)ba3YGPHu*HR^!bxqi;=jaOZj5&S>9tdfJS-E^+Xn z!ZtEa#Wa`Ph3$KIiu*K2^6OyhAO$Wx)f{8tqbD3lEu>f@W2({;6``yJvb3lLM)W>^ zb19g3A^I~1DJ?OpT=a#5%`K%`Vh#?fmYlNppo4E6?8&1iYw@knmiw7j@Rro0l@u)& zVj7X(N@^u;$2fiTtAi(%esjRiJF7KOtr5l(Z9%b>(Ha$glzjyy^ri#uj$YjK4)8)kdn#^&4z|@$_SDeNJsmx{cwAeEk7RMW zY?z~#7EMHg-Z0vJs-AYF_;e{!T$`=h&rX*T#e{h(%9xBOiyI=Ge>KWQ5!2ecS=D-+=jhB6lhhvkfCG*Tk2?9#i}sQ;o$i5B*~aLZhxK%#IPfe3 zzLeKdGNJg6c+1ec1J;#=MgOHy`S5151Hxas|Gg|m^na^o5=0jhCs+)jv=5F-1J{a$ z){Kec`JzrRk!8o2YP7r!Gs+laOve>}*XoR+@KhZYy_cNSQrX`bT2~u5QT{t84Q*`U zWJS)k@hhEOnX`0VAgq*ZC{)rrlkuawRPc^;y$kyPUxujEsUA*hFO<|3swG2JKBkY8 zCC%*Ws!v!qDn&;I7* z#`$H8Kk-)Oul*p^5$B4|ER$8aLc8uz2((iu4V|@cw&Gsf&G;p*6}&5Vg+~wY_wbsv zinDV7weNxUqQUJYKxzRzWD1%fP;SmqJdUP4LD|-Kri5f?Uz*-isw>K^6jYZ!jevih zdZ7{rwx!5k(g1OIJ4K|Uv%S#K-0nwRd!r+B?Ck8otu^Qk<(RRI?kG;1=FH3WW^e3z z3|Z*R8m1%VPILC7u?cA8J^DcVAyH&sETk9rK|i)<2?zJ*z#?`m5ItnVf_z4|7YhoU z=}5jaZk@*$`TTvvNyx=sTNFNk%=#f&?QT+ZKUCy-_np~`d{PastNRe>C=;H*>Q*rgp$`rE3zLX| z0pPRjD|i#yQW+NpDHcaE;j0iusN=8ME-~AQV&e%bbmyoEWVQm!?Tmd zbJ@lrF3y}@!RTod7_FhtRj~1KWT=Y+msQSyEN2Rnbr$;1qRb2|(3j<~r(f<6DaNQf zUgg0X;Y0Ze3@m-`pAG`Ium*XJK$X8IwOmxoDp zaHM$1Pnbze8iu*i?Q@DGoXUp5c3_FB*Ypn;b@A2aCxrjwPnCau$_0m$*o)(Jj6Zo( z<;#j(?C9A~FtPu!N=d`fmVbDrq8Ybc+*m-ZnEp4<+{OMM zRbibGNZhnfD%$cA(c)qeJK8n^(T=E$y%Xk@760Ntv{0?E-<0x4p#>Fxb}^%uA6=~J z&M2t&8VRp&Ff)+d`UF$TxrN`EY_+*w=0QiMB1izt2-yyd_M@(&FrQoJ!9X8jL^#(C z8jTh1`UnoDjmBcqr3Mv`mRbuPqS(`qW=FVM(X1?3>oEq_+_0V)gDuc`iLUI3iyIxN z?TY)hra|sK7WsLH@0AqZH?f=_2VS__juwrTQibi^C}y1GPnP4*va9xDprvqZD0>Fb zjck=^92E6A<+wrjR^Eq1@@8 z@#r6-rmHA*g49%OFk3}~GhN}?2`Icz*(&9diSjXCfQ=`13TIFz_CkMJsG?=lT>ZHF zKW8F}Ln{>Cm!h&@;lgSKc~E8+X5KY7Rv;6)mW3L9f1he5Vj?DucYdeWKVvd}=b)<@ z&6+)jMjqcW-w%_qTEbdJ-plcah^t0>`TREG0Mkr3?iYK05MTnfgP?0$wDi*GQ- zm)xdd2p$P-q4XwWf@$B+SQO8^%|K^i{vB#Q86~^z9#=m(8GTV3PdB>j;ijRfHf~P5 z9FwOYr~UmEK8$8h!HljbL_txxQ<3eAFa>C7lb4${4>D{jBK=2;4^PpndsS0SrUbj; z`nDM;A88s)Uaje-oM@u%(@;JkwN-RrniMZik8z_RRo(pQU?glRVPdBv%#c`x51{eW zk=QPA3X0^Beq;*q@v0el1{@xcprY)V=sIW2z$9y8V?*l3476nLriN5X95SxFN9`~Z z2K`eigfU`lY6UW(mot%w+i5CgR^QEqr=-s;1T1XrMn@aEX{m4)oHVPAsC)bj&tDRdc#ScBegUd zPQG)ozmqoyrT=~!`7!Vcz{s42%w?NVQ`~IHjJ1q5a}g{xkA`Gpia&cU^sD4^&}o62 z9UW$q^N&o2*63-xVp-&7!8#**YLkuiLa+5q)>N3afjzxgJFO~Q-^k*1qHoJ#XJ2F3 zshY zCS~>23S>*^x#(w-7b0xK>nh*uBC6c1h1j?VD6ODymDxu4&mtG9Tka~nKkdtvtf@^d z`iq}lRZvOds}BlF;HB4!5N1PVcN&5lPsAiF%hp^3YoxT!G%g`}lwOcp<8Un&n~Jif@LW9rE6%CpK}IX3)?&Dg@<$MjUx}`+ucrsI?@pIiBJQjh6>W<2P~TlQU4_8S zTdMrnBo8N=vlE_N!}wY0Dt~ho(z>U!ifXS$&-_b&4_@YnJ9}8rFRPK!Poq@o`f9Z1 zRTIf>jnqo0^fMK#K@%Ul208pg0m;JZ$&7R*o3&_>zf7V0by%?;8s*_d8S4@Iq_xQC z?3sGnj1H{D*f=YPGj{6$!gBS%l=`njjI)U`&4g1+x#ZPc4?F6djGiHMJ?s_bbGqGn zDM1KZ!$I024|}e2f$6MR&*@`JJsdb4v;nkKh#fS{de3ZSPcJ&K0egI1c5pCjEutyg zjAU2a2;B+Tpxb~RZ`FF_2EBt;C_BWN;!W86_u2**D>I>|Oxx(VflRm8!q-r*1q9&Ewa!hxDP|yu7d}MkRh_vrH*SN4Z_%9AZO5izgyd<#t$$&%%vimwjxaWk zj&8?DxuGgj5V;%0x_Ucwn$=@;OJQLmdj?R{4mfj33IonGgMqwM+PVixxyeA~)*MJX z0UEaBAaf_SefMujGkS7nBm-S~ad3JU0;culz+*RZId}jE zCwEJ@mUK7V_hqo2X(&`4$w7F3Pj&L2ya$p)z5erc#Nqw;uHhJ$c~I(BPfHRG zpdT{brKl?u#_|J_PV_%iLE)^yP<(8{&cL6>w<4~O4|!JVK6s$~-)}xjaEM*7I85#b z5e?I3r`m-YhiU6k6nWo+|HrL2o(3P3-~&EI)%$;r(kmzLSEzO}e?w*d@P8S@7kCE$ z{#5m|f0zD0Up&|!;VH{Fjk+}J5N)*Xrzjc_<9@Dg+u6*CMb+I#UArCqn+C^ zzmNM3rPAauN@dsyW=NIII*gWUcR|nia7CvhP@Hy!(cEk<|K(cNQGEs8vbJdBVSs7ou3A&bA(WMGJ3jI$iau<<_Q zIAU<9$F1Br4o6*1rXeRVKvX{gus4N)PQsy7_Kcv<;A~F6&GbTvO+x>kaYphHT4Zy2#w0ImZsZcv z?w`YH*Rv>;Z}T~*HPy?V>1c%oxtu9Gi?KjjqzC3Sc$Sv~w=?4$>>OLdWWjXy91?!u z4+ik{M2S~r@;{Hsz_w!s%;@tNq>@e>FcysiEp>`j3;|Z zs}}ghB50T1(aS8zy%_Ol;Lsr}uVr^o08N6+wWkzAJLoHy9V*6t?=J$5|4sGsB=-_b z#t)dO=tv1F)6f#k30-gyNl^fW**Z?#lq1|IegPJa;~aB2WlUo(AWVt7H+6IHcBju) z-k#)zzntmoZ2! zX-HvzO0@#dweYUgBC%;=Ld!&5YFewrmeR11!~WZADxYV)8ASPiq9W}FP+{FqnzuQ)zrOe z*zE=3<5$M|?(sJHpI(@KN+)zsHE^-F>3>ESMV_t7o4rB0t*=R8!ZDR;dQFNm3Zv}n z=%-Q#c)QTKmuOcfuA$<58^fdh_Zn*N@(CQIUIz%D!axgQB|gPu0Y6?xcb2q)s@%Y) zSN2BAx`7$S%}oqD)3Y1sLsGVJFy|)DH13@ttChdgO~i9|k6sope8P88YF-1_QA@R0 zU2j3L-zhH3yM-jKIN)tgU2mZX{P1xU3j(^KaQl)T;IfF@mFP zDx<@;QY8Gny@Bj;DH62=6G~?Bh`Ub>`g{ZV8FLqkEirdg>2Uh#L-bX8W+m?en z_u<7f+#AMXjd_5sKC=S{vmT(7XZPU%HO-iAGO=c$0TcNbGN;WjU|Mzeapsk3-Csz+ z$l(UETYtgg(6Nm1p{ftDWqW=+2VaKxz&VfLmz@t0s#O-F+Y7%<;^HQcF!c_Z!om7S zsFHK1G2lwO$6z>B0){_Ez@9T1?L-|Oqqk3)L-~(!Mr-1H_Vl35Q;;;TC#XVp3%Ody zCr~R{%)zcFcuC)M83*=Hk-FcPbD(*Ka`>3zW68h6fP0N;!BgxVb;PujMF#~Jy7m-3 z^WK$urjby%S`Qp3`x#ud7Sm5PfIYo>h5)s}IRO&+)Ie2{B$BH8Fpg3+Zom-cvqzq{*y5xiV?@!`a0DND;{OY@U8q58+(4O%M z+5yivefSmjWBp!oAeUi$_5Q+uhEmFWY}vszwXyFkLnvRIn0<{nvdhqAm6b`=jpC^E zHA+n(n!UvWu+eMu>MN}c^ccPHipGvtxMNTk#yK;2JE7Ev>sdHxZ0Tbe5;yD(#Nz`v zeI!6*N?YEb`0L>EEf%rD3~kbQC2;MD`GqpO%KAyhB3q~V?#N1h1N ze<0h5xtMCxlAijOC$Kk@J>u7Aq zwoiF!-1rwUCgbouldXP@Sx)u$V9uvELjLFMZGEVIB1{ zM|@L(dh$EYy)$E_AF+nb`heL|D9*I&na=4NGn(d89{-yUh|L!V+w}_7J|c*FUjrts zBcjy&i=tTj5!&@}x?R<-ExgO%pw=g};9f&HSojIfn)4F}2l}9}zJ5Z=#^K!VXSgr* zGtRE;|BC6|YWyXP8pG*=LCD^t^N7ar3!)h`p3^PApf{Q~frH&&Fv6VA;=t`IYWe0# z9Q^zhac-W>!M%|hcl!7haVAVt43odtMo+B!Wm=Av6QirHj%yPvawuM zurV`W;!WiG!e?_m(^OdPs0WVZWh&Pct~+tYZY|o%I8&L=;gmUIrVA4V(lt|f|A+#D zNNXn77UsDzNf1qEAPtw`F!0z6=H^5(pryvm)J&vx`bCTVKHj;sCrk@{HSU1$d-{8cu z6KNnn6oBL+Nm^k17?TjoB6|xsi3}m(9;2C}y?dbg`S9B3O3R>$p)`nx7?gaz~O+bk@_xwBB8AD42CKV4_<2;pCf#x;Lg| zdr(g%_oXo&2);o9)#zoqAHUmN=`dblE!_!UhWQ|}S|jx|K1TIHfK{Un zm@>xP9!qz9}j)1Ux&LiFygGrt&Dq`k~}E&ETMH9I9cHM49V5`a|Do78j*YKz+~;4pW#Y zeGV5b&GNILJO1!+SvF&;5;|{wqnxq_`O1?9<6;q|GAbLSc(Je{K;|2y%9Sk1_q>nfC36lA3B8rX0*fkGQZ79p~6W;VFNakC+%&70b-u}wHJp7iO zpZfmKrmJ#uh`*0NRXG&kr2Eh2!gmAr_uHc_5oBw0AkIFP-xI@ zv?D$g86xw0Y*_OB|MB@Qar{@NzMDBv_*gi?PeWTnWG}@tY+e`m7!Ue&k)#-;3%TX3O-xSOoP7L$5U{naP@q zNh$u69`7GUU&CN-L<`bt#e}B?NAc}_rs9l8IP)yJ8r+(f2F$8yo`Ku97yfRFo ze8^FU;Wm3DHPOkf#Z_bdY1d%?2rAMc_@nXkNhdcG+%qXflGB8R6InHLr^7!XPUW6} z#}bnAc(R_hA>UE{Cgjb|+9$}6E%}AZhRYZu?=9mXdp>lo${64}uFx}PG-sZ_8O@dv zw0F*{i-8jS=A8v+Do*o znw%<#SLj7GxToWFimMLiox0^uH;Vm(>0ou(4=AN4)#0@HcPYAt+(vMDNOx+W!{1y3 z$?<;AKr3+;CktV<=u<5u<3wF*T3b#N3t9%yk)!}W zI$Rrx{G$Us11p^DNp+*-HlnUi0L66(2&CvnnA4w%f}!jEs7kbq{lzGx+io}m&4k?1 z?1|$Y0|U(XS(dHP5p+`-?M(NgF`pZs!$Flga&@6_F$ZJoKr(9y2WRSFxNo$JI@iSn zY{L2gKKSsHp!Mp)Uh-}x>nSeV8$gAd0>bE3T_jp}gu2BdmdF_N(3&%PU`&k<1*kVt z{2GJc0l1%ERWzp5laPJsj6(dI$#SnVnJ>w)$W}dErXPzknuSaAV^K>El?2$apH;!( zm{{m;zsK!_$Dyh${=&hLvH&ZZ6o>S5^QVLcNY7N~Kx^)dyKxBBBaqWGTmv0wX%iT$ z9uN91?i*&>re1-rEDo)3N5`3i@$k)GRXMOqK;{}oae!acbEDx2Na>RpJ>y5W6A=1T zJd4pM1!{)Ve-1+>%LyNRu3> zy6{AO1d8g&=y0-WfHu~+GXs4Dxf^?GX=*I0z_SKW`-<WL&W#Pta8?xXhL8pKLGHIiLU09iyZ0G zXt*k&5!ldQ6qcIJgx_a1g5mH*dd8kg8_CUu*(>yn9kp+aB>CWm+9Y@+aS=k{NR(DM zxq%)w#?<|n0*YvYW)`rO#x=nR^4Cr}*+fnerymHUC53^3Z2o{_PEFC2ZypY$m)k&< zrlZCzV^rsoK+5+77Zl2c+*42`oBm1pDHw=)q@d1pyuv^W@zJ$F`fwJ8 z@cKb3INqkDRE${{?$N?jxs~AfkYdu%s$;JOTJcfA4^S|9%IGw)=x=;0{SbkbJA{5` zq6Yucoiw?vP!nBO8Y)VsW^#2=_c@T_UIm8G{$}XEu6zrmCvO6SdD?xNBcabtg6Qjq zzyRvp911^LV4>9<8IQIOTG%wmk3KUt+78x?gM4X#7=*L$Es)$M4m7I;oE+{&cUqvU zUEo7FlFaI8@%Ik%EqinGImXoXLZmI|7~YpYu!z2_u4+6ryjCz3t= zD07x27N*|tb9!rt4_4uH(PncS{-y7BMsKgi>9W>niy<{Q@bSY**a2;jor0P{bR;Y& zn0-y76-uJ$MjH$_JL4#yX7i6t(3wx`Y(6P2qdEJa0)8$k#t`qLL zX%-a3JMTs5u=%!k5SeyB+EL^gk5dla_auYl^RqDJYor#9A@-WDsSY z3-YFc`-A-XDa=t_5a!)!mEYb4VQkK;DCQ_Wv#j`7Afzi)7Z+CuO{w_zAob#i`Apd2 zqAEPs6?Pt6QBVMdb(5=zgRd(nmPfm>8`J}CDU?4w?S>5Hm8uy!brEj;(gsD4{sXi; z9|hqat{@*?$}2$$S6=3D zXFZ{9k2z*9OgXf^!Bp2VIGoP_&-X&|+WQ650H@%pYzb+Vn}Io~)LV8JV}paKnR~E? z`u0Y&UBiQ^$S>H93VO>`#ikJ|`qW#F6%S&Q4>BKW-v^p6YX#?q2ZyljPaL%FgB;b3 zp`(4#+q~=}#|qoyIk?yr9bbB1h-WwA%(T98Eum2=1C2$iX2E2a80Z^IefxkN%Kd8ybvU2M6*tGp0Wxc{hrvKjv%Q$I;9F zn2+=tPw@lbt<#yo1*$N?B5?UzvmqMEtG`gDGqpRL`?Z1&4wX z{`!UH43rxSe=lQCoY)_Tw7e<^CZk`2WwwW>hVMTJ;rr}ScpR(S7;MRB!@C)OY=1CW zZ^OCGvVvf|`&Z|!#$-JhrSR#HB9u8_`YTGOFXN9L4W=tQg8kTs5q6k?!%nL|f~nW; zU|;?PotT02RXRnQ42<&WXK6qNs?x?H%r$=t*0OFC-={GZm&-JG2wWUG1bvA2pA1AR z>lt=|w7Bo6++jaL;=K%8KHK$~y7K(h4nnnNWVFreG+RNVV_MnW5-5 zI^LykLuGz@*&F+s9hP(vht(8#BSsiCgHodVX`Yt9)?D+O93r}w0K71V}kGW z*+Nsut4G~`!la_49=-bsv%D`BD9-CY!9hO^WK3PfC(N|Cac~HJkP{#C^c@a&+~z2R zrAsSbUZTkSSQOD>K8EsezP{7NUf<{9bw?8F}mg@-%?$hMa*thm^2&G8lP~4I02YVl&BDy<=Qn*>DH|<{!s{R;+ zsu@6C#$eK67r~zH6s-v@-{E88JRN--BP+j_%vZtrRjA=uWcOT^P`VQs>d#)m@O_Wn zV-dr+YPc#WI5ePwHXX<4>YzhH1C{e8N|Mt-TR*K4s#c4HmaQo3na*92Erm=NnLvBS z!A+m)(-%DLb|o3;HtW`xj06;U@A0ySg=3>~5e-^~^4thgxY~$Lj7K56w83F_Oa|(v zQ|bh`Ke9b$dFa;I2FKY6s0~j$;94Mz=T03dAQSDPv=jBqM8xJjs4x@lX)b0Gjf&xD|@=qmY?N1;)0c-ltZD8v^O`@?*BXiAx>DOsCZENWI0sa z!I2x?rcfJNKN*!Qc8#KdZ{#QAt-;lGDoUDyq0(fRiXzt|5@m;O-xRpv!5)==HASv1 z=I>L{na!bAlsXkg@9tMA%R&VFvIEZAH5CE94ypXJsd5cb`b|Z3rXe!#6DpcD4ev}c zPgNir`Y;(gBR11v;qDoQccj?qn0N-9Q_-~Pm;lu|Plu-??84$uTKjt_I`$bz%dQKd zbn+Ogq<)Wh#teA+=S#F^1_}gsojjX?x#;z)q4fL=nv7DkeP*K8wz^qf-RfuH)%_&6 z-Panu|27DPf70pvOpG~O+LP}r)E=+SG>|=OpQC-V)P|%~yMQ7RXQSGs6j9D>nE2_p zFnfAp3zz&f8+NMW7{+Yu|9rj0#h+(m=JohCRiA^zWt7sWIjAk3_rmDt9ei?gXO3J; z+;m?>Rp!Er7apqU^R+Msk`}`7%DM1V;d6x##utmA-ZARb3sp5d8|8N5RTy2n7p9?x zOkrU*5_1%%__C2Hynt?=gK3~!4o2@;Um0jD)-ux4@*G)GS`^zd6szDZ+KU`?qh0Yw z={yWLv)+c8QR+Ony=i5Y8u@P+4izpy6u(15{J~V=8;kEP@TriX^`PYW$i;YD1qHDs zvK7ATkbMLv2P&SAaTvEpSm#JqzMb)k~CKZ1t`A|ttdTb zN-gjuj-uqX5UD()RZ*F@)`q)f)+&tEHkYI+!1z)ml>Bxp2o2Lg?t|3ZZKC5AZ@% z9V#WP-yX(kX;5{o4|P~1dsD_Q2+}b@p~C3!B3L=jsCErhEz8ANNNX0sK-)yBvj_{d zM@j7IOS7sYUWCvJPa4v*MOaZAHKv@!STCe6Mj>}@!aze|67HR0 z*D~tENG(|ofF`~n<(lsqJ$9Lv=43-tPbVz{ZMz#k%C$l3N#mEnt6lctCDCRrt~M-> z2|ZqcF(d3E$$1z>r#++5d05K3zNRyI z(0lO@+2vzKp7)Nr=3`Fw=>ry_ZNt&gPQrUyrPsKgkHjwR5zhEX+E+#ORIOjp(**Vk zSCiMY=Sb?d23r>6z_V$}qF=FQtDZrRe?>HB=8|qDn#98#8nqHzsjYMA0DF#IO5avu zDp2=eIHhh053I=js8xvd&TsgI_?=iBEAvp_EZLaOuEKnC&Z%(9I}q+dUsoZ|#^*@8 zT5c-dDhj7pzlDcZ7}>fSX*qs@&aIY{ENWgZPb+0RU}+k)1~IfN4X6GW!#yZt4J?`c zMN8Mf8)qKkCxVc?8c#@GD<_K6pNG?uJK_I(`#5H6Uc$?8%3hClerc^7Cgi`QZ)>pt z+WUb$y{PXxY#-kLN-Nf3`P|qv0>8KeKj3TEx$Cip?X(^nFL^!;v=NTg=A_vMOkeKT ziO5}tiDbJC2>&#J=59dgg*B$@8(`cxjY2n~d)?S3f(|x{2x2#-;&*K~BDX!$=>!wK z>JULjX%Wf|ZoI-KZh|=HICa|u3xiH!M-n-Fcah#~LOm(FOwpS$ksEw1g0jv=;1i(& zSlqA~E;7FvL7qhs1~v07XrcctvM)eZs@Q0JQwZfq@JMR`k5 zX8whEi}3at#T3d7EV{ppD6i44Z%D36pSPw^_ORXax?Ip|aDTj!%kqQ!o<<>QKaAzqy@sPR|Hu?)V zQSde*faYvPYinYxqfYN5{3@!-bEdS@L`UY^up#4MsiQ92FuL})(ox|y6wW`^WV#(2 z4IgZ%U^_}~%y#T3-mqh!olwJpliD4a@!&#cMPud;Y!5%h)v8S0%N*ZxVLqW1mSWYq z9sOFPohbV4K{RG3248f8CwHQqxJQunE;-4%yHuWyR)Ysqw;y$mN=`=XLe~FDr1`th z<2fhOE%rRtkV1ANY*`Z;up2I^+k&?2Mi1PxrH)1<>3o!fSW56}dl0-&Yf9S#j}^3| y#e48haaSk0wg>%)R~H>gE$}N%Hk;w(#hV=@qYH4rUGk@u$ zlS$R2_wBiK;Zoh6ME)U&u&}vSdtt*ho3h!qrJ=18bHEf*gxQsdEH6pQ-<6c_!Lpna zwN&jnqeWIpWE?YG`EitAQKv!K1b#$8>P6hMm7^14hp<<dqva{EZ1$*%J|^dZDd;3pvG{4^*FWVxHVu%;qarS zj!_Qo0{)g)vvG@0{!H1);rESjdW6EGO0t`7sH(i%nVYK}3Na)S4lQ#eC z-E^x^Y-{}b)Mfig!E;u!IlgVOFLW#?l8+f9D?wRI29y#ivq1{SsThqfB^5zaVCA0G z+5C!j3z|N+fUu@91{jaoCoY&X1*;8Q^|r;?MyHfIBq3xn|2>8){!NJS4&gQ$p%X2Q zXe6NttaWD+8&e`UEM4pcg_xmoe*TSiAO@RODuOax;ithT_@p8mHh6z4j+hzg%_uCP zx2VRF>maQRbWrCQ<(iCEndRXkGYk3H9`tB%##f4^8p6g(U$V1*R+x!W#s9abTJrBdGs4f|vB)^8K#Z!~0O0@2E&seeKO(EStKFF+sOs*hI~ zGnurQ&ffK8AAdp~Mb6-3-_D4z!lVCCtH#cR<+7e3x9Q0rL$9H(hZ#2cd%2DJKnIuL zr#zKcldTq<|AWURgC74$V%aZBAfG|RI=3F(_L9y6Z2TkT99DOn(hm}GY+vYb0wKm6 zTr>;mm7+;<^iPHr|- zON>==#Ho!rN@?rHcG#(Z5LebVNrJF#B?3lds)x_of2HCBrMKSSGMZ+Uj41ObUmBXZXja;!y;Wv&+nwBt}`TzM&*&2eesD zICR3l-Y@2dY?*moq1HBneiH^~=)s-3#l7AnecM)F0=D_0vrERI&gvXM7OlCs~&M9_n@cUOSOWbN_2`Ptp5R26lEv#XqvBHZ(oEIIu-DF(wv z2`YYC6YSsL)#@!37Jv*Ry%(@NL}Fv1xiJwDSJ_a5JZpl4g!N7kREgHV-E;EW3v~|7 z&69c;MzHptS>wG;EZZ^oq6;6Rlf0W;E(y%T2<5-g(m^5sF^R-%i`mZN?*kk^U;0`@C~4y94HY0|9mQO@SC@Ak_f)4^w4?yxtkH zX+N7@1yIe%kOY5d9%$DtkxJg%jprl7*xt9##gw@DeXf)s`?}_8F6CfQ5ppdb)S{pWam~jVT24+^|ONVS(UwOCV3}0nXxc z533!vKn(Dm3lJ|MJ-y~x>&dHx4Q~dScL3!EcGyW;+;z>uO{$nZ@#x+JbQ66E>-(DqVfWL8h{@>flrD2A^R+;JsD4Z`4TmC_+s_N zZ6vUu_fr~1=Xsx}!OxZTv_^tj`6U9lzc~YA9l`ufJv!LH7l@cpwvPO4Zy28~p`8Ww zuMndaurdCkZWs117NhpnuickY{LA_u3gTMh-Fv`a4)Ak@{=c#lYr;ITCe~V{wEH}tN`r90y%q52a>A_=s0K~ucA@h6y$CqykB7idZXHc#K2iQ*pfDg_N1EPQx zqyf)69~}Adse?Vy(L%mR1Js^(AoxjL>Mx85;;IbrddVE&Q#OPh0LWlw%_pmWjXdqL z*_V2}58?pZg#)o58hQZ3m;HD$&H)yR0FprvtpRY)*-MCHc}5{ZWE=oC&pv@0-2ej5 zTucXeB&B&~Ln16CE2n_{_V?7e zISS#nPYB2GY-G4fbw*8E@4~AEW5Fsx9LU{&mfzhF<(_Lu@(WPmrdMzxmIdQ1c<6Je5E zMfixZG#+BzuI0uky2hW>j6*jq*gN zq_G30!v93rc<`&xZx|^SQkb%t7X0dIMIAFOllOtqnG61P8@dd#&-1m%^L)R}RqR^- zQ@44@`(sEQkLMa3X2W%h*8UB+dTC9nn*I_6VJ3&ohrtm1kr9D;)?`lsr#gntn`4Ya zGOJzbK~S{vA!)Ihx@|}Rns}x9`h<9D{uGuQ-;3*gpd!wfF{bGwMxLSw{8Y9KW{Syvfs9I0rxnhkgdWf@u5z_`Gb1zs~{B6A;XC0Qg0g zjR!3N*_r@=o`+ATD-ir63P=lSngTfdcOwaa<)fdvg6|B#`2`lo0)#wSNccYpx)>ln zc=Q5*1i@SYSU*odp7v+&3*@uicB!M`t z0=!>zpU&6u7syk85`a8GVxNZz_d!7L6B7nxbPM43f_Q3DK=A6>lPqc*@abPIFj)c+ z30xchRQIO8|FM|R&iRbR1XCmcallV&LV|Gb{p0a}Cm}2QfZ!KH*Pk}%% zprO-V=Kr2kFGUlR3dDu{fr0+~JOO!1(A@thf&T))ogz^L>mSArJ!CChz*SaK}3W8CxK7i34%w{ftcW@prJt4(VT5E=Y7`$->$4BG33-H#l4;)Q7#9|-;r3?EYV3i>7A zkf(|rezE_w0|X$B`vi7|BAp1xj^i{8wdqVg9c3txuS;_enFg!zr-;a z2n`FC&U*h;D6E=!wUT!0K@-uusrqquK|CL1@KVi z-@~aE8VOXdgXE*ORsWcsO5@JaWNXCv>VgVUo9G?BJd{5aF&Y2~PTIzdqluC_A=Sma z)BK}N`Nxm-)_W@R^JVpgZsK2HaLdQ1$ICwWe9*u8uCeFc&^lwiC+hj=e3UsL#}Tx8 zb`sdMvUudPEwBxmJ|ZCpU6fN2dQFZ~qG8WVOpsylVS<1CzVn8+U47@LlSw@VDK2ob-PjuqM@ zJ##sw?qdgRgp-+vBrh&XA0&9%Ro_Z-TpoTDSB|WVP(9D>j-ijlAsH~#?UDf`6ll-& zb!Yl`HLmZ*!I-jh8cip%m+;eLzKg~$Rc``B8a<|3b{i(p;PTD>C?B$aENV26GfquBCjU3`nbb z{OM)WmcJu|>F|wS8wCHk-S+_JU*-JGqK}sr(238w9C;i4jB7+XSfU%(j_y3 zd|$~@bUS@vuU46|5)z-)n+21?hFc7#$ukXE-lNu$@-95BhZeWP}8YcLdg`<{x@GL+EpxfY_~8*NL6 z#Sm;5NX!?R7RK&&N!X1H`P+$~T040TWfmVB*}?>r^3>N&=!BvL;PP9}s6n*iKXpP` ztjE=}xf}@&%|{EQ;kNOlb-IdQA0-{$GvZvWPpCCG99@cWe01L`E28d*Fy;8x!ks1~ zz_HJHqCK)fTe?HO(7s)hr6on&?Ry;neJ`%UL1I5%Xu$K8;)>Jc2(j<>An{gSepzTF zTx;0P)M|VSBjp;IeDZc?svbnuYpSIFA)~Q~IxLXabhSFXY8^3{O(Iz(u5`(7jSO0n z4ev^(i5f8FeFpK?t{KIEkfKuT~?iUdUzmTL)P19KcC$g3^#h&LkoncHFfr>2_sLtIY@!rb2POE{97_-k`zbDIyJ|qa z-NZz8O$BREkjn`43GyAH z0q3!am+I@ysq;s>_2O%yuQ?iW?~55A%jHm?I>cHB6KWi6n6p-y8!$gi;0+q2UUPq< zE_wARzhJU5*^{a5Y2mBcJ7d0WRsh(ZXpV&9$T+%|4S9+?J z=*DN+E?$bh+ye%#;5I8%ye;F^Hr_XNJ-dg~diMdBU5}V`p(1EiXW2PUAZd~|P>nK$ zkz$3)Pcr=?;SdoG=e(hYhB?P5*B052@!O*BVfx@|L(gg=5qbgNn06?~zIoatWXdtt zMQM;1)*FuMl{c$`yp?Po7H`f-ezDr7ylE@ahZrd0(0wtFNXwa3W+pwVnGQ*avs|=Z z!I?9;3f?F^P-gD$Vn&(GS(^Rhp@V8H>XeoA<^h!Q>J{xUeh1M{51MI3c5uP?ho9XU zS!NkV5*b>&IFW98M1U1-#C# zN)olBvSw@H;{vFz{jjQZgEUvTwf;?1x?kz>rQ#~)LNX{z-kP-zyha{0O*I}=TbqLn zE*Oc^jIS(Epp?(rWNMkC3-_$O)pq$%!rMYu#$wOD#qu>JTiaIADPm9Q_b889$nlOK zAN>dZ=KOaJ$snu&jYcN5&v;vD!!=a3aNC~|J9CEPiB+u&qk(u^x>$+}SS>@*#a21a zlCP4x%q}Wh3o>Q+K7?`glZuKI4JUa9{IIID0Bz(>W`y;9=yO)j7fgaf-*D4(`HpZN zD8oh*Ta_LhSo01)-6@OwpwA-aa>Unn4wpPu;#Y7Er7Q@x+<;&Ku234E#Hj=E8m*U3 z4YfLlC838H#4K;6!Oe6!iP&#Vj+S>)S4bc?#g9l25#OyqjPce0_6aPzct*M6siORu zF5OCNUt-RFzl4gUVG# zx(y_~G8PnNJ^p5#83kz9|4WsW9(g`4$2J~V%KpmUTvCPnpwi8yAz678 zf+z#r9a__n5t5v7O~Y1RJfD_d2=uF7kEu!4vDIiPCkunFiL$ylO{3ehW+E!ALswbT z63ZO;CD4$gLLRIC{w4!)MRSIM6sbtL(Dq1re-o6;*mGJXb&5)!v7wjLWP0w|q$7Kz z(qkRUD1frxFPcEvQv1Cw!6QRI&5OhdPq%l?&|2aA@+48hAjk6H=f@L=W?^Z#H>e{6 zvJZ-2!Xbv!L1W2$+Twu%FJhLYHiq zm=ipMa|Y9?neMl%Cq!1J0kJn2>35ggca}gtKO?iT7US7P=gv-#zMZj#@|M0g*w_Cu zdmjUDvAm=Vm=Mf`MNxcI+m#~z5t+o(wM~(fZJJGR3n?v<{7mspk!&UofwI2%8=s4E!8s8*1~joP!i9WWsT~6Q+hRp%Z4S|DfZobPieGEVEOl)D8%E;X2FjsI4GN}JxaUroR>E1ay0^w#0U{x!qH;xh(=)jkr-wsQNRg_ABf~Bh*9z^n%9qZqM$FfGL7A2vfVy?cFI^^DF~S=vcS+8V?GjBP8Mlag3j6Wy11$q*lo`x3 zgRWfTCM8K%{oYnV6^-)C^fO&b*IW0efIbhl0W>aZUno!#$yVU8a$4~g9jGZaBrU>V z5O_+Ns8mBS6uPC6sM1Qm$#bYo2NBRo%*;s%@h>4!`ce+8WbSHxcJ1PoiCq%z$-a>3BuRSLhGyZr#DJpg7o*{RF zs^YYY+^jp>(dDE$pudZ50ovTp$jbqt% z;?v5H5~_vrFGQ?|9!Lc8J-bD7i6BK7R@Lo{xYEaeriR`MQ(>GH0{Z~2I6 zT2`H-?KTqJuNdUr^5XCQ#G=dxs0Q*7sUqqmJmd%?)}`}a8I3N>6*mRvdy3CJ5mv+qs@}Ao3^XRCyA}144hZ!N ze_jcBfzVrjjNiGteBu9U$1`EzsgB_RTcwUf%N?G!pyd>aPBi0 zTy6i=EZRS5cKl=hw#!4UngECQI(b#urHmRKiG4w7%u7uDM-89-mY8u5DMd( zUMw7GQ3hu3@PezE$Cl-pczC{@{I4->}XW)7mkH_;~0oEMIhgf-!b7#mn@ zSVxZWwACp)i_WO7^}(Z}_EX`47~@qgRK7oA;8E^S%%csk`weo_j)RUDzF}(br|O9t z=LCP#Uq8$60l|aLVn2I^d(9iRJpBAxKB;bTe16~bVF}6$ALoQ1BYgW5+ENES%Zgl( z|2Dwqrz~8eVP5T7?eb{bMyr_*Yek`U)}+K1;qDpmlAwMTVmNsqYPAJI<@lg(#bZ~|?UbSsg(czP-(nd=Zw{G%mu%N3%2j@RRoj^@o3 zs{W#$<_+7`NyH!CHNoCU55=}CmMM!-?QUKMJe$4Wgp#J`$$=aVBi=m8rU->{ei&9W z+h$pNuAqWk#tq`Ac_z{K7}YQdCv*K%$-~skdDNjEPA1j<2PtZ1rt`nbu*nqMLr60w zw3OA?DpE?REqcC4)D8|yxo(t{jh87Cm5%k_jr>u#b6E*jJP?Sp?(c8%R0(!c0a|kH z3Qnl@N*-5L*ny)h({j?Fi>^R#61f}<3`pNi^k%`&Cs3m2ai)gN|NMf z?<#oa6w9nQYaXiWCWbr8awLhS<3yXJ`p6zC>OF*B$du7$VIl*s?MC90EsCI(cWTh1?#|o#?1Q1=e zQPmYG)8bbn)4J&+(1_eEG1>aLlw@k9ceul3!(*MVXK( zRCbwt{Qb*!sPgWg;IGHLgCVGkrSlspJE&;}9Yl-kJLU6y9;A;5AG9S{e|mzN05(IT zw!t0QC4Tsm4Yt9IDnKs%dE#%DsXt>;lH+y0vl`-6PH@c~h4hV~banFaR%ashRzpW}EH9BW%izE2bLer<)f> zDjMpin8J<)wp-1XNA?E==F<%uAKz0Vnm9NvsVPYlKK;UNxFa@>7R5 zA<8J9IAN5mItFS6viyKwRb7}Ok`c?xM48XeMdSJg#FivfT{((v{-tf#|DLc$sF6|Y zXHr<5CJS=!3^(i>FG>>JtWRO^H%fl1QLgo%P+EIqU8NO^c9uiEk`DI6j21@1NLbzZ zt`j(2l0Y(}Pj5tEC`kQRcW9tRT1WHV&NemV@nJ=}RAz1!>Qi$Q!sTNv+H{3W%sE;r zI~G-bBHRf1O8hzS1kv+18Kz*aWnZr$%QvnFC9O%YsADFwWI|dQKAWkzI5Dm$k|T09 zXd2HpW~Socb8n}5hsQNkzGibSs?mGU{6{p%PtgJ(cC@-0{et@1s2FcU<3}TwM#lKr z-C&iJZZ{Qw_R^A-gLSeJEjvp$jT0xlqF8<_z=&N+$d9AhK%An~>1lEWF@X*J6yyZ8 zlw3uny^vHydeR5jqB!hFlhj9+CYU5UP)Z>C5&NuWZ|8fqVe{lOEHU3e68u-gZ(*Y^ z)*8e_xw0$~?M_5!IloYb$ag!e<%ZAVYPYZsd`;#fS0p6~GkGhripk3p6qp%5hr~XB z7Ks%tHE*G+X+brPRXK-^Y;P*wvL+U^_WQCWhk1ONINH+)iGhhlJf-1_v#5oOGsvQ+ zW>l)L_tF7juYPJp41XI^fC!hG-$tFGMey-Lar5U8H!qR`-6XQzBH^K}IK$W`i?3Ag zU9Fl{xL^DPBXP!HbQN8m7X=$vr?uN>ZUl#ptfj_*oT8Kk+fXleKqjK48N1`Sb~0_lLblnwqT-Hp!AY->0)EYXr6|Zz>}oGab50N_+p#_?UD#~Dl=*I zpO=@_E-X5eshDnEZ=`GFj+PuQp&V)8%)U9``^W~`*M6Fm@^REOHqi_SU-=1I)#HsZ z<)|{) z^Cx+JYT=ArFzPD zwp;V9#>(}>M!cEq+^56IRo2FIW0FGRVRO&%&v)W5U&MmF8810odWMp*LBe>4#ZA`W z3O#MjmVneN%O5Bh@giuy>WjEZg`xJ|2l3;P7jdi4%oh2I1xkAAILp%s+NrNO?k?1Q zY3-ezB@`TBI6VV&*~mcCuF=9PS{-upB`3?pMY#H&1!hmFO$YbQgCy z8HW5RU>yBX4DUhAhaO(=8=%VSnE#u9thk$n9WGq|=VQ>Zz{ro9w7Is54uN9}V+u&E zLG}P1LL3L$;ID_l5PQMX^+$zR&Yvs9XnpsYKZAt7(PArJZx3H+DuWK=UP(*IGJTWu zH?opfg{fMDK@$oBDH%$;Mis6R=KlVDzwlGDrOXSvDzZB&$iu003uJxFcKznSqB<#d zn*<@wv*9)1;(aB~3|9Zy6!w?yAUpvJVAQ_^Ga9{ETo&ba(s1 z{Bq^T!lzjwX@!yan&qHlz8hM9k*yl9fWo(ls@xh)M)oq?N@NFlHyo`Ft`&`Or=ZipvK1kUgE;!{!E6hxD$U zdhxTuR`CWslyy-L#>*NkKO7jUSVJ`=n-+`Mf$x4rSgf(5gS^y3_Z$ok&-Ak1dF(^pBWoxaz%5h^rKiQ%INqYoA!m4shEsSb9| zBz|?EU?}6u+sFvAeR`L{!=|k_)Bh7MlAEPNg{l6J*G;?>FRlLMRqO`RPYF!-jCugOJvwZyUXd@l)N(EI$& z&>{E?Cz@gGR7_#TFh+sAbtA&w5M&tkCcjdZ0^~&9ndc|mr2W8S0=fHH3A^{MsN^B< zy4h0Go4I%sxYqs4p>aZZj$+^TLXk0R6Wj@3!rPf%vXixQu_GzSv>d>`%t9V%iS*&J zu4a}Z$s*ywZzT#6PZ(;eW%cxqujRzT)(}Do8>xXdiVQ!O`TZig>x7-8VR`h>>uT*a zC#bWD;HcAE8}4c#KjQtL4wyt#+|pTDK6`=UZ$1bc+ho3BwX36*(X=5J4xhfNc1a#9 z2YtP#eSHfRq<$~C+1w@ji9)j9?$DaiAny;d>>W*<%H4ES+q)70(x(@_RFvsuplD&| z4NgSv(BX+JEw2+RiFpGmH8OZ%PLj*@S`QF8LG7501Mq=3mtQr2XEsnC&wwU{V~j%m z4k*%ETvMO4HXxX3ek*GWthwXHTDwX-@J{PO@>Cf&OU!-{<61Qkw}0&S(~*c0RwgvZtq1nl!FLr zPS}Va@E#@L`a_O2;{76K6T6(LMg}|GDffG?EQ=Be1n*$bgu6kpem0)_KVeqCyrMQm|E|BjNKXFV>0==I_;&CNFdy+IO`}}7+=V6HuveoiS1KJc8en< z#QPYf^HOf9e}?qL^0O(h`fN>l6CLzPnvFRB!9&wB^Wzwu)BEoRI8SdNtrro+?A|MO z-AcSx!2EtLqa2*DYp*CCEbO@{#}<^{nWx0)FWmphWptc}Bz#dPL+ ztvO6B8rDq`7CZn#VQdfXhVtk$^I)0}9x-=~XIN43r%H=G%?wVOAq)s~4KF2hM zU25?*U}Zd6((U9Ay<8?~v7tb26t4O&igM&EE0&EsEfH0zCGOWXHOjx;DbKALktnzI zD#H`B6oU^K)thsH>R)oALFJ|91m#?g$SXu<0|NP42ne1>$4Nw1s z_Py$7&%j$D$}UY3F3Ctbk$?u)As&Rz@KEod*{f;sy11eU)L{F#W?gWeOWT7YMPZfV z??MC5qAO!ph)tfTOMGU9ynwG@!_JRruB8C3*V{_10bwcyhx-w3pq}qkOvY(p&g(~O zyRR0Tc)lv&eSnwJb+`Pa-(fCq8|Pl#@V&Y^DsiZ#61gnJF^OsP6^dX|eZS@qd3;6x zm=b0x=bZ2m#mN|*tYCUMrWXV7g1}pW9y%#!uAHhk-d-+?%QN{=4jFBs$9-{Kj{`c( zRNJ=9pYQVC! zxhf-DaaC%Le4f{-VlDA>R|W4FRNZ5(MGiVV7PHB#Ds#~cc{v@^9Wx?$fJj4fH&~RP zujE89)sNxhJGiIRrfX4!;}HCNr{hSLzJ%)*prq?+l2~iP;ek}=xTB`ZMisM@pSL!Y`f?O*4@X2a;I+HvXJMn`VgZHiI7#Bf}$ zFE2Q|t?m%XL{8^thLr$mqS>VGC3EHgdC1|!MAA#0#Ep8SIH#WGHNQ8*7N!qA5$sN; z^N0w7Y~k9{6@WrM(8%t(Lz&hlf>4rwYwG#$4a(i9wC~}!Dcm#$SdXEtX%HEApIsv@ zY}<1Y(ti?|CE4bW@jx1Nj|3xJH{>={&H*0`KUGr^unB8X<~T=c%FWSym-z%++~%32 zmnYn?_-33u*<(LP?`y#MhZ#8{ zcF;JT@P7Z6D$M<`Md_!u3=YisP`IHb4C9hkL7#}q;2c6N7#EM{WGb0?IuA7a8}&Cu z?dM%cVgZP#;tWnFgj7`beQr@SH>+^{af7(AL9e8Ib?1Cf8H_$x=!=+6$-K*OZ z;N20$1c*M`L^_u;2dM5yhJj#^jsQoeAEvS0cZm8INg{)F$v73DxV=qk}EL@VI61z6*zTyeo@%?`#Lz2eP=Q zA1usOV7T$crzbBH^a+_a0|Y2dGYv;`LK z@dd57Sk~ zfkt?~dG=>AG0=Q1I-R1*qE8j#tEC+BVLP@?uq(1_+09&#B@n22hBAUm)?6?ue=EtZ zBiN&q?5plHw;yET&hZO-k?FwbRFlnO#!F8WMCh1P5S_!DD46@RLwBrgBzMkgO#2oh zezNOOlBxF=iQOxd7qs3LoHb=YE|{X|vuudcvzX4{xQ8N1AUx%|``W)PYO9TZb$?~n zTi3BOuE%D(puUK`lCORH8-kG+BRa#pRi@`}3o12r^yLE8>rnyRVyU&*6IIEGi`{)C zP|FDcTh;jx$JUYQKK+dOp@7tzim^o6t1)Wsf%Jv8Df)@u+IJVB`|2cd+UCgF(kuv{ z0ZEVMQg`}y%6CW^t80oSTW@T%a|Tv~ctsvYL!sZD5Z4EJWPU=gecJ}0eb-96Of#q} zW(61A2z@Q<1(21YfN~#D=-2;=(uDC&A5_D4PR@7xabQGRc-s%=S3K&OA;WNJevZmF z>J@4I^|5s}73{Xer~obkf!@z&r5IP^GKZmSg>M~9F-ToodX~g}0oJyQT#@N?4>G`r zi@V&^Q8Y*_DZ1CyJFABv@{~pxCwGzG5jFY@_WL0uGH3MZ-KBCF3f(BOXECqC`#>Bg zyi|6qBN!>&b8;E7-O1y3o^)U1!_~!X8Ahsj!t3Sq#JW=pZ(Qk4VCi@;9TycW^}gaH z$HJ$drh6L_0o}A8kZ*s&lzXj_#DG`i1DKuWBomkb#5tJ6R)P2lI^cE{UM#8~uq#34 zjfq)@fo3W|66w+#u0#9vqdHHV3edD|xoh5(b*)aZZbf7Te(8wHAmbJzV|qTq_g074c=r8xF zL@@MtBe?CnwLo(pjOn zi`c^X_uv2^V+YQc?QGCxiX$siFl~zfYPr`S`Oc_ae*)=tzvd6`PcJ}%*}KkH?MGn? zG%Xf){+gS{Gaj_QANOenGY-)Am#9~=WY^6a~Ys>zmVcD)_QeNeYe$o2f-j(r6q=Ua|%?+?(ghfXaonrB5$tG&QOqBgS73!esOt@&!^c2BVXELWgtl3E?dUV= zJGXa&-@qv3owc^Qs+4Wr2fO!m{5gLUS#Aj~6eay5ON!Ku7Y@mYmOY?lx6eA6Y;7)%9{eDfthcL3#(rlkdiHL%61 z`>m7v*F|(K|X7*Nnv6(P(7e+R;6u23|6f@kl(aV zc)$n-LONN$p=9-d*A#s4vijQEt4?4%ly8UJ`srHBuH}5tnH-7O+-lo?T+wDHejz zyHELuedjJKk#)i^-$Q9`@ZgKEWgk+@ohZ$0%fe^@(saHiZ83yz(c$w>3;eun#5Zr* zlAl!kC$;v6)iqIuzRu2M>eWS6jT+}NAZW23Z(L{NPK9YOi$G@$!9g)6_j$z*oJ@jsXoh7Jwj{UveZ@x1ZLHYd&dCVEK+z;po=J7ugBQD3DU%ycQk0ff@?r-plTxYp@n+3f z6iL;vE{_3S1^Ru}dO@-XLry>3-lq~Mao7%!nDG}Awu9vKPwu{OdpQ=x7o-kS0nE}4 zpu=w1ibU0P{l)IE6ukpWeCSB4dfK{q6`hYnTt<9B4%pq*B9&fotR?lktTt0q5kp!R zE18E$Fjok6j(|>Mugn(3T7Ep_4D=L1M0_*%CHV} z73;jZ7lJ+U9ucfxeINX|AJ1r5#0@NkKs)Wd$gHxv%W-*s?BgTjTe3z5%v3t5P5lhs zVQaj9t~xo94US12oIPX}#8vIC^rWKnG}b?3(Ag83Un(QN9Iccge^B!}!pDMf^XsC=cEz`h zL8hv<4Zuyu#Xw4OL&zpA&qb?4!?2Sp^_n0bxz?r5U-r#TtlX=(%A&F8zlFo0<4ClmPz)VgIWl@1HKi@;6PX5;f3cAd zD*pOLzM%LExeS}KMGrEBmN|u?vmgUvjpt(8bQ!p7kwxl7Xef4dT{bA$(f83)BkI46 zdLiAYp|s{&mz@Wzf)8q^t;Bc42|~jn^`y8E_sE<1J<@vH692Gp;zTw)EH~A`X%P0n zzojEdJrDu$;4{JNJ~m6(UiyhKu0Qk9X3SPVKiO%HU6n*LrbR;!sWy@9Qd-x2wdWVw zy)`gu|2S$NPk9k*Ltz?gRLT@~Fk_r&DB0m`r3J0ch3wIC+TF?!`cykH(wsC2vZO~i zQpH9Z*~qO2cNP5DfmJ6|d&7~Bz&Fxd2q{|%VuX{rJtt`8!loUy?SkhedDrr|RtGmR zLL9n)STi_cEE3JG@z-mm`qwKt@|ZQ)^m`z>X=wapYRqU7nAKsNEs6VpqJP*k@k%9p z5wLRWO}2`=^9Pz+uVkA0)jFgvg3_xi&fNJJ`dpVpdRy$)>OJ+u>koDN-#?T(roxYU z5%K4=D_nG}@P{Y3nq9DIo2|t(8P{ekc+tjFD5*8#nt5~4tBY5UaF5|*nzi#Mm_&i} zL3F0g=q^0a)VW4j7bdi1k))^+>2Q$fifIL71g7)4l*!T33TNDE9r{mY)@|Jls$GM! z7jPFn=oO1qitH{KIDHa#TfLT0J??1qt#|`UWx9TXL22%Ir*o$@*ylgSMS0QAYqxe~ zQ_Tz0k_w^u$1^`s${g>aEy2;T>ly${E%7VV#A|M)cj2M-QyIU0eL)Ss-ErcSou$7< z@t*xOY6YO%2GEQ_280tpmXH}vfpHI?NXqEOEFlXKBBcF%CD>FK|8xQX%CcS3PI?>M zSP78b96_}eo{Z8*E8KiuR!x=jx8Zz%8tB+}-I{b+^`f!Far%^|1za))ph4`7&+bv0F&?@D{`4M~sZ zBZ;9ean4V$U$%0FM)kL9O@vIqg{1 z{&|I0@BZOAip8(g_yNH80PY8z)0_PoOt*x%bH9jT!|GzyUCL&n?7Z|#a=(ivMJ5d{ z`&9casyw6miw)`r>ZVY-W4#^98aW(#za4Tey~{AhA*Hoo?h#2V4~yi2$ol2Ri!ujw zya1$|dadyNLFw+zcy^P|@`o%~?<*2#OyL(IIrYM84he@DAl0T(8)o6FnHxk%LDd18?NW`WjrN-!(r3hZyQ`#2 zQ7?kEA^UOxRej*9=3)Cwn%&&48-UE8Ui}HW8Cn=-oo%Y|P2b~KVCQ|W$mxCW!}&)+MR_V10u`3VB#jTXE!M5vO$Dp7 z=W`Ce;$w#y+OaWL?P0lh-LGoQ{AHUr>{r&qC9Lt+jtAhnCs^Hk(pnbBI{pxbQ=ZUR zJ$3t(qB}!#B1uu|tgaEAPDx^Vjs=zJO%?t;He8OiO+|#@1a|fdya;H4X4%hbg^s~m zTX()mUYRCRjIQ>2M8-;LzcJRGp63(eqf{7qZDHsFeHbO$DS>JDmrD$B0@jYg+14BE zocNoQ@e3ex;H1)Qz;isy@QHpVwC!*3-F%$lu%f0DU@Q5Gv+2*vKfjz!algb6qtm2# zm6uS^AO|L1S0Y`#Gmgbxf-h6{*No>Cnetz>!N29_3_RRM&j&6A8>JN!J>|3T*N2A` zm%C$>JtP83-L;7@?9lAK(Fg=-+Z*p!;}8gsOpk&fC}bXI_E9-veucx(Ax*!Ql=#ffDMHJ6;561UBICXAy*0MSEr zUg?nlFe%!SwRJ-%*Pr9heGtoggUrY=T{~n@q|j3v8m!=lF^J3P&B6eAm>8ZohL`HKKM6>)c_+7 z43Jdin0auEcqSIy4W$Eq2}1rd1sIC8n*oS%6j#$6&+;xlKzYGUcmy1QS|Q@QNXL9A zn#vPf32d#bzIisIf z-UzhuI`kt>m`@|fVBNApPYER<I(ODOwR*<=whsKCNt?{u4yYgoJZBPouoIuCyKQ92{bE0^dwIt5gM z;bPh)XUdG9bA{wuEr@$U7-Gfjx#7e+VVKxoKU+mw1fil7Tl|5n@7F3tInGrQ-5{$a zoDW4nMj=2(%d&6fLSR5+Zr1PHq>uaYnh*DCgoYV0?%vJ?1q!v>M06k&paXVB#6-Yd zz&Ye8_969QJH%0;q$nbH=w#AYA#;Y)_N#2sTyoZm;4oIHS@pX}w>{K4CN+O;5nnBJ zj?hjl5d&TMKj0))x^dO@XGK$QF%055RBw|wbZry<-gcL|;c<-!!T0L#l`nDcOJgK- z!VE9TEa;z^@YupJ?^xVjr2=NV=+XEdwhO9+@o%p@TgJsHB27- z@<$Rzbpg_}*b%=7%%dt6H8=SON|o9OofS3Hz+B;2aWX(!$7KZHiW_K{Zr#a}qQ#JU z%A=kpLC-ncOhJ8JRwP_t?XN6FkCeHCTSk|gj5Xg3n@D42`n7LY?Ppn0kLd&`5jS37 zg&Q}8x>0mA&O;T>r(!$VrPm!&u%DG&c~aE(o5a`OGXFt#?j4nr-ov&aygyuNOP{UY&TNNRvd>S@CUk+Bk7R>u#*rP9PodE{ zo+h2fNG{;nNQbqzL&`-$CnqQ|EWZS(ouo-#{9#NXdq%txn1!=>C?NRkB zRy4Q1Q&co)w?4VQpU|3EN6n-RYM9Jtp&nD@zrPBe0^2?{yebw0ZBqQfz(4B?ClU*_ zKG2=(S;SW^J?BBL`m{OaQJ6Rl`^F!C;z#cYdHG>oD;j4ki;g1^Zx=8VE38DehCr~CdJxGaP(+0#@qOzN1F~B0Qh4Ah$EsO}W*;uG4v_dhNK09m^znJC zUbOHD7rtld_trtQS>OLz~%d?2?KEgk5 zFhK)mJ5k&?-*P}SJARt-hy7;%P1kU$txD1$8>VTki?CCoH(;YvS0#6_y z^$<=cKa&c``AYP6SLV_a*(5&or%#CHAGZxeCtvYZ z5?bB~c0GG_*{SOTUn8(SpCChFphK$;$Wdkj>t=>Sxy>jC$1lR7ZcZj>Zs$U?ARFI`pDqXqF9 zC>4ljy~lVLok^@sWY;0p%Ts|x#S*_w?KdqpB(ue7LDefx7_mH1+CA}8tnfffdL??| zjbC6jR1TKIx*6sP%;RaY5T8}N?6iTjW`fjqX)~bkB(~GC?@rQky~2>T>2fty%n(F3 z`a9;dR8_Gk50@Q`lio?sAjsJ3=;Hu9kWF6g)@ZL(MDeSn2=;BmB1s)A6%2R8G|Dk1 z>s+jAu~P4Nq!4;cI_aUqX9v|D20w%aLOUt#-%6~9gYp%(hMei>C%*2NqNqR{23lESD1(vgLyOB)49bJV}x-!;RJlv99X%Ky}sH z9AAOV27Gzv!TG_8(z55WzRzVZx(lg;a59|PZUx#RNS;#bwY=^TQmvsj5xU8Su96}- zk+s6CX{yZKCkHZv+sdIztY**5fxWP6`J16*RocmQ`FupKbjy@Dg!Y2z+v;Pn+%m@l z@U&GM-#FlPzAl%LmTl~TbeU`Dq(yOSO zj73GjZ=$WZ&8F>73c>v&wWp&o5Zuh>?<=~o2QXwUYV7@O-ycaM$6-k4jODo*B=M6t z^Kp%0kNW=X1{vnmmV;4<-p0cuMz<->qc)OKzShLe#)2JIX0yd7t5VL{0VxR*!oe{m z*G-G?r3J!JAW9(A=~tEP&2R=#rFunh2z_NY2@&j4j%d|?vSv&2vSj*x?Pc5|K&LPy zQ!&fP+FSB99&48mZj$1;w|*dRPjFR8n}|h`yS7(S)4q)jcT)-Q5!;a+9BVGn zkS-#cy0A?Hj5HtKU^A=q0|R7FW6AD+gx@nO)7;X?NEexp=WG0YP)qMn25mio(T-#x zO)DhLeZlA&@SeQVktFU%DUt~yQw56lN{};Ql&B0eQ}>!{^$wbTR+RG?v!|NrWfL7V zP_W(?vYWJ*(Xcz#Z4F;H`1Tl_{v6Efg@}lF&>0^5l<1qGS8FXR4SbhE$oW-J$db(p zxgFx_3Ex$=!HR2ku>_HOwv?J|A9PHRkZd~|LwEkk?*Lz*WWxa=XAlcB8Daq^@Y7Q! zHD!$#iUxr;H~>?mjhe4)lNtx}XVQ@zFI#SSNj=RyBBJ6x1kDNyp*e(Aa#V+afDW)M zm2~#u39@aORsD9`A9(Y84Yn(w59En6fIMhbSex30N3x?*h+7i#3+L>U?Uxxt%ZYJ( zqVZ2$(ulj-hVa(x)hLVsyHU#E&StZ`gI8&J{o&o7ziG`Pb>JsZClOWxMzR){1#h_x#==^BDq{^Q*o*lIP!bf3l9P)3e$|i@$Ejr zIVs|HQ-IYdrryn1eBWNbKL=X$is~T2jHMrezj|)gE%4~}CyJ)!?ZDH(fWhm8frzn7 zmVl$U;7}px7N}l56RF*bLNwPFMW(I5U+o9~sP+;Xx~tai^x%X5^y@O=NGq8ZXLHF~ z_EI$((zkv$0EAblnz(GvV$+VAz0G|rjq$ry zL8uzb<51a|-~E^5kw+)u@MCS}=jh|XGnjNcB=Ix;GY*NoT1izwv;Gjg z8$~M7Od!!2cU5>2{EZ%`tFqkBZ}hQu<2iaaB~s@`B~@+>t{(g;s$aE4W73$N0yjAf z$!}_9E2R$A3ieXtqIq1N4q;fU2EYGtT{={kRv5X1I&%u&<0k9EBitDe09ohvW5`Abt)!4y^}?N zqgSnwFL|%LY}UY0X=Ptk9F#E5YNwTOSO8ywE!7xbm`GenJP>DNHjGS-#$e9>&8ocQ z0v7hD*pZ!u^P@Fy(4;YXhY_Cx7&H8QFZ7NY@%F()&#@5JmNCpj3Pybob9B6JAL$gNL?ag3|b8=#(A{O)m zDBvV%S=ynHjdx}%Ftt(=PNNPw`y?vFaO5t>FFHtIaKCdqc~6W+CMdd7}yjY#+7Pzs=peP;dXL5ae)?>il11{W=I z2KU1Co;KHdI_LVp<6XN4`TpF(m^JWfuQ3zqdQZ%ox*dm?7&vd(@!W#3@}Sd0(AjV$ z8(I&b68$Ww!H?unxTi^_+gShYGEs(gT#j>u~4>sMg#o=0{Z zC(@kaGD65?LHiz#O`2Fgoz-N4A+Fq{@qV1S!>Gq9PlS&jrhwV+`7BL@)nSh;5J$*F z>)0;0v(#@`-QOG{oArd`7DChrn!#BoV6J%tpbcWzw)`V>l1O?ZN(9Crfkd>Y*u`C* zZOrJ1FTTHMV-b|Z-|BJ7?RbDO0e-%)axl{SOk4p;x|7?L5>`3=e;5VGyE=QVz%3LN zilY)Cn*++}b?o-#X-%zrqYj4Bs?Y@-$`?;@Z4xMBXoLLy1t3nmiM^;5qJKTNoRqL0 zk-uNL!Tw&m>~euIy_Jd+w%kO0QmV@tz8o84cwABzdJprNK6&TQ6? zUPV)plTKrasGs4Y)>ZMmRI;H`an#wfKc_p(_=g_K3IVfrT2&MLkQeCd4?8y^JDX9e)i>$sgrP4BCixn ztRPA2Chcc57>^Uyn0^D2esl-WoF1It@qHs2%#agl6=Vy92?e@tHp_|P+jEAEz4W6` zgDA)qj?7sHJQye&$==1N`8B#`3zN%mV7+#SiY|l`6bL1sev{oXMdMu<)@rPZv$bM`bg-{gp*;7U%7#%IMDU8T zPU;$IZ)PVrc5XD#KAtpljM#SMb|OugP84qrz&!Yw3ik%5P$8Mzpo#UY|7 zFK4XBB&^Lnr@Ud0VCah+j#5wC%V+;^aIp?o#C2mrtnp1C6jn`8>NGubk-Sm3ghumJ zTeAGnV3OMm+4<&^SIadq!6Wj>r9g@~!spgh@%99$y^^Nv+n3QX~`J%>dx*H1Sm*z98IsN+lYFH0= z69UmLE`D7=Cnzo54Wd<_9IqUxx8bbhk>kG9tAXtF4Z61=JV95^hV-j^(D;@hqSJ1d z`DNG41r~o4Ei0WggUJ1Z+FE9dr)MYpY7~OEZ(uC%IL{5!mv=d2ORMibDTf>2AfWy+YXBleB1AE?oip?KJM|r0e%Ha{(zWGurj`}6{ji>x2a}K z>D6Z19a{%8)i5cCZuUn=KC&~%?S#8gz%AZ}zFW{;2gy6Fqpk5Jg0+VJK=>$2(=M+K z1yi&sjeUy-{r)wVHm6vRw-jQteCtrCdmPLws`2)2d!0`9wOfnECfAci^lu~<(^GU^ z9hz|9!S=F7jSJznj2MhkxbO)rh83aSWsM;3R9%4DQcwB`aV$YQHSagZIH3G0(|I-W zGv0=Etlh&`?*NErwbf`lBf-ufkq3^r1K!Y$w$Lpv$&E(7Ir&{xUh-DQJRRsJwVwwQ zNoR6Z6Jy=KN`4bRhPR{t8Pklh9$Cxz{86#uLI*jyWEmiS`b3QX-$BCv?V*sejtUU| zr$YJ`{vnT+iw3~>zl<9G*06s?4?n^SVE-!Gzv^}$SJ}5BNT~j>Q0Vk9H5|xa;A~A``8pT` zO#VI4%$}*--90U)dyxpKvxTY4GVvVW6N1;QwJm34X8V|rEO@oH8YB8-5C z(~)M3!OX_cSsQ#cm=+T11$+ZaFlYZp^9Z1G7jJdQmavG`*n1+u8*9-2Y2g5LUam21u-PQ!3vPu038 zEpr-AJ!lV?@c@>w*eW>#W8^V@ife_8s#w|3K~=-hpc-V-TdJZssU!%byV!6fKASXw z7!mwVE8;86kiUsy_N~kiV2Hmvdm)_=Ot46;xL38h{h7I3riVeR&AgE|i%1T;e_z1= zh1#MM>3jWSAPUZOeX+c!?}>PMFhB9yPqQ=owUHhA!%&tM1%qvV3BY5bDMi$oxsiA< zs32d&z^NqrXRZHZCdw>OrKdp^Dcd0u%6ic|CD;~H1BbK1m*28ba57JP#A>}^U_J}rW7PlH>-WQhL3UnDMXqG+)U;-?k}v^ zf@7)Kzb{PrjITF<2dV?e?ukvU@nbfo>_-waT;&^@2$P$%eT5j>x%MH;Q1Xb*_s&Sp z_inCmCl8EGJzw~%HzB;$az*Rtc?}{R?llEUA$AvjK>+o7BOY+wJXkT@G^nVp|Hw)& z!dzhnKOf_E`q?=aL=LW?!T60#@s&+DlNb*9lgz5MlL;XL_3{Srw-QcyarI2WDjc8j zT|6+>3taUSBE6#etRR9#Xt{LN9b;z^VIFv99HhI`OVe1Mt|O0?qSc9!nUWx@=vde_f=vhF}Lbgq+xcx%EV-y&9FwpF|wCG6O_WK46NkmV_JMev6h_7z$f*G zPI&8>W;LAz@?y%YPreId4-1~A(ek$zQdv5@3KNI@lrMZv4hK~cpEO|xRU?xJ?72&W zt~Bcwn^JRW>p5dWveMwc#_bhQ)-*KIx_f)j9QP%Un~l6|Cu(G3}r z4%%M}Uw*kP{T_2;09--WGz}P_nY`kOa<^7PT;$S#nrpbR%7o z9ySZNVmkIs@Uy)!>q>o3DcRwyIi(pfSMmTP4OSP>DC&0a*?-oCUA$wkvYZuq9{@>C z(Q?*k0eLJ%+0%zM5f2w#>&6{k(5PvD`UrHo48z)Mf*QMru~ozG>PxN8R4Hki^6dp=gL^0mVSH`E^~88Wj#gBx>6{0!F-RsMsb$ z-%4wL41QlNG^wV21cy<@V8Z7zl!ZXD`Zw#>RRFshnP&-md%5d<1jfN_ZJUhUITv8DB@^bkD4HN@^GZ6M{vv~1_ z0hQYh9#viPsKLn4c1s1j(Yv0G?3z5>9!GpK7>x2eR~Ke=R5i(F z^wc#pMY$O_4vn1_CleAonI>;Ju{1ETfU#ZSWinLzn=MF+T9i;t50ID|x_DNfSs`?| zT-PY~1Uw4P>UPLPmdIqTVQ2;nf5xKxET{ba1I?mG1^h$`>=Jz-k5p!%$f@Ct#E03$ za9S`_?t%TYnyl6!Oa-@Q8Wz60YWzEbuME?N=3^-TH7_o+v$o<3%%(=6kXo$r1<>p3 z#@c7yC_a~L?Qi!en$H0hPlE9S+Ny`Hb8iun-4I;8i$0-S-5>^DI=FSx-=nTLq8(m8 zPjN*`NLBY0tJ10Nze|iHU-mQR8)d6*v`t)jAo<;`y(FEl(59TTIM$EZqI#z-hO?0j zA@eEp7CPY0|JiHEN*(6gLge25)Cf#6=!~RAq%*yEe2=1m(CGi}yvXNy`~KyD8rC=6 zpIfF!@Z%-XlT);j^Pc0cQD%@eA!UPBSB~YeF3#-+`0@v9^bo=1F1=9Z^TOe2$&%&I zXSaK`H>khdI5Wo`-`IyeOE~g>K;u8drw^F$e@vYcpn^#MLjy6T^w237!T@y85EUTz z{{a{^wEqJz{;J`Eav1Ek#y_WfK}g(^y2hc16seDg`NW;sy3kwCczc25#M*C$g_QC%wGZ z-0t;>-nJQjNL-{aEhA4M&!Pyo35{|52~_zBRIfAZRHaT0OH#dky0uPI?ir!DS~4O@ zqR-aTVy>?edTut=J_{5g#?_vh`Z85-RDlzgZ-|AeQgo#J+Xi?EDD9FzSj@|lk>KsZg(k2}3}1V4j&Cbg+8&`@M^WbS&*AQ*r848v8r?R$a-oe~vZYt=f7BFUHY z80gE0-TyNU-Wa+U_wM)soe&-SPjuZ6b*4Y{3nQ!ixKZCnFFuzgpY(}vm2SpHQyGCt zG({2D7;pBi!a2>99kv`U4O{w!yd!a%08z!ABe!aVC`GiGXq?RSHZIMdV17ZT-D0r}K|P`_KN>!M%oX9J*W@j5C4IZ>K`^-qR_&OaP+7yi7#N|v z??I5$E2hWw0qLEkql2-)?>P8Uf#u6K;!aOi^K_%L7EIuf>HK_}jp5w&r~{_pJl+13 zi*4n*`7Kt9HQiYop6|*(7W5-lK3>)!w>n!)lj+-RK zM&s<9XdKmt>I)Ah%m;ad{7&Zd((! zf_C~eqiQft1snO@ZkA(S!nWW<&7vV(7jLA3s%pg?>V?XfVVm&QB- ztDImLHQ`ZifM?q%42L%U#THAjyDFvV`zESpZF){h%4ZozZF}hhlf$%Ijbu)-Vs~R^ zW<0yh$n|qwKK=!Fa}I(bESp8g;-jbuobIDwyu*8~ObQa4r(hkXRv@-^F6RV=o$&9Q zL_WkykD0ttOO7)(oEV#fGX#YfXv4`U^N2SnNq0R{R@32l#0FG%*}dqq!tW~;rQ8g| zSc!blXXXlxmvH2LcIX@hPg))m`j0TV>b}~gjoOvGNzT0BRSukGu0nP%9HM-ka9LP( zUmW2&&aY|^79LlEJ^_LE#GxJF*nL=!gLR*L7$1*Q$7^- zUD@&6V{@S_HuBT~t3V9>f(GyxP7TYQSps;S<|zKOhxOWfA3pMwwBK!LeuMt6JwA2@ z&JBX@H{UE2N`s-+di_9CjG)W=T4T}gR@l7nj*6=<2ZE&M$Uuftou%?zi7CHc*#&Gw zk{;-R*a4;8c_v-{p$1<9M%FOrUv4!4%In>nhX=Hs*K5P&tA93zeW1NXFJd8edw&Gm z!31Ny{=i;Ww|qd{eHgfNx}&HBZz0S}kg#?qnc-w+on}?h1t&C&?hu7812PeV@u+p_WT0elpLgUBNBI%Uy|Rk#XavrVlX|j|rar_sYyo4a`r^3wrfCq$&M@yc zm!XSiTx$wPA*dsJ&6ORt5YW|Q=Tm``qm5Fn`WqKB<1<2)j7zIZ10we2F}YiparH>w zOEzLf8xBzM>hw}112QzkYI^*Ie>D+Jy7h5j{#%?GUBoxq`|hK=+O-PM3^gR3&l(Ua zg<-YFR6eSx(*~hMFGI@Pn`Xq@ymZPHzmL?@PBl|KNqBb%sT@r=9xv;PnSh}##y@^87651#;iV3x+Smuf$buQ}tA=@N1s zGW^cgSB9l=25{suRMb8lvQ|-9CUmMJL#I0Knv;PJ1OFy1u@%n+y}%#KB+`rxrAY=w zQI$>KET2V)p51Oh0x>b+H(A`~leVaKaiiRp%1+BR;Iko~vDUR1Iu)8`%$zV3qIs|; zoDCITo3+ML?|{>Aq*=1AGi)GAKzd)m(JfUIO=~NA@+?hjZ1e?)FIfD-j)QxJhMxVt zQ2+Fm)Xt>wH@{b7V7Bdu^)o!Zu4EC|#TTmAa`aM|L7+_X)3qjRmQ57=gA%!72YJTa zU_++I;uPd~-j@%GqESd~sU~e^eyj(K?k0~SRIFLr;FuH9z0Hy=GRtftG{aJ45;j!H zFPZ|RqA|eUya%3WYMAiT!puL(K|dqIq%UV2WyY+vZ#+`HIIh01x(c{7@StnL#ra%9JZBLm;Zf(3S>5x?KXnp zEt#MJB4AGFyY)T;u_j|FP)YQK@XN!%be_ELNeA#yhDL(rVnq0v6!u~Rr&aD7q@{ws zOy;M$OEwfTakAvF)LB0>W~JpB=3L=b_HAei5%whT)cfmI;Sw-0dnCw+&g0mBKbm?M z{|pU3hV9w#IeF*c0*D9kbbww<|-d$BDQjYZky^kS)L zt>pUZu6_mzk0N4i(Gs=ZE6t<`@s%Frn$4#WQ21gW)lV`0fny?5j0q}kx5 z$h9h8Nl-}gUp@F83^D}rUoOfDMt0r_DJYzNMEy}kARQFZoy2on4DU7-G4rg!26HQA z$Yz%&q(Wdj6(~eInyVLymc*YfnuOb8-3cbblIxG|x7v2w9y`o1Qz}0NHt?6M%NDz! zChRSj46ru^U9ow$HcMiIy=PAwNK&umrfS_&h1qCa8axQLv9}6`dt=3Nd@i6BE3)r-o*M zFOihlyT|T0f4n*xmGWRC{$mpItm=y>kXLr9kXTbM2EXl3SaU<_3}`f5)32X8x-Nmlo7H2JYUiw;xjV6_Fx$*O5xa#brV)NC*zBHo#tT zhRAa{eO=UI+6k7Zc?D1PnT!HYPgJ=Hk1ybuqDGnBbo&v@A)}4n6NUdbTqyI#TwXFv z#cl(P4pwXS`1H>xU>?V#

meds+vKOmyfB_Ynr7+^%v>m(3M8-s{Qrj3x1s#hgBhj^-!Sw&ANr#R8^n818!F# zg#Y%&Ti&nKzWr7G%>{3nhVqS$u^j9zw8+`Y$J9{R7f1{a;4my31zMwD=Uscy_wCd{ z^)4$9J-cN4X48uOsRAB#T*%72H&jz$8ig!bC#>OVxqCbH2}t_mrikj&$Nb;`^NWuS zw+Zdp=dix+TVRl(o1ksSm^TzeMAR0v|Hm%Ga9gtj~?uS4MZ zV9m<#g!KHxxqY%CWftak{nrbpH*5DS>~=$dNz_X=JTSan0gNN1KpPO%k z!Y3+k*2xedDpBF)vka{_nA(^nk~s>svH8)08{fU|D_ZeAK3WLP?un>95aE@p9%;-MXdVueCASNqzv+856axh{;)MJv`= z3I(P4Acr;-SeFbYndj2o9GnJqo+GdtQO+FB5n1bvxQ)HexGA81@oM_yIXpZ}{sQB$ zRgV+1LbK89m1;6tV4&k4KFUUgTQ$@dCt)j<2UMsT#oOrSeW=f>m1t2mYV-GA+E5BC zYckNm$`*QSnD*Cd)EitmHv)SD8t2o-`H3+e-Sy+XvZuO?;mKqc8 z5DnP1BJi3*L=GTImPm>+x&{}A(Ld-U30{wCTRA#a*>IKc>M}nD8MXAieAN!f@(Yn> z0qWS%E=hssJCXz~_48$i1xF9bCx&cU%lAdysA1ZZW{ZL=Y%=ggc`bHgO)3}XIKfI3 zU}vg}{rY5skNc>7q)R@UjNQg4vdt~Qy=EJB>D9m3-|Vs)X6h;`4MVw-^@*qv;EeTQ z4@{8Ddhw09yOB3bO+l9XytslEk4F2@5?EfMm7QAq{q<(|wrE#DF61dK%_*C9nHu5M zr1j9;Y~oRKm^Fzcpk+yUBuY(m^4cTO-!;;Fip$9{Gn4O&m4go3mGEwj3LR~DP3bnu z6DQa^F_Iju`L#Qf+)u~&w4Z^;tb7L|ve}te@~*!&4{+q;@S{SalTjS%qcl{N8-bY- z+m5-J5mw!MMmqg$IP?$=l5;zwCs{^9)l9i6%|UL3B*X2qp(Mjwu3Wa+66ag_a&^Qy zDZ7uCoe!zyx(`BG7%A=%pG+G64D+rE+UdLi|1xHhzxp)TxLeXY`=wDl2w5pUxF9MEVl zpyiz{0k}c`U*rFU zVNwKJ=&?b)dw}x)DuVxdjsG(VCI!?&j|}QN0tEfX0lw1GgFH?F>i^siKYUQ>Q{K-2 zNdNwikKZT;Jk~(dKz`RXs7FrLaJK+2pI1-#AzC>vL8S&G$;5{aEo|)~m0W{ecX%dF z=+l)04Ay@s{-A{?4;Qj$y7GY%3JMD5w#lg^5;Bf;_j?m#c4oe;_iL})Ir>0=J*415 z9_$>A6&uwB%*_r0=g~JY-tTnZT<1d>5HJ=N7UI=`^Rg0f+@nzga{T6|)ytlSO1Z@b z+~r^-JxqbVUqE5(^dcW#F0&MQ0*fPsJsIEd;t}zWEDm?&$rBuFY^oAXuc_IA*;r zUSXU9VoEa{-rtmVZi$E3_$-Bv2dU8bgHh_k2;}WYtp?ie=^l2+ydIdmF!+fuA_!y} zap=w1Lx(^lf^9=*`nvG&@{J_wE!d;mAv;BH%BLUqWulVUD%0^6Z*q+uNhLQ-w_0m? zU>N${IZkWP@ft5m`Ha)F`UXyo^2hDaj=J8<*4s1*m1m1T14{Trs2OS2d1g9&Jt zGUqQaCls^lgLw^hbxF@1cfbhpE}UeN6=_V=B0yzifI_oH-^@V>3@rA(DN1B_r7WWv zRvbV3QdH{}gIyS6b*<6EM;m8v-(kr%J=s^>wSMx?g1d1n1Wp1Hm$QL;($loKkf~Ha zdb^5Nv}9uz6<>HG$$mA2UP)-Slnyyf^|LA|(FR3-2jj1dd#hJk+NRNKR*`vCmXbz^ zcMv#o#br2GMUJl_iOnrGI|Pn|<-J@KsyYky0r#>SVi-Sf!qXhEG@Yb-*~%X=5m?(K zlQO@yg=c_O+JJCf)MbrK3LA*Hwz(02=MGtT9;AtfPO7Ww=;||)(Z>uL5+NT47-Yi?a!-Xh+v~^)xz1?&gAY_pJ2%zW8eCRq^A~9mwqh%X#M;S ziJP7On8#LMMEfO*z|)G{w3$k}^wXJ#&;oR6`T!(SX}vX8Yys+yz0_|2aB~SkVXd1I zL6gb89O{MA%0z%QZaptFWKxlx_9tk{RSAY>vIfXe7X;|qFi_-P)T<98{aRFSjb>Lz z$JQ1!L?I8JB$o+GqhQZu?~1nX4|~`lvaI01U1}dX$I=J=a>FM-@hi~~ygCnWa4G=p zrsIbmPgwzWuaxX&qHIAI5M7-+3P*@Lp>1l{f z)8`-S*%l{W;SUtz;$dR|H$v6|wmZI_MISabK?Y{o7Yh z$~AJ%QZ8Gl7*{OhI3?E3$oo{O*r*t4hrO+`5#~h0&Z?RHgAajQK&=Gw>L}fu#RXzpiA9Uh1Vi+&THDSGj zs`($NqUcmeRQs~zTsrbuF_3D)?T9D2Hrsrp9>^vP0-iXxKsxi{j0^pT}DElsjB&QA(Yv-<)KtWm5p z6V6YoM01BA+NDKtX7Zr4IjcsmiN}fi)2jEk{d>XBvYRdbpIXVB%MZTBeo<$`uQbva z)!go8*he_EXnfl0ceCWRGiw9}R1{U3RZ2Wdh|e2BPo#^@q!}NC4>XCyqQvKx9t4f# zy8NQnpcj$J==Ywh;4Rl7++Ph3q8SF0A8(|9gk$KvYPbi)9_e&LOLIP>p+n7s$dVKub@4RHspNLYu*uRz zF1_3hPPWT?1q9_^XV;tbI9$N)Y9m9-em>_DUSEIP@d^sL5$g9Zjib=Qks&*V5*vW^ z;RBdAoyCMMwm|=Ar-XMYLZ% zf^a#LC3_lIX_~iPNYFI(3CXtMOk629N9i$#tDcM|{W#$QqW2r6sK7!4ykm&rOo`vs3d_5U86eA*8qoif6J>ro@ zU=JrYE^eH&H*Xme+3dSj5k8(4+A`@S?^xqlB=l&SH18IH~T}&TY~zj1M*YQk)nZ;2oUuWzfyf{p0IV}CHsb=&US;O z@OdD4_bJNz@3|DVAY+~1BIIvBJ?-q*bEF92HRI_o5aJ6cI}Dc$MlJ^qJ?7Z&uh8M$ z4nB#6TSf3*4i+|l-F1C0j{OOXow8AxC`kx547@bb%|H0Or>}W1N9o>H1rKiY;TqeV zA%%~9tY4caeC!MAjJrKZo3b=5g@IG#awMBDf|U>ga<<*RV5*Or0+&i=En-cdLzc;B z{Btd9&`#klyw;j`kZb>nMdSMrw9@-Zy=(Fdb~eEF9TRyE(1YpGVmV`08da$Fh>kx|`UTI(dw)&Pug5k#uTfxWa_om$q$s=U*-1~4oVf!MlG zTRBoy^q;!Dv#mQuPK}hd%W0DrZ9hj+y@>z_dGra$cYRr_k(Jzr@5 ztF_m+(hlVy|NSQl^MBXc{}ncTVh|C4hWa+PvVRm(FJ;hbau)fY1%XTuY_e!=ygYVx zdtWeNoe2peaj}Znz~)(?ATTIoGlE2-J%>|%8LodCxj_!kyr2#Y3Z4v%p4)Z97+|yB2_59VqI@+$$W17VgLVWdGRCsn?Hni8T%?;G^l2O-4YhtnZBT(=WhTjOEQJs(&BUJEjfhDGFMXAS>MB}S{qB+ z{KA9)pqq-8iZfa%=E^@9&SV!s=oN zEh$ee`8B}V(kInh%95kNS|c0aqRmCgc-s|ZOTY^y(4@Jo=88b6tV9A%G`J{A__0XX zabxqrktZ>NxapAC@&huHYqODIl@_T=NAVooNii=L6m=H+j`-#LR6)8#WMSVcgpUYe zOZJ?`aV1Ef+;aTiq8rJ4tsi$`K$Vxiy92YIN05Sbcg7*5KML%BP$dZ%rYYPqf|=}- zfs!no$I3FbnSOzmQJDbuF{`p*sh~-1l|OXJhDHBb z$$23RqALqk9lXO9yOBY&& zeRa6289V$I6i^TuJ5xY^M2+-hF%3Z+eO5a|EdEq;`q%>F(JU3<6l95Bud)CEwQmciy4BG?srRS^ zSCisyjptBUrxP_v&#Ys zEoxYdz_Kd{&tUd~U}J)PXz*jjSvWv2{0Fsu+*d{Ydhyjin(Seh;h#T`3Gc#Ky*_W& zvl9?gAF+czdqBM-{P3cyXHygL_Jw==A&h&8n{$K3-5SFox1KTz0sON2hhbU)H5lRw z{?+o+|3(mi$xDjePJJ;uHC70ovwQh&iPdE=jEhS1OxgPILu^Z+iSb~~mvrl47c1Y~ zL_e;dx1PS7q)m;7demfXsiE$Zcy)>;YF8I7+tnvvX?~${*Xr+{z+xc-Lt4O))qZz5 zj}tX0C_*YcV&%e3Mw8|rI)QnV%}Tpkh8=F<$({t53gbmg=STHW6~UHRP94G36(z(D zH*OKCs9!}7o%bt;#tK3%u`jTyhcAF4{JCP)x*g4?d4{aEfiet#fOukwp|{YAu?s1P zk-|Dq0p(v;9NOLzA@6KsN^CSjE@$32F(Ie`$+|MKf>OaL*ve43>1;=C#2a8K+t1*3 z#AX6;gD$umnT>bNX6p2E5d26O_A{U8s6^v6+#PADwth+7T9i{Q{=yC;pL9Ueok8m1 zY@nf{hP4`*5ubG}weyQh9vaQbXTux|5m@ozA4=SU~w0M^>n@Jj;XZJVFEy}|X zyv)J3!rkc)xLC5f^v%u~1i+wSyca(u7773o?F%C16gDX7L!dJ#Ed5%EG9g4BHG)q{ z4F%*=1?ESArUJq1DPkFU>za0wsiu-M@phB%KmIM6a4U!??nhLx=&1~UY2n)}c+-Rxe z57bCKf(o>E%-2$^K22eF20S7)2XufbpFPNg=f$}!cO*(g1aQc16*X>Oc`t8&8?iQC zn19P6SZ0*t>qaoCcwHa%eDP}Z$(?`UYBZX7vsf~(?40(caxmR)gwT8Zpfcv_?F8%3 zmfZxu#t+i>A-5%SFhXO^6ak<1`KnAkjv0RmF)sZ`eOSx-pr-YH73v*!I}d=E;*9cv zrp?vyv>d_786?n#NR27d*>79W3tM35SpRM812>PwBLrMJG4SB z1WU)MJHl3)JZlCQ{u8BxqFUj0rd&$d+!Y=~ncNd;ZuLRqwUK^?&lfaLB2ef39B(%< zKILFGWu*sOy36$&`*q}+owUQTH@l{_v17RPQnzd(XB1GmkpUj>Vg#@wop#9OW6S9) zip~P~;&D1vkKcHu8J^&A%vX<=c(?t29gwM<82_T<*J&Irr>w9A!qFidsT1j|iGdTBl%ju~a8?(;6Yy0wpzpW`N0?-g8fQ_hJq zubj~iUmyh#XlRiDfOLjKsE-Zra@1hEIS}=NBg!XOk8^+d_(*$@T8oS?iI(QClaymP z+^cdU)cFHMElDMEqCTvQ89`iao^~f1ZYNr1A*T9f^d;^X8!zw5>()j|O@t8V8FfLK z%kez0#cQ=3m-9XKNu;pn^fnHgs$1%dQXbu;V{l?z~i;UWiQ?x zS@(oVy846Z#1z%82ka50O)Q|X479OKmAs7b`Yk#03IsXhal3Lr)7~`c?ut<`!%}2P zIj5>81?52)aQSjF_?@eM9C?XQ!)xQR?^xBuKN_VfwYVQYj%ZmfgG6Fky{Z1$F5zm- zaK}es_Z+nkgX5jIt+1jMMYd4p7xK0llExltft{Zoa&{eK7sWd+7b9kz!Z2&uiUnc3 zMX0xN5<;DmGxqid{Vic!(N_N>5~VGqPSUlrIbHS+kkxL8DtJ2|=V;;)Ps%pv z<{j|zN_Kz8et2}J{K)UJJU%|d<&wp#eR$NNk_~c*kYnUU(-k>#33p4Z(pFHoLlrKr z&P)Yx8qE-B(S|dFJpG5u6$<-NbP;n6<@okl;*pTYY7^{@Zu zi62V`LL~^oY@xqlrePLU^Nf7ij#y`SK;y zie>M!@}`U`>!zZrDviJ$j+ZWVMvRm{^dQK9&Abs@a65mMbYNI@PAjl_eKKV5&bWHJ zTC&CCD~MpuF5?rLD~_K}8s|P4T}}1UksBJzeLl(0zGm3KOP8DWY#E@eqd;H|&P*@| z{lDR02lI2sbeikOwpy;)Ei?kPbdR83aYKQX{rO99k;MO;Fs=1q?jf3eOC}^oE4XF= z3l|g*oJ0}>CkJLsmidV0*b~G&`wkTjjCRH67mAn zjmZz!6i%Q;GtpzP;~2+!jimOz!vFLK`nNMTq|Gq*-{)Pbj>UWO5O!^2spDCxK1-1- ze*noyu>|26{$glJBBfi>YprIpOsMSvepW8Ue(K~#vTo~Xj{N%ZQ_{9Ha5VrE{Rf3)|XHIFvWw;!nl$%-c{mpv4~0b6a* zudUEsxhq-`a%zB7PrR0F_S)L^`pm(gZdASB0W&evLSUhG%p4-Poti>D?BwNYT99^cQRD1C^shB@C6~ezb``_ToQPtY!@m2B~ zXFBA8Vt|o&%*@WUF>Hp=z)~RKKoyh~#6JVbxB{rV+NP&v0xQ&QV~cR(N*wX}T48>x z;a8Rjw!BNtnqShffwjAtmPLyV9!tFkjm;jyuVnw8>DLsm5iK^Gc`zv92BNZpLoli; zdEAV3n;($!Mz|eIh6sZ&Jfxt|r&J}Z8yoR-d&WM~3-*ek3NEwPsdEE>WOHK^MJCN5 zp#lQ)KSgC$Is87e(GP&r@z4@^8u(+vSX{hvaHDSs#<_K0*iQp?ilS&EQKtvv9c{)> z*1YS5gC>U35le4PPm}B%68)cz)p%6vYA=bx0Je@IkIFOjajVt{3RpEV zowUKR@$XN;+wUr~qly6Bb~2_((Hrn4*3{oq0;?WOOs3m6SnycN*r6?>F2VL2`&D)< z_c}9lTI++e+wlbGb^h%r5(at4MCkQ zH{pYa+I(4C6H&i|pUF!NgCz(vZBU^J>xI-}FZ#E^9>uU6V@wMm)jh;wT119yQliv~ z)0%LW1iJ)hMKpQBPhHmG(U0)LS<|t#u?KDU>>A?L7t4j{#8y>a!BEB*`iyB|({SA6OO@>|Wk~Q5fjAh6 z=~B)ulp0Mn17V_oz_)@xreN_ep(ZE%am`W_QT95~!b=>H2h|Ynz0jJeFz^01&%j{) z`5lAH-h)Uw*e0r^ciHe*JeZU?wJ)%o9xn7f%HzR>{*RErq=801c1!SQrgEB^%9=_I zorS}}7~$E50g_O*y3K_nb4@zucX$1-ggpma!_r|i2+>XeugnqJ+ok~uz?GoHQ`P}k z?l61km3{&UqAxlHQo}F-xCZfrBRbL=V>*tUGNihIE?N8JzqK(|)d(gG`8 z(*i`tN0=O2s%^N~Xlol)tHL5q=L_e5BE~kReZv&wM7Jfe%>N3ZU^M~`wVpjy6rS<9 zcUW#kKf?eUzDn7Q_}uL5E&Ap71A`*Z&!+am%1e~s-xB0FgOmL(S(I&?rp|3e#}==> zy*szA{ejJ~DH}n4IF$O<>n?Vy8hXyi-ywd0ecjEMBHeM=K6yYuHf zr(Hbwq(Ehwuzx8oS3UDsc*IJ@40o|mq_j***w}#mYkV?MXV^^P&3M6t{L(lRIn=e) z<};w~&l&OzW6K%%&U@Q}fWgj-O8} z_~d4EHVke-?IuH#RcEy`rs zGwQ@j0lTSmdd=rgnL7d@GUsQnBjo7D_~+Cfp99+&cX7Jwh^gJTg{?hRE3Z;K%`171 zS)oEdt~FqGc{t*f<;U`fLJO$I&`E;Qba{rotlQ45$x`=D%2icrbpN!r#BpL;fR5Ni zV=tnhb}@kS-paKt6=K;zWj|ASFP3S+P?KyKQBV;tH3oO~SSr%9PXE<^w+p@tSmIH? zY+w_XzwC&)VmP&IP96j2MZlrXRvKj-f=grCTOw=qI0&tHk(k@fUxq`6*c?eBx!3-EJuCp3tU%g}GxU53p z@2(EOcnDTj+Uc|wmT=bgbMfrzmzb4mqHM<~5WX7u`4ZVgh(P{Z7FS^q3NFG}wbi5L z8SqvLR$kyFSv;O?7zNCqwGq&!r7W{vJSMDuwPTn#^h|S}J{rJupma%e0W;-vPR??n zYo=Wo+Pb(pim`rh0%wcKh9-E}x3k4VGga0`ppgrzWY9TUEBCn^vxiHDx8#*rX0a_A z0EGxD)3cD((2km;1wdT9{rwXCNvRgDP**VOirFiAG{f%QKn3LP7;H07j@yM~y5>0t zhMgT$8cVW0V9sIRHCpSLH8dMSQy{cEGvZI;7gKuZ-T%0|n z*C^pwzJ7q*5MO=lsDeDD&;v4H^uv15|IB3vT9?zVW*%w~5A zSjv{-Kv3XNQDA|RVsB%2X6$-)ZW2|cP~*3+&GBf-9e{{qqwB3w$oco8Jp-R~3em&| zKTb(Q5WKSan@MRUl%>4ez`s0!0 zJ)$5>uon0<;fhd-*s~_>EgxM?K7wdF?&t?-#Q`M=B(VSPw_{vpC+nvpzJr&Bn_sM z0Av==eWF~P@HD9;H0Iv2+CAoXiWnHj_#$jJ)JLWW{{Pf1t|#}mW+NU%F8fROzTsoAmg^7b12h~;V;EFyWq=92c<$rND+Qq_-+??LP1QpSJf zT~MWKja2Wj(~>kl$w`xi?6oZK1}HSmj3TO~3{tU7Qzd%}bt!_qa_i8uO&FL{_sC7u zkcTd>?4ygnR7mWZ_BUZXB1G>$ZC^Xaq5#DY$MvZW#^T$bN^q z(1wjeQe08ymXi0BhK-cPOZ3*l;@k7+)*K5mrt9J)?opw-*2BD&S`F~hpG_pT z%E(of-j>^IpJd^Vt_KgYiQ&fei@e1GCp|eMYHo6&&T65ol|o!U7ehycSQdhcFI{W5stCMbTbf)|?-XP;<_!gOL<5D~f|1 zO1`qBQY2fEITh7C5mf($i9EtL#P`#uBB@PUiY<@|?a(hYS@|1U@Wa4V1S z=xj`rK|p}`W&;t1mPfoQ99vapTias2v=zv^HM(pkO#UO)BS(&n;mHsEiJoY|(t|?!*6*f()U<+ll+;uqZLBGv0^n z!LZXEtscjbtY)b61+uB853o7bkM3L|hi5_WdM^_Bo+{_cmdf>J9{HXqmt*#O_JIDx zk;l6bTc4m?d<}xrnb5LGSg=}jGhFjAJ6X6xF^|4MNILDZ=5heE9{6t>aUulKA*`sp9TR9Ni^c`r8tG`tqACgw` z%@_;PME~vBEgx$&Wywmmo z@oofvnMG<%$sY0sJQ7};cC|QK@c!!=33x=~7Q)-te+S`W?w6rKi!m#>D`my)XnYH` zXj-jeF^p-3@??R>U0~JAaY5)Vu^u8>$8l5WK$E3_I2ED2Ig@$E8Bl_=)Q_qa=L+_b z1?a_Yiu~lcrXBZkS|fbLeG{`tdeVd0b9=;`+{KA)$N-K3rkE<0rt`X|HIas|V8zK#%;jsOH5)kcRj%E1t!mAV5+3f`T+I<+f8cf7w9lE&3n z-jkv@l_yl=`V{h_w#T-cC)%4K~9p@iuTX*eR_#57BCrUbh|;=yp*Z2U^FO-}Tw zAo?tTYpn2%S>=z10;8$o&R()X3XQ~p1`;Z*sivQ!J*Us`&=uMy&sTg#macu6C-jM< z&vv-$Eq%z44_xHV-NVZ*xQ*0y6xxf(v_hBz*UU3T#zpDwWITCFy*vJO25_>i5pi8r z+1v+!a$L6Guso`s0w5h^_+FCQ%aUNAuT={4Y$&CoPss<)pk2Cj_oC%;)K8$TW}vaz z9HV9FvQQXql`>UsG15^lS-`xOghSPk{Iw-eN1_;gHDK9!S+rWehC$acWjs-$Zn34L z%F2~zw%gA8I9|DCu^i|$qpF!vOEzKi)k{_oUuBBgNq|iQa-#ac(c^v zpzZ3d%aEzGYp>UyCeOMYmuYmuvAf%O;lSkG_2Tk%-*likEVhLFjzaYU!Q&M{&(VWE z_|5zdu+0IhZ3xnDWEP zbLMzr_^og+ezRp`f-(~F9Ia>$?B>UmeKs2f+4+Yf)9~*2#S-xP)pl#sR-o7~(HZOO zQDwvYdXq>LrC@4{`u@{|0$Z(QysQV1crMUBC2tMQ-oltXPn?1F2SwOh^3q6HjA?TM zizdogcX3BJcCy87Ix1PT(r1zCvr3C_NcW{Nqu@FeWI$h-a0X8-!O%u0wEo3KlRbA3 zQc~DxC95$Wu$$9&Rh}IgSI$@~+(*rt_;#k80}XT?MDiBpo^vfNWaV##SX%(V*PFwK z_t9|~wg2nfO+rjIPNtV}ca|EDasQ)A@2Ia^ed%uHa3ntMCxlR6>RC!DF@ac&PNDVM z${AsDAe5e<#4~;no-%?$C#%2>%^Z>R7Wi#hri99M;lP)e!%kjqh%+V4d!msk{tc*N zju0)PMg1VcQ@K@mtZAkTo;O9fOM#31 zqWiV2b=OxoRP?auur zEGTmx!_t_$Pj2QoJX3(;f2#6qz=I;!I|Gr?860FYBk-pJ)yQajB)B~iDZ8-kN^340 z1L8>KEEzz_C~A4eOxqiE;0GvE(|Rr~CZ@5q442%69IN;7UA7wAcDuqfqK*!;#~Rs; zCs^Zn_f{aDV)yR64!lEVS<|}-ZvG|3VD^=TrBvgUZobTZ` zD%lH;_z*rtTa);BKVy2ObR2qY&WW0*g^XW49r3e1V|N78!S$nEv2@f(SsQqsRK!i+ zQ~|Gbdk~pwgNDP@^D}R||J|YFQ_)>y52gK8f~+np6M$D@rJ2-3%T{~$Xd!CM(N)OA%33F?jOhcUv`}Ey&=)Xs=QTukOp9(F#rQgR5V=o_K8eR9*GX{NnX3cHSqjL zwV$=iiJKkFoB4Q?l;@ljZa?5gvYhNl9)~r=zFLriwc!{?dhWioH)N671@a<1ecr1P zhj#{#Gj&?}nLRL%Y~Tao%fggfxUNa?DAm$Tog${wCpY`F7{{t!a$!$u`qo;_qkwZI zcEBiAn8p=*8>gQ6#AI);jMak4xV}KpC^kFXL{V*HrBe_#4!e@CQ0*t$5+1<^{`u>K z)fo;TG$Cddh$rb@!*@wM1_LTmMAe|0mFjz(WVrlL+)Vym{v0c~z7Usucsvhfm~Om8 z-PZLn>(TI{O8Oo;+kJ9UsE`oO^^N+C59fdT7C0S82yTr3{%aNZzxOS_+RXn6A;kcm zc1lMmKi*cX9cx;MYVomyt<wn?dw(} z=SE*;LWg{W6JfpDE`cvb9;bs69VkPAie7H6!fln`^Z!k|Vh-v(dnBGm;HgdHv#gFH zdo*Iij-YH!@UV!;M%T%oU0Y`}W^0#TP{u4DvQd#t0dLrI){hRxT%^?EOydLa)R`ro zpGx#(uVY~`ep2cD;?mCH7gR;XOg}F)H)JkO5|><5>HXU<&*yUG6eXneuP~UMlY>b! zt9GT*++3xAZQ^oD`fMj$AwQv+GXoq^EC$2{>)G3ys=Pn^!TtTj=rN&;kXp2fGgumP zlVZU_f=Q=3rLn~sm~I3*1PlQ(564cw*In@uKMyTKN1a?=I~lsQ_*>Zy-S_lME^L;- z%fC2X;4&e0%zB6>A;A;N9o2^D{aLyp+#o|wUxlA9L2SncB zJum&h6Q>t{d~7s@L5CjE*aA*~_G|%RhzF_KII~LL!@w@JY6&$+)7_51@L_F=JDlZ? z{!47l3L-hp@|DsW^(fHgnrx3~=!jn4v-py@<@-AJl_3hfETeqFPRo^6Eiy3)3 zja{?|V`Z=zy9d;0Ds5KoImS!7QkvMb-vx!?T)*>SyBwgBIIqWOvUsUmshC(l4<0aX z+d3b>EeluVdRHjXpj{ilexND5UTm5>9^lSfiJut!5CST&UL24lL5dJqr9Gx&^yXzyxO*>VXz|u z)EjP@Ww&Gj4CV>x08Q#bv2;%9zJc6I;&y^TH#nZZmzXPCUIhu)~jpKb61^+`_&2`%O* zf)@XCDgao2o*8|TjGUqESs4pY5>RT!S<`f~h4Xb?1j+P{P>JiP8hA?{@1DCb?-(6pt7$G zqnsRCaBl9w4b*Xs7D=cRQnK-x;IWxVMLHT$MnDod%!b7a%m$~=D0hb?XAocalQewn zLU-mx9MGokor>*h=|%tYGKGyEFV-W>_ZJ*4KgNtJH#f!!w~q(9st+2vYL9)DU;K=~ zw@-|0ihOhdnDf<0-nudv?OWQ~H?j#&Si9k7n%~U?ukk-gV>MqWA2g*st;K!rNPA@_ z7Qn9jr?2YVcWM!jfcahN@a#6hI$HR%Fo_f0en!?JPVV(kY5+;_wTt5RJdG=26yr5< zHpXz4(D^Q94=446=o_^s*Lu#s0}3U~VbQv{7~Tu}V{(<|2^X*jQF_g59p4PBlc;=k zR zL>*y=9U+Hizd?vNzP?jQOG5911leF(X{J`mdx%;2&y{v_Q?O;jU@Uw?@i=O8fJU0dFdG5q` zGxh(b3?ObP-w=8(qSu{OZK!oJR0m`_g5RQy?d>P`_t%lsy06%qpCNyr@c`L2Zg;Lr zA?>)nXetNsTbEUJdKb=URQoIXj1}0_D6BcZjM`wbOYD_pjq6r*%o!BBDJ}Qyeawgx zZ>QGU&c6H&=*?FK9clz0L;Kg3M3|qV`2KE#y$uPdoPljKsGIs)%hO*0t6?OKkt$fb zD*$YO$SygGW7z6g=?-dB8Zh*tM=NqKXI4v9{fCc0ax!&-zQ7Chrh}9zIdyh5fcg1v z6c4wtA(?$S2zACtxSo3sn z5yjk-^hIZHtKu~c;C*1*x`*gbLy?d(+2U1j`AZ#;^E7QH7pCuU(uo}N!y zo2=|&5v1LSH@sS6z;G@pK2ri0^xpDjsEu(&W|x!j!TiRQk=<%8#1&(c_&_F-6_?8Y zT)B~9QHC>(3A+{+98jtM)k;vb?xxAZ0?*4A2i|P}uTuivQwVM=wd>cj3hX1JX?TkB zX6v9+^XyYMb7`)7o`PzRh}&@Yk}fNqtm<@HyLNBGl!ZvKBVGjc;@$Qo-RysA#+0%EmF!ZPAt1a?-^#6Izpq0MMl%>Q)f(Lc)C0fCGUW zpcdQim|8q~=5lyy$`l9onJC$bi|8Sv`WZD`$f-pFkm79*dcQ(TzSg_~Z!5rkYBwEN zHv#>~sqWzrb@?#qs(9d>OMLo+;MXi25%*n8mJqk2qTuEB1(E+uY2MWYvfy z4e==K5v&^BpV-pGMlV2NDxK*5o5T63+7uQ{^+$R&1{O@T9{GtM7A~X?22t$HUKz`{ z1+jEWr3RP2U5|oAx`UDmMl#~bzQgh{xhi%NLok(){$E7}4gx5^zM6ZH(0I5`xKU(! zamt`fPh>@^UaV77A-aX1-<2mr7zO0bSnBXo#NcmwI1XKzh(DkeOJi&H-UN4}Pv>m* z4Kk}J>^|4TcyiAh46p36j7-#`>RX|LQR|}Q??I?V}r(6%_4DZ5UIuH7fjVPEsF0dB9Z36!}-WqimuNx^dze z@1%|H;1AgexB7&?4Yv{c`c&&(=swJ)3DB6*auiMQTELYPXOa$lBRi1C5Ck$6Y}YOK z?l5Z*ww@bur_kT7vYQYGnCU7BKSWF-+p;mR8=YmTxg0?0VUh#14Gm{hipG~fNR6{u z0XDG|;DwOoqP{g1ogsf0x1jKBE`=fS^TktQ3F@qmqw(iP1}sKJwi%8y?25_l;xKhN zo{4;%S;4l&y7#Q!rAfNpA?+E$ZNg1cnX?}*oevQXquR-mLF;N2Loq^_i5g3`ASH5$ z>u3t%sTD8`eBYE_-;ZGq(`sG_4EJ6V2L3I|q_Anuys!i=GQcadGV-WWyd~2v8@S^a zlp;eAWSi5Emd!QvYTL*gh|?~E2*ga9)d~l1LLaVfkTXDA6)er&-HVjRNZ^#}CJ}od z>$YFVZsv^XnS77wz1MMgtBL3ht&6m>y&6t?M+3k|mSSB~&@0SnWJjJqPLpZjFmXBM z{YEOR8=9ZqugOQwv{SO`6lZRs4+7=qrtr^b4mGBfhSEiRQZ@PSM=v~tJLYjWmhTjf zW0TDY6A4u`@cMIue#A9Em9uw%HPu8JuXYhu=L&ine*>KR+wqsXMfXbKfa(_D@?g-` z&jc{d+(W6j2n=&cTr}?JBjKD0>KSI^(K=+)Wm^HW=fUnB`WkG@*6+bfS)6JT*U|)T zl}cg6UafkY+t+y75lba?c(Wz>?%i*2g`iVfZ%!)#qsya)W z{zm(CQkVTlDf^8=muOb;8g~2i<~nWqudnS%odzO%<{uQ^ZTFAu4{yK=Lxir^#Twmz ztHjZ6azG(KCE*IKAYSr3YjL4~qJ08yLe!i^u4vf8>n>MT^bD8~PEvumXg@ilojF4f za*Ew`-00v09-wHIom8Nf-h0D!`zoS*VKOeb!u+w@#%%y$;SBLWT`3l>-^FmFn;IA9 zoF?LSDQlIdphhFf8Be)qL7CVfFev4OJb~N}=A?cU>A~LVA?uDBM!6iIN-r!Nb5TcR z)r~UW)#w$HJuT;-G()AohaZUpR}zdUCs@HF&~7>eav zEjJ46@7f5`n;rY;3l#-W74)$Vx&2ZBaqDwtFS3{Af^wm@J$_JpkI1)|SMWs1TALzy z;2|LEF&icg)vnYDn*qv6YdNLo_eU&QoM)^8!F;`4MYqm=EnHLC$q*}OOe#FzM6%m7 zN^V`H^MGpG0Mw=QR9_use^QHQHE0X!x%5<6*KZ5<8^}0s^)V8Fx&l9p3QUs1VdU*gRARc(L zM3O+ze49nN{YM(miz9PxPlG|Eo@|0m1?)Y#xuX*OcNpcAlJsA2HAT08Px?F}(R*0o zAYVVSKFWw4+DXACElhf42^T{ZA=ER5yN6m1uLJ=fN;Za=u%MPSh|AwSgXFB~c_-uq zq>v5-)mXW>L$6hjDKTPvb#89yU_K+#TBg&8I&Gh z*Ew^UFMS#g;pB8UBr9`EUA&Gjo6VB_lyJR9B$$T@%IyL4X!EN;e_aYn!-CAio1g&w z?UH@|PTgDsLTsFwMPW(Ma%!>@x9I0+i_RQ!6-Lz(AB}*-YeMXPA=N zcm~y&PI%jyjV-k9duzDtE}Qy%8U_z1?W|48tFR_%hP91Xe0iPFdt$h(W0yUd;V_O& z+>C>nkBnXp&3O}e5f)iliII|IdQj6w$8gjRsoyf777d^}MDdyJO9pO??9bc$mOv?U zK%t<;3hZ!Q4|H<;R*DVq|90QvpzIutD_K|3ZfY-g-0}RWL0$u3Ns@HcLE2`bpK-0YGo?wF?GD42S~NDg zGc|5)Z?KpC1T7rsf~ugVPo#tV(8|ppJ0B>AH*>AS*lg**`$VoF|C(_Dx0%fzb#^`W z!5Y2~xHK{gJAnCd$wQk@wkQQ-_o--C@iN)AJFu}s3g~gtqabn>XrR12cvpcW4&?*4l?n6)^UDiCzy*RZ2-44(wC8PnIo`wg+E+}^k zq6%7zaF|G*()6hFgcuf%3u&29iboJypqh*;W(v?-!t?3)wmm>S8jHG})tVS8BGd`@ z!4)QAsB`&shl#i|T?6c9`6V->ulDuRjZ@V1t(s^zyopx`l*7}B*nFpXS-Ajkd#PGS zC^C?ANa!pkt_1tp=l%*+Bs^?bo@Mhxi$CS1!jCAOs>+yLZEGG6#v&s@V4ml0ASjJl zb>`9gOc5I&H68-B@Sv`YAIZv!gQR^$Q>G7;ly-wQKPSqtlu)D(pxf1_MU_VB8V!gt zFu(TJ9InjO6p8Vp*sF*k6gR-8NV>jNwf-1?Pn zhTNC%WDV>HO8Wluw7Dr;z-*MxMnHv3b|8zpTO&4;Pq~igRA1ftk-y zF%D8GL!Djl60wy4z`R2Gkm=f*6`U_;*3^ka|MNfnRl=L5$@;#g#Vo)qQ?Mg(e4&y1 zv9&<+6N>u|qr^H=-j(zj z-?vKsDlb+8j=2^3u3bPD76bXq%F)%z9vH-TRlLi&`3W`lAT0W0jvqv)Z@8lz+)82= z|C{4?FE-`ZiJa>zO!9PIpKi#-aqYU>FWJ`QVDBM!s;{9j z4A(&P4g;ff(VdcBN{e!1el>e|T2Va+_K~-B7M=}^xP2veLQq$jYMiFjfTc>J&;kwu z%^J>d(1@KMUkcC~j{a1_z`V*B;~kUNe`DKb_#5(kYfArK81w|uw=E@4pI)*`nb3qK z8KgRl#zbs`HY;ZJW<9k_u|B3~!|55Cn?c+mp}{hd^iakb3A?u(5P1K{Q{*OldxOD;j>t#{d|u(0!ab*z%Os@wg*a`MYeP zNT;#Y?Rra`DBaStlegIPVfU9A|JCMKEP#%b1ekD%|BN#C%GzrIl!KEepn6} zcy`la2XiBW{6Z8AuP35mgf#S}Gv079gh?)Rh9Z4vfp%e~QHB6%53Ct>Yv}(lNpRH! zQvKdCy9=-*hv*8UA!&kRTn=#KdyCn6!eDGl$j&;s)saa42(Zf7V_jgZSZ55zfNV_A zo_E`&=9Tl;l+k&2@eNp@V5yAzJ2D1NMs8(7!L*$QOF&0iRC#$cT`3BjuihB@qH&f% z84&L3RUAVl?|^^;g&WVvmiBg2vha^}np4bg_u9|c4r zNL@epRYEg(Q%9m>I^n)J{`N<6AFghjxI0H`sCd=PJ3~el)({vipHqo?`p&2d8`+EpXcqC5 z$Q;0Y_+K{*X65p$Se-yIA1i`bid#n6DsZvE|3lb!z*F^y|8re?@4ZLXy+-zGP(&G- z8A+jt%1p~`3Q0!!M1+zGS!K4!SEUlArBoyMzt`(@J@5DPJfG+J ztn)dad+s?ov1ya@m#9y1SZt4yk2 zV3{uQA&-qdpc(W$4dK4t_CnzGI=e1^Ws3m2NoB9KxyQa;3hmz9Sg`EMtw))hfv~fX zJ+CM7tw{=_E@EBj$0B*6LP)vqa{TI$s#`l^8LzC@+IMUE<64!*elxRR!Rs^;2TqS& zpR&16rgFVhdSX!VlFXTDe)X4BKhKHX>$j+g9lv#vaijMXH|@*8PeP_zeP6C^@7U|Q zB|-Ysyt0)NrluF2A5b~QHV2d_T(f;$t8v9@x!V1$PWsbpwGG*-nD4(ia^7qGyUT{o zuZx!+&&vs(%)Qrp*KBw8mCuQ6T>MdN`Wd-tKt1!Dxr$irm-vZr^-#?|j{`@TY}- zj%+*mlOwS_FS_QpN5d(tN;JGehc z@$hCz<8Ga$rL=oI^B%`8C>v5(p>(<~!Qc2+yy_kWsdK{idTfSI62n8zZnF^WHsuhw z`M|N_Xu*)+RN-=SfA;DFht{8bOmhgBe_;A6OT4-|>G3wk4|hatkyy&QM0jm@qo!Lz z*df-hu^Mg^zsHo_`c@YHC08fH4|`Tf_=i(%b)T?}_i9wz+SzXgggjoYxlJVtG{C(Jjr+w`Jpk;&VUt+{|E+ z=$kl1-TwGl(yepp=9KE56Oa6L*WK@Mk#fsYoV;78Ecr1YOz!7iJMry|KZjmMSB;Xg zD`|0ImQqu+&}ZiU&ti4oGl)m0aP1HjH?WD5{(fC@VomhXu66hQ?=IKbxI}GO#rNYX z-MeH(p0~o^0y=d*vb)3V5)W`qLwaezmj=q&ZhDzqzO?@G{4o_oZ65_a&6Z4ULP}6_OW#H zr>Kt48?S}NWGKGcGJ0EW*mT!REoU%X2yy8Y?0BiQ>n=6I zaF5br9WKFBv<4clfKJg`uArhlPGu2`9`skb_r5KyeXhg7ZVT@W3R|wN>N*n2y3)GR zeY24NB{kt1Wxal5N*U>}-z4dBFK1iPn0xN>)yQ^TZIkxZc_p4N`}L`2?`$ZJWv)`C znbi+AY+&zd+QrQ4VrG@$H@J7?N|R1nwR{Cv6S~A~pO$fpmb7=3aKuWV%7JXvzFn3^ zH*~qZ`j0p0MSg!IBDVCWYe?>o>Yk(L#aaZeo({bpef#CtoB7g_59PCVHB}Y7jE=ji zct|1i*sm9N)wKUR9Q?S?wdpiN>ihn{P3g}c8Ex+9-X?1BE=qkla{YWjEumgpPm3$z zqYCpL&{mGI_w;`94-2D!X<7$1TZ+u&%8WcUt z6s?BIH;yZ1shO$Rg*FB~Lc6t_oXt1~hlZ-uqJG#dSDNM?(~_>-(0wmD)yh-p5-s__ zM4$d*yQ>c-?IyOxFk5R&5^0u&^BOUMFO@^1RB@@fBSK zzJlpjABtQqIAi)S!!**%g>_qoant8U98mtOo|Kh7hnBDp>krM(WPd4K9d{IH{P_i z9`)SQ``k@z$Em;i>#?P%Iwc1t_7!0EBsCf%KSX}_c^ENORNhApXWzUrYl)Y7=;v%$Ws z-u*XvQnfipzc^Zj4Gu5mI8%0J{L8>l$-E)Wi$yfYK8M;1J@6iOn!zHOLwXJuR?}A0 zMt@jwEZUjZ&+Jd;bF|Dg18TX}4$=zb5OZ{j=R z&OZphGai;sr;I(=I_BDOqD(9x!dtd{o3QQpCH#VvEq)WR1B!&eq9+SXfe@ld}Z zZF#JOOUnd*pM~eB`#qHnK^Gd{<*pCQ)jaT?^=Oo5MP|y0pL>RC=GA&<8Q(m1N2fGh zoswd7^Fo{AuE2vH_qjbRq#k*zP}+_@eCc$~g6zuDZar1=?q=433f;4 zbivt=Tt$bI$;wFU2F0kxF@pS*c&Mp*6j^bmi+a`+Z6(*?j}k@jKsOzf@*jnN)(jr# zQG(#{t2nNVIN^B>v=}K@>FKK>X`L_aBSNwa_IRprybYGL&DUS%wIRJau8?(wGsl4^ zA4WoS1CErNNdL?RIAFikj^^w ztLxiFMyzs$gA?|jq7*NF@WnJbOWrF#GC{cJeE`SFxSOr3V}wOM-)su}FY$z*qD)d| z)Y7K7bK=W0m)^O=eb?Y2Q=G8j;)Iwx_Jx+w3Y~-dWIOZ*O$tvh_v?#!mp*i^&dlFy z-=Y_`|2@r$rYUq)h9xaKKwIln#y9v%T#BpOYTwwk3>nj)=AX}}&MiC>w>w$=-th)s zr$N{q4jeQg`%dEW8ir4?rz?tkp{NcAZz-@rhnkLqot1CdBmj)U5UPNtVsK` z-z93+)7^c0bu~P8tuwA(WqEe-PocCE8baK~LKzNqgW+o@JrZh$25+d5(~ef%qBPK` znIlgsM23%_YFwiix~XTorTe(!I?+ETwbL0B?=r2le$$Eu+QH|g~pz6UES-h=NUKa2TSfqFxwlG+@a{*hH{P9*1)4B?C%iF9`*&3Jr zOD&DDGEnc}yjgqRa1*z#U?G36zozs$_vcGh#kiLl)rLKgZ3=Xd_>%VIQ{)xPBCnEE zdmq}ZUCoC$&z*a<1G<<{kb_d8vlhTi=7J~ne# zP4ZWp$J=taZ=c`G_Nus-!+S{OcIHuXl+L19@55h%YM0*nIkv~I@lI%$!dXR$w&(7Mdkl6RAOla}_HT^Ft4OWkSV7qn(fJfq^M-G`l8VW(n?t)>hT zwm*$=TF`Kh-8~}0?ftyE+#fryl{*{Uq}qOY)A9NChQdLW*quxB&*kjTbv3#Xp^P;YWlx=S9Se-T&{i z)QzhW7G=E_U1ja#EZ;LLq*iX_;;J3;9LUbF4~}7C&C=m}b%?cqy9FK2f z@yXUX(dycbhqQG1SCWqC*xc;8!De#mn(dZ6RpZ6xrM<&9Xf%ID8qeD34ucx?T&0qb zs{7%Qo0=3??@TvpNT|Eil=>}nqO5JJg|)+>5OK5lMc(V|H+WQOx}V=+`Qyz`lUO+x zHtntC-h|rb)zMAvU8!uJT<>o=G5qk&4VAA9qJ#D+s-ku8{VQH>t~loAAU3`%C#Ftv zG}CG#e0}G{vJE+JY1bau|JUQR+q6cZzQ||)(T{^UnWi^gl1q%E>jx5+)LKU^pW5On zXSZr{bgkn4ThDWzu{l@hYvuVQbMN2o=J%*^%YmWA)uyy#8)BL2RvtHwUMlotlK0c? zJKQJC7>*Asnh)*SW3|#Cu`%E4wvwjI4VH=Qb6LmBk1utU3La&e)$gwRFM#S6 z9v;0vq|w1!zS+RN*f`2Pf~7B1xk_2wrRLap?`?w%B~>MEce~F$f5??w$9`zkx@qX^ z>7mb-$0d)WMV#kFSVY3)TsWCFA9FgN^xWvqnil!&$rQykvMa03@SZ+>;S|knhnU6- z^^F?yJ+7X+b5Ye%`dn!}^VuhEZmhZ<9YxOlKX#qdEPEXMnag0JYCG@3w%AMCPe^RM zA|A5oOWTDDDd*=0Pl{(Rng89@IioT8Dq~dl$3~`@MW2_PD^u9_%gtx?gC}<+rdBI$ zYS7zu_G^A!d%jPp<&JM0*=+~ouWJum(N+Xxl!fcPZdUxR{%Pl_=+RT+C*c_bu8-$$ zYW&f%!`{-d;^X|}$wyZN77W;&UBN%OS3-S5XY`fbzNgZ*9$9@Q9`WU!@rpUNlil@QSGHMj zPOh}io^_SuC-bMT-zZb-+h&&VdQ0ib(9@z?CRb=)72?SofoeWhLpW?ZW zczOnTzn%U}v8E~Hu%3Ar{o|8p^sUG!$zO@rb?RN;sZ2^w?~cn1Uhr#Kz3${8vs?M^ zwVT`u8_V(+HyQA%=}8qEZwq_4zbRz6VOVg(V0-yWHF-17*o~6u?emlFYY3elG*fIz zmVRBX;6(GVNWQ_A@b2!g?;eNqiu2kf#%fIl4wt3tOdGoS`-O=2QsY-We`LnR_r!{cMUF#+vnvO8g_p# zuXEMz&~BBdEEW!T%VPBoUE4ALn@4x=I;Wiqb`KmpICiT4aoWntUPxH z81)92yLw337Z>@b@H=1A&N#)Y>>_TaN%p-bKGj#DdR@Uyo9ru?IPcr>6OD%9A(osD z!j&x7j_rbz4{d#V&zsjA6AQM;Z+(8q(Oxe*;i_h}-L~GV*`lvBDrDR%l1p#4*0O9J z+dHjU>e^gupR<4XaqxTR;e@!f+lQAwA?e>*B(&n8!G58umNpMe;UlKAvwT;PWLdXs zVZHZ-J8N$)zZ0#q?_0yv<4@{Ydf(ISW5iK~^EKMH`KwblvWt%z{@|k-LyfNBj z*YPl%y*s>E@OhTqHhE?j35A8rQf*ultPML=yo{^+o~3&JXUND~z@}ue`^e&Zg(`;y zVv1#>1J@5^8~1ijefjy*fk85+#E-*Pf?ax9f!OMLvrF}>h4jAd5xrC!<<ld}tc z+vR#ZvHa|3TbQ^x9bLTF+8AEl@VX~1$@@W=@V4N`6T3!Mwr%Y9|8j$7rP{CLBT+hB z%eYToa{JkXFRrzfudzR6tG-G1^S#>G^cvFr*D{Y3Uw_@Z<#Bwk^sCN+MKzSk#r^yE zKWcM$H%Z+!Ft8p^8tC=EneLR8Hs+N6^3{_tYg^Z8Ti1#kd7+`BD`P)=u}=sr|DYel za?!PCJjX`&{c|N-`{s?$?w^#VvDF>fmrzcr=h|E}5XEk@Xl3Nifq12)s{b19C{2`5 z;=ZT)u1@HRE07SkI@80KXOZH{zjE`h1p!a{&Xse0PkDx0^w)CR461Pdx+2{^<(5J>j@Q~hgKnqMB;@*8 zHmqwnp7`LQ*Fk+FhaQV<9N&3WhmTeW9J)K*aO0<-W`D+yTJQJ05}94PlwDmv%-q(8 zSp~$N8}CVpI9y`p9KQ8d{&)U!y8A68{6i$YyhbywQ|Lcm3VI{l>1HIl% zRzN(>6zv+D1oFk1tFPtQ%P6qREgzcmDhEL)pTM0Ye~lV0tU?vsJrvV5Ov=4U2vh$-E? zJ^6(6QYl3a7h!kpJLO->KEpoQUPZEUjnr7&4r}{Wuf_BH+3tSkYI#^O_Mkn~(&dX! zTa}f5*_tHz$7QiYUeTGC!<6_E{j&YS9V>YsTAW|YK~pPwb?#|ho_BHP-Bp#yXG8_LUPHpX^P))f8T7z-;1 zvur$-sNCf*W_ob=o{n4J>P0_vlYH~|RTIWS{e}Ep-zp7R<>tr*T#=XZ%Z$59TXFcv zIvI`de7Ezd`|2+`2&x+eWI3L)dQth|DNo(cS4NliWg3$&Zm!KZ`r=OcR)42L_cPO# zvfEgiLx#i@GFw~Us|1}({IF)@(WL|W55*nxSD)?wY_r6dyqjz6Juki5xRwaBg6=d&t3B;|j#EUDgSc-w3IaDRrD zV~}fwjgB4T4VSychvj@LO)|eZq1%U|L(k7w;;|3Y&kR|+IPFw%!cc5*rcCg8YSk^D z+C@(vu?E@Y`u)md+UB#^AYVVM_`vqWKHpsp8s-f{)Q{;6!$ZDUr|0ALmCS=qFZ9n& z*q&r^DzVJ~8xA^X%WaBk&8Aec5rLJRC%e^5r<0f9BL3pS_Dr%S%F7^g(tNOeV)KrS z=oeJkjLjvLY&KqdIAS~YE(+$Z=v%~l-M@Q!xw)K@eI9P7CFIgcHY}2e?Af~W*b9kIfpCj$;fMor-fvwUngrd^) z_C651>5{Z=uV44(g|1t9;?JuMKSXNBD$j@&iru`dcCs$;^vw@s6@K?E`{dm&(z>Qt zo))b4JP;?IcCN{Hyo(n7Jf3p!UeWDk2kyuo z;1CfPIAN+xa;e#RW!-=0GonVcL(<1zdC#N08_sY&eT~O$dE?fuev2C4;mGBkL3i6F zchra8sTxf(V(sU*tTG&WG0l|_FaAL~*eTDAtK{>M^~d~-+HX{9m{l%ZcX#Q&L=QcQ zUs3k&w@chD6k0GvJAXFFe${t2HkE{=Y+BV`~ex z#+QGl+5JczzLfULe?+RnyJ%X2#UV(1oPmk0!)PztQnd$SZb4_No5GIBs4kmi5VUYj zc=N+Q>%e<~w|JFY}|8yp~ z{&LJGADN}xeV#n8#-xBOPGD|@ei3Gd|&o@K`g0u-(j)EYV2?ZZ!FI=9x|4~P5Y-?ogeT}Zj4ADnCuWeN(oT}=2pBHBF>@SjRl>6e8 zvef75!W8!f&CT-jIVuoz!twv5gUW3>q7h@BF;FOJ2YtvU9n!U($>!IyG+U&rZ|7U z(?z=zZEe)JmK+m%`KW+;-p80n;Jf>B8?H%)SfLy2HkA4M+O7@k7>%45c>0rd_x$&+ z6?^yYTg$C{l)Y7LN8sxJ{0CniE;Q5LAMR!2XR`msSWEk&1ML}Iw3rIp$OhSCJavX2 zl!Jb}DRv~Ev{!iLy7KwzeE-}N2@*T@>DheGZuz#1&-UrmUCG?`anV4g(+9ZP*rQ%Z zN~*M`EMYIpvo|`fBh5B+^N_q~NJj0>?AlN9<>6l(7j@hp9;k0x5ZGKQ5wW;QH0`y@ zMgFH>Lxjfe`7mor=u&il(Y!RX65`pVrx&n?Cccv!{g4o{A!6u$t3oeZ@~-G-RYzQ1 z7J1xV)jIw~`BnM6I~F(J#9fFnX0<)LIq#|W!%C0)hjZdAWyH?0f)Dv345 z+rrI-7K{uGV{rVh-w7}%!wR&ftCZY9QiktsXMbJ504rC9&Ee~{FylYp>^`a>D>GqV z@lIBdHSj;wE6IlVAA!|mdDP9!%8U{#$s9N|T?J6yIJ|!5+HZ*K5(cecXT`r*_~SV5 zBH#-@v9lxfi*##TbvGB44XwFIX8+?*Yb^)Mzt(!V0%nsDz{!fHXL-^6W2>!4{o59g zd&_wq7L}hN7_dO*bzq+nS*r13q2_1QNR!ZWD5vh4pfLda{MC5 z^_MX?)yEZdYRHm^=eRJ>UkXrLI=BKvq<|XYM96B6r~CyoPce-92pwCB2{ z$X_`}T$eP!O-im4?ojV_Nh2JQX^_O*{-9ffWQ|*cRADI&Pj8aO$4-s$X6cj6IP^SH zniybE5yEIgk@Vla1e#J9eVdRLLS9kQM32jfl2$|xp)$-Ug$^AA2o9N=oG4jIdED{k z3|S(_@eJ8rEI0&XP8gkQloPJW&XFC7q4#GI43at6AR<@OAR<4Yiox;?Vj?IdKwcQ} zEtF@j>0BV6tNa_U0X(Q0cQ`4jpo;$i9aK_atzSgIUwst1xFp&vr67W9;eFuVP6c*U zBBem20^?T_CFdz{|5dl(kZ3ANX?hV$r4=-ZENa0dMOs1VPsx!1F_C|j4Am)#Mx_-5 za4qm6iDYFIxPQk%#j>e5AR&dWJy&E$?bb>hC|QOc6m(`ul;p0(ff{~8cp@@)mH!^( zSmH=#y9x`}oN1FPtDuG#g^zuU$0|Gr_sJ^2p$LZ(9LhEOWK|Z{VLCN8pQ-G`2Sd%0 z9u;ByZCa>QM^zL>zEvT@&&^X6t;u_<@&OOqFGE8NwQZiqR#PT8?K%63Naa9YoWqK7eFCeMmd0Diu0=< zP$W@o07Vmj7w3flii0=@!_1jr&PhlW2?tUr=?xrQnvQmiBq4^GSBbgA>!h@GGBGeL zXJue8hI7@Qe<7rFzXG{*s+urjTTc{0%D&c;C zSqy;%wg>d*-wpo1Em+fE3i2V1QV0J_=2#fcqg%{FY8xqBcu%3$L#s`w z0ilRu0F?WC9#)^@LSG#;HBtL-^Vb`}d>0O;@782N)DQ{>-WyCqfM_8IxrMCgPzXf~ zPrqi=d|(0#4Z5T09N(D~%y&AbJrP0?!QJqNf}3wTGlXv_MFJ;wVnnXd3~?`%B99Xv zF+$pcP6(iTyCG9-qt9~_5R=w37Db!r5yg-vj8vfMF2S94b0hMwozWKF3=v^tkh&S% z46MY7>+URQ*Jir^B#h8^rW1UqZ!<*@FZd@$TydonqR49t-6D7k5F;Kl7EN2|7M&Pz z&kHBoe1y@Vo%FU{<=rl^2G;&5@FqgrIhAMRhiRiDVKC;gY_ElZ3%>Pq-<;_(L7YfB zoL;bIIFOy2ev@c-I7JM%I)M=uVY3Nl^f{a!7DoiIvXQe{GFlr!AqHvSokQ<^xEUC- zBp4XX=ESDI4>Lgx5fmA`lpf5_WD0tc_iSg(=i-nL{h}@{=&HK@zdkr zt_qHYbKLID#5E@)=`Al81?KTt0P3WtWb>i+d@Z8o4`alwTp$ckcN9es_bWMms;m-* z$rM!Q+*VIK1)Ao_F`6EhZ#0;nIfI*HO@y1*J`WbhZUz$hryHLAqF0|4fug8{J&6?T)yAqLZq|-Mhum-G{`0C&fD4llJ9* zJ+VAfYdirxyHM%xN&LfQFw#f!w$UeWvu)sM^e)obPBBiOZe>M9ky^x*7{U3aUk9Su z4GCM!X@jKuxH|f^jb1NuR+|oKgKGRgs%r4#m6uXqom&>?&mHjtm6ZK3y^y(g=(6rwjr>#!>35T=>E^qHEo0gB00$I%QbBRkUANAC|N`+)g4i%Hr?pPDXU z%#_A&8*#+DpKc?w9~hGMZ-yOh0RT@Y8Do~{{$aZJQ^av*5@Wawa0c-jF~Swv0eU}O zeE=wLL*x`kF~&##|F%A}oRee)Zn5N_`C{9xv?YD8Xkq1JVDOt`Az*}+u^F#CJF99Z zY3Nt?U}>{MIFf|&>c_{z`+(A z)kCxddVdmG^@GO@;;@wa`+Q{Qi8-*vo9Gv2JGLGJ^pHa${X7_)2&l~_4AnrkTNs7@ z&nAKbX8rpZiR6PUCQK<0pnm4|Txt|%p^VhGGV=dpW@h*B%U4+RHj)_` zsI!WJCE+&0?A9Tej<6r;$1i&nfQ=1d7#mu1RC(_as+{*3xsX;8z1}R6AWNzH7^R60 z!kco~u{IQxZcz3`3$iG}q=`0y<9o;`gYGBO%`^{#+1&>O6?K>*jhkKTSfb#D_)daZ zdW-A%1PB8!`DxHlZ^fn<+Tgh5{pv()Zn z^aZ)Wu$c zYVBhbK)LC3>N`e-_o1;g3I!b=VC4N1v0oZcS_2rRk1nQBWbm-uE!Op|g0OrctOawz zni|AZSKxUqN(bAfcPRfTRBCcM{p?VRq4Dnt^d|_ouJ}73X#JM7w zqZAPm??;Tc!wp6;gGXanX;k#_)9hOII|fw#CnD3!Ul;}dq;n6W)_ozUU0vGvwX5~|k_MHNqH2*HJM3ZhVtIgp4RhF5fU7}J?G;9)mZ^xSpzmubQSFNq}g zC%-$#A<$Mvlz#$7&XG)t5c^-AHaYy2<4rC#x=~Q4=nF&@S?{@cySOQ3IFNbcQEQFKS7BI0X5UE z_9<&#yP;784b&h=D7+A+*9jh6eh%2ugwa?o1UH;Rk-|}qlYp9w5~!>s2`>G`Nj$h) zJnpl<3XJesgG3geQJPh(ep;LB8e+D(D}gB(BlBGP5b((b-}zDmdRvA>^g_IW6ds34 zdqM+kga(>>hTSTI={w0{Q&!NWO$FYd6$V;!*LRE2$6Od~z6vB_+QIv1v`6O!FXVIt z<}rTcmj`KTDA9R5m%)uYsYvz&v_Y35RzsR-LYW>E&Kq^kKS}T>lnMStK7C|N=0hr; z^KdkSLL#GOrzlc*q1rDJUFZWtPVEnGp+WbID{Tq(Yw{u{=YI9yN}_*iS?FYOG8#b; zS-B=ra`I`YMEHpfDm@KdWDD{;4dJe5)*`O;221^)?-XKSP|#+;zu@@O#g!^Bdl{sC zk;IN13gEgGJ2Q3uP->G>V_@J}|M!{cQ!}BTSpa<)EAMgvWEwI`pt;|`%QWT%D3=2f zQ8{a1=^`h^z(Dy^B>dI-1J}N?V#q9$h_4FJH%C!t5Tb9ui@Zw|I`L zOCqyeIm$8dpt5RuK4#~@-$$8Q{E>4MAv_=X>uac3K63x$^I3kDez^t{JMZkhK`c!E z^Wb(;iLORvQpPjJGuVw$%&N0IbeyLM3fyXS7hu=tklo2;GTwFJ6FHKg3vE7p=jZ*Mf}bR z!4i+*Asox*G_L$oLe=pElQf!iU?O%N@%mhK0Yc5Tp2b&Op!cJD7*)J{78U2lB#z8W z>9w}J6nN20YKq8hd^u_4ZKxFE&KlPd?lFK{l;J7*=l0k%SOd3nXo!2-IR{qJHohRm`Z zDTk{s%q>R+xIGv)i&|SjQNpPNj5-%Ni`o~b zGFn|pk;fbFOz+L;F&N|)u#IRlM;|53=*yyy=}g>zTHsqHMT+t846TAzABS4mUO{i5 zEf;}KouM`VL>HiUH50o7>;PP^+s!GB6V2#LBa2IL^1v#>_Y!!@p2dt7LMIyfMkOZa zcMWZKx}n#ZLIQIyOm61mMj0hcVkmPPg_{JzbF*3TR0hJ3X^x6GpbYhf=DtFm~E=^&W)T39?| z;0OkG&4BD^K^;X2Z-1HE%QS2$@ddi);yEqi-#tserj8vK3fi=jfwb#SQ9(O=Mu z>C2#PA7B!ft%pGIP3L+j`7Oark1(;KE%g)*+*9ldznxE@FJQZ4x^p~{`)2f+(banT zn&@Rc^n8pXp=j(S@$YT@Yyqj4N0+%=&kQ71OuC^AYUNDa5vAzd=nJ z%+i6|c)2kxMKmNz7M|0Opjemhya`Ii(0>D=0G&Bz7x)OXX$dkPeioax(Sq=AKb8og zv8xotIXLhmuNe{?(dOS~oP2&1w_iUmG2KQ@9Zu|NWaU*KBdoymFZ zR2Vk1NI=hUofDAPhFPV)xho;DuU>^s-zo?Jd`o$+sir`7r&1XQzq231C;31n_$(M+Eg@Tl5%5!W(1ut-^DolHE0+BoS=AMO^^Jet<&HuR>@UOMK3(Mxp z*rU)Dm|-$io>T6{d~7n6L3{4~9u{!_foN6%nSLJ|BWd>RdiNeh(&P%A3=Rwr!0uI< zqvA5#J6zSw`uDZ~$+f})1{-|X?F>u;XUJ&LO|mrF*-G#IJdXfg4sgXgiYRJmrEucf z_gev`0i6GZBKpsi?}Qm$1a{9P+=^jypYE%aOG}bz5a7o5>=Nk6Zy48>EhM7{njGRh zbAv}%K_r*Lj5b(RVqxMw;z7CmB3X)iPNE2RbRD=xEl#ojF(}gKLe$EAF9 zR-4lV3^z4BpgX}UdBHg{3JVvMMw!21-1jzs^Q*|xec43X6S(?{^Cb_9;!SX>eve@w41+*3TjJ?E&x z==pCL_f-EI#%}%lr`EKw_{KmbwVEpQ4~s{yPy)F0_DD@%~}Q;G`8t%LKh z`3njk5_(FJKr*ec!`b}={xiEyhA-?fA_fT3+iFZ-7ODS7<|W{V05iR*!G|h53#0kB zAH8RwE?$QmpHcjo_B7M^`wyXRz#Ts#cft(4;xQf1dIKv*yqKU)@JD)$3b{crph zhC2+o^o3UrhLP|q8f(z;*6)88NWQ$)~N3~o-G1;2Vl zF(Jt$&qCImU=~CQh1Cq(vS;+27p#7m6`it1ZxiA@-^-y$4k}qapA+%|bnFVpK0N<58 z;Jc@LhLgnhjQ9}$8-TNiW?(KfFu}}=*1UlNC?95ER#g0kqDPwkh#?Ln4MybD4|TMx zmtsy*W+8;!USLewW&}PY`j(jFOk@% zD4M^QMFOiaJ~Rw8V=;2cF8^z9=Llh1q{SGSDn`IVKH3}X5=sT=ocnJ8pBr6|!(GMXFU~rNi0ZR;1EJ>;h z2qAiyvWRqR2_du(Q#?sI)-!?t((++tMc(hB^w$n^VS$YI;JEWWIL>sLq4<&X2T&H; zL?D45C`(DrVT9290TRxFvf#j2faD4hk(k5lwX#XksPdK|L(JV^*f9Bf=@%_j(;;unU9qcfi<3rWm; zXzVjYGyMq~=8PC2cz%Z3ItNo0#*}^rra&DNR+3J_)b$x`SAPN9L@h#iWy;2ZTs~2x z(CaS{3r(9ayk^cOj4pqIW;2=qSiqcsLnfeIE-piiU%}7K35qd^+YJ-EN!L~p;IBY7 zUUXuI79T=i!SK^s!tm}_=t$#1i0>O^Imv$$_9=>@zQLdf%qN8AZ;(B;fDl3|z{_oR zs3G0&;3cP!fL~l><3wA&Lp?a2Baq}OHa>Ju5EMHw#quHo9;smyL?6#;aUs5^Fv+U@ z0IsT-;JklO^qG8Mi<$o$OuZ-g*agwmA8=yGg`ZAfP{vQ-!#U`DxhT5;TJsZl3Ha3l zZsH-!&WjqtAjKO$!LNWEdi4|THwaW?N67~4YAEp(gyTO6lm`Xvo}{>tOsLqW68bR- z2~)KQVVfB{H!8INH<44In+uPHnu0O4ej)ZLhe}tl^P^wW&;pcSK2_$J6+P!)`A&g8zH(48t3&(7!3rN=w5`Py{ zO-b{Q5=z_i*@aQV6cz&`6=sD~h>t|oK(ET!IT4MKs!qCo217K_GfS#8`i$v>oyU-M zr1%R26RQEtH4-rID+px4bqJnk3Dl7y6To>@1iU$qlN*_>h3bgMU{puI?MzfdQpQz6 zC|}IOjb1W==}I!_*fkQc_8Cq-!n7WPnVJcB;W{ljq`(YF*=+(TUCP6qVGZU7F?4w= zfwnPIO-QF7V67sKlvt>iq$+q)9wvP0fjTtzhnUW=fPvf#)W|}$Wg2_IPFzT+vQkZ% zGGF78CgK=}iaNzgm0%+G;E)RHW2G80vG(JVEV5vu8Zapj(2duBW|u|fY*clo7w_27 zgDG}tB=?P741@TP0z0@l{}IRa2xuP$O?_fVi~<~D$efXb59M%y>N5V*zv&^2HivZq2Fr3%%}9BIm>`b2O#_aSwa}nBy`kC(@F%gK=*fnByP+~gMbaWsWv2C z9khp=>OmsS$37*|1UJ=~G|w36@KC)-QfAnvBwD@fw}TcQa1gN&RR~dGdUF7no0qCj z+PruMk(o8{6L~>rKvR^)faH8X@ICuz8j{H;^l0Do6g9Yf|%)yKf^Ha@9Qx0JVQvscc*T&PHZYDCI&CXm-_paQoa}B7ly_$@WDP6 z(eB{iY2x#0i7<3M!_^$fcO!=s>Jx@sBq9;N2-SgU&vp*%LRkXs5}~>?9oR*eZY4sB z_}nQb3bv;X&~XP*>Pp55OitcLNqaIAd~fBI+~EhA&s`| zfU43G2R}B+9B9i44n?$C9LAGK3NA^a8gZ&NQ)4|{VwQkbW4eX-B&qVqTY_p!N^2v8 z=Up6Ix>Cw|^vV#4JT!%mi=xA{1P|a>x-5(xf1q zM`HwjYy~G9YQr?SKg}QtgyL#xP*nIl1GAwM($s}ax?kunC#0#?OtuqrDUpejp6>w} zuv_t!jvpp-$`JkrF`RRXj!Vl@mywv55u-c|>`_@NFY=e5s-iksNDsdL{tY{jym)5> zR&-j5Q-bhzNDdUeMKMkRwa8HoNS-p7;7Q60E-L3Ccz+?ttM;{fb zOGy_N%tAbs08z6dkljI0>rF}!hmY+ngsKcPdx8B70^fajaf%V)T~mfqJ66u(rj)5x zq+9N@kU$lPW1;s9B2So(tAJ_bIs%?IkGh<+FNhG5=Yfku!G!Q(9z=L-BO%zUQWujl zLkOW*72>)O3VTpgL3BNp6Y|^6$wI6m6x6`^`rWfQPc=AM9oRpE2%~FiFznVJm_e9P zVH&3pT7C!yhl)DbUx>#zrJ2(Cz!0{3%KN``3i6id<9qO(JlWZNRL1%3kR(h3mJYJh>!sJ{>mtJba>0kIiy5#zR zQ<$*v&;c9SJ2)ixqJRa|sbU1S0wnRXo>h^1e8TKKkI^kN*$Ok9HeE{oKIx z>$lVK?+3XA5xW7XF4%=bVu+T=#fMg7(1mz9lzfYe1)Vp5X>lNLHbg1q5C+`GnAB3_tmeGp1^jEEmln7NizyLSS`;T~~ZGIhlaJC3Xb7-vkD<>nco; zLW3sMMI?4#LRcQcEr5z0VbvI93I?em7%YdLZR6%cwWSbOGX{T;z+h*R?kLrJhNjGy<_&8ZTM@D_SgIF$j)iL#Tq=?jn)M1|k6np4F| z-g^xmlxG6)a|}NJlYqGw!!^nqVZ?6*I&z9U{8*pjLvf2i zXR{aqUr^=|LamFT3{e>Z;j@G#?OIh#P@6UXrCEZNygCM}WAmRO32uJ_!H=X&CBTzb z0Lp0-!tYs6o%BJ6K>o~ZdzOH!9rFnoE>@(`TMY5lCy+mLob^(G_Zbo}KABwrgwY4_ zS-~Y0eJ)cc?KCAc@M$dC8f1hLcc-MU&82;mbhf-0?ru$Qfvv zE6b?rjE1P&hAIyF=A`<3TmgMA<>4Y+N7#a$#25ju`o+V8YC6GPGX}c}p&nc4-Fjl! zrx>!ggD&{XkPyt5@CuAo6|;f!S^a^xy*6SH*;{D_~76 zRfu%#VO->#$3DeSS2ei8tM0ZvxT@?RbU$|U!f&@7z*RYH%3#*7Irx~7hXc6CpPE77 zi({;X?l{1#$iN8uGuSsd7Cd|ch}RJ&v0y$rbWWO2gvcz$5mZm{)A4Q@J}%USO{}*t zymc=f=S<<_L3dWcoFe7~xWaz8O)Qm91$jAv*NG%P;!7Z-EbyA^2G+MRt+eZOeA z$)w+eOR$J<=TjiGvQ~oD*cUo(#>5Y|vt!nifRnUY5Wg!d8_b+x#j%-{5T=}|oXE_B z3a#Y~Iu~HLU^)PslLYJuVT}uQ3F+k)OfW*PU0`N0kHLgcQqWH9QxlaPf)h!tD@;J% zu`>w0YzsH=JDP;SN+{NiYDYSrObDZHP{^{=gmAQ+UkvdEL$KT3!634XfUjTSmnCu- z!r-gd30Tbo)>xNX2x0mOnBsZXdw@>Ga{`_m;1@*NSQSgJ0(fwkfPGd`t(e|231Bs> zh_v_xgb<$#6gvz`O!886e3OoV2x4N=f?qfY!u0FuNfl=@mzzzNc~W(m6qWu!QbY{% zy}*ypd^&z^p@1-fAIEUsrF7iWSwNh?8NC6QaHr$vy{Q63djw(li@-m)71P%}bV<+$ z&b3(ybZN~w0Z#NWLx7)fc-99Dg-`q;m63KhBq+5S@N>m<+RSP?t+hKh|*V=q`x1hGUE!ES6|GooCFQbA@fUjp#`?jq=f1CkOsPn4FsElL zD}#E@aVV?rCqs#yrVfrgXpzjA+rG-oeR0rX=Qo*pX6c~hRS)Tpj(?<5K-3^kEE?k=TjA(|NO*7@ zhdlR#NC-{C#_~gByPr?m|My+Qd_r?{$#vywMQAar-!I``Dox?KtM(#WT%dyp;Xl z^PEUK2Jg7#P!!moP7J~HrT2R@Pxd8;5c)a_J)H`cuKGG8b1E99v!ujfnDiwn z{)LArK6%PeGo7O&H5(4gIgW;tzH~1bj*0N)`i>M~>!hLH3CPB?rK20KgjWKrHDGZ~a-Eu}sCCd1uDNeG7N@w`g$xggSi^sw82UE^Cd@c_dkEP7rg-+5I1zIwm zt)Z64)T^JJ?4_NJ{2PE-5;9q^Qeuic1T_$luyr$~BcJ-4!_FI6OA!0J%M2uE6Q z&&i59PC#Af-EiVN9nL;NbM=}Cdpa&Hjnt%RLPJ{wU*nX0XnB7r3XA73GR(R~j5Et4s5v!Dzp`7?M5i^&pMx1!r z+S!JzCqaqPlaR&jP8{Ao3Et~}y(uCEp#*mS5!D>-EJt)aCPVO_J_fv)$q0cJ4E!E3 zp(B$q(_S|G->`BD%1<6`0FRsk!Kq{Ph$UT_f;HCMiF!m1k#w7iqWewP!g>qF zCx;nt`D_E;t!2(moTr=yUbne=UNvev4PG{Tu>taGt+PGv&5KMLGu*1m_uEieiuZKz zJeC{qdTy*NWfJ2Bu3$VR?VXM~HQm68DVff;^!Wi?h7|4eOM&3NEsWP&xVVQsUC2Do zIglQtpx375@Knc+JKOP8;WH2lPCLfoE5D+^#m_OtT{i>yTr1>o(F_#mdYTgfGcm(C z@+&8%&cvcNzepCFiAh-YT~54uf)b>U>&<5&tF9#+PMU?NQuI?!Ec)Q=PE-9V2g?d3 z*zYChiL+V9z2d~t&oHH`N@mQ4V8Y*=x4W9snO@I^`DcG}W_xkyftk{bn#@5sVdH0x zq|MPqDAraOu;0(Y^n8vneVdEeUI!sT&4@T*gNB2p zHIynYyK^37Edt4XKGv{*%){~~rUoOrDy-@&Y4bIF-&{N&K5||InL5`}iMx+hpcuOa zcr~B5kn!LjEAi35g&XZ@@d8~3VP|IwU5N1Jw*`3P1G+P!laM!vJ$-1`LQL1n#wu}w z9c`eQp)|)&x-hpnPJ+BxL_n(;n5<-*j_^Hp4z7&Ruo~`PgrdVH%J|f|N=J@crUKVZ zk@3U@N^g#j11>a7p|n)Q+skKBd8)3v;?rCu+pt6pRw~_iW27!d@?rBiT(B5!FLya7 zMlI1*qktuFspnSfkw%K(4SK?yE-!&Qy0w=fLA-^UFGYUW4=JUsPn5h=*G#cHU#6a2 zsBEt6N3SHNfWb0W``Sm&Q_;$p?>t`$zZF(jCr192UjWG~fLq7w$G7~Eg+)I&-x za@J|avh$}0D|NjTmxEk*gJrLRS@&6m_dtcaquBN_0u-*8R#T>qH*rz&3~HrArNN<9 zI6h%Cb+P5lWsKRmmLan^9m8kc+A=ggyi&9|K@k^x3?xkXrjf3u5%v?W!YlSGVMb}+ zj4}MEPkR?R4kY=kj;oPK8O{^+j^-_3OFI}`JA%U#JD?fL*(ZCWHGr>0GT4pkuYpZ$ zYa{FN_$L>8u5vDf6f>e^{0XFllQ9&u7N097b#N$C32wMhH6pG^I=7S>lkUZMgi zd_UfjUO%Ix;mP=cO$5wePG(OP)m-3WN>6`A+~F%t_!*&;&~>`nisma2KG^KyMxF9S zd+v#89aQjNDdAcwSqFniT_aJxB(B%hQS@9Vr%73l3EYhJGIeD=@+;clLVstv_|UNX zm7cx+254isi#lz<@M4}zKX1UuSdmMAv1iI*D%^yR_QUWyJe0fxr1)W*^D+?d(jZ8 zD8rOX@|umepuSBmS230B^MF?2a;*xoqS7sxfo#8C32lRgzAkg|=2;|eMHa&z{)=fv zN4Fx;;}?dw?h{@esoXZ(kZ9xIRm@mLV`EpY_3LeL265G8s+o^#b=vFfYDImwL$L~{ zD%^oCvaL=Rwj-|$R~dim@2V!x42b^aAw$|=SGicqfT)v3#)~r0GEajgsx~#-fi(EV zNV?k8wLUA%mU4GMynmP^prRK$bWw_}O{yp}dfnF5l#iEVccQcY*Or!L!dr>mTy1!` z@-%~AcHr=bod{Khcjv^^!LA~W+6AW(*h`O~%i>*4_(Jp1F4p~{IPc0-S7!>|4e7(< zIWl55hOHARjKH|D*wvP?5!&31RE~={Y?X;w+xm1yxKOW5lzwXqBRUBave?s^-TYXc zjQ3!e+M8p5blHQ)W{(&zRdbNeHDSi?09+zVKDn#04dqN|2=g(?#m{7Vss zckP8MnR1g8M;^Ocl64kpzJD-IdT0E^n7kxlN+kHq_ z_M!^ywGW=6!>dZb#^8OvwGTPWdRxhI#+gAR_B2Y*fgf7>+0}v)tljK*HI`>XwvRPf zII*9NCP}J^zk3L+T1n92PHxtedK?v7i^Rf=b`pBNo0~0-iiV5(z|g(1K;7t7A2&zl zjd=cEe0H7bEYH z2@<8Ef?OnCn=DbzBpiSTSUi!^4q>fwe36?Obvl3%X(qPa$Oty2?y8)lT|2-Op3Qmr z%dl%#+EEg45U_fI9yX=E2hr~{7s{CsT1LtwW;P;EmkuKEe|#zDRUE{u@iaE`ptSTY zZrF^=3LA9@(^B;shQleuUkt4~tQQj|@x_$UXrW%~B zEFtU&q(ltSDBg|69zld)%>~Lnf>}}C9T~0o3w4$T?$&vbKKe+;r{%$!*}s&j>v?b- z4u89m-BDd~2No?O-8WkD_HY3i8UwQm;cbcXPUb6ye;+Y8;tr=Z@Xb z$6$#``0)@XGxZq8hZc66n67qLF}5uk=OdpoM+V0Tqg~lkMN9MXA|G($vabW&B}+qS zmC3Gi=dij!XF_#XRSs)yj)QkgZNQs$T-N|+A3gJ7KM=M|7u`*$TX6i3t%tfL-mN2SEtE^sC&!0TndO2l@y|& zg$?wG4TYS5L8XOrWa+^mVu4#!<%L7o9j95a*741MGEebPDjGZXDh;2xVXvj+_|WxjToK4o2Ri&H}#2 z;1<0&JU!msg%?@pG~j`KIlM8!-I>)4hw2#ozy5j{yWCE|sXSxw$6*|HJA*nt8qNvz zM0ac6;|tC}=7$-2*o>0m;oGJCQe}*HYz622y$QNWmKu5%@PU;a&OVDzj>FEvd(|gB z5+QtAqbI79?K#B9o3H;KG2uEcI)}^(w{hOlbI|e3c8N&Og`s(##{pS(j6ynB(PbyK zKd>O0?eL+?^f$@8C zSoNPn4brKIm6eH#3t-%@FX;H`nF^NjB6vC15KU=tQO;00c43kWI9-K-yAqbpj5Gy& z)e94lvlrpE$AN+}zEoHU%MmXDiqDgvy37+>Qrb1Fv^HNtb&b!+q7N@&(m(ZrM5$=g zWtdg9|Ap9d(IJ;1+VQt4W`x4~KBv;JAeflY~1GTE&DW6=9s|`U830g6EKsHC8IzWAgyne1y0FXD9K( zui}Hw(qhaN!-~ffkyRU& z9W}fTPm~2m#gGTrQR~R+qLOxAN7ZxTvSc_)@N1(dY^clcsM+8+j_ew#!j|~ENP7Br zq}n}%!&#G6mSlDVmDxSi0QopxWkHEIQ0nlJdf1+RWyn@s<#h{R*;O~u!s{n-;`u!E z$H+U#e(gE6v{ z=rCcy0-pY6x=IDER`5yXK&LzS8ke_(5&l$o2NldYOgVR1r1P}OjMR4_yW;?1lr0i5%h!~IJzW?6jUL^BHy6Ur+=>s3@C zt~|3^rAT#DL2vFOGYA?}Vks(l7WW{P>iP;T?AgT< zFs;xF&Wy>fukB$+d&;0`|1xC$8C%;J9M%wbh6BbY;F=Wr5TA_RmSKo{9Lk7JLYLZH zY|}&ZpnU^+{196R(i)S;BRo&Gq%Mzi{6ci;DBfRj9^^I7!{a|LPCCEm)nDTJkm51C zP#mWMsOw{0h~nd5i5H5K)Uu0XCow%v4)KtVX~vBlmoVl(?w6eg6P^vB8Gm9LQ}Yiw zA#;L)+fa^<`a{Pru9VK##mK01EBevO1QKhG%qkr3VM@ZExP=3-AHl%wA z?HhgL2ztzvrdX<-491R(m&oxYX0Y$j(UO2@uePFRFQI4}rlt&rZdkp((sdWwV6th5 z_)%7{x;p)G3ytvT6>=gtY(oJxt$mFNWAtnA4q#@;cn@A<2>H}fjSm*DQ3^HH!(oC? zBq#cGM7E8~!EPPJk;&zFO`f&ogkLwcM00q04>hKTZ;)zy2acq?!CHAH z?$c)lOSW1320q5IA4fF*LjYYfz<}L%6q*NSqZLNP8^C*$)E0D)!9x-mtfoCvAP5hK z-hT@fPL1ZU*>trdhj%eJ3fDg}=_NDN_8c~T2l#LjgL?@oc=~q;&uw^zF>v-|Mqr!C zJJhttG)6$@_i#OtGpOu6Jj%ZJ@Kh7#GNQX+JfGftz{?Q(0ecnB;(R+JGCx2(B8?H9 zgkP5NJW98t@Pxn760w+1vRox(!)CQP^@zj@PnxJa`WuR6r5gx*-U>@N%;qSO|A4n` zwVvn6;Vleaw^k3^kx32~CsKAF882iTo%o11S@#i&U(R4e0J$Gf_%j9#cEhhz6C4-u#3FGxjr{KV2zMn~>%+I_C5lhPcwe&oKGi zvz+ihj*y$A&(+UJ_1ihFD_oH=nN;8%U3=XCxl@KdO?iO|Ppg2mONjxm+jDg=6;#7Z z_=@qI%f9D1leG~vY4!!0*q3u&jG(cgg7eQ3PMx}AxVuG!4_=2Se&y-wDApOfvGGZ!Lrz8_G zRPew_2uX$^MGSGmAqW|1Bv|*-6V<6_yvCdsnL@J$z4fpe-7^(y3eN{{L>vv%2seXF z&p{m7I0miQ(;OC;VFsmU4drmD8Tx5VJR^K5KM5K}RYxis&XG0Mp~^^HR?FDsj2JMQ z6Is(V_ze?t$j%$X5$l;S&?gp%Q(rP??K4gftGGEfumHRziNh~vRqC?}FpaG)`qRrf z2)n+rK%Vs`F)8d8n+I#awpID+@3)YwYYDl`kL#3kIGR$7T6inOKw!uijmNbA@hX;fw-swmQ0 z3=)<}ggec*79)gI>~pjc-Ra5(jWbnPqc(%Ey^$e1wriB6azq~tvq43!|IA_MU1&-O zV)r70C#`3258-wOXN!k4Hl#g({}4B_#7-fx8qKwZ;LDwQ0bjN?3A^*^k;Z{WZ9$3ycF3qU_R%u^q$IW`p2qamPOK#iy!~&upFM1> z@SpEtXLf&=tXG*mvQuE!tYLOGRM$a_6y9L#q9JTe*$&8VEzSnJd{?-wBi@lBQv+Dz zW<7 zGGv6%b{l&(p{$(m%E)&`s@WMlRdFsh{Mouef0JE$q#AWOZLMwjS~5YqBmjO8x($B0T793c@~;W&Z7lB7VS)=Q7WQdi3(LU|V(NS2WHa0>@(Y0>-r7A0zUYPTwQW zocH zFeBOw;KU_H1Yye}OHxYt__ufD(HM~bD|*wBWWB9Em?7vO~1cvE;+@Bdyz z#KN1xC>x4sEIR-DW+7=6z1fClG{vwxDOBVa8?gesZ`gQCt9X8&(!jWJ|G892illlf zYz^h&6aTGlIt#aAp5#$W8&*AeM8d!8F5Mm^MA}nX9kGQX+1{Hr zX}s0^V_KKGqMPE0uQ%D&^7f{{5BM;>9gy&6D4nP)MhOqaw9!qMTM=s z@dJnTV6lzE>3lu0vyjjdhn2)16)tTh8>q*YG`4i4K1%TE#La?U))!kV5<1INhX!Jl zBCNYiO&;v+#nU`&02QwGqOT3aXyI;Oif#yZ5Iukyj}v`qh~G^+)DZsl(hxloF3iCW zJ;v_b2*cExL{4Nj!YF?aoAemRWxBT=g#^P2{2C*F>#+>(C@dULv0+#vc+B;-rX!8< z*4k%{3G{N}PbA=wUr72C|Gdx#u zq__#*Oz(7N>;W`tD}LQgYNkQ3ec=@`xT~-!i#?6@x^RMG>pEB=YR&}ky;3EzG9R-*39K6&PYAw3V2q(%f@v)$76}Xk7VLPZ^zeo>T z()4@aVF<-p6~>!!RnJrLFNLoF8||c=wwS(X+9TJcTVdz9M+H`BMrl)RulH0q8E z>D!C3!VPy0_KU_8<+>*$l$09{@jHHua7yohc4~q-D*k3aY3RZ>0o4>rYU&YJwh5?~ zaJ;SoQlle~mAD^DPUS_b+1)@H9ijJ7+@&MKh=(%4_ANNlFV5GNqGDL~tvHev19Q^h zE*+KtY$uxD%h!ym$D)Os#TvkAec*vbTeQurSd`(5J9gwG?o`C2-}dB)?T=!2;WcjS zWbBk5#Q{Pb?&o9#IBqm78f~ZTge;y6q1Y~HjNYBZRziBbo-n1mNxrU>9}n|-!34*S zWIPoenv5&FrR@X#I|Ck%n~@m2wlf;@(Iig1>MVu{s%f0)yU5puofNgDAwMBO*XbO# zU5*;=_(}XxxQx#oEDIpk{4jLgE)ev9Q|f|Rc&4&vASJHx4d4Y^bOn1RJX04qn&OSV zChSUOT*Sg)hcyg#rkD)$VOCc(N&b4e(^YICEZ$6>-Izh*(&KIz0PgIhW8Lr~Oxs5m z-GN`-PrcZ)(`nkVky8ugp6Y>$CG;36V^^`-b5zP|j7)AjI*@N?3x`^%0{LL%;Y^nz^43zvyRw9~3P9Kv(*}(TEC4=_`6slfLlC;l_-J zRe0L?Q5zNHrT5UZ9|~V!=SMl}N~kM?k{z*d^Qwe)Fo=|XRN(99O85Ig#}96Pqz?28 z*uZK7BCW+SMcI z&0rYs>FzMPiGv{!jhn3)k~Yl`arrG+pGx~Pe`ma>NsJdOG@Qtu4%Bss*i>gPZ1x^itT>E)cIt2YTKh=-2*Z9?8`_64?>`<_JEvKbJ#ZHRVE1}h9KYwas0+xF` znqbUo338;Y?Wmk|o6S&$x7z5(=UXMi@HX#>7aJ?4Y&L{0W}!u-ce=qa$p5z0kU3?T z*hcYZMimq;?8qh0;bLb+^kErYGF)t=c>Ie@Jsd7JRMb8yQ65zDB5rk?cHU2Au;Uj~ zIqcfbuadB&__?UYDTXUf$oQ885x)t1s*1v`VakDD@iZd3gl7?e+x;(o$3p zWK(A(8fxHWiWw=!D_n{tmN%7*gv(uZjcgM!l-b^)p^5MUmmW}VqS#g#{Rb{V#(d)I z6N()rwiBkjWltx{9VOOPYzP_?MqehQ`78}iJF+S1>>DaY71_@1UNE{3EK}@J*EW&VK#=ve)j)i1LM~3tk zYU6VManR@|HHqUfd)qP&V@HIB6R*c%!L#3s5mCY;ElnB^2O3(FuHdQIS=*nA!~I<; zED23AGt8fMNBMiw0#HKJ2s)UAT#cHO(FD}*Z435P(x3?#KqF&0kZ*BDGfi#wEvA@^Tpn*G&16hQduOtz6Qxat zhIv_}ngTcZ`6x8R4rZ-Tp2LtHio65F+fs|EC?~pr`b|YEZaPVsQ_&+9=Si3*_Ep&b>Q9Ys_=nIZD|vOoZWmW%UG!&R zPIvsKmA@%Hn1&X9X#iPMz3G64UaOL_pas)K=l}c&8h%E?;9tmfDwvKAj=fHAr;7p7 zf{QJFgqAm{QHmT7k=AIVZ&FeU+{Nab{`Bi(e_uL26HWF!1+~*v3t*6%7KaB&fiXFD z$F9gtHVMFWfdMWwd4?FM$mEnW+0H}+D03Ei_5KXx(4w{^CE;8NX<56fE_IzLHdCCf z8$i=X1Za4QD>IRzYd;ARSsc!wxJ~^7=-aLUXX-r*&2g=g+B6GJ=fV=12g-uJ&4SPH zTP8so>N#7iskpgLqNF_K*xu#YD68&<0P39?prWH2DgzD9bI^tUo9M(GxY2%l15Bvh z99YH8EgV@mN33f!heGFIX;6?CU_~$U(O7R-qLur|YAzN}8QJ)yI!tBU^E;pj*J6`T!FQuI93V8M+5%6Ww5lVXQk<{<+IV>&($hGUHx+I%eEf}Lr@e7vX$ z^Wk5N@kww#-192WK*|pZR8=*P)T`+@WxW9PKIt1s&q4#e*#}EGbdtFMH67z0NNZ~c z`WWD!B|HFloj{~sh+38g($Iyd!iYMwXCYP|<@M+dduBGIdW+CqW?_L;GYUV0y>t0fIka6Mb?*k%`lh0Se$jyx-6PQNKP&jcR9InY2fCk%_o{lwKuk#j z-3-Fdk&Dq5zsFFY#bR^C*DitNKQPdfy1SsAuQS&A?o_^5j8q(q3#9uaq0IexVD(x8 z*1G|eyaf8!8cfHQU=R%+LW-quG~UCg<5EmRUL?@+rD$2>(R6Pq>eX^Od8NT=#ir26 zGz^P7X9QC55@>^ap{minG*S8uaFSk=c`K-F8G7Ai8LEC*Cb})d$|rpl=WJdEAG!c{ zs4j!au>gk@r5Q&Qx*TQglAid4w;ZdW+G`l-N@Ftu9mqpf*;U3XP>IVwlh+DN);{m# zGK*GVfqgrZ6Rt-Bt=W!qxo?eDB0>6I&a1Z)Q@tBmoS3%~sqAt%QMwYY&gUQ}QdWu5 zmeHDmeV!hP5XK+V6V~)>6i1DdfbIbYxZY1m&iqJr|y$59u)R%rg{4 zn3_&J7f7402fFY;^eKXJnhR7)m<<0_V=&+DN%334x-*cDj$>k*dy#@^%d6Gic zV(1FG%$`bGw-)QKx5b<&UyBC1f0Y7%Mt=;tMk9X4vfK9eAbR~LPUXZr46>pJKf`o4 z-;f{=(yl{Kp1UnkT1s|<8nh0YZ7Y@2Tv`VkKK?+aH0z;_7?ImR=*#=9WuY^3#ObDJtlWHC8~ z|N9^++aQK1e!?G~8^!jDh`*&j+-c!P_?fPsBnq3;H$wZDU$8T76U=F>K%Scr_FlXR z6OZb~S_-w-%Egv%64ipYDcNpDM^!hYWm{qAV>e@vZDG!d!p)fbwzlAe?G~)U3OzXS zS*x{Xvr#M#)EvoX>{w4dVN9l5VKb$^28gB>QenMWS>>(h+h=}EpuKPc9$_2ajeoX6 zf%?#M8>Tm62+i0AOT+Fp2szNu##$%dvX+MJrTZa*yg%0&O_Drrom8DclZhcGRv+oCz7j)~ua4(QZWOOxAaJq$V~7r2ld zK}9=YHbWz|l-5z}${kayok;Sog_cx5YW=vqu4d59R$BVjNn4-Y(ka)qg5m#brzN-U zT3@!EUdyiOi{FKszZy=5ccH6Br;*ui^lP=na>(1OQ?zq{F;ydr94ZGpNHe}J0 z-SBWNvPsOun9(kWCgExRXutLczJH6pW#fDGvrLqhgBy!)U(l+!uC@0dpMA%v;~x0e zp(jy|A{3Fm2Zn#>G|oa@)nZTg5)^2<7iraJwbbgGR=OfiuECGMg{dVpaxZkXd`ty< zk%-sQ23bhD>Zz9UKOm{}{>}mjS(vOX>l#d(vak_D-C2v}w7zkI z_aU8Y_h5<`jN>|%InZJ>gSz$$#ylYyQMP?hGiX3CCeb)GCk+b5*~qwXCV6GU)8Cy< zBeLO{+Ag4M_8h&G-e%)%56z|qIq*=|4+c}k$zaU3_apCu93-7}jPB+@^iu(;_oEkn zJ4p%q5xYH#-6Q)kjt8Ho>bdaj9j;MSE}HzyO-jp!NfzFw2f0Y6y+=L=fKMx>VFxf3 zstj!lgUTr4ASRmU4xo?IB?6na4q`CRdcim`!mT%4V&_3jfSY~d#AMSNmehU?$SD( zaF48EPCZYd;`~FLk+U*RYSU#Q11GM zN6;B_kJO;7vo*YU8_ok%eZa9A-0Z06I4%N~K4M(}LwJ6c{yc(4{Np@+O9#(^mnbO@ zBlOoRl$QrX=vQ2W=HIWOF|dKUN0Bb@2E`tQZZGe!rxOJ|L8BBNMKvSt(Tk(#(Pt$T zdJN&0Ze=v#7{c9JA4f=8%b1u`bHAu9;E#8vR%q?Kj-*DZNH7>kg zXNjyNyp-Wje+Xf?KZj}+0(xa6L5@^(0tF@(ilK^Pg(2i(7b5R|%Ff4C&<_hmSB2Kt zP(pnI^YaRmD#)5500@!Pavl6Ev+M^Zya~jRtyA3rzgXh-vwB!sF$c&-OXD~Um`;n~ABI@<5Gj%;H R2ATWz7k=o~mHj&7{{iEj&, CompileCp out.append("//--------------------------------------------------------------------------------\n"); out.append("// Code generated by jFuzzyLogic\n"); out.append("// jFuzzyLogic Version : " + JFuzzyLogic.VERSION + " \n"); - out.append("// jFuzzyLogic creted by Pablo Cingolani\n"); + out.append("// jFuzzyLogic created by Pablo Cingolani\n"); out.append("//--------------------------------------------------------------------------------\n\n"); out.append("\n#include \n"); out.append("\n#include \n"); @@ -337,6 +337,117 @@ public class FIS extends FclObject implements Iterable, CompileCp return out.toString(); } + /** + * Create a JS code for this FIS + * @return + */ + @Override + public String toStringJS() { + StringBuffer out = new StringBuffer(); + + out.append("//--------------------------------------------------------------------------------\n"); + out.append("// Code generated by jFuzzyLogic\n"); + out.append("// jFuzzyLogic Version : " + JFuzzyLogic.VERSION + " \n"); + out.append("// jFuzzyLogic created by Pablo Cingolani\n"); + out.append("//--------------------------------------------------------------------------------\n\n"); + + // Sort function blocks by name + ArrayList fbNames = new ArrayList(functionBlocks.keySet()); + Collections.sort(fbNames); + + // Ge all activations and accumulation methods + HashSet raccs = new HashSet(); + HashSet racts = new HashSet(); + HashSet rcons = new HashSet(); + for (String name : fbNames) { + FunctionBlock functionBlock = getFunctionBlock(name); + + for (RuleBlock rb : functionBlock.getRuleBlocks().values()) { + raccs.add(rb.getRuleAccumulationMethod()); + racts.add(rb.getRuleActivationMethod()); + for (Rule r : rb) { + RuleExpression rexp = r.getAntecedents(); + rcons.addAll(rexp.getRuleConnectionMethods()); + } + } + } + + // Show code + for (RuleAccumulationMethod racc : raccs) + out.append(racc.toStringJSFunction() + "\n"); + + for (RuleActivationMethod ract : racts) + out.append(ract.toStringJSFunction() + "\n"); + + for (RuleConnectionMethod rcon : rcons) + out.append(rcon.toStringJSFunction() + "\n"); + + // Iterate over each function block and append it to output string + for (String name : fbNames) { + FunctionBlock functionBlock = getFunctionBlock(name); + out.append(functionBlock.toStringJS()); + } + + // Main method + out.append("function main("); + + int inV = 0; + for (String name : fbNames) { + FunctionBlock functionBlock = getFunctionBlock(name); + for (Variable var : functionBlock.variablesSorted()) { + if (var.isInput()) { + out.append(var.getName()); + if (inV < (functionBlock.variablesSorted().size() - 1)) { + out.append(", "); + } + inV++; + } + } + } + + String outWithMainStr = out.toString(); + if (outWithMainStr.endsWith(", ")) { + outWithMainStr = outWithMainStr.substring(0, outWithMainStr.length() - 2); + out = new StringBuffer(outWithMainStr); + } + + out.append(") {\n"); + + // Create function blocks + out.append("\t// Create function blocks\n"); + for (String name : fbNames) + out.append("\tconst " + name + " = new FunctionBlock_" + name + "();\n"); + out.append("\n"); + + // Assign values + out.append("\t// Parse input\n"); + int inVar = 1; + for (String name : fbNames) { + FunctionBlock functionBlock = getFunctionBlock(name); + for (Variable var : functionBlock.variablesSorted()) { + if (var.isInput()) { + out.append("\t" + name + "." + var.getName() + " = " + var.getName() + ";\n"); + inVar++; + } + } + } + out.append("\n"); + + // Calculate + out.append("\t// Calculate\n"); + for (String name : fbNames) + out.append("\t" + name + ".calc();\n"); + out.append("\n"); + + // Show results + out.append("\t// Show results\n"); + for (String name : fbNames) + out.append("\t" + name + ".print();\n"); + out.append("}"); + + return out.toString(); + } + @Override public String toStringFcl() { StringBuffer out = new StringBuffer(); diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/FunctionBlock.java b/src/main/java/net/sourceforge/jFuzzyLogic/FunctionBlock.java index 827f73c..888d98d 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/FunctionBlock.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/FunctionBlock.java @@ -740,6 +740,131 @@ public class FunctionBlock extends FclObject implements Iterable, Com ; // } + @Override + public String toStringJS() { + StringBuffer calcMethod = new StringBuffer(); // Method calc() + StringBuffer constructor = new StringBuffer(); // Constructor + StringBuffer defuzzifyMethod = new StringBuffer(); // Method defuzzify() + StringBuffer fuzzifyMethod = new StringBuffer(); // Fuzzify method + StringBuffer membershipMethods = new StringBuffer(); // All membership functions + StringBuffer printMethod = new StringBuffer(); // Method print() + StringBuffer resetMethod = new StringBuffer(); // Method reset() + StringBuffer varDefuzzifiers = new StringBuffer(); // All defuzzifier variables + StringBuffer varsFuzzify = new StringBuffer(); // Fuzzify variables + StringBuffer varsIn = new StringBuffer(); // Input vars + StringBuffer varsOut = new StringBuffer(); // Output vars + + varsIn.append("\t// VAR_INPUT\n"); + varsOut.append("\t// VAR_OUTPUT\n"); + + // Methods + String className = "FunctionBlock_" + name; + calcMethod.append("\t// Calculate function block\n\tcalc() {\n\t\tthis.reset();\n\t\tthis.fuzzify();\n"); + constructor.append("\t// Constructor\n\tconstructor() {\n"); + defuzzifyMethod.append("\t// Defuzzify \n\tdefuzzify() {\n"); + fuzzifyMethod.append("\t// Fuzzify all variables\n\tfuzzify() {\n"); + membershipMethods.append("\t// Membership functions \n"); + printMethod.append("\t// Print \n\tprint() {\n\t\tconsole.log(\"Function block " + name + ":\\n\");\n"); + resetMethod.append("\t// Reset output\n\treset() {\n"); + + //--- + // Show variables (sorted by name) + //--- + for (Variable var : variablesSorted()) { + var.estimateUniverse(); + + if (!Double.isNaN(var.getDefaultValue())) constructor.append("\t\tthis." + var.getName() + " = " + var.getDefaultValue() + ";\n"); + + if (var.isInput()) { + // Add input variables + varsIn.append("\t" + var.getName()); + varsIn.append(";\n"); + + // Add to print method + printMethod.append("\t\tconsole.log(\"\tInput %s: %f\\n\", \"" + var.getName() + "\" , this." + var.getName() + ");\n"); + + // Add fuzzyfiers + varsFuzzify.append("\t// FUZZIFY " + var.getName() + "\n"); + for (LinguisticTerm linguisticTerm : var.linguisticTermsSorted()) { + String ltVar = var.getName() + "_" + linguisticTerm.getTermName(); + varsFuzzify.append("\t" + ltVar + ";\n"); + fuzzifyMethod.append("\t\tthis." + ltVar + " = this." + linguisticTerm.toStringJSMethodName(var) + "(this." + var.getName() + ");\n"); + + // Membership function + membershipMethods.append(linguisticTerm.toStringJS(var) + "\n"); + + // Add to print method + printMethod.append("\t\tconsole.log(\"\t %s: %f\\n\", \"" + ltVar + "\" , this." + ltVar + ");\n"); + } + varsFuzzify.append("\n"); + + } else { + int len = ((DefuzzifierContinuous) var.getDefuzzifier()).getLength(); + + + constructor.append("\t\tthis." + var.toStringJSDefuzzifyVarName() + " = new Array(" + len + ");\n"); + + // Add output variables + varsOut.append("\t" + var.getName()); + varsOut.append(";\n"); + + // Add to print method + printMethod.append("\t\tconsole.log(\"\tOutput %s: %f\\n\", \"" + var.getName() + "\" , this." + var.getName() + ");\n"); + + // Add defuzzyfier variable + varDefuzzifiers.append("\t// DEFUZZIFY " + var.getName() + "\n"); + varDefuzzifiers.append("\t" + var.toStringJSDefuzzifyVarName() + ";\n"); + + // Add to reset method + resetMethod.append("\t\tfor (let i = 0 ; i < " + len + "; i++) {\n\t\t\tthis." + var.toStringJSDefuzzifyVarName() + "[i] = 0.0;\n\t\t}\n"); + + for (LinguisticTerm linguisticTerm : var.linguisticTermsSorted()) { + // Membership function + membershipMethods.append(linguisticTerm.toStringJS(var) + "\n"); + + } + varDefuzzifiers.append("\n"); + + defuzzifyMethod.append(var.getDefuzzifier().toStringJS()); + } + } + + //--- + // Iterate over each ruleSet and append it to output string + // Sort ruleBlocks by name + //--- + StringBuffer ruleBlocksStr = new StringBuffer(); + for (RuleBlock ruleBlock : ruleBlocksSorted()) { + ruleBlocksStr.append(ruleBlock.toStringJS()); + calcMethod.append("\t\tthis.calc_" + ruleBlock.getName() + "();\n"); + } + + constructor.append("\t}\n"); + calcMethod.append("\t\tthis.defuzzify();\n\t}\n"); + defuzzifyMethod.append("\t}\n"); + fuzzifyMethod.append("\t}\n"); + printMethod.append("\t}\n"); + resetMethod.append("\t}\n"); + + // Build the whole thing + return "class FunctionBlock_" + name + " {\n\n" // + + varsIn + "\n" // + + varsOut // + + "\n" // + + varsFuzzify // + + varDefuzzifiers // + + constructor + "\n" // + + calcMethod + "\n" // + + ruleBlocksStr + "\n" // + + defuzzifyMethod + "\n" // + + fuzzifyMethod + "\n" // + + membershipMethods + "\n" // + + printMethod + "\n" // + + resetMethod + "\n" // + + "};\n\n" // + ; // + } + @Override public String toStringFcl() { StringBuffer varsIn = new StringBuffer(); diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/JFuzzyLogic.java b/src/main/java/net/sourceforge/jFuzzyLogic/JFuzzyLogic.java index d28a34f..dadb6e1 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/JFuzzyLogic.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/JFuzzyLogic.java @@ -1,6 +1,5 @@ package net.sourceforge.jFuzzyLogic; -import net.sourceforge.jFuzzyLogic.ruleConnectionMethod.Szczepanski; import org.antlr.runtime.RecognitionException; import net.sourceforge.jFuzzyLogic.demo.tipper.TipperAnimation; @@ -24,7 +23,7 @@ public class JFuzzyLogic { public static final String BUILD = "2022-05-12"; public static final String VERSION_MAJOR = "4.0"; public static final String VERSION_SHORT = VERSION_MAJOR + REVISION; - public static final String VERSION_NO_NAME = VERSION_SHORT + " (build " + BUILD + "), by " + Pcingola.BY + " and " + Szczepanski.BY; + public static final String VERSION_NO_NAME = VERSION_SHORT + " (build " + BUILD + "), by " + Pcingola.BY; public static final String VERSION = SOFTWARE_NAME + " " + VERSION_NO_NAME; public static boolean debug = false; @@ -56,6 +55,21 @@ public class JFuzzyLogic { } } + /** + * Compile an FCL program into JavaScript + */ + void compileJS(String fileName) { + load(fileName); // Read FIS + System.out.println(fis.toStringJS()); // Show JS code + + // Dump JS code to a file (debug) + if (debug) { + String jsfile = Gpr.HOME + "/x.js"; + Gpr.debug("Writing to file " + jsfile); + Gpr.toFile(jsfile, fis.toStringJS()); + } + } + /** * Run demo */ @@ -170,6 +184,11 @@ public class JFuzzyLogic { String fileName = args[++i]; compile(fileName); return; + } else if (arg.equals("-j")) { + // Sanity check + String fileName = args[++i]; + compileJS(fileName); + return; } else if (arg.equals("-e")) { evaluate(i + 1); return; @@ -202,11 +221,12 @@ public class JFuzzyLogic { System.err.println("Usage: java -jar jFuzzyLogic.jar [-noCharts] [{-e|-c}] file.fcl [in_1 ... in_N]"); System.err.println("Options:"); - System.err.println("\t file.fcl : Load FCL file and show memebership functions (default, when no option is provided)."); + System.err.println("\t file.fcl : Load FCL file and show membership functions (default, when no option is provided)."); System.err.println("\t-c file.fcl : Compile. Generate C++ code from FCL file (to STDOUT)"); + System.err.println("\t-j file.fcl : Compile. Generate JavaScript code from FCL file (to STDOUT)"); System.err.println("\t-e file.fcl in_1 in_2 ... in_N : Evaluate. Load FCL file, assign inputs i_1, i_2, ..., i_n and evaluate (variables sorted alphabetically)."); System.err.println("\t-noCharts : Use a mock class for charts. This is used when not compiled using JFreeCharts."); - System.err.println("\tdemo : Run a demo exmaple (tipper.fcl)"); + System.err.println("\tdemo : Run a demo example (tipper.fcl)"); System.exit(1); } } diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/defuzzifier/Defuzzifier.java b/src/main/java/net/sourceforge/jFuzzyLogic/defuzzifier/Defuzzifier.java index 71f81e4..8059749 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/defuzzifier/Defuzzifier.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/defuzzifier/Defuzzifier.java @@ -68,4 +68,9 @@ public abstract class Defuzzifier extends FclObject { public String toStringCpp() { throw new RuntimeException("Unimplemented method for class " + this.getClass().getCanonicalName()); } + + @Override + public String toStringJS() { + throw new RuntimeException("Unimplemented method for class " + this.getClass().getCanonicalName()); + } } diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/defuzzifier/DefuzzifierCenterOfGravity.java b/src/main/java/net/sourceforge/jFuzzyLogic/defuzzifier/DefuzzifierCenterOfGravity.java index 25ac828..bb98cd5 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/defuzzifier/DefuzzifierCenterOfGravity.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/defuzzifier/DefuzzifierCenterOfGravity.java @@ -51,6 +51,27 @@ public class DefuzzifierCenterOfGravity extends DefuzzifierContinuous { return out.toString(); } + @Override + public String toStringJS() { + StringBuilder out = new StringBuilder(); + + String defuzzName = "defuzzify_" + variable.getName(); + String sumName = "sum_" + variable.getName(); + String wsumName = "wsum_" + variable.getName(); + + out.append("\t\tlet " + sumName + " = 0.0;\n"); + out.append("\t\tlet " + wsumName + " = 0.0;\n"); + out.append("\t\tlet x;\n"); + + out.append("\t\tfor (let i = 0; i < " + getLength() + "; i++) {\n"); + out.append("\t\t\tx = " + min + " + i * " + stepSize + ";\n"); + out.append("\t\t\t" + sumName + " += this." + defuzzName + "[i];\n"); + out.append("\t\t\t" + wsumName + " += x * this." + defuzzName + "[i];\n"); + out.append("\t\t}\n"); + out.append("\t\tthis." + variable.getName() + " = " + wsumName + " / " + sumName + ";\n"); + return out.toString(); + } + @Override public String toStringFcl() { return "METHOD : COG;"; diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/fcl/FclObject.java b/src/main/java/net/sourceforge/jFuzzyLogic/fcl/FclObject.java index 1067940..0ebc160 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/fcl/FclObject.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/fcl/FclObject.java @@ -1,6 +1,7 @@ package net.sourceforge.jFuzzyLogic.fcl; import net.sourceforge.jFuzzyLogic.CompileCpp; +import net.sourceforge.jFuzzyLogic.CompileJS; /** * The root of all FCL objects @@ -8,7 +9,7 @@ import net.sourceforge.jFuzzyLogic.CompileCpp; * @author pcingola * */ -public abstract class FclObject implements CompileCpp { +public abstract class FclObject implements CompileCpp, CompileJS { @Override public String toString() { @@ -20,5 +21,10 @@ public abstract class FclObject implements CompileCpp { return "// " + this.getClass().getName(); } + @Override + public String toStringJS() { + return "// " + this.getClass().getName(); + } + public abstract String toStringFcl(); } diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/membership/MembershipFunction.java b/src/main/java/net/sourceforge/jFuzzyLogic/membership/MembershipFunction.java index b58f47b..8b8906f 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/membership/MembershipFunction.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/membership/MembershipFunction.java @@ -110,6 +110,11 @@ public abstract class MembershipFunction extends FclObject { throw new RuntimeException("Unimplemented method 'toStringCpp()' for class " + this.getClass().getCanonicalName()); } + @Override + public String toStringJS() { + throw new RuntimeException("Unimplemented method 'toStringJS()' for class " + this.getClass().getCanonicalName()); + } + @Override public String toStringFcl() { return getName(); diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/membership/MembershipFunctionPieceWiseLinear.java b/src/main/java/net/sourceforge/jFuzzyLogic/membership/MembershipFunctionPieceWiseLinear.java index 42b5472..0e082f2 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/membership/MembershipFunctionPieceWiseLinear.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/membership/MembershipFunctionPieceWiseLinear.java @@ -157,6 +157,17 @@ public class MembershipFunctionPieceWiseLinear extends MembershipFunctionContinu return sb.toString(); } + @Override + public String toStringJS() { + StringBuilder sb = new StringBuilder(); + int i, len = x.length; + sb.append("\t\tif (x <= " + x[0].getValue() + ")\t\treturn " + y[0].getValue() + ";\n"); + sb.append("\t\tif (x > " + x[len - 1].getValue() + ")\t\treturn " + y[len - 1].getValue() + ";\n"); + for (i = 1; i < len; i++) + sb.append("\t\tif (x <= " + x[i].getValue() + ")\t\treturn " + y[i - 1].getValue() + " + (" + y[i].getValue() + " - " + y[i - 1].getValue() + ") * ((x - " + x[i - 1].getValue() + ") / (" + x[i].getValue() + " - " + x[i - 1].getValue() + "));\n"); + return sb.toString(); + } + /** FCL representation */ @Override public String toStringFcl() { diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/membership/functions/MffFunction.java b/src/main/java/net/sourceforge/jFuzzyLogic/membership/functions/MffFunction.java index 5d00e1b..eb08146 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/membership/functions/MffFunction.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/membership/functions/MffFunction.java @@ -116,6 +116,18 @@ public abstract class MffFunction extends FclObject { return out + ")"; } + @Override + public String toStringJS() { + if (terms == null) return ""; + String out = this.getClass().getSimpleName() + "("; + for (int i = 0; i < terms.length; i++) { + out += terms[i].toStringFcl(); + if (i < terms.length - 1) out += ", "; + } + + return out + ")"; + } + @Override public String toStringFcl() { if (terms == null) return ""; diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/rule/LinguisticTerm.java b/src/main/java/net/sourceforge/jFuzzyLogic/rule/LinguisticTerm.java index 00f87a5..4fb36cb 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/rule/LinguisticTerm.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/rule/LinguisticTerm.java @@ -59,10 +59,22 @@ public class LinguisticTerm extends FclObject implements Comparable, Comparable, Com return str; } + @Override + public String toStringJS() { + String str = ""; + String connector = ruleConnectionMethod.toStringJS(); + + if ((term1 == null) || (term2 == null)) { + // Only one term? + if (term1 != null) str += term1.toStringJS(); + if (term2 != null) str += term2.toStringJS(); + } else { + str += connector + "("; + + // Both terms connected + if (isFuzzyRuleExpression(term1)) str += ((RuleExpression) term1).toStringJS(); + else if (isFuzzyRuleTerm(term1)) str += ((RuleTerm) term1).toStringJS(); + + str += ", "; + + if (isFuzzyRuleExpression(term2)) str += ((RuleExpression) term2).toStringJS(); + else if (isFuzzyRuleTerm(term2)) str += ((RuleTerm) term2).toStringJS(); + + str += ")"; + } + + if (negated) str = "1.0 - (" + str + ")"; + + return str; + } + @Override public String toStringFcl() { String str = ""; diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/rule/RuleTerm.java b/src/main/java/net/sourceforge/jFuzzyLogic/rule/RuleTerm.java index b472633..dda33fa 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/rule/RuleTerm.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/rule/RuleTerm.java @@ -73,10 +73,21 @@ public class RuleTerm extends FclObject { return neg + variable.getName() + "_" + termName; } + @Override + public String toStringJS() { + String neg = ""; + if (negated) neg = "1 -"; + return neg + "this." + variable.getName() + "_" + termName; + } + public String toStringCppDeffName() { return getVariable().getName() + "_" + getTermName(); } + public String toStringJSDeffName() { + return getVariable().getName() + "_" + getTermName(); + } + @Override public String toStringFcl() { String is = "IS"; diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/rule/Variable.java b/src/main/java/net/sourceforge/jFuzzyLogic/rule/Variable.java index 8446405..4ed2f71 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/rule/Variable.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/rule/Variable.java @@ -338,6 +338,27 @@ public class Variable extends FclObject implements Comparable, Iterabl return "defuzzify_" + getName(); } + @Override + public String toStringJS() { + String str = name + " : \n"; + + // Show defuzifier for "output" variables, value for "input" variables + if (defuzzifier != null) str += "\tDefuzzifier : " + defuzzifier.toString() + "\n\tLatest defuzzified value: " + latestDefuzzifiedValue + "\n"; + else str += "\tValue: " + value + "\n"; + + if (!Double.isNaN(defaultValue)) str += "\tDefault value: " + defaultValue + "\n"; + + // Show each 'termName' and it's membership function + for (LinguisticTerm linguisticTerm : this) + str += "\t" + linguisticTerm.toString(value) + "\n"; + + return str; + } + + public String toStringJSDefuzzifyVarName() { + return "defuzzify_" + getName(); + } + @Override public String toStringFcl() { return name; diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/ruleAccumulationMethod/RuleAccumulationMethod.java b/src/main/java/net/sourceforge/jFuzzyLogic/ruleAccumulationMethod/RuleAccumulationMethod.java index 09edb03..64be3e7 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/ruleAccumulationMethod/RuleAccumulationMethod.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/ruleAccumulationMethod/RuleAccumulationMethod.java @@ -49,8 +49,17 @@ public abstract class RuleAccumulationMethod extends FclObject { return "ruleAccumulationMethod_" + getName(); } + @Override + public String toStringJS() { + return "ruleAccumulationMethod_" + getName(); + } + public String toStringCppFunction() { - throw new RuntimeException("Unimplemented method foe class " + this.getClass().getCanonicalName()); + throw new RuntimeException("Unimplemented method for class " + this.getClass().getCanonicalName()); + } + + public String toStringJSFunction() { + throw new RuntimeException("Unimplemented method for class " + this.getClass().getCanonicalName()); } @Override diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/ruleAccumulationMethod/RuleAccumulationMethodMax.java b/src/main/java/net/sourceforge/jFuzzyLogic/ruleAccumulationMethod/RuleAccumulationMethodMax.java index 0b2d23e..953625b 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/ruleAccumulationMethod/RuleAccumulationMethodMax.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/ruleAccumulationMethod/RuleAccumulationMethodMax.java @@ -24,6 +24,11 @@ public class RuleAccumulationMethodMax extends RuleAccumulationMethod { return "double " + toStringCpp() + "(double defuzzifierValue, double valueToAggregate)\t{ return ( defuzzifierValue > valueToAggregate ? defuzzifierValue : valueToAggregate ); }\n"; } + @Override + public String toStringJSFunction() { + return "function " + toStringJS() + "(defuzzifierValue, valueToAggregate) {\n\treturn (defuzzifierValue > valueToAggregate ? defuzzifierValue : valueToAggregate);\n}\n"; + } + /** * @see net.sourceforge.jFuzzyLogic.ruleAccumulationMethod.RuleAccumulationMethod#toStringFcl() */ diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/ruleActivationMethod/RuleActivationMethod.java b/src/main/java/net/sourceforge/jFuzzyLogic/ruleActivationMethod/RuleActivationMethod.java index 91a3748..5ce3e83 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/ruleActivationMethod/RuleActivationMethod.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/ruleActivationMethod/RuleActivationMethod.java @@ -157,7 +157,49 @@ public abstract class RuleActivationMethod extends FclObject { } public String toStringCppFunction() { - throw new RuntimeException("Unimplemented method foe class " + this.getClass().getCanonicalName()); + throw new RuntimeException("Unimplemented method for class " + this.getClass().getCanonicalName()); + } + + @Override + public String toStringJS() { + return "ruleActivationMethod_" + name; + } + + public String toStringJS(RuleTerm fuzzyRuleTerm, RuleAccumulationMethod ruleAccumulationMethod, String degreeOfSupportName) { + StringBuilder out = new StringBuilder(); + + Variable variable = fuzzyRuleTerm.getVariable(); + Defuzzifier defuzzifier = variable.getDefuzzifier(); + + if (fuzzyRuleTerm.getMembershipFunction().isDiscrete()) { + throw new RuntimeException("Unimplemented for discre cases!"); + } else { + //--- + // Continuous case + //--- + DefuzzifierContinuous defuzzifierContinuous = (DefuzzifierContinuous) defuzzifier; + + // Add membership function to defuzzifier + out.append("\t\tif (" + degreeOfSupportName + " > 0) {\n"); + out.append("\t\t\tfor (let i = 0; i < " + defuzzifierContinuous.getLength() + "; i++) {\n"); + out.append("\t\t\t\tlet x = " + defuzzifierContinuous.getMin() + " + i * " + defuzzifierContinuous.getStepSize() + ";\n"); + // Is term negated? + if (fuzzyRuleTerm.isNegated()) out.append("\t\t\tlet membership = 1 - mf.membership(x);\n"); + else out.append("\t\t\t\tlet membership = this." + fuzzyRuleTerm.getLinguisticTerm().toStringJSMethodName(fuzzyRuleTerm.getVariable()) + "(x);\n"); + + out.append("\t\t\t\tlet y = " + toStringJS() + "(" + degreeOfSupportName + " , membership);\n"); + + // Aggregate value + out.append("\t\t\t\tthis." + variable.toStringJSDefuzzifyVarName() + "[i] = " + ruleAccumulationMethod.toStringJS() + "(this." + variable.toStringJSDefuzzifyVarName() + "[i], y);\n"); + out.append("\t\t\t}\n"); + out.append("\t\t}\n"); + } + + return out.toString(); + } + + public String toStringJSFunction() { + throw new RuntimeException("Unimplemented method for class " + this.getClass().getCanonicalName()); } } diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/ruleActivationMethod/RuleActivationMethodMin.java b/src/main/java/net/sourceforge/jFuzzyLogic/ruleActivationMethod/RuleActivationMethodMin.java index 2cfe1e5..3fa60ac 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/ruleActivationMethod/RuleActivationMethodMin.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/ruleActivationMethod/RuleActivationMethodMin.java @@ -22,6 +22,11 @@ public class RuleActivationMethodMin extends RuleActivationMethod { return "double " + toStringCpp() + "(double degreeOfSupport, double membership)\t{ return (degreeOfSupport < membership ? degreeOfSupport : membership); }\n"; } + @Override + public String toStringJSFunction() { + return "function " + toStringJS() + "(degreeOfSupport, membership) {\n\treturn (degreeOfSupport < membership ? degreeOfSupport : membership);\n}\n"; + } + /** Printable FCL version */ @Override public String toStringFcl() { diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/ruleConnectionMethod/RuleConnectionMethod.java b/src/main/java/net/sourceforge/jFuzzyLogic/ruleConnectionMethod/RuleConnectionMethod.java index 655da22..c6a64a1 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/ruleConnectionMethod/RuleConnectionMethod.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/ruleConnectionMethod/RuleConnectionMethod.java @@ -40,8 +40,17 @@ public abstract class RuleConnectionMethod extends FclObject { return "ruleConnectionMethod_" + name; } + @Override + public String toStringJS() { + return "ruleConnectionMethod_" + name; + } + public String toStringCppFunction() { - throw new RuntimeException("Unimplemented method foe class " + this.getClass().getCanonicalName()); + throw new RuntimeException("Unimplemented method for class " + this.getClass().getCanonicalName()); + } + + public String toStringJSFunction() { + throw new RuntimeException("Unimplemented method for class " + this.getClass().getCanonicalName()); } } diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/ruleConnectionMethod/RuleConnectionMethodAndMin.java b/src/main/java/net/sourceforge/jFuzzyLogic/ruleConnectionMethod/RuleConnectionMethodAndMin.java index 151881a..5995ee1 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/ruleConnectionMethod/RuleConnectionMethodAndMin.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/ruleConnectionMethod/RuleConnectionMethodAndMin.java @@ -31,6 +31,11 @@ public class RuleConnectionMethodAndMin extends RuleConnectionMethod { return "double " + toStringCpp() + "(double antecedent1, double antecedent2)\t{ return (antecedent1 < antecedent2 ? antecedent1 : antecedent2); }\n"; } + @Override + public String toStringJSFunction() { + return "function " + toStringJS() + "(antecedent1, antecedent2) {\n\treturn (antecedent1 < antecedent2 ? antecedent1 : antecedent2);\n}\n"; + } + @Override public String toStringFcl() { return "AND : MIN;"; diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/ruleConnectionMethod/RuleConnectionMethodOrMax.java b/src/main/java/net/sourceforge/jFuzzyLogic/ruleConnectionMethod/RuleConnectionMethodOrMax.java index a1af61e..83f38b7 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/ruleConnectionMethod/RuleConnectionMethodOrMax.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/ruleConnectionMethod/RuleConnectionMethodOrMax.java @@ -31,6 +31,11 @@ public class RuleConnectionMethodOrMax extends RuleConnectionMethod { return "double " + toStringCpp() + "(double antecedent1, double antecedent2)\t{ return (antecedent1 > antecedent2 ? antecedent1 : antecedent2); }\n"; } + @Override + public String toStringJSFunction() { + return "function " + toStringJS() + "(antecedent1, antecedent2) {\n\treturn (antecedent1 > antecedent2 ? antecedent1 : antecedent2);\n}\n"; + } + @Override public String toStringFcl() { return "OR: MAX;"; diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/ruleConnectionMethod/Szczepanski.java b/src/main/java/net/sourceforge/jFuzzyLogic/ruleConnectionMethod/Szczepanski.java deleted file mode 100644 index a77d999..0000000 --- a/src/main/java/net/sourceforge/jFuzzyLogic/ruleConnectionMethod/Szczepanski.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.sourceforge.jFuzzyLogic.ruleConnectionMethod; - -/** - * Author's data - * @author marcin-szczepanski - */ -public class Szczepanski { - - public static final String EMAIL = "marcin.szczepanski@amu.edu.pl"; - public static final String BY = "Marcin Szczepanski"; -}